:root {
  --font-sans: 'Instrument Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;

  --text-display-2xl: clamp(2.75rem, 1.6rem + 4.6vw, 4.75rem);
  --text-display-xl: clamp(2.375rem, 1.62rem + 3.02vw, 3.75rem);
  --text-display-lg: clamp(2rem, 1.43rem + 2.29vw, 3rem);
  --text-display-md: clamp(1.75rem, 1.36rem + 1.57vw, 2.5rem);
  --text-display-sm: clamp(1.5rem, 1.29rem + 0.86vw, 2rem);
  --text-heading-lg: clamp(1.375rem, 1.24rem + 0.55vw, 1.75rem);
  --text-body-lg: clamp(1.0625rem, 1.04rem + 0.11vw, 1.125rem);
  --text-body-md: 1rem;
  --text-body-sm: 0.875rem;
  --text-caption: 0.8125rem;
  --text-overline: 0.75rem;
  --text-micro: 0.6875rem;
  --text-mono-sm: 0.8125rem;
  --tracking-wide: 0.06em;
  --tracking-wider: 0.14em;

  --space-1: 4px;   --space-2: 8px;   --space-3: 12px;  --space-4: 16px;
  --space-5: 20px;  --space-6: 24px;  --space-8: 32px;  --space-10: 40px;
  --space-12: 48px; --space-16: 64px; --space-20: 80px; --space-24: 96px;

  --radius-sm: 4px; --radius-md: 6px; --radius-lg: 10px; --radius-xl: 16px;
  --radius-pill: 999px;
  --border-width-hairline: 1px;
  --border-width-heavy: 4px;
  --opacity-disabled: 0.45;

  --shadow-lg: 0 12px 28px -6px rgba(7, 26, 32, .14), 0 4px 8px -4px rgba(7, 26, 32, .08);
  --shadow-inset: inset 0 1px 2px rgba(7, 26, 32, .08);

  --duration-instant: 80ms;
  --duration-fast: 140ms;
  --duration-base: 200ms;
  --duration-slow: 320ms;
  --duration-slower: 480ms;
  --duration-deliberate: 720ms;
  --ease-standard: cubic-bezier(.2, 0, 0, 1);
  --ease-entrance: cubic-bezier(0, 0, 0, 1);

  --container-lg: 1152px;
  --container-wide: 1440px;
  --gutter: var(--space-5);
  --section-padding-y: var(--space-16);

  
  --z-sticky: 100; --z-header: 200; --z-tooltip: 800; --z-max: 900;
}

@media (min-width: 768px) {
  :root { --gutter: var(--space-8); --section-padding-y: var(--space-20); }
}
@media (min-width: 1024px) {
  :root { --gutter: var(--space-12); --section-padding-y: var(--space-24); }
}

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + var(--space-6));
}

body {
  min-height: 100dvh;
  background: var(--color-bg-canvas);
  color: var(--color-text-secondary);
  font: var(--weight-regular) var(--text-body-md)/1.6 var(--font-sans);
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 { color: var(--color-text-primary); font-weight: var(--weight-medium); text-wrap: balance; }
p { text-wrap: pretty; }
img, svg, video { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }

a {
  color: var(--color-text-link);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
  transition: color var(--duration-fast) var(--ease-standard);
}
a:hover { color: var(--color-text-accent); }

:target { scroll-margin-top: calc(var(--header-height) + var(--space-6)); }
::selection { background: var(--color-bg-accent); color: var(--color-text-on-accent); }

:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; border-radius: var(--radius-sm); }
.on-inverse :focus-visible { outline-color: var(--color-border-accent); }
@media (forced-colors: active) {
  :focus-visible { outline: 3px solid Highlight; }
}

.t-display-2xl { font: var(--weight-regular) var(--text-display-2xl)/1.02 var(--font-display); letter-spacing: -.03em; }
.t-display-xl { font: var(--weight-regular) var(--text-display-xl)/1.06 var(--font-display); letter-spacing: -.025em; }
.t-display-lg { font: var(--weight-regular) var(--text-display-lg)/1.1 var(--font-display); letter-spacing: -.02em; }
.t-display-md { font: var(--weight-regular) var(--text-display-md)/1.15 var(--font-display); letter-spacing: -.015em; }
.t-display-sm { font: var(--weight-regular) var(--text-display-sm)/1.2 var(--font-display); letter-spacing: -.01em; }
.t-heading-lg { font: var(--weight-medium) var(--text-heading-lg)/1.25 var(--font-sans); letter-spacing: -.01em; }
.t-body-lg { font: var(--weight-regular) var(--text-body-lg)/1.6 var(--font-sans); }
.t-micro { font: var(--weight-medium) var(--text-micro)/1.3 var(--font-sans); letter-spacing: var(--tracking-wide); text-transform: uppercase; }
.t-overline { font: var(--weight-semibold) var(--text-overline)/1.2 var(--font-sans); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--color-text-accent); }

.l-container { width: 100%; max-width: var(--container-lg); margin-inline: auto; padding-inline: var(--gutter); }
.l-container--wide { max-width: var(--container-wide); }
.l-section { padding-block: var(--section-padding-y); }
.l-section--tight { padding-block: calc(var(--section-padding-y) * .6); }

.u-sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.u-scrim { position: relative; }
.u-scrim::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 26, 32, 0) 30%, rgba(7, 26, 32, .78) 100%);
  pointer-events: none;
}

