/* Brand Strategy UK design system
   Type: Jost for every heading; Instrument Sans for body, UI and labels. No monospace, no tracked capitals.
   Colour: pine and forest greens with a warm clay counterpoint, sage and teal support, clean neutrals.
   Grid: 12 columns. Two layouts only: a header block (left edge = shell) and a 5/7 split. */
@font-face{font-family:"Jost";src:url("/fonts/jost.woff2") format("woff2");font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("/fonts/instrument-sans.woff2") format("woff2");font-style:normal;font-weight:400 700;font-stretch:75% 100%;font-display:swap}

:root{
  --pine:#0C2B23;--pine-2:#113629;--forest:#1A4A3A;--moss:#2F6B55;--sage:#8DB3A0;--sage-2:#C9DCD1;--mist:#EAF1EC;
  --clay:#B4532F;--clay-2:#9A4424;--clay-soft:#E7A17F;--clay-tint:#F7EBE3;
  --teal:#1D5464;--teal-soft:#D8E8EC;
  /* Tonal ramps: every surface, line and text colour in the site and workspace comes from these. */
  --pine-950:#071A15;--pine-900:#0C2B23;--pine-800:#113629;--pine-700:#1A4A3A;--pine-600:#2F6B55;--pine-500:#4E8A72;--pine-400:#8DB3A0;--pine-300:#B7D0C2;--pine-200:#D5E4DA;--pine-100:#EAF1EC;--pine-50:#F4F8F5;--clay-900:#5E2614;--clay-800:#7E3419;--clay-700:#9A4424;--clay-600:#B4532F;--clay-500:#CC6B45;--clay-400:#E7A17F;--clay-300:#F0C3A9;--clay-200:#F6DCCB;--clay-100:#F9EDE5;--clay-50:#FCF6F2;--teal-900:#0E2F38;--teal-800:#15404C;--teal-700:#1D5464;--teal-600:#2A6C7E;--teal-500:#4A8797;--teal-400:#6FA3B1;--teal-300:#A9CAD3;--teal-200:#D2E4E9;--teal-100:#E6F0F3;--teal-50:#F2F7F9;--heather-900:#2E2540;--heather-800:#3F3350;--heather-700:#54456B;--heather-600:#6B5A86;--heather-400:#A597BD;--heather-200:#DCD5E7;--heather-100:#EEEAF4;
  --ink:#10201B;--body:#33423C;--muted:#566560;--quiet:#606D67;
  --paper:#F6F8F5;--white:#FFFFFF;
  --line:#DCE4DF;--line-2:#C6D2CB;--line-dark:rgba(255,255,255,.14);
  --display:"Jost","Futura","Century Gothic",system-ui,sans-serif;
  --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --max:1280px;--gutter:clamp(20px,4vw,48px);--header:80px;
  --r:6px;--r-lg:10px;
  --shadow-sm:0 1px 2px rgba(12,43,35,.05),0 2px 8px rgba(12,43,35,.04);
  --shadow:0 2px 4px rgba(12,43,35,.04),0 12px 32px rgba(12,43,35,.08);
  --shadow-lg:0 4px 8px rgba(12,43,35,.06),0 30px 60px rgba(12,43,35,.14);
  --ease:cubic-bezier(.2,.7,.2,1);
  --section:clamp(80px,9vw,128px)
}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--pine);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--body);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-kerning:normal}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0 0 1em}
::selection{background:var(--clay-tint);color:var(--ink)}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:2px}
.shell{width:min(calc(100% - 2*var(--gutter)),var(--max));margin-inline:auto}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;padding:10px 14px;background:var(--ink);color:var(--white);border-radius:var(--r)}
.skip:focus{left:8px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
code{font-size:.9em;background:var(--mist);padding:1px 6px;border-radius:4px}

/* ---------- Type scale: one size per level, used everywhere ---------- */
h1,h2,h3,h4{margin:0;color:var(--ink);font-family:var(--display);font-weight:500;letter-spacing:-.012em;text-wrap:balance}
h1{font-size:clamp(2.6rem,5.2vw,4.5rem);line-height:1.04}
h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.1}
h3{font-size:clamp(1.3rem,1.7vw,1.55rem);line-height:1.25}
h4{font-size:1.05rem;line-height:1.35}
.display-xl{font-size:clamp(3rem,6.4vw,5.6rem);line-height:1}
.h2-sm,.legal-body h2,.profile-info h2,.person-card h2,.detail-grid h2,.story-grid h2,.founder-about-grid h2{font-size:clamp(1.6rem,2.3vw,2.1rem);line-height:1.15}
.h3-sm,.hero-ledger h3,.services-note h3,.process h3,.ladder strong{font-size:1.14rem;line-height:1.3}
.lede{max-width:720px;margin:22px 0 0;color:var(--muted);font-size:1.16rem;line-height:1.6}

.kicker{display:flex;align-items:center;gap:12px;margin:0 0 20px;color:var(--clay);font-family:var(--sans);font-size:.88rem;font-weight:600;letter-spacing:.01em}
.kicker:before{content:"";width:28px;height:2px;flex:0 0 28px;background:currentColor;border-radius:2px}
.kicker.light,.dark .kicker,.home-hero .kicker,.site-footer .kicker,.cta-band .kicker,.gen-board .kicker{color:var(--clay-soft)}

/* Arrows are drawn: neither font carries arrow glyphs */
.arw,.arw-ne{display:inline-block;width:1em;height:1em;vertical-align:-.14em;background:currentColor;flex:0 0 auto;
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M3.5 10h12.5M11 5l5 5-5 5" fill="none" stroke="black" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
  mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M3.5 10h12.5M11 5l5 5-5 5" fill="none" stroke="black" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;transition:transform .25s var(--ease)}
.arw-ne{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M5.5 14.5 14.5 5.5M7.5 5.5h7v7" fill="none" stroke="black" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M5.5 14.5 14.5 5.5M7.5 5.5h7v7" fill="none" stroke="black" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>')}
a:hover .arw,button:hover .arw{transform:translateX(3px)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 24px;border:1px solid transparent;border-radius:var(--r);font-family:var(--sans);font-size:.98rem;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s}
.btn:active{transform:translateY(1px)}
.btn-solid{background:var(--forest);border-color:var(--forest);color:var(--white);box-shadow:var(--shadow-sm)}
.btn-solid:hover{background:var(--pine);border-color:var(--pine)}
.btn-signal,.btn-light{background:var(--clay);border-color:var(--clay);color:var(--white);box-shadow:0 1px 2px rgba(0,0,0,.08),0 6px 18px rgba(180,83,47,.28)}
.btn-signal:hover,.btn-light:hover{background:var(--clay-2);border-color:var(--clay-2)}
.btn-outline{background:var(--white);border-color:var(--line-2);color:var(--ink)}
.btn-outline:hover{border-color:var(--forest);color:var(--forest)}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.35);color:var(--white)}
.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:var(--white)}
.btn span:not(.arw){display:none}
.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--forest);font-size:.98rem;font-weight:600;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;font-family:var(--sans)}
.text-link:hover{color:var(--clay)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
[data-gap]{margin-top:32px}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.5) blur(14px)}
.header-inner{width:min(calc(100% - 2*var(--gutter)),var(--max));height:var(--header);margin:auto;display:flex;align-items:center;gap:40px}
.wordmark{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;white-space:nowrap}
.wordmark .name{font-family:var(--display);font-size:1.22rem;font-weight:500;letter-spacing:-.01em;line-height:1}
.wordmark .name b{font-weight:500;color:var(--clay)}
.site-header nav{display:flex;align-items:center;gap:32px;margin-left:auto}
.site-header nav a{position:relative;padding:8px 0;color:var(--body);font-size:.96rem;font-weight:500;text-decoration:none;transition:color .2s}
.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--ink)}
.site-header nav a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--clay)}
.site-header nav .nav-mobile{display:none}
.header-actions{display:flex;align-items:center;gap:24px}
.header-actions .signin{color:var(--muted);font-size:.94rem;font-weight:500;text-decoration:none}
.header-actions .signin:hover{color:var(--ink)}
.header-cta{min-height:46px;padding:0 20px;font-size:.94rem}
.menu{display:none;margin-left:auto;align-items:center;gap:10px;height:44px;padding:0 16px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--white);color:var(--ink);font:600 .92rem var(--sans);cursor:pointer}
.menu i{position:relative;width:16px;height:1.5px;background:currentColor}
.menu i:before,.menu i:after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:currentColor;transition:transform .2s}
.menu i:before{top:-5px}.menu i:after{top:5px}
.site-header.open .menu i{background:transparent}
.site-header.open .menu i:before{transform:translateY(5px) rotate(45deg)}
.site-header.open .menu i:after{transform:translateY(-5px) rotate(-45deg)}

/* Sections */
.section{padding:var(--section) 0}
.soft{background:var(--paper)}
.dark{background:var(--pine);color:rgba(255,255,255,.78)}
.dark h2,.dark h3{color:var(--white)}
.dark .lede,.dark p{color:rgba(255,255,255,.74)}
/* Section header block: kicker, heading, lede. Always starts at the shell's left edge. */
.rail{display:block;max-width:900px}
.rail>div>.hero-actions,.rail>div>.btn{margin-top:32px}
.rail+*{margin-top:56px}
.split-heading{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px)}
.split-heading h2{margin-bottom:22px}
.split-heading p:last-child{color:var(--muted);font-size:1.12rem}

/* Home hero */
.home-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--pine) 0%,var(--pine-2) 55%,var(--pine-800) 100%);color:var(--white);isolation:isolate}
.home-hero:before{content:"";position:absolute;z-index:-1;right:-12%;top:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(47,107,85,.55),rgba(47,107,85,0))}
.home-hero:after{content:"";position:absolute;z-index:-1;left:-10%;bottom:-40%;width:50%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(180,83,47,.16),rgba(180,83,47,0))}
.hero-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(40px,5vw,80px);align-items:center;padding:clamp(64px,8vw,112px) 0 clamp(56px,6vw,88px)}
.home-hero h1{color:var(--white);font-size:clamp(3rem,6vw,5.2rem);line-height:1.02;letter-spacing:-.02em}
.home-hero h1 em{display:block;font-style:normal;color:var(--clay-soft)}
.hero-lede{max-width:560px;margin:28px 0 36px;color:rgba(255,255,255,.8);font-size:clamp(1.08rem,1.3vw,1.22rem);line-height:1.6}
.hero-figure{margin:0;position:relative}
.hero-figure img{width:100%;border-radius:var(--r-lg)}
.hero-ledger{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:36px 0 56px;border-top:1px solid var(--line-dark)}
.hero-ledger img{width:28px;height:28px;margin-bottom:18px;filter:brightness(0) invert(1);opacity:.85}
.hero-ledger h3{color:var(--white);margin-bottom:8px}
.hero-ledger p{margin:0;color:rgba(255,255,255,.66);font-size:.95rem;line-height:1.55}

/* Editorial scenes add a human note beside the existing strategy graphics. */
.editorial-feature{background:var(--pine-50);border-bottom:1px solid var(--line);padding:clamp(52px,6vw,88px) 0}
.editorial-feature-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:center}
.editorial-photo,.about-editorial-photo{position:relative;margin:0;overflow:hidden;border-radius:var(--r-lg);background:var(--pine-200);box-shadow:var(--shadow)}
.editorial-photo img{width:100%;height:clamp(330px,37vw,540px);object-fit:cover}
.editorial-feature-copy{max-width:500px}
.editorial-feature-copy h2{margin-bottom:22px}
.editorial-feature-copy>p:not(.kicker){font-size:1.1rem;color:var(--muted)}
.editorial-feature-copy .text-link{margin-top:14px}
.editorial-photo figcaption,.about-editorial-photo figcaption{position:absolute;left:16px;bottom:16px;max-width:calc(100% - 32px);padding:7px 11px;border-radius:4px;background:rgba(12,43,35,.86);color:var(--white);font-size:.75rem;line-height:1.3;backdrop-filter:blur(5px)}
.editorial-feature--services{background:var(--pine-100)}
.editorial-feature--services .editorial-photo img{height:clamp(320px,32vw,470px);object-position:center 52%}
.about-editorial-photo{margin-top:clamp(44px,6vw,80px)}
.about-editorial-photo img{width:100%;height:clamp(330px,43vw,550px);object-fit:cover;object-position:center 54%}
@media(max-width:900px){.editorial-feature-grid{grid-template-columns:1fr;gap:32px}.editorial-feature-copy{max-width:680px}.editorial-photo img{height:clamp(280px,55vw,500px)}}
@media(max-width:600px){.editorial-feature{padding:48px 0}.editorial-photo img,.editorial-feature--services .editorial-photo img,.about-editorial-photo img{height:310px}.editorial-photo figcaption,.about-editorial-photo figcaption{left:10px;bottom:10px;max-width:calc(100% - 20px);font-size:.69rem}}

/* Engagement ladder strip */
.ladder-strip{background:var(--white);border-bottom:1px solid var(--line)}
.ladder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.ladder-head{display:none}
.ladder a{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;padding:32px 32px 32px 0;color:var(--ink);text-decoration:none;transition:background .25s}
.ladder a+a{padding-left:32px;border-left:1px solid var(--line)}
.ladder .idx{grid-row:span 3;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--mist);color:var(--forest);font-weight:600;font-size:.9rem;font-variant-numeric:tabular-nums}
.ladder strong{font-family:var(--display);font-weight:500;color:var(--ink)}
.ladder small{display:block;margin-top:4px;color:var(--muted);font-size:.95rem;line-height:1.5}
.ladder .fee{grid-column:2;color:var(--clay);font-weight:600;font-size:.95rem;font-variant-numeric:tabular-nums}
.ladder a:hover strong{color:var(--forest)}

/* Cards: one family, separated, softly raised */
.problem-grid,.tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.problem-grid article,.tile,.principles article,.resource-card,.service-card-premium,.work,.person-card,.services-note article,.profile-info>div{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:border-color .25s,box-shadow .25s,transform .25s var(--ease)}
.problem-grid article{display:flex;flex-direction:column;padding:34px 32px 30px;min-height:300px}
.problem-grid>article>span,.principles span{display:inline-flex;align-self:flex-start;padding:5px 12px;border-radius:999px;background:var(--mist);color:var(--forest);font-size:.84rem;font-weight:600}
.problem-grid h3{margin:auto 0 12px;padding-top:44px}
.problem-grid p{margin:0 0 22px;color:var(--muted);font-size:1rem}
.problem-grid a{display:inline-flex;align-items:center;gap:8px;color:var(--forest);font-weight:600;font-size:.96rem;text-decoration:none}
.problem-grid article:hover,.resource-card:hover,.service-card-premium:hover,.person-card:hover{border-color:var(--line-2);box-shadow:var(--shadow);transform:translateY(-3px)}

/* Capability index */
.index-list{border-top:1px solid var(--line-2)}
.index-row{display:grid;grid-template-columns:48px minmax(0,4fr) minmax(0,3fr) 140px 44px;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .25s}
.index-row .n{color:var(--quiet);font-size:.92rem;font-weight:500;font-variant-numeric:tabular-nums}
.index-row h3{font-weight:500}
.index-row .cat{color:var(--muted);font-size:.95rem}
.index-row .fee{color:var(--ink);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.index-row .go{justify-self:end;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line-2);color:var(--forest);transition:background .25s,color .25s,border-color .25s}
.index-row:hover h3{color:var(--forest)}
.index-row:hover .go{background:var(--clay);border-color:var(--clay);color:var(--white)}
.index-group{margin:0;padding:34px 0 12px;color:var(--clay);font-size:.9rem;font-weight:600;border-bottom:1px solid var(--line)}
.index-group:first-child{padding-top:18px}
.index-foot{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:40px}

/* Process */
.process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;counter-reset:step}
.process article{position:relative;padding-top:34px;border-top:1px solid var(--line-dark)}
.process article:before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--clay-soft)}
.process .n{display:block;margin-bottom:14px;color:var(--clay-soft);font-size:.9rem;font-weight:600}
.process h3{margin-bottom:10px}
.process p{margin:0;font-size:1rem}
:not(.dark)>.shell>.process article,.section:not(.dark) .process article{border-top-color:var(--line-2)}
.section:not(.dark) .process .n{color:var(--clay)}
.section:not(.dark) .process article:before{background:var(--clay)}
.section:not(.dark) .process p{color:var(--muted)}

/* Leadership */
.leader{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:center}
.leader figure{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--mist);box-shadow:var(--shadow)}
.leader figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.leader figure figcaption{position:absolute;left:16px;bottom:16px;padding:8px 14px;border-radius:999px;background:rgba(12,43,35,.86);color:var(--white);font-size:.86rem;font-weight:600;backdrop-filter:blur(6px)}
.leader-copy h3{font-size:clamp(1.6rem,2.3vw,2.1rem);line-height:1.15}
.leader-copy .role{margin:8px 0 22px;color:var(--clay);font-weight:600}
.leader-copy p{max-width:620px;color:var(--muted);font-size:1.06rem}
.leader-copy .hero-actions{margin-top:28px}


/* Closing band */
.two-col{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:center}
.dark .two-col p{font-size:1.1rem}
.dark .btn{margin-top:10px}
.section.dark{background:linear-gradient(160deg,var(--pine) 0%,var(--pine-800) 100%)}

/* Inner page hero: heading left (8 cols), intro right (4 cols) */
.page-hero{padding:clamp(64px,7vw,104px) 0 clamp(52px,5vw,80px);background:var(--paper);border-bottom:1px solid var(--line)}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:end}
.page-hero p:last-child{max-width:480px;margin:0;color:var(--muted);font-size:1.12rem}
.page-hero .legal-date{margin-top:12px!important;font-size:.92rem!important;color:var(--quiet)!important}

/* Services */
.services-catalogue{background:var(--white)}
.service-group+.service-group{margin-top:clamp(72px,8vw,112px)}
.service-group-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:end;margin-bottom:40px}
.service-group-head>p{margin:0;max-width:480px;color:var(--muted);font-size:1.04rem}
.service-card-grid{display:grid;gap:24px}
.service-card-grid--three,.service-card-grid--strategy{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-card-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-card-premium{display:flex;flex-direction:column;min-height:360px;padding:32px 30px 26px;color:var(--ink);text-decoration:none}
.service-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.service-card-icon{
  width:54px;height:54px;padding:9px;border:1px solid var(--pine-200);border-radius:14px;
  background:var(--pine-100);box-shadow:inset 0 1px rgba(255,255,255,.7);
  transition:transform .2s var(--ease),background-color .2s;
}
.service-card-premium:hover .service-card-icon{transform:translateY(-3px);background:var(--pine-200)}
.service-badge{padding:5px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--line);color:var(--muted);font-size:.84rem;font-weight:600}
.service-card-premium h3{margin:auto 0 12px;padding-top:48px}
.service-card-premium>p{margin:0;color:var(--muted);font-size:.98rem}
.service-card-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
.service-card-foot strong{color:var(--ink);font-size:1.12rem;font-weight:600;font-variant-numeric:tabular-nums}
.service-card-foot span{display:inline-flex;align-items:center;gap:8px;color:var(--forest);font-size:.95rem;font-weight:600}
.service-card-premium:hover h3{color:var(--forest)}
.service-card-premium--featured{background:linear-gradient(160deg,var(--forest),var(--pine));border-color:var(--forest);color:var(--white)}
.service-card-premium--featured h3,.service-card-premium--featured:hover h3{color:var(--white)}
.service-card-premium--featured>p{color:rgba(255,255,255,.76)}
.service-card-premium--featured .service-card-icon{background:var(--pine-100);border-color:rgba(255,255,255,.45)}
.service-card-premium--featured:hover .service-card-icon{background:var(--white)}
.service-card-premium--featured .service-badge{background:var(--clay);border-color:var(--clay);color:var(--white)}
.service-card-premium--featured .service-card-foot{border-top-color:var(--line-dark)}
.service-card-premium--featured .service-card-foot strong{color:var(--clay-soft)}
.service-card-premium--featured .service-card-foot span{color:var(--white)}
.services-note{margin-top:40px}
.services-note>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.services-note article{padding:30px;background:var(--paper);box-shadow:none}
.services-note .kicker{margin-bottom:12px}
.services-note h3{margin-bottom:8px}
.services-note p{color:var(--muted);font-size:.98rem}
.services-note strong{color:var(--ink)}

/* Service detail */
.breadcrumbs{padding-top:28px;color:var(--quiet);font-size:.92rem}
.breadcrumbs a{color:var(--muted);text-decoration:none}
.breadcrumbs a:hover{color:var(--clay)}
.breadcrumbs span{padding:0 8px;color:var(--line-2)}
.service-hero{padding:0 0 clamp(56px,6vw,88px);background:var(--paper);border-bottom:1px solid var(--line)}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(40px,5vw,80px);align-items:center;padding-top:clamp(40px,5vw,72px)}
.service-sub{margin:18px 0;color:var(--ink);font-family:var(--display);font-size:clamp(1.25rem,1.7vw,1.5rem);line-height:1.35}
.service-copy>p:not(.kicker):not(.service-sub){max-width:600px;color:var(--muted);font-size:1.04rem}
.service-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin:28px 0;padding:18px 22px;max-width:600px;border-radius:var(--r);background:var(--white);border:1px solid var(--line)}
.service-price span{color:var(--muted);font-size:.92rem;font-weight:600}
.service-price strong{color:var(--ink);font-family:var(--display);font-size:1.8rem;font-weight:500;font-variant-numeric:tabular-nums}
.service-price em{flex-basis:100%;font-style:normal;color:var(--muted);font-size:.92rem}
.service-figure{margin:0}
.service-figure img{width:100%;border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}
.service-figure figcaption{margin-top:14px;color:var(--quiet);font-size:.88rem}
.tabs{position:sticky;top:var(--header);z-index:10;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.tabs .shell{display:flex;gap:32px}
.tabs a{padding:16px 0;color:var(--muted);font-size:.95rem;font-weight:500;text-decoration:none;border-bottom:2px solid transparent}
.tabs a:hover{color:var(--ink);border-bottom-color:var(--clay)}
.section[id]{scroll-margin-top:calc(var(--header) + 64px)}
/* The one split layout: 5/7 */
.detail-grid,.story-grid,.founder-about-grid,.legal,.contact-grid,.profile-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px)}
.detail-grid>div:last-child,.detail-grid>ul{max-width:760px}
.detail-grid p{color:var(--muted);font-size:1.06rem}
.check-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.check-list li{position:relative;padding:18px 0 18px 40px;border-bottom:1px solid var(--line);color:var(--ink);font-size:1.08rem}
.check-list li:before{content:"";position:absolute;left:0;top:21px;width:22px;height:22px;border-radius:50%;background:var(--mist) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path d="M6.5 11.3l3 3 6-6.3" fill="none" stroke="%232F6B55" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/22px no-repeat}

