
/* ============================================================
   Palette: Jeff's canonical 5-colour spec (memory/brand.md).
   Green #1BA87F — settled.
   Fonts: real Harabara (display) + Gilroy (body), subset to WOFF2.
   NOTE: no Gilroy Bold exists — not in our assets and not in the live
   site's own Elementor kit. Bold is synthesised here exactly as it is
   on the live site. Still a real brand gap; see README §7.
   ============================================================ */
@font-face{font-family:'Harabara';src:url(data:font/woff2;base64,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) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Gilroy';src:url(data:font/woff2;base64,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) format('woff2');font-weight:400;font-display:swap}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0}

:root{
  --green:#1BA87F; --light:#FFFCFC; --ink:#20221D; --orange:#EC9B25; --purple:#7E4278;
  --green-ink:#0F7A5B; --orange-ink:#8A5406;
  /* ---- FOCUS RING, AND WHY IT IS ITS OWN TOKEN --------------------------
     The ring used to be --orange (#EC9B25) in both themes. On the dark page
     that measures 7.75:1 and is excellent. On the LIGHT page it measures
     2.22:1 against #FFFCFC — under the 3:1 that WCAG 2.2 SC 1.4.11
     (Non-text Contrast) requires of a focus indicator, so the one affordance
     a keyboard-only visitor has for knowing where they are was the thing on
     the page hardest to see. It looked deliberate, which is why three audits
     went past it.
     #8A5406 is the same hue darkened until it clears the floor: 6.14:1 on the
     page, 6.27:1 on a card, 5.81:1 on --surface-2 — the three surfaces a
     focusable thing can sit on. Kept as its own token rather than reusing
     --orange-ink so a later change to link colour cannot move the focus ring
     by accident. Dark mode keeps #EC9B25 unchanged at 7.75:1. */
  --focus:#8A5406;
  /* Surface green for anything carrying WHITE text or icons. White #FFFCFC on
     brand #1BA87F measures 2.96:1 and fails AA at any size; #158061 is the same
     hue and saturation darkened until white clears 4.80:1. Jeff's rule —
     white on green, never dark-on-green — is preserved. */
  --green-fill:#158061;
  --bg:var(--light); --fg:var(--ink); --muted:#5C6159;
  --surface:#FFFFFF; --surface-2:#F4F7F4; --line:#E4E8E2;
  --shadow:0 1px 3px rgba(32,34,29,.06),0 10px 34px -18px rgba(32,34,29,.28);
  --lift:0 22px 60px -28px rgba(32,34,29,.42);
  --accent:var(--green); --accent-ink:var(--green-ink);
  --maxw:1180px; --r:16px; --navh:76px;
  --ease:cubic-bezier(.16,1,.3,1);

  /* ---- FEEDBACK 2: the small-text scale, raised as a system ----------------
     Jeff: "it's not just that font size, it's all the font sizes or all the
     text in that font size that we need to increase." So the fix is a scale,
     not a patch. Nothing in the page is now allowed below --fs-micro, and the
     old .68–.86rem values (10.9–13.8px) are gone. Root rem is 16px. */
  --fs-micro:.82rem;   /* 13.1px — UPPERCASE labels only, where caps read larger */
  --fs-xs:.92rem;      /* 14.7px — the true floor for anything read as a sentence */
  --fs-sm:1rem;        /* 16px   — supporting copy */
  --fs-md:1.06rem;     /* 17.0px — card body */
  --fs-lg:1.2rem;      /* 19.2px — lede */

  /* ---- FEEDBACK 3: letter spacing on the header font ----------------------
     Was -.015em, which is what "squashed together" was. Harabara has tight
     natural sidebearings, so it wants positive tracking, more of it at
     smaller sizes where the counters close up. */
  --track-hero:.014em; --track-h2:.022em; --track-h3:.03em;

  /* ⛔ THE PURPLE IS A PAIR, AND IT HAS TO BE.
     #7E4278 is the colour Jeffrey sent, and it is used EXACTLY as sent — as the
     fill under white text (7.15:1) and anywhere the surface is light (7.15:1 on
     #FFFCFC). But the dark page is now the default, and on it that same value
     measures 2.5-2.8:1 as TEXT, which is under the 4.5:1 AA floor for anything
     read at body size. Links in it would be genuinely hard to read.
     So --purple-ink is the same hue and saturation lifted in lightness until it
     clears the floor on our dark surfaces (#BC80B6, 5.99:1 on the page, 5.24:1
     on a card). It is his colour rendered for a dark background, not a different
     colour: --purple stays #7E4278 everywhere and is what every fill uses. */
  --purple-ink:#7E4278;
}
html[data-theme="dark"]{
  --bg:#181A15; --fg:#FFFCFC; --muted:#BFC5B9;
  --surface:#20231C; --surface-2:#1D2018; --line:#2F332B;
  --green-ink:#3FCB9E; --orange-ink:#F0AC4E; --purple-ink:#BC80B6;
  --focus:#EC9B25;
  --shadow:0 1px 3px rgba(0,0,0,.5),0 14px 40px -20px rgba(0,0,0,.8);
  --lift:0 26px 64px -26px rgba(0,0,0,.9);
}
@media (prefers-color-scheme:dark){
  html:not([data-theme="light"]){
    --bg:#181A15; --fg:#FFFCFC; --muted:#BFC5B9;
    --surface:#20231C; --surface-2:#1D2018; --line:#2F332B;
    --green-ink:#3FCB9E; --orange-ink:#F0AC4E; --purple-ink:#BC80B6;
    --focus:#EC9B25;
    --shadow:0 1px 3px rgba(0,0,0,.5),0 14px 40px -20px rgba(0,0,0,.8);
    --lift:0 26px 64px -26px rgba(0,0,0,.9);
  }
}

html{background:var(--bg)}
body{
  background:transparent; color:var(--fg);
  font-family:'Gilroy','Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:17px; line-height:1.65; letter-spacing:.005em;
  overflow-x:hidden;
}
b,strong,.btn,.eyebrow{letter-spacing:.012em}
h1,h2,h3,h4,.display{font-family:'Harabara','Gilroy',sans-serif;font-weight:400;line-height:1.08;margin:0}
h1,.display{letter-spacing:var(--track-hero)}
h2{letter-spacing:var(--track-h2)}
h3,h4{letter-spacing:var(--track-h3)}
p{margin:0 0 1em}
a{color:var(--purple-ink);text-decoration-thickness:1px;text-underline-offset:3px}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-size:var(--fs-micro);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 14px}
.lede{font-size:var(--fs-lg);color:var(--muted);max-width:58ch}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sr:focus{position:fixed;top:10px;left:10px;width:auto;height:auto;clip:auto;margin:0;padding:10px 16px;background:var(--green-fill);color:#FFFCFC;border-radius:8px;z-index:200}

/* ---------- brand marks: one alpha-mask asset each, recoloured by CSS ---- */
.mk{display:block;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
/* 4150x1200 source. 520/140 was a 7.4% horizontal stretch — the squash. */
.mk-word{-webkit-mask-image:url(data:image/png;base64,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);mask-image:url(data:image/png;base64,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);aspect-ratio:83/24}
.mk-icon{-webkit-mask-image:url(data:image/png;base64,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);mask-image:url(data:image/png;base64,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);aspect-ratio:1}

/* ---------- buttons ---------- */
/* Jeff asked to see the heading font on the menu and the buttons. Harabara has
   no bold cut — synthesising one on a display face at button size smears the
   counters — so these run at 400 with tracking instead of weight. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;border:0;border-radius:999px;cursor:pointer;
  font-family:'Harabara','Gilroy',sans-serif;font-weight:400;letter-spacing:.035em;text-decoration:none;position:relative;
  transition:transform .18s var(--ease),box-shadow .18s,background .18s,border-color .18s,color .18s}
/* Doubled class (0,2,0) so these beat `.nav-links a` (0,1,1) — without it the
   nav CTA inherited the link colour and rendered DARK text on green in light
   mode, the exact thing the brand rule forbids. */
.btn.btn-primary{background:var(--green-fill);color:#FFFCFC;font-weight:400;font-size:1.18rem;
  padding:.82em 1.5em;box-shadow:0 8px 22px -10px rgba(27,168,127,.9)}
.btn.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 32px -12px rgba(27,168,127,.95)}
.btn.btn-primary:active{transform:translateY(0)}
.btn.btn-ghost{background:transparent;color:var(--fg);font-weight:400;border:1.5px solid var(--line);font-size:var(--fs-md);padding:.62em 1.15em}
.btn.btn-ghost:hover{border-color:var(--accent);color:var(--accent-ink)}
.nav-links a.btn::after{display:none}
.btn .arw{transition:transform .18s var(--ease)}
.btn:hover .arw{transform:translateX(3px)}

/* ---------- ambient field ---------- */
.aura{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.aura::before{content:"";position:absolute;inset:-25vh -15vw;
  background:
    radial-gradient(38vw 38vw at 14% 6%, color-mix(in srgb,var(--green) 20%,transparent), transparent 70%),
    radial-gradient(30vw 30vw at 86% 26%, color-mix(in srgb,var(--orange) 13%,transparent), transparent 70%),
    radial-gradient(44vw 44vw at 46% 88%, color-mix(in srgb,var(--purple) 13%,transparent), transparent 72%)}
html[data-theme="dark"] .aura,html:not([data-theme="light"]) .aura{opacity:.85}
@media (prefers-color-scheme:light){html:not([data-theme="dark"]) .aura{opacity:1}}

/* ---------- nav ---------- */
header.nav{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 86%,transparent);
  backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
header.nav.stuck{border-bottom-color:var(--line)}
.nav-in{display:flex;align-items:center;gap:18px;height:var(--navh)}
.brandmark{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--green);flex:0 0 auto}
.brandmark .mk-word{width:152px}
.nav-where{font-size:var(--fs-micro);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  padding-left:14px;border-left:1px solid var(--line);white-space:nowrap;transition:opacity .25s;min-width:8ch}
.nav-links{display:flex;gap:20px;margin-left:auto;align-items:center}
.nav-links a{color:var(--fg);text-decoration:none;font-family:'Harabara','Gilroy',sans-serif;
  font-size:1.04rem;font-weight:400;letter-spacing:.04em;opacity:.82;position:relative}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--purple-ink);
  transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease)}
