/* ed.cafe central theme: "Ink & Gold". One house, three rooms, one light theme.
   Tier 1 primitives, Tier 2 semantic tokens. Every room uses the same gold accent; rooms differ by content, not colour.
   Materials: porcelain paper, white surfaces, and one signature "ink card" (navy, gold detail) for the most important object on each page.
   Shape rule: panels 20px, inner blocks 12px, ink cards 24px, every interactive control is a full pill.
   Type rule: Inter only, from the shared type-system.css (ADR-DS01). */

:root{
  color-scheme:light;
  /* primitives */
  --c-paper:#f4f5f7; --c-surface:#fcfcfd; --c-surface-2:#eceef2; --c-surface-elevated:#ffffff; --c-alabaster:#f9f6ee;
  --c-hair:#e1e4ea; --c-hair-2:#cdd1db; --border-control:#848a9e;
  --c-ink:#12163a; --c-body:#3a3f55; --c-muted:#42475e; --c-quiet:#42475e; /* ux 2026-10-15: muted/quiet darkened to 7.3:1 on paper so 12-14px secondary text meets the font_best 7:1 floor */
  --c-navy:#12163a; --c-navy-2:#1b2150; --c-navy-hair:rgba(255,255,255,.10);
  --gold:#e3b55a; --gold-bright:#f0c878; --gold-ink:#654a09; /* ux 2026-10-15: was #7d5c0e (5.5:1 on gold-soft); now 7.2:1 */ --gold-display:#8a630e; --gold-soft:#f6eedb; --gold-line:#d8ad57;
  --teal-ink:#124f4a; --teal-soft:#e1f1ef;
  --red-soft:#f8e4e2; --red-ink:#7a2424;

  /* semantic */
  --bg:var(--c-paper); --surface:var(--c-surface); --surface-2:var(--c-surface-2);
  --border:var(--c-hair); --border-strong:var(--c-hair-2);
  --text:var(--c-ink); --text-body:var(--c-body); --text-muted:var(--c-muted); --text-quiet:var(--c-quiet);
  --accent:var(--gold); --accent-ink:var(--gold-ink); --accent-soft:var(--gold-soft); --accent-line:var(--gold-line);
  --btn-bg:var(--c-navy); --on-accent:#fff;
  --shadow:0 1px 2px rgba(18,22,58,.05),0 10px 28px -14px rgba(18,22,58,.14);
  --shadow-lift:0 2px 4px rgba(18,22,58,.04),0 28px 56px -24px rgba(18,22,58,.22);
  --shadow-ink:0 2px 6px rgba(18,22,58,.08),0 32px 64px -28px rgba(18,22,58,.24);
  --gild:linear-gradient(135deg,color-mix(in srgb,var(--gold-line) 95%,transparent),color-mix(in srgb,var(--border-strong) 100%,transparent) 38%,var(--border-strong) 62%,color-mix(in srgb,var(--gold-line) 85%,transparent));

  /* type: family and ladder from type-system.css; --fs-* are legacy aliases (--fs-body uses Lead, ADR-DS03) */
  --font:var(--font-sans);
  --font-display:var(--font); --display-stretch:88%;
  --fs-body:var(--font-size-lead); --fs-small:var(--font-size-small); --fs-micro:var(--font-size-small); --fs-foot:var(--font-size-caption);
  --fs-h1:var(--font-size-display); --fs-h2:var(--font-size-heading); --fs-h3:var(--font-size-sub);
  --fs-stat:var(--font-size-display);
  --w-light:400; --w-reg:400; --w-med:500; --w-semi:600; --w-bold:600;
  --radius:20px; --radius-sm:12px; --radius-ink:24px; --pill:999px;
  --ed-space-section:clamp(76px,8.5vw,124px); --ed-gutter:clamp(16px,4vw,32px); --maxw:1200px;
  --nav-h:68px; --ease:cubic-bezier(.16,1,.3,1);
  /* the table: the site's signature visual (chairs around one table, the pulled-out chair is yours) */
  --tv-chair:#ffffff; --tv-chair-line:var(--border-control); --tv-back:var(--c-surface-2);
  --tv-set:#fbf3e1; --tv-set-line:var(--gold-line);
  --tv-you:var(--c-navy); --tv-you-back:var(--c-navy-2); --tv-you-line:var(--gold);
  --tv-rim:var(--gold-line); --tv-shadow:rgba(18,22,58,.06);
  /* literals promoted from component rules (DS-05) */
  --c-white:#fff; --c-black:#000; --c-on-navy-soft:#f3f4f9;
  --white-a10:rgba(255,255,255,.1); --white-a14:rgba(255,255,255,.14); --white-a16:rgba(255,255,255,.16);
  --white-a20:rgba(255,255,255,.2); --white-a60:rgba(255,255,255,.6);
  --navy-a03:rgba(18,22,58,.03); --navy-a06:rgba(18,22,58,.06); --navy-a50:rgba(18,22,58,.5);
  /* font_best Part 8 vocabulary (ADR-DS04): the shared names, aliased to the ed palette */
  --color-bg:var(--bg); --color-surface:var(--surface); --color-text:var(--text); --color-text-muted:var(--text-muted);
  --color-text-subtle:var(--text-quiet); --color-accent:var(--btn-bg); --color-on-accent:var(--on-accent);
  --color-link:var(--accent-ink); --color-focus:var(--accent-ink); --color-danger-text:var(--red-ink);
  --ed-accent:var(--accent);
}