/* People and profile */
.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.person-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);overflow:hidden;color:var(--ink);text-decoration:none}
.person-card>img{width:100%;height:100%;min-height:340px;object-fit:cover}
.person-card>div{display:flex;flex-direction:column;padding:34px 32px}
.person-card .role{margin:8px 0 16px;color:var(--clay);font-size:.95rem;font-weight:600}
.person-card p:not(.kicker):not(.role){color:var(--muted)}
.person-card .text-link{margin-top:auto}
.person-card-join{grid-template-columns:1fr;background:linear-gradient(160deg,var(--teal),var(--teal-800));border-color:var(--teal);color:var(--white)}
.person-card-join>div{justify-content:flex-end;min-height:340px}
.person-card-join h2{color:var(--white)}
.person-card-join p:not(.kicker){color:rgba(255,255,255,.76)!important}
.person-card-join .kicker{color:var(--clay-soft)}
.person-card-join .text-link{color:var(--white)}
.profile-page{padding:0 0 clamp(56px,6vw,88px);background:var(--paper);border-bottom:1px solid var(--line)}
.profile-grid{padding-top:clamp(36px,4vw,64px);align-items:start}
.profile-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow)}
.profile-links{display:flex;gap:24px;flex-wrap:wrap;padding:18px 0}
.profile-links a{display:inline-flex;align-items:center;gap:6px;color:var(--forest);font-size:.95rem;font-weight:600;text-decoration:none}
.profile-links a:hover{color:var(--clay)}
.credentials{margin:14px 0 0!important;color:var(--clay)!important;font-family:var(--sans);font-size:1.02rem!important;font-weight:600;letter-spacing:.01em}
.profile-copy .role{margin:6px 0 26px;color:var(--ink);font-size:1.12rem}
.profile-lede{font-size:1.18rem;color:var(--ink)!important}
.profile-copy>p:not(.kicker):not(.role):not(.credentials){max-width:680px;color:var(--muted)}
.profile-site{font-size:.98rem}
.profile-site a{color:var(--forest);font-weight:600}
.profile-copy .hero-actions{margin-top:8px}


.cim-badge{display:flex;align-items:center;gap:18px;padding:18px 20px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg)}
.cim-badge img{width:80px;height:80px;object-fit:contain}
.cim-badge p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.45}
.cim-badge strong{display:block;color:var(--ink);font-weight:600}
.profile-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.profile-info>div{padding:32px 30px}
.profile-info h2{margin-bottom:16px}
.plain-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.plain-list li{padding:13px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.98rem}
.plain-list strong{color:var(--ink);font-weight:600}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.work{display:flex;flex-direction:column;padding:32px 30px 28px}
.work-head{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}
.work-head .n{color:var(--clay);font-weight:600;font-variant-numeric:tabular-nums}
.work-meta{margin:0;color:var(--muted);font-size:.92rem}
.work h3{margin-bottom:10px}
.work-sum{color:var(--body);font-size:1.02rem}
.work dl{margin:8px 0 0;border-top:1px solid var(--line)}
.work dl div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.work dt{color:var(--ink);font-size:.92rem;font-weight:600}
.work dd{margin:0;color:var(--muted);font-size:.96rem;line-height:1.55}
.work-disclosure{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:20px}
.work-disclosure span{display:inline-flex;gap:6px;padding:5px 12px;border-radius:999px;background:var(--mist);font-size:.84rem;color:var(--muted)}
.work-disclosure b{font-weight:600;color:var(--forest)}
.work-feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);padding:0;overflow:hidden}
.work-feature-art{display:flex;flex-direction:column;justify-content:space-between;gap:40px;min-height:360px;padding:40px;background:linear-gradient(160deg,var(--clay-100),var(--clay-200))}
.work-feature-art img{width:170px}
.work-feature-art p{margin:0;max-width:320px;color:var(--ink);font-family:var(--display);font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.12}
.work-feature-copy{display:flex;flex-direction:column;padding:36px 34px 32px}
.work-feature-copy .hero-actions{margin-top:24px}
.work-foot{margin:28px 0 0}

/* Resources */
.resource-catalogue{background:var(--white)}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.resource-card{display:flex;flex-direction:column;min-height:340px;padding:30px 28px 24px}
.resource-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.resource-icon{
  width:54px;height:54px;padding:9px;border:1px solid var(--pine-200);border-radius:14px;
  background:var(--pine-100);box-shadow:inset 0 1px rgba(255,255,255,.7);
  transition:transform .2s var(--ease),background-color .2s;
}
.resource-card:hover .resource-icon{transform:translateY(-3px);background:var(--pine-200)}
.resource-price{padding:5px 12px;border-radius:999px;background:var(--clay-tint);color:var(--clay-2);font-weight:600;font-size:.92rem;font-variant-numeric:tabular-nums}
.resource-card--free .resource-price{background:var(--mist);color:var(--forest)}
.resource-type{margin:auto 0 8px;padding-top:44px;color:var(--muted);font-size:.9rem;font-weight:600}
.resource-card h3{margin:0 0 10px}
.resource-card p:not(.resource-type){margin:0;color:var(--muted);font-size:.97rem}
.resource-card a{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding-top:16px;border-top:1px solid var(--line);color:var(--forest);font-size:.96rem;font-weight:600;text-decoration:none}
.resource-card a span:not(.arw):not(.arw-ne){display:none}
.resource-card--review{background:linear-gradient(160deg,var(--teal),var(--teal-800));border-color:var(--teal)}
.resource-card--review h3{color:var(--white)}
.resource-card--review p:not(.resource-type),.resource-card--review .resource-type{color:rgba(255,255,255,.76)}
.resource-card--review .resource-icon{background:var(--pine-100);border-color:rgba(255,255,255,.45)}
.resource-card--review:hover .resource-icon{background:var(--white)}
.resource-card--review .resource-price{background:var(--clay);color:var(--white)}
.resource-card--review a{color:var(--white);border-top-color:var(--line-dark)}
.resource-note{margin:22px 0 0;color:var(--quiet);font-size:.92rem}

/* About */
.story-copy{max-width:720px;color:var(--muted);font-size:1.1rem}
.principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.principles article{display:flex;flex-direction:column;min-height:260px;padding:30px 28px}
.principles h3{margin:auto 0 10px;padding-top:40px}
.principles p{margin:0;color:var(--muted);font-size:.97rem}
.founder-about-grid{align-items:center}
.founder-about-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow)}
.founder-about-grid h2{margin-bottom:18px}
.founder-about-grid p:not(.kicker){max-width:680px;color:var(--muted);font-size:1.06rem}

/* FAQ */
.faq-list{margin-top:40px;border-top:1px solid var(--line-2);max-width:900px}
.faq-group+.faq-group{margin-top:64px}
.faq-group{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);max-width:none}
.faq-group .faq-list{margin-top:0}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;display:block;padding:22px 52px 22px 0;color:var(--ink);font-family:var(--display);font-size:1.2rem;font-weight:500;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:before,.faq-list summary:after{content:"";position:absolute;right:12px;top:50%;width:14px;height:2px;border-radius:2px;background:var(--clay);transition:transform .25s var(--ease)}
.faq-list summary:before{transform:rotate(90deg)}
.faq-list details[open] summary:before{transform:rotate(0)}
.faq-list summary:hover{color:var(--forest)}
.faq-list details p{max-width:760px;margin:0 0 24px;color:var(--muted);font-size:1.03rem}

/* Contact */
.contact-page{padding:0 0 clamp(56px,6vw,88px);background:var(--paper)}
.contact-grid{padding-top:clamp(36px,4vw,64px)}
.contact-copy>p:not(.kicker){max-width:480px;margin-top:22px;color:var(--muted);font-size:1.1rem}
.contact-copy dl{margin:36px 0 0;border-top:1px solid var(--line-2)}
.contact-copy dl div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.contact-copy dt{color:var(--ink);font-size:.95rem;font-weight:600}
.contact-copy dd{margin:0;color:var(--muted)}
.contact-copy dd a{color:var(--forest);font-weight:600}
.contact-card{padding:clamp(28px,4vw,44px);background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}
#contact-form,#project-brief-form{scroll-margin-top:calc(var(--header) + 16px)}
.form-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 26px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.form-head strong{color:var(--ink);font-family:var(--display);font-size:1.4rem;font-weight:500}
.form-head span{color:var(--muted);font-size:.92rem}
.contact-card label,.client-card label{display:grid;gap:8px;margin-bottom:20px;color:var(--ink);font-size:.95rem;font-weight:600}
.contact-card label span{color:var(--clay)}
.contact-card label small{font-weight:400;color:var(--quiet)}
.contact-card input,.contact-card select,.contact-card textarea,.client-card input{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--white);color:var(--ink);font:400 1rem var(--sans);transition:border-color .2s,box-shadow .2s}
.contact-card input:focus,.contact-card select:focus,.contact-card textarea:focus,.client-card input:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 4px rgba(47,107,85,.14)}
.contact-card textarea{min-height:140px;resize:vertical}
.contact-card label.check{display:flex;align-items:flex-start;gap:12px;font-weight:500;color:var(--body)}
.contact-card label.check input{flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:2px 0 0;padding:0;accent-color:var(--forest)}
.contact-card label.check span{color:var(--body)}
.contact-card button,.client-card .btn{width:100%}
.form-note{margin:14px 0 0;color:var(--muted);font-size:.9rem}
.form-note a{color:var(--forest)}
.ts-slot{margin:0 0 16px}
.ts-slot:empty{margin:0}
.ts-slot[data-failed]{padding:14px 16px;border:1px solid var(--clay);border-radius:var(--r);background:var(--clay-50);color:var(--ink)}
.ts-error-message{margin:0 0 10px;font-size:.9rem;line-height:1.5}
.ts-slot .ts-retry{width:auto;min-height:44px;padding:9px 14px;border:1px solid var(--clay);border-radius:var(--r);background:var(--clay);color:var(--ink);font:600 .9rem var(--sans);cursor:pointer}
.ts-slot .ts-retry:hover{background:var(--white);color:var(--ink)}
.ts-slot .ts-retry:focus-visible{outline:3px solid var(--forest);outline-offset:3px}
.contact-band{background:linear-gradient(120deg,var(--forest),var(--teal))}
.contact-band .shell{display:flex;align-items:center;min-height:200px}
.contact-band blockquote{margin:0;color:var(--white);font-family:var(--display);font-size:clamp(1.6rem,3vw,2.6rem);font-weight:400}
.contact-copy a:not(.btn){color:var(--forest);font-weight:600;text-underline-offset:3px}
.contact-photo{margin:30px 0 0;overflow:hidden;border-radius:var(--r-lg);background:var(--mist)}
.contact-photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.brief-copy .brief-side-note{margin:34px 0;padding:26px 28px;border-top:3px solid var(--clay);background:var(--pine);color:var(--pine-100);border-radius:0 var(--r) var(--r) var(--r)}
.brief-side-note span{display:block;color:var(--clay-soft);font-size:.84rem;font-weight:700}
.brief-side-note strong{display:block;margin-top:8px;color:var(--white);font-family:var(--display);font-size:1.35rem;font-weight:500}
.brief-side-note p{margin:8px 0 0;color:var(--pine-200);font-size:.94rem}
.brief-card{padding:clamp(24px,3.5vw,44px)}
.brief-card .form-head{margin-bottom:34px}
.brief-card fieldset{min-width:0;margin:0;padding:0;border:0}
.brief-card .brief-section{padding-bottom:26px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.brief-card .brief-section legend{width:100%;margin-bottom:22px;color:var(--ink);font-family:var(--display);font-size:1.45rem;font-weight:500}
.brief-card .brief-section legend span,.brief-section-heading>span{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:10px;border-radius:50%;background:var(--clay-tint);color:var(--clay-2);font:700 .85rem var(--sans);vertical-align:4px}
.brief-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.brief-card label{min-width:0}
.brief-card label .lbl{line-height:1.35}
.brief-card .brief-hint{margin:-10px 0 22px;color:var(--muted);font-size:.9rem}
.brief-section-heading{display:flex;align-items:start;gap:4px;margin:2px 0 18px}
.brief-section-heading>span{flex:0 0 34px;margin-top:3px}
.brief-section-heading h2{font-size:1.45rem}
.brief-section-heading p{margin:4px 0 0;color:var(--muted);font-size:.9rem}
.brief-card .brief-service{padding:26px 26px 10px;margin:0 0 34px;border:1px solid var(--sage-2);border-radius:var(--r);background:var(--mist)}
.brief-card .brief-service[hidden],.brief-card .partner-agreement[hidden]{display:none!important}
.brief-card .brief-service legend{padding:0 8px;color:var(--forest);font-family:var(--display);font-size:1.2rem;font-weight:500}
.brief-service>p{margin:0 0 22px;color:var(--body);font-size:.92rem}
.brief-service textarea{min-height:90px;background:var(--white)}
.brief-card .brief-final{border-top:1px solid var(--line);padding-top:28px}
.brief-card .brief-final legend{padding:0 0 8px;color:var(--ink);font-family:var(--display);font-size:1.3rem;font-weight:500}
.brief-card .partner-agreement{padding:18px 20px;margin-bottom:24px;border-left:3px solid var(--clay);background:var(--clay-tint)}
.partner-agreement p{margin:0 0 12px;color:var(--ink);font-size:.92rem}
.partner-agreement label.check{margin:0;align-items:start;font-size:.88rem}
.brief-card .ts-slot{max-width:100%;overflow:hidden}

/* Client area */
.client-shell{min-height:calc(100vh - var(--header));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--paper)}
.client-shell:before{content:"Private client area. Briefs, project updates, deliverables and messages in one place.";display:flex;align-items:flex-end;padding:clamp(40px,6vw,88px);background:radial-gradient(circle at 73% 31%,var(--clay) 0 7px,transparent 8px),radial-gradient(circle at 73% 31%,transparent 0 108px,rgba(255,255,255,.16) 109px 110px,transparent 111px 171px,rgba(255,255,255,.08) 172px 173px,transparent 174px),linear-gradient(145deg,transparent 0 37%,rgba(255,255,255,.035) 37.1% 37.3%,transparent 37.4%),linear-gradient(160deg,var(--forest),var(--pine));color:var(--white);font-family:var(--display);font-size:clamp(1.8rem,2.8vw,2.6rem);font-weight:400;line-height:1.15}
.client-card{align-self:center;justify-self:center;width:min(100% - 40px,460px);margin:60px 0;padding:clamp(28px,4vw,40px);background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.client-card h1{margin-bottom:12px}
.client-card>p{color:var(--muted)}
.client-card .text-link{margin-top:20px}

/* Legal */
.legal{align-items:start}
.legal-toc{position:sticky;top:calc(var(--header) + 32px);display:grid;gap:10px}
.legal-toc a{color:var(--muted);font-size:.96rem;text-decoration:none}
.legal-toc a:hover{color:var(--clay)}
.legal-body{max-width:780px}
.legal-body section{padding:30px 0;border-top:1px solid var(--line)}
.legal-body section:first-child{padding-top:0;border-top:0}
.legal-body section[id]{scroll-margin-top:calc(var(--header) + 24px)}
.legal-body h2{margin-bottom:16px}
.legal-body p{color:var(--body);font-size:1.02rem}
.legal-body a{color:var(--forest);font-weight:600}
.legal-body strong{color:var(--ink)}

/* Generator */
.gen-facts{display:flex;gap:12px;margin:26px 0 0;flex-wrap:wrap}
.gen-facts div{padding:12px 16px;border-radius:var(--r);background:var(--white);border:1px solid var(--line)}
.gen-facts dt{color:var(--ink);font-family:var(--display);font-size:1.3rem;font-weight:500}
.gen-facts dd{margin:0;color:var(--muted);font-size:.9rem}
.gen-studio{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,56px);align-items:start}
.gen-progress{display:flex;align-items:center;gap:16px;margin-bottom:24px;color:var(--muted);font-size:.94rem;font-weight:600}
.gen-track{flex:1;height:6px;border-radius:6px;background:var(--mist);overflow:hidden}
.gen-track i{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,var(--moss),var(--clay));transition:width .35s var(--ease)}
.gen-form fieldset{margin:0 0 20px;padding:28px 28px 8px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--white);box-shadow:var(--shadow-sm)}
.gen-form legend{display:flex;align-items:center;gap:12px;padding:0 10px;margin-left:-10px;color:var(--ink);font-family:var(--display);font-size:1.3rem;font-weight:500}
.gen-form legend span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--clay-tint);color:var(--clay-2);font-family:var(--sans);font-size:.86rem;font-weight:600}
.gen-form fieldset>p{margin:6px 0 20px;color:var(--muted);font-size:.98rem}
.gen-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.gen-field{display:grid;gap:7px;margin-bottom:20px}
.gen-field.full{grid-column:1/-1}
.gen-field label{color:var(--ink);font-size:.95rem;font-weight:600}
.gen-field input{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r);font:400 1rem var(--sans);color:var(--ink);background:var(--white);transition:border-color .2s,box-shadow .2s}
.gen-field input:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 4px rgba(47,107,85,.14)}
.gen-field small{color:var(--quiet);font-size:.88rem;line-height:1.45}
.gen-field.done label:after{content:"";display:inline-block;width:8px;height:8px;margin-left:10px;border-radius:50%;background:var(--moss);vertical-align:1px}
.gen-form-foot{display:flex;justify-content:space-between;align-items:center;gap:16px}
.gen-form-foot p{margin:0;color:var(--quiet);font-size:.9rem}
.gen-board{position:sticky;top:calc(var(--header) + 24px);padding:clamp(26px,3vw,36px);border-radius:var(--r-lg);background:linear-gradient(160deg,var(--forest),var(--pine));color:var(--white);box-shadow:var(--shadow-lg)}
.gen-board-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line-dark);color:var(--clay-soft);font-size:.92rem;font-weight:600}
.gen-variants{display:flex;padding:3px;border-radius:999px;background:rgba(255,255,255,.08)}
.gen-variants button{padding:7px 14px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.75);font:600 .86rem var(--sans);cursor:pointer}
.gen-variants button[aria-pressed=true]{background:var(--white);color:var(--pine)}
.gen-statement{margin:26px 0;color:var(--white);font-family:var(--display);font-size:clamp(1.3rem,1.9vw,1.6rem);font-weight:400;line-height:1.4;min-height:5.6em}
.gen-statement .ph{color:rgba(255,255,255,.42)}
.gen-statement .b{font-weight:600}
.gen-statement .t{color:var(--sage-2)}
.gen-statement .o{text-decoration:underline;text-decoration-color:rgba(231,161,127,.6);text-underline-offset:5px}
.gen-statement .d{color:var(--clay-soft)}
.gen-strength{padding:18px 0;border-top:1px solid var(--line-dark)}
.gen-strength-label{margin:0 0 10px;color:rgba(255,255,255,.66);font-size:.9rem;font-weight:600}
.gen-strength .tip{position:relative;margin:0 0 10px;padding-left:18px;color:rgba(255,255,255,.82);font-size:.95rem;line-height:1.5}
.gen-strength .tip:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4)}
.gen-strength .tip.warn:before{background:var(--clay-soft)}
.gen-strength .tip.ok:before{background:var(--sage)}
.gen-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:18px;border-top:1px solid var(--line-dark)}
.gen-actions .btn{min-height:46px}
.gen-status{min-height:1.4em;margin:10px 0 0;color:var(--sage-2);font-size:.9rem}
.gen-next{margin-top:14px;padding-top:16px;border-top:1px solid var(--line-dark)}
.gen-next p{margin:0 0 8px;color:rgba(255,255,255,.66);font-size:.92rem}
.gen-next a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;color:var(--white);font-size:.97rem;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line-dark)}
.gen-next a:hover{color:var(--clay-soft)}
.generator .rail h2.formula{font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.3}
@media print{.site-header,.site-footer,.gen-form,.gen-hero,.gen-actions,.gen-next,.gen-variants,.section:not(.gen-section){display:none!important}.gen-studio{display:block}.gen-board{position:static;background:var(--white);color:var(--pine-950);box-shadow:none}.gen-statement,.gen-statement *{color:var(--pine-950)!important}.gen-strength{display:none}}

/* Footer */
.site-footer{background:var(--pine);color:rgba(255,255,255,.72)}
.footer-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:end;padding:clamp(64px,7vw,96px) 0 52px;border-bottom:1px solid var(--line-dark)}
.footer-top h2{color:var(--white)}
.footer-top .hero-actions{justify-content:flex-end}
.footer-grid{display:grid;grid-template-columns:minmax(0,5fr) repeat(3,minmax(0,2fr));gap:clamp(28px,4vw,56px);padding:52px 0}
.footer-brand .wordmark{color:var(--white);margin-bottom:20px}
.footer-brand .footer-brand .wordmark .name b{color:var(--clay-soft)}
.footer-brand p{max-width:420px;margin:0 0 10px;font-size:.96rem;line-height:1.6}
.footer-grid h4{margin:0 0 16px;color:var(--white);font-family:var(--display);font-size:1.02rem;font-weight:500}
.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:11px}
.footer-grid a{color:rgba(255,255,255,.72);font-size:.96rem;text-decoration:none}
.footer-grid a:hover{color:var(--white)}
.newsletter{margin-top:28px;padding:24px;max-width:480px;border-radius:var(--r-lg);background:rgba(255,255,255,.05);border:1px solid var(--line-dark)}
.newsletter label{display:grid;gap:6px;margin-bottom:16px}
.newsletter label strong{color:var(--white);font-family:var(--display);font-size:1.15rem;font-weight:500}
.newsletter label span{color:rgba(255,255,255,.68);font-size:.95rem}
.newsletter-row{display:flex;gap:8px}
.newsletter-row input{flex:1;min-width:0;min-height:50px;padding:0 14px;border:1px solid rgba(255,255,255,.22);border-radius:var(--r);background:rgba(255,255,255,.06);color:var(--white);font:400 1rem var(--sans)}
.newsletter-row input::placeholder{color:rgba(255,255,255,.5)}
.newsletter-row input:focus{outline:none;border-color:var(--clay-soft)}
.newsletter-row .btn{min-height:50px}
.newsletter .ts-slot{margin:12px 0 0}
.newsletter .ts-slot[data-failed]{background:var(--teal-800);border-color:var(--clay-soft);color:var(--white)}
.newsletter .ts-slot .ts-retry{background:var(--clay-soft);border-color:var(--clay-soft)}
.newsletter-note{margin:12px 0 0!important;font-size:.86rem!important;color:rgba(255,255,255,.58)}
.newsletter-note a{color:rgba(255,255,255,.82)!important;font-size:inherit!important;text-decoration:underline!important}
.footer-base{display:flex;justify-content:space-between;gap:20px;padding:22px 0 30px;border-top:1px solid var(--line-dark);font-size:.88rem;color:rgba(255,255,255,.55)}