.nav-links a:hover{opacity:1}
.nav-links a:hover::after{transform:scaleX(1)}
.scrollbar{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--green);
  transform:scaleX(0);transform-origin:left}
@media (max-width:1100px){.nav-where{display:none}}

/* ---------- the header on a phone ---------------------------------------
   Below 900px the six links used to be switched off and nothing took their
   place, so the only things left in the bar were the wordmark, the theme
   control and the discovery-call button — and that button, at its desktop
   size, rendered 118x100 inside a 77px bar and spilled over the hero.

   What replaces it: the bar carries the wordmark, CLIENT LOGIN and a real
   <button> that opens the rest. Client login stays in the bar rather than
   going in the panel, because it is the one thing a returning client opens
   a phone for and it should not be behind a guess. The five section links,
   the theme control and the discovery-call button live in the panel, which
   the button discloses with aria-expanded.

   At and above 900px .nav-sheet is display:contents, so its children are
   flex items of .nav-links exactly as before; `order` puts Client login back
   between Insights and the theme control, which is where it renders today. */
.nav-sheet{display:contents}
.nav-login{order:1}
.nav-sheet .tt{order:2}
.nav-sheet .nav-book{order:3}
.tt-word{display:none}
.navtoggle{display:none}
.btn.nav-book{padding:.46em 1.1em;font-size:var(--fs-md)}

@media (max-width:900px){
  .nav-in{gap:12px}
  .brandmark .mk-word{width:128px}
  .nav-links{gap:10px}

  .navtoggle{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 14px;
    background:none;border:1.5px solid var(--line);border-radius:999px;color:var(--fg);cursor:pointer;
    font-family:'Harabara','Gilroy',sans-serif;font-size:var(--fs-md);letter-spacing:.04em;flex:0 0 auto}
  .navtoggle:hover{border-color:var(--accent)}
  .navtoggle .bars{display:grid;gap:3.5px;width:17px;flex:0 0 auto}
  .navtoggle .bars i{display:block;height:2px;background:currentColor;border-radius:2px;
    transition:transform .2s var(--ease),opacity .2s}
  header.nav.menu-open .navtoggle{border-color:var(--accent)}
  header.nav.menu-open .navtoggle .bars i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
  header.nav.menu-open .navtoggle .bars i:nth-child(2){opacity:0}
  header.nav.menu-open .navtoggle .bars i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

  .nav-login{order:0;display:inline-flex;align-items:center;min-height:44px;opacity:1;flex:0 0 auto}

  .nav-sheet{position:absolute;top:100%;left:0;right:0;z-index:2;display:none;flex-direction:column;
    align-items:stretch;gap:0;padding:6px 24px 18px;background:var(--surface);
    border-bottom:1px solid var(--line);box-shadow:0 22px 44px -26px rgba(0,0,0,.75)}
  header.nav.menu-open .nav-sheet{display:flex}
  .nav-sheet>a:not(.btn),.nav-sheet .tt{min-height:48px;display:flex;align-items:center;opacity:1;
    padding:0 2px;border:0;border-bottom:1px solid var(--line);border-radius:0;width:auto;height:auto;
    font-family:'Harabara','Gilroy',sans-serif;font-size:var(--fs-md);letter-spacing:.04em;
    color:var(--fg);justify-content:flex-start}
  .nav-sheet>a::after{display:none}
  .nav-sheet>a[aria-current]{color:var(--accent-ink)}
  .nav-sheet>a[aria-current]::before{content:"";flex:0 0 3px;align-self:stretch;margin:9px 10px 9px 0;
    background:var(--green);border-radius:2px}
  .nav-sheet .tt{gap:11px;place-items:center start}
  .tt-word{display:inline}
  .nav-sheet .btn.nav-book{width:100%;justify-content:center;margin-top:14px;
    font-size:var(--fs-md);padding:.8em 1.2em}
}
/* At 320px the bar is three fixed-width things plus 48px of page padding, which
   came to 368 and pushed the menu button off the right edge — the page scrolled
   sideways to reach it. Trim the padding and the chrome rather than let anything
   fall out of reach; nothing is dropped and no text goes under 15px. */
@media (max-width:380px){
  .nav-in{padding:0 16px;gap:8px}
  .brandmark .mk-word{width:104px}
  .nav-login{font-size:.94rem}
  .navtoggle{padding:0 10px;gap:7px}
  .nav-sheet{padding-left:16px;padding-right:16px}
}

/* The .ctx* context-strip rules were removed with the preview control they styled —
   see the note in website-v5.html where the <aside> used to be. */

/* ---------- hero ---------- */
.hero{position:relative;min-height:calc(100svh - 106px);display:flex;align-items:center;padding:44px 0 64px;overflow:hidden}
#nimbus-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.9}
.hero .wrap{position:relative;z-index:2}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:56px;align-items:center}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr;gap:36px}}
h1.hero-h{font-size:clamp(2.7rem,7.2vw,5.1rem);margin:0 0 22px}
h1.hero-h .ln{display:block;overflow:hidden}
h1.hero-h .ln i{display:block;font-style:normal;transform:translateY(105%);animation:riseIn .95s var(--ease) forwards}
h1.hero-h .ln:nth-child(2) i{animation-delay:.09s}
h1.hero-h .ln:nth-child(3) i{animation-delay:.18s}
@keyframes riseIn{to{transform:translateY(0)}}
.hero-h em{font-style:normal;color:var(--accent-ink);position:relative;white-space:nowrap}
.hero-h em::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.09em;background:var(--orange);
  transform:scaleX(0);transform-origin:left;animation:swipe .7s .75s var(--ease) forwards;border-radius:2px}
@keyframes swipe{to{transform:scaleX(1)}}
.hero-sub{font-size:1.24rem;color:var(--muted);max-width:46ch;margin:0 0 30px;opacity:0;animation:fadeUp .7s .5s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;opacity:0;animation:fadeUp .7s .62s forwards}
.hero-meta{margin-top:26px;display:flex;gap:22px;flex-wrap:wrap;font-size:var(--fs-sm);color:var(--muted);opacity:0;animation:fadeUp .7s .74s forwards}
.hero-meta b{color:var(--fg);font-weight:700}
.scroll-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:3;color:var(--muted);
  font-size:var(--fs-micro);letter-spacing:.16em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:7px}
.scroll-hint i{display:block;width:1px;height:26px;background:linear-gradient(var(--muted),transparent);animation:sh 1.9s infinite}
@keyframes sh{0%{transform:scaleY(.3);transform-origin:top;opacity:0}40%{opacity:1}100%{transform:scaleY(1);transform-origin:top;opacity:0}}
@media (max-width:960px){.scroll-hint{display:none}}