.on-inverse { background: var(--color-bg-inverse); color: var(--color-text-on-inverse); }
.on-inverse h1, .on-inverse h2, .on-inverse h3, .on-inverse h4 { color: var(--color-text-on-inverse); }
.on-inverse .t-overline { color: var(--brass-300); }

.c-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  block-size: 40px;
  padding-inline: var(--space-5);
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  font: var(--weight-medium) var(--text-body-sm)/1 var(--font-sans);
  color: var(--color-text-primary);
  background: transparent;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  transition: background-color var(--duration-fast) var(--ease-standard),
              border-color var(--duration-fast) var(--ease-standard),
              color var(--duration-fast) var(--ease-standard);
}
.c-button--sm { block-size: 32px; padding-inline: var(--space-3); }
.c-button--lg { block-size: 48px; padding-inline: var(--space-6); font-size: var(--text-body-md); }
.c-button--accent { background: var(--color-bg-accent); color: var(--color-text-on-accent); }
.c-button--accent:hover { background: var(--color-bg-accent-hover); }
.c-button--secondary { border-color: var(--color-border-strong); color: var(--color-text-primary); }
.c-button--secondary:hover { background: var(--color-bg-neutral-hover); border-color: var(--color-text-primary); }
.c-button:active { filter: brightness(.94); box-shadow: var(--shadow-inset); transition-duration: var(--duration-instant); }
.c-button:disabled { opacity: var(--opacity-disabled); cursor: not-allowed; }

.c-field { display: flex; flex-direction: column; gap: var(--space-2); }
.c-field--full { width: 100%; }
.c-field__label { font: var(--weight-medium) var(--text-body-sm)/1.4 var(--font-sans); color: var(--color-text-primary); }
.c-field__control {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  block-size: 40px;
  padding-inline: var(--space-3);
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
  transition: border-color var(--duration-fast) var(--ease-standard);
}
.c-field__control:hover { border-color: var(--color-border-strong); }
.c-field__control:has(:focus) { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; }
.c-field__input {
  flex: 1;
  min-inline-size: 0;
  border: 0;
  background: transparent;
  font-size: var(--text-body-md);
  color: var(--color-text-primary);
}
.c-field__input::placeholder { color: var(--color-text-muted); }
.c-field:has(textarea) .c-field__control { block-size: auto; align-items: stretch; }
.c-field textarea.c-field__input { padding-block: var(--space-3); resize: vertical; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

@media print {
  body { background: #fff; color: #000; }
  nav, .cookie { display: none !important; }
  .l-section { padding-block: var(--space-8); }
}

:root,[data-theme=light]{
  --frame:10px;
  --amber:#F3B31C;--amber-deep:#DC9C0B;--amber-tint:#FBEBC4;
  --char-900:#17181A;--char-800:#232427;--char-700:#33353A;
  --cream:#FBF7EE;--cream-2:#FFFCF6;--cream-3:#F2ECDF;

  --brass-100:#FBEBC4;--brass-200:#F6D98C;--brass-300:#F3C455;--brass-400:#F3B31C;--brass-500:#DC9C0B;--brass-800:#7A5504;
  --color-bg-canvas:var(--cream);
  --color-bg-surface:var(--cream-2);
  --color-bg-raised:var(--cream-2);
  --color-bg-subtle:var(--cream-3);
  --color-bg-inverse:var(--char-900);
  --color-bg-accent:var(--amber);
  --color-bg-accent-hover:var(--amber-deep);
  --color-bg-accent-tint:var(--amber-tint);
  --color-bg-primary:var(--char-900);
  --color-bg-primary-hover:var(--char-700);
  --color-bg-neutral-hover:var(--cream-3);
  --color-bg-scrim:rgba(23,24,26,.66);
  --color-text-primary:var(--char-900);
  --color-text-secondary:#54565B;
  --color-text-muted:#85868B;
  --color-text-accent:#7A5504;
  --color-text-link:var(--char-800);
  --color-text-on-accent:#17181A;
  --color-text-on-primary:#FFFCF6;
  --color-text-on-inverse:#FBF7EE;
  --color-border-subtle:#E7E0D0;
  --color-border-default:#DAD2BF;
  --color-border-strong:#B7AE99;
  --color-border-accent:var(--amber);
  --color-focus-ring:#B07E06;
  --shadow-sm:0 1px 3px rgba(23,24,26,.07),0 1px 2px -1px rgba(23,24,26,.06);
  --shadow-md:0 4px 12px -2px rgba(23,24,26,.10),0 2px 4px -2px rgba(23,24,26,.06);
  --hairline:1px solid var(--color-border-subtle);
  --font-mono:var(--font-sans);
  --font-numeric:var(--font-sans);
  --ink-950:#17181A;
  --header-height:60px;
}
@media (min-width:768px){:root{--header-height:68px}}
.t-display-2xl,.t-display-xl,.t-display-lg,.t-display-md,.t-display-sm{font-weight:400}

html{background:var(--cream)}
body{overflow-x:hidden}
.frame{display:none}
.skip{position:absolute;left:-9999px;top:0;z-index:var(--z-max);background:var(--color-bg-surface);padding:var(--space-3) var(--space-4);font-size:var(--text-body-sm)}
.skip:focus{left:var(--space-4);top:var(--space-4)}

.site-header{position:sticky;top:0;z-index:var(--z-header);block-size:var(--header-height);display:flex;align-items:center;background:transparent;transition:background-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard)}
.site-header.is-scrolled{background:var(--color-bg-surface);box-shadow:var(--shadow-sm)}
.header-inner{display:flex;align-items:center;gap:var(--space-8)}
.u-rule{display:none}
.areas li::before,.article__body li::before{display:none}
.areas li,.article__body li{grid-template-columns:1fr}
.c-button{border-radius:var(--radius-pill)}
.wordmark{font-family:var(--font-display);font-size:19px;letter-spacing:-0.02em;text-decoration:none;color:var(--color-text-primary);white-space:nowrap}
.wordmark span{color:var(--color-text-accent);margin-inline-start:.28em}
.site-nav{margin-inline-start:auto;display:flex;align-items:center;gap:var(--space-5)}
.site-nav a{font:var(--weight-medium) var(--text-caption)/1 var(--font-sans);text-decoration:none;color:var(--color-text-secondary);padding-block:var(--space-2);border-block-end:1px solid transparent}
.site-nav a:hover{color:var(--color-text-primary);border-block-end-color:var(--color-border-accent)}
.site-nav a[aria-current=page]{color:var(--color-text-primary);border-block-end-color:var(--color-border-accent)}
.site-nav a.nav-cta{margin-inline-start:var(--space-2);font-weight:var(--weight-medium);border-block-end-color:transparent;color:var(--ink-950)}
.site-nav a.nav-cta:hover,.site-nav a.nav-cta[aria-current=page]{border-block-end-color:transparent;color:var(--ink-950)}
.nav-toggle{display:none;margin-inline-start:auto;inline-size:44px;block-size:44px;background:none;border:0;cursor:pointer;position:relative}
.nav-toggle span{position:absolute;inset-inline:11px;block-size:1px;background:currentColor;transition:transform var(--duration-base) var(--ease-standard),opacity var(--duration-fast) linear}
.nav-toggle span:first-child{top:19px}
.nav-toggle span:last-child{top:25px}
.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}
.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}