/* 404 */
.notfound{min-height:calc(100vh - var(--header) - 200px);display:flex;align-items:center;padding:var(--section) 0;background:var(--paper)}
.notfound h1{margin-bottom:22px}
.notfound p{max-width:560px;color:var(--muted);font-size:1.12rem;margin-bottom:30px}

/* Responsive */
@media(max-width:1100px){
  .site-header nav,.header-actions{display:none}
  .menu{display:inline-flex}
  .site-header.open nav{position:absolute;top:var(--header);left:0;right:0;display:grid;gap:0;max-height:calc(100dvh - var(--header));overflow-y:auto;margin:0;padding:8px var(--gutter) 24px;background:var(--white);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .site-header.open nav a{padding:16px 0;border-bottom:1px solid var(--line);font-size:1.05rem}
  .site-header.open nav .nav-mobile{display:block}
  .site-header.open nav .nav-mobile--cta{margin-top:14px;padding:13px 18px;border:0;border-radius:8px;background:var(--forest);color:var(--white);font-weight:600;text-align:center}
  .site-header.open nav .nav-mobile--cta:hover{background:var(--pine);color:var(--white)}
  .site-header.open nav a.nav-search[aria-current=page]:after{display:none}
  .hero-grid,.page-hero-grid,.service-hero-grid,.two-col,.footer-top,.contact-grid,.profile-grid,.leader,.service-group-head,.detail-grid,.story-grid,.founder-about-grid,.legal,.faq-group,.split-heading,.gen-studio{grid-template-columns:1fr}
  .footer-top .hero-actions{justify-content:flex-start}
  .hero-ledger{grid-template-columns:1fr 1fr}
  .ladder{grid-template-columns:1fr}
  .ladder a,.ladder a+a{padding:24px 0;border-left:0;border-top:1px solid var(--line)}
  .ladder a:first-child{border-top:0}
  .problem-grid,.tile-grid,.service-card-grid--three,.service-card-grid--strategy,.resource-grid,.principles{grid-template-columns:1fr 1fr}
  .people-grid{grid-template-columns:1fr}
  .process{grid-template-columns:1fr 1fr;row-gap:48px}
  .profile-info{grid-template-columns:1fr 1fr}
  .profile-info>div:last-child{grid-column:1/-1}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .index-row{grid-template-columns:40px minmax(0,1fr) 120px 42px}
  .index-row .cat{display:none}
  .client-shell{grid-template-columns:1fr}
  .client-shell:before{min-height:220px}
  .gen-board,.legal-toc{position:static}
  .work-feature{grid-template-columns:1fr}
  .work-feature-art{min-height:240px}
  .profile-media{max-width:480px}
}
@media(max-width:700px){
  body{font-size:16px}
  :root{--header:68px}
  .wordmark .name{font-size:1.1rem}
  .hero-ledger,.problem-grid,.tile-grid,.service-card-grid--three,.service-card-grid--two,.service-card-grid--strategy,.resource-grid,.process,.principles,.profile-info,.footer-grid,.work-grid,.services-note>div,.gen-grid{grid-template-columns:1fr}
  .person-card{grid-template-columns:1fr}
  .person-card>img{min-height:0;aspect-ratio:4/3}
  .person-card-join>div{min-height:0}
  .problem-grid article,.service-card-premium,.resource-card,.principles article{min-height:0}
  .problem-grid h3,.service-card-premium h3,.principles h3,.resource-type{padding-top:32px}
  .index-row{grid-template-columns:30px minmax(0,1fr) auto;gap:14px}
  .index-row .go{display:none}
  .tabs{overflow-x:auto}
  .tabs .shell{width:max-content;padding-inline:var(--gutter);gap:24px}
  .contact-copy dl div,.work dl div{grid-template-columns:1fr;gap:4px}
  .footer-base{flex-direction:column}
  .newsletter-row{flex-direction:column}
  .form-head{flex-direction:column;gap:4px}
  .gen-form fieldset{padding:24px 20px 6px}
  .work,.work-feature-copy,.work-feature-art{padding:26px 22px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.resource-soon{display:flex;align-items:center;gap:8px;margin-top:26px;padding-top:16px;border-top:1px solid var(--line);color:var(--quiet);font-size:.95rem;font-weight:600}
.resource-soon:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sage)}

/* Guards: section header blocks keep the shell edge, labels keep their colour */
.shell.rail{max-width:none}
.rail>div{max-width:900px}
p.kicker{color:var(--clay)!important}
.dark p.kicker,.home-hero p.kicker,.site-footer p.kicker,.gen-board p.kicker,.person-card-join p.kicker,.section.dark p.kicker{color:var(--clay-soft)!important}

/* Blog */
.blog-topics{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.blog-topics span{padding:8px 16px;border-radius:999px;background:var(--mist);color:var(--forest);font-size:.94rem;font-weight:600}
.blog-empty{padding:clamp(32px,5vw,64px);border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(160deg,var(--white),var(--paper));box-shadow:var(--shadow-sm)}
.blog-empty>div{max-width:720px}

/* Header layout: wordmark left, navigation centred, actions right */
.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:32px}
.site-header nav{margin-left:0;justify-content:center;gap:30px}
.header-actions{justify-self:end}
.wordmark{justify-self:start}

/* Card content top-aligned so titles line up across a row; footers pinned to the bottom */
.problem-grid h3,.service-card-premium h3,.principles h3{margin:0 0 12px;padding-top:36px}
.resource-type{margin:0 0 8px;padding-top:36px}
.problem-grid a,.service-card-foot,.resource-card a,.resource-soon{margin-top:auto}
.problem-grid p,.service-card-premium>p,.resource-card p:not(.resource-type){margin-bottom:24px}

/* Split headings become standard header blocks */
.split-heading{display:block;max-width:900px}
.split-heading>.kicker{margin-bottom:20px}

@media(max-width:1100px){
  .header-inner{display:flex}
  .site-header nav{justify-content:flex-start}
}
.shell.split-heading{max-width:none}
.split-heading>div{max-width:900px}

/* Form labels: text and required marker on one line */
.contact-card .lbl{display:inline;line-height:1.35}
.contact-card .lbl .req{color:var(--clay);font-weight:700}
.contact-card label .lbl{color:var(--ink)}

/* About: founder */
.founder-about-grid{align-items:start}
.founder-photo{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}
.founder-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:0;box-shadow:none}
.founder-photo figcaption{position:absolute;left:16px;bottom:16px;padding:8px 14px;border-radius:999px;background:rgba(12,43,35,.86);color:var(--white);font-size:.86rem;font-weight:600}
.founder-copy h2{margin-bottom:0}
.founder-copy .credentials{margin:10px 0 22px!important}
.founder-copy p:not(.kicker):not(.credentials){max-width:680px;color:var(--muted);font-size:1.05rem}
.founder-copy .founder-lede{color:var(--ink)!important;font-size:1.18rem!important}
.founder-copy a:not(.btn):not(.text-link){color:var(--forest);font-weight:600}
.founder-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px;margin-top:clamp(56px,6vw,88px);padding-top:clamp(40px,4vw,56px);border-top:1px solid var(--line)}
.founder-story h3{margin-bottom:10px}
.founder-story p{margin:0;color:var(--muted);font-size:1.02rem}
.credential-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:clamp(48px,5vw,72px)}
.credential{display:flex;flex-direction:column;gap:12px;padding:28px 26px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.credential img{width:56px;height:56px;object-fit:contain}
.credential-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--clay-tint);color:var(--clay-2);font-family:var(--display);font-size:1.05rem;font-weight:500}
.credential h3{font-size:1.14rem;line-height:1.3}
.credential p{margin:0;color:var(--muted);font-size:.95rem}
@media(max-width:1100px){.credential-grid{grid-template-columns:1fr 1fr}.founder-photo{max-width:480px}}
@media(max-width:700px){.founder-story,.credential-grid{grid-template-columns:1fr}}

/* Consultants listing: lead card with inner links (no nested anchors) */
.person-card-lead:hover{transform:none}
.person-card-lead .person-photo{display:block}
.person-card-lead .person-photo img{width:100%;height:100%;min-height:340px;object-fit:cover;display:block}
.card-title-link{color:inherit;text-decoration:none}
.card-title-link:hover{color:var(--clay)}
.card-badge{display:flex;align-items:center;gap:12px;margin:4px 0 14px;color:var(--ink);font-size:.92rem;font-weight:600}
.card-badge img{width:44px;height:44px;object-fit:contain}
.person-card .card-work{font-size:.95rem}
.person-card .card-work strong{color:var(--ink);font-weight:600}
.card-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:auto;padding-top:8px}
@media (max-width:900px){.person-card-lead .person-photo img{min-height:0;aspect-ratio:4/3}}

/* Pull quote: one on-brand component for every quote on the site */
.pullquote{position:relative;margin:40px 0 0;padding:30px 34px 30px;background:linear-gradient(135deg,var(--pine) 0%,var(--forest) 100%);border:0;border-radius:var(--r-lg);color:var(--white);font-family:var(--display);font-size:clamp(1.3rem,1.8vw,1.6rem);font-weight:400;line-height:1.35;box-shadow:0 10px 30px rgba(12,43,35,.14);overflow:hidden}
.pullquote::before{content:"";display:block;width:34px;height:26px;margin:0 0 18px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2048%2036%22%3E%3Cpath%20fill%3D%22%23E7A17F%22%20d%3D%22M0%2036V22.5C0%2010.8%205.6%203.3%2016.8%200l2.4%204.4C13%207%2010.1%2011%209.8%2016.2H19V36H0zm29%200V22.5C29%2010.8%2034.6%203.3%2045.8%200l2.2%204.4C42%207%2039.1%2011%2038.8%2016.2H48V36H29z%22/%3E%3C/svg%3E") no-repeat left center/contain}

.pullquote p{position:relative;margin:0;max-width:34ch;color:var(--white)!important;font:inherit}
.pullquote:not(.pullquote-note) p:first-of-type::after{content:"”";margin-left:.08em;color:var(--clay-soft)}
.pullquote cite{position:relative;display:flex;align-items:center;gap:12px;margin-top:18px;color:var(--sage);font-family:var(--sans);font-size:.9rem;font-style:normal;font-weight:600;letter-spacing:.01em}
.pullquote cite::before{content:"";width:28px;height:2px;background:var(--clay-soft)}
.contact-band{background:var(--paper,var(--paper))}
.contact-band .shell{display:block;min-height:0;padding-top:0;padding-bottom:clamp(40px,5vw,72px)}
.pullquote-band{margin:0;padding:clamp(36px,4vw,56px) clamp(32px,4vw,64px);font-size:clamp(1.6rem,3vw,2.6rem)}
.pullquote-band p{max-width:none}

/* Service pages: full service detail */
.service-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;max-width:600px;margin:-12px 0 28px;padding:0}
.service-facts div{padding:12px 0;border-bottom:1px solid var(--line)}
.service-facts dt{color:var(--muted);font-size:.84rem;font-weight:600}
.service-facts dd{margin:2px 0 0;color:var(--ink);font-size:.98rem}
.question-chips{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0;list-style:none}
.question-chips li{padding:10px 16px;border:1px solid var(--line-2);border-radius:999px;background:var(--white);color:var(--forest);font-size:.95rem;font-weight:500}
.deliverables{margin-top:clamp(36px,4vw,56px)}
.deliverables article{min-height:0}
.deliverables h3{margin:18px 0 10px}
.deliverables p{margin:0;color:var(--muted)}
.scope-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:clamp(36px,4vw,56px)}
.scope-cols article{padding:30px 30px 14px;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);background:rgba(255,255,255,.04)}
.scope-cols h3{margin-bottom:8px}
.dark .check-list,.dark .cross-list{border-top-color:rgba(255,255,255,.14)}
.dark .check-list li,.dark .cross-list li{border-bottom-color:rgba(255,255,255,.12);color:rgba(255,255,255,.88);font-size:1rem}
.dark .check-list li:last-child,.dark .cross-list li:last-child{border-bottom:0}
.cross-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.cross-list li{position:relative;padding:16px 0 16px 40px;border-bottom:1px solid var(--line)}
.cross-list li:before,.cross-list li:after{content:"";position:absolute;left:5px;top:28px;width:12px;height:1.6px;background:var(--clay-soft);transform:rotate(45deg)}
.cross-list li:after{transform:rotate(-45deg)}
.dark .check-list li:before{background-color:rgba(141,179,160,.4)}
.process-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(36px,4vw,56px)}
.fit-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:clamp(36px,4vw,56px)}
.fit-cols article{padding:30px 30px 12px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.fit-cols article:last-child{background:var(--mist)}
.fit-cols h3{margin-bottom:10px}
.fit-cols .check-list li:last-child{border-bottom:0}



.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:clamp(36px,4vw,56px)}
.route-card{display:flex;flex-direction:column;gap:10px;padding:28px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:border-color .25s,box-shadow .25s,transform .25s var(--ease)}
.route-card:hover{border-color:var(--line-2);box-shadow:var(--shadow);transform:translateY(-3px)}
.route-card strong{font-family:var(--display);font-size:1.2rem;font-weight:500}
.route-card span{color:var(--muted)}
.route-card .text-link{margin-top:auto;padding-top:8px;color:var(--forest)}
.sub-h{margin:28px 0 8px;font-size:1.2rem}
.partner-panel{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,4fr);gap:24px;margin-top:clamp(36px,4vw,56px)}
.partner-panel>div{padding:30px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.partner-price{display:flex;flex-direction:column;gap:6px;background:linear-gradient(135deg,var(--pine),var(--forest))!important;border:0!important;color:var(--white)}
.partner-price span{color:var(--sage);font-size:.9rem;font-weight:600}
.partner-price strong{font-family:var(--display);font-size:2.6rem;font-weight:500;color:var(--white)}
.partner-price em{font-style:normal;color:rgba(255,255,255,.72)}
.partner-panel h3{margin-bottom:10px}
.partner-panel .check-list li{font-size:.98rem;padding:14px 0 14px 38px}
.partner-panel .check-list li:before{top:16px}
.partner-panel p{color:var(--muted)}
.small-note{margin:14px 0 0;font-size:.9rem}
.service-price.on-dark{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.service-price.on-dark span{color:var(--sage)}
.service-price.on-dark strong{color:var(--white)}
.dark .service-price.on-dark{margin:22px 0}
@media(max-width:1100px){.partner-panel{grid-template-columns:1fr 1fr}.partner-price{grid-column:1/-1}.route-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.scope-cols,.fit-cols,.route-grid,.partner-panel,.process-3{grid-template-columns:1fr}.tabs .shell{overflow-x:auto;gap:22px;white-space:nowrap}}

/* AI website assistant and consented human handoff. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:60;display:inline-flex;align-items:center;gap:11px;min-height:58px;padding:7px 16px 7px 7px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--pine),var(--forest));color:var(--white);font:600 .95rem/1 var(--sans);box-shadow:0 12px 30px rgba(12,43,35,.28);cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s}
.chat-launcher:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(12,43,35,.32)}
.chat-launcher:focus-visible{outline:3px solid var(--clay-soft);outline-offset:3px}
.chat-launcher-avatar{position:relative;flex:none;width:44px;height:44px}
.chat-agent-photo{display:block;object-fit:cover;object-position:center;border-radius:50%;background:var(--pine-100)}
.chat-launcher-avatar .chat-agent-photo{width:44px;height:44px;border:2px solid rgba(255,255,255,.92);box-shadow:0 3px 10px rgba(0,0,0,.18)}
.chat-launcher-presence{position:absolute;right:0;bottom:1px;width:11px;height:11px;border:2px solid var(--forest);border-radius:50%;background:var(--clay-soft);box-shadow:0 0 0 2px rgba(231,161,127,.16)}
.chat-launcher-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:3px}
.chat-launcher-label{font:600 .9rem/1 var(--sans);letter-spacing:-.01em}
.chat-launcher-note{font:500 .72rem/1.05 var(--sans);color:rgba(255,255,255,.72)}
.chat-open .chat-launcher{opacity:0;pointer-events:none}
.chat-panel{position:fixed;right:24px;bottom:24px;z-index:61;display:flex;flex-direction:column;width:min(400px,calc(100vw - 32px));height:min(620px,calc(100vh - 110px));background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px rgba(12,43,35,.22);overflow:hidden}
.chat-panel[hidden]{display:none}
.chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 18px;background:linear-gradient(135deg,var(--pine),var(--forest));color:var(--white)}
.chat-title{margin:0;font-family:var(--display);font-size:1.25rem;font-weight:500;color:var(--white)}
.chat-sub{margin:4px 0 0;color:rgba(255,255,255,.72);font-size:.86rem;line-height:1.4}
.chat-close{flex:none;width:34px;height:34px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M5 5l10 10M15 5L5 15" stroke="%23fff" stroke-width="1.6" stroke-linecap="round"/></svg>') center/16px no-repeat;cursor:pointer}
.chat-close:focus-visible{outline:2px solid var(--clay-soft);outline-offset:2px}
.chat-log{flex:1;overflow-y:auto;padding:18px 16px;background:var(--paper)}
.chat-msg{max-width:92%;margin:0 0 12px}
.chat-msg p{margin:0}
.chat-msg.bot{padding:14px 16px;background:var(--white);border:1px solid var(--line);border-radius:4px 12px 12px 12px;color:var(--ink);font-size:.95rem;line-height:1.5}
.chat-msg.me{margin-left:auto;padding:10px 14px;background:var(--forest);border-radius:12px 4px 12px 12px;color:var(--white);font-size:.95rem;width:fit-content}
.chat-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chat-link{display:inline-flex;padding:7px 12px;border-radius:999px;background:var(--mist);color:var(--forest);font-size:.86rem;font-weight:600;text-decoration:none}
.chat-link:hover{background:var(--forest);color:var(--white)}
.chat-related{margin:14px 0 6px!important;color:var(--muted);font-size:.8rem;font-weight:600}
.chat-chips{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:10px}
.chat-chip{padding:8px 12px;border:1px solid var(--line-2);border-radius:10px;background:var(--white);color:var(--forest);font:500 .88rem/1.35 var(--sans);text-align:left;cursor:pointer}
.chat-chip:hover{border-color:var(--forest)}
.chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--white)}
.chat-form input{flex:1;min-width:0;padding:11px 14px;border:1px solid var(--line-2);border-radius:10px;font:1rem var(--sans);color:var(--ink)}
.chat-form input:focus{outline:2px solid var(--moss);outline-offset:1px;border-color:var(--moss)}
.chat-send{flex:none;width:44px;border:0;border-radius:10px;background:var(--clay) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M4 10h11M11 5l5 5-5 5" fill="none" stroke="%23fff" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/18px no-repeat;cursor:pointer}
.chat-foot{margin:0;padding:0 14px 12px;background:var(--white);color:var(--muted);font-size:.76rem;line-height:1.4}
.chat-human-toggle{display:flex;align-items:center;gap:11px;flex:none;margin:0 12px 10px;padding:8px 12px 8px 8px;border:1px solid var(--pine-300);border-radius:10px;background:var(--pine-100);color:var(--forest);font:600 .9rem/1.35 var(--sans);text-align:left;cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease)}
.chat-human-toggle .chat-agent-photo{flex:none;width:38px;height:38px;border:1px solid rgba(26,74,58,.16);box-shadow:0 2px 7px rgba(12,43,35,.12)}
.chat-agent-label{display:block;min-width:0}
.chat-human-toggle:hover{border-color:var(--moss);background:var(--pine-100);color:var(--pine)}
.chat-human-toggle:focus-visible{outline:3px solid var(--moss);outline-offset:2px}
.chat-handoff{flex:1;min-height:0;overflow-y:auto;padding:16px;background:var(--paper)}
.chat-handoff[hidden],.chat-human-thread[hidden],.chat-handoff-form[hidden],.chat-challenge[hidden],.chat-handoff-consent[hidden],.chat-log[hidden],.chat-form[hidden],.chat-foot[hidden],.chat-human-toggle[hidden]{display:none!important}
.chat-challenge{padding:16px;border-top:1px solid var(--line);background:var(--mist)}
.chat-challenge p{margin:0 0 10px;color:var(--forest);font-size:.9rem}
.chat-challenge .btn{width:100%;min-height:42px}
.chat-msg .chat-human-toggle{display:flex;margin:12px 0 0;width:100%}
.chat-live-offer{margin-top:12px;padding:12px;border:1px solid var(--clay-300);border-radius:10px;background:var(--clay-100);color:var(--ink)}
.chat-live-offer p{margin:0 0 10px;font-size:.88rem;line-height:1.5}
.chat-live-offer-actions{display:flex;gap:8px;flex-wrap:wrap}
.chat-live-offer-actions button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:7px 10px;border:1px solid var(--forest);border-radius:8px;font:600 .84rem/1.3 var(--sans);cursor:pointer}
.chat-live-offer-accept{background:var(--forest);color:var(--white)}
.chat-live-offer-accept .chat-agent-photo{width:30px;height:30px;border:1px solid rgba(255,255,255,.28);background:var(--white)}
.chat-live-offer-decline{background:var(--white);color:var(--forest)}
.chat-live-offer-actions button:focus-visible{outline:3px solid var(--moss);outline-offset:2px}
.chat-handoff-intro{margin:0 0 18px;color:var(--body);font-size:.92rem;line-height:1.5}
.chat-handoff-form{display:grid;gap:12px}
.chat-handoff-form label{display:grid;gap:5px;font-size:.86rem;font-weight:600;color:var(--ink)}
.chat-handoff-form input:not([type=checkbox]),.chat-handoff-form textarea,.chat-human-reply textarea{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line-2);border-radius:8px;background:var(--white);color:var(--ink);font:1rem var(--sans)}
.chat-handoff-form textarea,.chat-human-reply textarea{resize:vertical}
.chat-handoff-form .chat-handoff-consent{display:block;font-size:.8rem;font-weight:400;line-height:1.45}
.chat-handoff-consent input{margin-right:5px}
.chat-handoff-consent a{color:var(--forest);font-weight:600}
.chat-handoff-form .ts-slot{margin:0}
.chat-handoff-form .btn,.chat-human-reply .btn{width:100%;min-height:42px}
.chat-human-status{margin:0;color:var(--forest);font-size:.82rem;line-height:1.45}
.chat-back{margin:0 0 16px;padding:0;border:0;background:transparent;color:var(--forest);font:600 .85rem var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.chat-back:focus-visible{outline:3px solid var(--moss);outline-offset:3px}
.chat-thread-status{padding:10px 12px;background:var(--teal-soft);border-radius:8px;color:var(--teal);font-size:.85rem;line-height:1.4}
.chat-human-thread.is-live .chat-thread-status{background:linear-gradient(115deg,var(--forest),var(--pine));color:var(--white);border-left:4px solid var(--clay-soft)}
.chat-live-typing{margin:0 0 9px;color:var(--forest);font-size:.8rem;font-style:italic}
.chat-live-typing[hidden]{display:none}
.chat-human-log{display:flex;flex-direction:column;gap:10px;max-height:265px;overflow-y:auto;margin:0 0 14px}
.chat-human-message{max-width:93%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);font-size:.9rem;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.chat-human-message.visitor{align-self:flex-end;background:var(--mist);border-color:var(--sage-2)}
.chat-human-message p{margin:0}
.chat-human-message .chat-human-meta{margin:0 0 4px;color:var(--muted);font-size:.75rem}
.chat-human-reply{display:grid;gap:8px}
@media(max-width:560px){.chat-launcher{right:16px;bottom:16px}.chat-panel{right:8px;left:8px;bottom:8px;width:auto;height:calc(100vh - 80px)}}
@media(max-width:420px){
  .chat-launcher{right:10px;bottom:10px;width:56px;height:56px;min-height:56px;padding:6px;gap:0;justify-content:center}
  .chat-launcher-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .chat-launcher-avatar,.chat-launcher-avatar .chat-agent-photo{width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){.chat-launcher{transition:none}}

/* Pull quote, statement variant: same card, kicker instead of a quote mark ("Why it matters") */
.pullquote-note{max-width:none;margin:0 0 clamp(56px,6vw,88px);padding:clamp(30px,3.4vw,44px) clamp(30px,3.6vw,52px)}
.pullquote-note::before{display:none}
.pullquote .pq-kicker{display:flex;align-items:center;gap:12px;margin:0 0 16px;color:var(--clay-soft)!important;font-family:var(--sans);font-size:.88rem;font-weight:600;letter-spacing:.01em}
.pullquote .pq-kicker::before{content:"";width:28px;height:2px;background:var(--clay-soft)}
.pullquote-note .pq-statement{max-width:30ch;font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.3}
.pullquote .pq-body{max-width:64ch;margin-top:16px;color:rgba(255,255,255,.76)!important;font-family:var(--sans);font-size:1.02rem;line-height:1.6}

/* Client area */
.as-button{margin-top:18px;padding:0;border:0;background:none;cursor:pointer;font:inherit}
.client-card [data-panel] .text-link{margin-top:18px}
.client-card .form-note{min-height:1.2em;margin:12px 0 0;color:var(--muted);font-size:.92rem}
.portal-head{padding:clamp(48px,6vw,88px) 0 clamp(32px,4vw,48px);background:linear-gradient(160deg,var(--pine),var(--forest));color:var(--white)}
.portal-head h1{color:var(--white)}
.portal-head .kicker{color:var(--clay-soft)}
.portal-head .lede{color:rgba(255,255,255,.76);margin:10px 0 0}
.portal-head-grid{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.portal-actions{display:flex;flex-wrap:wrap;gap:12px}
.portal-head .btn-outline{border-color:rgba(255,255,255,.4);color:var(--white);background:transparent}
.portal-head .btn-solid{background:var(--clay);border-color:var(--clay)}
.portal-status{color:var(--muted)}
.portal-status:empty{display:none}
.engagement{margin:0 0 28px;padding:clamp(26px,3vw,40px);background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.engagement-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px}
.engagement-head h2{font-size:clamp(1.5rem,2.2vw,2rem)}
.status-pill{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:var(--mist);color:var(--forest);font-size:.84rem;font-weight:600;white-space:nowrap}
.status-review,.status-ready{background:var(--clay-100);color:var(--clay-2,var(--clay-700))}
.status-complete,.status-delivered{background:var(--forest);color:var(--white)}
.engagement-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0 24px;margin:22px 0 0;padding:0}
.engagement-facts div{padding:12px 0;border-top:1px solid var(--line)}
.engagement-facts dt{color:var(--muted);font-size:.84rem;font-weight:600}
.engagement-facts dd{margin:2px 0 0;color:var(--ink)}
.next-step{margin:22px 0 0;padding:20px 22px;border-radius:var(--r);background:linear-gradient(135deg,var(--pine),var(--forest));color:var(--white)}
.next-step p{margin:0;color:var(--white)}
.next-step .next-label{margin-bottom:6px;color:var(--clay-soft);font-size:.86rem;font-weight:600}
.deliv-title{margin:28px 0 10px;font-size:1.15rem}
.deliv-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.deliv-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.deliv-list strong{display:block;font-weight:600}
.deliv-list span{color:var(--muted);font-size:.94rem}
.deliv-right{display:flex;align-items:center;gap:16px}
.muted{color:var(--muted)}
.portal-messages{margin-top:clamp(48px,6vw,80px)}
.msg-log{display:flex;flex-direction:column;gap:12px;max-width:760px;margin:28px 0}
.msg{max-width:88%;padding:14px 18px;border-radius:12px;background:var(--white);border:1px solid var(--line)}
.msg.me{align-self:flex-end;background:var(--mist);border-color:transparent}
.msg p{margin:0}
.msg .msg-meta{margin-bottom:4px;color:var(--muted);font-size:.82rem;font-weight:600}
.msg-form{display:grid;gap:12px;max-width:760px}
.msg-form[hidden]{display:none!important}
.msg-form label{font-weight:600}
.msg-form select,.msg-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--white);font:1rem var(--sans);color:var(--ink)}
.msg-form textarea{resize:vertical;min-height:130px}
.msg-form select:focus,.msg-form textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 4px rgba(47,107,85,.14)}
.msg-form .btn{justify-self:start}
.deliv-list .status-pill{color:var(--forest);font-size:.84rem}
.deliv-list .status-review,.deliv-list .status-ready{color:var(--clay-2,var(--clay-700))}
.deliv-list .status-complete,.deliv-list .status-delivered{color:var(--white)}
.delivery-review{padding:20px 0;border-top:1px solid var(--line);display:grid;gap:12px}
.delivery-review h4,.revision-history h4{margin:0;color:var(--pine);font-family:var(--display);font-size:1.25rem}
.delivery-review p{margin:0}
.delivery-review textarea,.revision-point-form input,.revision-proposal input{width:100%;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--white);color:var(--ink);font:1rem var(--sans)}
.delivery-review textarea:focus,.revision-point-form input:focus,.revision-proposal input:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 4px rgba(47,107,85,.14)}
.revision-point-form{display:grid;gap:12px;padding:18px;background:var(--mist);border-left:3px solid var(--clay);border-radius:0 var(--r) var(--r) 0}
.revision-point-form label,.revision-proposal label{display:grid;gap:7px;color:var(--pine);font-weight:600}
.revision-point-form .btn{justify-self:start}
.revision-history{display:grid;gap:14px;margin-top:20px}
.revision-point{padding:18px 20px;background:linear-gradient(115deg,var(--mist),var(--white));border-left:3px solid var(--forest);border-radius:0 var(--r) var(--r) 0}
.revision-point p{margin:8px 0 0}.revision-point .kicker{margin:0}.revision-copy{white-space:pre-wrap}
.revision-point .revision-state{font-weight:600;color:var(--forest)}
.revision-proposal{display:grid;gap:10px;margin-top:15px;padding:16px;background:var(--white);border:1px solid var(--line);border-radius:var(--r)}
.revision-proposal p{margin:0}.revision-proposal .hero-actions{margin:0}
.form-status{margin:14px 0 0;color:var(--forest);font-weight:600}
.form-status:empty{display:none}
@media(max-width:700px){
  .brief-pair{grid-template-columns:1fr}
  .brief-card .brief-service{padding:22px 18px 6px}
}
@media(max-width:420px){
  .contact-card,.brief-card{padding:22px 18px}
  .contact-card .form-head{display:block}
  .contact-card .form-head span{display:block;margin-top:5px}
  .brief-card .brief-service{padding:20px 14px 4px}
  .brief-card .brief-section legend{font-size:1.25rem}
  .brief-card .brief-section legend span,.brief-section-heading>span{width:30px;height:30px}
  .brief-section-heading>span{flex-basis:30px}
  .contact-copy dl div{overflow-wrap:anywhere}
}
.nl-shell:before{content:"Strategy notes. Occasional, practical thinking on positioning, brand and marketing strategy."}