/* ---------- the hero card ------------------------------------------------
   ⛔ THE MODULE PICKER BESIDE THE HERO IS GONE — Jeff, 21 Aug. Deleted outright:
   the branch that built it, the name list it read, the per-context arrays that
   fed it, and every rule that painted its rows and ticks. Keeping the rules "in
   case" is how a stylesheet ends up describing a component nobody can point at.

   ⚠ NOTE THE COMMENT ITSELF SHIPS. CSS comments are not HTML comments, so the
   build's comment stripper does not reach them and anything named here would sit
   in the served bytes looking exactly like a leftover. That is why the removed
   selectors are described rather than spelled — the page should not contain the
   words for a thing it no longer has.

   WHAT SURVIVES IS A DIFFERENT THING WEARING THE SAME SHELL. #hero-aside was
   dual-purpose: the picker in every context, and the "First — who are you?"
   chooser in the no-context case. Only the first was asked for; the second is the
   one case where asking above the fold is the entire point, so it stays. The
   class is renamed, because the old name described the half that went. */
.askcard{background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(8px);
  border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);
  opacity:0;animation:fadeUp .8s .55s forwards}
.askcard h3{font-size:1.3rem;margin:0 0 4px}
.askcard .sc-sub{font-size:var(--fs-xs);color:var(--muted);margin:0 0 12px;line-height:1.45}

/* ---------- the hero with no card beside it ------------------------------
   Removing the card left the hero as a headline in a 1.12fr column with an
   empty 0.88fr beside it, which does not read as a decision — it reads as a
   component that failed to load. So the single-column case is DESIGNED rather
   than left over: the grid collapses to one track, and the display type takes
   the width the card used to hold instead of staying at the size it was picked
   for in half a page. The supporting copy keeps its own measure, so the line
   length does not grow with the viewport just because the column did.

   Applied as a class from renderCtx rather than with :has(), because the class
   is what prerender bakes into the served HTML — a :has() rule would leave the
   crawler's copy laid out for a card that is not there. */
.hero-grid.solo{grid-template-columns:minmax(0,1fr);gap:0}
.hero-grid.solo h1.hero-h{font-size:clamp(2.7rem,7.9vw,5.8rem)}
.hero-grid.solo .hero-sub{max-width:54ch;font-size:1.3rem}
.hero-grid.solo .hero-meta{max-width:54ch}

/* ---------- sections ---------- */
section{position:relative}
.sec{padding:96px 0}
.sec-head{max-width:62ch;margin:0 0 44px}
.sec-head h2{font-size:clamp(1.9rem,4.3vw,3.05rem);margin:0 0 14px}
.curve{display:block;width:100%;height:70px}
.curve path{fill:var(--surface-2)}
.band{background:var(--surface-2)}
main{display:flex;flex-direction:column}
.kin .w{display:inline-block;white-space:pre}

/* ---------- FEEDBACK 1: the real icon-box graphics from the live site -----
   Ten inline SVGs lifted verbatim from nimbler.marketing's own home page.
   They are single-path marks with no fills declared, so they take
   currentColor and work in both themes — which the live site's do not,
   because there they are painted with a hard-coded fill. ------------------ */
 /* display:block matters — these are <span>s, and width/height are ignored on
    an inline box, which left every mark rendering at its intrinsic 1417px.
    The marks are two-tone by design (brand green + a dark form + white
    counters); build.py maps those three roles onto currentColor / --fg / --bg,
    so DO NOT force a single fill here. */
.iconmark{display:block;width:60px;height:60px;flex:0 0 60px;color:var(--green)}
.iconmark svg{width:100%;height:100%;display:block;overflow:visible}

.svcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:20px}
.svc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;
  box-shadow:var(--shadow);transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.svc:hover{transform:translateY(-5px);box-shadow:var(--lift);border-color:color-mix(in srgb,var(--green) 40%,var(--line))}
.svc .iconmark{width:74px;height:74px;flex:0 0 74px;padding:9px;border-radius:16px;
  background:color-mix(in srgb,var(--green) 11%,transparent)}
.svc h3{font-size:1.24rem;margin:18px 0 6px}
.svc p{font-size:var(--fs-sm);color:var(--muted);margin:0}

.whys{display:grid;grid-template-columns:repeat(auto-fit,minmax(324px,1fr));gap:18px}
.why{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:var(--r);
  background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.why .iconmark{width:44px;height:44px;flex:0 0 44px}
.why h3{font-size:1.1rem;margin:0 0 4px}
.why p{font-size:var(--fs-xs);color:var(--muted);margin:0}

/* ---------- FEEDBACK 6: the week ------------------------------------------
   No numbered days anywhere. Three movements, one week. The old rail counted
   1..10 and said "of 10" in 8.5rem type; all of that is deleted, not hidden. */
.weekwrap{position:relative;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:58px;align-items:start}
@media (max-width:960px){.weekwrap{grid-template-columns:1fr;gap:0}}
/* Stacked, the sticky marker sits above the panels and reads as a heading for
   whichever one you are on — but it tracks the viewport, so it contradicted
   the panel next to it. Below 960px each movement carries its own mark. */
.move-head{display:none;align-items:center;gap:12px;margin:0 0 12px}
.move-head .iconmark{width:44px;height:44px;flex:0 0 44px;padding:6px;border-radius:12px;
  background:color-mix(in srgb,var(--green) 11%,transparent)}
.move-head b{font-family:'Harabara',sans-serif;font-weight:400;font-size:1.6rem;
  letter-spacing:var(--track-h3);color:var(--accent-ink)}
@media (max-width:960px){
  .week-sticky{display:none}
  .move-head{display:flex}
  .move{padding-left:0;border-left:0}
  .move::before{display:none}
  .move p{opacity:1}
}
.week-sticky{position:sticky;top:calc(var(--navh) + 78px)}
.week-mark{display:flex;align-items:center;gap:16px}
.week-mark .iconmark{width:72px;height:72px;flex:0 0 72px;padding:8px;border-radius:16px;
  background:color-mix(in srgb,var(--green) 11%,transparent);transition:.4s var(--ease)}
.week-word{font-family:'Harabara',sans-serif;font-size:clamp(2.6rem,6vw,4rem);line-height:.95;
  color:var(--accent-ink);letter-spacing:var(--track-hero)}
/* The chapter marker states the IDEA of the movement; the panels on the right
   carry the detail. It used to repeat them verbatim, which is exactly the
   duplication the "too text-heavy" note was about. */
.week-tag{font-family:'Harabara',sans-serif;font-size:1.5rem;line-height:1.16;letter-spacing:var(--track-h3);
  color:var(--fg);margin:18px 0 0;max-width:19ch;min-height:2.4em}
.week-track{height:3px;background:var(--line);border-radius:2px;margin-top:26px;overflow:hidden}
.week-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--orange));width:100%;
  transform:scaleX(.33);transform-origin:left;transition:transform .45s var(--ease)}
.moves{display:grid;gap:0}
.move{padding:30px 0 30px 32px;border-left:2px solid var(--line);position:relative;transition:.35s var(--ease)}
.move::before{content:"";position:absolute;left:-8px;top:38px;width:14px;height:14px;border-radius:50%;
  background:var(--bg);border:2px solid var(--line);transition:.35s var(--ease)}