.over-hero .site-header:not(.is-scrolled){color:var(--color-text-on-inverse)}
.over-hero .site-header:not(.is-scrolled) .wordmark{color:var(--color-text-on-inverse)}
.over-hero .site-header:not(.is-scrolled) .wordmark span{color:var(--brass-300)}
.over-hero .site-header:not(.is-scrolled) .site-nav a{color:rgba(251,247,238,.82)}
.over-hero .site-header:not(.is-scrolled) .site-nav a:hover{color:#fff}
.over-hero .site-header:not(.is-scrolled) .site-nav a.nav-cta{color:var(--ink-950)}

@media (max-width:900px){
  .nav-toggle{display:block}
  .site-nav{position:fixed;inset:var(--header-height) 0 auto 0;margin:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--color-bg-surface);border-block-end:var(--hairline);padding:var(--space-4) var(--gutter) var(--space-6);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard);box-shadow:var(--shadow-md)}
  .site-nav.is-open{opacity:1;transform:none;pointer-events:auto}
  .site-nav a{color:var(--color-text-primary);inline-size:100%;padding-block:var(--space-4);border-block-end:var(--hairline)}
  .site-nav .nav-cta{margin:var(--space-5) 0 0;inline-size:auto}
  .over-hero .site-header:not(.is-scrolled) .site-nav a{color:var(--color-text-primary)}
}

.hero{position:relative;min-block-size:95svh;display:flex;align-items:center;margin-block-start:calc(-1 * var(--header-height));padding-block:calc(var(--header-height) + var(--space-16)) var(--space-24);background:var(--char-900);overflow:hidden;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media video,.hero__media img{inline-size:100%;block-size:100%;object-fit:cover;filter:saturate(.72) contrast(1.03)}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(23,24,26,.5) 0%,rgba(23,24,26,.42) 26%,rgba(23,24,26,.72) 62%,rgba(23,24,26,.92) 100%)}
.hero__inner{display:grid;gap:var(--space-6);max-inline-size:620px}
.hero h1{color:var(--color-text-on-inverse);max-inline-size:18ch;font-size:var(--text-display-xl);line-height:1.08}
.hero__lede{display:grid;gap:var(--space-4);max-inline-size:46ch;color:rgba(251,247,238,.82)}
.hero__lede p:first-child{font-size:var(--text-body-lg);color:#fff}
.hero__cta{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-block-start:var(--space-4)}
@media (min-width:768px){.hero__inner{max-inline-size:660px}}
@media (min-width:1280px){.hero__inner{max-inline-size:720px}}

.page-head{padding-block:calc(var(--header-height) * .6 + var(--space-16)) var(--space-16);border-block-end:var(--hairline);text-align:center}
.page-head h1{max-inline-size:22ch;margin-inline:auto}
.page-head .eyebrow{text-align:center}
.page-head__lede{display:grid;gap:var(--space-4);max-inline-size:58ch;margin:var(--space-8) auto 0;font-size:var(--text-body-lg)}
@media (min-width:1024px){.page-head{padding-block-start:calc(var(--header-height) * .6 + var(--space-20))}}

.band--subtle{background:var(--color-bg-subtle)}
.band--surface{background:var(--color-bg-surface)}
.band--ink{background:var(--color-bg-inverse);color:var(--color-text-on-inverse)}
.band--ink h2,.band--ink h3{color:var(--color-text-on-inverse)}

.split{display:grid;gap:var(--space-10)}
.split__body{display:grid;gap:var(--space-5);max-inline-size:64ch}
@media (min-width:1024px){
  .split{grid-template-columns:5fr 7fr;gap:var(--space-16);align-items:start}
  .split--reverse .split__lead{order:2}
  .split--offset .split__body{padding-block-start:var(--space-6)}
}
.split__lead h2{max-inline-size:20ch}

.figure{position:relative;overflow:hidden;border-radius:var(--radius-xl);background:var(--color-bg-subtle)}
.figure img{inline-size:100%;filter:saturate(.68) contrast(1.03);transition:filter var(--duration-slow) var(--ease-standard)}
.figure:hover img{filter:saturate(1) contrast(1)}
.figure--tall img{aspect-ratio:4/5;object-fit:cover}
.figure--wide img{aspect-ratio:16/9;object-fit:cover}
.figure--pano img{aspect-ratio:21/9;object-fit:cover}
.figure--square img{aspect-ratio:1/1;object-fit:cover}

.bleed{width:100vw;margin-inline:calc(50% - 50vw);position:relative}
.bleed img{inline-size:100%;block-size:clamp(320px,52vw,620px);object-fit:cover;filter:saturate(.72) contrast(1.03)}

.pair{display:grid;gap:var(--space-12)}
@media (min-width:768px){.pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-10)}}
@media (min-width:1024px){.pair{gap:var(--space-16)}.pair>*+*{padding-block-start:var(--space-16)}}
.pair__item{display:grid;gap:var(--space-5);align-content:start}
.pair__item h3{max-inline-size:22ch}