/* Admin */
.admin-body{background:var(--paper)}
.admin-top{display:flex;align-items:center;gap:14px;padding:16px clamp(16px,3vw,32px);background:linear-gradient(135deg,var(--pine),var(--forest));color:var(--white)}
.admin-top .wordmark .name{color:var(--white)}
.admin-tag{padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.8rem;font-weight:600}
.admin-who{margin-left:auto;color:rgba(255,255,255,.78);font-size:.9rem}
.admin-auth{display:grid;place-items:center;min-height:calc(100vh - 70px);padding:24px}
.admin-app{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 70px)}
.admin-nav{display:flex;flex-direction:column;gap:2px;padding:24px 14px;background:var(--white);border-right:1px solid var(--line)}
.admin-nav a,.admin-signout{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:8px;color:var(--ink);font-weight:500;text-decoration:none;font-size:.96rem}
.admin-nav a:hover{background:var(--mist)}
.admin-nav a.on{background:var(--forest);color:var(--white)}
.admin-signout{margin-top:auto;border:1px solid var(--line);background:var(--white);cursor:pointer;font:inherit;justify-content:center}
.badge:empty{display:none}
.badge{min-width:22px;padding:2px 7px;border-radius:999px;background:var(--clay);color:var(--white);font-size:.78rem;font-weight:700;text-align:center}
.admin-view{padding:clamp(20px,3vw,40px);max-width:1180px}
.admin-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}
.admin-head h1{font-size:clamp(1.8rem,3vw,2.5rem)}
.admin-head .form-note{max-width:420px;word-break:break-all}
.admin-subhead{margin:36px 0 12px}
.admin-subhead h2{font-size:1.5rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:24px}
.stat{display:flex;flex-direction:column;gap:4px;padding:18px 20px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm)}
.stat strong{font-family:var(--display);font-size:2rem;font-weight:500}
.stat span{color:var(--muted);font-size:.9rem}
.stat:first-child{background:linear-gradient(135deg,var(--pine),var(--forest));border:0;color:var(--white)}
.stat:first-child span{color:var(--sage)}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.acard{margin:0 0 18px;padding:22px 24px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.acard>h2{margin-bottom:12px;font-size:1.2rem}
.acard>summary,.acard details>summary,.del>summary,.enq>summary{cursor:pointer;font-weight:600;color:var(--forest)}
.alist{list-style:none;margin:0;padding:0}
.alist li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 0;border-bottom:1px solid var(--line)}
.alist li:last-child{border-bottom:0}
.alist a{font-weight:600;color:var(--ink);text-decoration:none}
.alist .muted{font-size:.88rem;flex-basis:100%}
.alist .status-pill{margin-left:auto}
.block{display:block}
.enq{margin:0 0 12px;padding:16px 20px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg)}
.enq>summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;color:var(--ink)}
.enq>summary .status-pill{margin-left:auto}
.kv{display:grid;grid-template-columns:180px minmax(0,1fr);gap:8px 18px;margin:16px 0}
.kv dt{color:var(--muted);font-size:.9rem;font-weight:600}
.kv dd{margin:0;white-space:pre-wrap}
.aform{margin-top:14px}
.agrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 16px;align-items:end}
.agrid .arow,.agrid .form-note,.agrid label:has(textarea){grid-column:1/-1}
.af{display:grid;gap:6px;font-size:.9rem;font-weight:600;color:var(--ink)}
.af input,.af select,.af textarea{width:100%;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--white);font:1rem var(--sans);color:var(--ink)}
.af input:focus,.af select:focus,.af textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px rgba(47,107,85,.14)}
.arow{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;background:var(--white);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);scrollbar-color:var(--sage) transparent;scrollbar-width:thin}
.table-wrap:focus-visible{outline:3px solid var(--clay);outline-offset:3px}
.atable{width:100%;border-collapse:collapse;color:var(--body);font-size:.94rem;line-height:1.45}
.atable th{padding:15px 17px;text-align:left;vertical-align:middle;color:var(--paper);background:var(--teal-800);font-size:.78rem;font-weight:750;letter-spacing:0;line-height:1.35;border-bottom:0}
.atable td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.atable tbody tr:nth-child(even){background:var(--teal-50)}
.atable tbody tr:hover{background:var(--teal-100)}
.atable tbody tr:last-child td{border-bottom:0}
.atable a{font-weight:600;color:var(--forest);text-underline-offset:3px}
.atable a:hover{color:var(--clay-2)}
.atable :where(input,select){max-width:100%;min-height:44px}
.eng-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.eng h3{font-size:1.25rem}
.eng h4{margin:18px 0 6px;font-size:1rem}
.del{padding:10px 0;border-top:1px solid var(--line)}
.del>summary{display:flex;justify-content:space-between;gap:12px;color:var(--ink);font-weight:500}
.admin-view .msg-log{max-width:none}
@media(max-width:900px){.admin-app{grid-template-columns:1fr}.admin-nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}.admin-signout{margin:0}.admin-grid{grid-template-columns:1fr}.kv{grid-template-columns:1fr}}
.admin-app[hidden],.admin-auth[hidden],[data-panel][hidden]{display:none!important}
.chat-msg.typing p{color:var(--muted);font-style:italic}
.chat-ai-note{margin-top:8px!important;color:var(--muted);font-size:.78rem}
.admin-banner{margin:0 0 20px;padding:14px 18px;border-radius:var(--r);background:var(--mist);color:var(--forest);font-weight:500}
.btn-ai{border:1px solid var(--moss);background:var(--white);color:var(--forest)}
.btn-ai:hover{background:var(--mist)}
.btn-ai[hidden]{display:none}
.ai-row{margin:6px 0 12px}
.ai-out{margin:12px 0;padding:16px 18px;border-radius:var(--r);background:linear-gradient(135deg,rgba(234,241,236,.9),var(--white));border:1px solid var(--line-2)}
.ai-out[hidden]{display:none}
.ai-label{margin:0 0 8px!important;color:var(--moss);font-size:.8rem;font-weight:600}
.ai-text{white-space:pre-wrap;line-height:1.55}
.ai-draft{width:100%;margin:12px 0;padding:12px 14px;border:1px solid var(--moss);border-radius:var(--r);font:1rem/1.55 var(--sans)}
.ai-draft[hidden]{display:none}
.caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 18px;margin:16px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r)}
.caps legend{padding:0 6px;font-weight:600}
.cap{display:flex;align-items:center;gap:10px;font-size:.94rem}
.cap input{width:18px;height:18px;accent-color:var(--forest)}
.team-member>summary .muted{font-size:.9rem}
.work-card{display:block;color:var(--ink);text-decoration:none}
.work-card:hover{border-color:var(--line-2)}
.badge-line{display:inline-block;margin:6px 0 0;padding:4px 10px;border-radius:999px;background:var(--clay);color:var(--white);font-size:.84rem;font-weight:600}
.del-ro{display:flex;justify-content:space-between;align-items:center;gap:12px}
.admin-subhead.arow{justify-content:space-between}
.portal-h2{margin:40px 0 16px;font-size:clamp(1.5rem,2.2vw,1.9rem)}
.proposal-scope{margin:18px 0;white-space:pre-wrap;color:var(--ink);line-height:1.6}
.proposal-note{width:100%;margin:12px 0;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r);font:1rem var(--sans)}
.admin-nav a[hidden]{display:none}
.post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
.post-card{padding:30px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.post-card h2{font-size:1.5rem;margin:6px 0 10px}
.post-card h2 a{color:var(--ink);text-decoration:none}
.article-body{max-width:760px}
.article-body p{font-size:1.1rem;line-height:1.75;color:var(--ink)}
.article-body h2{margin:40px 0 12px;font-size:1.7rem}
.bars{display:grid;gap:8px}
.bar-row{display:grid;grid-template-columns:minmax(90px,30%) 1fr auto;align-items:center;gap:10px;font-size:.9rem}
.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.bar-track{height:10px;border-radius:999px;background:var(--mist);overflow:hidden}
.bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--moss),var(--forest))}
.bar-val{color:var(--muted);font-variant-numeric:tabular-nums}
.alist li.urgent>a{color:var(--clay-2,var(--clay-700))}
.board{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;overflow-x:auto}
.board-col{padding:12px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);min-height:120px}
.board-col h3{font-size:.95rem;margin-bottom:10px}
.board-card{display:block;margin:0 0 8px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);text-decoration:none;font-size:.9rem}
.board-card span{display:block;font-size:.82rem}
.board-card:hover{border-color:var(--moss)}
.cap-table .hrs{width:70px;padding:6px 8px;border:1px solid var(--line-2);border-radius:6px}
.cap-table td.load{text-align:center;font-variant-numeric:tabular-nums}
.cap-table td.ok{background:rgba(141,179,160,.18)}
.cap-table td.high{background:rgba(231,161,127,.28)}
.cap-table td.over{background:rgba(180,83,47,.25);font-weight:700}
.task-done summary strong{text-decoration:line-through;color:var(--muted)}
.status-ok{background:var(--mist);color:var(--forest)}
.status-attention,.status-overdue,.status-high,.status-unread{background:var(--clay-100);color:var(--clay-2,var(--clay-700))}
.status-off{background:var(--pine-100);color:var(--muted)}
@media(max-width:700px){.post-list{grid-template-columns:1fr}}

