.lg-scope {
  --lg-green: #0b4744;
  --lg-green-deep: #073532;
  --lg-ink: #172320;
  --lg-muted: #63706d;
  --lg-gold: #c89d45;
  --lg-gold-text: #7a591d;
  --lg-papyrus: #f5eedf;
  --lg-ivory: #fffdf8;
  color: var(--lg-ink);
}
.lg-scope *, .lg-scope *::before, .lg-scope *::after { box-sizing: border-box; }
.lg-scope a:focus-visible { outline: 3px solid var(--lg-green); outline-offset: 3px; }
.lg-scope .screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.lg-kicker, .lg-role { margin: 0 0 12px; color: var(--lg-gold-text); font-size: 11px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }

.lg-directory { width: 100%; padding: clamp(60px, 7vw, 88px) max(20px, calc((100% - 1120px) / 2)); background: #fbf8f0; }
.lg-directory-heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 48px; align-items: end; margin-bottom: 38px; }
.lg-directory-heading h2 { margin: 0; color: var(--lg-ink); font: 600 clamp(40px, 5vw, 62px)/1.02 var(--lr-serif, Georgia, serif); letter-spacing: -.035em; }
.lg-directory-heading > p { margin: 0; color: var(--lg-muted); font-size: 17px; line-height: 1.7; }
.lg-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.lg-card { position: relative; display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid rgba(23,35,32,.14); background: var(--lg-ivory); transition: transform .24s ease, border-color .24s ease; }
.lg-card:hover { transform: translateY(-3px); border-color: rgba(200,157,69,.75); }
.lg-card:focus-within { outline: 3px solid var(--lg-green); outline-offset: 3px; }
.lg-card-media { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #e7ece8; }
.lg-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.lg-card-placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: #e1c77f; font-size: 72px; background: linear-gradient(145deg, var(--lg-green), var(--lg-green-deep)); }
.lg-card-body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.lg-card h3 { margin: 0 0 12px; font: 600 29px/1.1 var(--lr-serif, Georgia, serif); }
.lg-card h3 a { color: var(--lg-ink); text-decoration: none; }
.lg-card h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.lg-card-body > p:not(.lg-role) { margin: 0 0 18px; color: var(--lg-muted); line-height: 1.68; }
.lg-card-link { margin-top: auto; color: var(--lg-green); font-size: 14px; font-weight: 850; }

.lg-profile { overflow-x: clip; background: var(--lg-ivory); }
.lg-breadcrumb { display: flex; align-items: center; gap: 10px; width: min(1120px, calc(100% - 40px)); min-height: 54px; margin: 0 auto; color: var(--lg-muted); font-size: 13px; }
.lg-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; color: var(--lg-green); text-decoration: none; }
.lg-profile-hero { display: grid; grid-template-columns: minmax(320px, 460px) minmax(0, 1fr); gap: clamp(42px, 7vw, 92px); align-items: center; width: min(1120px, calc(100% - 40px)); min-height: 600px; margin: 0 auto; padding: clamp(42px, 6vw, 78px); border-top: 4px solid var(--lg-gold); background: radial-gradient(circle at 85% 15%, rgba(224,191,113,.18), transparent 28%), var(--lg-green-deep); }
.lg-profile-hero.is-typographic { grid-template-columns: 1fr; }
.lg-profile-media { max-width: 460px; overflow: hidden; background: #e8ece8; }
.lg-profile-media img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: contain; object-position: 50% 20%; }
.lg-profile-heading { color: #fff; }
.lg-profile-heading .lg-kicker { color: #e5c477; }
.lg-profile-heading h1 { max-width: 14ch; margin: 0; color: #fff; font: 600 clamp(46px, 6vw, 76px)/.98 var(--lr-serif, Georgia, serif); letter-spacing: -.04em; overflow-wrap: normal; word-break: normal; hyphens: none; }
.lg-profile-role { max-width: 620px; margin: 24px 0 0; color: #f2e7cb; font-size: clamp(20px, 2vw, 27px); line-height: 1.4; }
.lg-languages { margin: 22px 0 0; color: rgba(255,255,255,.82); }
.lg-profile-content { width: min(1040px, calc(100% - 40px)); margin: 0 auto; padding: clamp(66px, 8vw, 100px) 0; }
.lg-profile-content > section, .lg-profile-content > aside { margin-top: clamp(72px, 8vw, 96px); }
.lg-profile-content > :first-child { margin-top: 0; }
.lg-section-heading { margin-bottom: 28px; }
.lg-section-heading h2 { max-width: 20ch; margin: 0; color: var(--lg-ink); font: 600 clamp(34px, 4.5vw, 52px)/1.05 var(--lr-serif, Georgia, serif); letter-spacing: -.03em; }
.lg-biography { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr); gap: clamp(40px, 7vw, 90px); padding-bottom: clamp(62px, 7vw, 86px); border-bottom: 1px solid rgba(23,35,32,.18); }
.lg-prose { color: #44514e; font-size: clamp(18px, 1.7vw, 21px); line-height: 1.82; }
.lg-prose > :first-child { margin-top: 0; }
.lg-prose > :last-child { margin-bottom: 0; }
.lg-qualifications ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 1px; list-style: none; background: rgba(23,35,32,.14); }
.lg-qualifications li { min-height: 92px; padding: 25px 28px; background: var(--lg-papyrus); color: #44514e; line-height: 1.6; }
.lg-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.lg-gallery figure { margin: 0; overflow: hidden; background: #e8ece8; }
.lg-gallery img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.lg-trip-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.lg-trip-links a { display: flex; justify-content: space-between; align-items: center; min-height: 76px; padding: 20px 22px; border: 1px solid rgba(23,35,32,.16); color: var(--lg-ink); font-weight: 800; text-decoration: none; }
.lg-trip-links a:hover { border-color: var(--lg-gold); background: var(--lg-papyrus); }
.lg-links { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 30px; border-top: 1px solid rgba(23,35,32,.16); }
.lg-links a { display: inline-flex; align-items: center; min-height: 46px; padding: 11px 18px; color: #fff; background: var(--lg-green); font-weight: 800; text-decoration: none; }

.lg-tour-guides { width: min(1120px, calc(100% - 40px)); margin: clamp(54px, 7vw, 84px) auto !important; padding: clamp(30px, 4vw, 48px) !important; border-top: 4px solid var(--lg-gold); background: #f7f1e4; }
.lg-tour-heading { margin-bottom: 24px; }
.lg-tour-heading h2, .lg-tour-heading h3 { margin: 0 !important; color: var(--lg-ink) !important; font: 600 clamp(30px, 3.5vw, 44px)/1.05 var(--lr-serif, Georgia, serif) !important; letter-spacing: -.025em; }
.lg-tour-list { display: grid; gap: 1px; background: rgba(23,35,32,.14); }
.lg-tour-person { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 22px; align-items: center; min-height: 118px; padding: 12px 22px 12px 12px; background: var(--lg-ivory); }
.lg-tour-image { display: block; width: 96px; height: 96px; overflow: hidden; background: #e8ece8; }
.lg-tour-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.lg-tour-placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: var(--lg-gold); background: var(--lg-green); font-size: 32px; }
.lg-tour-person p { margin: 0 0 4px !important; color: var(--lg-gold-text) !important; font-size: 11px !important; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.lg-tour-person h3 { margin: 0 0 5px !important; font: 600 25px/1.1 var(--lr-serif, Georgia, serif) !important; }
.lg-tour-person h3 a { color: var(--lg-ink) !important; text-decoration: none !important; }
.lg-tour-person span { color: var(--lg-green); font-size: 13px; font-weight: 800; }

@media (max-width: 900px) {
  .lg-directory-heading, .lg-biography { grid-template-columns: 1fr; gap: 22px; }
  .lg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg-profile-hero { grid-template-columns: minmax(260px, 380px) minmax(0, 1fr); gap: 42px; padding: 42px; min-height: 520px; }
}
@media (max-width: 700px) {
  .lg-grid, .lg-qualifications ul, .lg-gallery, .lg-trip-links { grid-template-columns: 1fr; }
  .lg-directory { padding: 54px 14px 62px; }
  .lg-profile-hero { grid-template-columns: 1fr; width: calc(100% - 28px); min-height: 0; padding: 24px 24px 38px; }
  .lg-profile-media { width: 100%; max-width: none; }
  .lg-profile-media img { max-height: none; }
  .lg-profile-heading h1 { font-size: clamp(40px, 13vw, 58px); }
  .lg-breadcrumb, .lg-profile-content { width: calc(100% - 28px); }
  .lg-breadcrumb { overflow: hidden; white-space: nowrap; }
  .lg-breadcrumb [aria-current="page"] { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .lg-tour-guides { width: calc(100% - 28px); padding: 28px 18px !important; }
  .lg-tour-person { grid-template-columns: 78px minmax(0, 1fr); gap: 15px; padding: 10px; }
  .lg-tour-image { width: 78px; height: 92px; }
  .lg-tour-person h3 { font-size: 21px !important; }
}
@media (prefers-reduced-motion: reduce) { .lg-card { transition: none; } }