.numbered{border-block-start:var(--hairline);margin-block-start:var(--space-12)}
.item{display:grid;gap:var(--space-4);padding-block:var(--space-10);border-block-end:var(--hairline)}
.item__index{font:var(--weight-regular) var(--text-mono-sm)/1 var(--font-mono);color:var(--color-text-accent);letter-spacing:.08em}
.item h3{transition:color var(--duration-fast) var(--ease-standard)}
.item:hover h3{color:var(--color-text-accent)}
.item__body{display:grid;gap:var(--space-4);max-inline-size:62ch}
@media (min-width:768px){.item{grid-template-columns:auto 4fr 7fr;gap:var(--space-8);align-items:start}}

.values{display:grid;gap:0;border-block-start:var(--hairline);margin-block-start:var(--space-10)}
.value{padding-block:var(--space-8);border-block-end:var(--hairline);display:grid;gap:var(--space-3)}
@media (min-width:768px){.value{grid-template-columns:4fr 8fr;gap:var(--space-8)}}
.value p{max-inline-size:62ch}

.client{padding-block:var(--section-padding-y);border-block-start:var(--hairline)}
.client:first-of-type{border-block-start:0}
.client__body{display:grid;gap:var(--space-5);max-inline-size:64ch}
.areas{margin-block-start:var(--space-10)}
.areas h4,.mandate h4{font:var(--weight-semibold) var(--text-overline)/1.2 var(--font-sans);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-accent);margin-block-end:var(--space-5)}
.areas ul{list-style:none;padding:0;display:grid;border-block-start:var(--hairline)}
.areas li{padding-block:var(--space-4);border-block-end:var(--hairline);font-size:var(--text-body-sm);color:var(--color-text-secondary);display:grid;grid-template-columns:auto 1fr;gap:var(--space-4)}
.areas li::before{content:'';inline-size:var(--space-5);block-size:1px;background:var(--color-border-accent);margin-block-start:.7em}
@media (min-width:768px){.areas ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-10)}}
.mandate{margin-block-start:var(--space-12);padding:var(--space-8);background:var(--color-bg-subtle);border-inline-start:var(--border-width-heavy) solid var(--color-border-accent);border-radius:0 var(--radius-md) var(--radius-md) 0;display:grid;gap:var(--space-4)}
.mandate p{max-inline-size:70ch;font-size:var(--text-body-sm)}
.mandate h3{font:var(--weight-regular) var(--text-display-sm)/1.2 var(--font-display)}

.cta{display:grid;gap:var(--space-5);justify-items:center;text-align:center;max-inline-size:44ch;margin-inline:auto}
.cta h2{max-inline-size:20ch}
.cta p{color:rgba(251,247,238,.82)}
.cta .c-button{margin-block-start:var(--space-3)}
.band--ink .u-rule{background:var(--brass-400)}

.insights-layout{display:grid;gap:var(--space-12)}
@media (min-width:1024px){.insights-layout{grid-template-columns:4fr 8fr;gap:var(--space-16);align-items:start}.insights-index{position:sticky;top:calc(var(--header-height) + var(--space-10))}}
.insights-index{display:none}
@media (min-width:1024px){.insights-index{display:block}}
.insights-index ol{list-style:none;padding:0;margin:0;display:grid;border-block-start:var(--hairline)}
.insights-index li{border-block-end:var(--hairline)}
.insights-index a{display:grid;gap:var(--space-1);padding-block:var(--space-3);text-decoration:none;color:var(--color-text-secondary);font-size:var(--text-body-sm);border-inline-start:1px solid transparent;padding-inline-start:var(--space-4);margin-inline-start:calc(-1 * var(--space-4))}
.insights-index a:hover{color:var(--color-text-primary)}
.insights-index a.is-active{color:var(--color-text-primary);border-inline-start-color:var(--color-border-accent)}
.insights-index time{font-family:var(--font-numeric);font-variant-numeric:tabular-nums lining-nums;font-size:var(--text-caption);color:var(--color-text-muted)}