/* Blog: an editorial reading surface and a small visual language for strategy. */
.blog .post-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px}
.blog .post-card{padding:0;overflow:hidden;border:1px solid var(--line);border-radius:4px;box-shadow:none}
.blog .post-card-copy{padding:clamp(28px,3vw,48px)}
.blog .post-card h2{margin:18px 0 16px;font-size:clamp(1.55rem,2.4vw,2.2rem);line-height:1.18}
.blog .post-card h2 a:hover{color:var(--clay-2)}
.blog .post-card-copy>p:not(.post-overline):not(.post-card-meta){max-width:62ch;color:var(--muted);line-height:1.6}
.post-overline{display:flex;justify-content:space-between;gap:20px;margin:0;color:var(--clay-2);font-size:.83rem;font-weight:700}
.post-overline time{color:var(--quiet);font-weight:500}
.post-card-meta{margin:22px 0 20px;color:var(--quiet);font-size:.88rem}
.blog .post-card-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);min-height:420px;background:var(--paper)}
.blog .post-card-featured .post-card-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(34px,5vw,72px)}
.blog .post-card-featured .post-card-meta{margin-top:auto;padding-top:20px}
.post-card-art{position:relative;display:flex;align-items:center;padding:clamp(34px,4vw,64px);overflow:hidden;background:var(--pine);color:var(--white)}
.post-art-orbit{position:absolute;right:-100px;top:-65px;width:480px;aspect-ratio:1;border:1px solid rgba(201,220,209,.34);border-radius:50%}
.post-art-orbit:before,.post-art-orbit:after{content:"";position:absolute;inset:52px;border:1px solid rgba(201,220,209,.22);border-radius:50%}
.post-art-orbit:after{inset:105px;background:rgba(141,179,160,.07)}
.post-art-word{position:relative;max-width:9ch;font:500 clamp(2.6rem,4.4vw,4.8rem)/1.02 var(--display);letter-spacing:-.035em}
.post-art-rule{position:absolute;left:clamp(34px,4vw,64px);bottom:66px;width:54px;height:3px;background:var(--clay-soft)}
.post-art-sign{position:absolute;left:clamp(34px,4vw,64px);bottom:32px;color:var(--sage-2);font-size:.86rem}
.article-hero{padding-bottom:clamp(58px,7vw,104px);background:radial-gradient(circle at 85% 35%,rgba(47,107,85,.18),transparent 35%),var(--pine);color:var(--white)}
.article-hero .breadcrumbs{color:var(--sage-2)}
.article-hero .breadcrumbs a{color:var(--sage-2)}
.article-hero .breadcrumbs a:hover{color:var(--white)}
.article-hero .breadcrumbs span{color:var(--clay-soft)}
.article-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(40px,6vw,88px);align-items:center;padding-top:clamp(52px,6vw,90px)}
.article-hero .kicker{color:var(--clay-soft)!important}
.article-hero h1{max-width:15ch;color:var(--white);font-size:clamp(2.8rem,4.8vw,5.2rem);line-height:1.04}
.article-standfirst{max-width:650px;margin:30px 0 32px;color:var(--sage-2);font-size:clamp(1.13rem,1.55vw,1.35rem);line-height:1.55}
.article-byline{display:flex;align-items:center;gap:16px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18)}
.article-byline img{width:62px;height:62px;object-fit:cover;object-position:50% 24%;border:2px solid var(--clay-soft);border-radius:50%}
.article-byline div{display:grid;gap:1px}
.article-byline strong{font-size:.96rem;color:var(--white)}
.article-byline strong a{text-decoration:none}
.article-byline strong a:hover{text-decoration:underline}
.article-byline span{color:var(--sage-2);font-size:.82rem;line-height:1.45}
.article-cover{position:relative;isolation:isolate;min-height:450px;align-self:stretch;overflow:hidden;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,var(--pine-700),var(--pine-800) 63%,var(--pine-900))}
.article-cover:before{content:"";position:absolute;inset:20px;border:1px solid rgba(201,220,209,.2)}
.article-cover-index,.article-cover-foot{position:absolute;left:38px;z-index:2;color:var(--sage-2);font-size:.86rem}
.article-cover-index{top:38px;letter-spacing:0}
.article-cover-foot{right:38px;bottom:38px;border-top:1px solid rgba(201,220,209,.32);padding-top:12px}
.article-cover-ring{position:absolute;width:420px;aspect-ratio:1;border:1px solid rgba(201,220,209,.3);border-radius:50%}
.ring-one{top:60px;right:-140px}
.ring-two{top:115px;right:-85px;width:310px;border-color:rgba(231,161,127,.55)}
.article-cover-cross{position:absolute;top:212px;right:61px;width:16px;height:16px;border:2px solid var(--clay-soft);border-radius:50%;background:var(--pine)}
.article-cover-word{position:absolute;left:38px;right:26px;bottom:95px;z-index:1;color:var(--white);font:400 clamp(2.6rem,3.5vw,4.2rem)/1.02 var(--display);letter-spacing:-.03em}
.article-layout{display:grid;grid-template-columns:minmax(0,740px) minmax(230px,280px);gap:clamp(56px,8vw,130px);justify-content:center;padding-top:clamp(64px,7vw,104px);padding-bottom:clamp(80px,9vw,132px)}
.article-body{max-width:none;min-width:0}
.article-body>p:first-child{margin:0 0 34px;padding-left:26px;border-left:3px solid var(--clay);font-size:clamp(1.18rem,1.5vw,1.33rem);line-height:1.65;color:var(--ink)}
.article-body p{margin:0 0 24px;color:var(--body);font-size:1.08rem;line-height:1.77}
.article-body h2{scroll-margin-top:calc(var(--header) + 24px);margin:70px 0 22px;font-size:clamp(1.8rem,2.7vw,2.45rem);line-height:1.18}
.article-body h3{margin:38px 0 14px;font-size:1.35rem}
.article-body a:not(.btn):not(.text-link){color:var(--forest);font-weight:600;text-underline-offset:.18em;text-decoration-thickness:1px}
.article-body a:not(.btn):not(.text-link):hover{color:var(--clay-2)}
.article-body ul{margin:0 0 30px;padding-left:26px}
.article-body li{margin:0 0 10px;padding-left:6px;line-height:1.7}
.article-body li::marker{color:var(--clay)}
.article-quote{position:relative;margin:52px 0;padding:40px clamp(30px,5vw,60px);background:var(--pine);color:var(--white);overflow:hidden}
.article-quote:before{content:"“";display:block;height:44px;color:var(--clay-soft);font:500 5rem/1 var(--display)}
.article-quote:after{content:"";position:absolute;right:-70px;bottom:-200px;width:300px;height:300px;border:1px solid rgba(201,220,209,.25);border-radius:50%}
.article-quote p{position:relative;z-index:1;max-width:28ch;margin:12px 0 0;color:var(--white);font:400 clamp(1.5rem,2.4vw,2.3rem)/1.32 var(--display)}
.article-quote p::after{content:"”";margin-left:.08em;color:var(--clay-soft)}
.article-note{display:flex;gap:20px;margin:46px 0;padding:28px 30px;background:var(--mist);border-left:3px solid var(--moss)}
.article-note-mark{flex:0 0 28px;width:28px;height:28px;margin-top:2px;border:2px solid var(--forest);border-radius:50%;position:relative}
.article-note-mark:after{content:"i";position:absolute;inset:0;display:grid;place-items:center;color:var(--forest);font:bold .95rem var(--sans)}
.article-note strong{display:block;margin-bottom:5px;color:var(--forest);font:600 1.2rem var(--display)}
.article-note p{margin:0;font-size:1rem}
.article-map{margin:42px 0 34px;padding:clamp(24px,4vw,44px);border:1px solid var(--line-2);background:var(--paper)}
.article-map figcaption{margin-bottom:25px;color:var(--ink);font:500 clamp(1.5rem,2vw,2rem)/1.2 var(--display)}
.article-map figcaption span{display:block;margin-bottom:7px;color:var(--clay-2);font:700 .79rem var(--sans)}
.article-map ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:1px;background:var(--line);list-style:none}
.article-map li{display:flex;gap:16px;min-height:130px;margin:0;padding:24px;background:var(--white)}
.article-map-num{flex:0 0 auto;color:var(--clay-2);font:500 1.4rem/1.1 var(--display)}
.article-map strong{display:block;margin:0 0 5px;color:var(--ink);font:600 1.15rem var(--display)}
.article-map p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.55}
.article-preview-notice{position:sticky;top:0;z-index:15;padding:12px 20px;background:var(--clay-300);color:var(--pine-800);text-align:center;font-weight:700;letter-spacing:0}
.article-cover--photo{background:var(--pine-700)}
.article-cover--photo img{display:block;width:100%;height:100%;min-height:400px;object-fit:cover}
.post-card-photo{min-height:340px;background:var(--pine-700)}
.post-card-photo img{display:block;width:100%;height:100%;object-fit:cover}
.article-image{margin:42px 0 36px}
.article-image img{display:block;width:100%;height:auto;max-height:740px;object-fit:contain;background:var(--mist)}
.article-image figcaption{margin-top:13px;color:var(--muted);font-size:.9rem;line-height:1.5}
.article-chart{margin:46px 0;padding:clamp(22px,4vw,38px);border:1px solid var(--line-2);background:var(--paper)}
.article-chart figcaption{margin:0 0 26px;color:var(--ink);font:500 clamp(1.4rem,2vw,1.9rem)/1.24 var(--display)}
.article-chart-rows{display:grid;gap:15px}
.article-chart-row{display:grid;grid-template-columns:minmax(105px,1fr) minmax(140px,3fr) auto;gap:14px;align-items:center;color:var(--ink);font-size:.94rem}
.article-chart-row progress{width:100%;height:16px;border:0;accent-color:var(--forest)}
.article-chart-row progress::-webkit-progress-bar{background:var(--pine-200);border-radius:10px}
.article-chart-row progress::-webkit-progress-value{background:var(--forest);border-radius:10px}
.article-chart-row strong{min-width:4ch;text-align:right;font-variant-numeric:tabular-nums}
.article-chart-source{margin:20px 0 0!important;color:var(--muted)!important;font-size:.8rem!important}
.article-quote cite{display:block;position:relative;z-index:1;margin-top:18px;color:var(--sage-2);font:500 .92rem/1.4 var(--sans);font-style:normal}
.article-aside{min-width:0;align-self:start;position:sticky;top:calc(var(--header) + 24px)}
.article-toc{padding:26px 0 32px;border-top:3px solid var(--forest)}
.article-aside-label{margin:0 0 18px;color:var(--clay-2);font-size:.82rem;font-weight:700}
.article-toc ol{margin:0;padding:0;list-style:none}
.article-toc li+li{margin-top:14px}
.article-toc a{color:var(--body);font-size:.93rem;line-height:1.35;text-decoration:none}
.article-toc a:hover{color:var(--clay-2);text-decoration:underline}
.article-aside-call{margin-top:26px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.article-aside-call>p:not(.article-aside-label){font:500 1.35rem/1.3 var(--display);color:var(--ink)}
.article-end{margin-top:76px;padding:clamp(32px,5vw,58px);background:var(--pine);color:var(--white)}
.article-end h2{max-width:18ch;margin:0 0 20px;color:var(--white)}
.article-end p:not(.kicker){max-width:57ch;color:var(--sage-2)}
.article-end .kicker{color:var(--clay-soft)!important}
.article-back{margin:32px 0 0!important}
@media(max-width:1000px){.article-hero-grid{grid-template-columns:minmax(0,1fr) minmax(250px,.6fr);gap:30px}.article-layout{grid-template-columns:minmax(0,1fr) 220px;gap:50px}}
@media(max-width:760px){.blog .post-list{grid-template-columns:1fr}.blog .post-card-featured{grid-template-columns:1fr}.post-card-art{min-height:300px}.article-hero-grid{grid-template-columns:1fr}.article-cover{min-height:260px}.article-cover-word{bottom:58px}.article-cover-foot{display:none}.article-layout{grid-template-columns:1fr;gap:30px}.article-aside{grid-row:1;position:static}.article-toc{padding:22px 0}.article-toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.article-toc li+li{margin:0}.article-aside-call{display:none}}
@media(max-height:690px){.article-aside{position:static}}
@media(max-width:520px){.article-hero h1{font-size:clamp(2.45rem,10vw,3.4rem)}.article-hero-grid{padding-top:42px}.article-cover{min-height:220px}.article-cover-word{font-size:2.7rem}.article-byline span{font-size:.76rem}.article-layout{padding-top:52px}.article-map ol{grid-template-columns:1fr}.article-map li{min-height:0}.article-quote{padding:32px 26px}.article-toc ol{grid-template-columns:1fr}.post-card-art,.post-card-photo{min-height:260px}.article-cover--photo img{min-height:220px}.article-chart-row{grid-template-columns:1fr auto;gap:5px 10px}.article-chart-row progress{grid-column:1/-1;grid-row:2}}

/* Public page openings: concise editorial hierarchy, a human scene, and the existing brand palette. */
.home-hero .hero-grid{padding:clamp(50px,6vw,78px) 0 clamp(42px,5vw,68px)}
.home-hero h1{max-width:13ch;font-size:clamp(2.75rem,5.2vw,4.65rem);line-height:1.04}
.home-hero .hero-lede{margin:24px 0 30px}
.page-hero--visual{padding:0 0 clamp(30px,4vw,54px);background:linear-gradient(125deg,var(--paper) 0%,var(--pine-50) 58%,var(--pine-100) 100%)}
.page-hero--visual .page-hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(34px,5vw,80px);padding-top:clamp(36px,4vw,62px)}
.page-hero--visual h1{max-width:16ch;font-size:clamp(2.45rem,4.1vw,3.85rem);line-height:1.08}
.page-hero--visual .kicker{margin-bottom:20px}
.page-hero-aside{width:100%;max-width:490px;justify-self:end}
.page-hero-photo{position:relative;overflow:hidden;margin:0 0 18px;aspect-ratio:16/10;border-radius:3px 3px 30px 3px;background:var(--pine-200);box-shadow:0 18px 40px rgba(17,55,42,.13)}
.page-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.page-hero-aside p{max-width:none!important;margin:0!important;padding:3px 0 3px 18px;border-left:2px solid var(--clay);font-size:1.02rem!important;line-height:1.55}
.consultants .page-hero-photo img{object-position:center 24%}
.resources .page-hero-photo{background:linear-gradient(145deg,var(--pine-900),var(--pine-700))}
.resources .page-hero-photo img{object-fit:contain;padding:8px}
.blog .page-hero-photo img{object-position:center 64%}
.faqs .page-hero-photo img{object-position:center 43%}
.legal-page .page-hero{padding:clamp(38px,4vw,58px) 0;background:linear-gradient(112deg,var(--paper) 0%,var(--pine-100) 100%)}
.legal-page .page-hero h1,.gen-hero h1{font-size:clamp(2.4rem,3.7vw,3.6rem)}
.legal-page .page-hero-grid{align-items:center}
.gen-hero{padding:clamp(42px,5vw,68px) 0;background:linear-gradient(112deg,var(--paper) 0%,var(--pine-100) 100%)}
.service-hero{background:linear-gradient(115deg,var(--paper) 0%,var(--pine-100) 100%)}
.service-hero-grid{gap:clamp(32px,4vw,64px);padding-top:clamp(32px,4vw,56px)}
.service-copy h1{font-size:clamp(2.5rem,4.2vw,3.9rem)}
.service-figure img{max-height:500px;object-fit:cover}
.profile-copy h1,.contact-copy h1{font-size:clamp(2.55rem,4.1vw,3.8rem)}
.article-hero h1{font-size:clamp(2.65rem,4vw,4.25rem)}
.article-hero-grid{padding-top:clamp(36px,4vw,60px)}
@media(max-width:1100px){.page-hero--visual .page-hero-grid{grid-template-columns:minmax(0,1fr) minmax(270px,.85fr);gap:28px}}
@media(max-width:760px){.page-hero--visual .page-hero-grid{grid-template-columns:1fr;gap:28px}.page-hero--visual h1{max-width:22ch}.page-hero-aside{max-width:none}.page-hero-photo{aspect-ratio:16/8;max-height:280px}.service-figure img{max-height:none}}

/* A small way into the site index; the mobile menu keeps the written label. */
.site-header nav a.nav-search{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:36px;height:36px;padding:0;border:1px solid var(--line-2);border-radius:50%}
.site-header nav a.nav-search:hover,.site-header nav a.nav-search[aria-current=page]{border-color:var(--clay);background:var(--clay-tint)}
.site-header nav a.nav-search[aria-current=page]:after{display:none}
.nav-search i{position:relative;display:block;width:15px;height:15px;border:2px solid currentColor;border-radius:50%;transform:translate(-2px,-2px)}
.nav-search i:after{content:"";position:absolute;width:8px;height:2px;right:-7px;bottom:-3px;background:currentColor;border-radius:2px;transform:rotate(47deg)}
.nav-search span{display:none}
[data-campaign-consent][hidden]{display:none!important}

/* The site's own search runs locally in the visitor's browser. */
.site-search-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--pine-50) 0%,var(--pine-100) 56%,var(--line) 100%);border-bottom:1px solid var(--line)}
.site-search-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:stretch;gap:clamp(30px,5vw,78px);padding:clamp(42px,5vw,70px) 0}
.site-search-hero .breadcrumbs{margin:0 0 clamp(32px,5vw,68px)}
.site-search-hero h1{font-size:clamp(2.6rem,4.5vw,4.25rem)}
.site-search-lede{max-width:600px;margin:16px 0 32px;color:var(--muted);font-size:1.14rem;line-height:1.55}
.site-search-form{max-width:730px;padding:24px;border:1px solid var(--line-2);border-top:3px solid var(--clay);border-radius:var(--r-lg);background:var(--white);box-shadow:var(--shadow)}
.site-search-form label{display:block;margin:0 0 10px;color:var(--ink);font-weight:650}
.site-search-input-row{display:flex;gap:10px}
.site-search-input-row input{min-width:0;flex:1;min-height:52px;padding:11px 16px;border:1px solid var(--line-2);border-radius:var(--r);font:inherit;color:var(--ink);background:var(--white)}
.site-search-input-row input:focus{outline:2px solid var(--clay);outline-offset:2px}
.site-search-privacy{margin:12px 0 0;color:var(--muted);font-size:.84rem;line-height:1.45}
.site-search-privacy a{text-underline-offset:3px;color:var(--forest)}
.site-search-art{position:relative;min-height:430px;align-self:stretch;overflow:hidden;border-radius:4px 4px 42px 4px;background:linear-gradient(145deg,var(--pine-900),var(--pine-700) 62%,var(--pine-600));box-shadow:0 22px 46px rgba(12,43,35,.18)}
.site-search-art-ring{position:absolute;top:10%;right:-14%;width:90%;aspect-ratio:1;border:1px solid rgba(247,235,227,.42);border-radius:50%;box-shadow:0 0 0 68px rgba(247,235,227,.04),0 0 0 140px rgba(247,235,227,.04)}
.site-search-art-rule{position:absolute;top:16%;left:12%;width:26%;height:3px;background:var(--clay-soft)}
.site-search-art-name{position:absolute;left:12%;bottom:20%;max-width:78%;color:var(--white);font:500 clamp(2rem,3vw,3.25rem)/1.12 var(--display);letter-spacing:-.02em}
.site-search-art-sign{position:absolute;right:10%;bottom:8%;color:var(--clay-soft);font-size:.8rem;letter-spacing:0}
.site-search-body{padding-top:clamp(54px,7vw,90px)}
.site-search-result-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}
.site-search-result-heading .kicker{margin-bottom:12px}
.site-search-result-heading [data-search-status]{max-width:390px;margin:0;color:var(--muted);font-size:.95rem;text-align:right}
.site-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1050px;margin:0;padding:0;list-style:none}
.site-search-results a{display:flex;flex-direction:column;gap:6px;min-height:136px;padding:22px 25px;border:1px solid var(--line);border-left:3px solid var(--sage);border-radius:var(--r);background:var(--white);color:var(--body);text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.site-search-results a:hover{border-color:var(--clay);box-shadow:var(--shadow);transform:translateY(-2px)}
.site-search-results strong{color:var(--ink);font:500 1.25rem/1.2 var(--display)}
.site-search-results .site-search-kind{color:var(--clay-2);font-size:.75rem;font-weight:700;letter-spacing:0}
.site-search-results a>span:last-child{color:var(--muted);font-size:.93rem;line-height:1.45}
.site-search-fallback{margin-top:42px;padding-top:28px;border-top:1px solid var(--line)}
.site-search-fallback h3{margin-bottom:18px}
.site-search-fallback>div{display:flex;flex-wrap:wrap;gap:12px}
.site-search-fallback a{display:inline-flex;align-items:center;gap:6px;padding:10px 15px;border:1px solid var(--line-2);border-radius:var(--r);color:var(--forest);font-size:.94rem;font-weight:600;text-decoration:none}
.site-search-fallback a:hover{border-color:var(--forest);background:var(--mist)}
@media(max-width:1020px){.site-header nav{gap:18px}.site-search-hero-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr)}}
@media(max-width:1100px){.site-header.open nav a.nav-search{width:auto;height:auto;justify-content:flex-start;padding:16px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}.nav-search span{display:inline}}
@media(max-width:760px){.site-search-hero-grid{grid-template-columns:1fr}.site-search-art{min-height:235px}.site-search-art-name{font-size:clamp(1.7rem,6vw,2.5rem)}.site-search-results{grid-template-columns:1fr}.site-search-result-heading{display:block}.site-search-result-heading [data-search-status]{max-width:none;margin:14px 0 0;text-align:left}}
@media(max-width:480px){.site-search-form{padding:18px}.site-search-input-row{flex-direction:column}.site-search-input-row button{width:100%}.site-search-art{min-height:190px}.site-search-art-ring{width:65%;top:-10%;right:-8%}.site-search-art-name{bottom:17%}}
/* Let form and search controls retain a useful tap target without widening a page. */
:where(.contact-card,.client-card,.gen-form,.site-search-form,.newsletter,.brief-card){min-width:0;max-width:100%}
:where(.contact-card,.client-card,.gen-form,.site-search-form,.newsletter,.brief-card) :where(form,fieldset,label,input,select,textarea){max-width:100%;min-width:0}
:where(.contact-card,.client-card,.gen-form,.site-search-form,.newsletter,.brief-card) :where(input,select,textarea){font-size:1rem}
.site-search-input-row>*{min-width:0}
.site-search-input-row .btn{flex:0 0 auto}
.site-search-results a{min-width:0;overflow-wrap:anywhere}
.article-body :where(table,.table-wrap),.legal-body :where(table,.table-wrap){max-width:100%}
.article-body table,.legal-body table{width:100%;border-collapse:collapse;font-size:.94rem;line-height:1.45}
.article-body table th,.legal-body table th{padding:15px 17px;border-bottom:0;background:var(--teal-800);color:var(--paper);text-align:left;font-size:.78rem;font-weight:750;letter-spacing:0;}
.article-body table td,.legal-body table td{padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.article-body table tr:nth-child(even),.legal-body table tr:nth-child(even){background:var(--teal-50)}
@media(max-width:700px){
  .article-body table,.legal-body table{display:block;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:var(--sage) transparent}
  .article-body table:focus-visible,.legal-body table:focus-visible{outline:3px solid var(--clay);outline-offset:3px}
  .article-body table :where(th,td),.legal-body table :where(th,td){min-width:140px}
  .table-wrap .atable:has(tr>:nth-child(3)){min-width:480px}
  .table-wrap .atable:has(tr>:nth-child(4)){min-width:620px}
  .table-wrap .atable:has(tr>:nth-child(6)){min-width:800px}
  .brief-card .brief-service{padding:20px 18px 6px}
  .gen-form-foot{align-items:stretch;flex-direction:column}
  .gen-form-foot .btn{width:100%}
}
@media(max-width:480px){
  .header-inner{gap:8px}
  .wordmark .name{font-size:clamp(.94rem,4.5vw,1.1rem)}
  .menu{padding-inline:11px}
  .contact-card,.client-card{padding:24px 20px}
  .site-search-form,.newsletter{padding:19px}
  :where(h1,h2){overflow-wrap:break-word}
}
@media(max-width:520px){.home-hero h1{font-size:clamp(2.6rem,10vw,3.4rem)}.page-hero--visual .page-hero-grid{padding-top:36px}.page-hero--visual h1{font-size:clamp(2.35rem,9vw,3.05rem)}.page-hero-photo{aspect-ratio:16/10;max-height:none}.page-hero-aside p{font-size:.97rem!important}.service-copy h1,.contact-copy h1,.profile-copy h1{font-size:clamp(2.35rem,9vw,3.1rem)}.article-hero h1{font-size:clamp(2.35rem,9vw,3.3rem)}}

/* Distinct editorial treatments for leadership without repeating the founder portrait. */
.leader-visual{display:flex;flex-direction:column;justify-content:space-between;min-height:470px;padding:30px;background:linear-gradient(155deg,var(--pine-800) 0%,var(--pine-700) 65%,var(--pine-600) 100%);border-radius:var(--r-lg);box-shadow:var(--shadow);color:var(--white);overflow:hidden}
.leader-visual-index,.person-visual-index,.founder-note-index{font-size:.76rem;font-weight:700;letter-spacing:0;}
.leader-visual-index{color:var(--pine-200)}
.leader-visual-sheet{display:grid;position:relative;gap:0;width:min(94%,390px);margin:38px auto 8px;padding:18px 24px 30px;background:var(--clay-50);box-shadow:12px 14px 0 rgba(201,225,202,.24);color:var(--forest);transform:rotate(-2deg)}
.leader-visual-sheet:before{content:"";width:68px;height:5px;margin:4px 0 22px;background:var(--clay)}
.leader-visual-step{padding:11px 0;border-top:1px solid var(--line-2);font:500 clamp(1.05rem,2vw,1.35rem)/1.2 var(--display)}
.leader-visual-sign{margin-top:18px;color:var(--clay-2);font-size:.92rem;font-weight:700;line-height:1.35}
.founder-note{display:flex;flex-direction:column;justify-content:space-between;min-height:470px;padding:clamp(30px,4vw,55px);border-radius:var(--r-lg);background:linear-gradient(145deg,var(--clay-100),var(--pine-100));border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.founder-note-index{color:var(--clay-2)}
.founder-note blockquote{margin:42px 0;color:var(--forest);font:400 clamp(1.55rem,2.5vw,2.45rem)/1.2 var(--display);letter-spacing:-.025em}
.founder-note-sign{display:flex;align-items:center;gap:16px;color:var(--ink);font-size:.95rem;font-weight:700;line-height:1.45}
.founder-note-sign small{color:var(--muted);font-weight:500}
.founder-note-line{width:38px;height:2px;background:var(--clay);flex:none}
.person-card-lead .person-visual{display:flex;flex-direction:column;justify-content:space-between;min-height:370px;padding:30px;background:radial-gradient(circle at 80% 18%,var(--pine-500) 0 9%,transparent 9.4%),linear-gradient(145deg,var(--pine-900),var(--pine-700));color:var(--white)}
.person-visual-index{color:var(--pine-200)}
.person-visual-map{display:grid;gap:8px;width:84%;margin:auto;transform:rotate(-4deg)}
.person-visual-map span{display:block;padding:16px 20px;background:var(--clay-50);border-left:5px solid var(--clay);box-shadow:8px 8px 0 rgba(6,24,19,.18);color:var(--forest);font:500 clamp(1.2rem,2vw,1.55rem)/1.1 var(--display)}
.person-visual-map span:nth-child(2){margin-left:24px;border-left-color:var(--pine-400)}
.person-visual-map span:nth-child(3){margin-left:48px;border-left-color:var(--pine-500)}
.person-visual-foot{color:var(--pine-100);font-size:.83rem}
.resources .page-hero-photo{background:var(--pine-200)}
.resources .page-hero-photo img{object-fit:cover;padding:0}
.consultants .page-hero-photo img{object-position:center}
.profile-grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
.profile-media>img{display:block;width:100%;max-width:340px;aspect-ratio:4/5;object-position:center 22%}
@media(max-width:900px){.leader-visual,.founder-note{min-height:360px}.person-card-lead .person-visual{min-height:300px}}
@media(max-width:700px){.leader-visual{min-height:390px}.profile-grid{grid-template-columns:1fr}.profile-media>img{max-width:300px}.founder-note{min-height:320px}.person-card-lead .person-visual{min-height:300px}}

/* Mobile menu: full-width rows, display type, and clear actions (28 September 2026). */
@media(max-width:1100px){
  .site-header.open nav{grid-template-columns:minmax(0,1fr);justify-content:stretch;align-content:start;padding:6px var(--gutter) 28px;box-shadow:0 24px 40px rgba(12,43,35,.14)}
  .site-header.open nav>a{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:17px 2px;font-family:var(--display);font-size:1.25rem;font-weight:500;color:var(--ink)}
  .site-header.open nav>a:not(.nav-mobile--cta):not(.nav-search)::after{content:"";position:static;width:8px;height:8px;flex:0 0 8px;border-top:1.6px solid var(--clay);border-right:1.6px solid var(--clay);border-radius:0;background:none;transform:rotate(45deg)}
  .site-header.open nav>a[aria-current=page]{color:var(--clay-700)}
  .site-header.open nav>a.nav-search{justify-content:flex-start;font-family:var(--display);font-size:1.25rem}
  .site-header.open nav .nav-mobile--cta{justify-content:center;margin-top:20px;min-height:54px;font-family:var(--sans);font-size:1rem}
  /* Client sign-in is a row like the others: flex, so its chevron sits at the right instead of a stray bar after the text. */
  .site-header.open nav>a.nav-mobile:not(.nav-mobile--cta){display:flex}
}


/* Retired pattern: no coloured bar down the left of a block (Nadine, 27 September 2026). Panels take a full, even edge. */
.brief-card .partner-agreement,
.chat-human-thread.is-live .chat-thread-status,
.revision-point-form,
.revision-point,
.article-note,
.site-search-results a,
.person-visual-map span{border-left-width:1px!important;border-left-style:solid!important;border-left-color:var(--line)!important;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:12px!important}
.article-body>p:first-child,
.page-hero-aside p{border-left:0!important;padding-left:0!important}

/* One select style across the site, client area and admin. */
form select:not([multiple]){appearance:none;-webkit-appearance:none;padding-right:44px;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 8l4.5 4.5L14.5 8' fill='none' stroke='%232F6B55' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 14px center/18px no-repeat;cursor:pointer}
.site-footer .wordmark .name b{color:var(--clay-400)}
.breadcrumbs a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2)}
.breadcrumbs a:hover{text-decoration-color:currentColor}
.brief-draft-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:14px}
.brief-draft-bar .btn{min-height:44px}
.brief-draft-bar .as-button[hidden]{display:none}
.brief-draft-note{flex-basis:100%;margin:0;color:var(--muted);font-size:.9rem}
.brief-draft-note:empty{display:none}
.brief-draft-bar .btn{width:auto;flex:0 0 auto}
.brief-draft-bar .as-button{margin:0;color:var(--pine-700);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.brief-draft-link{display:flex;flex-wrap:wrap;gap:10px;flex-basis:100%}
.brief-draft-link[hidden]{display:none}
.brief-draft-link input{flex:1 1 260px;min-width:0;min-height:44px;font-size:.9rem}
.brief-draft-note .as-button{margin-left:6px}

/* Logo (28 September 2026): outlined Jost wordmark, so it never renders in a fallback font. */
.wordmark-img{display:block;height:1.24rem;width:auto;max-width:none}
@media (max-width:700px){.wordmark-img{height:1.12rem}}
@media (max-width:480px){.wordmark-img{height:clamp(.95rem,4.56vw,1.12rem)}}
.footer-brand .wordmark-img{height:1.4rem}

/* The business name in logo style, wherever it appears in text (28 September 2026). UK is clay on light
   backgrounds and clay soft on dark ones. It never wraps between "Strategy" and "UK". */
.bsuk-name{font-family:var(--display);font-weight:600;letter-spacing:-.01em;white-space:nowrap;font-style:normal}
.bsuk-name .uk{font-weight:500;color:var(--bsuk-uk,var(--clay))}
.dark,.section.dark,.home-hero,.service-card-premium--featured,.contact-band,.brief-copy .brief-side-note,.gen-board,.site-footer,.pullquote,.partner-price,.chat-head,.chat-msg.me,.portal-head,.next-step,.admin-top,.admin-nav a.on,.stat:first-child,.post-card-art,.article-hero,.article-cover,.article-quote,.article-end,.leader-visual,.person-card-lead .person-visual,.person-card-join,.btn-solid,.btn-signal{--bsuk-uk:var(--clay-400)}
/* Inside text that is already clay (kickers, eyebrows), UK takes the same colour and keeps its weight. */
.kicker .bsuk-name .uk,.eyebrow .bsuk-name .uk{color:inherit}
h1 .bsuk-name,h2 .bsuk-name,h3 .bsuk-name,.btn .bsuk-name{font-weight:inherit}

/* Blog images (28 September 2026): cover images are designed artwork, so they are shown whole at their
   own shape, never cropped into a tall frame. The frame takes the image's proportions and the pine
   ground fills any spare space in the card. */
.post-card-photo,.post-card-photo img{min-height:0!important}
.post-card-photo{display:grid;place-items:center;background:var(--pine-900)}
.post-card-photo img{width:100%;height:auto!important;max-height:100%;object-fit:contain}
.article-cover.article-cover--photo{min-height:0!important;align-self:center;border:0;border-radius:var(--r-lg);background:var(--pine-900);box-shadow:0 18px 40px -24px rgba(7,24,21,.6)}
.article-cover--photo:before{display:none}
.article-cover--photo img{min-height:0!important;height:auto!important;width:100%;object-fit:contain}
/* With a photo cover the artwork gets a fuller share of the hero, and the featured card follows the
   image's height so the pine ground shows as little as possible. */
@media(min-width:1101px){.article-hero-grid:has(.article-cover--photo){grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,5vw,72px)}}
.blog .post-card-featured:has(.post-card-photo){min-height:0}
.blog .post-card-featured:has(.post-card-photo) .post-card-copy{padding:clamp(28px,4vw,52px)}

