@import url("https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@125,400;125,500;125,600;125,700&family=Instrument+Sans:wght@400;500;600&family=Martian+Mono:wght@400;500&display=swap");

:root{
  --font-display:"Archivo Expanded","Archivo",ui-sans-serif,system-ui,sans-serif;
  --font-sans:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"Martian Mono",ui-monospace,"SFMono-Regular","Cascadia Mono",monospace;
  --font-display-stretch:125%;
}

:root{
  --color-green-50:#F0F7F3;--color-green-100:#DBEDE3;--color-green-200:#B8DBC9;--color-green-300:#8AC2A8;
  --color-green-400:#56A283;--color-green-500:#2F8462;--color-green-600:#1E6A4E;--color-green-700:#1A5440;
  --color-green-800:#174334;--color-green-900:#14372C;--color-green-950:#0A1F18;

  --color-blue-50:#EFF6FB;--color-blue-100:#D8EAF5;--color-blue-200:#AED4EA;--color-blue-300:#79B6D9;
  --color-blue-400:#468FBE;--color-blue-500:#2A73A2;--color-blue-600:#1F5F86;--color-blue-700:#1B4C6B;
  --color-blue-800:#173C55;--color-blue-900:#143244;--color-blue-950:#0A1C27;

  --color-stone-0:#FFFFFF;--color-stone-50:#F7F8F7;--color-stone-100:#EDEFEE;--color-stone-200:#DDE0DE;
  --color-stone-300:#C2C7C4;--color-stone-400:#9BA3A0;--color-stone-500:#78817E;--color-stone-600:#5C6461;
  --color-stone-700:#474D4B;--color-stone-800:#2F3433;--color-stone-900:#1C201F;--color-stone-950:#101312;

  --color-moss-50:#F1F8EF;--color-moss-100:#DEEFDA;--color-moss-200:#BCDFB4;--color-moss-300:#8FC885;
  --color-moss-400:#5CA84F;--color-moss-500:#3D8E33;--color-moss-600:#2F7A2E;--color-moss-700:#276023;
  --color-moss-800:#204C1D;--color-moss-900:#1B3E19;--color-moss-950:#0C1F0B;

  --color-amber-50:#FEF8EC;--color-amber-100:#FAEBC9;--color-amber-200:#F4D68F;--color-amber-300:#EBBB4F;
  --color-amber-400:#DFA023;--color-amber-500:#C4841A;--color-amber-600:#9E6614;--color-amber-700:#7A4E14;
  --color-amber-800:#5C3B14;--color-amber-900:#472F13;--color-amber-950:#26180A;

  --color-rust-50:#FDF3F2;--color-rust-100:#FBE3E1;--color-rust-200:#F6C6C2;--color-rust-300:#EE9A93;
  --color-rust-400:#E26A61;--color-rust-500:#D0453B;--color-rust-600:#B03027;--color-rust-700:#8E2620;
  --color-rust-800:#6E201B;--color-rust-900:#571C19;--color-rust-950:#2E0E0C;
}

:root,[data-theme="light"]{
  color-scheme:light;
  --color-bg-canvas:#FFFFFF;--color-bg-surface:#F7F8F7;--color-bg-surface-raised:#FFFFFF;
  --color-bg-surface-sunken:#EDEFEE;--color-bg-inverse:#1C201F;
  --color-bg-scrim:rgb(16 19 18 / 0.60);--color-bg-hover:rgb(16 19 18 / 0.05);--color-bg-active:rgb(16 19 18 / 0.09);

  --color-text-primary:#1C201F;--color-text-secondary:#5C6461;--color-text-muted:#78817E;
  --color-text-disabled:#9BA3A0;--color-text-placeholder:#78817E;--color-text-link:#1E6A4E;
  --color-text-on-primary:#FFFFFF;--color-text-inverse:#F7F8F7;

  --color-border:#DDE0DE;--color-border-subtle:#EDEFEE;--color-border-strong:#C2C7C4;
  --color-border-focus:#1E6A4E;--color-border-inverse:#474D4B;

  --color-primary:#1E6A4E;--color-primary-hover:#1A5440;--color-primary-active:#174334;
  --color-primary-subtle:#F0F7F3;--color-primary-subtle-hover:#DBEDE3;--color-primary-on:#FFFFFF;

  --color-secondary:#1F5F86;--color-secondary-hover:#1B4C6B;--color-secondary-active:#173C55;
  --color-secondary-subtle:#EFF6FB;--color-secondary-on:#FFFFFF;

  --color-success:#2F7A2E;--color-success-bg:#F1F8EF;--color-success-border:#BCDFB4;
  --color-warning:#7A4E14;--color-warning-bg:#FEF8EC;--color-warning-border:#F4D68F;
  --color-error:#B03027;--color-error-bg:#FDF3F2;--color-error-border:#F6C6C2;--color-error-on:#FFFFFF;
  --color-info:#1F5F86;--color-info-bg:#EFF6FB;--color-info-border:#AED4EA;
}

[data-theme="dark"]{
  color-scheme:dark;
  --color-bg-canvas:#101312;--color-bg-surface:#1C201F;--color-bg-surface-raised:#2F3433;
  --color-bg-surface-sunken:#0A0C0B;--color-bg-inverse:#F7F8F7;
  --color-bg-scrim:rgb(0 0 0 / 0.72);--color-bg-hover:rgb(255 255 255 / 0.07);--color-bg-active:rgb(255 255 255 / 0.12);

  --color-text-primary:#F7F8F7;--color-text-secondary:#C2C7C4;--color-text-muted:#9BA3A0;
  --color-text-disabled:#78817E;--color-text-placeholder:#9BA3A0;--color-text-link:#8AC2A8;
  --color-text-on-primary:#0A1F18;--color-text-inverse:#1C201F;

  --color-border:#2F3433;--color-border-subtle:#242827;--color-border-strong:#474D4B;
  --color-border-focus:#8AC2A8;--color-border-inverse:#DDE0DE;

  --color-primary:#56A283;--color-primary-hover:#8AC2A8;--color-primary-active:#B8DBC9;
  --color-primary-subtle:#14372C;--color-primary-subtle-hover:#174334;--color-primary-on:#0A1F18;

  --color-secondary:#79B6D9;--color-secondary-hover:#AED4EA;--color-secondary-active:#D8EAF5;
  --color-secondary-subtle:#143244;--color-secondary-on:#0A1C27;

  --color-success:#8FC885;--color-success-bg:#1B3E19;--color-success-border:#276023;
  --color-warning:#EBBB4F;--color-warning-bg:#472F13;--color-warning-border:#7A4E14;
  --color-error:#EE9A93;--color-error-bg:#571C19;--color-error-border:#8E2620;--color-error-on:#2E0E0C;
  --color-info:#79B6D9;--color-info-bg:#143244;--color-info-border:#1B4C6B;

  --shadow-md:0 8px 16px -4px rgb(0 0 0 / 0.48),inset 0 1px 0 0 rgb(255 255 255 / 0.04);
  --shadow-lg:0 16px 32px -8px rgb(0 0 0 / 0.60),inset 0 1px 0 0 rgb(255 255 255 / 0.05);
  --opacity-scrim:0.72;
}

@media (prefers-contrast:more){
  :root{--color-border:var(--color-stone-500);--color-border-strong:var(--color-stone-700);--color-text-secondary:var(--color-stone-700);}
}