/* Elevated Gilded Alabaster scope: replaces dark-mode inversions with a unified light-mode focal surface (Section 4.11 Page Theme Lock) */
.ink,.ticket,.band,.price-card.feature{
  --surface:#ffffff; --surface-2:var(--gold-soft);
  --border:color-mix(in srgb,var(--gold-line) 45%,var(--c-hair)); --border-strong:var(--gold-line);
  --text:var(--c-ink); --text-body:var(--c-body); --text-muted:var(--c-muted); --text-quiet:var(--c-quiet);
  --accent-ink:var(--gold-ink); --accent-soft:var(--gold-soft);
  --btn-bg:var(--c-navy); --on-accent:#fff;
  background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--gold) 22%,transparent),transparent 58%) padding-box,linear-gradient(165deg,var(--c-white) 0%,var(--c-alabaster) 100%) padding-box,var(--gild) border-box;
  color:var(--text-body);
  border:1px solid transparent!important;
  box-shadow:inset 0 1px 0 var(--c-white),var(--shadow-lift);
}

*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 20px)}
@media (prefers-reduced-motion:no-preference){html:focus-within{scroll-behavior:smooth}}
body{background:var(--bg);color:var(--text-body);font-family:var(--font);font-size:var(--fs-body);line-height:var(--leading-body, 1.55);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;font-feature-settings:"ss01";
  background-image:radial-gradient(60% 520px at 88% -80px,color-mix(in srgb,var(--gold) 20%,transparent),transparent 72%),radial-gradient(50% 460px at 0% 0%,color-mix(in srgb,var(--c-navy) 7%,transparent),transparent 70%);background-repeat:no-repeat}
/* Paper grain: fixed, non-interactive, one layer (z-index scale: 100 nav, 150 grain, 200 skip link) */
body::after{content:"";position:fixed;inset:0;z-index:150;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
strong,b{font-weight:var(--w-semi);color:var(--text)}
h1,h2,h3,h4{color:var(--text);font-family:var(--font-display);font-weight:var(--w-semi);text-wrap:balance}
h1{font-stretch:var(--display-stretch);font-weight:var(--weight-semibold, 600)}
h2{font-stretch:var(--display-stretch);font-weight:var(--weight-medium, 500)} /* font_best: Heading role is 500 */
p{text-wrap:pretty;max-width:65ch}
a{color:var(--accent-ink);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--accent-ink) 40%,transparent);text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease}
a:hover{text-decoration-color:currentColor}
:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:8px}
img,svg{max-width:100%;display:block}
::selection{background:color-mix(in srgb,var(--gold) 38%,transparent);color:var(--c-ink)}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ic{width:1.25em;height:1.25em;fill:currentColor;flex:0 0 auto}
.sr,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:8px;background:var(--text);color:var(--bg);padding:8px 14px;border-radius:var(--pill);z-index:200}
.skip:focus{left:8px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--ed-gutter)}
.muted{color:var(--text-muted)}
.mt-s{margin-top:14px}.mt-m{margin-top:28px}.mt-l{margin-top:48px}

/* Gilded edge: a 1px gold-to-hairline border for elevated surfaces */
.gild{border:1px solid transparent!important;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--gild) border-box}

/* Nav */
.nav-wrap{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent);box-shadow:inset 0 -1px 0 var(--white-a60)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:var(--nav-h)}
.nav-l{display:flex;align-items:center;gap:22px;min-width:0}
.wordmark{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:var(--font-size-heading, 1.5rem);font-weight:var(--weight-medium, 500);letter-spacing:var(--tracking-heading, -0.01em);color:var(--text);text-decoration:none;white-space:nowrap;line-height:var(--leading-heading, 1.2);}
.wordmark i{font-style:normal;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(160deg,var(--c-navy-2),var(--c-navy));color:var(--gold-bright);font-size:var(--font-size-lead, 1.125rem);line-height:var(--leading-body, 1.55);padding-bottom:3px;box-shadow:inset 0 1px 0 var(--white-a14),0 4px 12px -4px var(--navy-a50)}
.wordmark b{color:var(--gold-display);font-weight:inherit}
.rooms{display:flex;gap:2px;padding:3px;border-radius:var(--pill);background:var(--surface-2);list-style:none;font-size:var(--fs-micro);box-shadow:inset 0 1px 2px var(--navy-a06)}
.rooms a{display:flex;align-items:center;min-height:44px;padding:6px 14px;border-radius:var(--pill);color:var(--text-muted);text-decoration:none;white-space:nowrap;transition:background .2s ease,color .2s ease}
.rooms a:hover{color:var(--text)}
.rooms a[aria-current="page"]{background:var(--surface);color:var(--text);font-weight:var(--w-med);box-shadow:var(--shadow)}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none;font-size:var(--fs-small)}
.nav-links a:not(.btn){color:var(--text-body);text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 30%,transparent);text-underline-offset:4px}
.nav-links a:not(.btn):hover{color:var(--text)}
@media (max-width:1180px){.nav-links .hide-md{display:none}}
@media (max-width:1199px){.nav-links .nav-blog{display:none}}
/* Phones (pass 2): wordmark + one action on the first row, the three rooms as a
   full-width segmented switch on the second, so an educator or an L&D lead on a
   phone can find their room without scrolling to the footer. */