.article{padding-block:var(--space-16);border-block-end:var(--hairline)}
.article:first-child{padding-block-start:0}
.article:last-child{border-block-end:0}
.article time{display:block;font-family:var(--font-numeric);font-variant-numeric:tabular-nums lining-nums;font-size:var(--text-caption);color:var(--color-text-muted);margin-block-end:var(--space-4)}
.article h2{max-inline-size:26ch}
.article__body{display:grid;gap:var(--space-5);margin-block-start:var(--space-6);max-inline-size:68ch}
.article__body ul{list-style:none;padding:0;display:grid;gap:var(--space-3)}
.article__body li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);color:var(--color-text-secondary)}
.article__body li::before{content:'';inline-size:var(--space-4);block-size:1px;background:var(--color-border-accent);margin-block-start:.8em}

.offices{display:grid;gap:var(--space-10);margin-block-start:var(--space-12)}
@media (min-width:768px){.offices{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12)}}
.office{display:grid;gap:var(--space-5)}
.office h3{font:var(--weight-regular) var(--text-display-sm)/1.2 var(--font-display)}
.office dl{display:grid;gap:var(--space-2);margin:0}
.office dd{margin:0;font-family:var(--font-mono);font-size:var(--text-mono-sm);color:var(--color-text-muted)}

.form{display:grid;gap:var(--space-6);margin-block-start:var(--space-10);max-inline-size:720px}
@media (min-width:640px){.form{grid-template-columns:repeat(2,minmax(0,1fr))}.form .c-field--full,.form .form__foot{grid-column:1/-1}}
.form__foot{display:flex;justify-content:flex-start}
.form textarea.c-field__input{min-block-size:140px}

.site-footer{margin-block-start:auto}.footer-top{display:grid;gap:var(--space-10);padding-block-end:var(--space-10);border-block-end:1px solid rgba(243,179,28,.32)}
@media (min-width:768px){.footer-top{grid-template-columns:4fr 8fr;align-items:start;gap:var(--space-16)}}
.wordmark--dark{color:var(--color-text-on-inverse)}
.wordmark--dark span{color:var(--brass-300)}
.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-8)}
@media (min-width:768px){.footer-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4) var(--space-8)}}
.footer-nav a{color:var(--color-text-on-inverse);text-decoration:none;font-size:var(--text-body-sm)}
.footer-nav a:hover{color:var(--brass-300)}
.copyright{margin-block-start:var(--space-8);color:var(--brass-300)}

a.c-button{text-decoration:none}
.c-button .arrow{transition:transform var(--duration-base) var(--ease-standard)}
.c-button:hover .arrow{transform:translateX(3px)}
.eyebrow{display:block;margin-block-end:var(--space-4)}
.section-head{display:grid;gap:var(--space-4);margin-block-end:var(--space-12)}
@media (min-width:768px){.section-head{grid-template-columns:1fr auto;align-items:end}}

.js .reveal{opacity:0;transform:translateY(16px)}
.js .reveal.is-in{opacity:1;transform:none;transition:opacity var(--duration-deliberate) var(--ease-entrance),transform var(--duration-deliberate) var(--ease-entrance)}
.js .reveal.d1.is-in{transition-delay:80ms}
.js .reveal.d2.is-in{transition-delay:160ms}
.js .reveal.d3.is-in{transition-delay:240ms}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}}