:root{
  --spacing-0:0;--spacing-px:1px;--spacing-0-5:0.125rem;--spacing-1:0.25rem;--spacing-1-5:0.375rem;
  --spacing-2:0.5rem;--spacing-2-5:0.625rem;--spacing-3:0.75rem;--spacing-3-5:0.875rem;--spacing-4:1rem;
  --spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;
  --spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-32:8rem;--spacing-40:10rem;--spacing-48:12rem;

  --size-control-xs:28px; --size-control-sm:36px;--size-control-md:44px;--size-control-lg:52px;

  --section-padding-block:var(--spacing-16);
}
@media (min-width:768px){:root{--section-padding-block:var(--spacing-20);}}
@media (min-width:1024px){:root{--section-padding-block:var(--spacing-24);}}
@media (min-width:1440px){:root{--section-padding-block:var(--spacing-32);}}

:root{
  --font-weight-regular:400;
  --font-weight-medium:500;
  --font-weight-semibold:600;
  --font-weight-bold:700;

  --text-2xs:0.6875rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;
  --text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.375rem;--text-5xl:3rem;
  --text-6xl:3.75rem;--text-7xl:4.75rem;

  --heading-1:clamp(3rem,2.1rem + 4.0vw,4.75rem);
  --heading-2:clamp(2.375rem,1.9rem + 2.1vw,3rem);
  --heading-3:clamp(1.875rem,1.65rem + 1.0vw,2.375rem);
  --heading-4:1.5rem;
  --heading-5:1.25rem;
  --heading-6:1rem;

  --leading-none:1;
  --leading-tight:1.15;
  --leading-snug:1.35;
  --leading-normal:1.5;
  --leading-relaxed:1.6;
  --leading-loose:1.75;

  --measure-narrow:48ch;
  --measure-base:68ch;
  --measure-wide:84ch;

  --tracking-tighter:-0.03em;
  --tracking-tight:-0.02em;
  --tracking-snug:-0.01em;
  --tracking-normal:0;
  --tracking-wide:0.02em;
  --tracking-wider:0.06em;
  --tracking-widest:0.10em;
}

:root{
  --radius-none:0;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;
  --radius-xl:16px;--radius-2xl:24px;--radius-3xl:32px;--radius-full:9999px;

  --border-width-hairline:1px; --border-width-thick:2px; --border-width-heavy:3px;

  --shadow-none:none;
  --shadow-xs:0 1px 2px 0 rgb(16 19 18 / 0.05);
  --shadow-sm:0 2px 4px -1px rgb(16 19 18 / 0.06),0 1px 2px -1px rgb(16 19 18 / 0.04);
  --shadow-md:0 8px 16px -4px rgb(16 19 18 / 0.10),0 2px 4px -2px rgb(16 19 18 / 0.06);
  --shadow-lg:0 16px 32px -8px rgb(16 19 18 / 0.14),0 4px 8px -4px rgb(16 19 18 / 0.08);
  --shadow-xl:0 32px 64px -16px rgb(16 19 18 / 0.20);
  --shadow-focus:0 0 0 2px var(--color-bg-canvas),0 0 0 4px var(--color-border-focus);

  --opacity-disabled:0.45; --opacity-muted:0.65; --opacity-scrim:0.60;
  --opacity-hover-overlay:0.08;
  --opacity-active-overlay:0.14;
}

:root{
  --duration-instant:50ms;
  --duration-fast:120ms;
  --duration-base:200ms;
  --duration-slow:320ms;
  --duration-slower:480ms;
  --ease-linear:linear;
  --ease-out:cubic-bezier(0.16,1,0.3,1);
  --ease-in:cubic-bezier(0.7,0,0.84,0);
  --ease-in-out:cubic-bezier(0.65,0,0.35,1);
  --ease-spring:cubic-bezier(0.34,1.56,0.64,1);
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}
}

:root{
  --bp-sm:640px;
  --bp-md:768px;
  --bp-lg:1024px;
  --bp-xl:1280px;
  --bp-2xl:1440px;

  --z-below:-1;
  --z-base:0;
  --z-raised:10;
  --z-docked:100;
  --z-sticky:1000;
  --z-dropdown:1100;
  --z-overlay:1200;
  --z-modal:1300;
  --z-popover:1400;
  --z-toast:1500;
  --z-tooltip:1600;
  --z-max:9999;

  --container-gutter:var(--spacing-5);--container-max:100%;
  --grid-cols:4;
  --grid-gap:var(--spacing-6);
}
@media (min-width:768px){:root{--container-gutter:var(--spacing-8);--container-max:720px;--grid-cols:8; --grid-gap:var(--spacing-8);}}
@media (min-width:1024px){:root{--container-gutter:var(--spacing-8);--container-max:976px;--grid-cols:12; }}
@media (min-width:1280px){:root{--container-gutter:var(--spacing-12);--container-max:1200px;}}
@media (min-width:1440px){:root{--container-gutter:var(--spacing-12);--container-max:1360px;}}

@layer reset,tokens,base,components,utilities,overrides;
@layer reset{
  *,*::before,*::after{box-sizing:border-box}
  *{margin:0}
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{min-block-size:100dvh;-webkit-font-smoothing:antialiased}
  img,picture,video,canvas,svg{display:block;max-inline-size:100%;block-size:auto}
  input,button,textarea,select{font:inherit;color:inherit}
  p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}
  ul[role="list"],ol[role="list"]{list-style:none;padding:0}
  :target{scroll-margin-block-start:var(--spacing-24)}
}

@layer base{
  html{scroll-behavior:smooth}
  body{background-color:var(--color-bg-canvas);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-relaxed);font-synthesis:none;font-optical-sizing:auto;text-rendering:optimizeLegibility}
  ::selection{background:var(--color-primary-subtle);color:var(--color-text-primary)}
  a{color:var(--color-text-link);text-underline-offset:2px}
  a:hover{color:var(--color-primary-hover)}
  h1,h2,h3{font-family:var(--font-display);font-stretch:var(--font-display-stretch);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}
  h4,h5,h6{font-family:var(--font-sans);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug);text-wrap:balance}
  h1{font-size:var(--heading-1);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tighter);line-height:var(--leading-none)}
  h2{font-size:var(--heading-2)}h3{font-size:var(--heading-3)}
  h4{font-size:var(--heading-4)}h5{font-size:var(--heading-5)}h6{font-size:var(--heading-6)}
  p{text-wrap:pretty}
  p + p{margin-block-start:1em}

  :focus{outline:none}
  :focus-visible{outline:var(--border-width-thick) solid var(--color-border-focus);outline-offset:var(--spacing-0-5);border-radius:inherit}
  .on-inverse :focus-visible,[data-theme="dark"] .u-ring-boxed:focus-visible{outline-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}
}
@layer base{
  .t-eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-text-secondary);line-height:1.45}
  .t-display{font-family:var(--font-display);font-stretch:var(--font-display-stretch);font-size:var(--heading-1);font-weight:var(--font-weight-bold);line-height:var(--leading-none);letter-spacing:var(--tracking-tighter);text-wrap:balance}
  .t-lead{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-text-secondary);max-inline-size:var(--measure-narrow);text-wrap:pretty}
  .t-body{font-size:var(--text-base);line-height:var(--leading-relaxed)}
  .t-label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--leading-normal)}
  .t-caption{font-size:var(--text-xs);color:var(--color-text-muted)}
  .t-mono{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wider);text-transform:uppercase}
}