@media (max-width:820px){
  .nav{min-height:60px;flex-wrap:wrap;row-gap:8px;padding-block:8px}
  .nav-l{display:contents}
  .rooms{order:3;flex:1 0 100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .rooms a{justify-content:center;padding:6px 8px;font-size:var(--fs-small)}
}


/* Buttons: navy on paper, gold on ink */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 22px;border-radius:var(--pill);border:1px solid transparent;font:inherit;font-size:var(--fs-small);font-weight:var(--weight-medium, 500);text-decoration:none;line-height:var(--leading-label, 1.3);white-space:nowrap;cursor:pointer;transition:background .2s ease,transform .2s var(--ease),border-color .2s ease,box-shadow .25s ease}
.btn .ic{transition:transform .25s var(--ease)}
.btn:hover .ic{transform:translateX(3px)}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--btn-bg);color:var(--on-accent);box-shadow:inset 0 1px 0 var(--white-a16),0 6px 16px -8px color-mix(in srgb,var(--btn-bg) 70%,transparent)}
.btn-primary:hover{background:color-mix(in srgb,var(--btn-bg) 88%,var(--c-white));color:var(--on-accent);box-shadow:inset 0 1px 0 var(--white-a20),0 0 0 4px color-mix(in srgb,var(--gold) 26%,transparent),0 12px 28px -12px color-mix(in srgb,var(--btn-bg) 80%,transparent)}
.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--border-strong)}
.btn-ghost:hover{border-color:var(--accent-line);color:var(--text);box-shadow:var(--shadow)}
.btn-lg{min-height:54px;padding:14px 28px;font-size:var(--font-size-body, 1rem)}
.nav .btn{min-height:44px;padding:8px 18px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.cta-row.left{justify-content:flex-start}

/* Kicker: rationed small label. Max one per three sections. */
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-micro);font-weight:var(--weight-medium, 500);color:var(--accent-ink);margin-bottom:20px;letter-spacing:0}
.kicker .ic{width:18px;height:18px}

/* Hero: asymmetric split, text left, the gilded house pass right */
.hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:clamp(32px,6vw,88px);align-items:center;padding:clamp(44px,6vw,76px) 0 clamp(48px,6vw,84px)}
.hero h1{font-size:var(--fs-h1);line-height:var(--leading-display, 1.05);letter-spacing:var(--tracking-display, -0.02em);margin-bottom:26px;font-weight:var(--weight-semibold, 600);}
.hero h1 em,.hl{font-style:normal;color:var(--gold-display)}
.hero .sub{font-size:var(--font-size-lead, 1.125rem);color:var(--text-muted);line-height:var(--leading-body, 1.55);max-width:36ch;margin-bottom:36px}
@media (max-width:900px){.hero{grid-template-columns:1fr}}
/* Solo hero: kicker, H1, lede, CTAs only; the spec card and figures sit in #glance below */
.hero.solo{grid-template-columns:minmax(0,1fr)}
.hero.solo>div{max-width:860px}
.glance{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,72px);align-items:center}
.glance .ticket{max-width:460px}
@media (max-width:900px){.glance{grid-template-columns:minmax(0,1fr)}}

/* Ticket: the house card. Gilded alabaster, perforated. The shared hero object on every room. */
.ticket{position:relative;border-radius:var(--radius-ink);padding:28px 30px 24px;font-size:var(--fs-small)}
.ticket::before,.ticket::after{content:"";position:absolute;top:79px;width:22px;height:22px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 1px var(--gold-line)}
.ticket::before{left:-11px}
.ticket::after{right:-11px}
.ticket-h{display:flex;align-items:center;justify-content:space-between;gap:12px;height:66px;border-bottom:1.5px dashed var(--border-strong);margin:-4px 0 14px;padding-bottom:14px}
.ticket-h b{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:var(--font-size-heading, 1.5rem);letter-spacing:var(--tracking-heading, -0.01em);line-height:var(--leading-heading, 1.2)}
.ticket-h .ic{width:30px;height:30px;color:var(--accent-ink)}
.ticket dl{display:grid;grid-template-columns:auto 1fr;gap:0}
.ticket dt,.ticket dd{padding:10px 0;border-bottom:1px solid var(--border);line-height:1.45}
.ticket dt{color:var(--text-body)}
.ticket dd{color:var(--text);text-align:right;padding-left:18px;font-variant-numeric:tabular-nums}
.ticket dt:nth-last-of-type(1),.ticket dd:nth-last-of-type(1){border-bottom:0}
.ticket-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:10px;padding-top:16px;border-top:1.5px dashed var(--border-strong)}
.ticket-total span{color:var(--text-muted)}
.ticket-total b{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:var(--font-size-title, clamp(2rem, 1.75rem + 1vw, 2.5rem));font-weight:var(--weight-semibold, 600);letter-spacing:var(--tracking-title, -0.015em);line-height:var(--leading-title, 1.1);color:var(--c-ink)}
@media (prefers-reduced-motion:no-preference){.ticket{transform:rotate(1.4deg);transition:transform .6s var(--ease)}.ticket:hover{transform:rotate(0) translateY(-4px)}}

