:root {
  --teal: #00a99d;
  --teal-text: #005b56;
  --teal-soft: #8de2dc;
  --paper: #f2ede3;
  --cream: #e5ddce;
  --stone: #b5aa91;
  --olive: #555d4b;
  --forest: #123b3e;
  --forest-2: #0b292c;
  --clay: #9b5f42;
  --ink: #173234;
  --white: #fbf8f1;
  --line: rgba(18, 59, 62, .18);
  --serif: "Lora", Georgia, serif;
  --sans: "Nunito Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: auto; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 17px; line-height: 1.65; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button { font: inherit; }
main section[id] { scroll-margin-top: 72px; }
.shell { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 1000; color: var(--forest); background: var(--paper); padding: 10px 16px; border: 2px solid var(--forest); }
.skip-link:focus, .skip-link:focus-visible { top: 16px; }
:where(a, button, input, select, textarea, iframe, [tabindex]):focus-visible { outline: 3px solid var(--forest); outline-offset: 4px; }
.hero :where(a, button):focus-visible,
.approach-section :where(a, button, [tabindex]):focus-visible,
.partner-card:focus-visible,
.speaking-invitation :where(a, button):focus-visible,
.media-card:focus-visible,
.site-footer :where(a, button):focus-visible,
.section-journey :where(a, button):focus-visible,
.site-header:not(.scrolled) :where(a, button):focus-visible,
.menu-open .site-header :where(a, button):focus-visible { outline-color: var(--teal-soft); }
.hero-founder-card:focus-visible { outline-color: var(--forest); }
.site-header.scrolled :where(a, button):focus-visible { outline-color: var(--forest); }

.scroll-line { position: fixed; z-index: 100; top: 0; left: 0; width: 100%; height: 2px; background: transparent; }
.scroll-line span { display: block; width: 0; height: 100%; background: var(--teal); }

.line-arrow { --arrow-angle: 0deg; position: relative; display: inline-block; width: 18px; height: 18px; flex: 0 0 auto; font-size: 0; vertical-align: middle; transform: rotate(var(--arrow-angle)); transform-origin: center; }
.line-arrow::before { content: ""; position: absolute; left: 2px; right: 2px; top: 50%; height: 1.25px; background: currentColor; transform: translateY(-50%); }
.line-arrow::after { content: ""; position: absolute; right: 2px; top: 50%; width: 6px; height: 6px; border-top: 1.25px solid currentColor; border-right: 1.25px solid currentColor; transform: translateY(-50%) rotate(45deg); }
.arrow-up-right { --arrow-angle: -45deg; }
.arrow-down-right { --arrow-angle: 45deg; }
.arrow-up { --arrow-angle: -90deg; }
.arrow-down { --arrow-angle: 90deg; }
.arrow-left { --arrow-angle: 180deg; }

.site-header { position: fixed; z-index: 90; left: 0; top: 0; width: 100%; height: 94px; padding: 0 48px; display: flex; align-items: center; justify-content: space-between; color: var(--white); border-bottom: 1px solid rgba(255,255,255,.18); transition: height .35s, background .35s, color .35s, backdrop-filter .35s; }
.site-header.scrolled { height: 72px; color: var(--forest); background: rgba(242,237,227,.91); backdrop-filter: blur(18px); border-color: var(--line); }
.brand { position: relative; width: 184px; height: 64px; display: grid; place-items: center; overflow: hidden; }
.brand-logo { position: absolute; width: 176px; transition: opacity .35s; }
.brand-logo-colour { opacity: 0; }
.site-header.scrolled .brand-logo-white { opacity: 0; }
.site-header.scrolled .brand-logo-colour { opacity: 1; }
.site-nav { display: flex; align-items: center; gap: 24px; font-size: 15px; letter-spacing: .02em; }
.site-nav a { position: relative; }
.site-nav > a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; bottom: -5px; width: 100%; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .3s; }
.site-nav > a:hover::after, .site-nav > a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.nav-cta { padding: 11px 17px; border: 1px solid currentColor; }
.menu-toggle { display: none; border: 0; background: transparent; color: inherit; }