.move.act{border-left-color:var(--green)}
.move.act::before{background:var(--green);border-color:var(--green);box-shadow:0 0 0 5px rgba(27,168,127,.16)}
.move .mlab{font-size:var(--fs-micro);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.move.act .mlab{color:var(--accent-ink)}
.move h4{font-family:'Harabara',sans-serif;font-weight:400;font-size:1.3rem;margin:6px 0 8px}
.move p{font-size:var(--fs-sm);color:var(--muted);margin:0 0 12px;opacity:.62;transition:.35s}
.move.act p{opacity:1}
.mchips{display:flex;gap:7px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.mchips li{font-size:var(--fs-xs);color:var(--fg);background:var(--surface);border:1px solid var(--line);
  border-radius:999px;padding:.28em .8em}
.move.act .mchips li{border-color:color-mix(in srgb,var(--green) 45%,transparent)}

.handover{margin-top:44px;border:1px solid color-mix(in srgb,var(--green) 34%,var(--line));border-radius:var(--r);
  background:color-mix(in srgb,var(--green) 7%,var(--surface));padding:28px;box-shadow:var(--shadow)}
.handover h3{font-size:1.34rem;margin:0 0 6px}
.handover .opt{margin:16px 0 0;font-size:var(--fs-sm);color:var(--muted)}
.hand{display:grid;grid-template-columns:repeat(auto-fit,minmax(214px,1fr));gap:12px 24px;margin:0;padding:0;list-style:none}
.hand li{display:flex;gap:9px;align-items:flex-start;font-size:var(--fs-sm)}
.hand svg{flex:0 0 15px;margin-top:6px;color:var(--green)}
.caveat{margin-top:22px;font-size:var(--fs-xs);color:var(--muted);border-left:2px solid var(--orange);padding-left:14px}

/* ---------- the objection block ---------- */
/* V3 put the worry in 2.5rem display type on the left and the reply in body
   copy on the right, so the page shouted the objection and murmured the answer.
   Inverted: the worry is a quiet caption, the answer is the statement. */
.straight{max-width:72ch}
.worry-q{font-size:var(--fs-md);color:var(--muted);margin:0 0 14px;font-style:italic}
.worry-a p{font-family:'Harabara','Gilroy',sans-serif;font-weight:400;letter-spacing:var(--track-h3);
  font-size:clamp(1.35rem,2.7vw,1.95rem);line-height:1.3;margin:0}
.worry-a b{color:var(--accent-ink);font-weight:400}

/* ---------- FEEDBACK 7: work, with the images ---------------------------- */
.proof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);
  transition:transform .3s var(--ease),box-shadow .3s;position:relative;overflow:hidden;display:flex;flex-direction:column}
.card:hover{transform:translateY(-5px);box-shadow:var(--lift)}
.card .rule{position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--green),var(--orange));
  transform:scaleX(0);transform-origin:left;z-index:2}
.shot{position:relative;aspect-ratio:14/10;overflow:hidden;background:var(--surface-2)}
/* Article banners carry their own headline artwork and are natively 2.4:1.
   Any crop at all ate the words, so post cards use the source ratio. */