/* Header refresh + visitor display modes (28 September 2026). */
:root{--header:74px;--night:#091713;--night-2:#0E201A;--night-3:#132820;--night-line:#2B4138}

/* Premium pine and clay header: architectural, calm and confident. */
.site-header{
  position:sticky;top:0;z-index:40;
  color:#F7F8F4;
  background:linear-gradient(108deg,#102E26 0%,#0C2821 58%,#12372B 100%);
  border-bottom:1px solid rgba(231,161,127,.42);
  box-shadow:0 12px 32px rgba(7,26,21,.18);
  backdrop-filter:saturate(1.15) blur(16px);
  -webkit-backdrop-filter:saturate(1.15) blur(16px)
}
.header-inner{
  height:var(--header);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  gap:clamp(12px,1.55vw,24px);
  align-items:center
}
.site-header nav{
  min-width:0;justify-content:center;gap:clamp(1px,.25vw,4px);margin:0;padding:0;
  border:0;border-radius:0;background:transparent;box-shadow:none
}
.site-header nav a{
  padding:10px clamp(7px,.75vw,12px);
  border-radius:4px;color:rgba(247,248,244,.77);
  font-size:clamp(.79rem,.72vw,.9rem);font-weight:550;line-height:1.15;
  transition:color .18s,background .18s
}
.site-header nav a:hover{background:rgba(255,255,255,.08);color:#fff;box-shadow:none}
.site-header nav a[aria-current=page]{
  position:relative;background:transparent;color:#fff;box-shadow:none
}
.site-header nav a[aria-current=page]:after{
  display:block;position:absolute;left:clamp(7px,.75vw,12px);right:clamp(7px,.75vw,12px);bottom:3px;
  height:2px;border-radius:2px;background:var(--clay-soft)
}
.site-header nav a.nav-search{width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.045)}
.site-header nav a.nav-search:hover,.site-header nav a.nav-search[aria-current=page]{border-color:rgba(231,161,127,.6);background:rgba(255,255,255,.1);box-shadow:none}
.display-tools--desktop{
  gap:2px;padding:3px;border:1px solid rgba(255,255,255,.19);border-radius:999px;background:rgba(4,18,14,.22)
}
.site-header .display-toggle{min-width:31px;padding-inline:7px;color:rgba(247,248,244,.78)}
.site-header .display-toggle:hover{background:rgba(255,255,255,.1);color:#fff}
.site-header .display-toggle[aria-pressed=true]{background:rgba(231,161,127,.18);color:#FFD1B6;box-shadow:inset 0 0 0 1px rgba(231,161,127,.3)}
.header-actions{gap:clamp(7px,1vw,14px);align-items:center}
.header-actions .signin{
  display:inline-flex;align-items:center;min-height:40px;padding:0 8px;
  border-radius:4px;color:rgba(247,248,244,.76);font-size:.84rem;font-weight:600
}
.header-actions .signin:hover{color:#fff;background:rgba(255,255,255,.08)}
.header-cta{
  min-height:46px;padding:0 21px;border:1px solid #D17A57;border-radius:4px;
  background:linear-gradient(135deg,#C46B49,#A94D31);color:#fff;
  box-shadow:0 7px 18px rgba(5,19,15,.22),inset 0 1px 0 rgba(255,255,255,.18);
  font-size:.91rem;letter-spacing:.005em
}
.header-cta:hover{background:linear-gradient(135deg,#D07A56,#B45A3A);border-color:#E7A17F;transform:translateY(-1px)}
.menu{height:42px;border-radius:4px;border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.07);color:#fff;box-shadow:none}
.menu:hover{background:rgba(255,255,255,.13)}
/* Display preference controls. Desktop stays intentionally compact; mobile menu uses full labels. */
.display-tools{display:flex;align-items:center;gap:5px}
.display-tools--desktop{
  padding:3px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--paper)
}
.display-toggle{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:34px;
  height:34px;
  padding:0 9px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--muted);
  font:650 .82rem/1 var(--sans);
  cursor:pointer;
  transition:background .18s,color .18s,box-shadow .18s
}
.display-toggle:hover{background:var(--white);color:var(--ink)}
.display-toggle[aria-pressed=true]{background:var(--clay-tint);color:var(--clay-2);box-shadow:inset 0 0 0 1px rgba(180,83,47,.08)}
.display-toggle-icon{display:block;width:16px;height:16px;background:currentColor}
.display-toggle--theme .display-toggle-icon{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.4 15.4A8.3 8.3 0 0 1 8.6 3.6 8.7 8.7 0 1 0 20.4 15.4Z' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.4 15.4A8.3 8.3 0 0 1 8.6 3.6 8.7 8.7 0 1 0 20.4 15.4Z' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat
}
.display-toggle-aa{display:block;min-width:20px;font:700 .9rem/1 var(--sans);letter-spacing:-.035em}
.display-toggle-text{white-space:nowrap}
.display-tools--mobile{display:none}
.nav-preferences-label{margin:0 0 10px;color:var(--muted);font-size:.78rem;font-weight:700}
.nav-preferences-buttons{display:flex;flex-wrap:wrap;gap:8px}
.nav-preferences .display-toggle{
  justify-content:flex-start;
  width:auto;
  min-height:44px;
  height:auto;
  padding:0 14px;
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--body);
  font-size:.92rem
}
.nav-preferences .display-toggle[aria-pressed=true]{border-color:var(--clay-400);background:var(--clay-tint);color:var(--clay-2)}

/* Dark mode keeps the Brand Strategy UK green/clay identity instead of flattening the site to black. */
html[data-theme=dark]{
  color-scheme:dark;
  --paper:var(--night-2);
  --mist:var(--night-3);
  --pine-50:#10231D;
  --pine-100:#142A22;
  --teal-50:#10252B;
  --teal-100:#173039;
  --ink:#F3F7F4;
  --body:#D7E2DD;
  --muted:#AABAB3;
  --quiet:#93A59D;
  --line:#2A4037;
  --line-2:#405B51;
  --clay-tint:#2D1B15;
  --teal-soft:#17343C;
  --shadow-sm:0 1px 2px rgba(0,0,0,.22),0 3px 10px rgba(0,0,0,.16);
  --shadow:0 2px 5px rgba(0,0,0,.2),0 16px 38px rgba(0,0,0,.2);
  --shadow-lg:0 5px 12px rgba(0,0,0,.24),0 32px 70px rgba(0,0,0,.3)
}
html[data-theme=dark] body{background:var(--night);color:var(--body)}
html[data-theme=dark] .site-header{
  background:rgba(9,23,19,.93);
  border-bottom-color:var(--line);
  box-shadow:0 12px 36px rgba(0,0,0,.22)
}
html[data-theme=dark] .site-header nav,
html[data-theme=dark] .display-tools--desktop,
html[data-theme=dark] .menu{background:var(--night-2);border-color:var(--line);box-shadow:none}
html[data-theme=dark] .site-header nav a:hover,
html[data-theme=dark] .site-header nav a.nav-search:hover,
html[data-theme=dark] .header-actions .signin:hover,
html[data-theme=dark] .display-toggle:hover{background:var(--night-3)}
html[data-theme=dark] .site-header nav a[aria-current=page],
html[data-theme=dark] .display-toggle[aria-pressed=true]{background:var(--clay-tint);color:var(--clay-soft)}
html[data-theme=dark] .header-actions .signin{color:var(--muted)}
html[data-theme=dark] .soft,
html[data-theme=dark] .notfound,
html[data-theme=dark] .admin-body{background:var(--night-2)}
html[data-theme=dark] .ladder-strip,
html[data-theme=dark] .services-catalogue,
html[data-theme=dark] .resource-catalogue{background:var(--night)}
html[data-theme=dark] :is(
  .problem-grid article,.tile,.principles article,.resource-card,.service-card-premium,.work,.person-card,
  .services-note article,.profile-info>div,.service-price,.cim-badge,.contact-card,.client-card,.gen-facts div,
  .gen-form fieldset,.credential,.fit-cols article,.route-card,.partner-panel>div,.chat-panel,.chat-msg.bot,
  .chat-form,.chat-foot,.chat-human-message,.engagement,.msg,.revision-proposal,.post-card,.board-col,
  .article-map li,.site-search-form,.site-search-results a,.table-wrap
){background:var(--night-2)}
html[data-theme=dark] :is(
  .contact-card input,.contact-card select,.contact-card textarea,.client-card input,.brief-service textarea,
  .gen-field input,.chat-handoff-form input:not([type=checkbox]),.chat-handoff-form textarea,
  .chat-human-reply textarea,.msg-form select,.msg-form textarea,.delivery-review textarea,
  .revision-point-form input,.revision-proposal input,.af input,.af select,.af textarea,
  .site-search-input-row input
){background:var(--night);color:var(--ink)}
html[data-theme=dark] .editorial-feature,
html[data-theme=dark] .editorial-feature--services{background:var(--night-2)}
html[data-theme=dark] :is(.gen-hero,.service-hero){background:linear-gradient(112deg,var(--night) 0%,var(--night-2) 100%)}
html[data-theme=dark] .site-search-hero{background:linear-gradient(135deg,var(--night) 0%,var(--night-2) 60%,#173229 100%)}
html[data-theme=dark] .blog-empty{background:linear-gradient(160deg,var(--night-2),var(--night))}
html[data-theme=dark] .revision-point{background:linear-gradient(115deg,var(--night-3),var(--night-2))}
html[data-theme=dark] .founder-note{background:linear-gradient(145deg,#241B17,var(--night-2))}
html[data-theme=dark] :is(.text-link,.founder-copy a:not(.btn):not(.text-link),.site-search-privacy a,.site-search-fallback a,.brief-draft-bar .as-button,.form-status){color:var(--sage)}
html[data-theme=dark] .question-chips li,
html[data-theme=dark] .chat-chip,
html[data-theme=dark] .chat-live-offer-decline{background:var(--night-2);color:var(--sage)}
html[data-theme=dark] form select:not([multiple]){
  background-color:var(--night);
  color:var(--ink)
}
html[data-theme=dark] .chat-human-message.visitor{background:var(--night-3)}
html[data-theme=dark] ::selection{background:var(--clay-700);color:#fff}
html[data-theme=dark] .btn-outline{background:var(--night-2);border-color:var(--line-2);color:var(--ink)}
html[data-theme=dark] :is(.atable th,.article-body table th,.legal-body table th){color:#F6F8F5}
html[data-theme=dark] :is(.brief-copy .brief-side-note,.person-visual-foot){color:#EAF1EC}
html[data-theme=dark] :is(.ladder .idx,.problem-grid>article>span,.principles span,.resource-card--free .resource-price,.blog-topics span,.chat-link,.chat-human-toggle,.status-pill,.status-ok,.admin-banner){color:var(--sage)}
html[data-theme=dark] .btn-ai{background:var(--night-2);color:var(--sage)}
html[data-theme=dark] .ts-slot .ts-retry:hover{background:var(--night-2);color:var(--ink)}
html[data-theme=dark] .gen-variants button[aria-pressed=true]{background:var(--clay-tint);color:var(--clay-soft)}

/* Dyslexia-friendly reading mode: simpler letterforms, more air, no italics, less visual compression. */
html[data-reading=dyslexia]{
  --display:Arial,Verdana,Tahoma,sans-serif;
  --sans:Arial,Verdana,Tahoma,sans-serif
}
html[data-reading=dyslexia] body{
  font-family:var(--sans);
  font-size:18px;
  line-height:1.82;
  letter-spacing:.018em;
  word-spacing:.07em
}
html[data-reading=dyslexia] :where(h1,h2,h3,h4,.display-xl,.wordmark .name,.leader-visual-step,.person-visual-map span){
  font-family:var(--sans);
  font-weight:650;
  letter-spacing:.005em;
  line-height:1.25;
  text-wrap:wrap
}
html[data-reading=dyslexia] :where(p,li,dd,dt,label,input,select,textarea,button,.btn,.text-link,.kicker){
  letter-spacing:.018em;
  word-spacing:.07em
}
html[data-reading=dyslexia] :where(em,i,.home-hero h1 em){font-style:normal}
html[data-reading=dyslexia] :where(.article-body,.legal-body,.founder-copy,.service-copy,.contact-copy) p{line-height:1.9}
html[data-reading=dyslexia] :where(.article-body,.legal-body) :where(p,li){max-width:70ch}
html[data-reading=dyslexia] .site-header nav a{font-weight:700}
html[data-reading=dyslexia] .kicker{font-weight:700}

@media(max-width:1160px){
  .site-header nav,.header-actions,.display-tools--desktop{display:none}
  .menu{display:inline-flex}
  .site-header.open nav{
    position:absolute;
    top:var(--header);
    left:0;
    right:0;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:0;
    max-height:calc(100dvh - var(--header));
    overflow-y:auto;
    margin:0;
    padding:8px var(--gutter) 28px;
    border:0;
    border-bottom:1px solid var(--line);
    border-radius:0;
    background:var(--white);
    box-shadow:0 24px 44px rgba(12,43,35,.14)
  }
  .site-header.open nav>a,
  .site-header.open nav>a.nav-search{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    width:100%;
    height:auto;
    padding:16px 2px;
    border:0;
    border-bottom:1px solid var(--line);
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:var(--ink);
    font-family:var(--display);
    font-size:1.18rem;
    font-weight:600
  }
  .site-header.open nav>a:not(.nav-mobile--cta):not(.nav-search)::after{
    content:"";
    position:static;
    display:block;
    width:8px;
    height:8px;
    flex:0 0 8px;
    border-top:1.6px solid var(--clay);
    border-right:1.6px solid var(--clay);
    border-radius:0;
    background:none;
    transform:rotate(45deg)
  }
  .site-header.open nav>a[aria-current=page]{color:var(--clay-700)}
  .site-header.open nav .nav-mobile{display:flex}
  .site-header.open nav .nav-mobile--cta{
    justify-content:center;
    min-height:54px;
    margin-top:18px;
    padding:0 18px;
    border:0;
    border-radius:999px;
    background:var(--forest);
    color:var(--white);
    font-family:var(--sans);
    font-size:1rem
  }
  .site-header.open nav .nav-mobile--cta:hover{background:var(--pine);color:var(--white)}
  .site-header.open nav>a.nav-search{justify-content:flex-start}
  .site-header.open nav>a.nav-search .nav-search span{display:inline}
  .site-header.open .nav-search span{display:inline}
  .display-tools--mobile{
    display:block;
    margin:18px 0 2px;
    padding:18px 0 4px;
    border-top:1px solid var(--line)
  }
  html[data-theme=dark] .site-header.open nav{background:var(--night);box-shadow:0 24px 44px rgba(0,0,0,.3)}
  html[data-theme=dark] .nav-preferences .display-toggle{background:var(--night-2);border-color:var(--line);color:var(--body)}
  html[data-theme=dark] .nav-preferences .display-toggle[aria-pressed=true]{background:var(--clay-tint);color:var(--clay-soft)}
}
@media(max-width:700px){
  :root{--header:66px}
  html[data-reading=dyslexia] body{font-size:17px}
  .menu{height:40px;padding-inline:12px}
  .display-tools--mobile{margin-top:14px}
}
@media print{
  .display-tools{display:none!important}
  html[data-theme=dark] body{background:#fff!important;color:#111!important}
}

/* Site-wide premium header refinements — shared by every Brand Strategy UK page. */
:root{--header:82px}
.site-header{position:sticky;top:0;z-index:40;color:#F7F8F4;background:#0C2B23;border-bottom:1px solid rgba(231,161,127,.48);box-shadow:0 12px 32px rgba(7,26,21,.2);backdrop-filter:none;-webkit-backdrop-filter:none}
.header-inner{height:var(--header);display:grid;grid-template-columns:210px minmax(0,1fr) auto auto;gap:clamp(10px,1.25vw,19px);align-items:center}
.site-header .wordmark{display:flex;width:210px;height:55px;align-items:center;overflow:hidden}
.site-header .wordmark-img{display:block;width:180px;height:auto;max-width:none;filter:none;opacity:1}
.site-header nav{display:flex;min-width:0;justify-content:center;align-items:center;gap:clamp(0px,.2vw,3px);margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.site-header nav a{padding:10px clamp(7px,.7vw,11px);border-radius:4px;color:rgba(247,248,244,.8);font-size:clamp(.78rem,.7vw,.9rem);font-weight:550;line-height:1.15;transition:color .18s,background .18s}
.site-header nav a:hover{background:rgba(255,255,255,.09);color:#fff;box-shadow:none}
.site-header nav a[aria-current=page]{position:relative;background:transparent;color:#fff;box-shadow:none}
.site-header nav a[aria-current=page]:after{display:block;position:absolute;left:10px;right:10px;bottom:3px;height:2px;border-radius:2px;background:var(--clay-soft)}
.site-header nav a.nav-search{width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(255,255,255,.06)}
.site-header nav a.nav-search:hover,.site-header nav a.nav-search[aria-current=page]{border-color:rgba(231,161,127,.65);background:rgba(255,255,255,.12);box-shadow:none}
.site-header .display-tools--desktop{display:flex;gap:3px;padding:3px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.07);box-shadow:none}
.site-header .display-toggle{display:inline-flex;min-width:34px;height:36px;padding:0 9px;align-items:center;justify-content:center;border:0;border-radius:999px;background:transparent;color:#F5F3EB}
.site-header .display-toggle:hover{background:rgba(255,255,255,.13);color:#fff}
.site-header .display-toggle[aria-pressed=true]{background:rgba(231,161,127,.2);color:#FFD0B5;box-shadow:inset 0 0 0 1px rgba(231,161,127,.42)}
.site-header .display-toggle-icon{background:currentColor}
.site-header .display-toggle-aa{color:inherit}
.site-header .header-actions{display:flex;align-items:center;gap:clamp(6px,.7vw,11px)}
.site-header .header-actions .signin{display:inline-flex;align-items:center;min-height:42px;padding:0 8px;border-radius:4px;color:rgba(247,248,244,.82);font-size:.84rem;font-weight:600}
.site-header .header-actions .signin:hover{background:rgba(255,255,255,.09);color:#fff}
.site-header .header-cta{display:inline-flex;align-items:center;min-height:46px;padding:0 21px;border:1px solid #D17A57;border-radius:999px;background:linear-gradient(135deg,#C46B49,#A94D31);color:#fff;box-shadow:0 7px 18px rgba(5,19,15,.28),inset 0 1px 0 rgba(255,255,255,.2);font-size:.91rem;font-weight:650;letter-spacing:.005em;white-space:nowrap}
.site-header .header-cta:hover{background:linear-gradient(135deg,#D07A56,#B45A3A);border-color:#E7A17F;box-shadow:0 9px 22px rgba(5,19,15,.34);transform:translateY(-1px)}
.site-header .header-cta .arw{display:inline-block}
.site-header .menu{height:42px;padding:0 15px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;box-shadow:none}
.site-header .menu:hover{background:rgba(255,255,255,.15)}
@media(max-width:1240px){
 :root{--header:76px}.header-inner{display:flex;gap:16px}
 .site-header nav,.site-header .header-actions,.site-header .display-tools--desktop{display:none}
 .site-header .wordmark{width:210px;margin-right:auto}.site-header .menu{display:inline-flex;align-items:center}
 .site-header.open nav{position:absolute;top:var(--header);left:0;right:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0;max-height:calc(100dvh - var(--header));overflow-y:auto;margin:0;padding:8px var(--gutter) 28px;border:0;border-bottom:1px solid rgba(231,161,127,.45);border-radius:0;background:#113629;box-shadow:0 24px 44px rgba(7,26,21,.34)}
 .site-header.open nav>a,.site-header.open nav>a.nav-search{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;height:auto;padding:16px 2px;border:0;border-bottom:1px solid rgba(255,255,255,.13);border-radius:0;background:transparent;box-shadow:none;color:#F7F8F4;font-family:var(--display);font-size:1.18rem;font-weight:550}
 .site-header.open nav>a:hover{background:rgba(255,255,255,.06);color:#fff}
 .site-header.open nav>a[aria-current=page]{color:#F0B08F}
 .site-header.open nav>a:not(.nav-mobile--cta):not(.nav-search)::after{content:"";position:static;display:block;width:8px;height:8px;flex:0 0 8px;border-top:1.6px solid #E7A17F;border-right:1.6px solid #E7A17F;border-radius:0;background:none;transform:rotate(45deg)}
 .site-header.open nav .nav-mobile{display:flex}
 .site-header.open nav .nav-mobile--cta{justify-content:center;min-height:54px;margin-top:18px;padding:0 18px;border:1px solid #D17A57;border-radius:999px;background:linear-gradient(135deg,#C46B49,#A94D31);color:#fff;font-family:var(--sans);font-size:1rem}
 .site-header.open nav .nav-mobile--cta:hover{background:#D07A56;color:#fff}
 .site-header.open nav>a.nav-search{justify-content:flex-start}
 .site-header.open nav>a.nav-search .nav-search span,.site-header.open .nav-search span{display:inline}
 .site-header .display-tools--mobile{display:block;margin:18px 0 2px;padding:18px 0 4px;border-top:1px solid rgba(255,255,255,.16)}
 .site-header .nav-preferences-label{color:#DAE6DF}
 .site-header .nav-preferences .display-toggle{min-height:44px;padding:0 14px;border:1px solid rgba(255,255,255,.23);background:rgba(255,255,255,.08);color:#F7F8F4}
 .site-header .nav-preferences .display-toggle[aria-pressed=true]{border-color:#E7A17F;background:rgba(231,161,127,.18);color:#FFD0B5}
 html[data-theme=dark] .site-header.open nav{background:#091713}
}
@media(max-width:700px){:root{--header:70px}.site-header .wordmark{width:190px;height:51px}.site-header .wordmark-img{width:164px}.site-header .menu{height:40px;padding-inline:13px}}
@media(max-width:420px){.site-header .wordmark{width:170px;height:45px}.site-header .wordmark-img{width:150px}.site-header .menu{padding-inline:11px;font-size:.85rem}}


/* Premium editorial refinement: consultants and aligned catalogue cards */
.people-section{padding-top:clamp(52px,6vw,88px)}
.people-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.people-section-heading .kicker{margin:0}
.people-section-thesis{margin:0;color:var(--forest);font:400 clamp(1.2rem,2vw,1.65rem)/1.25 var(--display);letter-spacing:-.02em}
.people-grid{grid-template-columns:minmax(0,1.85fr) minmax(280px,.78fr);gap:24px;align-items:stretch}
.person-card-lead{grid-template-columns:minmax(230px,.78fr) minmax(0,1.22fr);background:var(--white)}
.person-card-lead>div.person-copy{padding:clamp(26px,3vw,42px);display:flex;flex-direction:column}
.person-card-lead .person-visual{min-height:100%;padding:clamp(24px,3vw,36px);background:var(--pine-900);color:var(--white)}
.person-visual-index{color:var(--pine-100);font-size:.7rem;letter-spacing:.08em}
.person-visual-index span{color:var(--clay-soft);padding:0 5px}
.person-visual-map{display:grid;gap:0;width:100%;margin:auto 0;transform:none}
.person-visual-map span,.person-visual-map span:nth-child(2),.person-visual-map span:nth-child(3){margin:0;padding:15px 0;border:0;border-top:1px solid rgba(255,255,255,.22);border-radius:0;background:transparent;box-shadow:none;color:var(--white);font:400 clamp(1.8rem,3.2vw,2.7rem)/1.06 var(--display);letter-spacing:-.035em}
.person-visual-map span:last-child{border-bottom:1px solid rgba(255,255,255,.22)}
.person-visual-foot{max-width:28ch;color:var(--pine-100);font-size:.88rem;line-height:1.55}
.person-card-lead h2{margin:2px 0 0}
.person-card-lead .role{margin:10px 0 16px}
.person-card-lead .card-badge{margin:15px 0 10px;padding-top:13px;border-top:1px solid var(--line);font-size:.86rem}
.person-card-lead .card-work{margin:5px 0 0;font-size:.9rem}
.person-card-lead .card-links{gap:12px 18px;margin-top:auto;padding-top:24px}
.person-card-lead .card-links .btn{margin-right:4px}
.person-card-join{display:flex;align-items:stretch;background:var(--paper);border-color:var(--line);color:var(--ink)}
.person-card-join>div{display:flex;flex-direction:column;justify-content:flex-start;min-height:0;padding:clamp(26px,3vw,38px)}
.person-card-join h2{margin:0 0 16px;padding-bottom:18px;border-bottom:1px solid var(--line);color:var(--ink)}
.person-card-join p:not(.kicker){color:var(--muted)!important;line-height:1.7}
.person-card-join .kicker{color:var(--clay-2)}
.person-card-join .text-link{display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding-top:24px;color:var(--forest)}
.service-card-grid,.resource-grid{align-items:stretch}
.service-card-premium{min-height:0;height:100%;padding:30px;gap:0;background:var(--white)}
.service-card-premium h3{min-height:2.6em;margin:0 0 12px;padding-top:30px}
.service-card-premium>p{flex:1;line-height:1.65}
.service-card-top{min-height:54px}
.service-card-foot{margin-top:24px}
.service-card-premium--featured{background:var(--forest);border-color:var(--forest)}
.service-card-premium--featured .service-badge{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:var(--white)}
.service-card-premium--sage{background:var(--paper)}
.resource-card{min-height:0;height:100%;padding:28px;gap:0}
.resource-card .resource-type{margin:0 0 8px;padding-top:28px}
.resource-card h3{min-height:2.6em;margin:0 0 10px}
.resource-card p:not(.resource-type){flex:1;line-height:1.65}
.resource-card a{margin-top:24px;min-height:48px;align-items:center}
.resource-card--review{background:var(--forest);border-color:var(--forest)}
.resource-card--review .resource-price{background:rgba(255,255,255,.14);color:var(--white)}
@media(max-width:900px){
 .people-grid{grid-template-columns:1fr}
 .person-card-lead{grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr)}
 .service-card-grid--three,.service-card-grid--strategy{grid-template-columns:repeat(2,minmax(0,1fr))}
 .resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .people-section-heading{align-items:flex-start;flex-direction:column;gap:8px}
 .people-grid,.person-card-lead{grid-template-columns:1fr}
 .person-card-lead .person-visual{min-height:300px}
 .person-card-join>div{min-height:280px}
 .service-card-grid--two,.service-card-grid--three,.service-card-grid--strategy,.resource-grid{grid-template-columns:1fr}
 .service-card-premium h3,.resource-card h3{min-height:0}
}


/* Catalogue and people: editorial row system, tuned for Brand Strategy UK */
.people-section-heading{align-items:center;margin-bottom:28px;padding-bottom:24px}
.people-section-thesis{font-size:clamp(1.45rem,2.5vw,2rem)}
.people-grid{grid-template-columns:minmax(0,1.85fr) minmax(285px,.78fr);gap:20px}
.person-card-lead{display:flex;flex-direction:column}
.person-card-lead .person-visual{
  display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);
  grid-template-rows:auto 1fr;column-gap:30px;row-gap:18px;align-items:center;
  min-height:176px;padding:24px 34px;background:var(--pine-900);border-radius:var(--r-lg) var(--r-lg) 0 0
}
.person-visual-index{grid-column:1;grid-row:1;color:var(--pine-100);font-size:.68rem;letter-spacing:.12em}
.person-visual-map{grid-column:2;grid-row:1/3;display:flex;align-items:center;width:100%;margin:0;transform:none}
.person-visual-map span,.person-visual-map span:nth-child(2),.person-visual-map span:nth-child(3){
  flex:1;margin:0;padding:10px 16px;border:0;border-left:1px solid rgba(255,255,255,.22);
  border-radius:0;background:transparent;box-shadow:none;color:var(--white);
  font:400 clamp(1rem,1.45vw,1.3rem)/1.2 var(--display);letter-spacing:-.015em;text-align:center
}
.person-visual-map span:first-child{border-left:0}
.person-visual-map span:last-child{border-bottom:0}
.person-visual-foot{grid-column:1;grid-row:2;max-width:30ch;color:var(--pine-100);font-size:.84rem;line-height:1.5}
.person-card-lead>div.person-copy{padding:30px 34px 28px}
.person-card-lead h2{font-size:clamp(2rem,3.2vw,2.7rem);letter-spacing:-.035em}
.person-card-lead .card-badge{margin-top:14px}
.person-card-lead .card-links{border-top:1px solid var(--line);padding-top:20px}
.person-card-join{background:var(--paper)}
.person-card-join>div{padding:32px;min-height:100%;justify-content:flex-start}
.person-card-join h2{font-size:clamp(1.8rem,2.7vw,2.2rem);line-height:1.15}
.person-card-join .text-link{align-self:flex-start;margin-top:auto;padding:12px 16px;border:1px solid var(--pine-700);border-radius:4px;background:var(--pine-800);color:var(--white);font-size:.91rem}
.person-card-join:hover .text-link{background:var(--pine-900)}
.service-card-grid{grid-template-columns:minmax(0,1fr);gap:14px}
.service-card-premium{
  display:grid;grid-template-columns:74px minmax(0,1fr) minmax(190px,225px);
  grid-template-rows:auto auto;align-items:center;column-gap:24px;row-gap:6px;
  min-height:0;height:auto;padding:22px 26px;background:var(--white);border-radius:12px;box-shadow:0 5px 18px rgba(18,44,37,.055)
}
.service-card-premium:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(18,44,37,.1)}
.service-card-top{grid-column:1;grid-row:1/3;min-height:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px}
.service-card-icon{width:46px;height:46px;padding:8px;border-radius:12px;background:var(--mist);border-color:var(--line)}
.service-badge{max-width:100%;padding:4px 0;border:0;border-radius:0;background:transparent;color:var(--clay-2);font-size:.77rem;line-height:1.35}
.service-card-premium h3{grid-column:2;grid-row:1;align-self:end;min-height:0;margin:0;padding:0;font-size:clamp(1.2rem,1.65vw,1.48rem);line-height:1.2}
.service-card-premium>p{grid-column:2;grid-row:2;align-self:start;max-width:68ch;margin:4px 0 0;font-size:.96rem;line-height:1.55}
.service-card-foot{grid-column:3;grid-row:1/3;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px;margin:0;padding:0 0 0 22px;border-top:0;border-left:1px solid var(--line)}
.service-card-foot strong{font-size:1.25rem;line-height:1.1}
.service-card-foot>span{justify-content:space-between;min-height:42px;padding:10px 12px;border:1px solid var(--line-2);border-radius:4px;font-size:.85rem}
.service-card-premium--featured{background:var(--pine-900);border-color:var(--pine-900);color:var(--white)}
.service-card-premium--featured>p{color:var(--pine-100)}
.service-card-premium--featured h3,.service-card-premium--featured:hover h3{color:var(--white)}
.service-card-premium--featured .service-badge{color:var(--clay-soft)}
.service-card-premium--featured .service-card-icon{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}
.service-card-premium--featured .service-card-foot{border-left-color:rgba(255,255,255,.22)}
.service-card-premium--featured .service-card-foot strong{color:var(--clay-soft)}
.service-card-premium--featured .service-card-foot>span{border-color:rgba(255,255,255,.3);color:var(--white)}
.service-card-premium--sage{background:var(--paper)}
.resource-grid{grid-template-columns:minmax(0,1fr);gap:14px}
.resource-card{
  display:grid;grid-template-columns:64px minmax(0,1fr) minmax(205px,245px);
  grid-template-rows:auto auto 1fr;align-items:center;column-gap:24px;row-gap:5px;
  height:auto;min-height:0;padding:20px 26px;background:var(--white);border-radius:12px;box-shadow:0 5px 18px rgba(18,44,37,.055)
}
.resource-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(18,44,37,.1)}
.resource-card-top{display:contents}
.resource-icon{grid-column:1;grid-row:1/4;width:46px;height:46px;padding:8px;border-radius:12px;background:var(--mist);border-color:var(--line)}
.resource-price{grid-column:3;grid-row:1;justify-self:start;padding:0;border:0;border-radius:0;background:transparent;color:var(--clay-2);font-size:.82rem;line-height:1.35}
.resource-card--free .resource-price{background:transparent;color:var(--forest)}
.resource-type{grid-column:2;grid-row:1;margin:0;padding:0;font-size:.78rem;line-height:1.35}
.resource-card h3{grid-column:2;grid-row:2;min-height:0;margin:0;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.23}
.resource-card p:not(.resource-type){grid-column:2;grid-row:3;align-self:start;max-width:68ch;margin:4px 0 0;font-size:.94rem;line-height:1.52}
.resource-card a{grid-column:3;grid-row:2/4;align-self:center;justify-content:space-between;gap:12px;min-height:42px;margin:0;padding:10px 12px;border:1px solid var(--line-2);border-radius:4px;font-size:.84rem}
.resource-card a.resource-soon{border-style:dashed;color:var(--muted)}
.resource-card--review{background:var(--pine-900);border-color:var(--pine-900)}
.resource-card--review h3{color:var(--white)}
.resource-card--review p:not(.resource-type),.resource-card--review .resource-type{color:var(--pine-100)}
.resource-card--review .resource-price{color:var(--clay-soft)}
.resource-card--review a{color:var(--white);border-color:rgba(255,255,255,.34)}
@media(max-width:900px){
 .people-grid{grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr)}
 .person-card-lead .person-visual{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:12px}
 .person-visual-index,.person-visual-map,.person-visual-foot{grid-column:1;grid-row:auto}
 .person-visual-map{justify-content:flex-start}
 .person-visual-map span{padding:8px 12px}
 .service-card-premium{grid-template-columns:60px minmax(0,1fr) 180px;column-gap:16px;padding:20px}
 .resource-card{grid-template-columns:54px minmax(0,1fr) 190px;column-gap:16px;padding:18px 20px}
}
@media(max-width:700px){
 .people-grid{grid-template-columns:1fr}
 .person-card-lead .person-visual{min-height:180px;padding:22px}
 .person-visual-map span,.person-visual-map span:nth-child(2),.person-visual-map span:nth-child(3){padding:8px 10px;font-size:1rem}
 .person-card-lead>div.person-copy{padding:26px 24px}
 .person-card-join>div{min-height:290px;padding:26px 24px}
 .service-card-premium{grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:14px;row-gap:8px;padding:20px}
 .service-card-top{grid-column:1;grid-row:1/3}
 .service-card-premium h3{grid-column:2;grid-row:1}
 .service-card-premium>p{grid-column:2;grid-row:2;margin:0}
 .service-card-foot{grid-column:1/3;grid-row:3;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}
 .service-card-foot>span{width:min(56%,230px)}
 .service-card-premium--featured .service-card-foot{border-top-color:rgba(255,255,255,.22)}
 .resource-card{grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto auto auto;column-gap:14px;row-gap:6px;padding:18px}
 .resource-icon{grid-column:1;grid-row:1/4;width:42px;height:42px}
 .resource-type{grid-column:2;grid-row:1}
 .resource-price{grid-column:2;grid-row:2}
 .resource-card h3{grid-column:2;grid-row:3}
 .resource-card p:not(.resource-type){grid-column:2;grid-row:4}
 .resource-card a{grid-column:1/3;grid-row:5;min-height:44px;margin-top:12px}
 .resource-card--review a{border-color:rgba(255,255,255,.34)}
}


/* Rich catalogue cards: broad editorial panels with confident, coloured actions. */
.service-card-premium,.resource-card{
  border:1px solid var(--pine-200);
  border-radius:12px;
  background:linear-gradient(115deg,#fff 0%,#fbfcfa 58%,#f3f7f3 100%);
  box-shadow:0 9px 26px rgba(7,26,21,.09),inset 0 1px 0 rgba(255,255,255,.95),inset 0 0 0 1px rgba(12,43,35,.025);
}
.service-card-premium{
  grid-template-columns:minmax(0,1fr) minmax(245px,285px);
  grid-template-rows:auto auto auto;
  align-items:start;
  column-gap:clamp(28px,4vw,56px);
  row-gap:7px;
  min-height:0;
  padding:30px clamp(26px,3.3vw,44px);
}
.service-card-top{display:contents}
.service-card-icon{display:none}
.service-badge{grid-column:1;grid-row:1;align-self:end;color:var(--clay-700);font-size:.73rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase}
.service-card-premium h3{grid-column:1;grid-row:2;align-self:auto;margin:1px 0 0;font-size:clamp(1.35rem,2vw,1.72rem);line-height:1.18}
.service-card-premium>p{grid-column:1;grid-row:3;align-self:start;max-width:72ch;margin:4px 0 0;font-size:1rem;line-height:1.62}
.service-card-foot{grid-column:2;grid-row:1/4;align-self:stretch;justify-content:center;gap:13px;margin:0;padding:0 0 0 28px;border-left:1px solid var(--pine-200)}
.service-card-foot strong{font-size:1.5rem;letter-spacing:-.02em;color:var(--pine-900)}
.service-card-foot>span{
  justify-content:center;min-height:48px;padding:12px 16px;
  border:1px solid var(--clay-600);border-radius:5px;background:var(--clay-600);color:white;
  box-shadow:0 5px 12px rgba(126,52,25,.17);font-size:.91rem;font-weight:600;
  transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;
}
.service-card-premium:hover{transform:translateY(-3px);border-color:var(--pine-300);box-shadow:0 16px 34px rgba(7,26,21,.13),inset 0 1px 0 rgba(255,255,255,.95)}
.service-card-premium--featured{
  border-color:var(--pine-700);
  background:radial-gradient(ellipse at 80% 0%,rgba(78,138,114,.18),transparent 52%),linear-gradient(120deg,var(--pine-950),var(--pine-800));
  box-shadow:0 13px 32px rgba(7,26,21,.2),inset 0 0 0 1px rgba(255,255,255,.05);
}
.service-card-premium--featured .service-badge{color:var(--clay-soft)}
.service-card-premium--featured h3{color:white}
.service-card-premium--featured>p{color:rgba(255,255,255,.77)}
.service-card-premium--featured .service-card-foot{border-left-color:rgba(255,255,255,.2)}
.service-card-premium--featured .service-card-foot strong{color:var(--clay-soft)}
.service-card-premium--featured .service-card-foot>span{background:var(--clay-600);border-color:var(--clay-600);color:white}
.service-card-premium--sage{background:linear-gradient(115deg,#f5f8f5,#eaf1ec)}
.resource-card{
  grid-template-columns:minmax(0,1fr) minmax(245px,285px);
  grid-template-rows:auto auto auto;
  align-items:start;
  column-gap:clamp(28px,4vw,56px);
  row-gap:7px;
  min-height:0;
  padding:27px clamp(26px,3.3vw,44px);
}
.resource-card-top{display:contents}
.resource-icon{display:none}
.resource-type{grid-column:1;grid-row:1;color:var(--clay-700);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.resource-price{grid-column:2;grid-row:1;justify-self:start;align-self:center;padding:5px 10px;border:1px solid var(--pine-200);border-radius:4px;background:var(--pine-50);color:var(--pine-800);font-size:.78rem;font-weight:700}
.resource-card--free .resource-price{background:var(--pine-100);color:var(--pine-800)}
.resource-card h3{grid-column:1;grid-row:2;margin:1px 0 0;font-size:clamp(1.32rem,1.9vw,1.65rem);line-height:1.2}
.resource-card p:not(.resource-type){grid-column:1;grid-row:3;max-width:72ch;margin:4px 0 0;font-size:.98rem;line-height:1.58}
.resource-card a{
  grid-column:2;grid-row:2/4;align-self:center;justify-content:space-between;gap:14px;
  min-height:50px;margin:0;padding:12px 16px;border:1px solid var(--pine-800);
  border-radius:5px;background:var(--pine-800);color:white;
  box-shadow:0 5px 12px rgba(12,43,35,.17);font-size:.9rem;font-weight:600;
  transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;
}
.resource-card a:hover{background:var(--pine-950);border-color:var(--pine-950);color:white;transform:translateY(-1px);box-shadow:0 8px 16px rgba(12,43,35,.22)}
.resource-card a .arw{color:var(--clay-soft)}
.resource-card a.resource-soon{background:var(--clay-50);border-color:var(--clay-300);color:var(--clay-900);box-shadow:none}
.resource-card a.resource-soon .arw{color:var(--clay-700)}
.resource-card a.resource-soon:hover{background:var(--clay-100);border-color:var(--clay-500);color:var(--clay-900)}
.resource-card:hover{transform:translateY(-3px);border-color:var(--pine-300);box-shadow:0 16px 34px rgba(7,26,21,.13),inset 0 1px 0 rgba(255,255,255,.95)}
.resource-card--review{
  border-color:var(--pine-700);
  background:radial-gradient(ellipse at 80% 0%,rgba(78,138,114,.18),transparent 52%),linear-gradient(120deg,var(--pine-950),var(--pine-800));
  box-shadow:0 13px 32px rgba(7,26,21,.2),inset 0 0 0 1px rgba(255,255,255,.05);
}
.resource-card--review h3{color:white}
.resource-card--review p:not(.resource-type){color:rgba(255,255,255,.77)}
.resource-card--review .resource-type{color:var(--clay-soft)}
.resource-card--review .resource-price{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:var(--clay-soft)}
.resource-card--review a{background:var(--clay-600);border-color:var(--clay-600);color:white}
.resource-card--review a:hover{background:var(--clay-700);border-color:var(--clay-700);color:white}
@media(max-width:900px){
 .service-card-premium{grid-template-columns:minmax(0,1fr) 220px;column-gap:26px;padding:25px}
 .service-card-top{display:contents}
 .service-card-foot{grid-column:2;padding-left:20px}
 .resource-card{grid-template-columns:minmax(0,1fr) 220px;column-gap:26px;padding:24px}
 .resource-card-top{display:contents}
}
@media(max-width:700px){
 .service-card-premium{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;row-gap:8px;padding:22px}
 .service-badge{grid-column:1;grid-row:1}
 .service-card-premium h3{grid-column:1;grid-row:2}
 .service-card-premium>p{grid-column:1;grid-row:3}
 .service-card-foot{grid-column:1;grid-row:4;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:16px 0 0;border-left:0;border-top:1px solid var(--pine-200)}
 .service-card-foot>span{width:min(62%,250px)}
 .service-card-premium--featured .service-card-foot{border-top-color:rgba(255,255,255,.2)}
 .resource-card{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto auto;column-gap:12px;row-gap:6px;padding:20px}
 .resource-type{grid-column:1;grid-row:1}
 .resource-price{grid-column:2;grid-row:1}
 .resource-card h3{grid-column:1/3;grid-row:2}
 .resource-card p:not(.resource-type){grid-column:1/3;grid-row:3}
 .resource-card a{grid-column:1/3;grid-row:4;min-height:48px;margin-top:10px}
 .resource-card--review a{border-color:var(--clay-600)}
}


/* Client sign-in: strategy imagery and positioning evidence panel */
.client-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--paper)}
.client-shell:before{display:none;content:none}
.client-visual{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(620px,calc(100vh - var(--header)),900px);overflow:hidden;padding:clamp(36px,5.5vw,76px);background:var(--pine-900);color:white}
.client-visual>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.client-visual:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(7,26,21,.06) 0%,rgba(7,26,21,.04) 38%,rgba(7,26,21,.86) 100%),linear-gradient(90deg,rgba(7,26,21,.2),transparent 65%)}
.client-visual-copy{max-width:500px;padding-right:180px}
.client-visual-copy .kicker{margin-bottom:16px;color:var(--clay-soft)}
.client-visual-copy h2{margin-bottom:12px;color:white;font-size:clamp(2rem,3.3vw,3.2rem);line-height:1.04}
.client-visual-copy p:last-child{max-width:38ch;margin:0;color:rgba(255,255,255,.82);font-size:1.05rem;line-height:1.55}
.client-position-map{position:absolute;right:clamp(22px,3.5vw,48px);top:clamp(28px,4vw,54px);width:min(42%,300px);padding:18px 18px 12px;border:1px solid rgba(255,255,255,.72);border-radius:8px;background:rgba(250,250,246,.94);box-shadow:0 14px 36px rgba(5,22,17,.2);color:var(--pine-900);backdrop-filter:blur(10px)}
.client-position-map p{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.client-position-map p span{color:var(--clay-700);font-size:.62rem}
.client-position-map svg{display:block;width:100%;height:auto}
.client-card{position:relative}
@media(max-width:900px){
 .client-shell{grid-template-columns:1fr}
 .client-visual{min-height:390px;padding:36px}
 .client-visual-copy{padding-right:180px}
 .client-position-map{width:min(38%,270px)}
}
@media(max-width:600px){
 .client-visual{min-height:390px;padding:26px}
 .client-visual-copy{max-width:100%;padding-right:0;padding-top:156px}
 .client-visual-copy h2{font-size:2rem}
 .client-visual-copy p:last-child{font-size:.94rem}
 .client-position-map{top:18px;right:18px;width:min(72%,270px);padding:12px}
}


/* About: premium process cards with a featured evidence and judgement visual */
.process{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.process article{
  min-height:250px;padding:24px;background:linear-gradient(145deg,#fff 0%,var(--pine-50) 100%);
  border:1px solid var(--pine-200);border-radius:8px;box-shadow:0 8px 22px rgba(7,26,21,.07),inset 0 1px rgba(255,255,255,.9);
  transition:transform .25s var(--ease),box-shadow .25s,border-color .25s
}
.process article:before{display:none}
.process article:hover{transform:translateY(-3px);border-color:var(--pine-300);box-shadow:0 15px 30px rgba(7,26,21,.12),inset 0 1px rgba(255,255,255,.92)}
.process .n{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;margin:0 0 30px;padding:0 8px;border:1px solid var(--clay-200);border-radius:4px;background:var(--clay-50);color:var(--clay-800);font-size:.77rem;font-weight:700;letter-spacing:.04em}
.process h3{margin:0 0 11px;font-size:1.18rem}
.process p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.58}
.process .process-evidence-card{display:flex;flex-direction:column;min-height:0;padding:0;overflow:hidden;background:linear-gradient(145deg,var(--pine-950),var(--pine-800));border-color:var(--pine-700);box-shadow:0 12px 28px rgba(7,26,21,.19),inset 0 0 0 1px rgba(255,255,255,.04)}
.process .process-evidence-card:hover{border-color:var(--pine-600);box-shadow:0 18px 36px rgba(7,26,21,.25),inset 0 0 0 1px rgba(255,255,255,.06)}
.process-evidence-visual{position:relative;height:145px;flex:0 0 145px;margin:0;overflow:hidden;background:var(--pine-700)}
.process-evidence-visual:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(180deg,transparent,rgba(7,26,21,.6))}
.process-evidence-visual img{width:100%;height:100%;object-fit:cover;object-position:center 52%;transition:transform .45s var(--ease)}
.process-evidence-card:hover .process-evidence-visual img{transform:scale(1.035)}
.process-evidence-visual figcaption{position:absolute;z-index:1;left:14px;bottom:11px;color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.085em;text-transform:uppercase}
.process-evidence-copy{padding:19px 21px 22px}
.process-evidence-copy .n{margin:0 0 13px;border-color:rgba(231,161,127,.35);background:rgba(180,83,47,.14);color:var(--clay-soft)}
.process-evidence-copy h3{color:#fff}
.process-evidence-copy p{color:rgba(255,255,255,.78);font-size:.9rem;line-height:1.55}
@media(max-width:900px){.process{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:600px){.process{grid-template-columns:1fr}.process article{min-height:0}.process .n{margin-bottom:22px}.process-evidence-visual{height:185px;flex-basis:185px}}


/* Shared process cards: evidence-led, editorial and consistent across the site. */
.process{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.process.process-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.process.process-about{grid-template-columns:repeat(2,minmax(0,1fr))}
.process article{
  display:flex;flex-direction:column;align-items:flex-start;min-height:270px;padding:27px;
  border:1px solid var(--pine-200);border-radius:8px;
  background:linear-gradient(145deg,#fff 0%,#f4f7f4 100%);
  box-shadow:0 10px 26px rgba(7,26,21,.09),inset 0 1px 0 rgba(255,255,255,.95);
  transition:transform .25s var(--ease),box-shadow .25s,border-color .25s
}
.process article:before{display:none;content:none}
.process article:hover{transform:translateY(-3px);border-color:var(--pine-400);box-shadow:0 17px 34px rgba(7,26,21,.14),inset 0 1px 0 rgba(255,255,255,.95)}
.process .n{
  display:inline-flex;align-items:center;justify-content:center;min-height:30px;margin:0 0 22px;padding:4px 9px;
  border:1px solid var(--clay-200);border-radius:4px;background:var(--clay-50);color:var(--clay-800);
  font-size:.76rem;font-weight:700;letter-spacing:.035em;line-height:1.2
}
.process h3{margin:0 0 10px;color:var(--pine-950);font-size:1.2rem;line-height:1.24}
.process p{margin:0;color:var(--body);font-size:.96rem;line-height:1.6}
.section.dark .process article:not(.process-evidence-card){background:linear-gradient(145deg,#fff 0%,#f1f5f2 100%);border-color:rgba(201,220,209,.7)}
.process .process-evidence-card{
  min-height:0;padding:0;overflow:hidden;border-color:var(--pine-700);
  background:linear-gradient(145deg,var(--pine-950),var(--pine-800));
  box-shadow:0 14px 34px rgba(7,26,21,.22),inset 0 0 0 1px rgba(255,255,255,.05)
}
.process .process-evidence-card:hover{border-color:var(--sage);box-shadow:0 20px 42px rgba(7,26,21,.27),inset 0 0 0 1px rgba(255,255,255,.07)}
.process-evidence-visual{height:132px;flex:0 0 132px;background:var(--pine-700)}
.process-evidence-copy{flex:1;padding:20px 24px 23px}
.process-evidence-copy .n{margin:0 0 13px;border-color:rgba(231,161,127,.38);background:rgba(180,83,47,.16);color:var(--clay-soft)}
.process-evidence-copy h3{color:#fff}
.process-evidence-copy p{color:rgba(255,255,255,.8)}
@media(max-width:900px){
 .process,.process.process-3,.process.process-about{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .process article{min-height:260px;padding:24px}
 .process .process-evidence-card{padding:0}
 .process-evidence-copy{padding:19px 21px 22px}
}
@media(max-width:600px){
 .process,.process.process-3,.process.process-about{grid-template-columns:1fr}
 .process article{min-height:0;padding:23px}
 .process .n{margin-bottom:18px}
 .process .process-evidence-card{padding:0}
 .process-evidence-visual{height:185px;flex-basis:185px}
 .process-evidence-copy{padding:19px 22px 22px}
}

/* Resource shop (29 September 2026): the buy action uses the catalogue card's own action style,
   and the consent panel takes a full-width row beneath the card copy. */
.resource-card .resource-buy{grid-column:2;grid-row:2/4;align-self:center;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:50px;margin:0;padding:12px 16px;border:1px solid var(--pine-800);border-radius:5px;background:var(--pine-800);color:var(--white);box-shadow:0 5px 12px rgba(12,43,35,.17);font-family:var(--sans);font-size:.9rem;font-weight:600;text-align:left;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.resource-card .resource-buy:hover{background:var(--pine-950);border-color:var(--pine-950);transform:translateY(-1px)}
.resource-card .resource-buy .arw{color:var(--clay-soft)}
@media(max-width:700px){
  .resource-card .resource-buy{grid-column:1/3;grid-row:4;min-height:48px;margin-top:10px}
}

/* Header logo (29 September 2026): the outlined reverse wordmark is transparent and already white with a
   clay-soft UK, so it takes no filter in any theme. A brightness/invert filter turned the old opaque PNG
   into a white block in dark mode. */
.site-header .wordmark-img,html[data-theme] .site-header .wordmark-img{filter:none;opacity:1}
@media(min-width:1241px){html[data-theme] .site-header nav{background:transparent;border:0;box-shadow:none}}

/* Newsletter invitation (exit intent) */
.nl-prompt{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:clamp(26px,5vw,40px);border:1px solid rgba(231,161,127,.45);border-radius:var(--r-lg);background:var(--pine);color:#F7F8F4;box-shadow:0 30px 80px rgba(4,14,11,.45)}
.nl-prompt::backdrop{background:rgba(6,18,14,.62)}
.nl-prompt .kicker{color:var(--clay-soft);margin:0 0 10px}
.nl-prompt h2{margin:0 0 12px;color:#fff;font-family:var(--display);font-weight:500;font-size:clamp(1.6rem,4vw,2.05rem);line-height:1.1}
.nl-prompt>p{margin:0 0 4px;color:rgba(255,255,255,.76)}
.nl-prompt .newsletter{margin-top:20px;padding:0;max-width:none;background:none;border:0}
.nl-prompt-close{position:absolute;top:10px;right:10px;margin:0}
.nl-prompt{position:fixed}
.nl-prompt-close button{width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:rgba(255,255,255,.8);font-size:1.6rem;line-height:1;cursor:pointer}
.nl-prompt-close button:hover,.nl-prompt-close button:focus-visible{background:rgba(255,255,255,.1);color:#fff}
.nl-prompt-later{margin-top:14px;padding:6px 0;border:0;background:none;color:rgba(255,255,255,.7);font:500 .92rem var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.nl-prompt-later:hover,.nl-prompt-later:focus-visible{color:#fff}
@media(max-width:480px){.nl-prompt .newsletter-row{flex-direction:column}.nl-prompt .newsletter-row .btn{width:100%;justify-content:center}}
@media(prefers-reduced-motion:no-preference){.nl-prompt[open]{animation:nlIn .22s ease-out}@keyframes nlIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}

/* Checkout (29 September 2026) */
.checkout-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.9fr);gap:clamp(24px,4vw,56px);align-items:start}
.checkout-items{margin:0;padding:0;border:0;display:grid;gap:12px;min-width:0}
.checkout-items legend{margin-bottom:14px;padding:0}
.checkout-item{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:start;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--white);cursor:pointer;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.checkout-item:hover{border-color:var(--line-2);box-shadow:var(--shadow-sm)}
.checkout-item.is-selected{border-color:var(--clay);box-shadow:0 0 0 1px var(--clay),var(--shadow-sm)}
.checkout-item input{width:20px;height:20px;margin:3px 0 0;accent-color:var(--clay)}
.checkout-item:has(input:focus-visible){outline:2px solid var(--clay);outline-offset:3px}
.checkout-item-body{display:grid;gap:4px}
.checkout-item-body strong{color:var(--ink);font-family:var(--display);font-size:1.2rem;font-weight:500;line-height:1.25}
.checkout-item-body span:last-child{color:var(--muted);font-size:.95rem}
.checkout-item-type{color:var(--clay-2);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.checkout-item-price{color:var(--ink);font-family:var(--display);font-size:1.35rem;font-weight:500}
.checkout-summary{position:sticky;top:calc(var(--header) + 24px);padding:clamp(24px,3vw,34px);border-radius:var(--r-lg);background:var(--pine);color:rgba(255,255,255,.8)}
.checkout-summary .kicker{color:var(--clay-soft);margin:0 0 10px}
.checkout-summary h2{margin:0 0 18px;color:#fff;font-family:var(--display);font-weight:500;font-size:1.6rem;line-height:1.15}
.checkout-total{display:flex;justify-content:space-between;align-items:baseline;margin:0;padding:14px 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.checkout-total strong{color:#fff;font-family:var(--display);font-size:1.9rem;font-weight:500}
.checkout-small{margin:10px 0 0;font-size:.86rem;color:rgba(255,255,255,.62)}
.checkout-open{margin-top:22px;display:grid;gap:12px}
.checkout-check{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;font-size:.92rem;line-height:1.5;color:rgba(255,255,255,.86);cursor:pointer}
.checkout-check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--clay-soft)}
.checkout-consent{padding:14px;border:1px solid rgba(231,161,127,.45);border-radius:var(--r);background:rgba(255,255,255,.04)}
.checkout-field{margin-top:6px;color:#fff;font-weight:600;font-size:.95rem}
.checkout-field span{color:rgba(255,255,255,.55);font-weight:400;margin-left:6px}
.checkout-open input[type=email]{min-height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.22);border-radius:var(--r);background:rgba(255,255,255,.06);color:#fff;font:400 1rem var(--sans)}
.checkout-open input[type=email]:focus{outline:none;border-color:var(--clay-soft)}
.checkout-remind input:disabled+span{opacity:.5}
.checkout-pay{width:100%;justify-content:center;margin-top:6px}
.checkout-pay[aria-disabled=true]{opacity:.55;cursor:not-allowed}
.checkout-note{margin:0;font-size:.86rem;color:rgba(255,255,255,.66)}
.checkout-closed{margin-top:22px}
.checkout-closed p{margin:0 0 14px;color:rgba(255,255,255,.8)}
.checkout-closed a:not(.btn){color:#fff}
.checkout-closed .btn-outline{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.checkout-trader h2{max-width:22ch}
.checkout-trader-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:28px}
.checkout-trader-grid h3{margin:0 0 8px;color:var(--ink);font-family:var(--display);font-weight:500;font-size:1.15rem}
.checkout-trader-grid p{margin:0;font-size:.95rem}
@media(max-width:900px){.checkout-grid{grid-template-columns:1fr}.checkout-summary{position:static}.checkout-trader-grid{grid-template-columns:1fr}}
@media(max-width:520px){.checkout-item{grid-template-columns:auto minmax(0,1fr);padding:18px}.checkout-item-price{grid-column:2}}

/* Positioning Workbook companion */
.companion-card{max-width:720px;padding:clamp(24px,3vw,36px);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--white)}
.companion-card h2,.companion-history h2,.companion-danger h2{margin:0 0 10px;color:var(--ink);font-family:var(--display);font-weight:500;font-size:1.5rem}
.companion-small{font-size:.9rem;color:var(--muted)}
.companion-status{min-height:1.5em;margin:12px 0;color:var(--pine-700);font-weight:600}
.companion-status.is-error{color:var(--clay-2)}
.companion-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:14px 18px;margin-bottom:24px;border-radius:var(--r);background:var(--mist);color:var(--ink);font-size:.95rem}
.companion-bar p{margin:0}
.companion-form fieldset{margin:0 0 22px;padding:clamp(20px,3vw,32px);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--white);display:grid;gap:8px}
.companion-form legend{padding:0 8px;color:var(--ink);font-family:var(--display);font-size:1.35rem;font-weight:500}
.companion-form legend span{display:block;color:var(--clay-2);font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.companion-form label{margin-top:10px;color:var(--ink);font-weight:600;font-size:.98rem}
.companion-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--paper);color:var(--ink);font:400 1rem/1.55 var(--sans);resize:vertical}
.companion-form textarea:focus{outline:none;border-color:var(--clay);background:var(--white)}
.companion-actions{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;gap:10px;padding:14px 0;background:linear-gradient(to top,var(--white) 70%,transparent)}
.companion-history,.companion-danger{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.companion-history ol{padding-left:22px}
.companion-history li{margin:6px 0}
.as-link{padding:0;border:0;background:none;color:var(--clay-2);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.checkout-open[hidden],.checkout-closed[hidden],.companion-work[hidden],.companion-card[hidden]{display:none!important}
@media(max-width:700px){.companion-actions{position:static;background:none}}

/* Dark-mode contrast hardening (29 September 2026). */
html[data-theme=dark] :is(.checkout-item,.companion-card,.companion-form fieldset){
  background:var(--night-2);border-color:var(--line);color:var(--body)
}
html[data-theme=dark] .checkout-item:hover{border-color:var(--line-2);box-shadow:var(--shadow-sm)}
html[data-theme=dark] .checkout-item.is-selected{border-color:var(--clay-soft);box-shadow:0 0 0 1px var(--clay-soft),var(--shadow-sm)}
html[data-theme=dark] :is(.companion-form textarea,.companion-form textarea:focus){
  background:var(--night);color:var(--ink);border-color:var(--line-2)
}
html[data-theme=dark] .companion-form textarea:focus{border-color:var(--sage)}
html[data-theme=dark] .companion-actions{background:linear-gradient(to top,var(--night) 70%,transparent)}
html[data-theme=dark] .companion-bar{background:var(--night-3);color:var(--ink)}
html[data-theme=dark] :is(
  .service-badge,.resource-type,.resource-price,.checkout-item-type,
  .companion-form legend span,.companion-status.is-error,.as-link,
  .post-overline,.article-map figcaption span,.article-map-num,.article-aside-label,
  .site-search-results .site-search-kind,.founder-note-index
){color:var(--clay-soft)}
html[data-theme=dark] :is(.people-section-thesis,.companion-status){color:var(--sage-2)}
html[data-theme=dark] :is(.service-card-foot strong,.founder-note blockquote){color:var(--ink)}
html[data-theme=dark] .service-card-premium:hover h3{color:var(--ink)}
html[data-theme=dark] .service-card-premium--featured:hover h3{color:var(--white)}
html[data-theme=dark] .resource-price{background:var(--night-3);border-color:var(--line-2)}
html[data-theme=dark] .resource-card--review .resource-price{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:var(--clay-soft)}
html[data-theme=dark] :is(input,textarea,select)::placeholder{color:var(--quiet);opacity:1}