.section-journey { position: fixed; z-index: 80; left: 24px; bottom: 24px; display: grid; grid-template-columns: 44px 148px 44px; align-items: stretch; min-height: 54px; overflow: hidden; color: var(--white); background: rgba(11,41,44,.94); border: 1px solid rgba(255,255,255,.2); box-shadow: 0 15px 38px rgba(6,33,35,.22); backdrop-filter: blur(14px); transition: opacity .3s, transform .3s; }
.journey-arrow { display: grid; place-items: center; padding: 0; color: inherit; background: transparent; border: 0; cursor: pointer; transition: color .25s, background .25s; }
.journey-arrow:first-child { border-right: 1px solid rgba(255,255,255,.16); }
.journey-arrow:last-child { border-left: 1px solid rgba(255,255,255,.16); }
.journey-arrow:hover, .journey-arrow:focus-visible { color: var(--forest); background: var(--teal); }
.journey-arrow:disabled { opacity: .28; cursor: default; }
.journey-arrow:disabled:hover { color: inherit; background: transparent; }
.journey-arrow .line-arrow { width: 17px; height: 17px; }
.journey-meta { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 8px 15px; }
.journey-meta span { color: #74d8d1; font-size: 13px; font-weight: 600; letter-spacing: .08em; }
.journey-meta strong { overflow: hidden; margin-top: 1px; font-family: var(--serif); font-size: 16px; font-weight: 400; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.menu-open .section-journey { opacity: 0; pointer-events: none; transform: translateY(12px); }
.section-journey.is-contact { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(12px); }
body:has(.media-embed iframe:hover) .section-journey,
body:has(.media-embed iframe:focus) .section-journey { opacity: 0; pointer-events: none; transform: translateY(12px); transition: none; }

.hero { position: relative; min-height: 100svh; color: var(--white); background: var(--forest); isolation: isolate; overflow: hidden; }
.hero-image { position: absolute; z-index: -3; top: -4%; right: -3%; bottom: -4%; left: -3%; background: url("assets/gmats-founder-hero-panel-v3.jpg") center right/cover no-repeat; transform: scale(1.04); will-change: transform; }
.hero-wash { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(8,39,42,1) 0%, rgba(8,39,42,.98) 35%, rgba(8,39,42,.78) 53%, rgba(8,39,42,.24) 78%, rgba(8,39,42,.38) 100%), linear-gradient(0deg, rgba(8,39,42,.54), transparent 55%); }
.hero::after { content: ""; position: absolute; z-index: -1; width: min(44vw, 650px); aspect-ratio: 1; right: -8vw; top: 50%; border: 1px solid rgba(0,169,157,.32); border-radius: 50%; transform: translateY(-50%); box-shadow: 0 0 0 76px rgba(0,169,157,.05), 0 0 0 152px rgba(0,169,157,.035); pointer-events: none; }
.hero-content { min-height: 100svh; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-top: 120px; }
.eyebrow, .kicker, .section-name { font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hero h1 { margin: 22px 0 24px; max-width: 790px; font-family: var(--serif); font-size: clamp(64px, 7.2vw, 116px); font-weight: 300; line-height: .9; letter-spacing: -.04em; }
.hero h1 em, .display em, .contact-place h3 em { font-weight: 300; }
.hero-copy { max-width: 600px; margin: 0; font-size: clamp(18px, 1.5vw, 22px); font-weight: 300; line-height: 1.55; }
.hero-reach { display: flex; align-items: center; gap: 14px; margin: 24px 0 0; color: rgba(255,255,255,.86); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hero-reach span { width: 46px; height: 1px; background: var(--teal); }
.hero-primary-cta { margin-top: 28px; }
.hero-paths { width: min(760px, 72%); display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 24px; border-top: 1px solid rgba(255,255,255,.35); border-left: 1px solid rgba(255,255,255,.35); }
.hero-paths a { min-height: 138px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto minmax(46px, auto) 1fr; gap: 7px 14px; padding: 15px 16px; border-right: 1px solid rgba(255,255,255,.35); border-bottom: 1px solid rgba(255,255,255,.35); transition: color .3s, background .3s, transform .3s; }
.hero-paths a:hover, .hero-paths a:focus-visible { color: var(--forest); background: var(--paper); transform: translateY(-3px); }
.hero-paths small { grid-column: 1 / -1; color: var(--teal-soft); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hero-paths a:hover small, .hero-paths a:focus-visible small { color: var(--teal-text); }
.hero-paths strong { min-height: 2.4em; align-self: start; font-family: var(--serif); font-size: 19px; font-weight: 400; line-height: 1.2; }
.hero-path-detail { grid-column: 1; align-self: end; color: rgba(255,255,255,.72); font-size: 11px; font-weight: 600; line-height: 1.35; letter-spacing: .04em; text-transform: uppercase; }
.hero-paths a:hover .hero-path-detail, .hero-paths a:focus-visible .hero-path-detail { color: var(--olive); }
.hero-paths .line-arrow { grid-column: 2; grid-row: 2 / 4; align-self: end; transition: transform .25s; }
.hero-paths a:hover .line-arrow, .hero-paths a:focus-visible .line-arrow { transform: translate(3px, 3px) rotate(var(--arrow-angle)); }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 38px; min-width: 210px; padding: 15px 18px; border: 1px solid transparent; font-size: 15px; transition: background .25s, color .25s, transform .25s; }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button-light { background: var(--paper); color: var(--forest); }
.button-dark { background: var(--forest); color: var(--white); }
.text-link { display: inline-flex; gap: 38px; align-items: center; width: fit-content; padding-bottom: 3px; border-bottom: 1px solid currentColor; font-size: 15px; }
.text-link span { transition: transform .25s; }
.text-link:hover span, .text-link:focus-visible span { transform: translateX(5px); }
.text-link.light { color: var(--white); }
.hero-founder-card { position: absolute; right: 38px; bottom: 38px; width: 290px; display: grid; grid-template-columns: 96px 1fr; color: var(--forest); background: rgba(242,237,227,.95); backdrop-filter: blur(12px); box-shadow: 0 24px 55px rgba(6,33,35,.25); transition: transform .3s, background .3s; }
.hero-founder-card:hover, .hero-founder-card:focus-visible { transform: translateY(-5px); background: var(--paper); }
.hero-founder-card img { width: 96px; height: 118px; object-fit: cover; }
.hero-founder-card > span { padding: 14px 14px 11px; display: flex; flex-direction: column; }
.hero-founder-card strong { font-family: var(--serif); font-size: 19px; font-weight: 400; line-height: 1.05; }
.hero-founder-card small { margin-top: 5px; color: var(--olive); font-size: 13px; line-height: 1.3; letter-spacing: .04em; text-transform: uppercase; }
.hero-founder-card b { margin-top: auto; display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; }
.hero-founder-card b i { font-style: normal; }
.scroll-cue { position: absolute; left: 50%; bottom: 26px; display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transform: translateX(-50%); }
.scroll-cue span { width: 1px; height: 28px; background: currentColor; animation: breathe 2s infinite; }
@keyframes breathe { 50% { opacity: .25; transform: scaleY(.65); transform-origin: top; } }

.credibility-strip { color: var(--ink); background: var(--paper); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.credibility-strip-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.credibility-fact { min-height: 148px; padding: 26px 28px; border-right: 1px solid var(--line); }
.credibility-fact:first-child { border-left: 1px solid var(--line); }
.credibility-fact strong { display: block; color: var(--teal-text); font-family: var(--serif); font-size: 42px; font-weight: 300; line-height: 1; }
.credibility-fact span { display: block; max-width: 215px; margin-top: 11px; color: #52605d; font-size: 14px; line-height: 1.45; }
.credibility-strip.is-compact .credibility-fact { min-height: 118px; padding-block: 20px; }
.credibility-strip.is-compact .credibility-fact strong { font-size: 34px; }
.credibility-strip.is-compact .credibility-fact span { font-size: 13px; }
.speaking-section > .credibility-strip { margin-top: 72px; }

.homepage-pathways { padding: 36px 0 18px; background: var(--paper); }
.homepage-pathways .hero-paths { width: 100%; margin-top: 0; border-color: rgba(18,59,62,.28); box-shadow: 0 18px 44px rgba(18,59,62,.09); }
.homepage-pathways .hero-paths a { min-height: 156px; padding: 22px 24px; color: var(--forest); background: rgba(255,255,255,.44); border-color: rgba(18,59,62,.28); box-shadow: inset 0 3px 0 var(--teal); }
.homepage-pathways .hero-paths small { color: var(--teal-text); font-size: 14px; }
.homepage-pathways .hero-paths strong { min-height: 2.2em; font-size: 24px; }
.homepage-pathways .hero-path-detail { color: #455451; font-size: 12px; }
.homepage-pathways .hero-paths .line-arrow { width: 34px; height: 34px; color: var(--teal-text); background: rgba(0,169,157,.08); border: 1px solid rgba(0,91,86,.34); border-radius: 50%; }
.homepage-pathways .hero-paths .line-arrow::before { left: 9px; right: 9px; }
.homepage-pathways .hero-paths .line-arrow::after { right: 9px; }
.homepage-pathways .hero-paths a:hover,
.homepage-pathways .hero-paths a:focus-visible { color: var(--white); background: var(--forest); }
.homepage-pathways .hero-paths a:hover small,
.homepage-pathways .hero-paths a:focus-visible small { color: var(--teal-soft); }
.homepage-pathways .hero-paths a:hover .hero-path-detail,
.homepage-pathways .hero-paths a:focus-visible .hero-path-detail { color: rgba(255,255,255,.78); }
.homepage-pathways .hero-paths a:hover .line-arrow,
.homepage-pathways .hero-paths a:focus-visible .line-arrow { color: var(--white); background: transparent; border-color: rgba(255,255,255,.6); }
.homepage-pathways + .paper-section { padding-top: 78px; }

.paper-section { padding: 150px 0 0; overflow: hidden; }
.intro-grid { display: grid; grid-template-columns: 1.45fr .65fr; gap: 0 56px; align-items: start; }
.section-number { grid-column: 1 / -1; width: 100%; margin: 0 0 42px; display: grid; grid-template-columns: 48px auto 1fr; gap: 14px; align-items: center; color: var(--teal-text); }
.section-index { width: 48px; height: 48px; display: grid; place-items: center; color: var(--white); background: var(--forest); font-family: var(--serif); font-size: 20px; font-weight: 400; line-height: 1; letter-spacing: 0; }
.section-number i { height: 1px; background: var(--line); }
.kicker { margin: 0 0 20px; color: var(--teal-text); }
.display { margin: 0; font-family: var(--serif); font-size: clamp(48px, 6vw, 88px); font-weight: 300; line-height: .98; letter-spacing: -.035em; }
.intro-copy { padding-top: 43px; max-width: 340px; color: #4d554d; font-size: 17px; }
.intro-copy p:first-child { margin-top: 0; }
.marquee { width: 100%; max-width: 100%; margin-top: 120px; border-block: 1px solid var(--line); padding: 22px 0 17px; font-family: var(--serif); font-size: clamp(32px, 4vw, 60px); font-weight: 300; color: var(--olive); white-space: nowrap; overflow: hidden; }
.marquee div { width: max-content; animation: marquee 30s linear infinite; }
.marquee i { margin: 0 25px; color: var(--teal); }
@keyframes marquee { to { transform: translateX(-50%); } }

.work-section { padding: 150px 0 170px; }
.section-heading { display: grid; grid-template-columns: 1fr; }
.pillars { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 90px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pillar { min-width: 0; min-height: 660px; padding: 28px 28px 26px; display: flex; flex-direction: column; border-right: 1px solid var(--line); transition: background .4s, color .4s, transform .4s; }
.pillar:first-child { border-left: 1px solid var(--line); }
.pillar:hover, .pillar:focus-within { color: var(--white); background: var(--forest); transform: translateY(-8px); }
.pillar-top { min-height: 52px; display: grid; grid-template-columns: 34px 1fr; gap: 14px; align-items: start; padding-bottom: 18px; color: var(--olive); border-bottom: 1px solid var(--line); font-size: 14px; }
.pillar:hover .pillar-top, .pillar:focus-within .pillar-top { color: var(--stone); }
.pillar:hover .pillar-top, .pillar:focus-within .pillar-top { border-color: rgba(255,255,255,.24); }
.pillar-body { flex: 1; display: flex; flex-direction: column; margin-top: 42px; }
.pillar-label { margin: 0; color: var(--teal-text); font-size: 14px; font-weight: 700; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; }
.pillar:hover .pillar-label, .pillar:focus-within .pillar-label { color: var(--teal-soft); }
.pillar h3 { min-height: 176px; margin: 0 0 21px; max-width: 310px; overflow-wrap: anywhere; font-family: var(--serif); font-size: 43px; font-weight: 400; line-height: 1.02; }
.pillar-body > p { min-height: 138px; margin: 0; font-size: 16px; line-height: 1.65; }
.pillar ul { padding: 18px 0 0; margin: auto 0 0; border-top: 1px solid var(--line); list-style: none; font-size: 15px; }
.pillar li { padding: 5px 0; }
.pillar li::before { content: "·"; margin-right: 8px; color: var(--teal); }
.pillar-link { display: flex; justify-content: space-between; margin-top: 28px; padding-top: 16px; border-top: 1px solid currentColor; font-size: 15px; }

.founder-section { min-height: 820px; display: grid; grid-template-columns: 52% 48%; align-items: start; background: var(--cream); }
.founder-photo { position: sticky; top: 72px; height: calc(100svh - 72px); min-height: 720px; max-height: 860px; overflow: hidden; background: var(--cream); }
.founder-photo::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg, rgba(9,38,40,.94) 0%, rgba(9,38,40,.78) 42%, rgba(9,38,40,.22) 72%, transparent 100%); pointer-events: none; }
.founder-photo img { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 24%; filter: saturate(.82) contrast(.98); }
.founder-image-copy { position: absolute; z-index: 2; left: clamp(30px, 5vw, 68px); right: clamp(30px, 5vw, 68px); bottom: 104px; color: var(--white); }
.founder-image-copy span { display: block; margin-bottom: 14px; color: var(--teal-soft); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.founder-image-copy strong { display: block; max-width: 620px; font-family: var(--serif); font-size: clamp(35px, 3.5vw, 50px); font-weight: 400; line-height: 1.04; }
.founder-copy { display: flex; flex-direction: column; justify-content: center; padding: 90px clamp(48px, 5vw, 84px); }
.founder-copy .display { font-size: clamp(52px, 5vw, 78px); }
.founder-note { max-width: 545px; margin: 42px 0 28px 75px; font-size: 17px; }
.founder-path { margin-top: 30px; padding: 22px 0 0 24px; border-top: 1px solid var(--line); border-left: 2px solid var(--teal); color: #485352; }
.founder-path span { display: block; margin-bottom: 8px; color: var(--teal-text); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.signature { margin: 30px 0 0; font-family: var(--serif); font-size: 26px; font-style: italic; }
.signature-title { margin: -3px 0 0; color: var(--teal-text); font-size: 14px; text-transform: uppercase; letter-spacing: .08em; }
.founder-facts { display: grid; grid-template-columns: repeat(2, 1fr); max-width: 620px; margin: 18px 0 38px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.founder-facts > div { min-height: 132px; padding: 20px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.founder-facts strong { display: block; color: var(--teal-text); font-family: var(--serif); font-size: 40px; font-weight: 300; line-height: 1; }
.founder-facts span { display: block; max-width: 220px; margin-top: 10px; color: #52605d; font-size: 14px; line-height: 1.5; }
.profile-downloads { width: 100%; max-width: 620px; margin: 0 0 38px; padding-top: 22px; border-top: 1px solid var(--line); scroll-margin-top: 100px; }
.profile-downloads > p { margin: 0 0 14px; color: var(--teal-text); font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.profile-downloads > div { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.profile-downloads a { min-height: 112px; display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; padding: 20px; background: rgba(255,255,255,.32); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: color .3s, background .3s, transform .3s; }
.profile-downloads a:hover, .profile-downloads a:focus-visible { color: var(--white); background: var(--forest); transform: translateY(-3px); }
.profile-downloads a span { display: flex; flex-direction: column; }
.profile-downloads small { color: var(--olive); font-size: 13px; font-weight: 700; line-height: 1.35; letter-spacing: .04em; text-transform: uppercase; }
.profile-downloads a:hover small, .profile-downloads a:focus-visible small { color: var(--teal-soft); }
.profile-downloads strong { margin-top: 8px; font-family: var(--serif); font-size: 20px; font-weight: 400; line-height: 1.15; }
.profile-downloads b { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 700; letter-spacing: .05em; }
.profile-downloads b .line-arrow { width: 15px; height: 15px; }
.founder-links { display: flex; flex-wrap: wrap; align-items: center; gap: 22px 34px; }

.approach-section { padding: 150px 0 130px; color: var(--white); background: var(--forest); }
.light-heading .section-name, .light-heading .kicker { color: var(--teal-soft); }
.light-heading .section-index { color: var(--forest-2); background: var(--teal); }
.light-heading .section-number i { background: rgba(255,255,255,.22); }
.approach-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 90px; border-top: 1px solid rgba(255,255,255,.2); }
.approach-item { min-height: 290px; padding: 24px 24px 30px 0; border-right: 1px solid rgba(255,255,255,.2); }
.approach-item + .approach-item { padding-left: 24px; }
.approach-item:last-child { border-right: 0; }
.approach-item span { color: var(--stone); font-size: 13px; }
.approach-item h3 { margin: 90px 0 14px; font-family: var(--serif); font-size: 30px; font-weight: 300; }
.approach-item p { color: rgba(255,255,255,.8); font-size: 16px; }
.purpose-line { margin-top: 95px; padding-top: 60px; border-top: 1px solid rgba(255,255,255,.2); font-family: var(--serif); font-size: clamp(30px, 4.2vw, 58px); font-weight: 300; line-height: 1.15; }
.purpose-line cite { display: block; margin-top: 22px; color: var(--stone); font-family: var(--sans); font-size: 13px; font-style: normal; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.relationships-section { padding: 150px 0 160px; background: var(--paper); }
.relationships-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 0 56px; align-items: end; }
.relationships-intro { max-width: 360px; margin: 0 0 8px; color: #53605b; font-family: var(--serif); font-size: 22px; line-height: 1.35; }
.relationships-layout { margin-top: 86px; }
.client-group { min-width: 0; }
.logo-group-label { margin: 0 0 18px; color: var(--teal-text); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.client-logo-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.client-logo { min-height: 245px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 34px 24px 22px; background: rgba(255,255,255,.38); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: color .3s, background .3s, transform .3s; }
.client-logo:hover, .client-logo:focus-visible { color: var(--white); background: var(--forest); transform: translateY(-5px); }
.client-logo img { display: block; max-width: 82%; max-height: 84px; object-fit: contain; filter: saturate(.82); transition: filter .3s, transform .3s; }
.client-logo:nth-child(1) img { width: 180px; }
.client-logo:nth-child(2) img { width: 190px; max-height: 96px; }
.client-logo:nth-child(3) img { width: 190px; }
.client-logo:nth-child(4) img { width: 126px; max-height: 110px; }
.client-logo:hover img, .client-logo:focus-visible img { filter: saturate(1); transform: scale(1.035); }
.client-logo:nth-child(1):hover img, .client-logo:nth-child(1):focus-visible img,
.client-logo:nth-child(2):hover img, .client-logo:nth-child(2):focus-visible img { filter: brightness(0) invert(1); }
.client-logo span { margin-top: auto; padding-top: 40px; align-self: stretch; border-top: 1px solid rgba(38,49,39,.18); font-size: 13px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.client-logo span b { float: right; font-weight: 400; }
.client-logo:hover span, .client-logo:focus-visible span { border-color: rgba(255,255,255,.25); }
.partner-card { min-height: 190px; margin-top: 24px; padding: 32px 34px; display: grid; grid-template-columns: 170px 270px 1fr 170px; gap: 32px; align-items: center; overflow: hidden; color: var(--white); background: var(--forest); transition: transform .35s, box-shadow .35s; }
.partner-card:hover, .partner-card:focus-visible { transform: translateY(-5px); box-shadow: 0 22px 50px rgba(6,33,35,.18); }
.partner-label { margin: 0; color: #8de2dc; font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.partner-copy { min-width: 0; }
.partner-copy h3 { margin: 0 0 10px; font-family: var(--serif); font-size: clamp(27px, 2.4vw, 36px); font-weight: 300; line-height: 1.08; }
.partner-copy p { margin: 0; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.65; }
.partner-brand { min-width: 0; }
.partner-brand img { display: block; width: 100%; height: 62px; object-fit: contain; object-position: left center; filter: brightness(0) invert(1); }
.partner-link { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.24); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.partner-link b { float: right; font-weight: 400; }

.speaking-section { padding: 150px 0 160px; background: #d8d2c4; }
.speaking-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 0 56px; align-items: end; }
.speaking-intro { max-width: 370px; margin: 0 0 8px; color: #4e5d58; font-family: var(--serif); font-size: 22px; line-height: 1.35; }
.speaking-topics { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 86px; border-top: 1px solid rgba(18,59,62,.24); border-left: 1px solid rgba(18,59,62,.24); }
.speaking-topic { min-height: 570px; padding: 28px 30px 32px; display: flex; flex-direction: column; border-right: 1px solid rgba(18,59,62,.24); border-bottom: 1px solid rgba(18,59,62,.24); transition: color .4s, background .4s, transform .4s; }
.speaking-topic:hover, .speaking-topic:focus-within { color: var(--white); background: var(--forest); transform: translateY(-7px); }
.topic-top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid rgba(18,59,62,.18); }
.topic-top span { color: var(--teal-text); font-family: var(--serif); font-size: 26px; }
.topic-top small { color: var(--olive); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.speaking-topic:hover .topic-top, .speaking-topic:focus-within .topic-top { border-color: rgba(255,255,255,.22); }
.speaking-topic:hover .topic-top small, .speaking-topic:focus-within .topic-top small { color: #8de2dc; }
.speaking-topic:hover .topic-top span, .speaking-topic:focus-within .topic-top span { color: var(--teal-soft); }
.speaking-topic h2, .speaking-topic h3 { margin: 64px 0 18px; font-family: var(--serif); font-size: clamp(38px, 3.5vw, 53px); font-weight: 300; line-height: .98; letter-spacing: -.025em; }
.speaking-topic h2 em, .speaking-topic h3 em { font-weight: 300; }
.topic-subtitle { min-height: 58px; margin: 0 0 30px; color: var(--olive); font-size: 14px; font-weight: 700; line-height: 1.55; letter-spacing: .05em; text-transform: uppercase; }
.speaking-topic:hover .topic-subtitle, .speaking-topic:focus-within .topic-subtitle { color: #79dcd5; }
.speaking-topic > p:not(.topic-subtitle):not(.topic-question) { margin: 0; color: #4c5a57; font-size: 16px; line-height: 1.7; }
.speaking-topic:hover > p:not(.topic-subtitle):not(.topic-question), .speaking-topic:focus-within > p:not(.topic-subtitle):not(.topic-question) { color: rgba(255,255,255,.72); }
.topic-question { margin: auto 0 0; padding-top: 30px; border-top: 1px solid rgba(18,59,62,.18); font-family: var(--serif); font-size: 19px; font-style: italic; line-height: 1.4; }
.speaking-topic:hover .topic-question, .speaking-topic:focus-within .topic-question { border-color: rgba(255,255,255,.22); }
.speaking-topics-summary .speaking-topic { min-height: 290px; }
.speaking-topics-summary .speaking-topic h3 { margin-top: 54px; }
.speaking-invitation { margin-top: 24px; padding: 42px 46px; display: flex; align-items: center; justify-content: space-between; gap: 48px; color: var(--white); background: var(--forest); }
.speaking-invitation p { max-width: 700px; margin: 0; font-family: var(--serif); font-size: clamp(27px, 3.2vw, 43px); line-height: 1.15; }
.speaking-actions { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.speaking-invitation .button { flex: 0 0 auto; }

.media-section { padding: 150px 0; background: #e7ede8; }
.media-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 0 56px; align-items: end; }
.media-intro { max-width: 350px; margin: 0 0 8px; color: #486063; font-family: var(--serif); font-size: 23px; line-height: 1.3; }
.media-grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 295px; gap: 18px; margin-top: 85px; }
.media-card { position: relative; min-height: 295px; overflow: hidden; color: var(--white); background: var(--forest); isolation: isolate; }
.media-video { grid-column: 1 / span 7; grid-row: 1 / span 2; }
.media-card:nth-child(2) { grid-column: 8 / span 5; grid-row: 1; }
.media-card:nth-child(3) { grid-column: 8 / span 5; grid-row: 2; }
.media-card::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, rgba(6,32,34,.9), rgba(6,32,34,.08) 72%); }
.media-card img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease, filter .5s; }
.media-card:hover img, .media-card:focus-visible img { transform: scale(1.045); filter: saturate(1.08); }
.media-card > div { position: absolute; left: 18px; right: 18px; bottom: 18px; padding: 16px 18px; background: rgba(11,41,44,.94); }
.media-card small { color: #66d9d0; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.media-card h3 { max-width: 480px; margin: 8px 0 12px; font-family: var(--serif); font-size: clamp(28px, 3.4vw, 48px); font-weight: 300; line-height: 1.08; }
.media-card p { display: flex; align-items: center; justify-content: space-between; margin: 0; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.38); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.media-embed { display: flex; flex-direction: column; isolation: auto; }
.media-embed::after { content: none; }
.media-embed iframe { width: 100%; aspect-ratio: 16 / 9; flex: 0 0 auto; border: 0; background: var(--forest-2); }
.media-embed iframe:focus-visible { outline-color: var(--teal-soft); outline-offset: -5px; }
.media-embed > div { position: static; flex: 1; padding: 20px 28px 22px; background: var(--forest-2); }
.media-embed h3 { font-size: clamp(28px, 3vw, 42px); }

.dinners-section { min-height: 940px; display: grid; grid-template-columns: 48% 52%; background: var(--paper); }
.dinners-image { position: relative; min-height: 940px; background: linear-gradient(0deg, rgba(9,38,40,.94), rgba(9,38,40,.78) 42%, rgba(9,38,40,.2) 72%), url("assets/dinners-with-purpose.webp") center/cover no-repeat; }
.dinners-image-note { position: absolute; left: clamp(32px, 5vw, 78px); right: 32px; bottom: 62px; color: var(--white); }
.dinners-image-note span { display: block; margin-bottom: 14px; color: #8de2dc; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.dinners-image-note strong { font-family: var(--serif); font-size: clamp(42px, 5vw, 70px); font-weight: 400; line-height: 1.02; }
.dinners-panel { padding: 110px clamp(46px, 6vw, 96px) 90px; }
.dinners-panel .display { max-width: 720px; margin-top: 15px; font-size: clamp(48px, 5.4vw, 78px); }
.dinners-copy { max-width: 560px; margin: 40px 0 42px 64px; color: #465655; font-size: 16px; }
.dinners-copy p { margin: 0 0 16px; }
.dinner-dates-heading { margin: 0 0 16px; font-family: var(--sans); font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.dinner-dates { border-top: 1px solid var(--line); }
.dinner-date { min-height: 118px; display: grid; grid-template-columns: 72px 1fr auto; gap: 18px; align-items: center; padding: 18px 12px; border-bottom: 1px solid var(--line); transition: color .3s, background .3s, padding .3s; }
.dinner-date:hover, .dinner-date:focus-visible { padding-inline: 22px; color: var(--white); background: var(--forest); }
.date-day { display: flex; flex-direction: column; align-items: flex-start; color: var(--teal-text); line-height: 1; }
.date-day strong { font-family: var(--serif); font-size: 42px; font-weight: 400; }
.date-day small { margin-top: 6px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.date-copy { display: flex; flex-direction: column; }
.date-copy small { color: var(--olive); font-size: 13px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.dinner-date:hover .date-copy small, .dinner-date:focus-visible .date-copy small { color: #8de2dc; }
.dinner-date:hover .date-day, .dinner-date:focus-visible .date-day { color: var(--teal-soft); }
.date-copy h3, .date-copy h4 { margin: 0; font-family: var(--serif); font-size: 24px; font-weight: 400; }
.date-action { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.date-action .line-arrow { width: 15px; height: 15px; }
.dinners-note { max-width: 630px; margin: 24px 0 0; color: var(--olive); font-size: 14px; }

.contact-section { padding: 150px 0; background: var(--stone); }
.contact-lead { padding: 150px 0 80px; background: var(--paper); }
.contact-lead-grid { display: grid; grid-template-columns: .88fr 1.12fr; min-height: 520px; overflow: hidden; border: 1px solid var(--line); }
.contact-lead-photo { min-height: 520px; background: var(--forest); }
.contact-lead-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.contact-lead-copy { display: flex; flex-direction: column; justify-content: center; padding: 54px; }
.contact-lead-copy h1 { margin: 0; font-family: var(--serif); font-size: clamp(54px, 6vw, 84px); font-weight: 300; line-height: .96; letter-spacing: -.035em; }
.contact-frame { margin-top: 28px; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-frame h2 { margin: 0 0 10px; color: var(--teal-text); font-family: var(--serif); font-size: clamp(27px, 2.8vw, 38px); font-weight: 400; line-height: 1.08; }
.contact-frame p { max-width: 620px; margin: 0; color: #52605d; font-size: 16px; line-height: 1.65; }
.contact-lead-link { margin-top: 24px; }
.contact-form-section { padding-top: 110px; }
.contact-form-title { font-size: clamp(46px, 5vw, 70px); }
.contact-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 0 56px; }
.contact-conversation { min-width: 0; }
.contact-actions { margin-top: 30px; padding: 24px; background: rgba(251,248,241,.42); border: 1px solid rgba(38,49,39,.28); }
.contact-actions-label { margin: 0 0 14px; color: var(--forest); font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.contact-action-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(38,49,39,.24); border-left: 1px solid rgba(38,49,39,.24); }
.contact-direct-card { min-height: 92px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px 18px; padding: 17px 18px; border-right: 1px solid rgba(38,49,39,.24); border-bottom: 1px solid rgba(38,49,39,.24); transition: color .25s, background .25s; }
.contact-direct-card:hover, .contact-direct-card:focus-visible { color: var(--white); background: var(--forest); }
.contact-direct-card small { grid-column: 1 / -1; color: var(--teal-text); font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.contact-direct-card:hover small, .contact-direct-card:focus-visible small { color: var(--teal-soft); }
.contact-direct-card strong { min-width: 0; overflow-wrap: anywhere; font-family: var(--serif); font-size: 18px; font-weight: 400; line-height: 1.25; }
.contact-direct-card .line-arrow { width: 16px; height: 16px; }
.contact-meta { padding-top: 2px; }
.contact-place { margin-bottom: 34px; padding: 28px 0 30px; border-top: 1px solid rgba(38,49,39,.35); border-bottom: 1px solid rgba(38,49,39,.18); }
.contact-place h2, .contact-place h3 { margin: 12px 0 18px; font-family: var(--serif); font-size: clamp(28px, 2.7vw, 39px); font-weight: 400; line-height: 1.05; }
.contact-place > p:not(.kicker) { margin: 0; color: var(--ink); font-size: 15px; line-height: 1.7; }
.contact-details p { margin: 0 0 26px; }
.contact-details span { display: block; margin-bottom: 7px; color: var(--forest); font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.social-card { min-height: 92px; display: grid; grid-template-columns: 42px 1fr auto; gap: 14px; align-items: center; padding: 18px; color: var(--white); background: var(--forest); transition: background .3s, transform .3s; }
.social-card:hover, .social-card:focus-visible { background: var(--forest-2); transform: translateY(-3px); }
.social-mark { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.45); font-size: 17px; font-weight: 700; line-height: 1; }
.social-copy { display: flex; flex-direction: column; }
.social-copy small { color: var(--teal-soft); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.social-copy strong { margin-top: 4px; font-family: var(--serif); font-size: 17px; font-weight: 400; line-height: 1.2; }
.social-card > b { font-weight: 400; }
.client-logo b .line-arrow, .partner-link b .line-arrow, .media-card b .line-arrow, .social-card b .line-arrow { width: 16px; height: 16px; }
.contact-section .section-name, .contact-section .kicker { color: var(--forest); }
.contact-conversation-form { margin-top: 42px; padding: 34px; background: rgba(251,248,241,.42); border: 1px solid rgba(38,49,39,.28); }
.contact-form { position: relative; }
.contact-form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.contact-form label { display: flex; flex-direction: column; gap: 9px; }
.contact-form label > span { color: var(--forest); font-size: 16px; font-weight: 700; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-height: 54px; padding: 13px 14px; color: var(--ink); background: rgba(251,248,241,.78); border: 1px solid rgba(18,59,62,.36); border-radius: 0; font: inherit; font-size: 17px; }
.contact-form textarea { min-height: 180px; resize: vertical; }
.contact-form select { cursor: pointer; }
.contact-form .form-message, .form-submit-row { grid-column: 1 / -1; }
.form-submit-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 28px; align-items: center; padding-top: 2px; }
.form-consent { max-width: 570px; margin: 0; color: var(--ink); font-size: 15px; line-height: 1.55; }
.form-consent a { padding-bottom: 2px; border-bottom: 1px solid currentColor; }
.form-status { min-height: 30px; margin: 24px 0 0; font-family: var(--serif); font-size: 20px; line-height: 1.5; }
.form-status[data-state="success"] { color: var(--forest); }
.form-status[data-state="error"] { color: #712f22; }
.contact-form.is-sent .contact-form-fields { display: none; }
.form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-form button:disabled { cursor: wait; opacity: .68; }

.site-footer { padding: 60px 0 110px; color: var(--white); background: var(--forest-2); border-top: 3px solid var(--teal); }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr .7fr; gap: 60px; align-items: end; }
.footer-grid > div:first-child { display: flex; flex-direction: column; align-items: center; text-align: center; }
.footer-grid img { width: 180px; margin-inline: auto; }
.footer-grid p { margin: 15px 0 0; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.7; text-transform: uppercase; letter-spacing: .07em; }
.footer-grid nav { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px 30px; font-size: 15px; }
.footer-link-group { display: flex; flex-direction: column; gap: 9px; }
.footer-grid nav a { display: inline-flex; align-items: center; gap: 7px; }
.footer-grid nav .line-arrow { width: 14px; height: 14px; }
.footer-grid > p { text-align: right; }

.legal-page { min-height: 100svh; padding: 170px 0 130px; background: var(--paper); }
.legal-shell { width: min(760px, calc(100% - 64px)); margin-inline: auto; }
.legal-kicker { margin: 0 0 18px; color: var(--teal-text); font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.legal-page h1 { margin: 0; font-family: var(--serif); font-size: clamp(54px, 7vw, 88px); font-weight: 400; line-height: 1; letter-spacing: -.035em; }
.legal-updated { margin: 24px 0 64px; color: var(--olive); font-size: 15px; }
.legal-intro { margin: 0 0 62px; font-family: var(--serif); font-size: clamp(21px, 2.2vw, 27px); line-height: 1.5; }
.legal-section { padding: 34px 0 38px; border-top: 1px solid var(--line); }
.legal-section h2 { margin: 0 0 20px; font-family: var(--serif); font-size: 28px; font-weight: 400; line-height: 1.2; }
.legal-section p { margin: 0 0 18px; line-height: 1.75; }
.legal-section p:last-child { margin-bottom: 0; }
.legal-list { margin: 0; padding: 0; list-style: none; }
.legal-list li { margin: 0 0 12px; line-height: 1.75; }
.legal-home-link { padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: 15px; }

.inner-hero { padding: 172px 0 120px; background: var(--paper); }
.inner-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 76px; align-items: center; }
.inner-hero h1 { max-width: 760px; margin: 0; font-family: var(--serif); font-size: clamp(58px, 7vw, 96px); font-weight: 300; line-height: .96; letter-spacing: -.04em; }
.inner-hero-copy { max-width: 660px; margin: 34px 0 0; color: #465655; font-family: var(--serif); font-size: clamp(21px, 2.1vw, 28px); line-height: 1.5; }
.inner-hero-media { min-height: 570px; overflow: hidden; background: var(--forest); }
.inner-hero-media img { width: 100%; height: 570px; object-fit: cover; }
.inner-hero-list { margin: 40px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.inner-hero-list li { padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 15px; font-weight: 700; letter-spacing: .04em; }
.inner-first-section { padding-top: 172px; }
.speaking-section.is-summary .speaking-invitation { margin-top: 70px; }
.dinners-section.is-summary { min-height: 760px; }
.dinners-section.is-summary .dinners-image { min-height: 760px; }
.dinners-section.is-summary .dinners-panel { display: flex; flex-direction: column; justify-content: center; }
.summary-action { margin-top: 22px; }
.not-found-actions { margin-top: 38px; }

.destination-hero { padding: 172px 0 120px; color: var(--white); background: var(--forest); }
.destination-hero-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 76px; align-items: center; }
.destination-hero h1 { max-width: 800px; margin: 18px 0 28px; font-family: var(--serif); font-size: clamp(58px, 7vw, 100px); font-weight: 300; line-height: .94; letter-spacing: -.04em; }
.destination-hero-copy { max-width: 650px; margin: 0; color: rgba(255,255,255,.86); font-family: var(--serif); font-size: clamp(21px, 2vw, 28px); line-height: 1.5; }
.destination-footprint { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.28); border-left: 1px solid rgba(255,255,255,.28); }
.destination-footprint span { min-height: 122px; display: flex; align-items: flex-end; padding: 20px; border-right: 1px solid rgba(255,255,255,.28); border-bottom: 1px solid rgba(255,255,255,.28); font-family: var(--serif); font-size: 24px; }
.experience-map { position: relative; aspect-ratio: 3 / 2; overflow: hidden; margin: 0; border: 1px solid rgba(255,255,255,.24); background: var(--forest-2); }
.experience-map img { width: 100%; height: 100%; object-fit: cover; }
.experience-map figcaption { position: absolute; inset: 0; }
.map-location { position: absolute; display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; color: var(--forest); background: rgba(242,237,227,.94); box-shadow: 0 8px 24px rgba(6,33,35,.2); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; transform: translate(-50%, -50%); }
.map-location::before { content: ""; width: 7px; height: 7px; flex: 0 0 auto; background: var(--teal); border-radius: 50%; box-shadow: 0 0 0 4px rgba(0,169,157,.2); }
.experience-map-concept-01 .map-location-sa { left: 49%; top: 86%; }
.experience-map-concept-01 .map-location-ke { left: 67%; top: 58%; }
.experience-map-concept-01 .map-location-et { left: 72%; top: 43%; }
.experience-map-concept-01 .map-location-gh { left: 28%; top: 49%; }
.experience-map-concept-02 .map-location-sa { left: 49%; top: 87%; }
.experience-map-concept-02 .map-location-ke { left: 67%; top: 58%; }
.experience-map-concept-02 .map-location-et { left: 70%; top: 42%; }
.experience-map-concept-02 .map-location-gh { left: 27%; top: 47%; }
.destination-method { padding: 72px 0 140px; background: var(--paper); }
.destination-method-heading { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: end; }
.destination-method-heading .display { font-size: clamp(48px, 5.7vw, 82px); }
.destination-method-intro { max-width: 520px; margin: 0; color: #52605d; font-size: 18px; line-height: 1.75; }
.destination-capabilities { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 72px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.destination-capability { min-height: 265px; padding: 25px 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.destination-capability small { color: var(--teal-text); font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.destination-capability h3 { margin: 70px 0 14px; font-family: var(--serif); font-size: 28px; font-weight: 400; line-height: 1.1; }
.destination-capability p { margin: 0; color: #52605d; font-size: 15px; line-height: 1.65; }
.destination-work { padding: 140px 0; color: var(--white); background: var(--forest-2); }
.destination-work-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: start; }
.destination-work-list { border-top: 1px solid rgba(255,255,255,.25); }
.destination-work-list div { display: grid; grid-template-columns: 60px 1fr; gap: 20px; align-items: center; min-height: 92px; border-bottom: 1px solid rgba(255,255,255,.25); }
.destination-work-list small { color: var(--teal-soft); font-size: 13px; font-weight: 700; }
.destination-work-list strong { font-family: var(--serif); font-size: 25px; font-weight: 400; }
.destination-work-note { margin: 28px 0 0; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.7; }
.destination-cta { padding: 120px 0; background: var(--stone); }
.destination-cta-grid { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: end; }
.destination-cta .display { max-width: 820px; font-size: clamp(48px, 5.7vw, 82px); }

.experience-tracks { padding: 140px 0 72px; background: var(--paper); }
.experience-tracks-heading { display: grid; grid-template-columns: 1fr .8fr; gap: 72px; align-items: end; }
.experience-tracks-intro { max-width: 520px; margin: 0; color: #52605d; font-size: 18px; line-height: 1.75; }
.experience-track-grid { display: grid; grid-template-columns: .92fr 1.08fr; margin-top: 72px; border: 1px solid var(--line); }
.experience-track-grid.is-single { grid-template-columns: 1fr; }
.experience-track { min-width: 0; }
.experience-track-client { padding: 42px; background: var(--stone); }
.experience-track-grid.is-single .experience-track-client { display: grid; grid-template-columns: 1fr .8fr; gap: 22px 72px; align-items: start; }
.experience-track-grid.is-single .experience-track-label { grid-column: 1 / -1; margin-bottom: 8px; }
.experience-client-copy p { max-width: 650px; }
.experience-client-actions .experience-format-list { margin-top: 0; }
.experience-track-label { margin: 0 0 36px; color: var(--teal-text); font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.experience-track h3 { margin: 0 0 22px; font-family: var(--serif); font-size: clamp(36px, 4vw, 56px); font-weight: 400; line-height: 1; }
.experience-track p:not(.experience-track-label) { margin: 0; font-size: 16px; line-height: 1.7; }
.experience-format-list { margin: 36px 0 42px; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.experience-format-list li { padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 700; letter-spacing: .04em; }
.experience-track-dinners { position: relative; min-height: 690px; color: var(--white); background: var(--forest); overflow: hidden; }
.experience-track-image { position: absolute; inset: 0; }
.experience-track-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,39,42,.97) 0%, rgba(8,39,42,.72) 52%, rgba(8,39,42,.18) 100%); }
.experience-track-image img { width: 100%; height: 100%; object-fit: cover; }
.experience-track-copy { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; padding: 42px; }
.experience-track-copy .experience-track-label { color: var(--teal-soft); }
.experience-track-copy p:not(.experience-track-label) { max-width: 560px; color: rgba(255,255,255,.84); }
.experience-track-copy .text-link { margin-top: 34px; }
.experience-dinners { min-height: 900px; display: grid; grid-template-columns: 48% 52%; background: var(--paper); }
.experience-dinners-image { position: relative; min-height: 900px; overflow: hidden; background: var(--forest); }
.experience-dinners-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(9,38,40,.94), rgba(9,38,40,.72) 45%, rgba(9,38,40,.12) 78%); }
.experience-dinners-image img { width: 100%; height: 100%; object-fit: cover; }
.experience-dinners-image > div { position: absolute; z-index: 1; right: 42px; bottom: 58px; left: clamp(32px, 5vw, 78px); color: var(--white); }
.experience-dinners-image span { display: block; margin-bottom: 14px; color: #8de2dc; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.experience-dinners-image strong { font-family: var(--serif); font-size: clamp(42px, 5vw, 70px); font-weight: 400; line-height: 1.02; }
.experience-dinners-panel { padding: 110px clamp(46px, 6vw, 96px) 90px; }
.experience-dinners-panel .display { margin: 0 0 28px; font-size: clamp(48px, 5.4vw, 78px); }
.experience-dinners-intro { max-width: 610px; margin: 0 0 42px; color: #465655; font-size: 17px; line-height: 1.75; }
.experience-dinners-panel .experience-track-label { margin-bottom: 22px; }
.experience-team { padding: 140px 0; color: var(--white); background: var(--forest-2); }
.experience-team-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 90px; align-items: end; }
.experience-team .kicker { color: var(--teal-soft); }
.experience-team-copy p { margin: 0 0 18px; color: rgba(255,255,255,.82); font-size: 18px; line-height: 1.7; }
.team-role-grid.experience-team-roles { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 72px; border-color: rgba(255,255,255,.24); }
.experience-team .team-role { border-color: rgba(255,255,255,.24); }
.experience-team .team-role small { color: var(--teal-soft); }
.experience-team .team-role h3 { min-height: 106px; display: flex; align-items: flex-start; margin-top: 70px; color: var(--white); }
.experience-team .team-role p { min-height: 110px; color: rgba(255,255,255,.78); }

.keynotes-visual { position: relative; height: clamp(360px, 48vw, 650px); margin-top: 72px; overflow: hidden; }
.keynotes-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,39,42,.84), transparent 62%); pointer-events: none; }
.keynotes-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.keynotes-visual figcaption { position: absolute; z-index: 1; right: 34px; bottom: 30px; left: 34px; display: flex; align-items: end; justify-content: space-between; gap: 24px; color: var(--white); }
.keynotes-visual figcaption span { color: var(--teal-soft); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.keynotes-visual figcaption strong { font-family: var(--serif); font-size: clamp(28px, 3.5vw, 48px); font-weight: 400; }

.team-hero { padding: 150px 0 90px; background: var(--paper); }
.team-hero-grid { min-height: 610px; display: grid; grid-template-columns: .88fr 1.12fr; border: 1px solid var(--line); }
.team-hero-image { min-height: 610px; background: var(--forest); overflow: hidden; }
.team-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.team-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 60px; }
.team-hero-copy h1 { margin: 0; font-family: var(--serif); font-size: clamp(56px, 6.7vw, 92px); font-weight: 300; line-height: .94; letter-spacing: -.04em; }
.team-hero-copy > p:last-child { max-width: 650px; margin: 32px 0 0; color: #52605d; font-size: 18px; line-height: 1.75; }
.team-roles { padding: 140px 0; background: var(--stone); }
.team-roles-heading { display: grid; grid-template-columns: 1fr .8fr; gap: 72px; align-items: end; }
.team-roles-intro { max-width: 520px; margin: 0; color: #52605d; font-size: 18px; line-height: 1.75; }
.team-role-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 72px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.team-role { min-height: 330px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.team-role small { color: var(--teal-text); font-size: 13px; font-weight: 700; }
.team-role h3 { margin: 100px 0 18px; font-family: var(--serif); font-size: 32px; font-weight: 400; line-height: 1.1; }
.team-role p { margin: 0; color: #52605d; font-size: 16px; line-height: 1.7; }
.team-profiles { padding: 140px 0; color: var(--white); background: var(--forest-2); }
.team-profiles-grid { display: grid; grid-template-columns: 1fr .8fr; gap: 90px; align-items: end; }
.team-profiles .kicker { color: var(--teal-soft); }
.team-profiles-copy p { margin: 0 0 18px; color: rgba(255,255,255,.8); font-size: 18px; line-height: 1.7; }
.team-profiles-copy .text-link { margin-top: 20px; }

.reveal { opacity: 0; transform: translateY(30px); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal:nth-child(2) { transition-delay: .08s; }
.reveal:nth-child(3) { transition-delay: .16s; }
.reveal:nth-child(4) { transition-delay: .24s; }

@media (max-width: 980px) {
  .site-header { padding: 0 24px; }
  .menu-open .site-header.scrolled { color: var(--paper); background: transparent; border-color: transparent; backdrop-filter: none; }
  .menu-open .site-header.scrolled .brand-logo-white { opacity: 1; }
  .menu-open .site-header.scrolled .brand-logo-colour { opacity: 0; }
  .menu-toggle { min-width: 44px; min-height: 44px; padding: 8px 0 8px 8px; display: flex; align-items: center; justify-content: flex-end; gap: 10px; cursor: pointer; }
  .menu-toggle i, .menu-toggle i::after { display: block; width: 19px; height: 1px; background: currentColor; transition: transform .3s; }
  .menu-toggle i { position: relative; }
  .menu-toggle i::after { content: ""; position: absolute; top: 6px; }
  .menu-open .menu-toggle i { transform: rotate(45deg); }
  .menu-open .menu-toggle i::after { top: 0; transform: rotate(-90deg); }
  .site-nav { position: fixed; inset: 0; z-index: -1; padding: 130px 40px 50px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 22px; color: var(--paper); background: var(--forest); font-family: var(--serif); font-size: 34px; visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(-100%); transition: transform .45s ease, opacity .25s ease, visibility .45s; }
  .menu-open .site-nav { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }
  .site-nav a { min-height: 44px; display: flex; align-items: center; }
  .nav-cta { margin-top: 15px; font-family: var(--sans); font-size: 15px; }
  .intro-grid, .contact-grid, .media-heading, .relationships-heading, .speaking-heading { grid-template-columns: 1fr; gap: 30px; }
  .intro-copy, .contact-meta, .media-intro, .relationships-intro, .speaking-intro { grid-column: auto; }
  .contact-meta { margin-top: 22px; padding-top: 38px; border-top: 1px solid rgba(38,49,39,.35); }
  .contact-place { padding-top: 0; border-top: 0; }
  .client-logo-grid { grid-template-columns: repeat(2, 1fr); }
  .partner-card { grid-template-columns: 150px 1fr; gap: 24px 30px; }
  .partner-copy { grid-column: 1 / -1; }
  .partner-link { grid-column: 1 / -1; padding: 18px 0 0; border-top: 1px solid rgba(255,255,255,.24); border-left: 0; }
  .media-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: auto; }
  .speaking-topics { grid-template-columns: 1fr; }
  .speaking-topic { min-height: 520px; }
  .speaking-invitation { align-items: flex-start; flex-direction: column; }
  .media-card, .media-video, .media-card:nth-child(2), .media-card:nth-child(3) { grid-column: auto; grid-row: auto; }
  .media-card:not(.media-embed) { min-height: 360px; }
  .media-video { grid-column: 1 / -1; min-height: 520px; }
  .pillars { grid-template-columns: 1fr; }
  .pillar, .pillar:first-child { min-height: 490px; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .pillar-body { margin-top: 38px; }
  .pillar h3, .pillar-body > p { min-height: 0; }
  .pillar ul { margin-top: 28px; }
  .founder-section { grid-template-columns: 1fr; }
  .founder-photo { position: relative; top: auto; height: auto; min-height: 720px; max-height: none; }
  .approach-grid { grid-template-columns: repeat(2, 1fr); }
  .approach-item:nth-child(2) { border-right: 0; }
  .approach-item:nth-child(3) { padding-left: 0; }
  .approach-item:nth-child(3), .approach-item:nth-child(4) { border-top: 1px solid rgba(255,255,255,.2); }
  .dinners-section { grid-template-columns: 1fr; }
  .dinners-image { min-height: 640px; }
  .dinners-panel { padding: 100px 54px; }
  .inner-hero-grid { grid-template-columns: 1fr; }
  .inner-hero-media { min-height: 520px; }
  .inner-hero-media img { height: 520px; }
  .contact-lead-grid { grid-template-columns: 1fr; }
  .contact-lead-photo { min-height: 500px; }
  .contact-lead-photo img { height: 500px; }
  .destination-hero-grid, .destination-method-heading, .destination-work-grid, .experience-tracks-heading, .experience-team-grid, .team-roles-heading, .team-profiles-grid { grid-template-columns: 1fr; }
  .destination-footprint { margin-top: 10px; }
  .experience-map { width: min(100%, 760px); margin-top: 18px; }
  .destination-capabilities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .destination-cta-grid { grid-template-columns: 1fr; align-items: start; }
  .experience-track-grid { grid-template-columns: 1fr; }
  .experience-track-grid.is-single .experience-track-client { grid-template-columns: 1fr; }
  .experience-dinners { grid-template-columns: 1fr; }
  .experience-dinners-image { min-height: 640px; }
  .team-hero-grid { grid-template-columns: 1fr; }
  .team-hero-image, .team-hero-grid { min-height: 520px; }
  .team-role-grid { grid-template-columns: 1fr; }
  .team-role-grid.experience-team-roles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .experience-team .team-role h3 { min-height: 106px; margin-top: 60px; }
  .experience-team .team-role p { min-height: 82px; }
  .footer-grid { grid-template-columns: .8fr 1.2fr; gap: 48px; align-items: center; }
  .footer-grid > p { grid-column: 1 / -1; margin-top: 0; text-align: center; }
}

@media (min-width: 681px) and (max-height: 820px) {
  .hero-content { padding-bottom: 132px; }
  .hero-paths { width: min(700px, 68%); margin-top: 28px; }
  .hero-paths a { min-height: 82px; }
  .scroll-cue { bottom: 40px; }
}

@media (min-width: 681px) and (max-height: 680px) {
  .scroll-cue { display: none; }
}

@media (min-width: 681px) and (max-width: 1100px) and (max-height: 820px) {
  .hero, .hero-content { min-height: 760px; }
  .hero-content { padding-bottom: 200px; }
  .hero-paths { margin-top: 28px; }
  .section-journey.is-opening { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(12px); }
  .hero-founder-card { right: 24px; bottom: 24px; width: 250px; grid-template-columns: 80px 1fr; }
  .hero-founder-card img { width: 80px; height: 104px; }
  .hero-founder-card > span { padding: 11px; }
  .hero-founder-card strong { font-size: 17px; }
  .scroll-cue { display: none; }
}

@media (max-width: 900px) {
  .hero-founder-card { display: none; }
  .section-journey { right: auto; bottom: 12px; left: 12px; width: 184px; min-height: 48px; grid-template-columns: 44px 96px 44px; }
  .journey-meta { align-items: center; padding: 5px 8px; text-align: center; }
  .journey-meta span { font-size: 11px; letter-spacing: .06em; }
  .journey-meta strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
}

@media (max-width: 900px) and (orientation: portrait) {
  .site-footer { padding: 54px 0 96px; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; align-items: center; justify-items: center; text-align: center; }
  .footer-grid nav { width: min(100%, 440px); justify-items: center; }
  .footer-link-group { align-items: center; }
  .footer-grid nav a { justify-content: center; }
  .footer-grid > p { grid-column: auto; max-width: 620px; margin-top: 0; text-align: center; }
}

@media (max-width: 680px) {
  .shell { width: min(100% - 36px, 1180px); }
  .site-header { height: 74px; }
  .brand { width: 148px; }
  .brand-logo { width: 142px; }
  .hero-content { padding-top: 100px; padding-bottom: 90px; justify-content: flex-end; }
  .hero-image { inset: 0; background-position: 68% center; opacity: .7; }
  .hero-wash { background: linear-gradient(0deg, rgba(8,39,42,.98) 0%, rgba(8,39,42,.82) 50%, rgba(8,39,42,.35) 100%); }
  .hero::after { width: 72vw; right: -34vw; top: 31%; }
  .hero h1 { font-size: clamp(55px, 16vw, 78px); }
  .hero-copy { font-size: 18px; }
  .hero-primary-cta { width: 100%; margin-top: 22px; }
  .hero-paths { width: 100%; grid-template-columns: 1fr; margin-top: 28px; }
  .hero-paths a { min-height: 78px; grid-template-columns: 42px 1fr auto; grid-template-rows: auto auto; align-items: center; gap: 2px 10px; padding: 11px 14px; }
  .hero-paths small { grid-column: 1; grid-row: 1 / 3; align-self: center; }
  .hero-paths strong { grid-column: 2; grid-row: 1; min-height: 0; align-self: end; font-size: 16px; }
  .hero-path-detail { grid-column: 2; grid-row: 2; align-self: start; font-size: 9px; }
  .hero-paths .line-arrow { grid-column: 3; grid-row: 1 / 3; align-self: center; }
  .homepage-pathways { padding: 28px 0 12px; }
  .homepage-pathways + .paper-section { padding-top: 72px; }
  .homepage-pathways .hero-paths a { min-height: 92px; padding: 14px 16px; }
  .homepage-pathways .hero-paths strong { font-size: 18px; }
  .homepage-pathways .hero-path-detail { font-size: 10px; }
  .homepage-pathways .hero-paths .line-arrow { width: 32px; height: 32px; }
  .hero .eyebrow { max-width: 148px; line-height: 1.55; }
  .hero-founder-card { top: 92px; right: 18px; bottom: auto; width: 164px; grid-template-columns: 60px 1fr; }
  .hero-founder-card img { width: 60px; height: 92px; }
  .hero-founder-card > span { padding: 9px; }
  .hero-founder-card strong { font-size: 15px; }
  .hero-founder-card small { font-size: 13px; line-height: 1.3; }
  .hero-founder-card b { font-size: 13px; }
  .scroll-cue { display: none; }
  .paper-section, .work-section, .approach-section, .relationships-section, .speaking-section, .media-section, .contact-section { padding-block: 95px; }
  .intro-grid, .section-heading, .contact-grid { grid-template-columns: 1fr; gap: 30px; }
  .intro-copy, .contact-meta { grid-column: auto; padding-top: 0; }
  .section-number { margin-bottom: 34px; grid-template-columns: 48px auto 1fr; gap: 12px; }
  .display { font-size: clamp(48px, 14vw, 68px); }
  .marquee { margin-top: 75px; }
  .pillars { margin-top: 60px; }
  .pillar { min-height: 510px; }
  .founder-photo { min-height: 620px; }
  .founder-image-copy { left: 24px; right: 24px; bottom: 96px; }
  .founder-image-copy strong { font-size: 38px; }
  .founder-copy { padding: 90px 24px; }
  .founder-note { margin: 34px 0; }
  .founder-facts { grid-template-columns: 1fr 1fr; }
  .founder-facts > div { min-height: 125px; padding: 18px; }
  .founder-facts strong { font-size: 35px; }
  .profile-downloads > div { grid-template-columns: 1fr; }
  .approach-grid { grid-template-columns: 1fr; margin-top: 60px; }
  .approach-item, .approach-item + .approach-item { min-height: auto; padding: 28px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .approach-item h3 { margin: 45px 0 10px; }
  .relationships-heading { grid-template-columns: 1fr; gap: 30px; }
  .relationships-intro { grid-column: auto; font-size: 21px; }
  .relationships-layout { margin-top: 55px; }
  .client-logo-grid { grid-template-columns: 1fr; }
  .client-logo { min-height: 215px; }
  .partner-card { grid-template-columns: 1fr; padding: 30px 24px; }
  .partner-brand { min-height: auto; }
  .partner-copy, .partner-link { grid-column: auto; }
  .speaking-heading { grid-template-columns: 1fr; gap: 30px; }
  .speaking-intro { grid-column: auto; font-size: 21px; }
  .speaking-topics { margin-top: 55px; }
  .speaking-topic { min-height: 530px; padding-inline: 26px; }
  .speaking-topic h2, .speaking-topic h3 { margin-top: 50px; }
  .speaking-invitation { padding: 34px 28px; }
  .media-heading { grid-template-columns: 1fr; gap: 30px; }
  .media-intro { grid-column: auto; font-size: 21px; }
  .media-grid { grid-template-columns: 1fr; grid-auto-rows: auto; margin-top: 55px; }
  .media-video { min-height: 0; }
  .media-embed > div { padding: 18px 20px 20px; }
  .dinners-image { min-height: 500px; }
  .dinners-image-note { left: 24px; bottom: 38px; }
  .dinners-panel { padding: 90px 24px; }
  .dinners-copy { margin: 32px 0; }
  .dinner-date { grid-template-columns: 56px 1fr; gap: 14px; padding-inline: 0; }
  .date-day strong { font-size: 35px; }
  .date-action { grid-column: 2; margin-top: -12px; }
  .contact-actions { margin-top: 24px; padding: 18px; }
  .contact-action-links { grid-template-columns: 1fr; }
  .credibility-strip-grid { grid-template-columns: 1fr 1fr; }
  .credibility-fact { min-height: 132px; padding: 20px; border-bottom: 1px solid var(--line); }
  .credibility-fact:nth-child(2n) { border-right: 1px solid var(--line); }
  .credibility-fact strong { font-size: 36px; }
  .credibility-fact span { font-size: 13px; }
  .speaking-section > .credibility-strip { margin-top: 55px; }
  .contact-lead { padding: 118px 0 58px; }
  .contact-lead-grid { min-height: 0; }
  .contact-lead-photo { min-height: 370px; }
  .contact-lead-photo img { height: 370px; }
  .contact-lead-copy { padding: 38px 24px; }
  .contact-lead-copy h1 { font-size: clamp(48px, 14vw, 66px); }
  .contact-form-section { padding-top: 90px; }
  .contact-conversation-form { margin-top: 34px; padding: 24px 18px; }
  .contact-form-fields { grid-template-columns: 1fr; }
  .form-submit-row { grid-template-columns: 1fr; align-items: start; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid nav { width: 100%; }
  .footer-grid > p { text-align: center; }
  .legal-page { padding: 130px 0 90px; }
  .legal-shell { width: min(100% - 40px, 760px); }
  .legal-updated { margin-bottom: 46px; }
  .legal-intro { margin-bottom: 46px; }
  .inner-hero { padding: 128px 0 90px; }
  .inner-hero-grid { gap: 50px; }
  .inner-hero h1 { font-size: clamp(50px, 14vw, 70px); }
  .inner-hero-media { min-height: 430px; }
  .inner-hero-media img { height: 430px; }
  .inner-first-section { padding-top: 128px; }
  .dinners-section.is-summary, .dinners-section.is-summary .dinners-image { min-height: 500px; }
  .destination-hero { padding: 128px 0 90px; }
  .destination-hero-grid { gap: 52px; }
  .destination-hero h1 { font-size: clamp(52px, 15vw, 72px); }
  .destination-footprint span { min-height: 100px; padding: 16px; font-size: 20px; }
  .destination-method, .destination-work, .destination-cta { padding: 95px 0; }
  .destination-method-heading, .destination-work-grid { gap: 42px; }
  .destination-capabilities { grid-template-columns: 1fr; margin-top: 52px; }
  .destination-capability { min-height: 220px; }
  .destination-capability h3 { margin-top: 48px; }
  .experience-tracks, .experience-team, .team-roles, .team-profiles { padding: 95px 0; }
  .experience-tracks { padding-bottom: 52px; }
  .destination-method { padding-top: 52px; }
  .experience-tracks-heading, .experience-team-grid, .team-roles-heading, .team-profiles-grid { gap: 36px; }
  .experience-track-grid { margin-top: 52px; }
  .experience-track-client, .experience-track-copy { padding: 28px 24px; }
  .experience-track-dinners { min-height: 620px; }
  .experience-dinners-image { min-height: 520px; }
  .experience-dinners-panel { padding: 80px 24px; }
  .experience-team-roles { margin-top: 52px; }
  .keynotes-visual { height: 380px; margin-top: 52px; }
  .keynotes-visual figcaption { right: 20px; bottom: 20px; left: 20px; align-items: flex-start; flex-direction: column; }
  .map-location { padding: 5px 7px; font-size: 9px; }
  .map-location::before { width: 6px; height: 6px; }
  .team-hero { padding: 118px 0 60px; }
  .team-hero-image { min-height: 420px; }
  .team-hero-copy { padding: 40px 24px; }
  .team-hero-copy h1 { font-size: clamp(50px, 14vw, 70px); }
  .team-role-grid { margin-top: 52px; }
  .team-role { min-height: 260px; padding: 24px; }
  .team-role h3 { margin-top: 65px; }
  .team-role-grid.experience-team-roles { grid-template-columns: 1fr; }
  .experience-team .team-role h3 { min-height: 0; margin-top: 48px; }
  .experience-team .team-role p { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .marquee div, .scroll-cue span { animation: none !important; }
  .hero-image { transform: none !important; will-change: auto; }
}

html:not(.js) .reveal { opacity: 1; transform: none; }
.hero .reveal { transition-duration: .45s; transition-delay: 0s; }
@media (max-width: 680px) {
  .section-journey:not(.is-past-hero) { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(12px); }
}
.contact-form .form-optin { grid-column: 1 / -1; flex-direction: row; align-items: flex-start; gap: 12px; }
.contact-form .form-optin input { width: 22px; height: 22px; min-height: 0; margin: 2px 0 0; padding: 0; flex: 0 0 auto; accent-color: var(--forest); }
.contact-form .form-optin > span { color: var(--ink); font-size: 15px; font-weight: 400; line-height: 1.5; }
.yt-facade { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; overflow: hidden; border: 0; background: var(--forest-2); cursor: pointer; }
.yt-facade img { width: 100%; height: 100%; object-fit: cover; opacity: .85; transition: opacity .3s; }
.yt-facade:hover img, .yt-facade:focus-visible img { opacity: 1; }
.yt-play { position: absolute; top: 50%; left: 50%; width: 76px; height: 76px; border-radius: 50%; background: rgba(11,41,44,.86); border: 1px solid var(--teal-soft); transform: translate(-50%, -50%); }
.yt-play::after { content: ""; position: absolute; top: 50%; left: 54%; border-style: solid; border-width: 12px 0 12px 20px; border-color: transparent transparent transparent var(--white); transform: translate(-50%, -50%); }
.yt-facade:focus-visible { outline: 3px solid var(--teal-soft); outline-offset: -5px; }
.dinner-dates-empty { margin: 18px 0 0; }
.dinner-dates-empty a { border-bottom: 1px solid currentColor; }

/* November 2026 frame: stage, chair and table */
.site-nav [aria-current="page"]:not(.nav-cta)::after { transform: scaleX(1); }
.frame-hero h1 { max-width: 980px; font-size: clamp(52px, 6.2vw, 92px); line-height: .96; }
.frame-hero .hero-content { padding-bottom: 50px; }
.frame-hero .hero-subline { font-family: var(--serif); font-size: clamp(22px, 2.2vw, 32px); }
.homepage-frame-pathways { padding: 72px 0 76px; }
.homepage-frame-pathways .kicker { margin: 0 0 22px; color: var(--teal-text); }
.homepage-frame-pathways .hero-paths a { min-height: 230px; grid-template-rows: auto auto 1fr; }
.homepage-frame-pathways .hero-paths strong { min-height: 0; font-size: 34px; }
.homepage-frame-pathways .hero-path-detail { max-width: 290px; margin-top: 12px; font-size: 15px; font-weight: 500; line-height: 1.55; letter-spacing: 0; text-transform: none; }

.why-section { padding: 140px 0; background: var(--paper); }
.why-heading, .chapter-day-heading, .host-night-heading, .coach-formats-heading, .about-story-grid, .profile-section-grid { display: grid; grid-template-columns: 1.05fr .75fr; gap: 90px; align-items: end; }
.why-intro, .chapter-day-intro, .host-night-intro, .coach-formats-intro { margin: 0; color: #465655; font-family: var(--serif); font-size: clamp(20px, 2vw, 27px); line-height: 1.55; }
.why-grid, .day-schedule, .coach-outcome-grid, .format-grid, .host-night-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 72px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.why-card, .day-stop, .coach-outcome, .format-card, .host-night-card { min-height: 330px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.why-card small, .coach-outcome small, .host-night-card small { color: var(--teal-text); font-size: 13px; font-weight: 700; }
.why-card h3, .day-stop h3, .coach-outcome h3, .format-card h3, .host-night-card h3 { margin: 88px 0 18px; font-family: var(--serif); font-size: 32px; font-weight: 400; line-height: 1.08; }
.why-card p, .day-stop p, .coach-outcome p, .format-card p, .host-night-card p { margin: 0; color: #4c5a57; font-size: 16px; line-height: 1.7; }

.chapter-day { padding: 140px 0; color: var(--white); background: var(--forest); }
.chapter-day .kicker { color: var(--teal-soft); }
.chapter-day-intro { color: rgba(255,255,255,.78); }
.day-schedule { border-color: rgba(255,255,255,.22); }
.day-stop { border-color: rgba(255,255,255,.22); }
.day-stop time { color: var(--teal-soft); font-size: 14px; font-weight: 700; letter-spacing: .08em; }
.day-stop h3 { color: var(--white); }
.day-stop p { color: rgba(255,255,255,.76); }

.frame-close { padding: 125px 0; color: var(--white); background: var(--forest-2); }
.frame-close-grid { display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: end; }
.frame-close .kicker { color: var(--teal-soft); }
.frame-close .display { margin-bottom: 0; font-size: clamp(48px, 5.8vw, 82px); }

.speak-page .speaking-heading { margin-bottom: 0; }
.speak-topic-grid .speaking-topic { min-height: 620px; }
.topic-details { margin: auto 0 0; padding-top: 26px; border-top: 1px solid var(--line); }
.topic-details div { display: grid; grid-template-columns: 65px 1fr; gap: 14px; padding: 9px 0; }
.topic-details dt { color: var(--teal-text); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.topic-details dd { margin: 0; color: #4c5a57; font-size: 14px; line-height: 1.55; }
.speaking-topic:hover .topic-details, .speaking-topic:focus-within .topic-details { border-color: rgba(255,255,255,.22); }
.speaking-topic:hover .topic-details dt, .speaking-topic:focus-within .topic-details dt { color: var(--teal-soft); }
.speaking-topic:hover .topic-details dd, .speaking-topic:focus-within .topic-details dd { color: rgba(255,255,255,.78); }
.compact-media-grid { grid-template-columns: 1.15fr .85fr; grid-auto-rows: minmax(500px, auto); }
.compact-media-grid .media-video { grid-column: auto; grid-row: auto; }
.compact-media-grid figure { margin: 0; }

.coach-outcomes { padding: 140px 0; background: var(--paper); }
.coach-section-heading { max-width: 820px; }
.coach-formats { padding: 140px 0; color: var(--white); background: var(--forest); }
.coach-formats .kicker { color: var(--teal-soft); }
.coach-formats-intro { color: rgba(255,255,255,.78); }
.format-grid { border-color: rgba(255,255,255,.22); }
.format-card { border-color: rgba(255,255,255,.22); }
.format-card span { color: var(--teal-soft); font-size: 13px; font-weight: 700; }
.format-card h3 { color: var(--white); }
.format-card p { color: rgba(255,255,255,.76); }

.host-hero { position: relative; min-height: 88svh; display: flex; align-items: center; color: var(--white); background: var(--forest); overflow: hidden; isolation: isolate; }
.host-hero-image { position: absolute; z-index: -2; inset: 0; }
.host-hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,39,42,.98) 0%, rgba(8,39,42,.84) 52%, rgba(8,39,42,.3) 100%); }
.host-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.host-hero-content { padding-top: 150px; padding-bottom: 90px; }
.host-hero h1 { max-width: 850px; margin: 18px 0 28px; font-family: var(--serif); font-size: clamp(62px, 8vw, 112px); font-weight: 300; line-height: .95; letter-spacing: -.04em; }
.host-hero-copy { max-width: 650px; margin: 0 0 28px; font-family: var(--serif); font-size: clamp(21px, 2.2vw, 29px); line-height: 1.5; }
.host-night { padding: 140px 0; background: var(--paper); }
.host-night-grid { margin-top: 72px; }
.destination-cta .text-link { margin-top: 28px; }

.about-hero { padding: 150px 0 105px; background: var(--paper); }
.about-hero-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 86px; align-items: center; }
.about-hero-photo { min-height: 610px; overflow: hidden; background: var(--forest); }
.about-hero-photo img { width: 100%; height: 610px; object-fit: cover; }
.about-hero-copy h1 { margin: 18px 0 30px; font-family: var(--serif); font-size: clamp(56px, 6.4vw, 90px); font-weight: 300; line-height: .96; letter-spacing: -.04em; }
.about-lead { max-width: 730px; margin: 0; color: #465655; font-family: var(--serif); font-size: clamp(21px, 2vw, 28px); line-height: 1.55; }
.about-hero .hero-reach { color: var(--forest); }
.about-story { padding: 140px 0; color: var(--white); background: var(--forest); }
.about-story .kicker { color: var(--teal-soft); }
.about-story-copy p { margin: 0 0 22px; color: rgba(255,255,255,.82); font-size: 18px; line-height: 1.75; }
.profile-section { padding: 140px 0; background: var(--paper); }
.profile-section .profile-downloads { margin: 0; }
.profile-section .profile-downloads > div { grid-template-columns: 1fr; }
.about-links { display: flex; align-items: center; gap: 34px; margin-top: 54px; }

.contact-form label > span small { margin-left: 5px; color: #5a6764; font-size: 12px; font-weight: 500; }
.contact-form input[type="number"] { appearance: textfield; }

.footer-grid-frame { grid-template-columns: .85fr .55fr 1.25fr; gap: 56px; align-items: start; }
.footer-grid-frame > div:first-child { align-items: flex-start; text-align: left; }
.footer-grid-frame .footer-brand img { margin-inline: 0; }
.footer-grid-frame nav { grid-template-columns: 1fr; }
.footer-grid-frame .footer-link-group { gap: 10px; }
.footer-newsletter { min-width: 0; }
.footer-newsletter .footer-newsletter-title { margin: 0; color: var(--white); font-size: 15px; font-weight: 700; }
.footer-newsletter > p:not(.footer-newsletter-title) { margin: 5px 0 16px; text-transform: none; letter-spacing: 0; }
.newsletter-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0; }
.newsletter-form input { width: 100%; min-height: 50px; padding: 12px 14px; color: var(--forest); background: var(--paper); border: 1px solid rgba(255,255,255,.45); border-radius: 0; font: inherit; }
.newsletter-form button { min-height: 50px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; color: var(--white); background: transparent; border: 1px solid rgba(255,255,255,.45); cursor: pointer; }
.newsletter-form button:hover, .newsletter-form button:focus-visible { color: var(--forest); background: var(--teal-soft); }
.newsletter-form button:disabled { opacity: .65; cursor: wait; }
.newsletter-status { grid-column: 1 / -1; min-height: 22px; margin: 8px 0 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
.footer-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-top: 18px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.18); }
.footer-bottom > p { margin: 0; }
.footer-bottom > div { display: flex; gap: 22px; font-size: 13px; }

@media (min-width: 981px) {
  .frame-hero .hero-primary-cta { margin-top: 38px; }
}

@media (min-width: 981px) and (max-height: 820px) {
  .section-journey.is-opening { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(12px); }
}

@media (min-width: 900px) and (max-width: 1180px) and (orientation: landscape) {
  .frame-hero, .frame-hero .hero-content { min-height: 100svh; }
  .frame-hero .hero-content { padding-top: 112px; padding-bottom: 52px; justify-content: center; }
  .frame-hero .hero-image { inset: 0; background-position: center center; transform: none; }
  .frame-hero .hero-wash { background: linear-gradient(90deg, rgba(8,39,42,1) 0%, rgba(8,39,42,.96) 38%, rgba(8,39,42,.66) 54%, rgba(8,39,42,.16) 78%, rgba(8,39,42,.24) 100%), linear-gradient(0deg, rgba(8,39,42,.38), transparent 58%); }
  .frame-hero h1 { max-width: 630px; font-size: clamp(52px, 5.8vw, 64px); line-height: .98; }
}

@media (max-width: 980px) {
  .why-heading, .chapter-day-heading, .host-night-heading, .coach-formats-heading, .about-story-grid, .profile-section-grid { grid-template-columns: 1fr; gap: 34px; }
  .about-hero-grid { grid-template-columns: 1fr; }
  .footer-grid-frame { grid-template-columns: .8fr 1.2fr; }
  .footer-grid-frame .footer-newsletter { grid-column: 1 / -1; width: min(100%, 620px); margin-inline: auto; }
}

@media (max-width: 680px) {
  .frame-hero h1 { font-size: clamp(44px, 12vw, 62px); line-height: 1; }
  .frame-hero .hero-content { padding-bottom: 72px; }
  .homepage-frame-pathways { padding: 68px 0 62px; }
  .homepage-frame-pathways .hero-paths a { min-height: 142px; grid-template-columns: 38px 1fr auto; grid-template-rows: auto 1fr; }
  .homepage-frame-pathways .hero-paths strong { font-size: 24px; }
  .homepage-frame-pathways .hero-path-detail { margin-top: 4px; font-size: 13px; line-height: 1.45; }
  .why-section, .chapter-day, .coach-outcomes, .coach-formats, .host-night, .about-story, .profile-section { padding: 95px 0; }
  .why-grid, .day-schedule, .coach-outcome-grid, .format-grid, .host-night-grid { grid-template-columns: 1fr; margin-top: 52px; }
  .why-card, .day-stop, .coach-outcome, .format-card, .host-night-card { min-height: 250px; }
  .why-card h3, .day-stop h3, .coach-outcome h3, .format-card h3, .host-night-card h3 { margin-top: 52px; }
  .frame-close { padding: 95px 0; }
  .frame-close-grid { grid-template-columns: 1fr; gap: 42px; align-items: start; }
  .frame-close .button { width: 100%; }
  .speak-topic-grid .speaking-topic { min-height: 590px; }
  .compact-media-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .host-hero { min-height: 760px; }
  .host-hero-content { padding-top: 130px; }
  .host-hero h1 { font-size: clamp(55px, 15vw, 76px); }
  .about-hero { padding: 120px 0 80px; }
  .about-hero-grid { gap: 48px; }
  .about-hero-photo, .about-hero-photo img { min-height: 430px; height: 430px; }
  .about-hero-copy h1 { font-size: clamp(48px, 13vw, 68px); }
  .about-links { align-items: stretch; flex-direction: column; }
  .footer-grid-frame { grid-template-columns: 1fr; }
  .footer-grid-frame > div:first-child { align-items: center; text-align: center; }
  .footer-grid-frame .footer-brand img { margin-inline: auto; }
  .footer-grid-frame nav { width: 100%; }
  .footer-grid-frame .footer-link-group { align-items: center; }
  .newsletter-form { grid-template-columns: 1fr; }
  .newsletter-form button { justify-content: center; }
  .footer-bottom { align-items: center; flex-direction: column; text-align: center; }
}