/* Sections */
.sec{padding-top:var(--ed-space-section)}
.sec-head{max-width:780px;margin-bottom:clamp(36px,4vw,56px)}
.sec-head p{color:var(--text-muted);margin-top:18px}
h2{font-size:var(--fs-h2);line-height:var(--leading-heading, 1.2);letter-spacing:var(--tracking-heading, -0.01em)}
h3{font-size:var(--fs-h3);line-height:var(--leading-sub, 1.3);letter-spacing:0;margin-bottom:8px}
.sub-h{display:block;font-family:var(--font);font-size:var(--fs-small);font-weight:var(--weight-medium, 500);color:var(--text);margin-bottom:14px}

/* Figures: big condensed numbers, no boxes, one gold rule above */
.figures{display:grid;gap:clamp(24px,3vw,48px);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));padding-top:clamp(36px,4vw,52px);border-top:1px solid var(--border);position:relative}
.figures::before{content:"";position:absolute;left:0;top:-1px;width:96px;height:2px;background:var(--gold)}
.fig b{display:block;font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:var(--fs-stat);font-weight:var(--weight-semibold, 600);line-height:var(--leading-display, 1.05);letter-spacing:var(--tracking-display, -0.02em);color:var(--text);margin-bottom:16px;white-space:nowrap}
.fig b em{font-style:normal;color:var(--gold-display)}
.fig b small{font-size:var(--font-size-caption, 0.75rem);letter-spacing:0;color:var(--text-muted);margin:0 .2em;vertical-align:.35em}
.fig span{display:block;font-size:var(--fs-small);color:var(--text-body);line-height:var(--leading-small, 1.5);max-width:30ch}
.fig cite{display:block;font-style:normal;font-size:var(--fs-foot);color:var(--text-body);margin-top:10px;line-height:var(--leading-caption, 1.45)}
.fig cite a{color:inherit;padding:4px 0}
@media (max-width:600px){cite a,.fn a{display:inline-block;padding:10px 0;margin:-10px 0}}

/* Panels */
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(22px,3vw,36px);min-width:0;box-shadow:0 1px 2px var(--navy-a03)}
.panel.tint{border:1px solid transparent;background:radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--gold) 12%,transparent),transparent 60%) padding-box,linear-gradient(var(--surface),var(--surface)) padding-box,var(--gild) border-box;box-shadow:var(--shadow)}
.panel p{font-size:var(--font-size-lead, 1.125rem)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(22px,3vw,32px);min-width:0}
.two-col{display:grid;gap:clamp(28px,5vw,72px);grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));align-items:start}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-micro);padding:3px 12px;border-radius:var(--pill);background:var(--accent-soft);color:var(--accent-ink);font-weight:var(--weight-medium, 500);line-height:var(--leading-label, 1.3);width:max-content;max-width:100%}
.chip.neutral{background:var(--surface-2);color:var(--text-muted)}