@layer utilities{
  .container{inline-size:100%;margin-inline:auto;padding-inline:var(--container-gutter);max-inline-size:var(--container-max)}
  .container--narrow{max-inline-size:768px}
  .container--wide{max-inline-size:1600px}
  .container--full{max-inline-size:none}
  .u-bleed{inline-size:100vw;margin-inline:calc(50% - 50vw);max-inline-size:100vw}

  .grid{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(var(--grid-cols),minmax(0,1fr))}
  .grid--auto{display:grid;gap:var(--spacing-6);grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr))}

  .stack{display:flex;flex-direction:column;gap:var(--stack-gap,var(--spacing-4))}
  .cluster{display:flex;flex-wrap:wrap;gap:var(--spacing-3);align-items:center}
  .split{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-4)}
  .center{margin-inline:auto;max-inline-size:var(--measure-base)}
  .section{padding-block:var(--section-padding-block)}
  .aspect-media{aspect-ratio:16/9;object-fit:cover;inline-size:100%}
  .aspect-portrait{aspect-ratio:4/5;object-fit:cover;inline-size:100%}

  .u-visually-hidden:not(:focus):not(:active){clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}
  .u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .u-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .u-no-scroll{overflow:hidden;padding-inline-end:var(--scrollbar-width,0)}
  .u-target{min-block-size:44px;min-inline-size:44px}

  .skip-link{position:absolute;inset-block-start:var(--spacing-2);inset-inline-start:var(--spacing-2);z-index:var(--z-max);transform:translateY(-200%);transition:transform var(--duration-fast) var(--ease-out);padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-surface-raised);border:var(--border-width-hairline) solid var(--color-border-strong);border-radius:var(--radius-md)}
  .skip-link:focus-visible{transform:translateY(0)}
}
@media print{
  :root{--color-bg-canvas:#fff;--color-text-primary:#000}
  .site-header,.site-footer,.btn,[data-print="hide"]{display:none !important}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:10pt}
}

@keyframes tl-spin{to{transform:rotate(360deg)}}
@keyframes tl-fade{from{opacity:0}to{opacity:1}}
@keyframes tl-pop{from{opacity:0;transform:translateY(8px) scale(0.98)}to{opacity:1;transform:none}}
@keyframes tl-slide{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}

@media (min-width:768px){:root{--container-max:960px}}
@media (min-width:1024px){:root{--container-max:1200px}}
@media (min-width:1280px){:root{--container-max:1360px}}
@media (min-width:1440px){:root{--container-max:1480px}}
body{margin:0;background:var(--color-bg-canvas);color:var(--color-text-primary);font-family:var(--font-sans)}
html{-webkit-text-size-adjust:100%}
img{display:block;max-inline-size:100%}
a{text-decoration-thickness:1px}

.site-header{position:sticky;inset-block-start:0;z-index:1000;background:var(--color-bg-canvas);border-block-end:1px solid var(--color-border);transition:box-shadow 200ms var(--ease-out,ease)}
.site-header.is-scrolled{box-shadow:var(--shadow-xs)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);block-size:64px;transition:block-size 180ms var(--ease-out,ease)}
.site-header.is-scrolled .site-header__inner{block-size:56px}
.wordmark{font-family:var(--font-display);font-stretch:125%;font-weight:700;font-size:1.125rem;letter-spacing:-0.02em;color:var(--color-text-primary);text-decoration:none}
.nav{display:none}
.nav a{font-size:0.875rem;font-weight:500;text-decoration:none;color:var(--color-text-secondary);padding-block:0.25rem;border-block-end:1px solid transparent}
.nav a:hover{color:var(--color-text-primary)}
.nav a[aria-current="page"]{color:var(--color-text-primary);border-block-end-color:var(--color-primary)}
.nav-toggle{display:inline-flex;align-items:center;gap:0.5rem;min-block-size:44px;padding-inline:0.5rem;background:none;border:0;font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-text-secondary);cursor:pointer}
.nav-toggle__bars{display:grid;gap:4px}
.nav-toggle__bars i{display:block;inline-size:18px;block-size:1px;background:currentColor;transition:transform 160ms var(--ease-out,ease),opacity 120ms linear}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars i:first-child{transform:translateY(2.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars i:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars i:last-child{transform:translateY(-2.5px) rotate(-45deg)}
.mobile-nav{display:grid;overflow:hidden;max-block-size:0;border-block-start:1px solid transparent;transition:max-block-size 300ms var(--ease-out,cubic-bezier(.2,.8,.3,1))}
.mobile-nav.is-open{max-block-size:24rem;border-block-start-color:var(--color-border)}
.mobile-nav a{padding-block:0.9rem;font-size:1rem;text-decoration:none;color:var(--color-text-primary);border-block-end:1px solid var(--color-border-subtle)}
.mobile-nav a:last-child{border-block-end:0}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;min-block-size:44px;padding:0 1.25rem;border-radius:var(--radius-lg);font-size:0.9375rem;font-weight:500;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background-color 120ms linear,color 120ms linear,border-color 120ms linear,transform 50ms linear}
.btn:active{transform:scale(0.985)}
.btn--primary{background:var(--color-primary);color:var(--color-primary-on)}
.btn--primary:hover{background:var(--color-primary-hover);color:var(--color-primary-on)}
.btn--secondary{background:var(--color-bg-canvas);color:var(--color-text-primary);border-color:var(--color-border-strong)}
.btn--secondary:hover{border-color:var(--color-text-muted);color:var(--color-text-primary)}
.btn--ghost{background:none;color:var(--color-text-primary)}
.btn--ghost:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}
.btn--sm{min-block-size:36px;font-size:0.875rem;padding:0 0.875rem}
.btn--lg{min-block-size:52px;font-size:1rem;padding:0 1.75rem}
.header-cta{display:none}

.trail-marker{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-text-primary);text-decoration:none}
.trail-marker em{font-style:normal;transition:transform 200ms var(--ease-spring,cubic-bezier(.34,1.56,.64,1))}
.trail-marker:hover,.trail-marker:focus-visible{color:var(--color-primary)}
.trail-marker:hover em,.trail-marker:focus-visible em{transform:translate(2px,-2px)}

.hero{position:relative;padding-block-end:6rem}
.hero__media{block-size:clamp(340px,72vh,700px);overflow:hidden;background:var(--color-bg-surface-sunken)}
.hero__media img{inline-size:100%;block-size:100%;object-fit:cover;transform:scale(1.06);animation:hero-settle 1600ms var(--ease-out,cubic-bezier(.2,.8,.3,1)) forwards}
@keyframes hero-settle{to{transform:scale(1)}}
.hero__panel{position:relative;background:var(--color-bg-canvas);padding:2rem 1.5rem;border-radius:var(--radius-2xl);margin-block-start:-3rem;max-inline-size:1040px;box-shadow:var(--shadow-md)}
.hero__panel h1{margin:0.75rem 0 0;font-size:clamp(2rem,6.8vw,3.75rem);line-height:1.05}
.hero__panel .t-lead{margin-block-start:1.25rem;max-inline-size:60ch}
.hero__panel p + p{color:var(--color-text-secondary);max-inline-size:66ch;font-size:1rem}
.hero__actions{margin-block-start:1.75rem;gap:0.75rem}

.section{padding-block:var(--section-padding-block)}
.section--surface{background:var(--color-bg-surface);border-block:1px solid var(--color-border)}