.cards{display:grid;gap:var(--space-6)}
@media (min-width:768px){.cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-6);align-items:stretch}.card{grid-column:span 3}.card--wide{grid-column:span 6}.card--half{grid-column:span 3}.card--third{grid-column:span 3}}
@media (min-width:1024px){.card--third{grid-column:span 2}.card--feature{display:grid;grid-template-columns:5fr 7fr;align-items:stretch}.card--feature .card__media{block-size:100%}.card--feature .card__media img{block-size:100%;aspect-ratio:auto;min-block-size:320px}.card--feature>details{display:flex;flex-direction:column;justify-content:center}.card--reverse .card__media{order:2}}
@media (min-width:1024px){.cards{gap:var(--space-8)}}
.card{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--duration-base) var(--ease-standard),transform var(--duration-slow) var(--ease-standard),box-shadow var(--duration-slow) var(--ease-standard)}
.card:hover{border-color:var(--amber);transform:translateY(-4px);box-shadow:var(--shadow-md)}
.card:has(details[open]){border-color:var(--amber)}
.card__media{overflow:hidden;background:var(--color-bg-subtle)}
.card__media img{inline-size:100%;aspect-ratio:16/9;object-fit:cover;filter:saturate(.7) contrast(1.03);transition:transform var(--duration-slower) var(--ease-standard),filter var(--duration-slower) var(--ease-standard)}
.card--wide .card__media img{aspect-ratio:21/9}
.card:hover .card__media img{transform:scale(1.04);filter:saturate(1) contrast(1)}
.card summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-4);align-items:center;padding:var(--space-6)}
.card summary::-webkit-details-marker{display:none}
.card summary::marker{content:''}
.card__index{font:var(--weight-regular) var(--text-mono-sm)/1 var(--font-mono);color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-standard)}
.card:hover .card__index,.card:has(details[open]) .card__index{color:var(--color-text-accent)}
.card h3{font:var(--weight-regular) var(--text-display-sm)/1.15 var(--font-display);color:var(--color-text-primary)}
.card__toggle{inline-size:34px;block-size:34px;flex:none;border-radius:var(--radius-pill);border:1px solid var(--color-border-default);display:grid;place-items:center;font:var(--weight-regular) 18px/1 var(--font-sans);color:var(--color-text-primary);transition:transform var(--duration-base) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}
.card:hover .card__toggle{border-color:var(--amber)}
.card:has(details[open]) .card__toggle{background:var(--amber);border-color:var(--amber);transform:rotate(135deg)}
.card__reveal{display:grid;gap:var(--space-4);padding:0 var(--space-6) var(--space-6);max-inline-size:64ch;animation:cardOpen var(--duration-slow) var(--ease-entrance)}
.card__reveal p{font-size:var(--text-body-sm)}
@keyframes cardOpen{from{opacity:0;transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.card:hover{transform:none}.card__reveal{animation:none}}

.cl{padding-block:var(--section-padding-y);border-block-start:var(--hairline)}
.cl:first-of-type{border-block-start:0}
.cl__grid{display:grid;gap:var(--space-10)}
.cl__body{display:grid;gap:var(--space-5)}
.cl__body p{max-inline-size:62ch}
.cl h2{max-inline-size:20ch}
@media (min-width:1024px){
  .cl--a .cl__grid{grid-template-columns:5fr 7fr;gap:var(--space-16);align-items:start}
  .cl--a .cl__media{position:sticky;top:calc(var(--header-height) + var(--space-10))}
  .cl--b .cl__grid{grid-template-columns:7fr 4fr;gap:var(--space-16);align-items:start}
  .cl--b .cl__media{margin-block-start:var(--space-20)}
  .cl--c .cl__grid{grid-template-columns:1fr}
  .cl--c .cl__two{columns:2;column-gap:var(--space-16)}
  .cl--c .cl__two p{margin-block-end:var(--space-5);max-inline-size:none}
  .cl--c h2{font-size:var(--text-display-xl)}
  .cl--d .cl__grid{grid-template-columns:8fr 4fr;gap:var(--space-16);align-items:end}
}
.areas--chips ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3);border:0}
.areas--chips li{display:block;padding:var(--space-3) var(--space-5);border:1px solid var(--color-border-default);border-radius:var(--radius-pill);font-size:var(--text-body-sm);color:var(--color-text-secondary);transition:border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}
.areas--chips li:hover{border-color:var(--amber);color:var(--color-text-primary);background:var(--amber-tint)}
.mandate--dark{background:var(--char-900);color:rgba(251,247,238,.8);border-radius:var(--radius-lg);border-inline-start-color:var(--amber);padding:var(--space-10)}
.mandate--dark h3,.mandate--dark h4{color:var(--cream)}
.mandate--dark h4{color:var(--brass-300)}
.mandate--wide{margin-block-start:var(--space-16)}
@media (min-width:1280px){.mandate--wide{margin-inline:calc(-1 * var(--space-10))}}

.card--third h3{font-size:var(--text-heading-lg);line-height:1.25}
.card--third summary{padding:var(--space-5);gap:var(--space-3)}
.card--third .card__reveal{padding:0 var(--space-5) var(--space-5)}
.card summary h3{padding-inline-end:var(--space-2)}

.card>details{min-inline-size:0}
.card--half summary,.card--third summary{align-items:start}
.card--feature .card__reveal{max-inline-size:56ch}

.acc{border-block-start:1px solid var(--color-border-default)}
.acc__item{border-block-end:1px solid var(--color-border-default)}
.acc__head{inline-size:100%;display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-5);align-items:center;padding-block:var(--space-8);background:none;border:0;cursor:pointer;text-align:start;color:var(--color-text-primary)}
.acc__index{font:var(--weight-regular) var(--text-mono-sm)/1 var(--font-mono);color:var(--color-text-accent);padding-block-start:.35em;transition:color var(--duration-fast) var(--ease-standard)}
.acc__title{font:var(--weight-regular) var(--text-display-sm)/1.15 var(--font-display);transition:color var(--duration-fast) var(--ease-standard),transform var(--duration-slow) var(--ease-standard)}
.acc__mark{position:relative;inline-size:34px;block-size:34px;border-radius:var(--radius-pill);border:1px solid var(--color-border-default);flex:none;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}
.acc__mark::before,.acc__mark::after{content:'';position:absolute;inset-block-start:50%;inset-inline-start:50%;background:currentColor;translate:-50% -50%}
.acc__mark::before{inline-size:12px;block-size:1px}
.acc__mark::after{inline-size:1px;block-size:12px;transition:opacity var(--duration-fast) linear}
.acc__head:hover .acc__index{color:var(--color-text-accent)}
.acc__head:hover .acc__title{color:var(--color-text-accent)}
.acc__head:hover .acc__mark{border-color:var(--amber)}
.acc__item.is-open>.acc__head .acc__mark{background:var(--amber);border-color:var(--amber);rotate:180deg}
.acc__item.is-open>.acc__head .acc__mark::after{opacity:0}
.acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-slow) var(--ease-standard)}
.acc__item.is-open>.acc__panel{grid-template-rows:1fr}
.acc__panel-inner{overflow:hidden;display:grid;gap:var(--space-4)}
.acc__item.is-open>.acc__panel>.acc__panel-inner{padding-block-end:var(--space-8)}
.acc__panel-inner p{max-inline-size:62ch;opacity:0;transform:translateY(6px);transition:opacity var(--duration-slow) var(--ease-entrance) 60ms,transform var(--duration-slow) var(--ease-entrance) 60ms}
.acc__item.is-open>.acc__panel>.acc__panel-inner p{opacity:1;transform:none}
@media (min-width:768px){
  .acc__head{grid-template-columns:64px 1fr auto;padding-block:var(--space-10)}
  .acc__title{font-size:var(--text-display-md)}
  .acc__head:hover .acc__title{transform:translateX(6px)}
  .acc__panel-inner{padding-inline-start:64px}
}
@media (prefers-reduced-motion:reduce){.acc__head:hover .acc__title{transform:none}.acc__panel{transition:none}}