/* Lists */
.ticks,.nos{list-style:none;display:grid;gap:14px}
.ticks li,.nos li{display:flex;gap:12px;align-items:flex-start;font-size:var(--font-size-lead, 1.125rem);line-height:var(--leading-body, 1.55);position:relative}
.ticks li::before,.nos li::before{content:"";flex:0 0 22px;height:22px;margin-top:2px;border-radius:50%;background:var(--accent-soft)}
.ticks li::after,.nos li::after{content:"";position:absolute;left:5px;top:7px;width:12px;height:12px;background:var(--accent-ink);-webkit-mask:var(--glyph) center/contain no-repeat;mask:var(--glyph) center/contain no-repeat}
.ticks{--glyph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E")}
.nos{--glyph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z'/%3E%3C/svg%3E")}
.nos li::before{background:var(--surface-2)}
.nos li::after{background:var(--text-quiet)}
ol.steps{list-style:none;counter-reset:s;display:grid}
ol.steps li{counter-increment:s;position:relative;padding:0 0 26px 52px}
ol.steps li::before{content:counter(s);position:absolute;left:0;top:-2px;width:34px;height:34px;border-radius:50%;background:var(--surface);border:1px solid var(--accent-line);color:var(--accent-ink);font-size:var(--fs-micro);font-weight:var(--weight-medium, 500);display:grid;place-items:center}
ol.steps li::after{content:"";position:absolute;left:17px;top:36px;bottom:4px;width:1px;background:linear-gradient(var(--accent-line),var(--border-strong))}
ol.steps li:last-child{padding-bottom:0}
ol.steps li:last-child::after{display:none}
ol.steps b{display:block;color:var(--text);font-size:var(--font-size-lead, 1.125rem);line-height:var(--leading-body, 1.55);margin-bottom:2px}
ol.steps span{font-size:var(--font-size-body, 1rem);color:var(--text-body)}
ol.steps.when li::before{content:"";width:12px;height:12px;left:11px;top:7px;background:var(--gold);border:0;box-shadow:0 0 0 4px var(--accent-soft)}
ol.steps.when li::after{left:16.5px;top:26px}

/* Path: horizontal numbered steps */
.path{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.5vw,32px);position:relative;counter-reset:p}
.path::before{content:"";position:absolute;left:24px;right:24px;top:24px;height:1.5px;background:linear-gradient(90deg,var(--gold),var(--border-strong))}
.path li{position:relative;counter-increment:p}
.path li::before{content:counter(p);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--surface);border:1.5px solid var(--accent-line);color:var(--accent-ink);font-family:var(--font-display);font-size:var(--font-size-sub, 1.25rem);font-weight:var(--weight-medium, 500);margin-bottom:22px;position:relative;line-height:var(--leading-sub, 1.3);}
.path li:first-child::before{background:linear-gradient(160deg,var(--c-navy-2),var(--c-navy));border-color:var(--c-navy);color:var(--gold-bright)}
.path p{font-size:var(--font-size-body, 1rem);color:var(--text-body)}
@media (max-width:860px){.path{grid-template-columns:1fr;gap:26px}.path::before{left:24px;right:auto;top:24px;bottom:24px;width:1.5px;height:auto;background:linear-gradient(180deg,var(--gold),var(--border-strong))}.path li{display:grid;grid-template-columns:48px 1fr;column-gap:20px}.path li::before{grid-row:span 2;margin:0}}

/* Two-column list: steps without card chrome */
.list2{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,5vw,72px)}
.list2 li{padding:20px 0;border-top:1px solid var(--border)}
.list2 h3{margin-bottom:6px}
.list2 p{font-size:var(--font-size-body, 1rem);color:var(--text-body)}
@media (max-width:700px){.list2{grid-template-columns:1fr}}

/* Track: proportional session timeline (minutes decide the width) */
.track{display:flex;gap:6px;border-radius:var(--radius);overflow:hidden}
.track>div{flex:var(--m) 1 0;min-width:180px;background:var(--surface);border:1px solid var(--border);padding:20px 20px 22px;display:flex;flex-direction:column;gap:8px;border-radius:6px}
.track>div:first-child{border-radius:var(--radius) 6px 6px var(--radius)}
.track>div:last-child{border-radius:6px var(--radius) var(--radius) 6px}
.track b{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:var(--font-size-title, clamp(2rem, 1.75rem + 1vw, 2.5rem));font-weight:var(--weight-semibold, 600);letter-spacing:var(--tracking-title, -0.015em);color:var(--gold-display);line-height:var(--leading-title, 1.1)}
.track b small{font-family:var(--font);font-size:var(--fs-micro);color:var(--text-muted);font-weight:var(--weight-regular, 400);letter-spacing:0;margin-left:3px}
.track span{font-size:var(--fs-small);line-height:var(--leading-small, 1.5);color:var(--text-body)}
.track>div.hi{background:radial-gradient(120% 100% at 100% 0%,color-mix(in srgb,var(--gold) 22%,transparent),transparent 65%),var(--c-alabaster);border-color:var(--gold-line);box-shadow:var(--shadow)}
.track>div.hi b{color:var(--c-ink)}
.track>div.hi b small{color:var(--text-muted)}
.track>div.hi span{color:var(--text-body)}
@media (max-width:760px){.track{flex-direction:column}.track>div,.track>div:first-child,.track>div:last-child{border-radius:var(--radius-sm)}}

/* Comparison table */
.tbl-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}
.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-small)}
.tbl th,.tbl td{text-align:left;padding:17px 22px;border-bottom:1px solid var(--border);vertical-align:top;line-height:1.5}
.tbl th{font-weight:var(--weight-medium, 500);color:var(--text-muted);font-size:var(--fs-micro);background:var(--surface-2)}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{color:var(--text)}
.tbl tr.us td{background:color-mix(in srgb,var(--gold-soft) 68%,var(--surface));color:var(--c-ink);font-weight:var(--w-med);border-top:1.5px solid var(--gold-line);border-bottom:1.5px solid var(--gold-line)}
.tbl tr.us td.cost{color:var(--gold-ink);font-weight:var(--w-semi)}
.tbl td.cost{white-space:nowrap;color:var(--text);font-variant-numeric:tabular-nums}
@media (max-width:640px){
  .tbl thead{position:absolute;left:-9999px}
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
  .tbl tr{border-bottom:1px solid var(--border);padding:12px 0}
  .tbl tr:last-child{border-bottom:0}
  .tbl tr.us{background:color-mix(in srgb,var(--gold-soft) 68%,var(--surface));border-top:1.5px solid var(--gold-line);border-bottom:1.5px solid var(--gold-line)}
  .tbl tr.us td{background:none;border:0}
  .tbl td{border:0;padding:4px 20px}
  .tbl td::before{content:attr(data-h);display:block;font-size:var(--fs-foot);color:var(--text-quiet)}
  .tbl tr.us td::before{color:var(--text-muted)}
  .tbl td.cost{white-space:normal}
}