.hero__panel h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-block-end:0.14em;margin-block-end:-0.14em}
.hero__panel h1 .w > span{display:inline-block;animation:word-rise 620ms var(--ease-out,cubic-bezier(.16,.84,.28,1)) both}
@keyframes word-rise{from{transform:translateY(105%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.hero__panel h1 .w > span{animation:none}}
.section-head{display:grid;gap:1rem;margin-block-end:2.25rem}
.section-head h2{margin:0.4rem 0 0;max-inline-size:22ch}
.section-head p{margin:0.75rem 0 0;color:var(--color-text-secondary);max-inline-size:62ch}
.lede{font-size:clamp(1.0625rem,2.4vw,1.25rem);line-height:1.65;color:var(--color-text-secondary);max-inline-size:64ch}

.practices{display:grid;gap:3.5rem}
.practice{display:grid;gap:1.5rem}
.practice__media{overflow:hidden;border-radius:var(--radius-2xl);background:var(--color-bg-surface-sunken)}
.practice__media img{aspect-ratio:5/4;object-fit:cover;inline-size:100%;display:block;transition:transform 620ms var(--ease-out,cubic-bezier(.2,.8,.3,1))}
@media (hover:hover) and (pointer:fine){.practice:hover .practice__media img{transform:scale(1.04)}}
.practice__body{display:grid;gap:0.85rem;align-content:center}
.practice__index{font-family:var(--font-display);font-stretch:125%;font-weight:700;font-size:clamp(2.5rem,7vw,4rem);line-height:0.9;letter-spacing:-0.03em}
.practice__body h3{margin:0;font-size:clamp(1.375rem,3.6vw,2rem);font-family:var(--font-display);font-stretch:125%;letter-spacing:-0.02em}
.practice__body p{margin:0;color:var(--color-text-secondary);max-inline-size:52ch}
.practice__body .trail-marker{margin-block-start:0.35rem}

.thinking{display:grid;gap:1.25rem}
.thinking article{display:grid;gap:1rem;background:rgb(255 255 255 / 0.05);border:1px solid rgb(255 255 255 / 0.16);border-radius:var(--radius-2xl);padding:2rem;align-content:start;transition:border-color 160ms linear,transform 260ms var(--ease-out,cubic-bezier(.16,.84,.28,1))}
@media (hover:hover) and (pointer:fine){.thinking article:hover{border-color:rgb(255 255 255 / 0.4);transform:translateY(-3px)}}
.thinking h3{margin:0;font-size:clamp(1.375rem,3.8vw,2rem);font-family:var(--font-display);font-stretch:125%;letter-spacing:-0.02em;max-inline-size:24ch;color:var(--color-text-primary)}
.thinking p{font-size:1.0625rem}
.thinking p{margin:0;color:var(--color-text-secondary);max-inline-size:64ch}

.audience{display:grid;gap:0}
.audience article{display:grid;gap:0.75rem;padding-block:2rem;border-block-start:1px solid var(--color-border);position:relative;transition:transform 200ms var(--ease-out,ease)}
.audience h3{transition:color 140ms linear}
@media (hover:hover) and (pointer:fine){.audience article:hover .audience__index{color:var(--color-primary)}.audience article:hover h3{color:var(--color-primary)}}
.audience__index{transition:color 140ms linear}
.audience article:last-child{border-block-end:1px solid var(--color-border)}
.audience h3{margin:0;font-size:1.125rem;font-family:var(--font-sans);font-stretch:normal}
.audience p{margin:0;color:var(--color-text-secondary);max-inline-size:70ch}
.audience__index{font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;color:var(--color-text-muted)}

.faq{display:grid;border-block-start:1px solid var(--color-border)}
.faq__item{border-block-end:1px solid var(--color-border)}
.faq__q{inline-size:100%;display:flex;gap:1.25rem;align-items:flex-start;justify-content:space-between;background:none;border:0;padding:1.35rem 0;text-align:start;cursor:pointer;font-family:var(--font-sans);font-size:1.0625rem;font-weight:500;color:var(--color-text-primary);line-height:1.45}
.faq__q:hover{color:var(--color-primary)}
.faq__sign{flex:none;inline-size:20px;block-size:20px;position:relative;margin-block-start:0.2rem}
.faq__sign::before,.faq__sign::after{content:"";position:absolute;inset-inline:0;inset-block-start:9px;block-size:1px;background:currentColor;transition:transform 200ms var(--ease-out,ease)}
.faq__sign::after{transform:rotate(90deg)}
.faq__item.is-open .faq__sign::after{transform:rotate(0)}
.faq__a{display:grid;grid-template-rows:0fr;overflow:hidden}
.faq__item.is-open .faq__a{grid-template-rows:1fr;padding-block-end:1.5rem}
.faq__a p{margin:0;color:var(--color-text-secondary);max-inline-size:70ch;overflow:hidden;min-block-size:0;opacity:0;transform:translateY(-6px);transition:opacity 240ms linear,transform 340ms var(--ease-out,cubic-bezier(.16,.84,.28,1))}
.faq__item.is-open .faq__a p{opacity:1;transform:none}

.quotes{position:relative}
.quotes__viewport{overflow:hidden}
.quotes__track{display:flex;transition:transform 420ms var(--ease-out,cubic-bezier(.2,.8,.3,1))}
.quote{flex:0 0 100%;padding-inline-end:0.25rem}
.quote blockquote{margin:0;padding-inline-start:1.25rem;border-inline-start:3px solid var(--color-primary)}
.quote p{margin:0;font-family:var(--font-display);font-stretch:125%;font-weight:600;font-size:clamp(1.0625rem,2.6vw,1.5rem);line-height:1.4;letter-spacing:-0.01em;max-inline-size:52ch}
.quote figcaption{margin-block-start:1.5rem;display:grid;gap:0.25rem}
.quote figcaption b{font-weight:500;font-size:0.9375rem}
.quote figcaption span{font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-text-muted)}
.quotes__nav{display:flex;align-items:center;gap:0.75rem;margin-block-start:2rem;padding-block-start:1.25rem;border-block-start:1px solid var(--color-border)}
.quotes__btn{inline-size:44px;block-size:44px;border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-bg-canvas);color:var(--color-text-primary);cursor:pointer;font-size:1rem;transition:background-color 120ms linear,border-color 120ms linear}
.quotes__btn:hover{background:var(--color-bg-hover)}
.quotes__count{margin-inline-start:auto;font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;color:var(--color-text-muted)}

.tiles{display:grid;gap:1.25rem}
.tile{padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-xl);display:grid;gap:0.6rem;align-content:start;background:var(--color-bg-canvas);transition:border-color 140ms linear}
.tile:hover{border-color:var(--color-border-strong)}
.tile h3{margin:0;font-size:1.0625rem;font-family:var(--font-sans);font-stretch:normal}
.tile p{margin:0;color:var(--color-text-secondary);font-size:0.9375rem}
.tile{position:relative;overflow:hidden}
.tile__index{font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;color:var(--color-text-muted)}

.sectors{display:grid;gap:1rem}
.sector{display:grid;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-2xl);overflow:hidden}
.sector img{aspect-ratio:4/5;object-fit:cover;inline-size:100%}
.sector__body{padding:1.25rem 1.25rem 1.5rem;display:grid;gap:0.5rem}
.sector__body h3{margin:0;font-size:1.0625rem;font-family:var(--font-sans);font-stretch:normal}
.sector__body p{margin:0;font-size:0.9375rem;color:var(--color-text-secondary)}
.sector__body ul{margin:0;padding-inline-start:0;list-style:none;display:grid;gap:0.35rem}
.sector__body li{font-size:0.875rem;color:var(--color-text-secondary);padding-inline-start:1.1rem;position:relative}
.sector__body li::before{content:"✓";position:absolute;inset-inline-start:0;color:var(--color-primary);font-size:0.75rem}

.partners{display:grid;gap:1rem;margin-block-start:2rem}
.partner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);text-decoration:none;color:var(--color-text-primary);transition:border-color 120ms linear,background-color 120ms linear}
.partner:hover{border-color:var(--color-border-strong);background:var(--color-bg-surface);color:var(--color-text-primary)}
.partner b{font-family:var(--font-display);font-stretch:125%;font-weight:700;letter-spacing:-0.01em;font-size:1.0625rem}
.partner span{font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-text-muted)}

.commitments{display:grid;gap:0;margin-block-start:1.5rem;counter-reset:c}
.commitments li{list-style:none;counter-increment:c;padding-block:1.25rem;border-block-start:1px solid var(--color-border);display:grid;grid-template-columns:2.5rem 1fr;gap:0.75rem;font-size:1.0625rem;line-height:1.5}
.commitments li:last-child{border-block-end:1px solid var(--color-border)}
.commitments li::before{content:"0" counter(c);font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;color:var(--color-text-muted);padding-block-start:0.45rem}