.card.post .shot{aspect-ratio:12/5}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);opacity:0}
.shot img.ld{opacity:1;transition:transform .6s var(--ease),opacity .5s}
.card:hover .shot img{transform:scale(1.05)}
.shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(20,22,18,.42));pointer-events:none}
.cbody{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.card .sector{font-size:var(--fs-micro);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.card h3{font-size:1.2rem;margin:8px 0 10px}
.card p{font-size:var(--fs-sm);color:var(--muted);margin:0 0 14px}
.result{display:block;border-left:2px solid var(--green);padding:8px 0 8px 14px;font-size:var(--fs-sm);color:var(--fg)}
.result small{display:block;color:var(--muted);font-size:var(--fs-xs);margin-top:6px;line-height:1.45}
.card .more{font-size:var(--fs-xs);font-weight:700;text-decoration:none;display:inline-flex;gap:.4em;align-items:center;
  margin-top:auto;padding-top:14px;min-height:24px}
.card .more:hover{text-decoration:underline}

/* the showreel CSS came out with the showreel (20 Aug, Jeff) */

/* ---------- FEEDBACK 8 + 10: all twenty-two quotes, no avatar circle ----- */
/* align-items:flex-start — a flex row stretches every child to the tallest,
   which left the short quotes as mostly empty cards. */
/* The rail is full-bleed, so its inline padding has to reproduce the page
   gutter or the cards sit flush against the viewport edge while the heading
   above them is indented — which is the missing space to the left and right. */
.quotes{display:flex;align-items:flex-start;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;
  padding-block:6px 22px;padding-inline:max(24px,calc((100vw - var(--maxw))/2 + 24px));scroll-padding-inline:max(24px,calc((100vw - var(--maxw))/2 + 24px));
  scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.quote{flex:0 0 min(352px,82vw);scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.quote .qm{font-family:'Harabara',sans-serif;font-size:2.4rem;line-height:.7;color:color-mix(in srgb,var(--purple-ink) 62%,transparent);
  margin-bottom:10px}
.quote p{font-size:var(--fs-md);margin:0 0 18px;line-height:1.62}
/* FEEDBACK 10 — the profile-picture circle is gone. The name now carries a
   short green rule instead, which needs no photograph we do not have. */
.quote .who{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.quote .who b{display:block;font-size:var(--fs-sm)}
.quote .who .co{display:block;font-size:var(--fs-xs);color:var(--purple-ink);font-weight:700;margin-top:2px}
.qnav{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:4px}
.qnav button{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);
  color:var(--fg);cursor:pointer;display:grid;place-items:center}
.qnav button:hover{border-color:var(--green);color:var(--accent-ink)}
.qcount{font-size:var(--fs-xs);color:var(--muted);margin-right:auto}

/* ---------- the questions ------------------------------------------------
   Jeff, 21 Aug: "improve the styling of the question section." It had none.
   `.faqlist`, `.faqitem` and `.faqa` were in the markup and in NO rule in this
   stylesheet, so twelve questions rendered as raw browser-default <details>.
   Measured on the page as it was served this morning: a 28px row (the tap-target
   floor is 44), cursor:auto, no border, and answers running the full 1,132px of
   the wrap at 149 characters a line. That is what "unfinished" was.

   ⛔ IT IS STILL <details>/<summary>, AND THAT IS NOT AN AESTHETIC CHOICE. The
   disclosure is what makes the twelve answers readable with scripting off — the
   difference between the 2,358 characters V4 serves a crawler and the 20,353
   this page serves. A JS accordion would style beautifully and throw that away.
   Everything below is presentation over a native control; not one line of it
   adds behaviour, and there is no script for this section at all. */
.faqlist{display:grid;gap:10px;max-width:60ch}
.faqitem{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow);overflow:hidden;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.faqitem:hover{border-color:color-mix(in srgb,var(--green) 32%,var(--line))}
.faqitem[open]{border-color:color-mix(in srgb,var(--green) 45%,var(--line));box-shadow:var(--lift)}

/* The default triangle is suppressed and REPLACED, never merely deleted. Safari
   draws it with ::-webkit-details-marker and everything else with ::marker, so
   both go; the ± disc in the summary is the affordance that takes its place, and
   it changes SHAPE and COLOUR on open rather than rotating a glyph that renders
   differently in every engine. */
.faqitem>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;
  list-style:none;cursor:pointer;padding:15px 18px;min-height:58px;
  font-family:'Harabara','Gilroy',sans-serif;font-size:1.14rem;letter-spacing:var(--track-h3);
  color:var(--fg);overflow-wrap:break-word;transition:color .2s}
.faqitem>summary::-webkit-details-marker{display:none}
.faqitem>summary::marker{content:""}
.faqitem>summary:hover{color:var(--accent-ink)}
.faqq{min-width:0;overflow-wrap:break-word}

/* ⛔ THE FOCUS RING IS INSET, DELIBERATELY, AND THE OFFSET WAS MEASURED. The global
   :focus-visible rule draws 3px OUTSIDE the box. A summary fills its card, so with
   the card edge at x=154 and the summary at x=155, the global ring paints from
   x=149 — outside the card entirely, reading as an orange halo around the whole
   panel rather than as focus on the control the reader is about to press. Inset,
   it paints from x=155, inside the card, on the thing that has focus. A disclosure
   list is operated from the keyboard; this is the one control on the page where
   that distinction is worth a rule of its own. */
.faqitem>summary:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;
  border-radius:var(--r);background:color-mix(in srgb,var(--orange) 9%,transparent)}

.faqsign{flex:0 0 26px;height:26px;border-radius:50%;border:1.5px solid var(--line);
  position:relative;color:var(--accent-ink);transition:.25s var(--ease)}
.faqsign::before,.faqsign::after{content:"";position:absolute;top:50%;left:50%;
  background:currentColor;border-radius:1px}
.faqsign::before{width:11px;height:2px;transform:translate(-50%,-50%)}
.faqsign::after{width:2px;height:11px;transform:translate(-50%,-50%);transition:transform .25s var(--ease),opacity .2s}
.faqitem[open] .faqsign{background:var(--green-fill);border-color:var(--green-fill);color:#FFFCFC}
.faqitem[open] .faqsign::after{transform:translate(-50%,-50%) scaleY(0);opacity:0}

/* The answer gets its own measure. Left to itself it inherited the width of the
   wrap and ran to 1,180px — about 130 characters a line, and the reason a long
   answer felt like a wall. `ch` is the width of a "0" and Gilroy's average glyph
   is much narrower, so the number you set is NOT the number of characters you
   get: 56ch measured 600px and rendered 80 characters a line, still outside the
   comfortable band. 48ch measures 514px and renders 64-69, which is the number
   that was actually wanted. For scale, unstyled it was 149. Measured on the built page, not assumed
   from the unit. */
.faqa{margin:0 18px 17px;padding-top:15px;border-top:1px solid var(--line);max-width:48ch}
.faqa p{margin:0;color:var(--muted);font-size:var(--fs-md);line-height:1.72}
.faqitem[open]>.faqa{animation:faqIn .28s var(--ease)}
@keyframes faqIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* On a phone: the card keeps its padding but loses the desktop generosity, the
   question comes down a step (1.14rem -> 1.06rem, still the display face) so a
   long one does not take four lines, and the tap target stays at 58px because
   min-height does not move — well clear of the 44px floor. Answers drop to
   --fs-sm, which is 16px. Nothing here goes under the 13.12px floor. */
@media (max-width:640px){
  .faqlist{gap:8px}
  .faqitem>summary{padding:13px 14px;gap:12px;font-size:1.06rem}
  .faqa{margin:0 14px 14px;padding-top:13px}
  .faqa p{font-size:var(--fs-sm)}
}

/* ---------- FEEDBACK 4: date first, then time --------------------------- */
.book{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start}
@media (max-width:900px){.book{grid-template-columns:1fr;gap:28px}}
.step{font-size:var(--fs-micro);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  display:flex;align-items:center;gap:9px;margin:0 0 10px}
.step i{font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--green-fill);color:#FFFCFC;
  display:grid;place-items:center;font-size:var(--fs-micro)}
.step.wait i{background:var(--line);color:var(--muted)}
.dates{display:grid;grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:9px;margin:0 0 26px}
.date{font-family:inherit;font-size:var(--fs-xs);font-weight:600;padding:.6em .4em;border-radius:11px;border:1.5px solid var(--line);
  background:var(--surface);color:var(--fg);cursor:pointer;transition:.15s;line-height:1.3;min-height:44px}
.date b{display:block;font-size:var(--fs-sm);font-weight:700}
.date:hover{border-color:var(--green)}
.date[aria-pressed="true"]{background:var(--green-fill);color:#FFFCFC;border-color:var(--green-fill)}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:9px;margin:0 0 22px}
.slot{font-family:inherit;font-size:var(--fs-sm);font-weight:600;padding:.62em .4em;border-radius:10px;border:1.5px solid var(--line);
  background:var(--surface);color:var(--fg);cursor:pointer;transition:.15s;min-height:40px}
.slot:hover:not(:disabled){border-color:var(--green)}
.slot[aria-pressed="true"]{background:var(--green-fill);color:#FFFCFC;border-color:var(--green-fill)}
/* Times are genuinely unavailable until a date exists — disabled, not merely
   faded, so a keyboard or screen-reader user meets the same order. */
.slot:disabled{opacity:.45;cursor:not-allowed}
.slotwrap{position:relative}
.slotwrap.locked::after{content:attr(data-lock);position:absolute;inset:0;display:grid;place-items:center;
  background:color-mix(in srgb,var(--bg) 62%,transparent);font-size:var(--fs-xs);color:var(--muted);
  font-weight:700;border-radius:10px;pointer-events:none}
.field{margin-bottom:14px}
.field label{display:block;font-size:var(--fs-xs);font-weight:700;margin-bottom:5px}
.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:var(--fs-sm);padding:.7em .85em;border-radius:10px;
  border:1.5px solid var(--line);background:var(--surface);color:var(--fg)}
.field input:focus,.field textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px rgba(27,168,127,.16)}
/* The rule above sets outline:none, and the green border it leaves behind is 3.02:1 on a card
   and 2.96:1 on the page — it fails 1.4.11 on the surface the booking form actually sits on.
   The designed green glow is kept for a mouse focus; a KEYBOARD focus additionally gets the
   real ring. Same specificity (0,2,1) as the rule above, so this one wins on source order —
   it has to stay below it. */
.field input:focus-visible,.field textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.chosen{font-size:var(--fs-sm);font-weight:700;color:var(--accent-ink);margin:0 0 16px;min-height:1.5em}
/* ---------- booking: the states a real POST can be in -------------------
   The form used to have exactly one state — "thanks" — and it printed that whatever happened,
   including on an empty submit. These are the rest of them. --red-ink is defined here rather than
   in the palette because nothing else on the site is red. Measured, not guessed: #B3261E is 6.41:1
   on the light page, 6.54:1 on a card, 6.06:1 on --surface-2; #F2A9A2 is 8.3-9.2:1 across the dark
   surfaces. Well clear of 4.5:1 either way, and an error is never signalled by colour alone — the
   sentence says what is wrong and the field carries aria-invalid. */
:root{--red-ink:#B3261E}
html[data-theme="dark"]{--red-ink:#F2A9A2}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]){--red-ink:#F2A9A2}}
.fielderr,.bookmsg{font-size:var(--fs-xs);color:var(--red-ink);font-weight:700;margin:6px 0 0}
.bookmsg{margin:12px 0 0}
.bookmsg.ok{color:var(--accent-ink)}
.bookmsg[hidden],.fielderr[hidden]{display:none}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:var(--red-ink)}
.bookzone{font-size:var(--fs-xs);color:var(--muted);margin:0 0 16px}
.dates[aria-busy="true"]::after{content:"Loading the diary…";grid-column:1/-1;font-size:var(--fs-xs);color:var(--muted)}
#booksubmit[disabled]{opacity:.6;cursor:progress}
form.filled{animation:flash 1.5s var(--ease)}
@keyframes flash{0%{box-shadow:0 0 0 0 rgba(27,168,127,.55)}100%{box-shadow:0 0 0 22px rgba(27,168,127,0)}}

/* no-context asker */
.asker h3{font-size:1.3rem}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{font-family:inherit;font-size:var(--fs-xs);font-weight:600;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);
  border-radius:999px;padding:.55em 1.1em;cursor:pointer;transition:.18s var(--ease);min-height:36px}
.chip:hover{border-color:var(--green);color:var(--accent-ink);transform:translateY(-2px)}

/* ---------- Nimbus dock ----------
   FEEDBACK 5: the small prompt that used to pop up above this button offering
   the schedule is deleted outright — markup, styles and the timer that fired
   it. Nothing here shows anything the visitor did not ask for. */
.dock{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.dock-btn{display:flex;align-items:center;gap:10px;background:var(--green-fill);color:#FFFCFC;border:0;border-radius:999px;
  padding:.62em 1.15em .62em .62em;font-family:inherit;font-size:var(--fs-md);font-weight:700;cursor:pointer;
  box-shadow:0 12px 34px -12px rgba(27,168,127,.95);transition:transform .2s var(--ease)}
.dock-btn:hover{transform:translateY(-2px)}
.dock-btn .mk-icon{width:28px;flex:0 0 28px;color:#FFFCFC}
.face{border-radius:50%;object-fit:cover;display:block;flex:0 0 auto;background:var(--surface-2)}
.dock-btn .face{width:34px;height:34px;box-shadow:0 0 0 2px rgba(255,252,252,.7)}
.panel-hd .face{width:36px;height:36px}
.msg.bot{position:relative}
.voicebtn{margin-left:auto;background:none;border:1.5px solid var(--line);border-radius:999px;color:var(--muted);
  cursor:pointer;display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto}
.voicebtn[aria-pressed="true"]{background:var(--purple-ink);border-color:var(--purple-ink);color:#FFFCFC}
.speak{background:none;border:0;color:var(--muted);cursor:pointer;padding:2px 4px;margin-top:6px;
  font-family:inherit;font-size:var(--fs-xs);font-weight:700;display:inline-flex;gap:.35em;align-items:center}
.speak:hover{color:var(--purple-ink)}
.dock-btn .pulse{width:8px;height:8px;border-radius:50%;background:#FFFCFC;animation:pl 2s infinite}
@keyframes pl{0%,100%{opacity:.35}50%{opacity:1}}
.panel{width:min(400px,calc(100vw - 34px));background:var(--surface);border:1px solid var(--line);border-radius:20px;
  box-shadow:0 30px 70px -26px rgba(32,34,29,.5);overflow:hidden;display:none;flex-direction:column;max-height:min(640px,78svh)}
.panel.open{display:flex;animation:pop .3s var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.panel-hd{display:flex;align-items:center;gap:11px;padding:13px 15px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.panel-hd .mk-icon{width:30px;flex:0 0 30px;color:var(--green)}
.panel-hd b{font-size:var(--fs-sm);display:block}
.panel-hd span{font-size:var(--fs-xs);color:var(--muted)}
.panel-hd .x{margin-left:auto;background:none;border:0;color:var(--muted);font-size:1.4rem;cursor:pointer;line-height:1;padding:4px 8px}
.log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:11px}
.msg{max-width:88%;font-size:var(--fs-sm);line-height:1.56;padding:.7em .9em;border-radius:15px}
.msg.bot{background:var(--surface-2);border:1px solid var(--line);border-bottom-left-radius:5px;align-self:flex-start}
.msg.me{background:var(--green-fill);color:#FFFCFC;border-bottom-right-radius:5px;align-self:flex-end}
.msg .cite{display:block;margin-top:8px;font-size:var(--fs-xs);color:var(--muted);border-top:1px dashed var(--line);padding-top:6px}
.msg.bot .act{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.msg.bot .act button{font-family:inherit;font-size:var(--fs-xs);font-weight:600;border:1.5px solid var(--line);background:var(--surface);
  color:var(--accent-ink);border-radius:999px;padding:.35em .8em;cursor:pointer;transition:.15s;min-height:28px}
.msg.bot .act button:hover{border-color:var(--green)}
.msg.bot .act button[aria-pressed="true"]{background:var(--green-fill);color:#FFFCFC;border-color:var(--green-fill)}
.typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted);margin-right:3px;animation:tp 1.2s infinite}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes tp{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.panel-ft{border-top:1px solid var(--line);padding:11px 13px;background:var(--surface)}
.panel-in{display:flex;gap:8px;align-items:center}
.panel-in input{flex:1;font-family:inherit;font-size:var(--fs-sm);padding:.62em .8em;border-radius:999px;border:1.5px solid var(--line);
  background:var(--surface-2);color:var(--fg);min-width:0}
.panel-in input:focus{outline:none;border-color:var(--green)}
.panel-in input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.iconbtn{background:var(--green-fill);border:0;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex:0 0 auto;color:#FFFCFC}
.iconbtn.alt{background:var(--surface-2);border:1.5px solid var(--line);color:var(--fg)}
.guard{display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--muted);margin-top:9px;padding-top:9px;border-top:1px dashed var(--line)}
.guard .bar{flex:1;height:3px;background:var(--line);border-radius:2px;overflow:hidden}
.guard .bar i{display:block;height:100%;background:var(--green);width:0;transition:width .4s var(--ease)}

/* ---------- footer ---------- */
footer{background:var(--surface-2);border-top:1px solid var(--line);padding:60px 0 34px;font-size:var(--fs-sm)}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:34px;margin-bottom:40px}
@media (max-width:820px){.f-grid{grid-template-columns:1fr 1fr;gap:26px}}
footer h5{font-family:inherit;font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 13px;font-weight:700}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
footer ul a{display:inline-flex;align-items:center;min-height:24px}
.f-legal a{display:inline-flex;align-items:center;min-height:24px}
footer a{color:var(--fg);text-decoration:none;opacity:.82}
footer a:hover{opacity:1;color:var(--accent-ink);text-decoration:underline}
footer .brandmark{color:var(--green);margin-bottom:14px}
footer .brandmark .mk-word{width:150px}
/* The two legal links used to sit in the same wrapping flex row as three lines
   of company detail, so "Privacy Policy" was always the item that fell onto a
   line of its own. They are now their own non-wrapping group, pinned right. */
.f-legal{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:baseline;
  justify-content:space-between;gap:14px 28px;flex-wrap:wrap;color:var(--muted);font-size:var(--fs-xs)}
.f-reg{display:flex;gap:20px;flex-wrap:wrap;align-items:baseline}
.f-links{display:flex;gap:22px;white-space:nowrap;flex:0 0 auto;margin-left:auto}
.f-legal a{color:var(--muted)}

/* theme toggle */
.tt{background:none;border:1.5px solid var(--line);border-radius:999px;width:34px;height:34px;cursor:pointer;
  display:grid;place-items:center;color:var(--fg);flex:0 0 auto}
.tt:hover{border-color:var(--accent)}

/* ---------- the AI assistant, which every project now starts with -------- */
.aigrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:34px;align-items:start}
@media (max-width:900px){.aigrid{grid-template-columns:1fr;gap:24px}}
.ailist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ailist li{display:flex;gap:16px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r);padding:18px 20px;box-shadow:var(--shadow)}
.ailist .iconmark{width:40px;height:40px;flex:0 0 40px}
.ailist b{display:block;font-size:var(--fs-md);font-weight:700}
.ailist span{display:block;font-size:var(--fs-sm);color:var(--muted);line-height:1.5}
/* An edge and a heading, not a panel of brand purple — it is an accent colour
   for links and small elements, not a surface. */
.aicard{background:var(--surface);border:1px solid var(--purple-ink);
  border-left-width:3px;border-radius:var(--r);padding:24px;box-shadow:var(--shadow)}
.aicard h3{font-size:1.3rem;margin:0 0 10px;color:var(--purple-ink)}
.aicard p{font-size:var(--fs-sm);color:var(--muted);margin:0 0 12px}
.aicard p:last-child{margin:0}
.aicard b{color:var(--fg)}
.subhead{font-family:'Harabara',sans-serif;font-weight:400;font-size:clamp(1.35rem,2.6vw,1.9rem);
  letter-spacing:var(--track-h2);margin:52px 0 22px}

/* ---------- carousels: case studies and articles ------------------------- */
/* Full-bleed rails that still line up with the page gutter, so the first card
   starts where the heading above it starts and the last one can run off. */
/* ⛔ scroll-padding HAS to match padding-inline. Without it the snapport starts at
   the padding-box edge while the first card's snap area starts after the padding,
   so the browser scrolls the rail by exactly the gutter to align them — eating the
   left margin the padding was added to create. Measured: scrollLeft 154 at 1440px. */
.rail{display:flex;align-items:stretch;gap:20px;overflow-x:auto;scroll-snap-type:x proximity;
  padding-block:6px 22px;padding-inline:max(24px,calc((100vw - var(--maxw))/2 + 24px));scroll-padding-inline:max(24px,calc((100vw - var(--maxw))/2 + 24px));
  scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.rail > *{flex:0 0 min(348px,80vw);scroll-snap-align:start}
.railhead{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin:0 0 14px}
.railbtn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);
  color:var(--fg);cursor:pointer;display:grid;place-items:center;transition:.16s}
.railbtn:hover{border-color:var(--purple-ink);color:var(--purple-ink)}
.railbtn[disabled]{opacity:.34;cursor:default}
.railbtn[disabled]:hover{border-color:var(--line);color:var(--fg)}

/* ---------- article category filters ------------------------------------ */
.catbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.catbtn{font-family:inherit;font-size:var(--fs-xs);font-weight:600;border:1.5px solid var(--line);
  background:var(--surface);color:var(--fg);border-radius:999px;padding:.44em 1em;cursor:pointer;
  transition:.15s;min-height:34px}
.catbtn:hover{border-color:var(--purple-ink);color:var(--purple-ink)}
/* The FILL is Jeff's #7E4278 in both themes, because white on it is 7.15:1
   either way. The border takes --purple-ink so the chip's own edge stays
   visible against a dark page, where the fill alone is only 2.55:1 to it. */
.catbtn[aria-pressed="true"]{background:var(--purple);color:#FFFCFC;border-color:var(--purple-ink)}
.card .cat{font-size:var(--fs-micro);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--purple-ink)}
.railempty{font-size:var(--fs-sm);color:var(--muted);padding:20px 0}

/* ============================================================
   MOTION LAYER
   Nothing here is required to read the page. `.anim` is added by JS only when
   motion is wanted, so with JS off the document renders fully visible.
   `.sda` = native scroll-driven animations, so the reveal system runs on the
   compositor with zero JS; otherwise an IntersectionObserver stands in.
   ============================================================ */
html.anim:not(.sda) .rv{opacity:0;transform:translateY(28px);
  transition:opacity .75s var(--ease),transform .75s var(--ease)}
html.anim:not(.sda) .rv.in{opacity:1;transform:none}
html.anim:not(.sda) .rv.d1{transition-delay:.08s}
html.anim:not(.sda) .rv.d2{transition-delay:.16s}
html.anim:not(.sda) .card.in .rule,html.anim:not(.sda) .rv.in .rule{transform:scaleX(1);transition:transform .7s .15s var(--ease)}
html:not(.anim) .rule{transform:scaleX(1)}

@supports (animation-timeline: view()){
/* ⛔ COMPLETE EARLY IN ENTRY, AND NEVER ON COVER. Two faults, a day apart, same family.

   2026-09-02, Jeff on the insights page: "when I try and go down and open one of the articles,
   it's sort of grayed out". `cover 26%` means the element only reaches full opacity once 26% of
   the page has scrolled PAST it — which never happens near the bottom, because there is no page
   left to scroll. Those cards sat permanently half-faded. Fixed by ending the range on `entry`.
   
   2026-09-03, Jeff again: "on the Our Work page, there's one element that only really becomes in
   focus when you scroll to about halfway over that section, and it should really be visible right
   from the start." `entry 95%` is measured against the ELEMENT'S OWN HEIGHT, so a section taller
   than the viewport needs almost its whole height scrolled before it finishes fading in. The
   taller the section, the later it lights up — exactly what he describes.
   
   Ending at `entry 25%` fixes both: short elements are up almost immediately, tall ones are up
   shortly after they appear, and nothing depends on scrolling past. The effect he likes is
   intact; only its lateness is gone.
   
   ⚠ THE OTHER FOUR RULES BELOW HAD THE SAME `cover` BUG AND WERE NOT FIXED YESTERDAY, because
   only .rv was reported. Headings, card rules and the testimonial rail near the foot of a page
   were all still waiting for a scroll that never comes. */
html.sda .rv{animation:rvIn linear both;animation-timeline:view();animation-range:entry 2% entry 25%}
@keyframes rvIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}

html.sda .kin .w{animation:wIn linear both;animation-timeline:view();animation-range:entry 0% entry 30%}
@keyframes wIn{from{opacity:0;transform:translateY(.5em) rotate(1.5deg)}to{opacity:1;transform:none}}

html.sda .card .rule{animation:draw linear both;animation-timeline:view();animation-range:entry 20% entry 60%}
@keyframes draw{to{transform:scaleX(1)}}

html.sda .scroll-hint{animation:hintOut linear both;animation-timeline:view();animation-range:exit -10% exit 30%}
@keyframes hintOut{to{opacity:0}}

html.sda .scrollbar{animation:grow linear both;animation-timeline:scroll(root)}
@keyframes grow{to{transform:scaleX(1)}}

/* The testimonial rail must NOT translate on X: it is full-bleed, so an X
   offset in the start state widens the document and gives narrow screens a
   horizontal scrollbar before the animation ever runs. Measured: 40px at 390px. */
html.sda .quotes{animation:qIn linear both;animation-timeline:view();animation-range:entry 0% entry 30%}
@keyframes qIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

}

/* reduced motion — honour it everywhere, and undo the scroll-driven layer */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  h1.hero-h .ln i{transform:none}
  .hero-sub,.hero-cta,.hero-meta,.askcard{opacity:1}
  .rv{opacity:1!important;transform:none!important}
  .rule{transform:scaleX(1)!important}
  #nimbus-canvas,.scroll-hint{display:none}
  .aura{transform:none!important}
  .shot img{opacity:1}
}

@view-transition{navigation:none}
::view-transition-old(root),::view-transition-new(root){animation-duration:.4s}

/* ⛔ THE IMAGE AND THE TITLE WERE NEVER LINKS. Jeff, 2026-09-02: "I can't click on the image or the
   title. Sometimes I can click on read more." He was right — only `.more` was an anchor, so two of
   the three things a person naturally clicks did nothing at all. Both are now wrapped, pointing at
   the same article as Read it.
   ⚠ The image link is aria-hidden and tabindex=-1 on purpose: it is the SAME destination as the
   title, so exposing it again would make every card two identical stops for a screen reader and a
   keyboard user. Sighted mouse users get the big target; assistive tech gets one clean link. */
.card.post .shotlink{display:block;cursor:pointer}
.card.post h3 .titlelink{color:inherit;text-decoration:none}
.card.post h3 .titlelink:hover,.card.post h3 .titlelink:focus-visible{text-decoration:underline}
.card.post .shotlink:focus-visible{outline:2px solid var(--brand,#1BA87F);outline-offset:3px}

/* ============================================================
   ARTICLE IMAGES AND THE AUTHOR BLOCK — Jeff, 2026-09-02
   "when I open an article, the image is sort of cut off on the sides, so make sure to use the full
    image there. And at the bottom, my author block is quite big. Make that a bit smaller and make
    sure that the image doesn't pixelate."
   ⛔ ONE ROOT CAUSE FOR BOTH. `.shot` is used for three different jobs on a post page — the hero
   banner, in-body figures, and the author avatar — and it forces aspect-ratio 14/10 with
   object-fit:cover. So every article image was cropped at the sides, and a 256x256 avatar was being
   stretched across the full card width, which is exactly why it looked soft.
   ⚠ The file already knew: the note at .card.post .shot says banners are natively 2.4:1 and "any
   crop at all ate the words" — but that fix was only ever applied to the listing cards.
   ============================================================ */
.card.postimg .shot{aspect-ratio:auto;background:none}
.card.postimg .shot img{height:auto;object-fit:contain}
.card.postimg .shot::after{display:none}          /* the gradient existed to hide a crop edge */
.card.postimg:hover .shot img{transform:none}     /* so did the hover zoom */

/* The author is a person, not a banner. 96px keeps a 256px source well inside its own resolution
   even on a 2x screen, so it cannot pixelate. */
.card.authorcard{border:0;background:none;box-shadow:none;margin-top:8px}
.card.authorcard .rule{display:none}
.card.authorcard .shot{aspect-ratio:1/1;width:96px;height:96px;border-radius:50%;overflow:hidden;
  margin:0 0 10px;background:var(--surface-2)}
.card.authorcard .shot img{width:100%;height:100%;object-fit:cover}
.card.authorcard .shot::after{display:none}
.card.authorcard:hover .shot img{transform:none}

/* Category filter on the insights page — Jeff, 2026-09-02. Everything had been imported under one
   WordPress category ("Nimbler News"), so the listing had no way to browse by subject. */
.catfilter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.catfilter .chip{font:inherit;font-size:.82rem;line-height:1;padding:.5rem .85rem;cursor:pointer;
  border:1px solid var(--line,#e7e9e6);background:transparent;color:var(--muted,#6b6f6a);
  border-radius:999px;transition:background .2s,color .2s,border-color .2s}
.catfilter .chip span{opacity:.55;margin-left:.35rem;font-variant-numeric:tabular-nums}
.catfilter .chip:hover{border-color:var(--brand,#1BA87F);color:var(--fg,#20221D)}
.catfilter .chip.on{background:var(--brand,#1BA87F);border-color:var(--brand,#1BA87F);color:#fff}
.catfilter .chip.on span{opacity:.8}
.catfilter .chip:focus-visible{outline:2px solid var(--brand,#1BA87F);outline-offset:2px}
/* the category sits above the date on each card */
.card.post .pcat{display:block;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--brand,#1BA87F);font-weight:600;margin-bottom:2px}

/* The nimbleness story (Jeff, 2026-09-02) — set narrower than the grid below it so it reads as a
   passage rather than another card, and capped so the line length stays comfortable. */
.nimblestory{max-width:62ch;margin:0 0 30px}
.nimblestory p{margin:0 0 12px;color:var(--muted);font-size:var(--fs-md);line-height:1.62}
.nimblestory p:last-child{margin-bottom:0}

/* The 60-second spoken pitch in the hero (Jeff, 2026-09-02). Sits in the ghost-button slot next to
   the primary CTA, so it reads as the quieter of the two choices — which it is. */
.pitchbtn{display:inline-flex;align-items:center;gap:9px}
.pitchbtn .pitchicon{display:inline-flex;width:15px;height:15px;flex:0 0 15px}
.pitchbtn .i-pause{display:none}
.pitchbtn[data-state="playing"] .i-play{display:none}
.pitchbtn[data-state="playing"] .i-pause{display:inline}
.pitchbtn .pitchtime{font-variant-numeric:tabular-nums;opacity:.62;font-size:var(--fs-xs)}
.pitchbtn[data-state="idle"] .pitchtime{display:none}

/* The team faces — pictures alone, no names. Made properly playful on Jeff's second pass
   (2026-09-03): "we kinda wanna have those playfully float about this section."

   ⛔ EVERY RULE HERE IS SCOPED `.faces .face`, NEVER BARE `.face`. That class is also the chat
   dock's avatar (.dock-btn .face, .panel-hd .face) — a bare rule here would resize and animate the
   little face on the chat button on all 80 pages. The previous version of this block declared bare
   `.face` and got away with it only because the properties happened not to collide.

   ⛔ THE DRIFT IS PER-FACE AND UNSYNCHRONISED. Six portraits bobbing in step reads as a loading
   spinner rather than as people, so each gets its own path, its own duration, and a negative delay
   so they are already mid-flight on load instead of all starting from rest together.

   ⚠ MOTION IS OPT-OUT. Everything animated sits behind prefers-reduced-motion: no-preference, and
   the still layout underneath is the whole design — someone who has asked their machine to stop
   moving things gets a clean row of faces, not a broken one. */
.faces{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:flex-start;padding:8px 0 4px}
.faces .face{display:block;width:104px;height:104px;border-radius:50%;overflow:hidden;
      border:3px solid var(--surface);box-shadow:var(--shadow);background:var(--line);flex:0 0 auto;
      will-change:transform;transition:opacity .35s var(--ease),box-shadow .35s var(--ease)}
.faces .face img{width:100%;height:100%;object-fit:cover;display:block}
@media (min-width:700px){ .faces .face{width:128px;height:128px} }
.faceline{margin:26px 0 0;color:var(--muted);font-size:var(--fs-sm)}

/* Pointing at one lifts it and eases the others back — the section reacts to you rather than
   performing at you. */
.faces:hover .face{opacity:.7}
.faces .face:hover{opacity:1;z-index:2;box-shadow:var(--lift)}

@media (prefers-reduced-motion:no-preference){
  .anim .faces .face{animation:floatA 11s ease-in-out infinite}
  .anim .faces .face.f2{animation:floatB 13s ease-in-out -2.6s infinite}
  .anim .faces .face.f3{animation:floatC 9.5s ease-in-out -5.1s infinite}
  .anim .faces .face.f4{animation:floatB 12.5s ease-in-out -7.4s infinite}
  .anim .faces .face.f5{animation:floatA 10.5s ease-in-out -3.3s infinite}
  .anim .faces .face.f6{animation:floatC 14s ease-in-out -9.2s infinite}
  .anim .faces .face:hover{animation-play-state:paused}
}

/* Three paths so no two neighbours trace the same shape. Amplitudes stay small — about 10px and
   two degrees — because the brief is "playful", not "carousel". */
@keyframes floatA{
  0%,100%{transform:translate3d(0,0,0) rotate(-1.5deg)}
  33%{transform:translate3d(5px,-9px,0) rotate(1.5deg)}
  66%{transform:translate3d(-4px,-4px,0) rotate(-.5deg)}
}
@keyframes floatB{
  0%,100%{transform:translate3d(0,0,0) rotate(1.2deg)}
  30%{transform:translate3d(-6px,-7px,0) rotate(-1.8deg)}
  70%{transform:translate3d(4px,-10px,0) rotate(.8deg)}
}
@keyframes floatC{
  0%,100%{transform:translate3d(0,-2px,0) rotate(-.8deg)}
  40%{transform:translate3d(7px,-6px,0) rotate(1.6deg)}
  75%{transform:translate3d(-3px,-11px,0) rotate(-1.2deg)}
}


/* Booking, in place on the contact page (Jeff, 2026-09-03: "I still have to click through to
   another page"). Three numbered steps so it is obvious how far in you are. */
.bk{max-width:640px}
.bk-step{margin:18px 0 10px;font-size:var(--fs-sm);font-weight:600;color:var(--fg)}
.bk-step b{color:var(--purple-ink);margin-right:6px}
.bk-chips{display:flex;flex-wrap:wrap;gap:8px}
.bk-chip{font:inherit;font-size:var(--fs-xs);font-weight:600;padding:.55rem .85rem;cursor:pointer;
         border:1.5px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px}
.bk-chip:hover{border-color:var(--purple-ink);color:var(--purple-ink)}
.bk-chip.on{background:var(--purple);color:#FFFCFC;border-color:var(--purple-ink)}
.bk-form{display:grid;gap:12px;margin-top:8px;max-width:460px}
.bk-form label{display:grid;gap:5px;font-size:var(--fs-sm);font-weight:600}
.bk-form input,.bk-form textarea{font:inherit;padding:.65rem .8rem;border:1.5px solid var(--line);
         border-radius:10px;background:var(--surface);color:var(--fg)}
.bk-form input:focus,.bk-form textarea:focus{outline:2px solid var(--purple-ink);outline-offset:1px}
.bk-opt{font-weight:400;color:var(--muted)}
.bk-msg{margin-top:12px;font-size:var(--fs-sm)}
.bk-info{color:var(--muted)} .bk-warn{color:#b3261e}
.bk-done{font-size:var(--fs-md);line-height:1.6}

/* ⛔ THE hidden ATTRIBUTE MUST ACTUALLY HIDE. The browser hides [hidden] with a UA rule of the
   lowest possible weight, so ANY class rule that sets display beats it. `.card` sets
   `display:flex`, which meant the Our Work filters set `card.hidden = true` on every
   non-matching card and nothing moved — the buttons worked, the state was right, and the page
   looked broken. Jeff, 2026-09-03: "The filters on the Our Work page don't work."
   The blog filters were unaffected only because they happen to set style.display inline.
   Both selectors are here on purpose: the element one wins against any class rule, and the bare
   one catches everything else that has no explicit display of its own. */
.card[hidden], .quote[hidden], article[hidden], figure[hidden]{display:none}
[hidden]{display:none}

/* The selected audience chip (Jeff, 2026-09-03: "that button should be selected"). The asker panel
   now persists after a choice, so the current one has to be legible at a glance rather than
   inferred from whatever the page happens to be showing. */

/* The asker buttons (Jeff, 2026-09-03: "use a green outline for the buttons in this section and
   make them solid on hover or click"). Outline at rest, solid on hover, focus and while selected —
   so the state you are IN and the state you are about to choose look different from each other. */
.asker .chip{border:1.5px solid #1BA87F;background:transparent;color:var(--fg)}
.asker .chip:hover,.asker .chip:focus-visible{background:#1BA87F;border-color:#1BA87F;color:#FFFCFC}
.asker .chip.on{background:#1BA87F;border-color:#1BA87F;color:#FFFCFC}
.asker .chip.on:hover{opacity:.92}

/* ⛔ THE WHOLE CARD IS THE LINK, VIA ONE ANCHOR. Jeff, 2026-09-03: "I can only click on the link of
   the item at the bottom, not the whole item. I want to be able to click on the image or the title,
   the description or anything."
   The title is the anchor and its ::after is stretched over the card, so every pixel is clickable
   while a screen reader and the tab order still see exactly ONE link per card. Wrapping the image,
   heading and paragraph in three separate links to the same page would have announced the same
   destination three times and given a keyboard user three stops per item.
   ⚠ Text stays selectable: the overlay sits at z-index 1 and .cbody text is lifted above it only
   where it needs to be, so a drag-select still works on the description. */
.card .cardlink{color:inherit;text-decoration:none}
.card .cardlink::after{content:'';position:absolute;inset:0;z-index:1}
.card .cardlink:hover,.card .cardlink:focus-visible{text-decoration:underline}
.card:focus-within{box-shadow:var(--lift)}
.card .cardlink:focus-visible{outline:2px solid var(--brand,#1BA87F);outline-offset:3px}
.card .more{position:relative;z-index:2;pointer-events:none}


/* ── audience context notice (_v5-ctx.js) ─────────────────────────────────────────────────────
 * Sits above a reordered list and says so, because a list quietly in a different order than
 * another visitor sees is the kind of thing that reads as a bug. The clear link is not a
 * decoration: Jeff, on the homepage chooser, "the element itself should remain visible so that
 * you can still switch context at a later stage". Nothing is ever hidden by the context, only
 * moved, so this line is the whole of the difference. */
.ctxnote{margin:0 0 18px;color:var(--muted);font-size:var(--fs-sm);line-height:1.5}
.ctxnote b{color:var(--ink);font-weight:600}
.ctxnote .ctxclear{color:var(--accent-ink);text-decoration:none;border-bottom:1px solid transparent}
.ctxnote .ctxclear:hover,.ctxnote .ctxclear:focus-visible{border-bottom-color:currentColor}