/* Pricing bento: featured gilded tile left, compact tiles stacked right */
.price-bento{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:auto}
.price-bento>.feature{grid-row:1/span var(--rows,3)}
.price-card{display:flex;flex-direction:column;gap:12px;transition:transform .3s var(--ease),box-shadow .3s ease,border-color .3s ease}
.price-card.row:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--accent-line)}
.price-card.feature{border-radius:var(--radius-ink);padding:clamp(28px,4vw,48px)}
.price{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:var(--font-size-display, clamp(2.75rem, 2.4rem + 1.4vw, 3.75rem));font-weight:var(--weight-semibold, 600);letter-spacing:var(--tracking-display, -0.02em);color:var(--text);line-height:var(--leading-display, 1.05);font-variant-numeric:tabular-nums}
.feature .price{font-size:var(--font-size-display, clamp(2.75rem, 2.4rem + 1.4vw, 3.75rem));color:var(--c-ink);line-height:var(--leading-display, 1.05);letter-spacing:var(--tracking-display, -0.02em);font-weight:var(--weight-semibold, 600);}
.price small{font-family:var(--font);font-stretch:100%;font-size:var(--font-size-body, 1rem);color:var(--text-muted);letter-spacing:0;margin-left:6px;font-weight:var(--weight-regular, 400)}
.row .price{font-size:var(--font-size-title, clamp(2rem, 1.75rem + 1vw, 2.5rem));line-height:var(--leading-title, 1.1);letter-spacing:var(--tracking-title, -0.015em);font-weight:var(--weight-semibold, 600);}
.price-card p{font-size:var(--font-size-body, 1rem)}
.price-card .ticks li{font-size:var(--fs-small)}
.price-card .btn{margin-top:auto;align-self:flex-start}
.price-card.row{gap:10px}
.fit{font-size:var(--fs-micro);color:var(--text-muted);line-height:var(--leading-small, 1.5)}
@media (max-width:860px){.price-bento{grid-template-columns:1fr}.price-bento>.feature{grid-row:auto}}

/* FAQ: heading left, questions right */
.faq-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:start}
.faq-wrap .sec-head{position:sticky;top:calc(var(--nav-h) + 32px)}
@media (max-width:860px){.faq-wrap{grid-template-columns:1fr}.faq-wrap .sec-head{position:static}}
.faq{display:grid;gap:10px}
details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .2s ease,box-shadow .2s ease}
details:hover{border-color:var(--border-strong)}
details[open]{border-color:var(--accent-line);box-shadow:var(--shadow)}
summary{cursor:pointer;list-style:none;padding:19px 56px 19px 22px;font-size:var(--font-size-lead, 1.125rem);color:var(--text);position:relative;line-height:var(--leading-body, 1.55);font-weight:var(--weight-medium, 500)}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:22px;top:50%;width:24px;height:24px;margin-top:-12px;border-radius:50%;background:var(--surface-2) center/10px 10px no-repeat;background-image:linear-gradient(var(--text-muted),var(--text-muted)),linear-gradient(var(--text-muted),var(--text-muted));background-size:10px 1.5px,1.5px 10px;transition:transform .3s var(--ease),background-color .2s ease}
details[open] summary::after{transform:rotate(45deg);background-color:var(--accent-soft)}
details>div{padding:0 22px 20px;font-size:var(--font-size-lead, 1.125rem);color:var(--text-body)}
details>div p+p{margin-top:10px}

/* Quote */
.rule{position:relative;padding:32px 32px 28px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);font-family:var(--font-display);font-size:var(--font-size-sub, 1.25rem);color:var(--text);line-height:var(--leading-sub, 1.3);letter-spacing:0;font-weight:var(--weight-medium, 500)}
.rule::before{content:"\201C";position:absolute;top:-22px;left:24px;font-size:var(--font-size-display, clamp(2.75rem, 2.4rem + 1.4vw, 3.75rem));line-height:var(--leading-display, 1.05);color:var(--gold);font-family:var(--font-display);font-weight:var(--weight-semibold, 600);letter-spacing:var(--tracking-display, -0.02em);}
.rule cite{display:block;font-family:var(--font);font-style:normal;font-size:var(--fs-micro);color:var(--text-muted);margin-top:14px;letter-spacing:0}

/* Ledger */
.ledger{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px}
.ledger div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:24px}
.ledger b{display:block;font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:var(--font-size-display, clamp(2.75rem, 2.4rem + 1.4vw, 3.75rem));font-weight:var(--weight-semibold, 600);color:var(--text);line-height:var(--leading-display, 1.05);letter-spacing:var(--tracking-display, -0.02em)}
.ledger span{font-size:var(--fs-micro);color:var(--text-muted);line-height:var(--leading-small, 1.5);display:block;margin-top:10px}