.cta-band{background:var(--color-bg-inverse);color:var(--color-text-inverse)}
.cta-band__inner{padding-block:4rem;display:grid;gap:1.25rem}
.cta-band h2{margin:0;color:var(--color-stone-50,#F7F8F7);max-inline-size:30ch;font-size:clamp(1.5rem,5vw,2.5rem)}
.cta-band p{margin:0;color:var(--color-stone-300,#C2C7C4);max-inline-size:60ch}
.cta-band .btn--primary{background:var(--color-stone-50,#F7F8F7);color:#101312}
.cta-band .btn--primary:hover{background:#fff;color:#101312}

.contact-grid{display:grid;gap:2.5rem}
.contact-block{display:grid;gap:0.5rem}
.contact-block h2{margin:0;font-size:1.0625rem;font-family:var(--font-sans);font-stretch:normal}
.contact-block a{font-size:1.0625rem}
.contact-block p{margin:0;color:var(--color-text-secondary)}

.site-footer{background:var(--color-bg-inverse);color:var(--color-text-inverse)}
.site-footer__inner{padding-block:3.5rem 1.5rem}
.site-footer__cols{display:grid;gap:2.5rem}
.site-footer p{font-size:0.875rem;color:var(--color-stone-300,#C2C7C4);max-inline-size:36ch;line-height:1.6;margin:0}
.site-footer .wordmark{color:var(--color-stone-50,#F7F8F7)}
.footer-col{display:grid;gap:0.75rem;align-content:start}
.footer-col .t-eyebrow{color:var(--color-stone-400,#9BA3A0)}
.footer-col a{font-size:0.875rem;color:var(--color-stone-200,#DDE0DE);text-decoration:none}
.footer-col a:hover{color:#fff}
.site-footer__base{margin-block-start:2.5rem;padding-block-start:1.25rem;border-block-start:1px solid var(--color-border-inverse);display:flex;flex-wrap:wrap;gap:0.75rem 1.5rem;justify-content:space-between}
.site-footer__base span,.site-footer__base a,.site-footer__base button{font-family:var(--font-sans);font-size:0.6875rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-stone-400,#9BA3A0);text-decoration:none}
.site-footer__base a:hover,.site-footer__base button:hover{color:#fff}

.reveal{opacity:0;transform:translateY(14px)}
.reveal.is-in{opacity:1;transform:none;transition:opacity 400ms var(--ease-out,ease),transform 400ms var(--ease-out,ease)}
@media (prefers-reduced-motion:reduce){.reveal,.reveal.is-in{opacity:1;transform:none;transition:none}.hero__media img{animation:none;transform:none}.quotes__track{transition:none}}

.page-head{padding-block:3rem 0}
.page-head h1{font-size:clamp(2rem,8vw,3.25rem);margin:0.75rem 0 0}
.prose{max-inline-size:68ch}
.prose h2{font-size:1.5rem;margin-block:2.5rem 0.75rem}
.prose p,.prose li{color:var(--color-text-secondary);font-size:1rem;line-height:1.7}
.prose ul{padding-inline-start:1.1rem;display:grid;gap:0.4rem}
.prose table{inline-size:100%;border-collapse:collapse;margin-block-start:1rem;font-size:0.9375rem}
.prose th,.prose td{text-align:start;padding:0.75rem 0.75rem 0.75rem 0;border-block-end:1px solid var(--color-border);vertical-align:top}
.prose th{font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-text-muted);font-weight:500}

.error-page{display:grid;min-block-size:calc(100vh - 64px);align-content:center}
.error-page__inner{display:grid;gap:1.5rem;padding-block:4rem}
.error-code{font-family:var(--font-display);font-stretch:125%;font-weight:700;font-size:clamp(4.5rem,26vw,11rem);line-height:0.82;letter-spacing:-0.04em;margin:0}
.error-page h1{font-size:clamp(1.5rem,6vw,2.25rem);margin:0}
.error-page p{color:var(--color-text-secondary);max-inline-size:48ch;margin:0}
.error-links{display:grid;margin-block-start:0.5rem;padding-block-start:1.5rem;border-block-start:1px solid var(--color-border);max-inline-size:34rem}
.error-links a{display:flex;justify-content:space-between;gap:1rem;padding-block:0.9rem;font-size:0.9375rem;text-decoration:none;color:var(--color-text-primary);border-block-end:1px solid var(--color-border-subtle)}
.error-links a em{font-style:normal;font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-text-muted);align-self:center;transition:transform 200ms var(--ease-spring,cubic-bezier(.34,1.56,.64,1))}
.error-links a:hover em{transform:translate(2px,-2px);color:var(--color-primary)}

.cc{position:fixed;inset-block-end:0;inset-inline:0;z-index:1400;padding:0.75rem;pointer-events:none}
.cc[hidden]{display:none}
.cc__scrim{position:fixed;inset:0;background:var(--color-bg-scrim);opacity:0;transition:opacity 180ms linear;pointer-events:none}
.cc.is-panel .cc__scrim{opacity:1;pointer-events:auto}
.cc__sheet{position:relative;pointer-events:auto;background:var(--color-bg-canvas);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-inline-size:min(56rem,100%);margin-inline:auto;padding:1.5rem;animation:tl-pop 320ms var(--ease-out,cubic-bezier(.2,.8,.3,1))}
.cc.is-panel .cc__sheet{max-inline-size:min(40rem,100%);max-block-size:min(86vh,44rem);overflow-y:auto}
.cc__eyebrow{display:block;margin-block-end:0.75rem}
.cc h2{font-size:1.25rem;margin:0 0 0.625rem}
.cc p{margin:0;font-size:0.9375rem;color:var(--color-text-secondary);max-inline-size:60ch}
.cc__actions{display:grid;gap:0.625rem;margin-block-start:1.25rem}
.cc__actions .btn{inline-size:100%}
.cc__groups{display:grid;gap:0.75rem;margin-block:1.25rem}
.cc__group{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem}
.cc__group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.cc__group h3{font-size:1rem;font-family:var(--font-sans);font-stretch:normal;margin:0}
.cc__group p{font-size:0.875rem;margin-block-start:0.4rem}
.cc__meta{margin-block-start:0.75rem;display:flex;flex-wrap:wrap;gap:0.25rem 1rem;font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-text-muted)}
.cc__locked{font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;padding-block-start:0.35rem}
.switch{flex:none;display:inline-flex;align-items:center;position:relative}
.switch input{position:absolute;opacity:0;inline-size:44px;block-size:26px}
.switch .track{inline-size:44px;block-size:26px;border-radius:var(--radius-full);background:var(--color-bg-surface-sunken);border:1px solid var(--color-border-strong);position:relative;cursor:pointer;transition:background-color 120ms linear,border-color 120ms linear}
.switch .track::after{content:"";position:absolute;inset-block-start:3px;inset-inline-start:3px;inline-size:18px;block-size:18px;border-radius:var(--radius-full);background:var(--color-bg-canvas);box-shadow:var(--shadow-xs);transition:transform 180ms var(--ease-out,ease)}
.switch input:checked + .track{background:var(--color-primary);border-color:var(--color-primary)}
.switch input:checked + .track::after{transform:translateX(18px)}
.switch input:focus-visible + .track{outline:2px solid var(--color-border-focus);outline-offset:2px}
.cc__footnote{margin-block-start:1rem;font-size:0.8125rem;color:var(--color-text-muted)}
.cookie-reopen{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;font-family:var(--font-sans);font-size:0.6875rem;letter-spacing:0.08em;text-transform:uppercase}

@media (min-width:640px){
  .hero__panel{padding:2.75rem}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .sectors{grid-template-columns:repeat(2,1fr)}
  .partner{flex-direction:column;align-items:flex-start;gap:0.5rem}
  .cc__actions{grid-auto-flow:column;justify-content:end}
  .cc__actions .btn{inline-size:auto}
  .contact-grid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:900px){
  .nav{display:flex;gap:1.5rem}
  .nav-toggle,.mobile-nav{display:none}
  .header-cta{display:inline-flex}
  .site-header__inner{block-size:72px}
  .hero__panel{margin-block-start:-4.5rem;padding:3rem}
  .section-head{grid-template-columns:1fr auto;align-items:end}
  .thinking{grid-template-columns:repeat(2,1fr);gap:1.75rem}
  .tiles{grid-template-columns:repeat(2,1fr);gap:1.5rem}
  .sectors > :last-child:nth-child(odd){grid-column:span 2;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch}
  .sectors > :last-child:nth-child(odd) img{grid-row:1;block-size:100%;aspect-ratio:auto;min-block-size:220px}
  .sectors > :last-child:nth-child(odd) .sector__body{grid-row:1;padding:2rem;align-content:center}
  .sectors{grid-template-columns:repeat(2,1fr)}
  .cta-band__inner{padding-block:5.5rem}
  .site-footer__cols{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem}
  .cc__sheet{padding:2rem}
  .faq__q{font-size:1.125rem}
}
@media (min-width:1100px){
  .tiles--four{grid-template-columns:repeat(4,1fr)}
}

.band{overflow:hidden}
.band img{inline-size:100%;block-size:clamp(260px,56vh,620px);object-fit:cover}
.band--tall img{block-size:clamp(280px,58vh,560px)}
.quotes-over{position:relative;overflow:hidden}
.quotes-over__media{position:absolute;inset:0}
.quotes-over__media img{inline-size:100%;block-size:100%;object-fit:cover}
.quotes-over__inner{position:relative;padding-block:clamp(3rem,8vw,6rem)}
.quotes-panel{background:var(--color-bg-canvas);border-radius:var(--radius-2xl);padding:2rem 1.5rem}
@media (min-width:640px){.quotes-panel{padding:3rem;max-inline-size:46rem}}
@media (min-width:900px){.quotes-panel{margin-inline-start:auto;margin-inline-end:0}}
.figure-band{display:grid;gap:0}
.figure-band figcaption{padding-block:0.9rem;font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-text-muted)}

.section-head h2 .w,.hero__panel h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom}
.section-head h2 .w > span{display:inline-block;transform:translateY(105%);transition:transform 620ms var(--ease-out,cubic-bezier(.16,.84,.28,1))}
.section-head.is-in h2 .w > span{transform:translateY(0)}

.count{font-variant-numeric:tabular-nums}
.audience article{cursor:default}
.audience__index{transition:transform 300ms var(--ease-out,cubic-bezier(.16,.84,.28,1)),color 140ms linear;transform-origin:0 50%}
@media (hover:hover) and (pointer:fine){.audience article:hover .audience__index{transform:scale(1.35)}}

.faq__q{display:grid;grid-template-columns:1fr auto;gap:0.9rem;align-items:start;text-align:start}
.faq__n{font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;color:var(--color-text-muted);padding-block-start:0.35rem;transition:color 140ms linear,transform 260ms var(--ease-out,ease)}
.faq__item.is-open .faq__n{color:var(--color-primary);transform:translateY(-1px)}
@media (hover:hover) and (pointer:fine){.faq__q:hover .faq__n{color:var(--color-primary)}}

.band img{transform-origin:50% 60%;transition:transform 480ms var(--ease-out,cubic-bezier(.16,.84,.28,1))}

.curtain{position:fixed;inset:0;z-index:9999;background:var(--color-bg-inverse);display:grid;place-items:center;transform:translateY(0)}
.curtain span{font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-stone-400,#9BA3A0)}
.curtain.is-up{transform:translateY(-101%);transition:transform 460ms var(--ease-in,cubic-bezier(.6,0,.9,.4))}
@media (prefers-reduced-motion:reduce){.curtain{display:none}.section-head h2 .w > span{transform:none}}

.section--inverse{background:var(--color-bg-inverse);color:var(--color-stone-200,#DDE1DF)}
.section--inverse h2,.section--inverse > .container > * h3:not(.tile h3):not(.sector h3){color:var(--color-stone-50,#F7F8F7)}
.section--inverse .tile,.section--inverse .sector,.section--inverse .practice{background:rgb(255 255 255 / 0.05);border-color:rgb(255 255 255 / 0.16)}
.section--inverse .tile h3,.section--inverse .sector h3{color:var(--color-stone-50,#F7F8F7)}
.section--inverse .tile p,.section--inverse .sector p{color:var(--color-stone-300,#C3C9C6)}
@media (hover:hover) and (pointer:fine){.section--inverse .tile:hover,.section--inverse .sector:hover{border-color:rgb(255 255 255 / 0.4)}}
.section--inverse p{color:var(--color-stone-300,#C3C9C6)}
.section--inverse .t-eyebrow,.section--inverse .audience__index{color:var(--color-stone-400,#9BA3A0)}
.section--inverse .audience article{border-block-start-color:rgb(255 255 255 / 0.14)}
.section--inverse .trail-marker{color:var(--color-stone-50,#F7F8F7)}
@media (hover:hover) and (pointer:fine){.section--inverse .audience article:hover .audience__index,.section--inverse .audience article:hover h3{color:#8AC2A8}}

.sector{background:var(--color-bg-surface-sunken);padding:1.5rem;gap:0.6rem;transition:border-color 140ms linear,transform 240ms var(--ease-out,cubic-bezier(.16,.84,.28,1))}
.sector h3{margin:0}
@media (hover:hover) and (pointer:fine){.sector:hover{border-color:var(--color-stone-400,#9BA3A0);transform:translateY(-2px)}}

.statement{padding-block:var(--section-padding-block);background:var(--color-bg-surface-sunken)}
.quotes-panel{background:transparent;padding-inline:0}
.quotes-over{background:var(--color-bg-inverse);color:var(--color-stone-200,#DDE1DF)}
.quotes-over h2,.quotes-over blockquote{color:var(--color-stone-50,#F7F8F7)}
.quotes-over .t-eyebrow,.quotes-over figcaption,.quotes-over .quotes__count{color:var(--color-stone-400,#9BA3A0)}
.quotes-over .quotes__btn{color:var(--color-stone-50,#F7F8F7);background:transparent;border-color:rgb(255 255 255 / 0.24)}
@media (hover:hover) and (pointer:fine){.quotes-over .quotes__btn:hover{background:rgb(255 255 255 / 0.09);border-color:rgb(255 255 255 / 0.45)}}

.page-head{background:var(--color-bg-surface-sunken);padding-block:var(--section-padding-block);margin-block-end:0}
.page-head > .container{display:grid;gap:0.75rem}
.contact-block{background:var(--color-bg-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.5rem}
.contact-block h2{font-size:1.125rem;margin:0 0 0.5rem}

.contact-layout{display:grid;gap:3rem}
@media (min-width:900px){
  .contact-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,0.8fr);gap:5rem;align-items:start}
  .contact-aside{position:sticky;inset-block-start:7rem;margin-block-start:3.5rem}
}
.contact-card{background:var(--color-bg-inverse);color:var(--color-stone-200,#DDE1DF);border-radius:var(--radius-2xl);padding:2rem;display:grid;gap:1.75rem}
.contact-card .contact-block{background:transparent;border:0;padding:0}
.contact-card .contact-block h2{font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-stone-400,#9BA3A0);font-weight:400;margin:0}
.contact-card .contact-block p{margin:0;color:var(--color-stone-50,#F7F8F7);font-size:1.0625rem}
.contact-card a{color:var(--color-stone-50,#F7F8F7);text-decoration-color:rgb(255 255 255 / 0.4);text-underline-offset:3px}
.contact-card a:hover{color:#8AC2A8}

body:has(.hero) .site-header{position:fixed;inset-inline:0;background:transparent;border-block-end-color:transparent;box-shadow:none}
body:has(.hero) .site-header .site-header__inner{background:var(--color-bg-canvas);border-radius:var(--radius-xl);padding-inline:1.25rem;margin-block-start:0.75rem;block-size:60px}
body:has(.hero) .site-header.is-scrolled .site-header__inner{box-shadow:var(--shadow-sm)}
@media (min-width:900px){body:has(.hero) .site-header .site-header__inner{padding-inline:1.75rem;margin-block-start:1rem;block-size:64px}}
body:has(.hero) .site-header:has(.mobile-nav.is-open){background:var(--color-bg-canvas);border-block-end-color:var(--color-border)}
body:has(.hero) .site-header:has(.mobile-nav.is-open) .site-header__inner{border-radius:0;margin-block-start:0;padding-inline:0}

body{--accent:var(--color-primary);--accent-hover:var(--color-primary-hover);--accent-subtle:var(--color-primary-subtle);--accent-light:#8AC2A8}
body[data-accent="blue"]{--accent:var(--color-primary);--accent-hover:var(--color-primary-hover);--accent-subtle:var(--color-primary-subtle);--accent-light:#8AC2A8}
body[data-accent="moss"]{--accent:var(--color-success);--accent-hover:#276023;--accent-subtle:var(--color-success-bg);--accent-light:#8FC885}

.section--surface,.page-head{background:var(--accent-subtle)}
.faq__item.is-open .faq__n,.practice__index,.audience__index{color:var(--accent)}
.trail-marker{color:var(--accent)}
.hero__panel .t-eyebrow,.page-head .t-eyebrow{color:var(--accent)}
a{color:var(--accent)}
a:hover{color:var(--accent-hover)}
.nav a.is-current,.nav a[aria-current="page"]{color:var(--accent)}
::selection{background:var(--accent);color:#fff}
.section--inverse .trail-marker,.section--inverse a{color:var(--accent-light)}
@media (hover:hover) and (pointer:fine){
  .audience article:hover h3,.audience article:hover .audience__index,.faq__q:hover .faq__n{color:var(--accent)}
  .section--inverse .audience article:hover h3,.section--inverse .audience article:hover .audience__index{color:var(--accent-light)}
}

.tile,.sector{position:relative;overflow:hidden}

.practice__media .practice__index{background:var(--accent);color:#fff}
.curtain span{color:var(--accent-light)}

.about-split{display:grid;gap:2.5rem}
@media (min-width:900px){.about-split{grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:4rem;align-items:start}}
.about-media{display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}
.about-media img{inline-size:100%;border-radius:var(--radius-2xl);object-fit:cover;aspect-ratio:4/5}
.about-media img:last-child{aspect-ratio:1/1;align-self:end;margin-block-start:2.5rem}
.about-wide{margin:3rem 0 0}
.about-wide img{inline-size:100%;border-radius:var(--radius-2xl);object-fit:cover;block-size:clamp(220px,38vh,420px)}

.prose h3{margin-block:2rem 0.5rem;font-size:clamp(1.125rem,2.6vw,1.375rem)}
.prose h4{margin-block:1.5rem 0.4rem;font-family:var(--font-sans);font-stretch:normal;font-size:1rem}
.policy-stamp{margin-block-start:3rem;font-family:var(--font-sans);font-size:0.625rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-text-muted)}

.audience{display:grid;gap:0}
.audience__row{display:grid;gap:0.75rem;padding-block:1.75rem;border-block-start:1px solid var(--color-border)}
.audience__pick{display:grid;gap:0.5rem;justify-items:start;text-align:start;background:none;border:0;padding:0;cursor:pointer;color:inherit;font:inherit}
.audience__pick h3{margin:0;font-size:clamp(1.25rem,3.4vw,1.625rem);font-family:var(--font-display);font-stretch:125%;letter-spacing:-0.02em;transition:color 140ms linear}
.audience__index{font-family:var(--font-sans);font-size:0.6875rem;letter-spacing:0.1em;color:var(--color-text-muted);transition:color 160ms linear,transform 320ms var(--ease-out,cubic-bezier(.16,.84,.28,1));transform-origin:0 50%}
.audience__body{display:grid;grid-template-rows:0fr}
.audience__body > p{margin:0;overflow:hidden;min-block-size:0;opacity:0;transform:translateY(-6px);transition:opacity 240ms linear,transform 380ms var(--ease-out,cubic-bezier(.16,.84,.28,1))}
.audience__row.is-active .audience__body{grid-template-rows:1fr}
.audience__row.is-active .audience__body > p{opacity:1;transform:none}
.audience__row{transition:background-color 200ms linear;padding-inline:0}
.audience__row.is-active{background:var(--color-bg-canvas)}
.section--surface .audience__row.is-active{background:var(--color-bg-canvas)}
@media (min-width:900px){.audience__row.is-active{padding-inline:1.5rem;border-radius:var(--radius-xl);margin-inline:-1.5rem}}
.audience__row.is-active .audience__index{color:var(--accent);transform:scale(1.6)}
.audience__row.is-active .audience__pick h3{color:var(--accent)}
@media (hover:hover) and (pointer:fine){.audience__pick:hover h3{color:var(--accent)}}
@media (min-width:900px){
  .audience{border-block-end:1px solid var(--color-border)}
  .audience__row{grid-template-columns:minmax(0,24rem) minmax(0,1fr);column-gap:4rem;align-items:start;padding-block:2.25rem}
  .audience__pick{grid-column:1}
  .audience__body{grid-column:2}
  .audience__body p{max-inline-size:60ch}
}

@media (min-width:900px){.site-footer__cols{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:4rem}}
.site-footer__cols .stack p{max-inline-size:44ch}

.site-footer__base span{text-transform:none;letter-spacing:normal;font-family:var(--font-sans)}

.nowrap{white-space:nowrap}

@media (min-width:900px){
  .practices{gap:5rem}
  .practice{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);column-gap:4.5rem;align-items:center}
  .practice:nth-child(even) .practice__media{order:2}
  .practice:nth-child(even) .practice__body{padding-inline-end:1.5rem}
  .practice:nth-child(2) .practice__media{margin-block-start:2.5rem}
  .practice:nth-child(3) .practice__body{padding-inline-start:2rem}
  .practice__index{font-size:clamp(3rem,5vw,4.5rem)}
}

.partner{min-block-size:9rem;align-items:flex-start;justify-content:space-between;flex-direction:column;gap:1.5rem;padding:1.75rem}
.partner img{filter:brightness(0);inline-size:auto;max-inline-size:min(100%,11rem);block-size:auto;max-block-size:2.75rem;object-fit:contain;object-position:left center;margin-block:auto 0;transition:transform 300ms var(--ease-out,cubic-bezier(.16,.84,.28,1))}
@media (hover:hover) and (pointer:fine){.partner:hover img{transform:translateY(-2px)}}

@media (min-width:768px){.partners{grid-template-columns:repeat(3,1fr);gap:1.5rem}}
.split-media{display:grid;gap:2rem;margin-block-start:1rem}
@media (min-width:900px){.split-media{grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);column-gap:4rem;align-items:start}.split-media__figure{margin-block-start:1.5rem}}
.split-media__figure{margin:0}
.split-media__figure img{inline-size:100%;block-size:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-2xl)}
.sector{padding:0;overflow:hidden;align-content:start;grid-template-rows:auto auto}
.sector > img{inline-size:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.sector__body{padding:1.5rem;display:grid;gap:0.6rem;align-content:start}

.railwrap{position:relative}
.railstick{overflow:hidden;padding-block-end:0.25rem}
.sectors.sectors--rail{display:flex;grid-template-columns:none;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-block-end:1rem;scrollbar-width:thin;align-items:stretch}
.sectors--rail .sector{flex:0 0 min(86%,26rem);scroll-snap-align:start;background:var(--color-bg-canvas)}
.sectors--rail .sector > img{aspect-ratio:2/1}
@media (min-width:900px){
  .railstick{position:sticky;inset-block-start:6.5rem}
  .sectors.sectors--rail{gap:1.75rem;overflow:visible;scroll-snap-type:none;padding-block-end:0;will-change:transform}
  .sectors--rail .sector{flex:0 0 34rem}
  .sectors--rail .sector > img{aspect-ratio:16/5}
  .sectors--rail .sector{flex:0 0 calc((100% - 1.75rem) / 2)}
  .sectors--rail .sector__body{padding:1.5rem 2rem;gap:0.5rem}
  .sectors--rail .sector__body p{font-size:0.9375rem}
  .sectors--rail .sector__body li{font-size:0.875rem}
}

body:has(.contact-layout) main,body:has(.contact-layout) .page-head{background:var(--accent-subtle)}
body:has(.contact-layout) .contact-block{background:transparent;border:0;padding:0}
.contact-figure{margin:2.5rem 0 0}
.contact-figure img{inline-size:100%;block-size:clamp(220px,34vh,380px);object-fit:cover;border-radius:var(--radius-2xl);display:block}

.quotes-over__inner{display:grid;gap:2.5rem}
@media (min-width:900px){.quotes-over__inner{grid-template-columns:minmax(0,0.7fr) minmax(0,1.3fr);column-gap:4rem;align-items:center}}
.quotes-figure{margin:0}
.quotes-figure img{inline-size:100%;block-size:auto;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-2xl);display:block}
@media (min-width:900px){.quotes-panel{margin-inline:0;max-inline-size:none}}

.cta-band__inner{grid-template-columns:1fr;gap:1.5rem}
.cta-band h2{font-size:clamp(1.75rem,5.5vw,3rem);font-family:var(--font-display);font-stretch:125%;letter-spacing:-0.02em;line-height:1.08}
@media (min-width:900px){
  .cta-band__inner{grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);column-gap:5rem;align-items:end;padding-block:6.5rem}
  .cta-band h2{grid-row:1;max-inline-size:22ch}
  .cta-band p{grid-row:1;grid-column:2;align-self:end}
  .cta-band .btn,.cta-band .trail-marker{grid-column:2;justify-self:start}
}

.site-footer__inner{padding-block:4.5rem 1.75rem}
.site-footer .wordmark{font-size:clamp(1.75rem,5vw,2.5rem);letter-spacing:-0.03em;display:inline-block}
.site-footer__cols .stack{gap:1rem}
.site-footer__cols .stack p{font-family:var(--font-sans);font-size:0.6875rem;letter-spacing:0.06em;line-height:2;color:var(--color-stone-400,#9BA3A0);max-inline-size:34ch}
.site-footer .footer-col{gap:0.9rem}
.site-footer .footer-col a{font-size:1.0625rem;color:var(--color-stone-200,#DDE0DE);inline-size:fit-content;transition:transform 200ms var(--ease-out,cubic-bezier(.16,.84,.28,1)),color 140ms linear}
@media (hover:hover) and (pointer:fine){.site-footer .footer-col a:hover{color:#fff;transform:translateX(4px)}}
@media (min-width:900px){
  .site-footer__cols{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:5rem;align-items:start}
  .site-footer .footer-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.9rem 2.5rem}
}
.site-footer__base{margin-block-start:3.5rem}

.invest{display:grid;gap:1rem}
.invest__row{display:grid;gap:0.75rem;background:var(--color-bg-canvas);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:1.5rem;transition:border-color 140ms linear,transform 240ms var(--ease-out,cubic-bezier(.16,.84,.28,1))}
@media (hover:hover) and (pointer:fine){.invest__row:hover{border-color:var(--color-border-strong);transform:translateY(-2px)}}
.invest__icon{display:grid;place-items:center;inline-size:2.75rem;block-size:2.75rem;border-radius:9999px;background:var(--accent-subtle);color:var(--accent)}
.invest__icon svg{inline-size:1.25rem;block-size:1.25rem;stroke-width:1.5}
.invest__row h3{margin:0;font-size:clamp(1.125rem,3vw,1.375rem);font-family:var(--font-display);font-stretch:125%;letter-spacing:-0.02em}
.invest__row p{margin:0;color:var(--color-text-secondary)}
@media (min-width:768px){
  .invest__row{grid-template-columns:2.75rem minmax(0,15rem) minmax(0,1fr);column-gap:2.5rem;align-items:start;padding:1.75rem 2rem}
  .invest__row h3{align-self:center}
  .invest__row p{align-self:center;max-inline-size:56ch}
}

.t-eyebrow,.eyebrow{font-family:var(--font-sans);font-weight:500;letter-spacing:0.09em}

.wordmark img{display:block;block-size:1.5rem;inline-size:auto}
@media (min-width:900px){.wordmark img{block-size:1.75rem}}
.site-footer .wordmark img{block-size:2.25rem;filter:brightness(0) invert(1)}
@media (min-width:900px){.site-footer .wordmark img{block-size:2.75rem}}

.section--inverse:has(.thinking) .container{padding-block:2.5rem 0}
.section--inverse:has(.thinking){padding-block:calc(var(--section-padding-block) + 2rem)}
@media (min-width:900px){.thinking article{padding:2.75rem}}
.thinking p{max-inline-size:52ch}

@media (min-width:900px){
  .audience__row{grid-template-columns:minmax(20rem,27rem) minmax(0,1fr);column-gap:3.5rem;align-items:stretch}
  .audience__pick{align-content:start;padding-block-end:0}
  .audience__body{align-self:end;justify-self:end}
  .audience__body p{margin-inline-start:auto}
}
.audience__pick h3{max-inline-size:30ch}

.raildots{display:flex;gap:0.5rem;justify-content:center;margin-block-start:1.75rem;padding-block:0.5rem}
.raildots i{inline-size:6px;block-size:6px;border-radius:9999px;background:var(--color-border-strong);transition:transform 260ms var(--ease-out,cubic-bezier(.16,.84,.28,1)),background-color 160ms linear}
.raildots i.is-on{background:var(--accent);transform:scale(1.6)}
@media (max-width:899px){.raildots{display:none}}

.hero__media video{inline-size:100%;block-size:100%;object-fit:cover;object-position:50% 50%;display:block}

.mt-3{margin-block-start:1.25rem}.mt-5{margin-block-start:2rem}.mt-6{margin-block-start:2.5rem}
.t-eyebrow--spaced{margin-block-start:.5rem}.invest__icon svg{width:22px;height:22px;display:block}.site-footer__cols .stack p a{color:var(--color-stone-200,#DDE0DE);text-decoration:none;border-block-end:1px solid rgb(221 224 222 / .35);transition:color 140ms linear,border-color 140ms linear}.site-footer__cols .stack p a:hover{color:#fff;border-block-end-color:#fff}.lang{display:inline-flex;align-items:center;gap:.125rem;padding:.15rem;border:1px solid var(--color-border);border-radius:9999px}
.lang button{min-inline-size:34px;block-size:28px;padding-inline:.5rem;background:none;border:0;border-radius:9999px;font-family:var(--font-sans);font-size:.6875rem;font-weight:500;letter-spacing:.06em;color:var(--color-text-muted);cursor:pointer;transition:color 140ms linear,background-color 160ms linear}
.lang button:hover{color:var(--color-text-primary)}
.lang button[aria-pressed="true"]{background:var(--color-text-primary);color:var(--color-bg-canvas)}
@media (min-width:900px){.site-header__inner .nav{margin-inline-start:auto}.lang{margin-inline-start:1.25rem}}