.exp{display:grid;gap:var(--space-10)}
@media (min-width:1024px){.exp{grid-template-columns:5fr 7fr;gap:var(--space-16);align-items:start}.exp__media{position:sticky;top:calc(var(--header-height) + var(--space-10))}.exp .acc__head{grid-template-columns:44px 1fr auto;padding-block:var(--space-8)}.exp .acc__title{font-size:var(--text-display-sm)}.exp .acc__panel-inner{padding-inline-start:44px}}

.tabs{position:sticky;top:var(--header-height);z-index:var(--z-sticky);padding-block:var(--space-4);background:color-mix(in srgb,var(--color-bg-canvas) 88%,transparent);border-block-end:1px solid var(--color-border-subtle)}
.tabs__inner{display:flex;overflow-x:auto;scrollbar-width:none}
.tabs__inner::-webkit-scrollbar{display:none}
.tabs__set{position:relative;display:flex;gap:var(--space-1);padding:4px;border:1px solid var(--color-border-default);border-radius:var(--radius-pill);background:var(--color-bg-subtle)}
.tabs__glide{position:absolute;inset-block:4px;inset-inline-start:0;border-radius:var(--radius-pill);background:var(--char-900);transition:transform var(--duration-slow) var(--ease-standard),width var(--duration-slow) var(--ease-standard);pointer-events:none}
.tabs__btn{position:relative;z-index:1;display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:none;border:0;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;font:var(--weight-medium) var(--text-body-sm)/1 var(--font-sans);color:var(--color-text-secondary);transition:color var(--duration-fast) var(--ease-standard)}
.tabs__btn:hover{color:var(--color-text-primary)}
.tabs__btn.is-active{color:var(--cream)}
.tabs__num{font:var(--weight-regular) var(--text-mono-sm)/1 var(--font-mono);color:var(--color-text-accent);transition:color var(--duration-fast) var(--ease-standard)}
.tabs__btn.is-active .tabs__num{color:var(--brass-300)}
@media (max-width:640px){.tabs__btn{padding:var(--space-3) var(--space-4)}}

.pane[hidden]{display:none}
.pane{display:grid;gap:var(--space-12);animation:paneIn var(--duration-slower) var(--ease-entrance)}
@keyframes paneIn{from{opacity:0;transform:translateY(14px)}}
.pane__hero{position:relative;border-radius:var(--radius-xl);overflow:hidden}
.pane__hero img{inline-size:100%;block-size:clamp(280px,42vw,520px);object-fit:cover;filter:saturate(.72) contrast(1.03)}
.pane__hero h2{position:absolute;inset-block-end:var(--space-8);inset-inline-start:var(--space-8);z-index:1;color:var(--cream);max-inline-size:18ch}
.pane__text{display:grid;gap:var(--space-8)}
.pane__lede{font:var(--weight-regular) var(--text-display-sm)/1.3 var(--font-display);color:var(--color-text-primary);max-inline-size:26ch}
.pane__body{display:grid;gap:var(--space-5);max-inline-size:62ch}
.pane__areas ul{list-style:none;padding:0;display:grid;gap:0;border-block-start:1px solid var(--color-border-default)}
.pane__areas li{position:relative;padding:var(--space-5) var(--space-4) var(--space-5) var(--space-10);border-block-end:1px solid var(--color-border-default);color:var(--color-text-secondary);transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}
.pane__areas li::before{content:'';position:absolute;inset-block-start:calc(var(--space-5) + .75em - 3.5px);inset-inline-start:var(--space-4);inline-size:7px;block-size:7px;background:var(--amber);opacity:.85;transition:transform var(--duration-base) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}
.pane__areas li:hover{color:var(--color-text-primary);background:var(--color-bg-subtle)}
.pane__areas li:hover::before{transform:scale(1.3);opacity:1}
.pane__areas h3,.pane__mandate h3{margin-block-end:var(--space-5)}
.pane__mandate{background:var(--char-900);color:rgba(251,247,238,.8);border-radius:var(--radius-lg);padding:var(--space-10);display:grid;gap:var(--space-4)}
.pane__mandate h3{color:var(--brass-300)}
.pane__mandate h4{font:var(--weight-regular) var(--text-display-sm)/1.2 var(--font-display);color:var(--cream)}
.pane__mandate p{max-inline-size:70ch;font-size:var(--text-body-sm)}
@media (min-width:1024px){
  .pane{gap:var(--space-16)}
  .pane__text{grid-template-columns:5fr 7fr;gap:var(--space-16);align-items:end}
  .pane__mandate{padding:var(--space-16)}
  .pane__areas ul{grid-template-columns:1fr 1fr;column-gap:var(--space-16)}
  .pane__areas li:nth-last-child(-n+2){border-block-end:0}
}
@media (prefers-reduced-motion:reduce){.pane{animation:none}}

.pane__body p,.pane__mandate p{font-size:1.0625rem;line-height:1.65}
p.pane__lede{font-size:var(--text-display-md)}
.pane__body{gap:var(--space-6)}
.pane__areas li{font-size:1.0625rem;line-height:1.5}
.pane__mandate p{font-size:1.0625rem}
.pane__mandate h4{font-size:var(--text-display-md)}
.tabs__btn{font-size:1rem}
@media (min-width:1024px){p.pane__lede{font-size:var(--text-display-lg)}}