/* Sample preview */
.sample{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lift);overflow:hidden}
.sample-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 22px;border-bottom:1px solid var(--border);background:var(--surface-2);font-size:var(--fs-micro);color:var(--text-muted)}
.sample-bar em{font-style:normal;margin-left:auto}
.sample-body{padding:clamp(18px,3vw,30px)}
.scroll,.sample-scroll{position:relative}

/* Closing band: the gilded house card, once per page */
.band{margin-top:var(--ed-space-section);border-radius:var(--radius-ink);padding:clamp(40px,5.5vw,72px) clamp(24px,5vw,64px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 48px;align-items:end;position:relative;overflow:hidden}
.band h2{max-width:18ch}
.band p{color:var(--text-muted);margin-top:14px}
.band .btn{position:relative;z-index:1}
@media (max-width:760px){.band{grid-template-columns:1fr;align-items:start}}

/* Footer */
footer{margin-top:var(--ed-space-section);border-top:1px solid var(--border);padding:60px 0 48px;font-size:var(--fs-small);color:var(--text-muted);background:linear-gradient(var(--surface),var(--bg))}
.foot{display:grid;gap:32px;grid-template-columns:minmax(0,1.4fr) repeat(auto-fit,minmax(150px,1fr))}
.foot>div:first-child p{max-width:32ch}
.foot h4,.foot .fh{font-family:var(--font);font-stretch:100%;font-size:var(--font-size-body, 1rem);font-weight:var(--weight-medium, 500);line-height:var(--leading-label, 1.3);letter-spacing:0;color:var(--text);margin-bottom:14px}
.foot ul{list-style:none;display:grid;gap:0}
.foot a{color:var(--text-body);text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);display:inline-block;padding:10px 14px;margin-left:-14px}
.foot a.wordmark{text-decoration:none;padding:0;margin:0}
.foot a:hover,.foot a.wordmark{color:var(--text)}
@media (max-width:700px){.foot{grid-template-columns:1fr 1fr}.foot>div:first-child{grid-column:1/-1}}
@media (max-width:360px){.foot{grid-template-columns:minmax(0,1fr)}}
.legal{margin-top:40px;padding-top:22px;border-top:1px solid var(--border);font-size:var(--fs-micro);line-height:var(--leading-small, 1.5);color:var(--text-muted)}
.legal p{max-width:110ch}
.fn{font-size:var(--fs-foot);color:var(--text-body);margin-top:16px;line-height:var(--leading-caption, 1.45);max-width:90ch}
.fn a{color:inherit;padding:4px 0}

/* The table (signature visual). One round table, chairs drawn as seat + back, facing in.
   .you = the chair pulled out for the visitor; .set = chairs set for a partner's group; .host = our facilitator.
   Decorative SVG (aria-hidden); the meaning lives in the HTML label, tag and caption around it. */
.tv{margin:0;position:relative;width:100%}
.tv-stage{position:relative;width:100%;aspect-ratio:1/1}
.tv-svg{width:100%;height:100%;overflow:visible}
.tv-shadow{fill:var(--tv-shadow)}
.tv-top{stroke:var(--tv-rim);stroke-width:2}
.tv-grain{fill:none;stroke:color-mix(in srgb,var(--tv-rim) 45%,transparent);stroke-width:1;stroke-dasharray:2 5}
.tv-arc{fill:none;stroke:var(--gold-line);stroke-width:2;stroke-dasharray:5 6;stroke-linecap:round}
.tv .ch .st{fill:var(--tv-chair);stroke:var(--tv-chair-line);stroke-width:1.5}
.tv .ch .bk{fill:var(--tv-back);stroke:var(--tv-chair-line);stroke-width:1.5}
.tv .ch.set .st{fill:var(--tv-set);stroke:var(--tv-set-line)}
.tv .ch.set .bk{fill:var(--gold-soft);stroke:var(--tv-set-line)}
.tv .ch.host .st,.tv .ch.you .st{fill:var(--tv-you);stroke:var(--tv-you-line);stroke-width:2}
.tv .ch.host .bk,.tv .ch.you .bk{fill:var(--tv-you-back);stroke:var(--tv-you-line);stroke-width:2}
.tv{--pull:translate(0,-17px) rotate(9deg) scale(1.25)}
.tv .ch.you{transform:var(--pull)}
.tv .ch .glow{fill:color-mix(in srgb,var(--gold) 42%,transparent)}
.tv-card rect{fill:var(--c-white);stroke:var(--gold-line);stroke-width:1.5}
.tv-card path{fill:none;stroke:var(--c-navy);stroke-width:1.6;stroke-linecap:round}
/* labels: HTML on top of the drawing, so they use the type system */
.tv-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:2px;text-align:center;margin:0;max-width:44%;color:var(--text);pointer-events:none}
.tv-center .t-overline{color:var(--gold-ink)}
.tv-center b{font-size:var(--font-size-sub, 1.25rem);font-weight:var(--weight-medium, 500);line-height:var(--leading-sub, 1.3);color:var(--text)}
.tv-center span:last-child{font-size:var(--font-size-small, .875rem);line-height:var(--leading-small, 1.5);color:var(--text)}
.tv-tag{position:absolute;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--pill);background:var(--c-navy);color:var(--c-white);font-size:var(--font-size-small, .875rem);font-weight:var(--weight-medium, 500);line-height:var(--leading-label, 1.3);white-space:nowrap;box-shadow:var(--shadow);pointer-events:none}
.tv-tag .ic{width:16px;height:16px;color:var(--gold-bright)}
.tv-tag.light{background:var(--surface);color:var(--text);border:1px solid var(--gold-line)}
.tv-tag.light .ic{color:var(--gold-ink)}
.tv figcaption{margin-top:var(--space-4, 1rem);font-size:var(--font-size-body, 1rem);line-height:var(--leading-body, 1.55);color:var(--text-body);max-width:46ch;text-wrap:pretty}
.tv figcaption b{color:var(--text);font-weight:var(--weight-medium, 500)}
/* where each room's table sits */
.hero-tv .tv{justify-self:center;max-width:440px}
.hero-tv .tv figcaption{margin-inline:auto;text-align:center}
.tv-you-tag{left:56%;top:89.5%;transform:translateY(-50%)}
.tv-staff .tv-host-tag{left:50%;top:0;transform:translate(-50%,-55%)}
.tv-council{--pull:translate(0,-15px) rotate(9deg)}
.tv-mini{width:6rem;flex:none}
@media (max-width:900px){.hero-tv .tv{max-width:400px}}
@media (prefers-reduced-motion:no-preference){
  .tv.anim .ch:not(.you){animation:tvIn .55s var(--ease) both;animation-delay:calc(.25s + var(--i) * 24ms)}
  .tv.anim .ch.you{animation:tvPull 1s var(--ease) 1.25s both}
  .tv.anim .ch.you .glow{animation:tvGlow 2.6s ease-in-out 2.1s 2}
  .tv.anim .tv-card{animation:tvFade .6s ease 1.9s both}
  .tv.anim .tv-tag,.tv.anim .tv-center{animation:tvFade .6s ease 2.05s both}
  @keyframes tvIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
  @keyframes tvPull{from{transform:none}to{transform:var(--pull)}}
  @keyframes tvGlow{50%{opacity:.25}}
  @keyframes tvFade{from{opacity:0}to{opacity:1}}
}

/* Motion: entrance + reveal on scroll (JS adds .js; content stays visible without it) */
@media (prefers-reduced-motion:no-preference){
  .hero>*,.stage>*{animation:rise 1s var(--ease) both}
  .hero>*:nth-child(2),.stage>*:nth-child(2){animation-delay:.14s}
  @keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
  .hero .ticket{animation-name:rise-t}
  @keyframes rise-t{from{opacity:0;transform:translateY(28px) rotate(4deg)}to{opacity:1;transform:rotate(1.4deg)}}
  .js .rv{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
  .js .rv.in{opacity:1;transform:none}
  /* stagger: rows of peers arrive in sequence */
  .js .rv:is(.figures,.ledger,.price-bento,.refuse)>*,.js .rv :is(.path,.track,.ledger,.price-bento)>*{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .js .rv.in:is(.figures,.ledger,.price-bento,.refuse)>*,.js .rv.in :is(.path,.track,.ledger,.price-bento)>*{opacity:1;transform:none}
  .js .rv :is(.path,.track,.ledger,.price-bento)>*:nth-child(2),.js .rv:is(.figures,.ledger,.price-bento,.refuse)>*:nth-child(2){transition-delay:.08s}
  .js .rv :is(.path,.track,.ledger,.price-bento)>*:nth-child(3),.js .rv:is(.figures,.ledger,.price-bento,.refuse)>*:nth-child(3){transition-delay:.16s}
  .js .rv :is(.path,.track,.ledger,.price-bento)>*:nth-child(4),.js .rv:is(.figures,.ledger,.price-bento,.refuse)>*:nth-child(4){transition-delay:.24s}
  .js .rv :is(.path,.track,.ledger,.price-bento)>*:nth-child(5),.js .rv:is(.figures,.ledger,.price-bento,.refuse)>*:nth-child(5){transition-delay:.32s}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media (prefers-reduced-transparency:reduce){.nav-wrap{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--surface)!important}}
@media print{
  .nav-wrap,.band,.skip,.cta-row{display:none}
  body{background:var(--c-white);color:var(--c-black);font-size:var(--font-size-small, 0.875rem)}
  body::after{display:none}
  .sec{padding-top:24px;break-inside:avoid}
  .card,.panel,details{box-shadow:none;break-inside:avoid}
  details>div{display:block}
  a{color:inherit;text-decoration:none}
  .js .rv,.js .rv *{opacity:1!important;transform:none!important}
}
.feature .chip{background:var(--gold-soft);color:var(--gold-ink);border:1px solid color-mix(in srgb,var(--gold-line) 50%,transparent)}

/* Forced-colors mode: paint keyboard focus with a system colour (DS-08). */
@media (forced-colors:active){:focus-visible{outline:2px solid CanvasText;outline-offset:3px}}