body{font-size:1.0625rem}
p,li{font-size:1.0625rem;line-height:1.65}
.t-body-lg{font-size:1.25rem}
.site-nav a{font-size:1rem}
.t-overline,.eyebrow{font-size:.8125rem}
.t-micro{font-size:.8125rem}
.c-button--sm{font-size:.9375rem}

.u-pull-top{margin-block-start:var(--space-20)}
.wordmark{display:flex;align-items:center;line-height:0}
.wordmark img{block-size:26px;inline-size:auto;display:block}
.wordmark img.wordmark__cream{display:none}
.over-hero .site-header:not(.is-scrolled) img.wordmark__ink{display:none}
.over-hero .site-header:not(.is-scrolled) img.wordmark__cream{display:block}
.wordmark--dark img{block-size:30px}
@media (min-width:768px){.wordmark img{block-size:30px}.wordmark--dark img{block-size:34px}}
.site-nav a.nav-cta{block-size:auto;padding:.6875rem 1.375rem;line-height:1.1}
@media (max-width:900px){.site-nav a.nav-cta{padding:.875rem 1.5rem;text-align:center;justify-content:center}}

.offices-head{display:grid;gap:var(--space-3);margin-block-end:var(--space-10)}
.offices-email a{font-family:var(--font-mono);font-size:1rem;letter-spacing:.01em}

.foot{display:grid;gap:var(--space-10);padding-block:var(--space-16) var(--space-8)}
.foot__brand img{block-size:32px}
.foot__col{display:grid;gap:var(--space-3);align-content:start}
.foot__label{font:var(--weight-medium) .8125rem/1 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass-300);margin-block-end:var(--space-2)}
.foot__col a,.foot__col p{color:rgba(251,247,238,.78);font-size:1rem;line-height:1.55;text-decoration:none}
.foot__col a{transition:color var(--duration-fast) var(--ease-standard);width:fit-content}
.foot__col a:hover{color:var(--brass-300)}
.foot__bar{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-8);justify-content:space-between;align-items:center;padding-block-start:var(--space-8);border-block-start:1px solid rgba(243,179,28,.28)}
.foot__bar p,.foot__bar a{color:rgba(251,247,238,.6)}
.foot__bar a{text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}
.foot__bar a:hover{color:var(--brass-300)}
@media (min-width:1024px){.foot{padding-block:var(--space-16) var(--space-10)}}

.doc{display:grid;gap:var(--space-12);max-inline-size:74ch}
.doc__sec{display:grid;gap:var(--space-4)}
.doc__sec h2{font:var(--weight-regular) var(--text-display-sm)/1.2 var(--font-display);color:var(--color-text-primary)}
.doc__sec h3{font:var(--weight-medium) 1.0625rem/1.4 var(--font-sans);color:var(--color-text-primary);margin-block-start:var(--space-2)}
.doc__list{display:grid;gap:var(--space-3);padding-inline-start:1.25rem}
.doc__list li{color:var(--color-text-secondary)}

.cookie{position:fixed;inset-inline:var(--space-4);inset-block-end:var(--space-4);z-index:var(--z-tooltip);display:grid;gap:var(--space-5);padding:var(--space-6);background:var(--char-900);color:rgba(251,247,238,.82);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(12px);transition:opacity var(--duration-slow) var(--ease-entrance),transform var(--duration-slow) var(--ease-entrance)}
.cookie.is-in{opacity:1;transform:none}
.cookie p{font-size:1rem;line-height:1.55;max-inline-size:60ch}
.cookie a{color:var(--brass-300)}
.cookie__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.cookie .c-button{block-size:auto;min-block-size:44px;padding:.75rem 1.375rem;line-height:1.1}
.cookie .c-button--secondary{color:var(--cream);border-color:rgba(251,247,238,.45);background:none}
.cookie .c-button--secondary:hover{background:rgba(251,247,238,.1);border-color:var(--cream)}
@media (min-width:768px){.cookie{inset-inline:auto var(--space-8);inset-block-end:var(--space-8);max-inline-size:440px;padding:var(--space-6) var(--space-8)}.cookie__actions{justify-content:flex-end}}
@media (prefers-reduced-motion:reduce){.cookie{transition:none;opacity:1;transform:none}}
.doc__intro{display:grid;gap:var(--space-4);padding-block-end:var(--space-4)}
.doc__intro p{font-size:1.125rem;line-height:1.6}

.site-nav a.lang{font-family:var(--font-mono);font-size:.875rem;letter-spacing:.08em;color:var(--color-text-muted)}
.site-nav a.lang:hover,.site-nav a.lang[aria-current=page]{color:var(--color-text-primary)}
.over-hero .site-header:not(.is-scrolled) .site-nav a.lang{color:rgba(251,247,238,.65)}
.over-hero .site-header:not(.is-scrolled) .site-nav a.lang:hover{color:#fff}

.hero__title .w{display:inline-block;overflow:hidden;vertical-align:top;padding-block-end:.08em;margin-block-end:-.08em}
.hero__title .w i{display:inline-block;font-style:inherit;transform:translateY(105%);opacity:0;transition:transform 720ms var(--ease-entrance),opacity 520ms linear}
.hero__title.is-in .w i{transform:none;opacity:1}
@media (prefers-reduced-motion:reduce){.hero__title .w i{transform:none;opacity:1;transition:none}}

.article__figure{margin-block-start:var(--space-6);max-inline-size:68ch}
