/* =========================================================================
   2birds.asia — one shared stylesheet
   Section 4 of the brief expressed as custom properties, then the shell
   (header, drawer, footer) and the section patterns of section 5.
   ========================================================================= */

@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,300;0,400;0,500;1,400&display=swap");

/* ---------- Tokens --------------------------------------------------- */
:root{
  /* colour */
  --ink:#0E0D0A;
  --paper:#FFFFFF;
  --bone:#F6F5F2;
  --hairline:rgba(14,13,10,.14);
  --hairline-light:rgba(255,255,255,.28);
  --muted:#6B6A66;
  --royal:#16255C;
  --royal-tint:rgba(22,37,92,.035);
  --olive:#979265;
  --olive-light:#B5B08A; /* olive on dark grounds, for contrast */
  --olive-deep:#6E6A45;  /* olive as text on paper, for contrast */
  --scrim:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.42));

  /* type */
  --serif:"Jost","Futura","Century Gothic",-apple-system,sans-serif; /* LV-style geometric sans replaces the serif site-wide */
  --title:"Jost","Futura","Century Gothic",-apple-system,sans-serif; /* geometric sans for section titles */
  --sans:"Jost","Futura","Century Gothic",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  /* one type scale, Jost only */
  --fs-display:clamp(40px,5.6vw,88px);   /* home hero only */
  --fs-h1:clamp(38px,4.4vw,64px);        /* page hero titles */
  --fs-figure:clamp(44px,5vw,68px);      /* large figures */
  --fs-h2:clamp(28px,2.8vw,40px);        /* chapter and section titles */
  --fs-statement:clamp(22px,2.2vw,30px); /* statement lines, quoted figures */
  --fs-h3:clamp(20px,1.6vw,24px);        /* sub-titles, tile and card titles */
  --fs-h4:var(--fs-h3);
  --fs-lede:18px;                        /* intros */
  --fs-body:17px;                        /* every paragraph */
  --fs-card:var(--fs-body);
  --fs-body-m:16px;                      /* body on phones */
  --fs-field:20px;                       /* form fields */
  --fs-small:14px;                       /* notes, ledgers, footer links */
  --fs-fine:var(--fs-small);
  --fs-caption:13px;                     /* captions, sources */
  --fs-label:11px;                       /* small caps labels */
  --fs-kicker:var(--fs-label);
  --fs-micro:var(--fs-label);
  /* product panel scale (Nest, manual scenes, calculator) */
  --fs-ui-lg:13px; --fs-ui:12px; --fs-ui-sm:11px; --fs-ui-xs:10px;
  --lh-body:1.6;
  --lh-display:1.04;
  --track-display:-.01em;
  --track-kicker:.16em;
  --track-micro:.16em;

  /* space */
  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:32px;
  --sp-5:48px; --sp-6:64px; --sp-7:96px; --sp-8:120px;
  /* one spacing rhythm */
  --space-section:clamp(72px,9vw,120px); /* between sections */
  --space-block:clamp(48px,5vw,64px);    /* between blocks inside a section */
  --space-element:24px;                  /* between elements inside a block */
  --sec-y:var(--space-section);
  --container:1200px;
  --gutter:32px;
  --header-h:76px;
  --header-full:206px;
  --measure:68ch;

  /* shape + motion */
  --radius:0px;
  --dur-hover:200ms;
  --dur-reveal:600ms;
  --dur-drawer:300ms;
  --dur-hero:8s;
  --ease:cubic-bezier(.22,.61,.36,1);
  --reveal-rise:16px;
}

/* ---------- Base ------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
/* Playfair Display defaults to old-style figures, which drop the 2 of 2BIRDS
   below the capitals. Lining figures everywhere keep the name at one height. */
html,body,h1,h2,h3,h4,p,a,button,input,select,textarea,.display,.h1,.h2,.h3{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font:400 var(--fs-body)/var(--lh-body) var(--sans);
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;filter:grayscale(1) brightness(1.18) contrast(.96)}
img.logo{filter:none}
img.artwork{filter:none}
h1,h2,h3,h4,p,figure,ul,ol,dl,dd,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:var(--ink);text-decoration:none;transition:color var(--dur-hover) var(--ease)}
a:hover{color:var(--royal)}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--royal);outline-offset:3px}
::selection{background:var(--royal);color:#fff}
[hidden]{display:none !important}

/* ---------- Type helpers --------------------------------------------- */
.display,.h1,.h2,.h3,.band__line,h1,h2,h3{text-wrap:balance}
p,dd,li{text-wrap:pretty}
.display{font-family:var(--serif);font-weight:500;font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--track-display)}
.h1{font-family:var(--serif);font-weight:500;font-size:var(--fs-h1);line-height:1.08;letter-spacing:var(--track-display)}
.h2{font-family:var(--title);font-weight:400;font-size:var(--fs-h2);line-height:1.15;letter-spacing:var(--track-display)}
.h3{font-family:var(--title);font-weight:400;font-size:var(--fs-h3);line-height:1.3;letter-spacing:.01em}
.serif-em{font-family:var(--serif);font-style:italic;font-weight:400}
.kicker{font-size:var(--fs-kicker);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;line-height:1.4}
.eyebrow{font-size:var(--fs-kicker);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive-deep);line-height:1.4}
.micro{font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase}
.brand{text-transform:uppercase}
.lede{font-size:var(--fs-lede);line-height:1.6;max-width:52ch}
.muted{color:var(--muted)}
.measure{max-width:var(--measure)}
.prose p{max-width:var(--measure);text-wrap:pretty}
.prose p + p{margin-top:var(--sp-3)}
.center{text-align:center}
.center .lede,.center .measure,.center .prose p{margin-left:auto;margin-right:auto}

/* ---------- Layout ---------------------------------------------------- */
.wrap{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.wrap--wide{max-width:1440px}
.section{padding:var(--sec-y) 0 calc(var(--sec-y) + 8px)}
.section--tight{padding:var(--sec-y) 0 calc(var(--sec-y) + 8px)}
.section--bone{background:var(--bone)}
.section--ink{background:var(--ink);color:#fff}
.sectionhead{max-width:820px;margin-bottom:var(--sp-6)}
.sectionhead .h2{margin-top:var(--sp-3)}
.sectionhead .subline{margin-top:var(--sp-3);color:var(--muted);max-width:60ch}
.sectionhead--center{margin-left:auto;margin-right:auto;text-align:center}
.rule{width:56px;height:1px;background:var(--ink);border:0;margin:var(--sp-4) 0}
.rule--center{margin-left:auto;margin-right:auto}
.hairline-top{border-top:1px solid var(--hairline)}
.stack-1{display:flex;flex-direction:column;gap:var(--sp-1)}
.stack-2{display:flex;flex-direction:column;gap:var(--sp-2)}
.stack-3{display:flex;flex-direction:column;gap:var(--sp-3)}
.stack-4{display:flex;flex-direction:column;gap:var(--sp-4)}

/* ---------- Buttons and links ----------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border:1px solid var(--ink);background:transparent;color:var(--ink);
  padding:14px 32px;border-radius:var(--radius);cursor:pointer;
  font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;
  transition:background var(--dur-hover) var(--ease),color var(--dur-hover) var(--ease),border-color var(--dur-hover) var(--ease),transform var(--dur-hover) var(--ease);
  text-indent:.08em;
}
.btn:hover{background:var(--royal);border-color:var(--royal);color:#fff}
.btn:active,.tlink:active,.hdr__menu:active,.drawer__close:active,.filterrow button:active{transform:translateY(1px)}
.btn--primary{background:var(--ink);color:#fff}
.btn--light{border-color:rgba(255,255,255,.7);color:#fff}
.btn--light:hover{background:#fff;border-color:#fff;color:var(--ink)}
.btn--ghost-light{border-color:var(--hairline-light);color:#fff}
.btn--ghost-light:hover{background:#fff;border-color:#fff;color:var(--royal)}

.tlink{
  display:inline-block;font:500 var(--fs-kicker)/1.4 var(--sans);
  letter-spacing:var(--track-micro);text-transform:uppercase;
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;
}
.tlink:hover{color:var(--royal)}
.tlink--light{color:#fff}
.tlink--light:hover{color:#fff;opacity:.72}
.ilink{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4)}
.actions--center{justify-content:center}

/* ---------- Reveal ----------------------------------------------------- */
/* The resting state is always visible. Entrance motion is run by the Web
   Animations API on viewport entry, so nothing can pin content to opacity 0.
   tb-armed only covers the first paint and is removed as soon as motion starts. */
html.tb-armed .reveal{opacity:0}
@media (prefers-reduced-motion:reduce){
  html.tb-armed .reveal{opacity:1}
  html{scroll-behavior:auto}
}

/* ---------- Header -----------------------------------------------------
   Expanded at the top of the page: a utility row (region pill, enquiry), the
   centred wordmark, then the five practice areas. Once the page moves it
   collapses to one compact row (Menu, wordmark, enquiry). Always on paper. */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:80;
  background:var(--paper);
  color:var(--ink);
}
.hdr__util{display:flex;align-items:center;justify-content:space-between;height:52px;border-bottom:1px solid var(--hairline)}
.hdr__pill{
  display:inline-flex;align-items:center;gap:10px;height:32px;border:1px solid var(--olive);border-radius:999px;padding:0 16px;
  font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink);
}
.hdr__util .hdr__cta{color:var(--royal);display:inline-flex;align-items:center;height:32px;text-indent:0}
.hdr__lang{position:relative}
button.hdr__pill{background:none;cursor:pointer;gap:8px}
button.hdr__pill:hover,button.hdr__pill[aria-expanded="true"]{border-color:var(--royal);color:var(--royal)}
.hdr__caret{display:block;width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.hdr__langlist{position:absolute;top:calc(100% + 8px);left:0;z-index:90;min-width:200px;background:var(--paper);border:1px solid var(--hairline);padding:6px 0}
.hdr__langlist button{display:flex;justify-content:space-between;align-items:baseline;gap:16px;width:100%;background:none;border:0;padding:10px 16px;cursor:pointer;text-align:left;font:400 var(--fs-fine)/1.3 var(--sans);color:var(--ink)}
.hdr__langlist button:hover{color:var(--royal);background:var(--bone)}
.hdr__langlist button[aria-selected="true"]{color:var(--royal);font-weight:500}
.hdr__langlist .lang__code{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);color:var(--muted)}
.hdr__brand{display:flex;justify-content:center;align-items:center;height:96px}
.hdr__brand img{height:52px;width:auto}
.hdr__nav ul{display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;gap:0 var(--sp-6);height:58px;padding:0;overflow:hidden}
.hdr__nav a,.hdr__nav .hdr__parent{font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:#4A4944;text-indent:.08em}
.hdr__nav a:hover,.hdr__nav .hdr__parent:hover{color:var(--royal)}
.hdr{display:none;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--header-h)}
.site-header.is-scrolled .hdr__full{display:none}
.site-header.is-scrolled .hdr{display:grid}
.site-header.is-scrolled{border-bottom:1px solid var(--hairline)}
.hdr__menu{
  display:inline-flex;align-items:center;gap:12px;background:none;border:0;padding:0;cursor:pointer;
  font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;
  color:inherit;text-indent:.08em;justify-self:start;
}
.hdr__bars{display:flex;flex-direction:column;gap:4px;width:22px}
.hdr__bars i{display:block;height:1px;background:currentColor}
.hdr__menu:hover{color:var(--royal)}
.hdr__mark{display:block;justify-self:center;line-height:0}
.hdr__mark img{height:40px;width:auto}
.hdr__right{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-4);justify-self:end}
.hdr__cta{font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:inherit;white-space:nowrap;text-indent:.08em}
.hdr__cta:hover{color:var(--royal)}

/* ---------- Drawer ------------------------------------------------------ */
.drawer{
  position:fixed;top:0;left:-100%;right:100%;bottom:0;z-index:95;background:var(--paper);color:var(--ink);
  display:flex;flex-direction:column;overflow-y:auto;pointer-events:none;
}
.drawer:not(.drawer--open) a,.drawer:not(.drawer--open) button{visibility:hidden}
.drawer.drawer--open{left:0;right:0;pointer-events:auto}
.drawer__topwrap{flex:0 0 auto;border-bottom:1px solid var(--hairline)}
.drawer__top{display:flex;align-items:center;justify-content:space-between;height:56px;flex:0 0 auto;padding:0 var(--gutter);width:100%;max-width:var(--container);margin:0 auto}
.drawer__top img{height:24px;width:auto}
.drawer__close{background:none;border:0;padding:0;cursor:pointer;font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;text-indent:.08em}
.drawer__close:hover{color:var(--royal)}
.drawer__body{
  padding:var(--sp-7) var(--gutter) var(--sp-6);flex:1 1 auto;
  width:100%;max-width:var(--container);margin:0 auto;
  display:grid;grid-template-columns:7fr 5fr;gap:var(--sp-8);align-items:start;
}
.drawer__label{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive-deep)}
.drawer__main{border-top:1px solid var(--hairline)}
.drawer__main a{
  display:grid;grid-template-columns:24px minmax(0,1fr);align-items:baseline;gap:var(--sp-2);
  padding:11px 0;border-bottom:1px solid var(--hairline);
}
.drawer__main a:hover .drawer__label{color:var(--royal)}
.drawer__title{display:block;font:500 var(--fs-kicker)/1.3 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;text-indent:.08em}
.drawer__note{display:block;margin-top:6px;font:400 var(--fs-fine)/1.5 var(--sans);color:var(--muted);letter-spacing:0;text-transform:none}
.drawer__aside{display:flex;flex-direction:column;gap:var(--sp-5);align-self:stretch}
.drawer__group{border-top:1px solid var(--hairline);padding-top:20px}
.drawer__group .drawer__label{display:block;margin-bottom:var(--sp-3)}
.drawer__sub{display:flex;flex-direction:column;gap:14px}
.drawer__sub a{font:500 var(--fs-kicker)/1.3 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase}
.drawer__foot{font:400 var(--fs-fine)/1.8 var(--sans);color:var(--muted);font-style:normal}
.drawer__foot a{color:var(--muted)}
.drawer__foot a:hover{color:var(--royal)}

/* ---------- Hero -------------------------------------------------------- */
.hero{position:relative;margin-top:var(--header-full);min-height:calc(100vh - var(--header-full));min-height:calc(100dvh - var(--header-full));display:grid;place-items:center;overflow:hidden;color:#fff;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(1.5) contrast(.9)}
@keyframes heroZoom{from{transform:scale(1.04)}to{transform:scale(1)}}
.hero__scrim{position:absolute;inset:0;z-index:-1;background:var(--scrim)}
/* Every dark hero: photograph pulled down and a deeper scrim, so white type holds AA. */
.hero:not(.hero--light) .hero__media img{filter:grayscale(1) brightness(.55) contrast(1.05)}
.hero:not(.hero--light) .hero__scrim{background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.6))}
.hero:not(.hero--light) .hero__crumb{color:rgba(255,255,255,.72)}
.hero__inner{position:relative;text-align:center;max-width:900px;padding:var(--sp-7) var(--gutter)}
.hero__inner .rule{background:rgba(255,255,255,.75);margin-left:auto;margin-right:auto}
.hero .display,.hero .h1{margin-top:var(--sp-4)}
.hero .display em,.hero .h1 em{font-style:italic;font-weight:400}
.hero:not(.hero--light) .btn--primary{background:transparent;border-color:rgba(255,255,255,.85);color:#fff}
.hero:not(.hero--light) .btn--primary:hover{background:#fff;border-color:#fff;color:var(--ink)}
.hero--light .btn--primary{background:transparent;border-color:var(--ink);color:var(--ink)}
.hero--light .btn--primary:hover{background:var(--royal);border-color:var(--royal);color:#fff}
.hero .lede{margin:0 auto;color:rgba(255,255,255,.92);max-width:72ch}
.hero .actions{margin-top:var(--sp-5)}
.hero__crumb{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:12px;margin:0 0 var(--sp-4);font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:rgba(255,255,255,.72);text-indent:.08em}
.hero__crumb a{color:rgba(255,255,255,.88);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;text-decoration-thickness:1px}
.hero__crumb a:hover{color:#fff;text-decoration-color:currentColor}
.hero__crumb > *{color:rgba(255,255,255,.88)}
.hero__crumb .hero__sep{color:rgba(255,255,255,.55)}
.hero__crumb > [aria-current]{color:#fff}
.hero__scroll{position:absolute;left:0;right:0;bottom:26px;text-align:center;font-size:10px;font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:rgba(255,255,255,.85)}
.hero--short{min-height:46vh;min-height:max(380px,46dvh)}

/* Light hero. The photograph is pale, so the type is ink rather than white and
   the scrim is a paper wash that lifts the stone instead of darkening it. */
.hero--light{color:var(--ink)}
.hero--light .hero__media img{filter:grayscale(1) brightness(1) contrast(1.16)}
.hero--light .hero__scrim{
  background:
    radial-gradient(82% 56% at 50% 60%,rgba(255,255,255,.82) 0%,rgba(255,255,255,.56) 56%,rgba(255,255,255,0) 100%),
    linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.08) 34%,rgba(255,255,255,.38));
}
.hero--light .kicker{color:var(--olive-deep)}
.hero--light .hero__inner .rule{background:var(--ink)}
.hero--light .lede{color:var(--ink)}
.hero--light .hero__scroll{color:var(--muted)}
.hero--light .hero__crumb{color:var(--muted)}
.hero--light .hero__crumb > *,.hero--light .hero__crumb a{color:var(--muted)}
.hero--light .hero__crumb > [aria-current]{color:var(--ink)}
.hero--light .hero__crumb a:hover{color:var(--royal)}
.hero--short .hero__inner{padding-top:var(--sp-6)}
/* Short heroes carry light-toned photographs behind centred white text, so the
   photograph is darkened and the scrim deepened to hold contrast. */
.hero--short .hero__media img{filter:grayscale(1) brightness(.4)}
.hero--short .hero__scrim{background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.72))}

/* ---------- Section navigation (sticky index) ---------------------------- */
.secnav{position:sticky;top:var(--header-h);z-index:60;background:var(--paper);border-bottom:1px solid var(--hairline)}
.secnav ul{display:flex;gap:var(--sp-5);overflow-x:auto;padding:18px 0;scrollbar-width:none}
.secnav ul::-webkit-scrollbar{display:none}
.secnav a{font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;white-space:nowrap;color:var(--muted)}
.secnav a:hover{color:var(--royal)}

/* ---------- Pattern 2 · collection row ----------------------------------- */
.row{display:grid;gap:var(--sp-5);align-items:stretch}
.row--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.row--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.colitem{display:flex;flex-direction:column;height:100%}
.colitem .ph{aspect-ratio:4/5;overflow:hidden;background:var(--bone)}
.colitem .ph img{width:100%;height:100%;object-fit:cover}
.colitem .h3{margin-top:var(--sp-3);min-height:2.5em}
.colitem .colitem__desc{margin-top:12px;color:var(--muted);font-size:var(--fs-card);min-height:5.2em}
.colitem .tlink{margin-top:auto;padding-top:var(--sp-3);align-self:flex-start}
.colitem__index{margin-right:10px;font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;font-size:var(--fs-fine)}

/* ---------- Pattern 3 · split -------------------------------------------- */
.split{display:grid;grid-template-columns:5fr 7fr;gap:var(--sp-7);align-items:center}
.split--rev{grid-template-columns:7fr 5fr}
.split__media img{width:100%;height:100%;object-fit:cover;max-height:720px}
.split--rev .split__media{order:2}
.split figcaption{margin-top:12px;color:var(--muted);font-size:var(--fs-fine)}

/* ---------- Pattern 4 · numbered cards ------------------------------------ */
.numcards{display:grid;gap:var(--sp-3);grid-template-columns:repeat(3,minmax(0,1fr))}
.numcards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.numcard{background:var(--paper);border:1px solid var(--hairline);padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}
.numcard .num{font-family:var(--title);font-weight:400;font-size:var(--fs-h2);line-height:1}
.numcard .h3{margin-top:var(--sp-1);min-height:2.5em}
.numcard p{color:var(--muted);font-size:var(--fs-card)}
.numcard dl{margin:0}
.numcard > .tlink{margin-top:auto;padding-top:var(--sp-3);align-self:flex-start}
.numcard dt{font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive-deep);margin-top:var(--sp-3)}
.numcard dd{margin:8px 0 0;color:var(--muted);font-size:var(--fs-card)}

/* ---------- Pattern 5 · statement band ------------------------------------ */
.band{position:relative;min-height:62vh;display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center;isolation:isolate}
.band__media{position:absolute;inset:0;z-index:-2}
/* Two swans in flight, re-encoded to 1280px grayscale. The sky is pale, so it
   is pulled down hard to hold white type. */
.band__video{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.5) contrast(1.15)}
@media (prefers-reduced-motion:reduce){.band__video{display:none}.band__media{background:url("assets/motto-swans.jpg") center/cover}}
.band__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(1.42) contrast(.92)}
.band__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.5))}
.band__inner{position:relative;max-width:900px;padding:var(--sp-7) var(--gutter)}
.band .h2{font-size:var(--fs-h2)}
.band__line{font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1.25;letter-spacing:var(--track-display)}
.band__attrib{margin-top:var(--sp-4);font-size:var(--fs-kicker);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:rgba(255,255,255,.8)}

/* ---------- Pattern 6 · stats --------------------------------------------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto 1fr;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
/* Each stat spans the row grid via subgrid, so labels, values and copy sit on
   shared lines across all four columns even when a label wraps. */
.stat{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start;padding:var(--sp-5) var(--sp-4);border-left:1px solid var(--hairline)}
.stat:first-child{border-left:0;padding-left:0}
.stat:last-child{padding-right:0}
.stat > *{margin:0}
.stat__label{align-self:end}
.stat .stat__value{margin-top:var(--sp-2)}
.stat .stat__value + p{margin-top:var(--sp-2)}
.stat__label{font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.stat__value{font-family:var(--title);font-weight:400;font-size:var(--fs-h2);line-height:1.05;letter-spacing:var(--track-display);margin-top:var(--sp-2)}
.stat p{margin-top:var(--sp-2);color:var(--muted);font-size:var(--fs-card)}

/* ---------- Pattern 7 · definition list ----------------------------------- */
.deflist{border-top:1px solid var(--hairline)}
.deflist__row{display:grid;grid-template-columns:5fr 7fr;gap:var(--sp-5);padding:var(--sp-4) 0;border-bottom:1px solid var(--hairline)}
.deflist dt{font-family:var(--title);font-weight:400;font-size:var(--fs-h4);letter-spacing:var(--track-display)}
.deflist dd{margin:0;color:var(--muted);max-width:68ch}
.deflist__letter{font-family:var(--title);font-weight:400;font-size:var(--fs-h2);line-height:1;padding:var(--sp-5) 0 var(--sp-2)}
.defterm__full{display:block;font-family:var(--sans);font-size:var(--fs-fine);font-weight:400;letter-spacing:0;color:var(--muted);margin-top:8px}
.defterm__theme{display:block;font-family:var(--sans);font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive-deep);margin-top:10px}

/* ---------- Pattern 8 · reading column ------------------------------------ */
.reading{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--sp-7);align-items:start}
.reading__col{max-width:var(--measure);font-size:var(--fs-lede);line-height:1.7}
.reading__col p{margin-top:var(--sp-3)}
.reading__col h2{font-family:var(--title);font-weight:400;font-size:var(--fs-h2);line-height:1.2;letter-spacing:var(--track-display);margin-top:var(--sp-6)}
.reading__col h3{font-family:var(--title);font-weight:400;font-size:var(--fs-h3);margin-top:var(--sp-5)}
.secindex{position:sticky;top:calc(var(--header-h) + 32px);align-self:start;display:flex;flex-direction:column;gap:12px}
.secindex a{font:500 var(--fs-kicker)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.secindex a:hover{color:var(--royal)}

/* ---------- Mosaic --------------------------------------------------------- */
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--sp-3)}
.mosaic figure{overflow:hidden;background:var(--bone)}
.mosaic img{width:100%;height:100%;object-fit:cover}
.mosaic .m-a{grid-column:span 7;aspect-ratio:4/3}
.mosaic .m-b{grid-column:span 5;aspect-ratio:1/1}
.mosaic .m-c{grid-column:span 6;aspect-ratio:4/3}
.mosaic .m-d{grid-column:span 6;aspect-ratio:4/3}
.mosaic .m-e{grid-column:span 4;aspect-ratio:3/4}

/* ---------- Accordions ------------------------------------------------------ */
.faq{border-top:1px solid var(--hairline)}
.faq details{border-bottom:1px solid var(--hairline)}
.faq summary{
  list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:var(--sp-4);
  padding:26px 0;font-family:var(--title);font-weight:400;font-size:var(--fs-h4);letter-spacing:var(--track-display);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";margin-left:auto;font-family:var(--sans);font-size:18px;font-weight:400;color:var(--muted);transition:color var(--dur-hover) var(--ease)}
.faq details[open] summary::after{content:"\2013"}
.faq summary:hover{color:var(--royal)}
.faq__n{font-family:var(--sans);font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);color:var(--muted);flex:0 0 auto}
.faq__a{padding:0 0 28px;max-width:var(--measure);color:var(--muted)}
.faq__a{margin-left:calc(var(--sp-4) + 22px)}

/* ---------- FAQ split (heading left, answers right) -----------------------
   Questions sit on white cards stacked with a hairline gap; the toggle is a
   hairline disc with a drawn plus that turns into a minus when open. */
.faqsplit{display:flex;flex-direction:column;align-items:center;gap:var(--sp-6);max-width:880px;margin:0 auto}
.faqsplit__head{text-align:center}
.faqsplit .faq{width:100%}

.faqsplit__head .h2{margin-top:var(--sp-3);font-size:var(--fs-h2);line-height:1.08}
.faqsplit__head .subline{margin-top:var(--sp-3);color:var(--muted);max-width:30ch}
.faqsplit__ask{margin-top:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-start}
.faqsplit__asklabel{font-size:var(--fs-fine);color:var(--muted)}
.faqsplit__ask .tlink{display:inline-flex;align-items:center;height:44px;padding:0 22px;border:1px solid var(--ink);text-decoration:none}
.faqsplit__ask .tlink:hover{background:var(--ink);color:#fff}
.faqsplit .faq{border:0;border-top:1px solid var(--ink);display:flex;flex-direction:column;background:none}
.faqsplit .faq details{border-bottom:1px solid var(--hairline);background:none}
.faqsplit .faq details[open]{background:none}
.faqsplit .faq summary{display:grid;grid-template-columns:40px minmax(0,1fr) 34px;align-items:center;gap:var(--sp-2);padding:30px 0;font:400 var(--fs-h3)/1.4 var(--title);letter-spacing:var(--track-display)}
.faqsplit .faq summary::after{content:none}
.faqsplit .faq__n{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);color:var(--olive)}
.faqsplit .faq summary .faq__t{display:block}
.faq__tog{position:relative;width:34px;height:34px;border:1px solid var(--hairline);border-radius:50%;justify-self:end}
.faq__tog::before,.faq__tog::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:var(--ink);transform:translate(-50%,-50%)}
.faq__tog::after{transform:translate(-50%,-50%) rotate(90deg)}
.faqsplit .faq details[open] .faq__tog{background:var(--ink);border-color:var(--ink)}
.faqsplit .faq details[open] .faq__tog::before{background:#fff}
.faqsplit .faq details[open] .faq__tog::after{display:none}
.faqsplit .faq summary:hover .faq__tog{border-color:var(--royal)}
.faqsplit .faq__a{margin:0;padding:0 calc(34px + var(--sp-2)) 32px calc(40px + var(--sp-2));color:var(--muted);max-width:none}
@media (max-width:1080px){.faqsplit{grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}.faqsplit__head{position:static}.faqsplit__ask{margin-top:var(--sp-4)}}
@media (max-width:860px){.faqsplit .faq summary{grid-template-columns:28px minmax(0,1fr) 30px;padding:20px var(--sp-3);font-size:var(--fs-body)}.faq__tog{width:30px;height:30px}.faqsplit .faq__a{padding:0 var(--sp-3) 22px calc(var(--sp-3) + 28px + var(--sp-2))}}

/* ---------- Home contact block ---------------------------------------------
   Photograph runs the full height of the block; details become three short
   columns under the heading, then the calendar and the call to action. */
[data-block="home-contact"] .split{grid-template-columns:5fr 6fr;align-items:start;gap:var(--sp-7)}
[data-block="home-contact"] .split__media{position:relative;top:auto;align-self:stretch;height:auto;min-height:560px;margin:0}
[data-block="home-contact"] .split__media img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover}
[data-block="home-contact"] .h2{font-size:var(--fs-h2);line-height:1.08}
[data-block="home-contact"] .deflist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4);border-top:1px solid var(--hairline);padding-top:var(--sp-4)}
[data-block="home-contact"] .deflist__row{display:flex;flex-direction:column;gap:10px;padding:0;border:0}
[data-block="home-contact"] .deflist dt{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
[data-block="home-contact"] .deflist dd{font-size:var(--fs-fine);line-height:1.6;color:var(--ink)}
[data-block="home-contact"] .calendar{max-width:none;border-color:var(--hairline);background:var(--bone)}
[data-block="home-contact"] .actions .btn{width:100%}
@media (max-width:1080px){[data-block="home-contact"] .split{grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}[data-block="home-contact"] .split__media{min-height:360px}[data-block="home-contact"] .deflist{grid-template-columns:minmax(0,1fr)}}

/* ---------- Service cards · second photograph on hover (desktop only) ---- */
.ph--swap{position:relative}
.ph--swap .ph__alt{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}
@media (hover:hover) and (min-width:1081px){
  .colitem:hover .ph--swap .ph__alt{opacity:1}
}

/* ---------- Forms ------------------------------------------------------------ */
.form{display:grid;gap:var(--sp-5)}
.form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5)}
.field{display:flex;flex-direction:column;gap:10px}
.field > label,.fieldset__legend{font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{
  width:100%;border:0;border-bottom:1px solid var(--hairline);border-radius:var(--radius);
  background:transparent;color:var(--ink);padding:12px 0;font:400 var(--fs-body)/1.6 var(--sans);
  transition:border-color var(--dur-hover) var(--ease);
}
.field select{appearance:none;background-image:none}
.field textarea{resize:vertical;min-height:120px}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--royal);outline-offset:3px;border-bottom-color:var(--royal)}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--royal)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.field__error{font-size:var(--fs-fine);font-weight:500;color:var(--royal)}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-bottom-color:var(--royal);border-bottom-width:2px}
.fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.seg{display:flex;flex-wrap:wrap;gap:12px}
.seg label{
  border:1px solid var(--hairline);padding:12px 20px;cursor:pointer;
  font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;
  transition:background var(--dur-hover) var(--ease),color var(--dur-hover) var(--ease),border-color var(--dur-hover) var(--ease);
}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg input:checked + span,.seg label:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}
.seg label:hover{border-color:var(--ink)}
.seg input:focus-visible + span{outline:2px solid var(--royal);outline-offset:3px}
.form__note{font-size:var(--fs-fine);color:var(--muted)}

/* ---------- Comparison table --------------------------------------------------- */
.compare{width:100%;border-collapse:collapse;text-align:left}
.compare thead th{
  font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;
  color:var(--muted);padding:0 var(--sp-4) var(--sp-3);vertical-align:bottom;font-weight:500;
}
.compare tbody th{
  font-family:var(--serif);font-weight:500;font-size:var(--fs-h4);letter-spacing:var(--track-display);
  padding:var(--sp-4) var(--sp-4) var(--sp-4) 0;vertical-align:top;width:26%;
}
.compare td{padding:var(--sp-4);vertical-align:top;color:var(--muted);font-size:var(--fs-card)}
.compare tbody tr{border-top:1px solid var(--hairline)}
.compare tbody tr:last-child{border-bottom:1px solid var(--hairline)}
.compare .col-2b{border-left:2px solid var(--olive);color:var(--ink)}
.compare thead .col-2b{border-left:2px solid var(--olive);color:var(--ink)}

/* ---------- Calendar (static representation) ------------------------------------ */
.calendar{border:1px solid var(--hairline);padding:var(--sp-4);background:var(--paper);max-width:420px}
.calendar__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--sp-3)}
.calendar__month{font-family:var(--title);font-weight:400;font-size:var(--fs-h4);letter-spacing:var(--track-display)}
.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.calendar__dow{font-size:var(--fs-label);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);text-align:center;padding-bottom:6px}
.calendar__day{aspect-ratio:1/1;display:grid;place-items:center;font-size:var(--fs-fine);color:var(--muted)}
.calendar__day--open{border:1px solid var(--hairline);color:var(--ink)}
.calendar__day--sel{background:var(--ink);border-color:var(--ink);color:#fff}
.calendar__legend{display:flex;gap:var(--sp-3);margin-top:var(--sp-3);font-size:var(--fs-fine);color:var(--muted)}

/* ---------- Calendar, live ---------------------------------------------------- */
.calendar__head{align-items:center}
.calendar__nav{background:none;border:1px solid var(--hairline);width:36px;height:36px;display:grid;place-items:center;cursor:pointer;font:400 var(--fs-body)/1 var(--sans);color:var(--ink);border-radius:var(--radius)}
.calendar__nav:hover:not(:disabled){border-color:var(--royal);color:var(--royal)}
.calendar__nav:disabled{opacity:.3;cursor:default}
.calendar__status{margin:0 0 var(--sp-3);font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive);text-align:center}
.calendar__day{background:none;border:1px solid transparent;font:400 var(--fs-fine)/1 var(--sans);color:var(--muted);padding:0;border-radius:var(--radius);position:relative}
button.calendar__day{cursor:default}
.calendar__day--blank{visibility:hidden}
.calendar__day--weekend,.calendar__day--past{color:rgba(107,106,102,.45)}
.calendar__day--full{color:rgba(107,106,102,.55);text-decoration:line-through;text-decoration-color:rgba(107,106,102,.45)}
.calendar__day--hol{color:var(--olive)}
.calendar__day--hol::after{content:"";position:absolute;left:50%;bottom:18%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--olive)}
.calendar__day--open{border-color:var(--ink);color:var(--ink);font-weight:500;cursor:pointer}
button.calendar__day--open{cursor:pointer}
.calendar__day--open:hover{border-color:var(--royal);color:var(--royal)}
.calendar__day--sel,.calendar__day--sel:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.calendar__legend{flex-wrap:wrap;gap:var(--sp-2) var(--sp-3)}
.calendar__key{display:inline-flex;align-items:center;gap:8px}
.calendar__swatch{display:inline-block;width:12px;height:12px;border:1px solid var(--hairline)}
.calendar__swatch--open{border-color:var(--ink)}
.calendar__swatch--full{background:linear-gradient(to top right,transparent 45%,var(--muted) 45%,var(--muted) 55%,transparent 55%)}
.calendar__swatch--hol{border:0;width:6px;height:6px;border-radius:50%;background:var(--olive);margin:0 3px}
.calendar__hols{margin-top:var(--sp-2);font:400 var(--fs-fine)/1.5 var(--sans);color:var(--olive)}
.calendar__hint{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--hairline);font:400 var(--fs-fine)/1.6 var(--sans);color:var(--muted)}
.calendar__slotsbox{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--hairline)}
.calendar__sellabel{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;margin-bottom:var(--sp-2)}
.calendar__slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.calendar__slot{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:var(--paper);border:1px solid var(--ink);color:var(--ink);cursor:pointer;font:500 var(--fs-fine)/1 var(--sans);border-radius:var(--radius)}
.calendar__slot:hover:not(:disabled){border-color:var(--royal);color:var(--royal)}
.calendar__slot--booked{border-color:var(--hairline);color:rgba(107,106,102,.55);cursor:default;background:transparent}
.calendar__slot--booked span:first-child{text-decoration:line-through}
.calendar__slot--sel,.calendar__slot--sel:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.calendar__slotnote{font:500 var(--fs-label)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;opacity:.75}

/* ---------- Quiz card (static representation) ------------------------------------ */
.quiz{border:1px solid var(--hairline);background:var(--paper);padding:var(--sp-6) var(--sp-5);max-width:760px}
.quiz__bar{height:2px;background:var(--hairline);margin:var(--sp-3) 0 var(--sp-5)}
.quiz__bar span{display:block;height:2px;background:var(--royal);width:4%}
.quiz__opts{border-top:1px solid var(--hairline);margin-top:var(--sp-5)}
.quiz__opt{display:flex;align-items:center;gap:var(--sp-3);padding:20px 0;border-bottom:1px solid var(--hairline)}
.quiz__key{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--hairline);
  display:grid;place-items:center;font:500 var(--fs-fine)/1 var(--sans);letter-spacing:.08em;
}
.quiz__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-top:var(--sp-5)}

/* ---------- Pro bono band ----------------------------------------------------------- */
.probono{background:var(--royal-tint);border-top:1px solid rgba(22,37,92,.25);border-bottom:1px solid rgba(22,37,92,.25);padding:var(--sec-y) 0 calc(var(--sec-y) + 8px)}
.probono .eyebrow{color:var(--royal)}

/* ---------- Drop cap and credentials ------------------------------------------------- */
.dropcap::first-letter{
  float:left;font-family:var(--serif);font-weight:500;color:var(--olive);
  font-size:84px;line-height:.78;padding:8px 16px 0 0;
}
.creds{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-5);border-top:1px solid var(--hairline);margin-top:var(--sp-5);padding-top:var(--sp-4)}
.creds li{font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}

/* ---------- WhatsApp button ------------------------------------------------
   Brand standard: ink and paper only, royal on interaction, no shadow, no
   extra colour. A 44px ink disc; the "Message us" tab appears on hover. */
.wa-fab{position:fixed;right:24px;bottom:24px;z-index:70;display:flex;align-items:center;gap:8px}
.wa-fab__disc{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff}
.wa-fab__disc svg{display:block}
.wa-fab__label{
  display:none;align-items:center;height:32px;padding:0 14px;background:var(--paper);color:var(--ink);
  border:1px solid var(--hairline);
  font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;white-space:nowrap;
}
.wa-fab:hover .wa-fab__label,.wa-fab:focus-visible .wa-fab__label{display:inline-flex}
.wa-fab:hover .wa-fab__disc{background:var(--royal)}
.wa-fab:active .wa-fab__disc{transform:translateY(1px)}
.wa-fab:focus-visible{outline:none}
.wa-fab:focus-visible .wa-fab__disc{outline:2px solid var(--royal);outline-offset:3px}
@media (max-width:860px){
  .wa-fab{right:16px;bottom:16px}
  .wa-fab:hover .wa-fab__label{display:none}
}

/* ---------- Footer · paper, Dior-style ------------------------------------ */
/* Dior-style frame: a black surround with the footer set on a white card inside it. */
.footer{background:var(--paper);color:var(--ink);padding:0;border-top:1px solid var(--hairline)}
.footer > .wrap{max-width:1440px;background:var(--paper);padding:0 var(--sp-5) var(--sp-4)}
.u-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ft__strip{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--hairline)}
.ft__promo{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) var(--sp-4) var(--sp-4) 0;color:var(--ink)}
.ft__promo + .ft__promo{border-left:1px solid var(--hairline);padding-left:var(--sp-4);padding-right:0}
.ft__promo-t{display:block;font:500 var(--fs-card)/1.6 var(--sans)}
.ft__promo-d{display:block;margin-top:4px;font-size:var(--fs-fine);color:var(--muted)}
.ft__chev{flex:0 0 auto;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.ft__promo:hover{color:var(--royal)}
.ft__main{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));column-gap:var(--sp-6);row-gap:var(--sp-5);align-items:start;padding:var(--sp-7) 0 var(--sp-6)}
.ft__h{font:400 var(--fs-h3)/1.3 var(--title);letter-spacing:var(--track-display);color:var(--ink);margin-bottom:var(--sp-3)}
.ft__form{display:flex;gap:8px;max-width:420px}
.ft__form input{flex:1 1 auto;min-width:0;height:48px;border:1px solid var(--hairline);padding:0 16px;font:400 var(--fs-fine) var(--sans);background:var(--paper);color:var(--ink);border-radius:var(--radius)}
.ft__form input:focus{outline:2px solid var(--royal);outline-offset:2px}
.ft__form button{height:48px;padding:0 20px;border:0;background:var(--ink);color:#fff;font:500 var(--fs-fine) var(--sans);cursor:pointer;border-radius:var(--radius)}
.ft__form button:hover{background:var(--royal)}
.ft__col{display:flex;flex-direction:column;gap:14px}
.ft__col .ft__h{white-space:nowrap;margin-bottom:calc(var(--sp-3) - 14px)}
.ft__sign{padding-right:var(--sp-5)}
.ft__col a,.ft__col span{font-size:var(--fs-fine);line-height:1.5;color:var(--muted)}
.ft__col a:hover{color:var(--royal)}
.ft__base{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--sp-4);padding:var(--sp-4) 0;border-top:1px solid var(--hairline)}
.ft__follow{font-size:var(--fs-fine);line-height:1.6;color:var(--muted);font-style:normal}
.ft__label{display:block;margin-bottom:6px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.ft__follow a{color:var(--ink)}
.ft__mark img{height:88px;width:auto;mix-blend-mode:multiply}
.ft__region{justify-self:end;display:flex;align-items:center;gap:6px;font-size:var(--fs-fine);color:var(--muted)}
.ft__region strong{color:var(--ink);font-weight:500}
.ft__region select{appearance:none;-webkit-appearance:none;background:transparent;border:0;border-bottom:1px solid var(--hairline);padding:4px 18px 4px 0;font:400 var(--fs-fine)/1.4 var(--sans);color:var(--muted);cursor:pointer;border-radius:var(--radius);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 7px) 55%,calc(100% - 3px) 55%;background-size:4px 4px;background-repeat:no-repeat}
.ft__region select:hover{color:var(--royal)}
.ft__sub{margin:-8px 0 var(--sp-3);font-size:var(--fs-fine);line-height:1.6;color:var(--muted);max-width:44ch}
.ft__ok{margin-top:12px;font-size:var(--fs-fine);color:var(--royal)}
.hdr__langlist{max-height:min(70vh,560px);overflow-y:auto}
.lang__head{display:block;padding:12px 16px 6px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.lang__region{padding-bottom:10px;border-bottom:1px solid var(--hairline);margin-bottom:4px}
.lang__region select{display:block;width:calc(100% - 32px);margin:0 16px;appearance:none;-webkit-appearance:none;background:var(--paper);border:1px solid var(--hairline);padding:9px 28px 9px 10px;font:400 var(--fs-fine)/1.3 var(--sans);color:var(--ink);cursor:pointer;border-radius:var(--radius);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 14px) 52%,calc(100% - 10px) 52%;background-size:4px 4px;background-repeat:no-repeat}
.lang__region select:focus-visible{outline:2px solid var(--royal);outline-offset:2px}
.tb-xl{position:fixed;left:24px;bottom:24px;z-index:120;background:var(--ink);color:#fff;padding:10px 16px;font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase}
.ft__legal{text-align:center;font:500 var(--fs-micro)/1.6 var(--sans);letter-spacing:var(--track-micro);color:var(--muted);padding-top:var(--sp-2)}
@media (max-width:1080px){.ft__main{grid-template-columns:repeat(2,minmax(0,1fr))}.ft__sign{grid-column:1/-1}}
@media (max-width:860px){.footer{padding:0}.footer > .wrap{padding:0 var(--gutter) var(--sp-3)}.ft__strip{grid-template-columns:minmax(0,1fr)}.ft__promo + .ft__promo{border-left:0;border-top:1px solid var(--hairline);padding-left:0}.ft__main{grid-template-columns:minmax(0,1fr)}.ft__base{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.ft__region{justify-self:center}}

/* ---------- Legal document layout ------------------------------------------- */
.lg__hero{min-height:38vh;min-height:max(320px,38dvh)}
.lg{padding:var(--sp-6) 0 var(--sp-7)}
.lg__grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--sp-7);align-items:start}
.lg__aside{position:sticky;top:calc(var(--header-h) + var(--sp-3));display:flex;flex-direction:column;gap:var(--sp-4);max-height:calc(100vh - var(--header-h) - var(--sp-5));overflow-y:auto}
.lg__meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2) var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--hairline);margin:0}
.lg__meta dt,.lg__label{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.lg__meta dd{margin:4px 0 0;font:400 var(--fs-fine)/1.4 var(--sans);color:var(--ink)}
.lg__toc ol{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column}
.lg__toc a{display:grid;grid-template-columns:26px 1fr;gap:6px;padding:6px 0;font:400 var(--fs-caption)/1.4 var(--sans);color:var(--muted)}
.lg__toc a:hover{color:var(--royal)}
.lg__tn{font-feature-settings:"tnum";color:var(--olive)}
.lg__doc{max-width:72ch}
.lg__notice{background:var(--bone);border-top:2px solid var(--ink);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-5)}
.lg__notice p:last-child{margin-top:8px;font:400 var(--fs-fine)/1.65 var(--sans);color:var(--ink)}
.lg__sec{padding:var(--sp-4) 0;border-top:1px solid var(--hairline);scroll-margin-top:calc(var(--header-h) + var(--sp-3))}
.lg__sec:first-of-type{border-top:0;padding-top:0}
.lg__h{display:grid;grid-template-columns:52px 1fr;font:400 var(--fs-h3)/1.3 var(--title);letter-spacing:var(--track-display);color:var(--ink);margin:0 0 var(--sp-2)}
.lg__hn{color:var(--olive)}
.lg__cl{display:grid;grid-template-columns:52px 1fr;margin-top:12px}
.lg__cn{font:500 var(--fs-caption)/1.75 var(--sans);letter-spacing:.04em;color:var(--muted);font-feature-settings:"tnum"}
.lg__cl p{margin:0;font:400 var(--fs-body)/1.6 var(--sans);color:var(--ink);text-wrap:pretty}
.lg__list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.lg__list li{display:grid;grid-template-columns:32px 1fr;font:400 var(--fs-body)/1.6 var(--sans);color:var(--ink);text-wrap:pretty}
.lg__ln{color:var(--muted)}
.lg__end{margin-top:var(--sp-5);padding-top:var(--sp-3);border-top:1px solid var(--ink);font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
@media (max-width:1080px){
  .lg__grid{grid-template-columns:minmax(0,1fr);gap:var(--sp-4)}
  .lg__aside{position:static;max-height:none}
  .lg__meta{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lg__toc{display:none}
}
@media (max-width:600px){
  .lg__meta{grid-template-columns:1fr 1fr}
  .lg__h,.lg__cl{grid-template-columns:40px 1fr}
}

/* ---------- Brand page ------------------------------------------------------ */
.br-hero__scrim{background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.45) 45%,rgba(0,0,0,.7) 100%)}
.br-hero .hero__inner{text-shadow:0 1px 18px rgba(0,0,0,.35)}
.br-crumb{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:var(--sp-3);font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:#fff}
.br-crumb a{color:#fff;opacity:1}
.br-crumb a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
.br-kicker{color:#fff;opacity:1}
.br-band .band__media img{filter:grayscale(1) brightness(.62) contrast(1.05)}
.br-band__scrim{background:radial-gradient(ellipse 60% 70% at 50% 50%,rgba(0,0,0,.62) 0%,rgba(0,0,0,.5) 60%,rgba(0,0,0,.42) 100%)}
.br-band .band__line,.br-band .band__attrib{text-shadow:0 2px 24px rgba(0,0,0,.55)}
.br-chapter{padding:var(--sec-y) 0}
.br-chapter--bone{background:var(--bone)}
.br-num{display:block;font:400 var(--fs-figure)/1 var(--title);color:var(--olive);letter-spacing:-.01em;margin-bottom:var(--sp-3)}
.br-chapter__grid{display:grid;grid-template-columns:5fr 7fr;gap:var(--sp-7);align-items:start}
.br-chapter__head{position:static}
.br-chapter__head .h2,.br-split__text .h2{margin-top:var(--sp-2)}
.br-prose p{max-width:62ch;font-size:var(--fs-body);line-height:1.75;color:var(--ink);text-wrap:pretty}
.br-prose p + p{margin-top:var(--sp-3)}
.br-drop::first-letter{float:left;font:400 5.2em/.82 var(--title);color:var(--olive);padding:6px 14px 0 0}
.br-split{display:grid;grid-template-columns:5fr 6fr;gap:var(--sp-7);align-items:center}
.br-split--rev .br-split__media{order:2}
.br-split__media{margin:0}
.br-split__media img{width:100%;aspect-ratio:4/5;object-fit:cover}
.br-split__media figcaption{margin-top:12px;font-size:var(--fs-fine);color:var(--muted);max-width:44ch}
.br-split__text .br-prose{margin-top:var(--sp-4)}
.br-pull{margin-top:var(--sp-3);font:400 italic clamp(22px,2vw,28px)/1.35 var(--serif);color:var(--ink)}
.br-center{text-align:center;max-width:760px;margin:0 auto var(--sp-6)}
.br-center .h2{margin-top:var(--sp-2)}
.br-sub{margin:var(--sp-3) auto 0;max-width:58ch;color:var(--muted);text-wrap:pretty}
.br-dna{border-top:1px solid var(--ink)}
.br-dna__row{display:grid;grid-template-columns:3fr 4fr 4fr;gap:var(--sp-5);padding:var(--sp-4) 0;border-bottom:1px solid var(--hairline)}
.br-dna__row--head{padding:var(--sp-2) 0}
.br-dna__row--head span{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.br-dna__t{font:400 var(--fs-h3)/1.3 var(--title);margin:0}
.br-dna__row p{margin:0;font-size:var(--fs-card);line-height:1.7;color:var(--muted)}
.br-dna__row p:last-child{color:var(--ink)}
.br-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-6);border-top:1px solid var(--ink)}
.br-rule{padding-top:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}
.br-rule__n{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);color:var(--olive)}
.br-rule .h3{min-height:2.6em}
.br-rule p{color:var(--muted);font-size:var(--fs-card);line-height:1.7}
.br-vark{list-style:none;margin:var(--sp-4) 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--hairline)}
.br-vark li{display:flex;flex-direction:column;gap:4px;padding:var(--sp-3) var(--sp-2) var(--sp-3) 0}
.br-vark li + li{padding-left:var(--sp-2);border-left:1px solid var(--hairline)}
.br-vark__l{font:400 var(--fs-figure)/1 var(--title);color:var(--ink)}
.br-vark__w{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink);margin-top:8px}
.br-vark__d{font-size:var(--fs-fine);color:var(--muted)}
.br-close{padding:var(--sec-y) 0;border-top:1px solid var(--hairline)}
.br-clients{position:relative;isolation:isolate;background:#000;color:#fff;padding:var(--sec-y) 0;overflow:hidden}
.br-clients__bg{position:absolute;inset:0;z-index:-2;margin:0}
.br-clients__bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.br-clients::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.86),rgba(0,0,0,.76) 50%,rgba(0,0,0,.9))}
.br-clients .h2{color:#fff}
.br-clients .eyebrow{color:var(--olive-light)}
.br-clients .br-num{color:var(--olive-light)}
.br-clients .br-sub{color:rgba(255,255,255,.72)}
.br-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}
.br-logo{display:grid;grid-template-rows:88px auto;align-content:center;justify-items:center;row-gap:18px;padding:var(--sp-4) var(--sp-3);background:#000;min-height:200px}
.br-logo__slot{width:100%;max-width:180px;height:88px;position:relative;color:rgba(255,255,255,.5)}
.br-logo__slot image-slot{opacity:.88}
.br-logo__name{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:rgba(255,255,255,.72);text-align:center;min-height:4.2em;display:block}
.br-close .br-center{margin-bottom:0}
@media (max-width:1080px){
  .br-chapter__grid,.br-split{grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}
  .br-chapter__head{position:static}
  .br-split--rev .br-split__media{order:0}
  .br-dna__row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-2) var(--sp-4)}
  .br-dna__t{grid-column:1/-1}
  .br-dna__row--head span:first-child{display:none}
  .br-rules{grid-template-columns:minmax(0,1fr);gap:0}
  .br-rule{padding-bottom:var(--sp-4);border-bottom:1px solid var(--hairline)}
  .br-rule .h3{min-height:0}
}
@media (max-width:600px){
  .br-dna__row{grid-template-columns:minmax(0,1fr)}
  .br-dna__row--head{display:none}
  .br-dna__row p::before{display:block;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive);margin-bottom:4px}
  .br-dna__row p:nth-of-type(1)::before{content:"In nature"}
  .br-dna__row p:nth-of-type(2)::before{content:"In our work"}
  .br-vark{grid-template-columns:repeat(2,minmax(0,1fr))}
  .br-vark li:nth-child(3){padding-left:0;border-left:0}
  .br-vark li:nth-child(n+3){border-top:1px solid var(--hairline)}
}

/* ---------- Utilities ------------------------------------------------------------------- */
.u-mob{display:none}
.full-fig img{width:100%;max-height:70vh;object-fit:cover}
.numbered-list{border-top:1px solid var(--hairline);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-6)}
.numbered-list li{display:flex;gap:var(--sp-3);align-items:baseline;padding:16px 0;border-bottom:1px solid var(--hairline)}
.numbered-list .n{font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);color:var(--muted);flex:0 0 28px}

/* ---------- Steps (Step I … Step IV) --------------------------------------------------- */
.steps{border-top:1px solid var(--hairline)}
.step{display:grid;grid-template-columns:5fr 7fr;gap:var(--sp-5);padding:var(--sp-5) 0;border-bottom:1px solid var(--hairline)}
.step__label{font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.step p{color:var(--muted);max-width:var(--measure)}
.step .h3{margin-bottom:12px}
.step .doclink{display:block;margin-top:12px;font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;text-decoration:underline;text-underline-offset:6px}

/* ---------- Plain lists ------------------------------------------------------------------ */
.linelist{border-top:1px solid var(--hairline);margin-top:var(--sp-3)}
.linelist li{padding:10px 0;border-bottom:1px solid var(--hairline);font-size:var(--fs-card);color:var(--muted)}
.taglist{display:flex;flex-wrap:wrap;gap:12px var(--sp-4)}
.taglist li{font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.rolelist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--hairline)}
.rolelist li{padding:16px var(--sp-3) 16px 0;border-bottom:1px solid var(--hairline)}
.rolelist .role{font-family:var(--serif);font-weight:500;font-size:var(--fs-h4)}
.rolelist .role-note{display:block;font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin-top:6px}

/* ---------- Data table ---------------------------------------------------------------------- */
.tablescroll{overflow-x:auto}
.dtable{width:100%;border-collapse:collapse;text-align:left;font-size:var(--fs-card);min-width:640px}
.dtable th{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);padding:0 var(--sp-3) var(--sp-2) 0;border-bottom:1px solid var(--hairline);vertical-align:bottom}
.dtable td{padding:14px var(--sp-3) 14px 0;border-bottom:1px solid var(--hairline);vertical-align:top;color:var(--muted)}
.dtable td:first-child{color:var(--ink);width:52px}

/* ---------- Question and answer list (no accordion) ------------------------------------------- */
.qalist{border-top:1px solid var(--hairline)}
.qalist__row{display:grid;grid-template-columns:5fr 7fr;gap:var(--sp-5);padding:var(--sp-5) 0;border-bottom:1px solid var(--hairline)}
.qalist__q{font-family:var(--title);font-weight:400;font-size:var(--fs-h4);line-height:1.25;letter-spacing:var(--track-display)}
.qalist__n{display:block;font-family:var(--sans);font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);color:var(--muted);margin-bottom:10px}
.qalist p{color:var(--muted);max-width:var(--measure)}

/* ---------- Legal fold ---------------------------------------------------------------------- */
.legalfold{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:var(--sp-3) 0;margin-top:var(--sp-4)}
.legalfold summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase}
.legalfold summary::-webkit-details-marker{display:none}
.legalfold summary::after{content:"+";margin-left:auto;font-size:16px;color:var(--muted)}
.legalfold[open] summary::after{content:"\2013"}
.legalfold p{font-size:var(--fs-fine);line-height:1.7;color:var(--muted);max-width:84ch;margin-top:var(--sp-3)}

/* ---------- Panel with the olive rule ---------------------------------------------------------- */
.panel{background:var(--bone);border-left:4px solid var(--olive);padding:var(--sp-6) var(--sp-5)}
.section--bone .panel{background:var(--paper)}
.panel .h2{margin-top:var(--sp-3)}
.panel p{color:var(--muted);max-width:var(--measure);margin-top:var(--sp-3)}

/* ---------- CASL, on navy ------------------------------------------------------------------------ */
.section--navy{background:var(--royal);color:#fff}
.section--navy .eyebrow{color:var(--olive-light)}
.section--navy .subline,.section--navy .muted,.section--navy .prose p{color:rgba(255,255,255,.75)}
.section--navy .stats{border-color:rgba(255,255,255,.3)}
.section--navy .stat{border-left-color:rgba(255,255,255,.3)}
.section--navy .stat__label,.section--navy .stat > p:not(.stat__value){color:rgba(255,255,255,.72)}
.section--navy .stat__value{color:#fff}
.memo{border:1px solid rgba(255,255,255,.3);padding:var(--sp-4)}
.memo .h3{margin:12px 0}
.memo p{color:rgba(255,255,255,.75);max-width:var(--measure)}
.memo .tlink{margin-top:var(--sp-3);color:#fff}
.caslsearch{border-bottom:1px solid rgba(255,255,255,.4);display:flex;align-items:center;gap:var(--sp-3)}
.caslsearch input{flex:1 1 auto;background:transparent;border:0;color:#fff;padding:14px 0;font:400 var(--fs-body) var(--sans);border-radius:var(--radius)}
.caslsearch input::placeholder{color:rgba(255,255,255,.55)}
.caslsearch input:focus{outline:none}
.caslsearch:focus-within{border-bottom-color:#fff}
.filterrow{display:flex;flex-wrap:wrap;gap:10px}
.filterrow button{
  background:transparent;border:1px solid rgba(255,255,255,.32);color:rgba(255,255,255,.88);
  padding:9px 16px;border-radius:var(--radius);cursor:pointer;
  font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;text-indent:.08em;
  transition:background var(--dur-hover) var(--ease),color var(--dur-hover) var(--ease),border-color var(--dur-hover) var(--ease);
}
.filterrow button:hover,.filterrow button[aria-pressed="true"]{background:#fff;border-color:#fff;color:var(--royal)}
.caslgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}
.caslcard{background:var(--paper);color:var(--ink);padding:var(--sp-4);display:flex;flex-direction:column}
.caslcard .h3{font-size:var(--fs-h3);margin:12px 0}
.caslcard p{color:var(--muted);font-size:var(--fs-card);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.caslcard .casl__parts{font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin-top:var(--sp-3);padding-bottom:var(--sp-3)}
.caslcard hr{border:0;border-top:1px solid var(--hairline);margin:auto 0 0;width:100%}
.caslcard .tlink{margin-top:var(--sp-3)}

/* ---------- Grades and reel ------------------------------------------------------------------------ */
.grade__status{font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--royal)}
.reel{aspect-ratio:16/9;overflow:hidden;background:var(--bone)}
.reel img{width:100%;height:100%;object-fit:cover}

/* ---------- Client artwork cards --------------------------------------------------------- */
.workcard{background:var(--paper);border:1px solid var(--hairline);display:flex;flex-direction:column}
.section--bone .workcard{background:var(--paper)}
.workcard__media{aspect-ratio:1/1;overflow:hidden;background:var(--bone)}
.workcard__media img{width:100%;height:100%;object-fit:cover;object-position:top center}
.workcard__body{padding:var(--sp-4);display:flex;flex-direction:column;gap:12px;flex:1 1 auto}
.workcard__body .tlink{margin-top:auto;padding-top:var(--sp-3);align-self:flex-start}
.workcard__body .h3{min-height:2.5em}
.pixpanel{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--sp-6);align-items:center}
.pixpanel__mark{height:36px;width:auto;margin-bottom:var(--sp-3)}

/* ---------- Article meta --------------------------------------------------------------------- */
.articlemeta{display:flex;flex-wrap:wrap;gap:var(--sp-6);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:var(--sp-3) 0;margin-top:var(--sp-5)}
.articlemeta dt{font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.articlemeta dd{margin:6px 0 0;font-family:var(--serif);font-weight:500;font-size:var(--fs-lede)}

/* ---------- Legal clauses ---------------------------------------------------------------- */
.clause{margin-top:var(--sp-4)}
.clause__n{display:block;font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.clause p{margin:0}
.legalcol{max-width:var(--measure);margin:0 auto;font-size:var(--fs-lede);line-height:1.7}
.legalcol h2{font-family:var(--title);font-weight:400;font-size:var(--fs-h2);line-height:1.2;letter-spacing:var(--track-display);margin-top:var(--sp-7)}
.legalcol > p{margin-top:var(--sp-3)}
.legalsign{border-top:1px solid var(--hairline);margin-top:var(--sp-7);padding-top:var(--sp-4);display:flex;flex-wrap:wrap;gap:var(--sp-6)}
.legalsign dt{font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.legalsign dd{margin:6px 0 0;font-family:var(--serif);font-weight:500;font-size:var(--fs-lede)}

/* ---------- Breakpoints -------------------------------------------------------------------- */
@media (max-width:1080px){
  :root{--header-h:60px;--header-full:60px;--gutter:20px;--sec-y:72px}
  .hdr__full{display:none}
  .hdr{display:grid}
  .hdr__mark img{height:34px}
  .u-desk{display:none}
  .u-mob{display:inline}
  .split{grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}
  .split--rev .split__media{order:0}
  .split__media{order:0}
  .row--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .numcards--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reading{grid-template-columns:minmax(0,1fr)}
  .secindex{position:static;flex-direction:row;flex-wrap:wrap;gap:var(--sp-3)}
  .pixpanel{grid-template-columns:minmax(0,1fr);gap:var(--sp-4)}
  .caslgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rolelist{grid-template-columns:repeat(2,minmax(0,1fr))}
  .secnav{position:static}
}
@media (max-width:860px){
  :root{--fs-body:16px;--fs-lede:17px}
  body{font-size:var(--fs-body-m)}
  .hero{min-height:88vh;min-height:max(520px,88dvh)}
  .hero--short{min-height:46vh}
  .row--3,.row--2{grid-template-columns:minmax(0,1fr)}
  .numcards{grid-template-columns:minmax(0,1fr)}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{padding:var(--sp-4) var(--sp-3)}
  .stat:nth-child(odd){border-left:0;padding-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--hairline)}
  .mosaic .m-a,.mosaic .m-b,.mosaic .m-c,.mosaic .m-d,.mosaic .m-e{grid-column:span 12;aspect-ratio:4/3}
  .form__grid{grid-template-columns:minmax(0,1fr)}
  .footer__cols{grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}
  .deflist__row{grid-template-columns:minmax(0,1fr);gap:var(--sp-2)}
  .numbered-list{grid-template-columns:minmax(0,1fr)}
  .colitem .h3,.colitem .colitem__desc,.numcard .h3,.workcard__body .h3{min-height:0}
  .faq__a{margin-left:0}
  .quiz{padding:var(--sp-5) var(--sp-3)}
  .step,.qalist__row{grid-template-columns:minmax(0,1fr);gap:var(--sp-2)}
  .caslgrid{grid-template-columns:minmax(0,1fr)}
  .rolelist{grid-template-columns:minmax(0,1fr)}
  .panel{padding:var(--sp-5) var(--sp-4)}
  .compare{display:block}
  .compare thead{display:none}
  .compare tbody,.compare tr,.compare th,.compare td{display:block;width:auto}
  .compare tbody tr{padding:var(--sp-3) 0}
  .compare tbody th{padding:0 0 var(--sp-2)}
  .compare td{padding:var(--sp-2) 0 var(--sp-2) var(--sp-3);border-left:1px solid var(--hairline)}
  .compare td::before{display:block;content:attr(data-col);font-size:10px;font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin-bottom:6px}
  .compare .col-2b{border-left:2px solid var(--olive)}
}

/* ---------- Drawer breakpoint (the panel spans the viewport) ------------------ */
@media (max-width:840px){
  .drawer__body{grid-template-columns:minmax(0,1fr);gap:var(--sp-5);padding-top:var(--sp-5)}
  .drawer__main a{grid-template-columns:28px minmax(0,1fr);gap:var(--sp-2);padding:16px 0}
  .drawer__aside{gap:var(--sp-4)}
}

.br-split__video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.05);background:var(--bone)}
@media (prefers-reduced-motion:reduce){.br-split__video{animation:none}}

@media (hover:hover){
  .br-split__media.ph--swap:hover .ph__alt,.br-split__media.ph--swap.is-hover .ph__alt{opacity:1}
}
.br-split__media.ph--swap{position:relative;cursor:default}
.br-split__media.ph--swap .ph__alt{z-index:1}
.br-split__media.ph--swap{overflow:hidden}

/* ---------- Brand · client wall, redesigned ------------------------------------ */
.u-sr{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.br-clients__grid{display:grid;grid-template-columns:4fr 8fr;gap:var(--sp-7);align-items:start}
.br-clients__intro{position:sticky;top:calc(var(--header-h) + 32px)}
.br-clients__intro .h2{margin-top:var(--sp-3)}
.br-clients__intro{text-align:left}
.br-clients__intro .br-sub{margin:var(--sp-3) 0 0;max-width:40ch}
.br-clients__count{display:flex;align-items:baseline;gap:var(--sp-2);margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid rgba(255,255,255,.22)}
.br-clients__n{font-family:var(--serif);font-weight:500;font-size:var(--fs-display);line-height:.9;letter-spacing:var(--track-display);color:#fff}
.br-clients__l{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive-light)}
.br-clients .br-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:none;border:0;border-top:1px solid rgba(255,255,255,.22)}
.br-clients .br-logo{display:flex;align-items:center;justify-content:center;min-height:148px;padding:var(--sp-4) var(--sp-3);background:transparent;border-bottom:1px solid rgba(255,255,255,.22);opacity:.62}
.br-clients .br-logo:nth-child(3n+2){border-left:1px solid rgba(255,255,255,.22);border-right:1px solid rgba(255,255,255,.22)}
.br-clients .br-logo__slot{max-width:170px;height:72px}
.br-clients .br-logo__slot image-slot{opacity:1}
@media (hover:hover){
  .br-clients .br-logos:hover .br-logo{opacity:.28}
  .br-clients .br-logos .br-logo:hover{opacity:1}
}
@media (max-width:1080px){
  .br-clients__grid{grid-template-columns:minmax(0,1fr);gap:var(--sp-6)}
  .br-clients__intro{position:static}
}
@media (max-width:640px){
  .br-clients .br-logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .br-clients .br-logo:nth-child(3n+2){border-left:0;border-right:0}
  .br-clients .br-logo:nth-child(odd){border-right:1px solid rgba(255,255,255,.22)}
  .br-clients .br-logo{min-height:120px;opacity:.8}
}

.br-clients .br-logo{display:grid;grid-template-rows:72px auto;row-gap:16px;align-content:center;justify-items:center;min-height:188px}
.br-clients .br-logo__name{min-height:2.8em;color:rgba(255,255,255,.72);max-width:22ch}

/* ---------- Brand · client wall, compact ---------------------------------------- */
.br-clients__grid{grid-template-columns:minmax(0,1fr);gap:var(--sp-6)}
.br-clients__intro{position:static;display:grid;grid-template-columns:5fr 7fr;column-gap:var(--sp-7);align-items:end}
.br-clients__intro .br-num,.br-clients__intro .eyebrow,.br-clients__intro .h2{grid-column:1}
.br-clients__intro .br-sub{grid-column:2;grid-row:3;margin:0;max-width:52ch;align-self:end}
.br-clients .br-logos{grid-template-columns:repeat(5,minmax(0,1fr))}
.br-clients .br-logo{min-height:0;padding:var(--sp-4) var(--sp-2);grid-template-rows:56px auto;row-gap:12px}
.br-clients .br-logo__slot{max-width:150px;height:56px}
.br-clients .br-logo:nth-child(3n+2){border-left:0;border-right:0}
.br-clients .br-logo{border-right:1px solid rgba(255,255,255,.22)}
.br-clients .br-logo:nth-child(5n){border-right:0}
@media (max-width:1080px){
  .br-clients__intro{grid-template-columns:minmax(0,1fr);row-gap:0}
  .br-clients__intro .br-sub{grid-column:1;grid-row:auto;margin-top:var(--sp-3)}
  .br-clients .br-logos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .br-clients .br-logo:nth-child(5n){border-right:1px solid rgba(255,255,255,.22)}
  .br-clients .br-logo:nth-child(3n){border-right:0}
}
@media (max-width:640px){
  .br-clients .br-logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .br-clients .br-logo:nth-child(n){border-right:1px solid rgba(255,255,255,.22)}
  .br-clients .br-logo:nth-child(2n){border-right:0}
}

/* ---------- Brand · client wall, clean lines ------------------------------------ */
.br-clients .br-logos{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:0;border-top:1px solid rgba(255,255,255,.22);border-left:1px solid rgba(255,255,255,.22)}
.br-clients .br-logos .br-logo,
.br-clients .br-logos .br-logo:nth-child(n){border:0;border-right:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}
.br-clients .br-logo{align-content:start;padding:var(--sp-4) 14px var(--sp-3)}
.br-clients .br-logo__name{max-width:none;min-height:2.8em;letter-spacing:.12em;line-height:1.4}
@media (max-width:900px){
  .br-clients .br-logos{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:560px){
  .br-clients .br-logos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.br-clients .br-logo__name{text-transform:none;font:400 var(--fs-caption)/1.4 var(--sans);letter-spacing:.01em;min-height:2.8em;color:rgba(255,255,255,.74)}
.br-clients .br-logo{padding:var(--sp-4) 10px var(--sp-3)}
.br-clients .br-logo{padding-left:6px;padding-right:6px}
.br-clients .br-logo__name{font-size:var(--fs-caption);letter-spacing:0}

/* ---------- Brand · The Anatomy of the Mark ------------------------------------- */
.anat{background:var(--bone);padding:var(--sec-y) 0 calc(var(--sec-y) + 8px)}
.anat__head{text-align:center;margin-bottom:var(--sp-6)}
.anat__head .h2{margin-top:var(--sp-2)}
.anat__stage{position:relative;display:grid;grid-template-columns:260px minmax(0,1fr) 260px;gap:var(--sp-5);align-items:stretch;min-height:640px}
.anat__lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}
.anat__col{display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-4);position:relative;z-index:3}
.anat__col--r{justify-content:space-around}
.anat-card{background:var(--paper);border:1px solid var(--hairline);padding:20px 22px 22px}
.anat-card__n{display:block;font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);color:var(--olive);margin-bottom:12px}
.anat-card__h{font-family:var(--title);font-weight:400;font-size:var(--fs-h3);line-height:1.25;letter-spacing:.01em;margin:0 0 10px}
.anat-card__b{font-size:var(--fs-fine);line-height:1.6;color:var(--muted);margin:0}
.anat__mark{position:relative;margin:0;display:grid;place-items:center}
.anat__plate{position:absolute;left:50%;top:52%;width:108%;aspect-ratio:1.5/1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,#fff 0%,rgba(255,255,255,.75) 45%,rgba(246,245,242,0) 100%)}
.anat__logo{position:relative;width:100%;max-width:560px;aspect-ratio:1/1}
.anat__logo img{position:relative;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(20,18,14,.25)) drop-shadow(0 6px 6px rgba(20,18,14,.12)) drop-shadow(0 22px 26px rgba(20,18,14,.14))}
.anat-pin{position:absolute;display:none;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;font:500 11px/22px var(--sans);text-align:center}
.anat__line{stroke:var(--ink);stroke-width:1;fill:none;opacity:.55}
.anat__dot{fill:var(--ink)}
.anat__ring{fill:var(--bone);stroke:var(--ink);stroke-width:1}
@media (max-width:1080px){
  .anat__stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;gap:var(--sp-3)}
  .anat__mark{grid-column:1 / -1;grid-row:1;margin-bottom:var(--sp-3)}
  .anat__logo{max-width:460px}
  .anat__lines{display:none}
  .anat-pin{display:block}
  .anat__col{display:contents}
  .anat-card[data-anat-card="01"]{order:1}.anat-card[data-anat-card="02"]{order:2}.anat-card[data-anat-card="03"]{order:3}.anat-card[data-anat-card="04"]{order:4}.anat-card[data-anat-card="05"]{order:5}
}
@media (max-width:640px){
  .anat__stage{grid-template-columns:minmax(0,1fr)}
}

/* ---------- Anatomy · interaction ------------------------------------------------ */
.anat__hint{margin-top:var(--sp-2);font-size:var(--fs-fine);color:var(--muted)}
.anat-card{cursor:pointer;transition:opacity 200ms var(--ease),border-color 200ms var(--ease),box-shadow 200ms var(--ease)}
.anat-card:hover{border-color:rgba(14,13,10,.4)}
.anat-card:focus-visible{outline:2px solid var(--royal);outline-offset:3px}
.anat__stage[data-active] .anat-card{opacity:.42}
.anat__stage[data-active] .anat-card.is-active{opacity:1;border-color:var(--ink);box-shadow:0 10px 30px rgba(14,13,10,.08)}
.anat-card.is-active .anat-card__n{color:var(--ink)}
.anat-pin{display:block;width:16px;height:16px;padding:0;border:1px solid var(--ink);background:var(--paper);cursor:pointer;z-index:4;font:500 10px/1 var(--sans);color:var(--ink)}
.anat-pin span{position:absolute;inset:0;display:grid;place-items:center;opacity:0}
.anat-pin::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(14,13,10,.22)}
.anat-pin:hover,.anat-pin.is-active{width:26px;height:26px;background:var(--ink);color:#fff}
.anat-pin:hover span,.anat-pin.is-active span{opacity:1}
.anat-pin.is-active::after{inset:-14px;border-color:rgba(151,146,101,.7)}
.anat-pin:focus-visible{outline:2px solid var(--royal);outline-offset:4px}
.anat__line{transition:opacity 200ms var(--ease)}
.anat__stage[data-active] .anat__line,.anat__stage[data-active] .anat__ring{opacity:.12}
.anat__stage[data-active] .anat__line.is-active{opacity:1;stroke-width:1.4}
.anat__stage[data-active] .anat__ring.is-active{opacity:1;fill:var(--ink)}
.anat__logo img{transition:opacity 200ms var(--ease)}
@media (max-width:1080px){
  .anat-pin{width:24px;height:24px;background:var(--ink);color:#fff}
  .anat-pin span{opacity:1}
  .anat-pin::after{display:none}
  .anat-pin.is-active{width:30px;height:30px;background:var(--olive)}
}

.anat__logo img.anat__img{filter:none;mix-blend-mode:multiply}
.anat__plate{display:none}

#name img.br-split__video{aspect-ratio:11/14;width:100%;height:auto;object-fit:cover;object-position:50% 50%}
@media (max-width:1080px){#name img.br-split__video{max-width:520px;margin:0 auto}}

#name video.br-split__video{aspect-ratio:11/14;width:100%;height:auto;object-fit:cover;object-position:50% 50%;display:block;filter:grayscale(1) contrast(1.05)}
@media (max-width:1080px){#name video.br-split__video{max-width:520px;margin:0 auto}}
@media (prefers-reduced-motion:reduce){#name video.br-split__video{display:none}}

/* ---------- Brand · the monogram --------------------------------------------- */
.mg{background:var(--bone);padding:var(--sec-y) 0 calc(var(--sec-y) + 8px)}
.mg__head{text-align:center;max-width:640px;margin:0 auto var(--sp-7)}
.mg__head .h2{margin-top:var(--sp-2)}
.mg__intro{margin:var(--sp-3) auto 0;color:var(--muted);font-size:var(--fs-body);line-height:1.6;max-width:54ch}
.mg__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);gap:var(--sp-7);align-items:center}
.mg__lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
.mg__lines path{fill:none;stroke:var(--ink);stroke-width:1;opacity:.35}
.mg__lines circle.dot{fill:var(--olive)}
.mg__lines circle.ring{fill:none;stroke:var(--olive);stroke-width:1;opacity:.6}
.mg__lines .on path{opacity:1;stroke:var(--royal)}
.mg__lines .on circle.dot{fill:var(--royal)}
.mg__lines .on circle.ring{stroke:var(--royal);opacity:1}
.mg__lines .off{opacity:.25}
.mg__col{display:flex;flex-direction:column;gap:var(--sp-7)}
.mg__col--l{text-align:right}
.mg__figure{margin:0;aspect-ratio:1/1;background:var(--paper);display:grid;place-items:center;border:1px solid var(--hairline);position:relative;z-index:1}
.mg__figure img{width:82%;height:auto;display:block;mix-blend-mode:multiply}
.mg-part{cursor:default;outline:none}
.mg-part__n{margin:0;font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.mg-part__h{margin:12px 0 10px;font-family:var(--title);font-weight:400;font-size:var(--fs-h3);line-height:1.25}
.mg-part__b{margin:0;color:var(--muted);font-size:var(--fs-card);line-height:1.6;max-width:32ch}
.mg__col--l .mg-part__b{margin-left:auto}
.mg-part.is-off{opacity:.35}
.mg-part.is-on .mg-part__h{color:var(--royal)}
.mg-part:focus-visible{outline:2px solid var(--royal);outline-offset:6px}
@media (max-width:1080px){
  .mg__lines{display:none}
  .mg__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5)}
  .mg__figure{grid-column:1 / -1;grid-row:1;max-width:460px;width:100%;justify-self:center}
  .mg__col{display:contents}
  .mg__col--l{text-align:left}
  .mg__col--l .mg-part__b{margin-left:0}
}
@media (max-width:600px){.mg__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Footer · region control ----------------------------------------- */
.ft__region{justify-self:end;width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:14px;height:44px;padding:0 18px;border:1px solid var(--hairline);background:var(--paper);color:var(--ink)}
.ft__region:hover,.ft__region:focus-within{border-color:var(--ink)}
.ft__rkey{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.ft__rsel{position:relative;display:inline-flex;align-items:center}
.ft__rsel::after{content:"";position:absolute;right:2px;top:50%;width:6px;height:6px;margin-top:-5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);pointer-events:none}
.ft__region .ft__rsel select{width:auto;min-width:0;field-sizing:content;appearance:none;-webkit-appearance:none;background:transparent !important;background-image:none;border:0;border-radius:0;box-shadow:none;padding:0 20px 0 0;margin:0;height:42px;cursor:pointer;color:var(--ink);font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase}
.ft__region .ft__rsel select:hover{color:var(--royal)}
.ft__region .ft__rsel select:focus{outline:none}
.ft__region:focus-within{outline:2px solid var(--royal);outline-offset:2px}
.ft__rsel select option,.ft__rsel select optgroup{text-transform:none;letter-spacing:0;font:400 var(--fs-fine) var(--sans);color:var(--ink);background:var(--paper)}
.ft__rsep{width:1px;height:16px;background:var(--hairline)}
.ft__rlang{font:400 var(--fs-fine)/1 var(--sans);color:var(--muted);white-space:nowrap}
@media (max-width:860px){.ft__region{justify-self:start}}

/* ---------- Join our community ------------------------------------------------ */
.jn-intro{display:grid;grid-template-columns:5fr 7fr;gap:var(--sp-7);align-items:end}
.jn-intro .lede{color:var(--muted);margin-top:var(--sp-3)}
.jn-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.jn-term{padding:var(--sp-3) var(--sp-3) 0 0;display:flex;flex-direction:column;gap:12px}
.jn-term + .jn-term{padding-left:var(--sp-3);border-left:1px solid var(--hairline)}
.jn-term__n{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.jn-term p{font-size:var(--fs-fine);line-height:1.6;color:var(--muted)}
.jn-form{max-width:1080px;margin:0 auto;border-top:1px solid var(--ink)}
.jn-row{display:grid;grid-template-columns:4fr 8fr;gap:var(--sp-6);padding:var(--sp-6) 0;border-bottom:1px solid var(--hairline)}
.jn-row__head{display:flex;flex-direction:column;gap:12px}
.jn-row__n{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.jn-row__title{font-family:var(--serif);font-weight:500;font-size:var(--fs-h3);line-height:1.2;letter-spacing:var(--track-display)}
.jn-row__hint{font-size:var(--fs-fine);color:var(--muted);line-height:1.6;max-width:30ch}
.jn-row__body{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}
.jn-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4) var(--sp-5)}
.jn-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4) var(--sp-5)}
.jn-sublabel{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.jn-roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.jn-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.jn-tiles--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.jn-tile{position:relative;display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border:1px solid var(--hairline);background:var(--paper);cursor:pointer;min-height:100%}
.jn-tile:hover{border-color:var(--ink)}
.jn-tile input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.jn-tile:has(input:checked){border-color:var(--ink);background:var(--bone)}
.jn-tile:has(input:focus-visible){outline:2px solid var(--royal);outline-offset:2px}
.jn-tick{flex:0 0 auto;position:relative;width:16px;height:16px;border:1px solid var(--muted);margin-top:2px;background:var(--paper)}
.jn-tile--radio .jn-tick{border-radius:50%}
.jn-tile:has(input:checked) .jn-tick{background:var(--ink);border-color:var(--ink)}
.jn-tile:has(input:checked) .jn-tick::after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(45deg)}
.jn-tile--radio:has(input:checked) .jn-tick::after{left:4px;top:4px;width:6px;height:6px;border:0;border-radius:50%;background:#fff;transform:none}
.jn-tile__txt{display:flex;flex-direction:column;gap:6px;min-width:0}
.jn-tile__name{font:500 var(--fs-kicker)/1.3 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink)}
.jn-tile__desc{font-size:var(--fs-fine);line-height:1.5;color:var(--muted)}
.jn-tiles .jn-tile{justify-content:center;align-items:center;padding:14px 10px;gap:10px}
.jn-tiles .jn-tick{margin-top:0}
.jn-sel{position:relative}
.jn-sel::after{content:"";position:absolute;right:4px;top:50%;width:7px;height:7px;margin-top:-6px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:rotate(45deg);pointer-events:none}
.jn-sel select{padding-right:24px}
.jn-submit{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);padding:var(--sp-5) 0 0}
.jn-submit .form__note{max-width:52ch}
.jn-done{max-width:1080px;margin:0 auto;border-top:1px solid var(--ink);padding:var(--sp-7) 0;display:grid;grid-template-columns:4fr 8fr;gap:var(--sp-6)}
.jn-done p{color:var(--muted);max-width:52ch;margin-top:var(--sp-3)}
@media (max-width:1080px){
  .jn-intro{grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}
  .jn-row,.jn-done{grid-template-columns:minmax(0,1fr);gap:var(--sp-4)}
  .jn-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  .jn-terms{grid-template-columns:minmax(0,1fr)}
  .jn-term + .jn-term{padding-left:0;border-left:0;border-top:1px solid var(--hairline);margin-top:var(--sp-3)}
  .jn-roles,.jn-grid2,.jn-grid3{grid-template-columns:minmax(0,1fr)}
  .jn-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jn-tiles--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .jn-submit{flex-direction:column;align-items:flex-start}
}

/* ---------- Join · application layout ------------------------------------------ */
.ja{display:grid;grid-template-columns:5fr 7fr;min-height:100vh;min-height:100dvh;padding-top:var(--header-h);background:var(--paper)}
.ja__side{position:relative;overflow:hidden;color:#fff;background:var(--ink);isolation:isolate}
.ja__sideinner{position:sticky;top:var(--header-h);min-height:calc(100dvh - var(--header-h));display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-6);padding:var(--sp-7) var(--sp-6) var(--sp-6)}
.ja__media{position:absolute;inset:0;z-index:-2}
.ja__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.5) contrast(1.05)}
.ja__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,13,10,.35) 0%,rgba(14,13,10,.55) 55%,rgba(14,13,10,.85) 100%)}
.ja__kicker{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:#fff}
.ja__title{font-family:var(--serif);font-weight:500;font-size:var(--fs-h1);line-height:1.02;letter-spacing:var(--track-display);margin-top:var(--sp-3);text-wrap:balance}
.ja__lede{margin-top:var(--sp-4);font-size:var(--fs-lede);line-height:1.6;color:rgba(255,255,255,.9);max-width:40ch}
.ja__terms{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.35)}
.ja__term{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--sp-2);padding:18px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.ja__term span{font:500 var(--fs-micro)/1.6 var(--sans);letter-spacing:var(--track-micro);color:#fff;opacity:.8}
.ja__term p{font-size:var(--fs-fine);line-height:1.6;color:rgba(255,255,255,.9)}
.ja__term strong{display:block;font:500 var(--fs-kicker)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:#fff;margin-bottom:4px}
.ja__main{padding:var(--sp-7) clamp(24px,5vw,88px) var(--sp-7);display:flex;flex-direction:column}
.ja__form{width:100%;max-width:680px;display:flex;flex-direction:column;gap:var(--sp-5)}
.ja__progress{display:flex;flex-direction:column;gap:14px}
.ja__count{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.ja__bars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ja__bar{height:2px;background:var(--hairline)}
.ja__bar[data-on="true"]{background:var(--ink)}
.ja__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ja__steps li{font:500 var(--fs-micro)/1.3 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.ja__steps li[data-on="true"]{color:var(--ink)}
.ja__panel{display:flex;flex-direction:column;gap:var(--sp-4);border:0;padding:0;margin:0;min-width:0}
.ja__panel[hidden]{display:none}
.ja__q{font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1.12;letter-spacing:var(--track-display);text-wrap:balance;padding:0}
.ja__hint{color:var(--muted);font-size:var(--fs-body);max-width:52ch;margin-top:-8px}
.ja__nav{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--hairline)}
.ja__back{background:none;border:0;padding:0;cursor:pointer;font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.ja__back:hover{color:var(--royal)}
.ja__back[disabled]{visibility:hidden}
.ja__note{font-size:var(--fs-fine);color:var(--muted);line-height:1.6}
.ja__done{max-width:600px;display:flex;flex-direction:column;gap:var(--sp-3);padding-top:var(--sp-5)}
.ja__done p{color:var(--muted)}
.ja .jn-roles{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1080px){
  .ja{grid-template-columns:minmax(0,1fr)}
  .ja__sideinner{position:relative;top:0;min-height:0;padding:var(--sp-6) var(--gutter)}
  .ja__main{padding:var(--sp-6) var(--gutter) var(--sp-7)}
  .ja__form{max-width:none}
}
@media (max-width:640px){
  .ja .jn-roles{grid-template-columns:minmax(0,1fr)}
  .ja__steps li{font-size:var(--fs-label);letter-spacing:.12em}
}

/* ---------- Join · refinement ------------------------------------------------------ */
.ja{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.ja__sideinner{padding:clamp(48px,6vw,96px) clamp(24px,4vw,64px) clamp(32px,4vw,56px)}
.ja__kicker{display:flex;align-items:center;gap:14px}
.ja__kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.ja__title{font-size:var(--fs-h1);margin-top:var(--sp-4)}
.ja__lede{max-width:36ch;color:rgba(255,255,255,.86)}
.ja__terms{border-top:0;gap:10px}
.ja__term{grid-template-columns:40px minmax(0,1fr);align-items:start;padding:18px 20px;border:1px solid rgba(255,255,255,.16);background:rgba(14,13,10,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ja__term span{font-family:var(--serif);font-style:italic;font-weight:400;font-size:var(--fs-h3);line-height:1.1;letter-spacing:0;color:#CFCBA8;opacity:1}
.ja__term strong{margin-bottom:6px}
.ja__term p{color:rgba(255,255,255,.8)}
.ja__main{background:var(--bone);align-items:center;justify-content:center;padding:clamp(40px,6vw,96px) clamp(20px,4vw,72px)}
.ja__form,.ja__done{background:var(--paper);border:1px solid var(--hairline);padding:clamp(28px,4vw,56px);max-width:720px;width:100%}
.ja__done{gap:var(--sp-3)}
.ja__progress{gap:0;padding-bottom:var(--sp-4);border-bottom:1px solid var(--hairline)}
.ja__meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--sp-3)}
.ja__time{font-size:var(--fs-fine);color:var(--muted)}
.ja__bars,.ja__steps{display:none}
.ja__track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative}
.ja__track li{display:flex;align-items:center;gap:12px;position:relative;z-index:1}
.ja__track li + li::before{content:"";position:absolute;right:calc(100% + 0px);left:-100%;top:14px;height:1px;background:var(--hairline);z-index:-1;display:none}
.ja__dot{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:1px solid var(--hairline);display:grid;place-items:center;font:500 var(--fs-label)/1 var(--sans);color:var(--muted);background:var(--paper)}
.ja__lbl{font:500 var(--fs-micro)/1.3 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.ja__track li[data-state="now"] .ja__dot{background:var(--ink);border-color:var(--ink);color:#fff}
.ja__track li[data-state="now"] .ja__lbl{color:var(--ink)}
.ja__track li[data-state="done"] .ja__dot{border-color:var(--ink);color:var(--ink)}
.ja__track li[data-state="done"] .ja__lbl{color:var(--ink)}
.ja__rail{height:2px;background:var(--hairline);margin-top:var(--sp-3);position:relative;overflow:hidden}
.ja__rail i{position:absolute;left:0;top:0;bottom:0;background:var(--ink)}
.ja__eyebrow{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive);margin-bottom:-12px}
.ja__q{font-size:var(--fs-h2)}
.ja .jn-tile{transition:border-color var(--dur-hover) var(--ease),background var(--dur-hover) var(--ease)}
.ja .jn-roles .jn-tile{padding:20px 22px}
.ja__nav{border-top:1px solid var(--hairline);padding-top:var(--sp-4);margin-top:var(--sp-2)}
@media (max-width:1080px){
  .ja__main{padding:var(--sp-5) var(--gutter) var(--sp-6)}
  .ja__form,.ja__done{padding:var(--sp-4) var(--sp-3)}
}
@media (max-width:640px){
  .ja__lbl{display:none}
  .ja__track li[data-state="now"] .ja__lbl{display:inline}
  .ja__meta{flex-direction:column;gap:6px}
}

/* ---------- Join · spacing fixes ----------------------------------------------------- */
.ja__sideinner{padding-top:clamp(72px,8vw,128px)}
.ja__title{line-height:1.08;padding-top:4px}
.ja__head{display:flex;flex-direction:column;gap:14px;padding:0;margin:0 0 var(--sp-2);width:100%;float:none}
.ja__head .ja__eyebrow{display:block;margin:0}
.ja__head .ja__q{display:block;line-height:1.15}
.ja__head .ja__hint{display:block;margin:0;line-height:1.6}
.ja__progress{padding-bottom:0;border-bottom:0}
.ja__meta{margin-bottom:14px}
.ja__rail{margin-top:0}

/* Join · clear the full desktop header */
@media (min-width:1081px){
  .ja{padding-top:var(--header-full)}
  .ja__sideinner{top:var(--header-full);min-height:calc(100dvh - var(--header-full));padding-top:clamp(48px,5vw,80px)}
}
/* Join · responsive overrides, restated last so they win over the refinements above */
@media (max-width:1080px){
  .ja{grid-template-columns:minmax(0,1fr);padding-top:var(--header-h)}
  .ja__sideinner{position:relative;top:0;min-height:0;padding:var(--sp-6) var(--gutter)}
  .ja__main{padding:var(--sp-5) var(--gutter) var(--sp-6)}
  .ja__form,.ja__done{max-width:none;padding:var(--sp-4) var(--sp-3)}
}
@media (max-width:640px){
  .ja .jn-roles{grid-template-columns:minmax(0,1fr)}
}

/* ---------- Join · custom dropdown -------------------------------------------------- */
.jd{position:relative}
.jd__btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--paper);border:1px solid var(--hairline);border-radius:0;padding:14px 16px;cursor:pointer;text-align:left;font:400 var(--fs-body)/1.6 var(--sans);color:var(--ink)}
.jd__btn[data-empty="true"]{color:var(--muted)}
.jd__btn:hover{border-color:var(--ink)}
.jd__btn:focus-visible{outline:2px solid var(--royal);outline-offset:2px}
.jd[data-open="true"] .jd__btn{border-color:var(--ink)}
.jd__btn[aria-invalid="true"]{border-color:var(--royal)}
.jd__chev{flex:0 0 auto;width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.jd[data-open="true"] .jd__chev{transform:translateY(2px) rotate(225deg)}
.jd__list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:var(--paper);border:1px solid var(--ink);padding:8px 0;max-height:300px;overflow-y:auto;box-shadow:0 12px 32px rgba(14,13,10,.12)}
.jd__opt{display:block;width:100%;background:none;border:0;padding:11px 18px;text-align:left;cursor:pointer;font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.jd__opt:hover,.jd__opt:focus-visible{background:var(--bone);outline:none}
.jd__opt[aria-selected="true"]{font-weight:500;background:var(--bone)}
.ja .field input,.ja .field textarea{border:1px solid var(--hairline);padding:14px 16px;background:var(--paper)}
.ja .field input:hover,.ja .field textarea:hover{border-color:var(--ink)}
.ja .field input:focus,.ja .field textarea:focus{border-color:var(--ink)}
.ja .field input[aria-invalid="true"]{border-color:var(--royal)}

/* ---------- Workshops ------------------------------------------------------------ */
.wk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 32px}
.wk-card{display:flex;flex-direction:column;color:var(--ink);text-decoration:none}
.wk-card__media{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--bone)}
.wk-card__media img{width:100%;height:100%;object-fit:cover}
.wk-card__meta{display:flex;justify-content:space-between;gap:16px;margin-top:20px;padding-bottom:14px;border-bottom:1px solid var(--hairline);font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.wk-card__meta span:last-child{color:var(--muted)}
.wk-card__title{font-family:var(--serif);font-weight:500;font-size:var(--fs-h3);line-height:1.25;letter-spacing:var(--track-display);margin-top:18px;min-height:2.5em;text-wrap:balance}
.wk-card__sum{margin-top:12px;color:var(--muted);font-size:var(--fs-card);line-height:1.6}
.wk-card__cta{margin-top:auto;padding-top:24px;font:500 var(--fs-kicker)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.wk-card:hover .wk-card__title,.wk-card:hover .wk-card__cta{color:var(--royal)}
.wk-card:focus-visible{outline:2px solid var(--royal);outline-offset:6px}
.wk-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:48px 0 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--hairline)}
.wk-fact{padding:24px 24px 26px;border-left:1px solid var(--hairline)}
.wk-fact:first-child{border-left:0;padding-left:0}
.wk-fact dt{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.wk-fact dd{margin:10px 0 0;font-family:var(--serif);font-weight:500;font-size:var(--fs-h3);line-height:1.3;letter-spacing:var(--track-display)}
.wk-split{display:grid;grid-template-columns:5fr 7fr;gap:var(--sp-7);align-items:start}
.wk-part{margin-top:64px;padding-top:28px;border-top:1px solid var(--ink)}
.wk-part:first-of-type{margin-top:0}
.wk-part__head{display:grid;grid-template-columns:5fr 7fr;gap:var(--sp-5);align-items:baseline;margin-bottom:20px}
.wk-part__n{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive);display:flex;flex-direction:column;gap:6px}
.wk-part__n span{color:var(--muted)}
.wk-mods{margin-left:calc(5 / 12 * 100% + var(--sp-5) * 5 / 12)}
.wk-mods summary{font-size:var(--fs-lede)}
.wk-items{display:flex;flex-direction:column;gap:0;padding:0;margin:0;list-style:none}
.wk-items li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;padding:10px 0;border-top:1px solid var(--hairline);color:var(--ink);font-size:var(--fs-card);line-height:1.55}
.wk-items li:first-child{border-top:0;padding-top:0}
.wk-items li span:first-child{color:var(--muted);font-size:var(--fs-fine)}
.wk-pager{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--hairline)}
.wk-pager__link{display:flex;flex-direction:column;gap:10px;padding:40px var(--gutter);color:var(--ink);text-decoration:none}
.wk-pager__link + .wk-pager__link{border-left:1px solid var(--hairline)}
.wk-pager__link--next{text-align:right;align-items:flex-end}
.wk-pager__link span{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.wk-pager__link strong{font-family:var(--serif);font-weight:500;font-size:var(--fs-h3);letter-spacing:var(--track-display);max-width:28ch}
.wk-pager__link:hover strong,.wk-pager__link:hover span{color:var(--royal)}
@media (max-width:1080px){
  .wk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wk-split,.wk-part__head{grid-template-columns:minmax(0,1fr);gap:var(--sp-3)}
  .wk-mods{margin-left:0}
}
@media (max-width:860px){
  .wk-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wk-fact:nth-child(3){border-left:0;padding-left:0}
  .wk-fact:nth-child(n+3){border-top:1px solid var(--hairline)}
}
@media (max-width:640px){
  .wk-grid{grid-template-columns:minmax(0,1fr);gap:48px}
  .wk-card__title{min-height:0}
  .wk-pager{grid-template-columns:minmax(0,1fr)}
  .wk-pager__link + .wk-pager__link{border-left:0;border-top:1px solid var(--hairline)}
  .wk-pager__link--next{text-align:left;align-items:flex-start}
}

/* ---------- Workshops · redesign --------------------------------------------------- */
.wkx-hero{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);min-height:92vh;min-height:92dvh;padding-top:var(--header-full);background:var(--paper)}
.wkx-hero__text{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,96px) clamp(24px,5vw,88px) clamp(48px,6vw,96px) max(var(--gutter),calc((100vw - var(--container)) / 2 + var(--gutter)))}
.wkx-hero__media{margin:0;position:relative;overflow:hidden;background:var(--bone)}
.wkx-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wkx-kicker{display:flex;align-items:center;gap:14px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.wkx-kicker::before{content:"";width:28px;height:1px;background:currentColor}
.wkx-title{font-family:var(--serif);font-weight:500;font-size:var(--fs-h1);line-height:1.04;letter-spacing:var(--track-display);margin-top:24px;text-wrap:balance;max-width:14ch}
.wkx-sub{margin-top:16px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:var(--fs-h3);line-height:1.35;color:var(--muted)}
.wkx-lede{margin-top:24px;font-size:var(--fs-lede);line-height:1.65;color:var(--ink);max-width:48ch}
.wkx-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:36px 0 0;border-top:1px solid var(--ink);max-width:560px}
.wkx-facts > div{padding:16px 16px 16px 0;border-bottom:1px solid var(--hairline)}
.wkx-facts > div:nth-child(even){padding-left:16px;border-left:1px solid var(--hairline)}
.wkx-facts dt{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.wkx-facts dd{margin:6px 0 0;font-family:var(--serif);font-weight:500;font-size:var(--fs-lede);line-height:1.3}
.wkx-wide{margin:var(--sp-7) 0 0;aspect-ratio:21/9;overflow:hidden;background:var(--bone)}
.wkx-wide img{width:100%;height:100%;object-fit:cover}
.wkx-outs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.wkx-outs li{padding:28px 24px 32px;border-left:1px solid var(--hairline)}
.wkx-outs li:first-child{border-left:0;padding-left:0}
.wkx-outs span{display:block;font-family:var(--serif);font-weight:500;font-size:var(--fs-figure);line-height:1;letter-spacing:var(--track-display);color:var(--olive)}
.wkx-outs p{margin-top:20px;font-size:var(--fs-body);line-height:1.55;color:var(--ink)}
.wkx-prog{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--sp-7);align-items:start}
.wkx-prog__side{position:sticky;top:calc(var(--header-h) + 32px)}
.wkx-prog__count{margin-top:16px;color:var(--muted);font-size:var(--fs-fine)}
.wkx-prog__nav{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--hairline)}
.wkx-prog__nav a{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-bottom:1px solid var(--hairline);color:var(--ink);text-decoration:none;font-size:var(--fs-card);line-height:1.4}
.wkx-prog__nav a span{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.wkx-prog__nav a:hover{color:var(--royal)}
.wkx-part{scroll-margin-top:calc(var(--header-h) + 24px)}
.wkx-part + .wkx-part{margin-top:56px}
.wkx-part__head{padding-bottom:18px;border-bottom:1px solid var(--ink)}
.wkx-part__n{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.wkx-part__t{margin-top:10px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1.15;letter-spacing:var(--track-display)}
.wkx-mods{border-top:0}
.wkx-mods summary{font-size:var(--fs-lede)}
.wkx-aud{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.wkx-aud li{padding:18px 0;border-bottom:1px solid var(--hairline);font-family:var(--serif);font-weight:500;font-size:var(--fs-h3);line-height:1.35}
.wkx-band{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:#fff;text-align:center;padding:clamp(96px,11vw,160px) var(--gutter)}
.wkx-band__media{position:absolute;inset:0;margin:0;z-index:-1}
.wkx-band__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.42)}
.wkx-band__inner{max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.wkx-band .wkx-kicker{justify-content:center}
.wkx-band__lede{margin-top:20px;font-size:var(--fs-lede);line-height:1.6;color:rgba(255,255,255,.88);max-width:52ch}
.wkl__head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:18px;border-bottom:1px solid var(--ink)}
.wkl__count{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.wkl__row{display:grid;grid-template-columns:72px 260px minmax(0,1fr) 180px;gap:40px;align-items:center;padding:36px 0;border-bottom:1px solid var(--hairline);color:var(--ink);text-decoration:none}
.wkl__num{font-family:var(--serif);font-style:italic;font-weight:400;font-size:var(--fs-h2);color:var(--olive);align-self:start;padding-top:4px}
.wkl__media{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--bone)}
.wkl__media img{width:100%;height:100%;object-fit:cover}
.wkl__sub{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.wkl__title{margin-top:10px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1.1;letter-spacing:-.01em;text-wrap:balance}
.wkl__sum{margin-top:12px;color:var(--muted);font-size:var(--fs-card);line-height:1.6;max-width:56ch}
.wkl__meta{display:flex;flex-direction:column;gap:8px;align-self:stretch;justify-content:center;border-left:1px solid var(--hairline);padding-left:24px;font-size:var(--fs-fine);color:var(--muted)}
.wkl__meta span:first-child{font-family:var(--serif);font-weight:500;font-size:var(--fs-h3);color:var(--ink)}
.wkl__go{margin-top:8px;font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink)}
.wkl__row:hover .wkl__title,.wkl__row:hover .wkl__go{color:var(--royal)}
.wkl__row:focus-visible{outline:2px solid var(--royal);outline-offset:4px}
@media (max-width:1080px){
  .wkx-hero{grid-template-columns:minmax(0,1fr);padding-top:var(--header-h);min-height:0}
  .wkx-hero__media{order:-1;aspect-ratio:16/10}
  .wkx-hero__text{padding:var(--sp-6) var(--gutter)}
  .wkx-outs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wkx-outs li:nth-child(3){border-left:0;padding-left:0}
  .wkx-outs li:nth-child(n+3){border-top:1px solid var(--hairline)}
  .wkx-prog{grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}
  .wkx-prog__side{position:static}
  .wkl__row{grid-template-columns:56px 200px minmax(0,1fr);gap:28px}
  .wkl__meta{grid-column:3;border-left:0;padding-left:0;flex-direction:row;flex-wrap:wrap;gap:16px;align-items:baseline}
}
@media (max-width:640px){
  .wkx-outs{grid-template-columns:minmax(0,1fr)}
  .wkx-outs li{border-left:0;padding-left:0;border-top:1px solid var(--hairline)}
  .wkx-outs li:first-child{border-top:0}
  .wkx-wide{aspect-ratio:4/3}
  .wkl__row{grid-template-columns:minmax(0,1fr);gap:16px}
  .wkl__num{display:none}
  .wkl__meta{grid-column:auto}
}

/* ---------- Workshops · course-page layout ------------------------------------------ */
.wkl__row{grid-template-columns:260px minmax(0,1fr) 180px}
.wkc-hero__sub{margin-top:14px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:var(--fs-h3);color:rgba(255,255,255,.9)}
.wkc-tabs{position:sticky;top:var(--header-h);z-index:40;background:var(--paper);border-bottom:1px solid var(--hairline)}
.wkc-tabs .wrap{display:flex;gap:36px;overflow-x:auto;scrollbar-width:none}
.wkc-tabs a{flex:0 0 auto;padding:20px 0 18px;border-bottom:2px solid transparent;font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);text-decoration:none}
.wkc-tabs a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.wkc{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:var(--sp-7);align-items:start}
.wkc__sec{scroll-margin-top:calc(var(--header-h) + 80px)}
.wkc__sec + .wkc__sec{margin-top:var(--sp-7);padding-top:var(--sp-6);border-top:1px solid var(--hairline)}
.wkc__lede{margin-top:16px;font-family:var(--serif);font-weight:500;font-size:var(--fs-statement);line-height:1.35;letter-spacing:var(--track-display);text-wrap:pretty}
.wkc__sec .prose{margin-top:24px}
.wkc__fig{margin:40px 0 0;aspect-ratio:16/9;overflow:hidden;background:var(--bone)}
.wkc__fig img{width:100%;height:100%;object-fit:cover}
.wkc__meta{margin-top:12px;margin-bottom:32px;color:var(--muted);font-size:var(--fs-fine)}
.wkc-outs{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline)}
.wkc-outs li{background:var(--paper);padding:24px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start}
.wkc-outs span{font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1;color:var(--olive)}
.wkc-outs p{font-size:var(--fs-body);line-height:1.55}
.wkc__aside{position:sticky;top:calc(var(--header-h) + 88px)}
.wkc-card{border:1px solid var(--hairline);background:var(--paper)}
.wkc-card__media{margin:0;aspect-ratio:16/10;overflow:hidden;background:var(--bone)}
.wkc-card__media img{width:100%;height:100%;object-fit:cover}
.wkc-card__body{padding:28px}
.wkc-card__label{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.wkc-card__facts{margin:16px 0 0;border-top:1px solid var(--ink)}
.wkc-card__facts > div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--hairline);font-size:var(--fs-fine)}
.wkc-card__facts dt{color:var(--muted)}
.wkc-card__facts dd{margin:0;color:var(--ink);font-weight:500}
.wkc-card__fee{display:flex;justify-content:space-between;align-items:baseline;margin-top:20px}
.wkc-card__fee span{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.wkc-card__fee strong{font-family:var(--serif);font-weight:500;font-size:var(--fs-h3)}
.wkc-card__cta{width:100%;justify-content:center;margin-top:20px}
.wkc-card__note{margin-top:16px;font-size:var(--fs-fine);line-height:1.6;color:var(--muted)}
@media (max-width:1080px){
  .wkc{grid-template-columns:minmax(0,1fr);gap:var(--sp-6)}
  .wkc__aside{position:static;order:-1}
  .wkc-card{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
  .wkl__row{grid-template-columns:200px minmax(0,1fr)}
  .wkl__meta{grid-column:2}
}
@media (max-width:640px){
  .wkc-card{display:block}
  .wkc-outs{grid-template-columns:minmax(0,1fr)}
  .wkc-tabs .wrap{gap:24px}
  .wkl__row{grid-template-columns:minmax(0,1fr)}
  .wkl__meta{grid-column:auto}
}

@media (max-width:1080px) and (min-width:641px){
  .wkc-card__media{aspect-ratio:auto;height:100%;min-height:240px;position:relative}
  .wkc-card__media img{position:absolute;inset:0;width:100%;height:100%}
}

/* ---------- Workshops index · editorial grid ------------------------------------- */
.wkg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px 48px}
.wkg__card{display:flex;flex-direction:column;color:var(--ink);text-decoration:none}
.wkg__media{margin:0;aspect-ratio:3/2;overflow:hidden;background:var(--bone)}
.wkg__media img{width:100%;height:100%;object-fit:cover}
.wkg__body{display:flex;flex-direction:column;flex:1 1 auto;padding-top:24px;border-top:0}
.wkg__sub{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.wkg__title{margin-top:12px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1.15;letter-spacing:-.01em;text-wrap:balance;min-height:2.3em}
.wkg__sum{margin-top:14px;color:var(--muted);font-size:var(--fs-body);line-height:1.6;max-width:52ch}
.wkg__foot{margin-top:auto;padding-top:24px;display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.wkg__foot > span:first-child{font-family:var(--serif);font-weight:500;font-size:var(--fs-lede)}
.wkg__foot{border-bottom:1px solid var(--hairline);padding-bottom:20px}
.wkg__go{font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.wkg__card:hover .wkg__title,.wkg__card:hover .wkg__go{color:var(--royal)}
.wkg__card:focus-visible{outline:2px solid var(--royal);outline-offset:6px}
@media (max-width:860px){
  .wkg{grid-template-columns:minmax(0,1fr);gap:56px}
  .wkg__title{min-height:0}
}

/* ---------- Workshop detail · banner and title ------------------------------------- */
.wkd-banner{margin:0;padding-top:var(--header-full);background:var(--bone)}
.wkd-banner img{display:block;width:100%;height:clamp(260px,42vh,460px);object-fit:cover;filter:grayscale(1)}
.wkd-head{padding:clamp(40px,5vw,72px) 0 clamp(32px,4vw,48px);background:var(--paper)}
.wkd-back{display:inline-block;font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);text-decoration:none}
.wkd-back:hover{color:var(--royal)}
.wkd-kicker{margin-top:28px;display:flex;align-items:center;gap:14px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.wkd-kicker::before{content:"";width:28px;height:1px;background:currentColor}
.wkd-title{margin-top:18px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h1);line-height:1.06;letter-spacing:var(--track-display);text-wrap:balance;max-width:20ch}
.wkd-sub{margin-top:16px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:var(--fs-h3);line-height:1.4;color:var(--muted)}
.wkc-tabs{border-top:1px solid var(--hairline)}
.wkx-band{background:var(--ink)}
.wkc-card{border-top:3px solid var(--ink)}
@media (max-width:1080px){.wkd-banner{padding-top:var(--header-h)}}

.wkd-aud{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.wkd-aud li{display:flex;flex-direction:column;gap:18px;padding:24px 24px 28px;background:var(--bone);border-top:2px solid var(--ink)}
.wkd-aud span{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);color:var(--olive)}
.wkd-aud p{font-size:var(--fs-lede);line-height:1.45;color:var(--ink);text-wrap:pretty}
@media (max-width:640px){.wkd-aud{grid-template-columns:minmax(0,1fr)}}

/* ---------- Workshops · pages, 3-up grid, calmer type ------------------------------ */
.wkp-tabs{display:flex;gap:32px;border-bottom:1px solid var(--hairline);margin-bottom:48px;overflow-x:auto;scrollbar-width:none}
.wkp-tabs a{flex:0 0 auto;padding:0 0 16px;border-bottom:2px solid transparent;margin-bottom:-1px;font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);text-decoration:none}
.wkp-tabs a:hover{color:var(--ink)}
.wkp-tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.wkg--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px}
.wkg--3 .wkg__title{font-size:var(--fs-h3);line-height:1.25;min-height:3.75em}
.wkg--3 .wkg__sum{font-size:var(--fs-fine);line-height:1.6}
.wkg--3 .wkg__foot > span:first-child{font-size:var(--fs-body)}
.wkg--3 .wkg__body{padding-top:18px}
.wkp-pages{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:64px;padding-top:24px;border-top:1px solid var(--hairline)}
.wkp-pages a{font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink);text-decoration:none}
.wkp-pages a:hover{color:var(--royal)}
.wkp-pages__next{justify-self:end}
.wkp-pages__nums{display:flex;gap:8px}
.wkp-pages__nums a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--hairline)}
.wkp-pages__nums a[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:#fff}
/* calmer type on workshop detail pages */
.wkd-title{font-size:var(--fs-h2);line-height:1.12}
.wkd-sub{font-size:var(--fs-lede)}
.wkc__lede{font-family:var(--sans);font-weight:400;font-size:var(--fs-lede);line-height:1.65;letter-spacing:0;color:var(--ink)}
.wkc__sec .h2{font-size:var(--fs-h2);line-height:1.25}
.wkc__sec + .wkc__sec{margin-top:var(--sp-6);padding-top:var(--sp-5)}
.wkc-outs span{font-size:var(--fs-lede)}
.wkc-outs p,.wkd-aud p{font-size:var(--fs-card);line-height:1.55}
.wkc-outs li{padding:20px}
.wkd-aud li{padding:20px 20px 22px;gap:12px}
.wkx-part__t{font-size:var(--fs-h3)}
.wkx-part + .wkx-part{margin-top:40px}
.wkx-mods summary{font-size:var(--fs-card);padding:18px 0}
.wk-items li{font-size:var(--fs-fine)}
@media (max-width:1080px){.wkg--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.wkg--3{grid-template-columns:minmax(0,1fr)}.wkg--3 .wkg__title{min-height:0}}

/* audience · hairline list, two columns */
.wkd-aud{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:0;margin:20px 0 0;border-top:1px solid var(--ink)}
.wkd-aud li{display:flex;align-items:baseline;gap:16px;padding:18px 0;background:none;border-top:0;border-bottom:1px solid var(--hairline);font-size:var(--fs-card);line-height:1.5;color:var(--ink);flex-direction:row}
.wkd-aud li::before{content:"";flex:0 0 14px;height:1px;background:var(--olive);transform:translateY(-4px)}
@media (max-width:640px){.wkd-aud{grid-template-columns:minmax(0,1fr)}}

/* overview · one text size throughout */
.wkc__main .wkc__lede,.wkc__main .prose p{font-family:var(--sans);font-weight:400;font-style:normal;font-size:var(--fs-body);line-height:1.7;letter-spacing:0;color:var(--ink);max-width:68ch}
.wkc__main .wkc__lede{margin-top:16px}
.wkc__main .prose{margin-top:0}
.wkc__main .prose p{margin-top:16px}

.wkg--3 .wkg__title{margin-top:0;min-height:2.5em}
@media (max-width:640px){.wkg--3 .wkg__title{min-height:0}}

/* title block · same style as the Overview section */
.wkd-head{padding:clamp(40px,4.5vw,64px) 0 clamp(28px,3vw,40px)}
.wkd-eyebrow{margin-top:28px}
.wkd-head .wkd-title{margin-top:12px;font-family:inherit;font-weight:inherit;font-size:var(--fs-h2);line-height:1.2;letter-spacing:normal;max-width:32ch}
.wkd-head .wkd-sub{margin-top:12px;font-family:var(--sans);font-style:normal;font-weight:400;font-size:var(--fs-body);line-height:1.6;color:var(--muted)}

/* workshop closing · compact video panel */
.wkv{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:stretch;border:1px solid var(--hairline);background:var(--bone)}
.wkv__text{padding:clamp(28px,3.5vw,48px);display:flex;flex-direction:column;justify-content:center}
.wkv__title.h2{margin-top:12px;font-size:var(--fs-h2);line-height:1.25}
.wkv__lede{margin-top:14px;color:var(--muted);font-size:var(--fs-card);line-height:1.6;max-width:44ch}
.wkv__media{margin:0;position:relative;min-height:260px;overflow:hidden;background:var(--ink)}
.wkv__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.85)}
@media (max-width:860px){.wkv{grid-template-columns:minmax(0,1fr)}.wkv__media{order:-1;aspect-ratio:16/9;min-height:0}}

/* ---------- Contact · enquiry panel ------------------------------------------------- */
.ce{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);border:1px solid var(--hairline)}
.ce__side{background:var(--ink);color:#fff;padding:clamp(32px,4vw,56px);display:flex;flex-direction:column}
.ce__eyebrow{color:#CFCBA8}
.ce__title{margin-top:16px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1.15;letter-spacing:-.01em;text-wrap:balance}
.ce__lede{margin-top:16px;color:rgba(255,255,255,.78);font-size:var(--fs-body);line-height:1.6;max-width:40ch}
.ce__facts{margin:40px 0 0;border-top:1px solid rgba(255,255,255,.22)}
.ce__facts div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.ce__facts dt{font:500 var(--fs-micro)/1.6 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:rgba(255,255,255,.6)}
.ce__facts dd{margin:0;font-size:var(--fs-card);line-height:1.55;color:#fff}
.ce__facts a{color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.ce__facts a:hover{color:#CFCBA8}
.ce__note{margin-top:auto;padding-top:32px;font-size:var(--fs-fine);line-height:1.6;color:rgba(255,255,255,.62)}
.ce__main{background:var(--paper);padding:clamp(28px,4vw,56px)}
.ce-form{display:flex;flex-direction:column;gap:28px}
.ce-form .fieldset{border:0;padding:0;margin:0;min-width:0}
.ce-label,.ce-form .field > label{display:block;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin-bottom:10px;padding:0}
.ce-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ce-opt{position:relative;display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--hairline);cursor:pointer;font-size:var(--fs-card);line-height:1.3;color:var(--ink);background:var(--paper)}
.ce-opt:hover{border-color:var(--ink)}
.ce-opt input{position:absolute;opacity:0;pointer-events:none}
.ce-opt__dot{flex:0 0 auto;width:16px;height:16px;border-radius:50%;border:1px solid var(--muted);display:grid;place-items:center}
.ce-opt__dot::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink);transform:scale(0)}
.ce-opt:has(input:checked){border-color:var(--ink);background:var(--bone)}
.ce-opt:has(input:checked) .ce-opt__dot{border-color:var(--ink)}
.ce-opt:has(input:checked) .ce-opt__dot::after{transform:scale(1)}
.ce-opt:has(input:focus-visible){outline:2px solid var(--royal);outline-offset:2px}
.ce-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ce-form .field{margin:0}
.ce-form .field input,.ce-form .field textarea,.ce-sel select{width:100%;border:1px solid var(--hairline);border-radius:0;background:var(--paper);padding:14px 16px;font:400 var(--fs-body)/1.6 var(--sans);color:var(--ink);box-shadow:none;outline:none}
.ce-form .field textarea{min-height:140px;resize:vertical}
.ce-form .field input:hover,.ce-form .field textarea:hover,.ce-sel select:hover{border-color:var(--muted)}
.ce-form .field input:focus,.ce-form .field textarea:focus,.ce-sel select:focus{border-color:var(--ink)}
.ce-form .field input:focus-visible,.ce-form .field textarea:focus-visible,.ce-sel select:focus-visible{outline:2px solid var(--royal);outline-offset:2px}
.ce-form [aria-invalid="true"]{border-color:var(--royal)}
.ce-sel{position:relative;display:block}
.ce-sel select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer}
.ce-sel::after{content:"";position:absolute;right:18px;top:50%;width:7px;height:7px;margin-top:-6px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:rotate(45deg);pointer-events:none}
.ce-actions{display:flex;justify-content:flex-start;padding-top:24px;border-top:1px solid var(--hairline)}
.ce-form .form__note{font-size:var(--fs-fine);color:var(--muted);margin-top:-12px}
@media (max-width:1080px){.ce{grid-template-columns:minmax(0,1fr)}.ce__note{margin-top:24px}}
@media (max-width:640px){.ce-seg,.ce-grid{grid-template-columns:minmax(0,1fr)}.ce__facts div{grid-template-columns:minmax(0,1fr);gap:4px}}

.compare__tag{display:block;margin-top:10px;font:500 var(--fs-micro)/1.5 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}

/* ---------- Contact · how we work ---------------------------------------------------- */
.hw{background:var(--ink);color:#fff;padding:var(--sec-y) 0}
.hw__eyebrow{color:#CFCBA8}
.hw__title{margin-top:16px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1.15;letter-spacing:-.01em;max-width:22ch;text-wrap:balance}
.hw__list{list-style:none;margin:56px 0 0;padding:0;border-top:1px solid rgba(207,203,168,.55);border-bottom:1px solid rgba(207,203,168,.55)}
.hw__step{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;padding:36px 0}
.hw__step + .hw__step{border-top:1px solid rgba(255,255,255,.14)}
.hw__lead{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:start}
.hw__n{font-family:var(--serif);font-style:italic;font-weight:400;font-size:var(--fs-h2);line-height:1;color:#CFCBA8}
.hw__t{font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1.2;letter-spacing:-.01em}
.hw__s{margin-top:6px;font-size:var(--fs-fine);color:rgba(255,255,255,.6)}
.hw__tag{display:inline-block;margin-top:16px;padding:7px 14px;border:1px solid rgba(207,203,168,.6);border-radius:999px;font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:#CFCBA8}
.hw__roles{display:flex;flex-direction:column;gap:20px}
.hw__r{font:500 var(--fs-kicker)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:#fff}
.hw__d{margin-top:6px;font-size:var(--fs-card);line-height:1.6;color:rgba(255,255,255,.75);max-width:58ch}
@media (max-width:860px){.hw__step{grid-template-columns:minmax(0,1fr);gap:20px}.hw__roles{padding-left:80px}}
@media (max-width:520px){.hw__lead{grid-template-columns:44px minmax(0,1fr)}.hw__roles{padding-left:60px}}

/* workshop panel · animated network loop, inverted to ink on paper */
.wkv__media{background:#F6F5F2}
.wkv__media video{filter:invert(1) grayscale(1) contrast(1.15) brightness(1.02)}

/* programme · space between section heading and first part */
.wkc__sec#programme > .h2 + .wkx-part,.wkc__sec#programme > h2 + .wkx-part{margin-top:32px}
.wkc__sec#programme .wkx-part:first-of-type{margin-top:32px}
.wkc__sec > .h2 + *{margin-top:24px}

/* ---------- Customised TMS ------------------------------------------------------------ */
.tms-mods{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.tms-mods li{padding:24px 24px 26px 0;border-bottom:1px solid var(--hairline)}
.tms-mods li:not(:nth-child(3n+1)){padding-left:24px;border-left:1px solid var(--hairline)}
.tms-mods__k{font:500 var(--fs-kicker)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink)}
.tms-mods__v{margin-top:8px;font-size:var(--fs-fine);line-height:1.6;color:var(--muted)}
.tms-f{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:center}
.tms-f--rev .tms-f__shot{order:2}
.tms-f__shot{margin:0;border:1px solid var(--hairline);background:#fff}
.tms-f__shot img{display:block;width:100%;height:auto}
.tms-f__text .h2{font-size:var(--fs-h2);line-height:1.2}
.tms-f__d{margin-top:18px;font-size:var(--fs-body);line-height:1.7;color:var(--muted);max-width:52ch}
@media (max-width:1080px){.tms-mods{grid-template-columns:repeat(2,minmax(0,1fr))}.tms-mods li:not(:nth-child(3n+1)){padding-left:0;border-left:0}.tms-mods li:nth-child(even){padding-left:24px;border-left:1px solid var(--hairline)}}
@media (max-width:860px){.tms-f{grid-template-columns:minmax(0,1fr)}.tms-f--rev .tms-f__shot{order:0}}
@media (max-width:560px){.tms-mods{grid-template-columns:minmax(0,1fr)}.tms-mods li:nth-child(even){padding-left:0;border-left:0}}

.wkv__media video{filter:grayscale(1) contrast(1.02);mix-blend-mode:normal;opacity:1;object-fit:cover;width:100%;height:100%}

/* ---------- Header · ATO sub-menu -------------------------------------------------- */
.hdr__nav .hdr__has{position:relative}
.hdr__nav .hdr__has > a::after{content:"";display:inline-block;width:5px;height:5px;margin-left:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.hdr__sub{position:absolute;left:50%;top:100%;z-index:90;min-width:220px;margin:0;padding:10px 0;list-style:none;background:var(--paper);border:1px solid var(--hairline);border-top:2px solid var(--ink);box-shadow:0 14px 32px rgba(14,13,10,.08);transform:translate(-50%,6px);opacity:0;visibility:hidden;pointer-events:none;display:block}
.hdr__sub::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.hdr__has:hover > .hdr__sub,.hdr__has:focus-within > .hdr__sub{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.hdr__nav .hdr__sub li{display:block;margin:0;padding:0}
.hdr__nav .hdr__sub a{display:block;padding:11px 22px;white-space:nowrap;text-align:left;color:var(--ink)}
.hdr__nav .hdr__sub a:hover,.hdr__nav .hdr__sub a:focus-visible{background:var(--bone);color:var(--royal)}
.drawer__subitem .drawer__title{font-size:var(--fs-fine);color:var(--muted);letter-spacing:var(--track-micro)}
.drawer__main .drawer__subitem{padding-top:10px;padding-bottom:10px}
.drawer__subitem .drawer__title::before{content:"— ";color:var(--olive)}

/* sub-menu must escape the nav row, and must not inherit the row's fixed height */
.hdr__nav > ul{overflow:visible}
.hdr__nav ul.hdr__sub{display:block;height:auto;overflow:visible;gap:0;flex-wrap:nowrap;top:calc(100% - 22px)}
.hdr__nav .hdr__sub a{font-size:var(--fs-kicker);line-height:1.2}
.site-header,.hdr__nav{overflow:visible}

/* ---------- How we work · four-stage track ------------------------------------------ */
.hw2{background:var(--ink);color:#fff;padding:var(--sec-y) 0}
.hw2__head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:end;padding-bottom:clamp(40px,5vw,64px)}
.hw2__eyebrow{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:#B5B08A}
.hw2__title{margin-top:16px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h1);line-height:1.08;letter-spacing:var(--track-display);color:#fff;text-wrap:balance;max-width:16ch}
.hw2__intro{font-size:var(--fs-body);line-height:1.7;color:rgba(255,255,255,.72);max-width:44ch}
.hw2__track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.hw2__track::before{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:rgba(255,255,255,.22)}
.hw2__step{position:relative;padding:0 clamp(16px,2vw,32px) 0 0}
.hw2__step + .hw2__step{padding-left:clamp(16px,2vw,32px);border-left:1px solid rgba(255,255,255,.1)}
.hw2__node{height:13px;display:flex;align-items:center;margin-bottom:32px}
.hw2__dot{width:13px;height:13px;border-radius:50%;background:var(--ink);border:1px solid #B5B08A;box-shadow:0 0 0 6px var(--ink)}
.hw2__step:first-child .hw2__dot{background:#B5B08A}
.hw2__step + .hw2__step .hw2__node{margin-left:calc(-1 * clamp(16px,2vw,32px) - 7px)}
.hw2__phase{display:flex;align-items:baseline;gap:12px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:rgba(255,255,255,.55)}
.hw2__n{font-family:var(--serif);font-style:italic;font-weight:400;font-size:var(--fs-h3);letter-spacing:0;text-transform:none;color:#B5B08A}
.hw2__t{margin-top:14px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1.2;letter-spacing:-.01em;color:#fff;min-height:2.4em}
.hw2__tag{display:inline-block;margin-top:10px;padding:6px 12px;border:1px solid rgba(181,176,138,.6);border-radius:999px;font:500 var(--fs-label)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:#B5B08A}
.hw2__roles{margin:28px 0 0;display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(255,255,255,.14)}
.hw2__role{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.hw2__role dt{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:#fff}
.hw2__role dd{margin:6px 0 0;font-size:var(--fs-fine);line-height:1.6;color:rgba(255,255,255,.7)}
@media (max-width:1080px){
  .hw2__track{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:56px}
  .hw2__track::before{display:none}
  .hw2__step:nth-child(3){padding-left:0;border-left:0}
  .hw2__step:nth-child(3) .hw2__node{margin-left:0}
}
@media (max-width:720px){
  .hw2__head{grid-template-columns:minmax(0,1fr);align-items:start}
  .hw2__track{grid-template-columns:minmax(0,1fr);row-gap:0;padding-left:28px}
  .hw2__track::before{display:block;left:6px;right:auto;top:6px;bottom:0;width:1px;height:auto}
  .hw2__step,.hw2__step + .hw2__step{padding:0 0 48px;border-left:0}
  .hw2__node,.hw2__step + .hw2__step .hw2__node,.hw2__step:nth-child(3) .hw2__node{position:absolute;left:-28px;top:0;margin:0}
  .hw2__t{min-height:0}
}

/* ---------- Enquiry form · three blocks --------------------------------------------- */
.ce2{display:flex;flex-direction:column;gap:0}
.ce2__block{border:0;margin:0;padding:0 0 36px;min-width:0}
.ce2__block + .ce2__block{padding-top:36px;border-top:1px solid var(--hairline)}
.ce2__legend{display:flex;align-items:baseline;gap:14px;padding:0;margin:0 0 22px;float:left;width:100%}
.ce2__legend + *{clear:both}
.ce2__step{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.ce2__q{font-family:var(--serif);font-weight:500;font-size:var(--fs-h3);line-height:1.25;letter-spacing:-.01em;color:var(--ink)}
.ce2__opt{font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted)}
.ce2__tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ce2__tiles .jn-tile{padding:18px}
.ce2__chips{display:flex;flex-wrap:wrap;gap:8px}
.ce2__chip{position:relative;cursor:pointer}
.ce2__chip input{position:absolute;opacity:0;width:1px;height:1px}
.ce2__chip span{display:inline-flex;align-items:center;height:40px;padding:0 16px;border:1px solid var(--hairline);border-radius:999px;font-size:var(--fs-fine);color:var(--ink);background:var(--paper)}
.ce2__chip:hover span{border-color:var(--ink)}
.ce2__chip input:checked + span{background:var(--ink);border-color:var(--ink);color:#fff}
.ce2__chip input:focus-visible + span{outline:2px solid var(--royal);outline-offset:2px}
.ce2 .field input,.ce2 .field textarea{border:1px solid var(--hairline);padding:14px 16px;background:var(--paper)}
.ce2 .field input:hover,.ce2 .field textarea:hover,.ce2 .field input:focus,.ce2 .field textarea:focus{border-color:var(--ink)}
.ce2 .field input[aria-invalid="true"],.ce2 .field textarea[aria-invalid="true"]{border-color:var(--royal)}
.ce2__foot{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:28px;border-top:1px solid var(--hairline)}
.ce2__foot .form__note{margin:0}
.ce2__done{padding:40px 0;display:flex;flex-direction:column;gap:14px}
.ce2__done p{color:var(--muted)}
@media (max-width:720px){
  .ce2__tiles{grid-template-columns:minmax(0,1fr)}
  .ce2 .jn-grid2{grid-template-columns:minmax(0,1fr)}
  .ce2__foot{flex-direction:column-reverse;align-items:stretch}
}

/* How we work · light ground */
.hw2{background:var(--bone);color:var(--ink)}
.hw2__eyebrow{color:var(--olive)}
.hw2__title,.hw2__t{color:var(--ink)}
.hw2__intro{color:var(--muted)}
.hw2__track::before{background:var(--hairline)}
.hw2__step + .hw2__step{border-left-color:var(--hairline)}
.hw2__dot{background:var(--bone);border-color:var(--olive);box-shadow:0 0 0 6px var(--bone)}
.hw2__step:first-child .hw2__dot{background:var(--olive)}
.hw2__phase{color:var(--muted)}
.hw2__n{color:var(--olive)}
.hw2__tag{border-color:var(--olive);color:var(--olive)}
.hw2__roles{border-top-color:var(--hairline)}
.hw2__role{border-bottom-color:var(--hairline)}
.hw2__role dt{color:var(--ink)}
.hw2__role dd{color:var(--muted)}

/* sub-menu opens below its label, never over it */
.hdr__nav ul.hdr__sub{top:100%;margin-top:14px}
.hdr__nav ul.hdr__sub::before{top:-15px;height:15px}

/* workshop pages · close the gap before the in-house panel */
[data-block="wk-body"]{padding-bottom:clamp(48px,5vw,72px)}
[data-block="wk-cta"].section{padding-top:0}

/* sub-menu · no heavy top rule */
.hdr__nav ul.hdr__sub{border-top:1px solid var(--hairline)}

/* drawer · sub-items use the same label type as their parents */
.drawer__main a.drawer__subitem .drawer__title{font:500 var(--fs-kicker)/1.3 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;text-indent:.08em;color:var(--muted)}
.drawer__main a.drawer__subitem:hover .drawer__title{color:var(--royal)}

/* workshop cards · titles hold to two lines */
.wkg--3 .wkg__title{font-size:var(--fs-h3);line-height:1.3;min-height:2.6em;text-wrap:balance;hyphens:none}

/* ---------- Workshops index · catalogue ------------------------------------------ */
.wk3-top{padding:calc(var(--header-full) + clamp(32px,4vw,56px)) 0 0;background:var(--paper)}
.wk3-crumb{justify-content:flex-start;color:var(--muted)}
.wk3-crumb > span:last-child{color:var(--ink)}
.wk3-crumb a:hover{color:var(--royal)}
.wk3-top__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:end;margin-top:clamp(28px,3vw,40px);padding-bottom:clamp(40px,5vw,64px)}
.wk3-kicker{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.wk3-h1{margin-top:18px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h1);line-height:1.04;letter-spacing:var(--track-display);color:var(--ink);text-wrap:balance;max-width:14ch}
.wk3-top__copy p{font-size:var(--fs-card);line-height:1.7;color:var(--muted);max-width:46ch}
.wk3-top__copy p + p{margin-top:14px}
.wk3-top__copy .wk3-top__lead{font-family:var(--serif);font-weight:500;font-size:var(--fs-h3);line-height:1.35;color:var(--ink);margin-bottom:18px}
.wk3-tabs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
.wk3-tabs a{display:flex;align-items:center;gap:14px;padding:22px 0;color:var(--muted);text-decoration:none;font:500 var(--fs-kicker)/1.3 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;border-bottom:1px solid var(--hairline)}
.wk3-tabs a + a{padding-left:24px;border-left:1px solid var(--hairline)}
.wk3-tabs a::before{content:"";width:8px;height:8px;border-radius:50%;border:1px solid currentColor}
.wk3-tabs a[aria-current="page"]{color:var(--ink);border-bottom:2px solid var(--ink)}
.wk3-tabs a[aria-current="page"]::before{background:var(--olive);border-color:var(--olive)}
.wk3-tabs a:hover{color:var(--royal)}
.wk3-cat-wrap{padding:var(--sec-y) 0}
.wk3-cat{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:start}
.wk3-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--hairline)}
.wk3-row{display:grid;grid-template-columns:44px minmax(0,1fr) 28px;gap:20px;align-items:start;padding:28px 0;border-bottom:1px solid var(--hairline);color:var(--ink);text-decoration:none}
.wk3-row__n{font-family:var(--serif);font-style:italic;font-size:var(--fs-lede);color:var(--olive);padding-top:3px}
.wk3-row__body{display:flex;flex-direction:column;gap:10px;min-width:0}
.wk3-row__t{font-family:var(--serif);font-weight:500;font-size:var(--fs-h3);line-height:1.25;letter-spacing:-.01em;text-wrap:balance}
.wk3-row__s{font-size:var(--fs-fine);line-height:1.65;color:var(--muted);max-width:58ch}
.wk3-row__meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:4px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink)}
.wk3-row__meta span + span{position:relative;padding-left:18px}
.wk3-row__meta span + span::before{content:"";position:absolute;left:0;top:50%;width:6px;height:1px;background:var(--olive)}
.wk3-row__go{justify-self:end;font-size:var(--fs-h3);line-height:1;color:var(--muted);padding-top:4px}
.wk3-row__thumb{display:none}
.wk3-row:hover .wk3-row__t,.wk3-row:focus-visible .wk3-row__t,.wk3-row:hover .wk3-row__go,.wk3-row:focus-visible .wk3-row__go{color:var(--royal)}
.wk3-row:hover,.wk3-row:focus-visible{background:linear-gradient(90deg,var(--bone),var(--bone)) no-repeat;background-size:100% 100%;outline:none}
.wk3-row:focus-visible{box-shadow:inset 2px 0 0 var(--royal)}
.wk3-prev{position:sticky;top:calc(var(--header-h) + 24px);aspect-ratio:4/5;background:var(--bone)}
.wk3-layer{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;display:flex;flex-direction:column}
.wk3-layer:first-child{opacity:1;visibility:visible}
.wk3-cat:has(.wk3-row:is(:hover,:focus-visible)) .wk3-layer:first-child{opacity:0;visibility:hidden}
.wk3-cat:has(.wk3-list li:nth-child(1) .wk3-row:is(:hover,:focus-visible)) .wk3-layer:nth-child(1){opacity:1;visibility:visible}
.wk3-cat:has(.wk3-list li:nth-child(2) .wk3-row:is(:hover,:focus-visible)) .wk3-layer:nth-child(2){opacity:1;visibility:visible}
.wk3-cat:has(.wk3-list li:nth-child(3) .wk3-row:is(:hover,:focus-visible)) .wk3-layer:nth-child(3){opacity:1;visibility:visible}
.wk3-cat:has(.wk3-list li:nth-child(4) .wk3-row:is(:hover,:focus-visible)) .wk3-layer:nth-child(4){opacity:1;visibility:visible}
.wk3-cat:has(.wk3-list li:nth-child(5) .wk3-row:is(:hover,:focus-visible)) .wk3-layer:nth-child(5){opacity:1;visibility:visible}
.wk3-cat:has(.wk3-list li:nth-child(6) .wk3-row:is(:hover,:focus-visible)) .wk3-layer:nth-child(6){opacity:1;visibility:visible}
.wk3-layer img{flex:1 1 auto;min-height:0;width:100%;object-fit:cover;filter:grayscale(1)}
.wk3-layer figcaption{display:flex;flex-direction:column;gap:6px;padding:18px 0 0;background:var(--paper)}
.wk3-layer figcaption span{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink)}
.wk3-layer figcaption em{font-family:var(--serif);font-size:var(--fs-body);line-height:1.45;color:var(--muted)}
.wk3-cta{background:var(--bone);border-top:1px solid var(--hairline);padding:var(--sec-y) 0}
.wk3-cta__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:end}
.wk3-cta__t{margin-top:16px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1.12;letter-spacing:var(--track-display);color:var(--ink)}
.wk3-cta__d{font-size:var(--fs-card);line-height:1.7;color:var(--muted);max-width:46ch}
.wkp-pages{margin-top:clamp(40px,5vw,64px)}
@media (max-width:1080px){
  .wk3-top{padding-top:calc(var(--header-h) + 32px)}
  .wk3-cat{grid-template-columns:minmax(0,1fr)}
  .wk3-prev{display:none}
  .wk3-row{grid-template-columns:minmax(0,1fr) 112px;grid-template-areas:"body thumb";gap:20px}
  .wk3-row__n,.wk3-row__go{display:none}
  .wk3-row__body{grid-area:body}
  .wk3-row__thumb{display:block;grid-area:thumb;width:112px;aspect-ratio:1;object-fit:cover;filter:grayscale(1)}
}
@media (max-width:720px){
  .wk3-top__grid,.wk3-cta__grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px}
  .wk3-tabs{grid-template-columns:minmax(0,1fr)}
  .wk3-tabs a + a{padding-left:0;border-left:0}
  .wk3-row{grid-template-columns:minmax(0,1fr) 84px}
  .wk3-row__thumb{width:84px}
}

/* workshops index · breadcrumb on a light ground */
.wk3-top .wk3-crumb,.wk3-top .wk3-crumb a{color:var(--muted)}
.wk3-top .wk3-crumb > span:not(:last-child){opacity:1;color:var(--muted)}
.wk3-top .wk3-crumb > span:last-child{color:var(--ink)}
.wk3-top .wk3-crumb a:hover{color:var(--royal)}

/* sub-menu · flat, no shadow */
.hdr__nav ul.hdr__sub{box-shadow:none !important}

/* ---------- Customised TMS · redesign ------------------------------------------- */
.tms2-top{padding:calc(var(--header-full) + clamp(32px,4vw,64px)) 0 clamp(48px,6vw,88px);background:var(--paper);border-bottom:1px solid var(--hairline)}
.tms2-top__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:center}
.tms2-h1{margin-top:18px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h1);line-height:1.06;letter-spacing:var(--track-display);color:var(--ink);text-wrap:balance}
.tms2-top__lede{margin-top:20px;font-size:var(--fs-body);line-height:1.7;color:var(--muted);max-width:44ch}
.tms2-top__shot{margin:0;border:1px solid var(--hairline);background:#fff}
.tms2-top__shot img{display:block;width:100%;height:auto}
.tms2-mods-wrap{padding:0 0 clamp(56px,6vw,96px)}
.tms2-mods{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--ink)}
.tms2-mods li{padding:22px 18px 24px 0;border-bottom:1px solid var(--hairline)}
.tms2-mods li + li{padding-left:18px;border-left:1px solid var(--hairline)}
.tms2-mods__n{font-family:var(--serif);font-style:italic;font-size:var(--fs-body);color:var(--olive)}
.tms2-mods__k{margin-top:10px;font:500 var(--fs-kicker)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink)}
.tms2-mods__v{margin-top:8px;font-size:var(--fs-fine);line-height:1.6;color:var(--muted)}
.tms2-feat__head{max-width:40ch;margin-bottom:clamp(32px,4vw,48px)}
.tms2-cat{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px);align-items:start}
.tms2-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--hairline)}
.tms2-row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:22px 16px 22px 0;border-bottom:1px solid var(--hairline);color:var(--ink);text-decoration:none}
.tms2-row__n{font-family:var(--serif);font-style:italic;font-size:var(--fs-body);color:var(--olive);padding-top:1px;padding-left:8px}
.tms2-row__body{display:flex;flex-direction:column;gap:8px;min-width:0}
.tms2-row__k{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.tms2-row__t{font-family:var(--serif);font-weight:500;font-size:var(--fs-h3);line-height:1.25;letter-spacing:-.01em}
.tms2-row__d{font-size:var(--fs-fine);line-height:1.65;color:var(--muted)}
.tms2-row:hover .tms2-row__t,.tms2-row:focus-visible .tms2-row__t{color:var(--royal)}
.tms2-row:focus-visible{outline:2px solid var(--royal);outline-offset:-2px}
.tms2-list li:first-child .tms2-row{background:var(--bone)}
.tms2-cat:has(.tms2-row:is(:hover,:focus-visible)) .tms2-list li:first-child .tms2-row{background:none}
.tms2-row__shot{display:none}
.tms2-prev{position:sticky;top:calc(var(--header-h) + 24px);aspect-ratio:16/10;border:1px solid var(--hairline);background:#fff}
.tms2-layer{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;display:flex;flex-direction:column}
.tms2-layer:first-child{opacity:1;visibility:visible}
.tms2-cat:has(.tms2-row:is(:hover,:focus-visible)) .tms2-layer:first-child{opacity:0;visibility:hidden}
.tms2-cat:has(.tms2-list li:nth-child(1) .tms2-row:is(:hover,:focus-visible)) .tms2-layer:nth-child(1){opacity:1;visibility:visible}
.tms2-cat:has(.tms2-list li:nth-child(1) .tms2-row:is(:hover,:focus-visible)) .tms2-list li:nth-child(1) .tms2-row{background:var(--bone)}
.tms2-cat:has(.tms2-list li:nth-child(2) .tms2-row:is(:hover,:focus-visible)) .tms2-layer:nth-child(2){opacity:1;visibility:visible}
.tms2-cat:has(.tms2-list li:nth-child(2) .tms2-row:is(:hover,:focus-visible)) .tms2-list li:nth-child(2) .tms2-row{background:var(--bone)}
.tms2-cat:has(.tms2-list li:nth-child(3) .tms2-row:is(:hover,:focus-visible)) .tms2-layer:nth-child(3){opacity:1;visibility:visible}
.tms2-cat:has(.tms2-list li:nth-child(3) .tms2-row:is(:hover,:focus-visible)) .tms2-list li:nth-child(3) .tms2-row{background:var(--bone)}
.tms2-cat:has(.tms2-list li:nth-child(4) .tms2-row:is(:hover,:focus-visible)) .tms2-layer:nth-child(4){opacity:1;visibility:visible}
.tms2-cat:has(.tms2-list li:nth-child(4) .tms2-row:is(:hover,:focus-visible)) .tms2-list li:nth-child(4) .tms2-row{background:var(--bone)}
.tms2-cat:has(.tms2-list li:nth-child(5) .tms2-row:is(:hover,:focus-visible)) .tms2-layer:nth-child(5){opacity:1;visibility:visible}
.tms2-cat:has(.tms2-list li:nth-child(5) .tms2-row:is(:hover,:focus-visible)) .tms2-list li:nth-child(5) .tms2-row{background:var(--bone)}
.tms2-cat:has(.tms2-list li:nth-child(6) .tms2-row:is(:hover,:focus-visible)) .tms2-layer:nth-child(6){opacity:1;visibility:visible}
.tms2-cat:has(.tms2-list li:nth-child(6) .tms2-row:is(:hover,:focus-visible)) .tms2-list li:nth-child(6) .tms2-row{background:var(--bone)}
.tms2-cat:has(.tms2-list li:nth-child(7) .tms2-row:is(:hover,:focus-visible)) .tms2-layer:nth-child(7){opacity:1;visibility:visible}
.tms2-cat:has(.tms2-list li:nth-child(7) .tms2-row:is(:hover,:focus-visible)) .tms2-list li:nth-child(7) .tms2-row{background:var(--bone)}
.tms2-cat:has(.tms2-list li:nth-child(8) .tms2-row:is(:hover,:focus-visible)) .tms2-layer:nth-child(8){opacity:1;visibility:visible}
.tms2-cat:has(.tms2-list li:nth-child(8) .tms2-row:is(:hover,:focus-visible)) .tms2-list li:nth-child(8) .tms2-row{background:var(--bone)}
.tms2-layer img{flex:1 1 auto;min-height:0;width:100%;object-fit:contain;object-position:center top;background:#fff}
.tms2-layer figcaption{position:absolute;left:0;bottom:-34px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
@media (max-width:1080px){
  .tms2-top{padding-top:calc(var(--header-h) + 32px)}
  .tms2-top__grid,.tms2-cat{grid-template-columns:minmax(0,1fr)}
  .tms2-mods{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tms2-mods li:nth-child(4){padding-left:0;border-left:0}
  .tms2-prev{display:none}
  .tms2-list li:first-child .tms2-row{background:none}
  .tms2-row{grid-template-columns:minmax(0,1fr);padding:28px 0}
  .tms2-row__n{display:none}
  .tms2-row__shot{display:block;width:100%;height:auto;margin-top:18px;border:1px solid var(--hairline);background:#fff}
}
@media (max-width:640px){
  .tms2-mods{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tms2-mods li:nth-child(4){padding-left:18px;border-left:1px solid var(--hairline)}
  .tms2-mods li:nth-child(odd){padding-left:0;border-left:0}
}

/* =====================================================================
   Customised TMS · Nest page (customised-tms.dc.html only, prefix nx-)
   ===================================================================== */
.nx-kicker{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive-deep)}
.nx-h1{margin-top:20px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h1);line-height:1.08;letter-spacing:var(--track-display);text-wrap:balance}
.nx-h2{margin-top:14px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1.15;letter-spacing:var(--track-display);text-wrap:balance;max-width:24ch}
.nx-lede,.nx-body,.nx-stand{margin-top:24px;font-size:var(--fs-lede);line-height:1.65;color:var(--ink);max-width:56ch;text-wrap:pretty}
.nx-src{margin-top:20px;font-size:var(--fs-caption);line-height:1.55;color:var(--muted);max-width:60ch}
.nx-num{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}

/* hero */
.nx-hero{padding:calc(var(--header-full) + 72px) 0 var(--sec-y)}
.nx-hero__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-6);align-items:center}

/* obligation */
.nx-oblig{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:var(--bone);padding:var(--sp-7) 0}
.nx-oblig__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-6);align-items:end}
.nx-date{margin-top:14px;font-variant-numeric:lining-nums}
.nx-oblig__p{font-size:var(--fs-lede);line-height:1.65;max-width:60ch}

/* ---- the Nest exhibit ---- */
.nx-glass{background:var(--bone);border:1px solid var(--hairline);padding:clamp(10px,1.6vw,20px)}
.nx-app{--acc:#2d7ff9;display:grid;grid-template-columns:128px minmax(0,1fr);grid-template-rows:auto 1fr;background:#fff;border:1px solid #e6e7ea;border-radius:10px;overflow:hidden;font:400 var(--fs-ui)/1.45 var(--sans);color:#1f2328;letter-spacing:0;text-transform:none}
.nx-app *{font-family:inherit}
.nx-app--solo{grid-template-columns:minmax(0,1fr)}
.nx-bar{grid-column:1/-1;display:flex;align-items:center;gap:10px;height:38px;padding:0 14px;border-bottom:1px solid #eeeff2}
.nx-bar__brand{font-weight:500;font-size:var(--fs-ui-lg)}
.nx-bar__org{color:#6b7280}
.nx-bar__date{margin-left:auto;color:#8a8f98;font-size:var(--fs-ui-sm)}
.nx-rail{background:#fafafa;border-right:1px solid #eeeff2;padding:12px 0}
.nx-rail__g{padding:5px 14px;font-size:var(--fs-ui-xs);font-weight:500;letter-spacing:var(--track-micro);text-transform:uppercase;color:#9aa0a8}
.nx-rail__g.is-on{color:#1f2328}
.nx-rail__sub{margin:2px 8px 6px;padding:5px 8px;border-radius:6px;background:#e8f1fe;color:#2d7ff9;font-size:var(--fs-ui-sm);font-weight:500}
.nx-main{padding:14px 16px 16px;min-width:0;display:flex;flex-direction:column;gap:10px}
.nx-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.nx-top__t{font-size:var(--fs-ui-lg);font-weight:500}
.nx-top__m{font-size:var(--fs-ui-sm);color:#6b7280}
.nx-count{font-size:var(--fs-ui-lg);color:#1f2328;font-weight:500;margin-left:4px}
.nx-card{border:1px solid #ececef;border-radius:10px;padding:10px 12px;background:#fff}
.nx-mono{font-family:var(--sans) !important;font-size:var(--fs-ui-sm);letter-spacing:0}
.nx-tbl{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #ececef;border-radius:10px;overflow:hidden;font-size:var(--fs-ui)}
.nx-tbl th{background:#f6f7f9;text-align:left;font-weight:500;font-size:var(--fs-ui-sm);color:#6b7280;padding:7px 10px}
.nx-tbl td{padding:7px 10px;border-top:1px solid #f0f1f3;vertical-align:middle}
.nx-tbl--tight td{padding:4px 10px}
.nx-tbl--tight th{padding:5px 10px}
.nx-muted{color:#9aa0a8}
.nx-reason{display:block;font-size:var(--fs-ui-sm);color:#b4232a;margin-top:1px}
.nx-chip{--c:#9aa0a8;--b:#f1f2f4;display:inline-flex;align-items:center;gap:6px;padding:2px 9px 2px 8px;border-radius:999px;background:var(--b);font-size:var(--fs-ui-sm);font-weight:500;white-space:nowrap;transition:background-color 240ms ease-out,color 240ms ease-out}
.nx-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c);transition:background-color 240ms ease-out}
[data-h="mint"]{--c:#1f9d6b;--b:#e6f6ee}
[data-h="lavender"]{--c:#7462e8;--b:#efedfd}
[data-h="peach"]{--c:#e5793d;--b:#fdefe6}
[data-h="sky"]{--c:#2d7ff9;--b:#e8f1fe}
[data-h="rose"]{--c:#dc3d43;--b:#fdecec}
[data-h="sand"]{--c:#b88a12;--b:#f9f2dd}
.nx-kv{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid #f0f1f3}
.nx-kv:first-child{border-top:0}
.nx-kv > span:first-child{color:#6b7280}
.nx-kv--total{padding-top:10px}
.nx-kv--total > span:first-child{color:#1f2328;font-weight:500}
.nx-big{font-size:var(--fs-body);font-weight:500}
.nx-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.nx-note{font-size:var(--fs-ui-sm);color:#6b7280}
.nx-sum{display:flex;flex-wrap:wrap;gap:6px}
.nx-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.nx-step{display:flex;justify-content:space-between;align-items:center;gap:12px}
.nx-step__when{font-weight:500}
.nx-step__what{color:#6b7280;font-size:var(--fs-ui-sm)}
.nx-step__st{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.nx-wx{display:flex;justify-content:space-between;gap:12px;background:#fafafa;color:#4b5058;font-size:var(--fs-ui-sm)}
.nx-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c,#e3e5e8);transition:background-color 220ms ease-out}
[data-h="none"].nx-dot{--c:#e3e5e8}
.nx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nx-batch__row{display:flex;justify-content:space-between;gap:12px;font-weight:500;margin-bottom:8px}
.nx-bar2{height:6px;border-radius:999px;background:#f0f1f3;overflow:hidden}
.nx-bar2 i{display:block;height:100%;background:#2d7ff9;transition:width 220ms ease-out}
.nx-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.nx-mini{display:flex;justify-content:space-between;align-items:baseline;gap:8px;color:#6b7280}
.nx-mini strong{color:#1f2328;font-size:var(--fs-ui-lg)}
.nx-ev{list-style:none;margin:0;padding:0;border:1px solid #ececef;border-radius:10px;overflow:hidden}
.nx-ev li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 12px;border-top:1px solid #f0f1f3}
.nx-ev li:first-child{border-top:0}
.nx-trail{display:flex;flex-direction:column;gap:6px}
.nx-trail__h{font-weight:500}
.nx-trail p:not(.nx-trail__h){display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;font-size:var(--fs-ui-sm);color:#4b5058}
.nx-in{animation:nxIn 280ms ease-out both}
@keyframes nxIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.nx-new td{background:#fbfaff}

/* ---- the class flow ---- */
.nx-flow{padding:var(--sec-y) 0 0}
.nx-flow__head{margin-bottom:var(--sp-5)}
.nx-skip{display:inline-block;margin-top:20px;font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);text-decoration:underline;text-underline-offset:6px}
.nx-skip:hover{color:var(--royal)}
.nx-sticky{padding-bottom:var(--sec-y)}
.nx-scrub{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.nx-scrub__b{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:0 0 14px;background:none;border:0;text-align:left;cursor:pointer;color:var(--muted);font:inherit}
.nx-scrub__n{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro)}
.nx-scrub__l{font-size:var(--fs-caption);line-height:1.3}
.nx-scrub__b:hover{color:var(--royal)}
.nx-scrub__b[aria-current="step"]{color:var(--ink)}
.nx-scrub__b:focus-visible,.nx-mode__b:focus-visible,.nx-next:focus-visible,.nx-seg__b:focus-visible{outline:2px solid var(--royal);outline-offset:3px}
.nx-prog{height:1px;background:var(--hairline);position:relative}
.nx-prog i{position:absolute;left:0;top:-1px;height:2px;background:var(--ink);transition:width 300ms var(--ease)}
.nx-chs{margin-top:var(--sp-5)}
.nx-flow:not(.is-stack) .nx-ch{display:none}
.nx-flow:not(.is-stack) .nx-ch.is-on{display:grid}
.nx-ch{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-6);align-items:start}
.nx-ch__n{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive-deep)}
.nx-ch__h{margin-top:14px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1.2;letter-spacing:var(--track-display);text-wrap:balance}
.nx-ch__p{margin-top:18px;font-size:var(--fs-body);line-height:1.65;max-width:52ch;min-height:6.6em;text-wrap:pretty}
.nx-ch__p--without{color:var(--muted)}
.nx-mode{display:inline-flex;margin-top:22px;border:1px solid var(--hairline)}
.nx-mode__b{background:none;border:0;padding:10px 16px;cursor:pointer;font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.nx-mode__b + .nx-mode__b{border-left:1px solid var(--hairline)}
.nx-mode__b[aria-pressed="true"]{background:var(--ink);color:#fff}
.nx-mode__b:hover:not([aria-pressed="true"]){color:var(--royal)}
.nx-next{display:table;margin-top:28px;padding:0;background:none;border:0;cursor:pointer;font:500 var(--fs-kicker)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.nx-next:hover{color:var(--royal)}
.nx-ledger{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:var(--sp-5) 0 0;border-top:1px solid var(--ink)}
.nx-ledger > div{padding:16px 20px 4px;border-left:1px solid var(--hairline)}
.nx-ledger > div:first-child{border-left:0;padding-left:0}
.nx-ledger dt{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.nx-ledger dd{margin:8px 0 0;font-family:var(--serif);font-weight:500;font-size:var(--fs-figure);line-height:1}
/* pinned on tall desktop screens */
.nx-flow.is-pin .nx-pin{height:calc(100vh + 7 * 80vh)}
.nx-flow.is-pin .nx-sticky{position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));display:flex;flex-direction:column;justify-content:center;padding:24px 0}
.nx-flow.is-pin .nx-chs{margin-top:28px}
.nx-flow.is-pin .nx-ledger{margin-top:28px}
/* stacked chapters on small screens */
.nx-flow.is-stack .nx-scrub,.nx-flow.is-stack .nx-prog{display:none}
.nx-flow.is-stack .nx-ch{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);padding:var(--sp-6) 0;border-top:1px solid var(--hairline)}
.nx-flow.is-stack .nx-ch:first-child{border-top:0;padding-top:0}
.nx-flow.is-stack .nx-ch__p{min-height:0}
.nx-flow.is-stack .nx-next{display:none}

/* ---- calculator ---- */
.nx-calc{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--sp-7);align-items:start}
.nx-field{margin-top:32px}
.nx-field label,.nx-field__l{display:block;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.nx-field input{width:100%;max-width:280px;border:1px solid var(--hairline);background:var(--paper);padding:14px 16px;font:400 var(--fs-field)/1.2 var(--serif);font-variant-numeric:tabular-nums lining-nums;color:var(--ink);border-radius:0}
.nx-field input:hover,.nx-field input:focus{border-color:var(--ink);outline:none}
.nx-field input:focus-visible{outline:2px solid var(--royal);outline-offset:2px}
.nx-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.nx-seg__b{padding:16px;text-align:left;border:1px solid var(--hairline);background:var(--paper);cursor:pointer;font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.nx-seg__b:hover{border-color:var(--ink)}
.nx-seg__b[aria-checked="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.nx-out{background:var(--paper);border:1px solid var(--hairline);border-top:2px solid var(--ink);padding:var(--sp-5)}
.nx-out__rows > div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--hairline)}
.nx-out__rows dt{color:var(--muted)}
.nx-out__rows dd{margin:0}
.nx-out__l{margin-top:28px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.nx-out__big{margin-top:8px;font-family:var(--serif);font-weight:500;font-size:var(--fs-figure);line-height:1;letter-spacing:var(--track-display)}
.nx-out__scheme{margin-top:14px;color:var(--ink);font-size:var(--fs-card)}

/* ---- customisation ---- */
.nx-cust{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--sp-6);align-items:start}
.nx-cust__screens{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nx-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;color:#fff;font-size:var(--fs-ui-xs);font-weight:500;transition:background-color 240ms ease-out}
.nx-signin__h,.nx-form__h{font-size:var(--fs-ui-lg);font-weight:500;margin-bottom:6px;transition:color 240ms ease-out}
.nx-form__s{font-size:var(--fs-ui-sm);color:#6b7280;margin:-4px 0 6px}
.nx-lab{font-size:var(--fs-ui-sm);color:#6b7280;margin-top:8px}
.nx-inp{margin-top:4px;border:1px solid #e3e5e8;border-radius:8px;padding:6px 10px;font-size:var(--fs-ui)}
.nx-btn{margin-top:14px;border-radius:8px;padding:8px;text-align:center;color:#fff;font-weight:500;transition:background-color 240ms ease-out}
.nx-cust__demo .nx-src{margin-top:12px}
.nx-list{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--ink)}
.nx-list li{padding:14px 0;border-bottom:1px solid var(--hairline);font-size:var(--fs-card);line-height:1.55}

/* ---- comparison ---- */
.nx-cmp-wrap{margin-top:40px}
.nx-cmp{width:100%;border-collapse:collapse;text-align:left}
.nx-cmp th,.nx-cmp td{padding:20px 24px 20px 0;vertical-align:top;border-bottom:1px solid var(--hairline);font-size:var(--fs-card);line-height:1.55}
.nx-cmp thead th{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink);padding-top:0}
.nx-cmp tbody th{font-family:var(--serif);font-weight:500;font-size:var(--fs-lede);width:24%}
.nx-cmp td{color:var(--muted);width:38%}
.nx-cmp .is-nest{background:var(--bone);color:var(--ink);padding-left:24px}

/* ---- engagement ---- */
.nx-eng{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.nx-eng li{padding:24px 24px 8px;border-left:1px solid var(--hairline)}
.nx-eng li:first-child{border-left:0;padding-left:0}
.nx-eng__n{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);color:var(--olive-deep)}
.nx-eng h3{margin-top:16px;font-family:var(--serif);font-weight:500;font-size:var(--fs-h3)}
.nx-eng p{margin-top:10px;color:var(--muted);font-size:var(--fs-card);line-height:1.6}

@media (max-width:1080px){
  .nx-hero{padding-top:calc(var(--header-h) + 56px)}
  .nx-hero__grid,.nx-oblig__grid,.nx-calc,.nx-cust{grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}
  .nx-scrub__l{font-size:var(--fs-caption)}
  .nx-eng{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nx-eng li:nth-child(3){border-left:0;padding-left:0}
  .nx-eng li:nth-child(n+3){border-top:1px solid var(--hairline)}
}
@media (max-width:860px){
  .nx-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nx-ledger > div:nth-child(3){border-left:0;padding-left:0}
  .nx-ledger > div:nth-child(n+3){border-top:1px solid var(--hairline);padding-top:16px}
  .nx-cmp thead{display:none}
  .nx-cmp,.nx-cmp tbody,.nx-cmp tr,.nx-cmp th,.nx-cmp td{display:block;width:auto}
  .nx-cmp tr{padding:20px 0;border-bottom:1px solid var(--hairline)}
  .nx-cmp th,.nx-cmp td{border:0;padding:6px 0}
  .nx-cmp td::before{content:attr(data-l);display:block;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin-bottom:4px}
  .nx-cmp .is-nest{padding:12px 14px;margin-top:8px}
}
@media (max-width:640px){
  .nx-app{grid-template-columns:minmax(0,1fr);font-size:var(--fs-ui)}
  .nx-rail,.nx-bar__org{display:none}
  .nx-cust__screens,.nx-seg,.nx-grid2{grid-template-columns:minmax(0,1fr)}
  .nx-eng{grid-template-columns:minmax(0,1fr)}
  .nx-eng li{border-left:0;padding-left:0;border-top:1px solid var(--hairline)}
  .nx-eng li:first-child{border-top:0}
  .nx-trail p:not(.nx-trail__h){grid-template-columns:minmax(0,1fr);gap:2px}
  .nx-tbl th,.nx-tbl td{padding-left:8px;padding-right:8px}
  .nx-tbl .nx-col-ref,.nx-tbl td.nx-mono{display:none}
}
@media (prefers-reduced-motion:reduce){
  .nx-in{animation:none}
  .nx-chip,.nx-chip::before,.nx-dot,.nx-bar2 i,.nx-prog i,.nx-mark,.nx-btn,.nx-form__h{transition:none}
}

/* queue tables · keep codes and names on one line */
.nx-tbl .nx-mono,.nx-tbl td:first-child{white-space:nowrap}
.nx-tbl td:first-child .nx-reason{white-space:normal}

/* ---------- LV-style type · one geometric family for headings ------------------- */
.display,.h1,.h2,.h3,h1,h2,h3,.band__line,.wkd-title,.wkg__title,.tms2-h1,.wk3-cta__t,.wkv__title,.ja__title,.ja__q{font-weight:400;letter-spacing:var(--track-display);font-style:normal}
.serif-em,.colitem__index,.tms2-mods__n,.tms2-row__n,.ja__term span{font-style:normal}

/* ---------- Jost everywhere, including form controls and browser defaults ---------- */
html,body,button,input,select,textarea,optgroup,option,table,th,td,legend,label,blockquote,figcaption,summary,dt,dd,code,pre,kbd,samp{font-family:"Jost","Futura","Century Gothic",-apple-system,sans-serif}

/* Brand · founder statement, spread wider and more open */
.br-band .band__inner{max-width:1120px}
.br-quote{max-width:40ch;margin:0 auto;font-size:var(--fs-statement);line-height:1.5;letter-spacing:var(--track-display);text-wrap:balance}
.br-band .band__attrib{margin-top:40px}
@media (max-width:640px){.br-quote{max-width:none;line-height:1.45}}

/* =====================================================================
   Customised TMS · round 2 (customised-tms.dc.html only)
   ===================================================================== */
.nx,.nx *{font-family:"Jost","Futura","Century Gothic",-apple-system,sans-serif}
.nx-app{font:400 var(--fs-ui)/1.45 var(--sans)}
.nx-mono{font-family:var(--sans) !important;font-size:var(--fs-ui-sm);letter-spacing:.04em;font-variant-numeric:tabular-nums lining-nums}
.nx-num{font-variant-numeric:tabular-nums lining-nums}
.nx-close{font-style:normal;font-weight:400}
.nx-mark{background:var(--acc)}
.nx-flow.is-pin .nx-sticky{justify-content:flex-start;padding-top:20px}

/* ledger in manual mode */
.nx-ledger.is-without .nx-ledger__key dd,.nx-ledger.is-without .nx-ledger__key dt{color:#c0392b}

/* ---- manual scenes · deliberately not Nest ---- */
.mx{background:#fff;border:1px solid #c9c9c9;border-radius:0;overflow:hidden;font:400 var(--fs-ui)/1.45 var(--sans);color:#333}
.mx-bar{display:flex;justify-content:space-between;align-items:center;height:30px;padding:0 10px;background:#e4e4e4;border-bottom:1px solid #c9c9c9;font-size:var(--fs-ui-sm);color:#444}
.mx-clock{font-size:var(--fs-ui-sm);color:#222;background:#fff;border:1px solid #bdbdbd;padding:1px 6px}
.mx-body{padding:12px;display:flex;flex-direction:column;gap:10px;min-height:280px}
.mx-fx{display:flex;border:1px solid #cfcfcf;background:#fafafa}
.mx-ref{padding:4px 8px;border-right:1px solid #cfcfcf;color:#777;min-width:52px}
.mx-fx__v{padding:4px 8px;flex:1}
.mx-grid{width:100%;border-collapse:collapse;font-size:var(--fs-ui-sm);table-layout:fixed}
.mx-grid th{background:#efefef;color:#777;font-weight:400;border:1px solid #d6d6d6;padding:3px 6px;width:28px}
.mx-grid td{border:1px solid #d6d6d6;padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx-sel{outline:2px solid #3a7d44;outline-offset:-2px}
.mx-bad{background:#fdecec;color:#b4232a}
.mx-caret{display:inline-block;width:1px;height:1.05em;margin-left:1px;vertical-align:-2px;background:#222}
.nx-flow.is-live .mx-caret{animation:mxBlink 1s steps(1) infinite}
@keyframes mxBlink{50%{opacity:0}}
.mx-mail{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #d6d6d6;padding:7px 10px;background:#fafafa}
.mx-mail__f{color:#666}
.mx-mail--err{border-color:#e7a3a6;background:#fdf1f1;color:#8f1c22}
.mx-tag{display:inline-block;padding:1px 7px;border:1px solid #bdbdbd;background:#f2f2f2;font-size:var(--fs-ui-sm);color:#444;white-space:nowrap}
.mx-tag--err{border-color:#e7a3a6;background:#fbe3e4;color:#b4232a}
.mx-err{color:#b4232a;background:#fdecec;border:1px solid #efb8bb;padding:5px 8px;font-size:var(--fs-ui-sm)}
.mx-split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:10px}
.mx-inbox{list-style:none;margin:0;padding:0;border:1px solid #d6d6d6}
.mx-inbox li{display:flex;flex-direction:column;padding:6px 8px;border-top:1px solid #e3e3e3;background:#fcfcfc}
.mx-inbox li:first-child{border-top:0}
.mx-inbox__k{font-size:var(--fs-ui-sm);color:#888;text-transform:uppercase;letter-spacing:var(--track-micro)}
.mx-portal{border:1px solid #b9c2cc;background:#f4f6f8;padding:10px;display:flex;flex-direction:column;gap:6px}
.mx-portal__top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.mx-portal__h{font-weight:500;color:#34495e;border-bottom:1px solid #cdd5dd;padding-bottom:6px}
.mx-field{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;align-items:center}
.mx-field > span:first-child{color:#666;font-size:var(--fs-ui-sm)}
.mx-field > span:last-child{background:#fff;border:1px solid #c6ccd2;padding:3px 7px;min-height:24px;white-space:nowrap;overflow:hidden}
.mx-btnrow{display:flex;justify-content:flex-end}
.mx-btn{border:1px solid #8a96a3;background:#e9edf1;padding:3px 12px;font-size:var(--fs-ui-sm)}
.mx-count{display:inline-block;padding:2px 8px;border:1px solid #bdbdbd;background:#f7f7f7;font-size:var(--fs-ui-sm)}
.mx-compose{border:1px solid #d6d6d6;padding:8px;display:flex;flex-direction:column;gap:6px}
.mx-compose__b{min-height:52px;border:1px solid #e1e1e1;padding:6px 8px;color:#333}
.mx-sent{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.mx-sent li{display:flex;justify-content:space-between;padding:3px 8px;background:#f6f6f6;border:1px solid #e3e3e3}
.mx-paper{background:#fbfaf6;border:1px solid #d9d4c6;padding:10px 14px;display:flex;flex-direction:column}
.mx-paper__h{font-size:var(--fs-ui-sm);letter-spacing:var(--track-micro);text-transform:uppercase;color:#6f6a5c;padding-bottom:6px;border-bottom:1px solid #cfc9b8}
.mx-paper__r{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px;align-items:center;padding:2px 0;border-bottom:1px dotted #cfc9b8;font-size:var(--fs-ui-sm)}
.mx-sig{width:80px;height:18px;fill:none;stroke:#2a3c7a;stroke-width:1.3;opacity:0;transition:opacity 280ms ease-out}
.mx-paper__r.is-signed .mx-sig{opacity:1}
.mx-paper__r.is-empty{background:#fdf1f1}
.mx-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.mx-dl{border:1px solid #d6d6d6;padding:8px 10px;display:flex;flex-direction:column;gap:6px;background:#fafafa}
.mx-prog{height:6px;background:#e3e3e3}
.mx-prog i{display:block;height:100%;background:#8a8a8a}
.mx-dl__r{color:#555;font-size:var(--fs-ui-sm)}
.mx-scatter{position:relative;min-height:230px;border:1px dashed #cfcfcf;background:#f7f7f7}
.mx-scatter__c{position:absolute;width:40%;min-width:130px;display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:#fff;border:1px solid #cdcdcd;font-size:var(--fs-ui-sm)}
.mx-scatter__k{font-size:var(--fs-ui-xs);letter-spacing:var(--track-micro);text-transform:uppercase;color:#888}

/* ---- moment 05 map and chat ---- */
.nx-strip{padding:6px 10px;border-radius:8px;background:#f9f2dd;color:#6d5410;font-size:var(--fs-ui-sm)}
.nx-mapwrap{border:1px solid #ececef;border-radius:10px;overflow:hidden;opacity:0;transition:opacity 300ms ease-out}
.nx-mapwrap[data-on="true"]{opacity:1}
.nx-map{display:block;width:100%;height:auto}
.nx-map__land{fill:#f4f2ec}
.nx-map__water{fill:#dcebf7}
.nx-map__road{stroke:#dcd8cc;stroke-width:1.2;fill:none}
.nx-map__area{fill:rgba(45,127,249,.08)}
.nx-map__ring{fill:none;stroke:rgba(45,127,249,.45);stroke-width:1}
.nx-map__rain line{stroke:rgba(45,127,249,.55);stroke-width:1;stroke-linecap:round}
.nx-flow.is-live .nx-map__rain line{animation:nxRain 1.1s linear infinite}
@keyframes nxRain{from{transform:translateY(-14px)}to{transform:translateY(34px)}}
.nx-map text{font-family:var(--sans)}
.nx-map__dl{font-size:9px;fill:#8a8f98;letter-spacing:var(--track-micro);text-transform:uppercase}
.nx-map__rl{font-size:9.5px;fill:#1f5fc4;font-weight:500}
.nx-map__venue{fill:#111}
.nx-map__vl{font-size:10px;font-weight:500;fill:#111}
.nx-day{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}
.nx-att2{list-style:none;margin:0;padding:8px 10px;border:1px solid #ececef;border-radius:10px;display:grid;grid-template-columns:1fr 1fr;gap:3px 10px}
.nx-att2 li{display:flex;align-items:center;gap:6px;font-size:var(--fs-ui-sm);min-width:0}
.nx-att2 li.is-wide{grid-column:1/-1;flex-wrap:wrap}
.nx-att2__n{white-space:nowrap}
.nx-wa{border:1px solid #ececef;border-radius:10px;background:#efeae2;padding:8px;display:flex;flex-direction:column;gap:6px}
.nx-wa__h{font-size:var(--fs-ui-sm);font-weight:500;color:#075e54}
.nx-wa__b{max-width:88%;padding:6px 8px 4px;border-radius:8px;font-size:var(--fs-ui-sm);line-height:1.4;display:flex;flex-direction:column}
.nx-wa__b--out{align-self:flex-end;background:#d9fdd3}
.nx-wa__b--in{align-self:flex-start;background:#fff}
.nx-wa__time{align-self:flex-end;font-size:var(--fs-ui-xs);color:#667781;margin-top:2px}

/* ---- moment 06 certificates ---- */
.nx-assess{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;border:1px solid #ececef;border-radius:10px;padding:10px}
.nx-assess__i{display:flex;align-items:center;gap:6px;font-size:var(--fs-ui-sm);min-width:0;white-space:nowrap}
.nx-assess__o{color:#1f9d6b;font-size:var(--fs-ui-sm);margin-left:auto}
.nx-cert{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:12px;align-items:start}
.nx-cert__stack{position:relative;height:168px;perspective:800px;overflow:hidden}
.nx-card3{position:absolute;left:0;top:0;width:calc(100% - 16px);height:150px;transform-style:preserve-3d;transition:transform 300ms ease-out,opacity 300ms ease-out}
.nx-card3 .nx-doc{position:absolute;inset:0;backface-visibility:hidden;border:1px solid #e1e3e7;border-radius:10px;background:#fff;padding:10px 12px;display:flex;flex-direction:column;gap:3px;transition:transform 300ms ease-out}
.nx-doc--pdf{transform:rotateY(180deg);background:#fffdf7;border-color:#e7dcc0}
.nx-card3.is-pdf .nx-doc--oc{transform:rotateY(-180deg)}
.nx-card3.is-pdf .nx-doc--pdf,.nx-card3.is-sent .nx-doc--pdf{transform:rotateY(0)}
.nx-card3.is-sent .nx-doc--oc{transform:rotateY(-180deg)}
.nx-card3.is-sent{opacity:0}
.nx-doc__n{font-weight:500;font-size:var(--fs-ui)}
.nx-doc__x{margin-top:auto;font-size:var(--fs-ui-sm);color:#6b7280;letter-spacing:.04em}
.nx-doc--oc{background:repeating-linear-gradient(180deg,#fff 0 18px,#f6f7f9 18px 19px)}
.nx-doc__org{font-size:var(--fs-ui-xs);letter-spacing:var(--track-micro);text-transform:uppercase;color:#7d7a52}
.nx-doc__t{font-size:var(--fs-ui-sm);color:#6b7280}
.nx-doc__c{font-size:var(--fs-ui-sm);color:#4b5058}
.nx-out-mail{list-style:none;margin:0;padding:0;border:1px solid #ececef;border-radius:10px;overflow:hidden}
.nx-out-mail li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid #f0f1f3;font-size:var(--fs-ui-sm)}
.nx-out-mail li:first-child{border-top:0}

/* ---- calculator ---- */
.nc{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--sp-7);margin-top:48px;align-items:start}
.nc__lab{display:block;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.nc__fee{display:flex;align-items:flex-start;gap:6px;border-bottom:1px solid var(--ink);padding-bottom:6px}
.nc__cur{font:400 var(--fs-h3)/1 var(--sans);margin-top:10px;color:var(--muted)}
.nc__num{flex:1;min-width:0;border:0;background:transparent;padding:0;font:300 var(--fs-figure)/1 var(--sans);letter-spacing:var(--track-display);color:var(--ink);-moz-appearance:textfield}
.nc__num::-webkit-outer-spin-button,.nc__num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.nc__num:focus{outline:none}
.nc__fee:focus-within{outline:2px solid var(--royal);outline-offset:6px}
.nc__range{width:100%;margin:24px 0 6px;accent-color:var(--ink);height:28px}
.nc__range:focus-visible{outline:2px solid var(--royal);outline-offset:4px}
.nc__ends{display:flex;justify-content:space-between;font-size:var(--fs-caption);color:var(--muted)}
.nc__profs{display:flex;flex-direction:column;border-top:1px solid var(--hairline)}
.nc__prof{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:16px 16px 16px 20px;background:none;border:0;border-bottom:1px solid var(--hairline);border-left:2px solid transparent;cursor:pointer;text-align:left;font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.nc__prof:hover{border-left-color:var(--hairline)}
.nc__prof:focus-visible{outline:2px solid var(--royal);outline-offset:-2px}
.nc__prof[aria-checked="true"]{border-left-color:var(--ink);font-weight:500}
.nc__pname{display:flex;flex-direction:column;gap:4px}
.nc__scheme{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.nc__pnett{white-space:nowrap}
.nc__out{padding-top:6px}
.nc__bar{display:flex;height:14px;background:var(--hairline)}
.nc__bar i{display:block;height:100%;transition:width 300ms ease-out}
.nc__grant{background:#d9d6bf}
.nc__nett{background:var(--ink)}
.nc__barlab{display:flex;margin-top:10px;font-size:var(--fs-caption);color:var(--muted)}
.nc__barlab span{min-width:0;transition:width 300ms ease-out;padding-right:8px}
.nc__barlab span:last-child{text-align:right;padding-right:0}
.nc__rows{margin:36px 0 0;border-top:1px solid var(--hairline)}
.nc__rows > div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--hairline)}
.nc__rows dt{color:var(--muted)}
.nc__rows dd{margin:0}
.nc__l{margin-top:32px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.nc__big{margin-top:10px;display:flex;align-items:flex-start;gap:6px;font:300 var(--fs-figure)/1 var(--sans);letter-spacing:var(--track-display)}
.nc__big-cur{font-size:.32em;margin-top:.35em;letter-spacing:0;font-weight:400}
.nc__schemeline{margin-top:14px;font-size:var(--fs-card)}

/* ---- identity demo ---- */
.ci{overflow:hidden}
.ci__track{display:flex;width:200%;transition:transform 320ms ease-out}
.ci__track[data-beat="2"]{transform:translateX(-50%)}
.ci__beat{width:50%;padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px;min-height:430px}
.ci__h{font-size:var(--fs-ui-lg);font-weight:500;color:var(--acc2)}
.ci__steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.ci__steps li{display:flex;flex-direction:column;gap:3px;padding-top:6px;border-top:2px solid #e6e7ea;font-size:var(--fs-ui-sm);color:#9aa0a8;transition:border-color 240ms ease-out,color 240ms ease-out}
.ci__steps li[data-state="now"]{border-top-color:var(--acc);color:#1f2328}
.ci__steps li[data-state="done"]{border-top-color:var(--acc);color:#4b5058}
.ci__sn{font-size:var(--fs-ui-xs);letter-spacing:.06em}
.ci__fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}
.ci__f{display:flex;flex-direction:column;gap:3px;min-width:0}
.ci__l{font-size:var(--fs-ui-sm);color:#6b7280}
.ci__v{border:1px solid #e3e5e8;border-radius:8px;padding:6px 10px;min-height:30px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ci__v.is-empty{background:#fafafa}
.ci__f:last-child{grid-column:1/-1}
.ci__drop{list-style:none;margin:-4px 0 0;padding:4px;border:1px solid #e3e5e8;border-radius:8px}
.ci__drop li{padding:4px 8px;border-radius:6px;font-size:var(--fs-ui)}
.ci__drop li.is-sel{background:#f1f2f4;font-weight:500}
.ci__decl{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-ui-sm);color:#4b5058}
.ci__box{flex:0 0 auto;width:14px;height:14px;margin-top:2px;border:1px solid #b9bec6;border-radius:3px;position:relative;transition:background-color 200ms ease-out}
.ci__box[data-on="true"]{background:var(--acc);border-color:var(--acc)}
.ci__box[data-on="true"]::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:7px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.ci__act{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ci__submit{background:var(--acc);color:#fff;border-radius:8px;padding:8px 16px;font-weight:500;transition:transform 180ms ease-out,opacity 180ms ease-out}
.ci__submit[data-press="true"]{transform:translateY(1px);opacity:.8}
.ci__thead{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:8px;padding:7px 10px;background:#f6f7f9;border-radius:8px;font-size:var(--fs-ui-sm);font-weight:500;color:#6b7280}
.ci__rows{position:relative;height:208px}
.ci__row{position:absolute;left:0;right:0;height:48px;padding:6px 10px;border-bottom:1px solid #f0f1f3;transition:top 320ms ease-out,background-color 240ms ease-out;display:flex;flex-direction:column;justify-content:center;gap:5px}
.ci__row.is-hi{background:#f7f8fa}
.ci__cells{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:8px;font-size:var(--fs-ui)}
.ci__name{font-weight:500}
.ci__bar{height:4px;background:#f0f1f3;border-radius:2px;overflow:hidden}
.ci__bar i{display:block;height:100%;background:var(--acc);transition:width 320ms ease-out}
.nx-cust__ctrl{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}
.nx-replay{background:none;border:0;padding:0;cursor:pointer;font:500 var(--fs-kicker)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink);text-decoration:underline;text-underline-offset:6px}
.nx-replay:hover{color:var(--royal)}
.nx-replay:focus-visible{outline:2px solid var(--royal);outline-offset:4px}

/* ---- comparison header fix ---- */
.nx-cmp thead th,.nx-cmp thead th.is-nest{background:none;color:var(--muted);padding:0 24px 16px 0;vertical-align:bottom;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;border-bottom:1px solid var(--ink)}
.nx-cmp thead th.is-nest,.nx-cmp tbody .is-nest{padding-left:24px}
.nx-cmp tbody .is-nest{background:var(--paper)}
.section--bone .nx-cmp tbody .is-nest{background:var(--paper)}

@media (max-width:1080px){
  .nc,.nx-cert{grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}
}
@media (max-width:860px){
  .nx-cmp tbody .is-nest{padding:12px 14px}
}
@media (max-width:640px){
  .mx-split,.nx-day{grid-template-columns:minmax(0,1fr)}
  .mx-field{grid-template-columns:80px minmax(0,1fr)}
  .nx-assess{grid-template-columns:1fr 1fr}
  .ci__steps .ci__sl{display:none}
  .ci__fields{grid-template-columns:minmax(0,1fr)}
  .ci__thead,.ci__cells{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr))}
  .ci__beat{min-height:520px}
  .mx-scatter__c{width:62%}
  .nx-map__dl{display:none}
}
@media (prefers-reduced-motion:reduce){
  .mx-caret,.nx-map__rain line{animation:none !important}
  .nx-mapwrap,.mx-sig,.nx-card3,.nx-card3 .nx-doc,.nc__bar i,.nc__barlab span,.ci__track,.ci__steps li,.ci__box,.ci__submit,.ci__row,.ci__bar i{transition:none}
}

/* ---------- Customised TMS · round 3 ------------------------------------------------ */
.nx-logo{display:block;width:150px;height:auto;margin:0 0 48px}
.nx-src__a,.nx-src__a:link,.nx-src__a:visited,.nx-src__a:hover,.nx-src__a:active,.nx-src__a:focus{color:inherit;font:inherit;text-decoration:none;outline:none}
.nx-src__a:focus-visible{outline:2px solid var(--royal);outline-offset:3px}
.nx-flow.is-pin .nx-sticky{overflow:hidden}
.nx-fit{transform-origin:top center}
.nx-walogo{width:14px;height:14px;flex:0 0 auto;display:inline-block}
.nx-wa__h{display:flex;align-items:center;gap:6px}
.nx-wac{display:flex;flex-direction:column;gap:8px}
.nx-wac__h{display:flex;align-items:center;gap:6px;font-weight:500;font-size:var(--fs-ui)}
.nx-wac__list{list-style:none;margin:0;padding:0}
.nx-wac__list li{display:flex;align-items:center;gap:8px;padding:5px 0;border-top:1px solid #f0f1f3;font-size:var(--fs-ui)}
.nx-wac__list li:first-child{border-top:0}
.nx-wac__n{flex:1 1 auto}
.nx-tick{position:relative;width:13px;height:13px;border:1px solid #c9cdd3;border-radius:3px;flex:0 0 auto;transition:background-color 200ms ease-out,border-color 200ms ease-out}
.nx-tick[data-on="true"]{background:#2d7ff9;border-color:#2d7ff9}
.nx-tick[data-on="true"]::after{content:"";position:absolute;left:3.5px;top:1px;width:4px;height:7px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.nx-wac__act{display:flex;align-items:center;justify-content:space-between;gap:10px}
.nx-wac .nx-wa__b{align-self:flex-end}
.nx-wabtn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid #25D366;border-radius:999px;background:#fff;color:#128C7E;font-size:var(--fs-ui-sm);font-weight:500;white-space:nowrap;transition:background-color 200ms ease-out,transform 180ms ease-out}
.nx-wabtn[data-press="true"]{background:#dcf8e6;transform:translateY(1px)}
.nx-wabtn--sm{padding:3px 8px;font-size:var(--fs-ui-sm);gap:5px}
.nx-wabtn--sm .nx-walogo{width:12px;height:12px}
@media (max-width:767px){.nx-logo{width:110px;margin-bottom:32px}}
@media (prefers-reduced-motion:reduce){.nx-wabtn,.nx-tick{transition:none}}

/* ---------- Customised TMS · round 4 ------------------------------------------------ */
.nx-hero__grid{align-items:start}
.nx-hero__panel{display:flex;flex-direction:column;align-items:flex-end}
.nx-hero__panel .nx-glass{width:100%}
.nx-conv{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1.3fr);gap:6px;align-items:start;margin-top:8px}
.nx-conv__h{font-size:var(--fs-ui-sm);font-weight:500;color:#4b5058;margin:0 0 8px;display:flex;flex-direction:column;gap:2px;min-height:28px}
.nx-conv__h .nx-num{font-weight:500;color:#2d7ff9}
.nx-conv__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 4px}
.nx-conv__i{display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}
.nx-fi{width:24px;height:30px;display:block}
.nx-fi__t{font:500 5.6px/1 var(--sans);fill:#fff;letter-spacing:.02em}
.nx-fi__t--oc{font-size:3.7px;letter-spacing:0}
.nx-conv__n{font-size:8.5px;color:#6b7280;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nx-conv__i.is-lift{opacity:.25;transform:translateY(-4px)}
.nx-conv__i.is-done{opacity:.4}
.nx-conv__i.is-done::after{content:"";position:absolute;top:10px;left:50%;width:5px;height:9px;margin-left:-2px;border:solid #1f9d6b;border-width:0 2px 2px 0;transform:rotate(45deg)}
.nx-conv__i--pdf{opacity:.12}
.nx-conv__i--pdf .nx-fi{filter:grayscale(1)}
.nx-conv__i--pdf.is-on{opacity:1}
.nx-conv__i--pdf.is-on .nx-fi{filter:none}
.nx-conv__i--pdf.is-new .nx-fi{outline:1px solid #2d7ff9;outline-offset:2px;border-radius:2px}
@keyframes nxFlipIn{from{transform:rotateY(90deg)}to{transform:none}}
.nx-conv__arrow{align-self:stretch;display:flex;align-items:center;padding-top:28px}
.nx-conv__arrow i{position:relative;display:block;width:100%;height:1px;background:#c3c8cf}
.nx-conv__arrow i::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border:solid #c3c8cf;border-width:1px 1px 0 0;transform:rotate(45deg)}
.nx-conv__mail{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.nx-conv__mail li{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:6px;align-items:start;padding:6px 8px;border:1px solid #ececef;border-radius:8px;font-size:var(--fs-ui-sm);line-height:1.35}
.nx-env{width:16px;height:12px;margin-top:2px}
.nx-conv__to{display:flex;flex-direction:column;min-width:0}
.nx-conv__cc{font-size:var(--fs-ui-xs);color:#6b7280}
.nx-fly{position:absolute;top:92px;width:28px;margin-left:-14px;opacity:0;pointer-events:none;transform:translateY(-6px)}
.nx-fly.is-on{opacity:1}
.nx-fly.is-out{opacity:0}
.nx-fly .nx-fi{width:28px;height:35px}
.nx-fly__pdf{display:none}
.nx-fly.is-pdf .nx-fly__oc{display:none}
.nx-fly.is-pdf .nx-fly__pdf{display:block}
.nx-fly.is-flip .nx-fi{transform:scaleX(.3)}
@media (max-width:767px){
  .nx-conv{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)}
  .nx-conv > .nx-conv__arrow:nth-of-type(2),.nx-conv__col--mail{grid-column:1/-1}
  .nx-conv > .nx-conv__arrow:nth-of-type(2){display:none}
  .nx-fly{display:none}
}
@media (prefers-reduced-motion:reduce){.nx-conv__i,.nx-fly{transition:none}.nx-conv__i--pdf.is-new .nx-fi,.nx-fly.is-pdf .nx-fly__pdf{animation:none}}

/* ---------- TMS · hero showcase ------------------------------------------------ */
.nx-hero__grid{align-items:stretch}
.nx-hero__text{align-self:start}
.nx-hero__panel{display:flex;align-items:stretch}
.nx-show{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(32px,3.6vw,52px) clamp(14px,2.2vw,32px)}
.nx-show__logo{display:block;width:130px;height:auto;margin:0 0 clamp(28px,3vw,40px)}
.nx-show .nx-app{width:100%}
.nx-show__cap{margin:20px 0 0;text-align:center;font:400 var(--fs-fine)/1.5 var(--sans);color:var(--muted)}
@media (max-width:767px){.nx-show__logo{width:110px}}

/* ---------- TMS · fee breakdown calculator ---------------------------------------- */
.nc__note{margin-top:32px;max-width:44ch}
.nc__tabs{display:flex;gap:32px;border-bottom:1px solid var(--hairline)}
.nc__tab{background:none;border:0;border-bottom:2px solid transparent;margin:0 0 -1px;padding:0 0 14px;cursor:pointer;font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.nc__tab:hover{color:var(--royal)}
.nc__tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink)}
.nc__tab:focus-visible{outline:2px solid var(--royal);outline-offset:4px}
.nc__t{width:100%;border-collapse:collapse;margin-top:36px;font-variant-numeric:tabular-nums;font-size:var(--fs-card);line-height:1.45}
.nc__t + .nc__t{margin-top:44px}
.nc__g{caption-side:top;text-align:left;padding:0 0 12px;font:500 var(--fs-card)/1.6 var(--sans);color:var(--olive)}
.nc__t thead th{padding:0 0 10px;border-bottom:1px solid var(--hairline);text-align:left;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.nc__t thead th:last-child,.nc__t td:last-child{text-align:right}
.nc__t tbody td{padding:12px 0;border-bottom:1px solid var(--hairline);color:var(--ink)}
.nc__t tbody td:first-child{padding-right:16px}
.nc__t .nc__na{color:var(--muted)}
.nc__t tfoot th,.nc__t tfoot td{padding:14px 0 0;border-top:2px solid var(--ink);font-weight:500;text-align:left;color:var(--ink)}
.nc__t tfoot td.nc__nett{text-align:right;color:var(--olive)}
.nc__t tbody tr:last-child td{border-bottom:0}

/* ---------- TMS · security section ------------------------------------------ */
.nx-sec{display:grid;grid-template-columns:5fr 7fr;gap:var(--sp-7);align-items:start;padding-top:var(--sp-5);border-top:1px solid var(--hairline)}
.nx-sec .nx-h2{margin-top:16px}
.nx-sec__body{font-size:var(--fs-lede);line-height:1.7;max-width:60ch;color:var(--ink)}
@media (max-width:860px){.nx-sec{grid-template-columns:minmax(0,1fr);gap:var(--sp-3)}}
/* ---------- TMS · calculator olive, AA on bone ------------------------------ */
.nc__g,.nc__t tfoot td.nc__nett{color:#5C5935}

/* ---------- Customised TMS · nett fee statement ---------------------------------- */
.nc2,.nc2 *{font-family:var(--sans);font-synthesis:none}
.nc2__band{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--sp-6);align-items:end}
.nc2__head .nx-h2{margin:14px 0 0}
.nc2__lab{display:block;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.nc2__fee{display:flex;align-items:flex-start;gap:6px;border-bottom:1px solid var(--ink);padding-bottom:6px}
.nc2__cur{font:400 var(--fs-h3)/1 var(--sans);margin-top:9px;color:var(--muted)}
.nc2__num{flex:1;min-width:0;border:0;background:transparent;padding:0;font:300 var(--fs-figure)/1 var(--sans);letter-spacing:var(--track-display);color:var(--ink);font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.nc2__num::-webkit-outer-spin-button,.nc2__num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.nc2__num:focus{outline:none}
.nc2__fee:focus-within{outline:2px solid var(--royal);outline-offset:6px}
.nc2__range{width:100%;margin:18px 0 4px;accent-color:var(--ink);height:28px}
.nc2__range:focus-visible{outline:2px solid var(--royal);outline-offset:4px}
.nc2__ends{display:flex;justify-content:space-between;font:400 var(--fs-caption)/1.4 var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}
.nc2__tabs{display:flex;gap:32px;margin-top:var(--sp-6);border-bottom:1px solid var(--hairline)}
.nc2__tab{background:none;border:0;border-bottom:2px solid transparent;margin:0 0 -1px;padding:0 0 14px;cursor:pointer;font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.nc2__tab:hover{color:var(--royal)}
.nc2__tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink)}
.nc2__tab:focus-visible{outline:2px solid var(--royal);outline-offset:4px}
.nc2__sheet{margin-top:28px;background:var(--paper);border:1px solid var(--hairline);padding:clamp(24px,3.2vw,44px)}
.nc2__t{width:100%;border-collapse:collapse;table-layout:fixed;font:400 var(--fs-card)/1.6 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink)}
.nc2__t th,.nc2__t td{background:none}
.nc2__t thead th{padding:0 0 14px 20px;vertical-align:bottom;border-bottom:1px solid var(--hairline);text-align:right}
.nc2__rh{width:34%;padding-left:0 !important}
.nc2__t[data-cols="3"] .nc2__rh{width:31%}
.nc2__ch{font:500 var(--fs-fine)/1.4 var(--sans);color:var(--ink);text-wrap:balance}
.nc2__rl{padding:13px 16px 13px 0;text-align:left;font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.nc2__t tbody td{padding:13px 0 13px 20px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--hairline)}
.nc2__t tbody th{border-bottom:1px solid var(--hairline)}
.nc2__na{color:var(--muted)}
.nc2__t tfoot th,.nc2__t tfoot td{padding:18px 0 4px;border-top:2px solid var(--ink)}
.nc2__t tfoot td{padding-left:20px;text-align:right}
.nc2__t tfoot th{font-weight:500}
.nc2__t tbody tr:last-child th,.nc2__t tbody tr:last-child td{border-bottom:0}
.nc2__tot{font:500 calc(var(--fs-card) * 1.4)/1.2 var(--sans);color:#5C5935;white-space:nowrap;background:none}
.nc2__t tr > :nth-child(2),.nc2__t tr > :nth-child(3),.nc2__t tr > :nth-child(4){transition:background var(--dur-hover) var(--ease)}
.nc2__t:has(tr > :nth-child(2):hover) tr > :nth-child(2),
.nc2__t:has(tr > :nth-child(3):hover) tr > :nth-child(3),
.nc2__t:has(tr > :nth-child(4):hover) tr > :nth-child(4){background:rgba(14,13,10,.025)}
.nc2__cards{display:none}
.nc2__cardh{font-weight:500}
.nc2 b,.nc2 strong,.nc2 th{font-weight:500}
.nc2 .nc2__t tbody th.nc2__rl{font-weight:400}
.nc2__t tfoot th.nc2__rl{font-weight:500}
.nc2__note{margin-top:20px;max-width:none;font:400 var(--fs-caption)/1.6 var(--sans);color:var(--muted)}
@media (max-width:860px){
  .nc2__band{grid-template-columns:minmax(0,1fr);gap:var(--sp-4);align-items:start}
  .nc2__range{height:36px}
  .nc2__sheet{padding:0;border:0;background:none}
  .nc2__t{display:none}
  .nc2__cards{display:flex;flex-direction:column;gap:16px}
  .nc2__card{background:var(--paper);border:1px solid var(--hairline);padding:22px 20px}
  .nc2__cardh{margin:0 0 12px;font:500 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
  .nc2__cdl{margin:0;font-variant-numeric:tabular-nums}
  .nc2__cdl > div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-top:1px solid var(--hairline)}
  .nc2__cdl dt{font:400 var(--fs-fine)/1.45 var(--sans);color:var(--ink)}
  .nc2__cdl dd{margin:0;font:400 var(--fs-fine)/1.45 var(--sans);white-space:nowrap}
  .nc2__cdl dd.nc2__na{color:var(--muted)}
  .nc2__cdl .nc2__crow-tot{border-top:2px solid var(--ink);margin-top:4px;padding-top:14px}
  .nc2__cdl .nc2__crow-tot dt{font-weight:500}
  .nc2__cdl .nc2__crow-tot dd{font:500 calc(var(--fs-card) * 1.3)/1.2 var(--sans);color:#5C5935}
}
@media (prefers-reduced-motion:reduce){.nc2__t tr > *{transition:none}}

.nc2__head .nx-h2{max-width:none;text-wrap:balance}
/* Customised TMS · auto-replay fade and date size */
.nx-loop{transition:opacity 260ms ease-out}
.nx-loop[data-fade="true"]{opacity:0}
@media (prefers-reduced-motion:reduce){.nx-loop{transition:none}.nx-loop[data-fade="true"]{opacity:1}}
.nx-oblig .nx-date.nx-h2{margin:14px 0 0;max-width:none;font-variant-numeric:lining-nums}
.nx-oblig{padding:var(--sp-6) 0}
.nx-oblig__grid{align-items:start;gap:var(--sp-6)}
@media (min-width:1081px){.nx-oblig__grid > div:last-child{padding-top:calc(var(--fs-micro) * 1.4 + 14px)}}
@media (max-width:1080px){.nx-oblig__grid{gap:var(--sp-3)}}
.nx-oblig__p{margin:0}

/* Nett fee table · one size throughout */
.nc2 .nc2__t th,.nc2 .nc2__t td,.nc2 .nc2__t thead th,.nc2 .nc2__t tfoot th,.nc2 .nc2__t tfoot td,.nc2 .nc2__t .nc2__rl,.nc2 .nc2__t .nc2__tot,.nc2 .nc2__t .nc2__na{font-size:var(--fs-card);line-height:1.5;letter-spacing:0;text-transform:none}
.nc2 .nc2__t tfoot th,.nc2 .nc2__t tfoot td{font-weight:500}

/* Customised TMS · fee table column sizing */
.nc2 .nc2__t{table-layout:fixed;width:100%}
.nc2 .nc2__t .nc2__rh{width:340px}
.nc2 .nc2__t[data-cols="3"] .nc2__rh{width:272px}
.nc2 .nc2__t thead th{white-space:normal;text-wrap:balance;vertical-align:bottom;overflow-wrap:normal}
.nc2 .nc2__t tbody th,.nc2 .nc2__t tfoot th{white-space:nowrap}
.nc2 .nc2__t td{overflow-wrap:anywhere}

@media (max-width:1080px){.nc2 .nc2__t tbody th,.nc2 .nc2__t tfoot th{white-space:normal}.nc2 .nc2__t .nc2__rh,.nc2 .nc2__t[data-cols="3"] .nc2__rh{width:34%}}

/* Customised TMS · security band over photo */
.nx-secband{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:#fff}
.nx-secband__media{position:absolute;inset:0;z-index:-2}
.nx-secband__media img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:grayscale(1) brightness(1.05) contrast(1.1)}
.nx-secband__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,13,10,.88) 0%,rgba(14,13,10,.62) 45%,rgba(14,13,10,.2) 100%)}
.nx-secband .nx-sec{border-top-color:rgba(255,255,255,.28)}
.nx-secband .nx-kicker{color:#CFCBA8}
.nx-secband .nx-h2{color:#fff}
.nx-secband .nx-sec__body{color:#fff;text-shadow:0 1px 12px rgba(14,13,10,.55)}
@media (max-width:860px){.nx-secband__scrim{background:linear-gradient(90deg,rgba(14,13,10,.8) 0%,rgba(14,13,10,.66) 45%,rgba(14,13,10,.76) 100%)}}

/* =====================================================================
   CONTACT PAGE (contact.dc.html) · correspondence redesign
   ===================================================================== */
.ct{font-family:var(--sans);font-synthesis:none}
.ct *{font-synthesis:none}
.ct-wrap{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.ct-kick{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive);margin:0}
.ct-h2{font:400 var(--fs-h2)/1.12 var(--sans);letter-spacing:-.01em;margin:16px 0 0;text-wrap:balance}
.ct-muted{color:var(--muted)}
.ct-link{display:inline-flex;align-items:baseline;gap:8px;font:500 var(--fs-kicker)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;background:none;border:0;padding:0;cursor:pointer}
.ct-link:hover{color:var(--royal)}
.ct a:focus-visible,.ct button:focus-visible,.ct input:focus-visible,.ct textarea:focus-visible{outline:2px solid var(--royal);outline-offset:3px}

/* Hero */
.ct-hero{background:var(--paper);padding:calc(var(--header-full) + 56px) 0 72px}
.ct-hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:end}
.ct-crumb{display:flex;gap:10px;font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin:0 0 40px}
.ct-crumb a{color:inherit;text-decoration:none}
.ct-crumb a:hover{color:var(--ink)}
.ct-crumb [aria-current]{color:var(--ink)}
.ct-hero__h1{font:300 var(--fs-h1)/1.02 var(--sans);letter-spacing:var(--track-display);margin:20px 0 0;text-wrap:balance}
.ct-hero__lede{font:400 var(--fs-lede)/1.65 var(--sans);color:var(--muted);max-width:50ch;margin:32px 0 0}
.ct-hero__acts{display:flex;flex-wrap:wrap;align-items:baseline;gap:20px 36px;margin-top:40px}
.ct-hero__mail{font:400 var(--fs-body)/1.6 var(--sans);color:var(--muted);text-decoration:none;border-bottom:1px solid var(--hairline);padding-bottom:3px}
.ct-hero__mail:hover{color:var(--ink);border-bottom-color:var(--ink)}
.ct-hero__fig{margin:0}
.ct-hero__frame{border:1px solid var(--hairline);overflow:hidden;aspect-ratio:4/5;max-height:560px;background:var(--bone)}
.ct-hero__frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);animation:ctZoom 24s ease-out both}
@keyframes ctZoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.ct-hero__cap{font:400 var(--fs-fine)/1.5 var(--sans);color:var(--muted);margin-top:12px}

/* Form section */
.ct-form{background:var(--paper);padding:48px 0 var(--sec-y);border-top:1px solid var(--hairline)}
.ct-form__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,7vw,112px);align-items:start;padding-top:72px}
.ct-side{position:sticky;top:calc(var(--header-h) + 32px)}
.ct-side__lede{font:400 var(--fs-body)/1.6 var(--sans);color:var(--muted);margin:20px 0 0;max-width:44ch}
.ct-ledger{margin:40px 0 0;border-top:1px solid var(--ink)}
.ct-ledger div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--hairline)}
.ct-ledger dt{font:500 var(--fs-micro)/1.8 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.ct-ledger dd{margin:0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.ct-ledger a{color:inherit;text-decoration:none;border-bottom:1px solid var(--hairline)}
.ct-ledger a:hover{border-bottom-color:var(--ink)}
.ct-side__note{font:400 var(--fs-fine)/1.6 var(--sans);color:var(--muted);margin:20px 0 0;max-width:44ch}
.ct-map{display:block;margin-top:32px;border:1px solid var(--hairline);text-decoration:none;color:var(--ink);background:var(--bone)}
.ct-map svg{display:block;width:100%;height:auto}
.ct-map__foot{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-top:1px solid var(--hairline);font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;background:var(--paper)}
.ct-map:hover .ct-map__foot{color:var(--royal)}

/* The letter */
.ct-letter{display:flex;flex-direction:column;gap:48px}
.ct-salute{font:400 var(--fs-lede)/1.4 var(--sans);color:var(--muted);margin:0}
.ct-group{border:0;padding:0;margin:0;min-width:0}
.ct-label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink);padding:0;margin:0 0 14px}
.ct-req{font:400 var(--fs-fine)/1 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}
.ct-pills{display:flex;flex-wrap:wrap;gap:10px}
.ct-pill{position:relative;display:inline-flex}
.ct-pill input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ct-pill span{display:inline-flex;align-items:center;min-height:44px;padding:10px 20px;border:1px solid var(--hairline);border-radius:999px;font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink);background:var(--paper);transition:border-color 220ms ease-out,background 220ms ease-out,color 220ms ease-out}
.ct-pill:hover span{border-color:var(--ink)}
.ct-pill input:checked + span{background:var(--ink);border-color:var(--ink);color:#fff}
.ct-pill input:focus-visible + span{outline:2px solid var(--royal);outline-offset:3px}
.ct-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
.ct-field{position:relative;display:flex;flex-direction:column}
.ct-field input,.ct-field textarea{width:100%;border:0;border-radius:0;background:transparent;padding:8px 0 12px;font:400 var(--fs-field)/1.5 var(--sans);color:var(--ink);box-shadow:none;appearance:none;-webkit-appearance:none}
.ct-field textarea{resize:none;overflow:hidden;min-height:132px;line-height:1.6}
.ct-field input::placeholder,.ct-field textarea::placeholder{color:#A8A69F}
.ct-line{position:relative;height:1px;background:var(--hairline)}
.ct-line::after{content:"";position:absolute;left:0;top:0;height:1px;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 280ms ease-out}
.ct-field:focus-within .ct-line::after{transform:scaleX(1)}
.ct-field input:focus,.ct-field textarea:focus{outline:none}
.ct-field input:focus-visible,.ct-field textarea:focus-visible{outline:none}
.ct-field:focus-within{outline:2px solid transparent}
.ct-err{font:400 var(--fs-fine)/1.5 var(--sans);color:var(--ink);margin:10px 0 0;padding-left:12px;border-left:2px solid var(--olive)}
.ct-guide{font:400 var(--fs-fine)/1.4 var(--sans);color:var(--muted);margin:10px 0 0;text-align:right;font-variant-numeric:tabular-nums}
.ct-reveal{animation:ctRise 280ms ease-out both}
@keyframes ctRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ct-send{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:32px;border-top:1px solid var(--hairline)}
.ct-btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 32px;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:0;cursor:pointer;font:500 var(--fs-kicker)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;transition:background 200ms ease-out}
.ct-btn:hover{background:#2a2925}
.ct-btn[disabled]{opacity:.6;cursor:default}
.ct-terms{font:400 var(--fs-fine)/1.5 var(--sans);color:var(--muted);margin:0}
.ct-terms a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.ct-done{display:flex;flex-direction:column;gap:20px;padding:8px 0 0}
.ct-done p{margin:0}
.ct-done__body{font:400 var(--fs-statement)/1.4 var(--sans);color:var(--ink);max-width:28ch}
.ct-done__sign{font:400 var(--fs-body)/1.6 var(--sans);color:var(--muted)}

/* Conversation band */
.ct-band{background:var(--bone)}
.ct-band__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.ct-band__media{margin:0;min-height:440px;overflow:hidden}
.ct-band__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.ct-band__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,7vw,112px)}
.ct-band__body p.ct-muted{font:400 var(--fs-body)/1.6 var(--sans);max-width:44ch;margin:24px 0 0}
.ct-band__body .ct-link{margin-top:36px;align-self:flex-start}

/* How we work sits between, on white */
.ct .hw2{background:var(--paper)}

/* Comparison */
.ct-cmp{padding:var(--sec-y) 0;background:var(--paper);border-top:1px solid var(--hairline)}
.ct-cmp__sub{font:400 var(--fs-body)/1.6 var(--sans);color:var(--muted);max-width:56ch;margin:20px 0 0}
.ct-tbl{width:100%;border-collapse:collapse;margin-top:56px;table-layout:fixed}
.ct-tbl thead th{position:sticky;top:var(--header-h);z-index:2;background:var(--paper);text-align:left;vertical-align:bottom;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);padding:16px 24px 14px;border-bottom:1px solid var(--ink)}
.ct-tbl thead th:first-child{padding-left:0;width:34%}
.ct-tbl thead th.ct-2b{color:var(--ink);background:#FBFAF6;box-shadow:inset 2px 0 0 var(--olive)}
.ct-tbl tbody th,.ct-tbl tbody td{vertical-align:top;padding:28px 24px;border-bottom:1px solid var(--hairline);text-align:left}
.ct-tbl tbody th{padding-left:0;font:500 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.ct-tbl__n{display:block;font:400 var(--fs-fine)/1 var(--sans);color:var(--muted);margin-bottom:12px;font-variant-numeric:tabular-nums}
.ct-tbl__tag{display:block;margin-top:10px;font:500 var(--fs-micro)/1.5 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.ct-tbl td{font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted)}
.ct-tbl td.ct-2b{color:var(--ink);background:#FBFAF6;box-shadow:inset 2px 0 0 var(--olive)}
.ct-tbl td a{color:inherit;text-decoration:none}
.ct-foot{font:400 var(--fs-fine)/1.5 var(--sans);color:var(--muted);margin:28px 0 0}

/* FAQ, restyled */
.ct-faq{padding:var(--sec-y) 0;background:var(--bone)}
.ct-faq__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,7vw,112px);align-items:start}
.ct-faq details{border-bottom:1px solid var(--hairline)}
.ct-faq details:first-child{border-top:1px solid var(--ink)}
.ct-faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:40px minmax(0,1fr) 20px;gap:12px;align-items:baseline;padding:24px 0;font:500 var(--fs-body)/1.6 var(--sans);color:var(--ink)}
.ct-faq summary::-webkit-details-marker{display:none}
.ct-faq summary::after{content:"+";font:300 22px/1 var(--sans);color:var(--muted);text-align:right}
.ct-faq details[open] summary::after{content:"\2212"}
.ct-faq summary:hover{color:var(--royal)}
.ct-faq summary:focus-visible{outline:2px solid var(--royal);outline-offset:3px}
.ct-faq__n{font:400 var(--fs-fine)/1 var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}
.ct-faq__a{padding:0 32px 28px 52px;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted);margin:0}

/* Closing */
.ct-close{padding:var(--sec-y) 0 calc(var(--sec-y) + 8px);background:var(--paper);text-align:center}
.ct-close__mail{display:inline-block;margin-top:24px;font:300 clamp(34px,5vw,72px)/1.1 var(--sans);letter-spacing:var(--track-display);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--hairline);padding-bottom:8px;overflow-wrap:anywhere}
.ct-close__mail:hover{border-bottom-color:var(--ink)}
.ct-close__hrs{font:400 var(--fs-body)/1.6 var(--sans);color:var(--muted);margin:24px 0 0}

@media (max-width:1080px){
  .ct-hero{padding-top:calc(var(--header-h) + 40px)}
  .ct-form__grid,.ct-faq__grid{grid-template-columns:minmax(0,1fr)}
  .ct-side{position:static}
  .ct-band__grid{grid-template-columns:minmax(0,1fr)}
  .ct-band__media{min-height:320px}
}
@media (max-width:860px){
  .ct-hero__grid{grid-template-columns:minmax(0,1fr);align-items:start}
  .ct-hero__frame{aspect-ratio:4/3;max-height:none}
  .ct-pair{grid-template-columns:minmax(0,1fr)}
  .ct-field input,.ct-field textarea{font-size:var(--fs-field)}
  .ct-tbl,.ct-tbl tbody,.ct-tbl tr,.ct-tbl th,.ct-tbl td{display:block;width:auto}
  .ct-tbl thead{display:none}
  .ct-tbl tbody tr{padding:28px 0;border-bottom:1px solid var(--hairline)}
  .ct-tbl tbody tr:first-child{border-top:1px solid var(--ink)}
  .ct-tbl tbody th,.ct-tbl tbody td{border:0;padding:0}
  .ct-tbl td{margin-top:18px;padding:14px 16px !important}
  .ct-tbl td::before{content:attr(data-col);display:block;margin-bottom:8px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
  .ct-tbl td.ct-2b::before{color:var(--olive)}
  .ct-band__body{padding:48px var(--gutter)}
  .ct-faq__a{padding-left:0;padding-right:0}
}
@media (prefers-reduced-motion:reduce){
  .ct-hero__frame img,.ct-reveal{animation:none}
  .ct-line::after,.ct-pill span{transition:none}
}
.ct-label{align-items:center;min-height:20px}
.ct-group > .ct-label{width:100%;float:none}

/* Contact · aligned to the site's standard sections */
.ct-form__grid{padding-top:0}
.ct-side .ct-ledger{border-top:1px solid var(--hairline)}
.ct-pill span{border-radius:0}
.ct-field input,.ct-field textarea{border:1px solid var(--hairline);padding:14px 16px;font-size:var(--fs-body);line-height:1.5;background:var(--paper)}
.ct-field textarea{min-height:140px}
.ct-field input:hover,.ct-field textarea:hover,.ct-field input:focus,.ct-field textarea:focus{border-color:var(--ink)}
.ct-field input[aria-invalid="true"],.ct-field textarea[aria-invalid="true"]{border-color:var(--olive)}
.ct-line{display:none}
.ct-letter{gap:40px}
.ct-close__mail{font:inherit;letter-spacing:inherit;border:0;padding:0;margin:0;display:inline;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.ct-close__mail:hover{color:var(--royal)}

/* Contact · form fields boxed like the Join page */
.ce2 .field input,.ce2 .field textarea{border:1px solid var(--hairline);padding:14px 16px;background:var(--paper)}
.ce2 .field input:hover,.ce2 .field textarea:hover,.ce2 .field input:focus,.ce2 .field textarea:focus{border-color:var(--ink)}
.ce2 .field textarea{resize:none;overflow:hidden;min-height:140px}
.ce2__count{margin:8px 0 0;text-align:right;font-size:var(--fs-fine);color:var(--muted);font-variant-numeric:tabular-nums}
.ce2__done{display:flex;flex-direction:column;gap:16px}
.ct-map{max-width:560px}
.ce2 .ce2__full{grid-column:1 / -1}
.ce2 .jd__list{max-height:320px}
.ct .hw2{background:var(--bone)}

/* Contact · closing band */
.ct-close{min-height:56vh}
.ct-close .band__media img{filter:grayscale(1) brightness(.6) contrast(1.08);object-position:center 40%}
.ct-close .band__scrim{background:linear-gradient(180deg,rgba(14,13,10,.45),rgba(14,13,10,.65))}
.ct-close .kicker{color:#fff}
.ct-close__h{margin-top:20px;font-family:var(--sans);font-weight:400;font-size:var(--fs-h1);line-height:1.1;letter-spacing:-.01em}
.ct-close .ct-close__mail{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:6px}
.ct-close .ct-close__mail:hover{color:#fff;border-bottom-color:#fff}
.ct-close__hrs{font-size:var(--fs-lede);color:rgba(255,255,255,.88)}

/* Contact · How we work, images and moving marker */
.hw2__media{margin:28px 0 0;aspect-ratio:4/3;overflow:hidden;background:var(--paper);max-width:calc(100% - 32px)}
.hw2__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.02);opacity:.62;transition:opacity 320ms var(--ease)}
.hw2__track .hw2__step .hw2__dot,.hw2__track .hw2__step:first-child .hw2__dot{background:var(--bone);transition:background 320ms var(--ease),transform 320ms var(--ease)}
.hw2__track[data-active="1"] .hw2__step:nth-child(1) .hw2__dot,
.hw2__track[data-active="2"] .hw2__step:nth-child(2) .hw2__dot,
.hw2__track[data-active="3"] .hw2__step:nth-child(3) .hw2__dot,
.hw2__track[data-active="4"] .hw2__step:nth-child(4) .hw2__dot{background:var(--olive);transform:scale(1.15)}
.hw2__track[data-active="1"] .hw2__step:nth-child(1) .hw2__media img,
.hw2__track[data-active="2"] .hw2__step:nth-child(2) .hw2__media img,
.hw2__track[data-active="3"] .hw2__step:nth-child(3) .hw2__media img,
.hw2__track[data-active="4"] .hw2__step:nth-child(4) .hw2__media img{opacity:1}
.hw2__track[data-active] .hw2__step .hw2__n{transition:color 320ms var(--ease)}
@media (prefers-reduced-motion:reduce){.hw2__media img{opacity:1}}
@media (max-width:860px){.hw2__media{max-width:none}}

/* Contact · organisation combobox (select or type) */
.jd--combo{position:relative}
.jd--combo .jd__input{width:100%;padding-right:44px}
.jd__toggle{position:absolute;right:0;top:0;bottom:0;width:44px;display:grid;place-items:center;background:none;border:0;padding:0;cursor:pointer;color:var(--ink)}
.jd--combo[data-open="true"] .jd__chev{transform:translateY(2px) rotate(225deg)}
.jd__opt[data-active="true"]{background:var(--bone)}
.jd__none{padding:11px 18px;font:400 var(--fs-fine)/1.5 var(--sans);color:var(--muted)}

/* Contact · How we work, uniform images */
.hw2__media{width:100%;max-width:none;aspect-ratio:4/3;margin:28px 0 20px}
.hw2__media img{width:100%;height:100%;object-fit:cover;display:block}
.jd--combo .jd__input{text-overflow:ellipsis}

/* Contact · closing band, smaller */
[data-block="contact-cta"].band,.ct-close.band{min-height:0}
.ct-close .band__inner,[data-block="contact-cta"] .band__inner{padding:clamp(56px,7vw,96px) var(--gutter)}
.ct-close__h,.ct-close__mail{font-size:clamp(26px,2.6vw,36px);line-height:1.2;font-weight:400}
.ct-close__mail{padding-bottom:6px}

/* Contact · How we work, equal columns so every image is the same size */
.hw2__track .hw2__step,.hw2__track .hw2__step + .hw2__step{padding:0 clamp(16px,2vw,32px);border-left:0}
.hw2__track .hw2__step::after{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:rgba(255,255,255,.1)}
.hw2__track .hw2__step:first-child::after{display:none}
@media (max-width:1080px){.hw2__track .hw2__step:nth-child(odd)::after{display:none}}
@media (max-width:860px){.hw2__track .hw2__step,.hw2__track .hw2__step + .hw2__step{padding:0}.hw2__track .hw2__step::after{display:none}}

/* Contact · map, night site plan */
.ct-map__svg{display:block;width:100%;height:auto;background:#0E0D0A}
.ct-map__ping{transform-box:fill-box;transform-origin:center;animation:ctPing 3.2s cubic-bezier(.22,.61,.36,1) infinite}
@keyframes ctPing{0%{transform:scale(1);opacity:.9}100%{transform:scale(5);opacity:0}}
.ct-map__mrt g{transition:opacity 200ms var(--ease)}
.ct-map:hover .ct-map__mrt g,.ct-map:focus-visible .ct-map__mrt g{opacity:1}
@media (prefers-reduced-motion:reduce){.ct-map__ping{animation:none;opacity:.5}}

/* Home · Why training providers trust us, flashcards */
.fc-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fc{perspective:1400px;height:360px;cursor:pointer;outline:none}
.fc__inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 720ms cubic-bezier(.2,.7,.2,1)}
.fc:hover .fc__inner,.fc.is-flipped .fc__inner{transform:rotateY(180deg)}
.fc:focus-visible .fc__inner{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--royal)}
.fc__face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;padding:40px 36px 32px;border:1px solid var(--hairline)}
.fc__front{background:var(--paper);justify-content:space-between;overflow:hidden}
.fc__front::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--olive);transition:width 520ms var(--ease)}
.fc:hover .fc__front::after{width:100%}
.fc__num{font:300 var(--fs-figure)/1 var(--sans);letter-spacing:.02em;color:var(--olive);transition:transform 520ms var(--ease)}
.fc:hover .fc__front .fc__num{transform:translateY(-6px)}
.fc__tag{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.fc__title{font:400 var(--fs-h3)/1.25 var(--sans);letter-spacing:var(--track-display);color:var(--ink);text-wrap:balance}
.fc__hint{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.fc__back{background:var(--ink);color:#fff;transform:rotateY(180deg);justify-content:space-between;border-color:var(--ink)}
.fc__num--sm{font:500 var(--fs-micro)/1.5 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:#B5B08A}
.fc__body{font:400 var(--fs-body)/1.6 var(--sans);color:rgba(255,255,255,.88);text-wrap:pretty}
.fc__body a{color:#fff !important}

@media (prefers-reduced-motion:reduce){.fc__inner{transition:none}.fc__front::after,.fc__num{transition:none}}
@media (max-width:1080px){.fc-row{grid-template-columns:minmax(0,1fr);gap:16px}.fc{height:300px}}

/* Home · trust cards, rise-up reveal instead of flip */
.fc{perspective:none}
.fc__inner{transform:none !important;transition:none;overflow:hidden;border:1px solid var(--hairline);background:var(--paper)}
.fc__face{border:0;backface-visibility:visible;-webkit-backface-visibility:visible}
.fc__back{transform:translateY(101%);transition:transform 560ms cubic-bezier(.2,.7,.2,1);z-index:2}
.fc:hover .fc__back,.fc.is-flipped .fc__back,.fc:focus-visible .fc__back{transform:translateY(0)}
.fc__back > *{opacity:0;transform:translateY(14px);transition:opacity 360ms var(--ease),transform 360ms var(--ease)}
.fc:hover .fc__back > *,.fc.is-flipped .fc__back > *,.fc:focus-visible .fc__back > *{opacity:1;transform:none}
.fc:hover .fc__back > :nth-child(1),.fc.is-flipped .fc__back > :nth-child(1),.fc:focus-visible .fc__back > :nth-child(1){transition-delay:180ms}
.fc:hover .fc__back > :nth-child(2),.fc.is-flipped .fc__back > :nth-child(2),.fc:focus-visible .fc__back > :nth-child(2){transition-delay:260ms}
.fc__front{transition:transform 560ms cubic-bezier(.2,.7,.2,1)}
.fc:hover .fc__front,.fc.is-flipped .fc__front{transform:translateY(-14%)}
.fc:focus-visible .fc__inner{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--royal)}

@media (prefers-reduced-motion:reduce){.fc__back,.fc__back > *,.fc__front{transition:none}}

/* Header · SWDA Advisory parent is a toggle, not a page link */
.hdr__parent{background:none;border:0;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.hdr__parent::after{content:"";width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform 200ms var(--ease)}
.hdr__has:hover .hdr__parent::after,.hdr__has[data-open="true"] .hdr__parent::after{transform:translateY(1px) rotate(225deg)}
.hdr__parent:hover{color:var(--royal)}
.hdr__parent:focus-visible{outline:2px solid var(--royal);outline-offset:4px}
.hdr__has[data-open="true"] > .hdr__sub{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.hdr__parent::after{width:5px;height:5px}

/* ========== Organisation Registration page (atosetupadvisory.dc.html) ========== */
.or{font-synthesis:none}
.or *{font-family:var(--sans)}
.or-hero{padding:calc(var(--header-full) + 64px) 0 96px;background:var(--paper)}
.or-hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:center}
.or-crumb{display:flex;flex-wrap:wrap;gap:10px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin-bottom:32px}
.or-crumb a{color:inherit;text-decoration:none}
.or-crumb a:hover{color:var(--royal)}
.or-crumb [aria-current]{color:var(--ink)}
.or-kicker{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive);margin:0}
.or-h1{font:400 var(--fs-h1)/1.08 var(--sans);letter-spacing:var(--track-display);margin:20px 0 0;text-wrap:balance}
.or-h2{font:400 var(--fs-h2)/1.15 var(--sans);letter-spacing:-.01em;margin:16px 0 0;text-wrap:balance}
.or-lede{margin:28px 0 0;font:400 var(--fs-lede)/1.65 var(--sans);color:var(--muted);max-width:60ch}
.or-p{margin:20px 0 0;font:400 var(--fs-body)/1.6 var(--sans);color:var(--muted);max-width:62ch}
.or-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;margin-top:40px}
.or-actions--c{justify-content:center}
.or-hero__fig{margin:0;border:1px solid var(--hairline);padding:12px;background:var(--paper)}
.or-hero__fig img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1)}
.or .ilink{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.or .ilink:hover{color:var(--royal)}
.or-links{display:flex;flex-wrap:wrap;gap:8px 28px;margin:16px 0 0;font-size:var(--fs-fine)}
.or-rule{background:var(--ink);color:#fff;padding:var(--sec-y) 0}
.or-rule .or-kicker{color:#CFCBA8}
.or-rule__text{font:300 var(--fs-statement)/1.4 var(--sans);letter-spacing:var(--track-display);margin:24px 0 0;max-width:34ch;text-wrap:pretty}
.or-rule .ilink{color:#fff}
.or-rule .ilink:hover{color:#CFCBA8}
.or-rule__links{margin-top:32px;font-size:var(--fs-card)}
.or-sec{padding:var(--sec-y) 0}
.or-sec--bone{background:var(--bone)}
.or-sec--tight{padding:var(--sec-y) 0}
.or-head{max-width:760px;margin-bottom:56px}
.or-route{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--ink)}
.or-route li + li{border-left:1px solid var(--hairline)}
.or-route a{display:flex;flex-direction:column;gap:10px;height:100%;padding:20px 16px 24px;color:var(--ink);text-decoration:none;transition:background 200ms var(--ease)}
.or-route li:first-child a{padding-left:0}
.or-route a:hover{background:var(--bone)}
.or-route a:hover .or-route__t{color:var(--royal)}
.or-route a:focus-visible{outline:2px solid var(--royal);outline-offset:-2px}
.or-route__n{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);color:var(--olive);font-variant-numeric:tabular-nums}
.or-route__t{font:500 var(--fs-card)/1.6 var(--sans)}
.or-route__d{font:400 var(--fs-fine)/1.5 var(--sans);color:var(--muted)}
.or-before{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,6vw,96px);align-items:start}
.or-three{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--hairline)}
.or-three li,.or-list li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:18px 0;border-bottom:1px solid var(--hairline)}
.or-three span,.or-list span{font:500 var(--fs-micro)/1.9 var(--sans);letter-spacing:var(--track-micro);color:var(--olive);font-variant-numeric:tabular-nums}
.or-three p,.or-list p{margin:0;font:400 var(--fs-body)/1.6 var(--sans);color:var(--ink)}
.or-ready{background:var(--paper);border:1px solid var(--hairline);padding:clamp(24px,3vw,40px)}
.or-ready__head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.or-ready__t{font:500 var(--fs-h3)/1.2 var(--sans);margin:0}
.or-ready__c{margin:0;font:500 var(--fs-fine)/1 var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}
.or-ready__bar{height:2px;background:var(--hairline);margin:18px 0 8px;position:relative;overflow:hidden}
.or-ready__bar i{position:absolute;left:0;top:0;bottom:0;background:var(--ink);transition:width 280ms var(--ease)}
.or-ready__list{list-style:none;margin:0;padding:0}
.or-ready__list li{border-bottom:1px solid var(--hairline)}
.or-tick{display:grid;grid-template-columns:20px minmax(0,1fr);gap:14px;align-items:start;padding:12px 0;cursor:pointer}
.or-tick input{position:absolute;opacity:0;width:1px;height:1px}
.or-tick__box{width:18px;height:18px;border:1px solid var(--ink);margin-top:2px;position:relative;transition:background 200ms var(--ease)}
.or-tick input:checked + .or-tick__box{background:var(--ink)}
.or-tick input:checked + .or-tick__box::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(45deg)}
.or-tick input:focus-visible + .or-tick__box{outline:2px solid var(--royal);outline-offset:3px}
.or-tick__t{font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.or-tick input:checked ~ .or-tick__t{color:var(--muted)}
.or-note{margin:18px 0 0;font:400 var(--fs-fine)/1.5 var(--sans);color:var(--muted)}
.or-items{border-top:1px solid var(--ink)}
.or-item{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);padding:40px 0;border-bottom:1px solid var(--hairline);scroll-margin-top:calc(var(--header-full) + 24px)}
.or-item__n{margin:0;font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);color:var(--olive)}
.or-item__t{margin:12px 0 0;font:500 var(--fs-h3)/1.25 var(--sans)}
.or-item__body p{margin:14px 0 0;font:400 var(--fs-body)/1.6 var(--sans);color:var(--muted);max-width:62ch}
.or-label{margin:0;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink)}
.or-check{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--hairline)}
.or-check li{position:relative;padding:12px 0 12px 22px;border-bottom:1px solid var(--hairline);font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.or-check li::before{content:"";position:absolute;left:0;top:20px;width:8px;height:1px;background:var(--olive)}
.or-check .ilink{display:inline-block;margin-top:4px}
.or-fold{margin-top:40px;border-top:1px solid var(--ink);border-bottom:1px solid var(--hairline)}
.or-fold summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font:500 var(--fs-card)/1.6 var(--sans)}
.or-fold summary::-webkit-details-marker{display:none}
.or-fold summary::after{content:"";width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform 200ms var(--ease);flex:0 0 auto}
.or-fold[open] summary::after{transform:translateY(2px) rotate(225deg)}
.or-fold summary:hover{color:var(--royal)}
.or-fold summary:focus-visible{outline:2px solid var(--royal);outline-offset:4px}
.or-fold__list{margin:0;padding:0 0 12px}
.or-fold__list div{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:24px;padding:14px 0;border-top:1px solid var(--hairline)}
.or-fold__list dt{font:500 var(--fs-card)/1.6 var(--sans)}
.or-fold__list dd{margin:0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted)}
.or-decl{margin-top:40px}
.or-decl p:first-child{margin:0;font:400 var(--fs-body)/1.6 var(--sans)}
.or-fees{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start}
.or-fees .or-head{margin-bottom:0}
.or-ledger{margin:0;border-top:1px solid var(--ink)}
.or-ledger div{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:20px 0;border-bottom:1px solid var(--hairline)}
.or-ledger dt{font:500 var(--fs-card)/1.6 var(--sans)}
.or-ledger dt span{display:block;margin-top:4px;font:400 var(--fs-fine)/1.4 var(--sans);color:var(--muted)}
.or-ledger dd{margin:0;font:400 var(--fs-statement)/1 var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap}
.or-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.or-list .ilink{margin-right:16px}
.or-pkg__intro{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:end;margin-bottom:64px}
.or-pkg__fig{margin:0;border:1px solid var(--hairline);padding:12px}
.or-pkg__fig img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;filter:grayscale(1)}
.or-pkg{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,80px);border-top:1px solid var(--ink)}
.or-pkg__item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:32px 0;border-bottom:1px solid var(--hairline)}
.or-pkg__n{font:500 var(--fs-micro)/2 var(--sans);letter-spacing:var(--track-micro);color:var(--olive);font-variant-numeric:tabular-nums}
.or-pkg__t{margin:0;font:500 var(--fs-card)/1.6 var(--sans);font-size:var(--fs-lede)}
.or-pkg__b p{margin:10px 0 0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted)}
.or-pkg__b .or-links{margin-top:12px}
.or-bullets{margin:10px 0 0;padding:0;list-style:none}
.or-bullets li{position:relative;padding:6px 0 6px 18px;font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.or-bullets li::before{content:"";position:absolute;left:0;top:17px;width:8px;height:1px;background:var(--olive)}
.or-ans{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:16px 0 0;font:400 var(--fs-fine)/1.5 var(--sans)}
.or-ans span{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive);margin-right:4px}
.or-ans a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--hairline);text-underline-offset:4px}
.or-ans a:hover{color:var(--royal);text-decoration-color:currentColor}
.or-ans i{font-style:normal;color:var(--muted)}
.or-whole{margin:48px 0 0;padding:4px 0 4px 24px;border-left:2px solid var(--olive);font:400 var(--fs-body)/1.6 var(--sans);color:var(--ink);max-width:72ch}
.or-disc{max-width:900px;border-top:1px solid var(--hairline);padding-top:28px}
.or-disc__t{margin:0;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.or-disc p{margin:14px 0 0;font:400 var(--fs-fine)/1.7 var(--sans);color:var(--muted)}
.or-close{text-align:center}
.or-close .or-h2{margin:0}
.or [id]{scroll-margin-top:calc(var(--header-full) + 24px)}
@media (max-width:1080px){
  .or-hero{padding-top:calc(var(--header-h) + 48px)}
  .or [id],.or-item{scroll-margin-top:calc(var(--header-h) + 16px)}
  .or-route{grid-template-columns:minmax(0,1fr);border-top:1px solid var(--ink)}
  .or-route li + li{border-left:0;border-top:1px solid var(--hairline)}
  .or-route a{display:grid;grid-template-columns:44px minmax(0,1fr);row-gap:4px;padding:16px 0}
  .or-route__d{grid-column:2}
  .or-before,.or-fees,.or-pkg__intro{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  .or-hero__grid,.or-item{grid-template-columns:minmax(0,1fr)}
  .or-hero__fig{max-width:420px}
  .or-pkg{grid-template-columns:minmax(0,1fr)}
  .or-fold__list div{grid-template-columns:minmax(0,1fr);gap:4px}
}
@media (max-width:480px){
  .or-ledger div{flex-direction:column;align-items:flex-start;gap:8px}
}
@media (prefers-reduced-motion:reduce){.or-ready__bar i,.or-route a{transition:none}}

/* ========== TPQA Audit Matters page (ssgauditmatters.dc.html) ==========
   Builds on the Organisation Registration .or-* styles. */
.tq-grades{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.tq-grade{padding:28px 32px 32px 0}
.tq-grade + .tq-grade{padding-left:32px;border-left:1px solid var(--hairline)}
.tq-grade__g{margin:0 0 14px;font:400 var(--fs-h2)/1.1 var(--sans);letter-spacing:-.01em;color:var(--ink)}
.tq-grade p:not(.tq-grade__g){margin:0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted)}
.tq-source{margin:28px 0 0;font:400 var(--fs-fine)/1.5 var(--sans);color:var(--muted)}
.tq-explorer{border-top:1px solid var(--ink)}
.tq-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--hairline)}
.tq-tab{display:flex;flex-direction:column;gap:8px;text-align:left;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:22px 24px 20px 0;cursor:pointer;color:var(--muted);font-family:var(--sans)}
.tq-tab + .tq-tab{padding-left:24px;border-left:1px solid var(--hairline)}
.tq-tab:hover{color:var(--ink)}
.tq-tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink)}
.tq-tab:focus-visible,.tq-acc:focus-visible{outline:2px solid var(--royal);outline-offset:-2px}
.tq-tab__n{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.tq-tab__t{font:500 var(--fs-card)/1.6 var(--sans)}
.tq-tab__c{font:400 var(--fs-fine)/1 var(--sans);color:var(--muted)}
.tq-acc{display:none}
.tq-panel[data-open="false"]{display:none}
.tq-panel__line{margin:28px 0 8px;font:400 var(--fs-body)/1.6 var(--sans);color:var(--muted);max-width:70ch}
.tq-rows{list-style:none;margin:0;padding:0}
.tq-row{display:grid;grid-template-columns:56px minmax(0,6fr) minmax(0,5fr);gap:clamp(20px,3vw,48px);padding:26px 0;border-bottom:1px solid var(--hairline)}
.tq-row__n{font:500 var(--fs-fine)/1.6 var(--sans);color:var(--olive);font-variant-numeric:tabular-nums}
.tq-row__t{margin:0;font:500 var(--fs-lede)/1.35 var(--sans)}
.tq-row__p{margin:8px 0 0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted)}
.tq-row__look p:last-child{margin:10px 0 0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.tq-route{grid-template-columns:repeat(5,minmax(0,1fr))}
.tq-step{display:flex;flex-direction:column;gap:10px;padding:20px 20px 24px}
.tq-route li:first-child .tq-step{padding-left:0}
.tq-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin-top:48px}
.tq-notes p{margin:0;padding-left:20px;border-left:2px solid var(--olive);font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.tq-pairs{border-top:1px solid var(--ink)}
.tq-pairs__head{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,4fr);gap:clamp(20px,3vw,48px);padding:16px 0;border-bottom:1px solid var(--hairline);font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.tq-pair{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,4fr);gap:clamp(20px,3vw,48px);padding:24px 0;border-bottom:1px solid var(--hairline)}
.tq-pair__t{margin:0;font:500 var(--fs-card)/1.6 var(--sans)}
.tq-pair__good{margin:0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.tq-pair__bad{margin:0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted)}
.tq-pair__lbl{display:none}
.tq-three{list-style:none;margin:0 0 48px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.tq-three li{padding:24px 32px 28px 0}
.tq-three li + li{padding-left:32px;border-left:1px solid var(--hairline)}
.tq-three span{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);color:var(--olive)}
.tq-three h3{margin:14px 0 0;font:500 var(--fs-h3)/1.25 var(--sans)}
.tq-three p{margin:10px 0 0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted)}
.tq-record{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,80px);border-top:1px solid var(--ink);padding-top:32px}
.tq-record p{margin:0;font:300 var(--fs-statement)/1.4 var(--sans);letter-spacing:var(--track-display);color:var(--ink);text-wrap:pretty}
.tq-docs{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.tq-docs a{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:18px 0;border-bottom:1px solid var(--hairline);color:var(--ink);text-decoration:underline;text-decoration-color:var(--hairline);text-underline-offset:5px;font:400 var(--fs-card)/1.6 var(--sans)}
.tq-docs a:hover{color:var(--royal);text-decoration-color:currentColor}
.tq-docs a:focus-visible{outline:2px solid var(--royal);outline-offset:2px}
.tq-docs i{font-style:normal;color:var(--muted);flex:0 0 auto}
@media (max-width:1080px){
  .tq-route{grid-template-columns:minmax(0,1fr)}
  .tq-step{display:grid;grid-template-columns:44px minmax(0,1fr);row-gap:4px;padding:16px 0}
  .tq-step .or-route__d{grid-column:2}
  .tq-row{grid-template-columns:48px minmax(0,1fr)}
  .tq-row__look{grid-column:2}
}
@media (max-width:860px){
  .tq-grades,.tq-three,.tq-record,.tq-notes{grid-template-columns:minmax(0,1fr)}
  .tq-grade,.tq-grade + .tq-grade,.tq-three li,.tq-three li + li{padding:24px 0;border-left:0}
  .tq-grade + .tq-grade,.tq-three li + li{border-top:1px solid var(--hairline)}
  .tq-tabs{display:none}
  .tq-panel[data-open="false"]{display:block}
  .tq-panel{border-bottom:1px solid var(--hairline)}
  .tq-acc{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;background:none;border:0;padding:20px 32px 20px 0;cursor:pointer;position:relative;color:var(--ink);font-family:var(--sans)}
  .tq-acc::after{content:"";position:absolute;right:4px;top:28px;width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}
  .tq-acc[aria-expanded="true"]::after{transform:translateY(4px) rotate(225deg)}
  .tq-panel[data-open="false"] .tq-panel__body{display:none}
  .tq-panel__line{margin-top:0}
  .tq-pairs__head{display:none}
  .tq-pair{grid-template-columns:minmax(0,1fr);gap:10px}
  .tq-pair__lbl{display:block;margin-bottom:4px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
}

/* ========== Editorial photo blocks (Organisation Registration and TPQA pages) ==========
   Full-width 16:9 hero with centred text, full-width 16:9 section openers,
   rows of 4:5 portrait tiles. Used by atosetupadvisory.dc.html and ssgauditmatters.dc.html. */
.lv-hero{position:relative;overflow:hidden;isolation:isolate;margin-top:var(--header-full);width:100%;aspect-ratio:16/9;max-height:80vh;min-height:420px;display:grid;place-items:center;background:var(--ink)}
.lv-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.lv-hero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,13,10,.2) 0%,rgba(14,13,10,.35) 55%,rgba(14,13,10,.55) 100%)}
.lv-hero__inner{text-align:center;color:#fff;padding:0 24px;max-width:900px}
.lv-kicker{margin:0;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase}
.lv-title{margin:16px 0 0;font:400 var(--fs-h2)/1.15 var(--sans);letter-spacing:-.01em;text-wrap:balance}
.lv-title--ink{margin:0;color:var(--ink);text-align:center}
.lv-link{display:inline-block;margin-top:22px;color:#fff;font:500 var(--fs-kicker)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.lv-link:hover{color:#fff;opacity:.8}
.lv-link:focus-visible{outline:2px solid #fff;outline-offset:4px}
.lv-intro{padding:56px 0 24px;text-align:center}
.lv-intro .or-crumb{justify-content:center;margin:0 0 24px}
.lv-intro .or-lede{margin:0 auto;max-width:64ch}
.lv-intro .or-actions{margin-top:32px}
.or-actions--c{justify-content:center}
.lv-sec{padding-top:0}
.lv-media{margin:0 0 56px;width:100%;aspect-ratio:16/9;max-height:80vh;overflow:hidden;background:var(--bone)}
.lv-media img{width:100%;height:100%;object-fit:cover;display:block}
.lv-sec > .wrap > .or-head,.lv-sec > .wrap > .or-pkg__intro > header{text-align:center;margin-left:auto;margin-right:auto;max-width:760px}
.lv-sec > .wrap > .or-pkg__intro{display:block}
.lv-sec > .wrap > .or-head .or-h2,.lv-sec > .wrap > .or-pkg__intro .or-h2{font-size:var(--fs-h2);line-height:1.2}
.lv-sec > .wrap > .or-head .or-p,.lv-sec > .wrap > .or-pkg__intro .or-p{margin-left:auto;margin-right:auto}
.lv-wide{padding:0 48px}
.lv-wide > .or-head{text-align:center;margin:0 auto 40px;max-width:760px}
.lv-wide > .or-head .or-h2{font-size:var(--fs-h2);line-height:1.2}
#route.lv-sec{padding-top:var(--sec-y)}
.lv-tiles{display:grid;gap:40px 16px}
.lv-tiles--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lv-tiles--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lv-tiles--in{margin:0 0 56px}
.lv-close{padding:56px 48px 0}
.lv-tile{display:flex;flex-direction:column;color:var(--ink);text-decoration:none;text-align:left;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.lv-tile__img{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--bone)}
.lv-tile__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 600ms var(--ease)}
.lv-tile:hover .lv-tile__img img{transform:scale(1.03)}
.lv-tile__cap{margin-top:14px;font:500 var(--fs-small)/1.4 var(--sans);color:var(--ink)}
.lv-tile__sub{margin-top:4px;font:400 var(--fs-small)/1.5 var(--sans);color:var(--muted)}
.lv-tile__cta{margin-top:10px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;text-decoration:underline;text-underline-offset:5px;color:var(--ink)}
.lv-tile:hover .lv-tile__cap,.lv-tile:hover .lv-tile__cta{color:var(--royal)}
.lv-tile:focus-visible{outline:2px solid var(--royal);outline-offset:4px}
.lv-tile--btn[aria-pressed="true"] .lv-tile__cap{text-decoration:underline;text-underline-offset:5px}
.lv-closewrap{padding-bottom:var(--sec-y)}
.lv-closewrap > .wrap{text-align:center}
@media (prefers-reduced-motion:reduce){.lv-tile__img img{transition:none}.lv-tile:hover .lv-tile__img img{transform:none}}
@media (max-width:1080px){
  .lv-hero{margin-top:var(--header-h)}
  .lv-tiles--4,.lv-tiles--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lv-wide,.lv-close{padding-left:24px;padding-right:24px}
}
@media (max-width:640px){
  .lv-hero{aspect-ratio:auto;height:72vh;min-height:420px}
  .lv-tiles--4,.lv-tiles--3{grid-template-columns:minmax(0,1fr)}
  .lv-wide,.lv-close{padding-left:20px;padding-right:20px}
  .lv-media{margin-bottom:40px}
}

/* ========== Organisation Registration round 3 and TPQA round 3 ==========
   Tile captions inside the photograph, chapters, accordions, the cost film.
   Used by atosetupadvisory.dc.html and ssgauditmatters.dc.html. */
.lv-tiles--4{display:flex;flex-wrap:wrap;justify-content:center}
.lv-tiles--4 > .lv-tile{flex:0 0 calc((100% - 48px) / 4);min-width:0}
.lv-tile__img{position:relative}
.lv-tile__img::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(180deg,rgba(14,13,10,0),rgba(14,13,10,.5));pointer-events:none;z-index:1}
.lv-tile__tag{position:absolute;left:16px;bottom:14px;z-index:2;color:#fff;font:500 var(--fs-micro)/1.3 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;transition:opacity 240ms ease-out}
.lv-tile__over{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:20px;background:rgba(14,13,10,.74);color:#fff;opacity:0;transform:translateY(10px);transition:opacity 240ms ease-out,transform 240ms ease-out}
.lv-tile:hover .lv-tile__over,.lv-tile:focus-visible .lv-tile__over{opacity:1;transform:none}
.lv-tile:hover .lv-tile__tag,.lv-tile:focus-visible .lv-tile__tag{opacity:0}
.lv-tile .lv-tile__num{font:500 var(--fs-micro)/1.3 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:rgba(255,255,255,.72)}
.lv-tile .lv-tile__cap,.lv-tile:hover .lv-tile__cap{margin:0;font:500 var(--fs-body)/1.6 var(--sans);color:#fff;text-decoration:none}
.lv-tile .lv-tile__sub{margin:0;font:400 var(--fs-small)/1.5 var(--sans);color:rgba(255,255,255,.86)}
.lv-tile .lv-tile__cta,.lv-tile:hover .lv-tile__cta{margin-top:6px;color:#fff;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;text-decoration:underline;text-underline-offset:5px}
.lv-tile:focus-visible{outline:2px solid var(--royal);outline-offset:4px}
.lv-tile--btn[aria-pressed="true"] .lv-tile__img{outline:2px solid var(--ink);outline-offset:4px}
@media (hover:none){
  .lv-tile__over{opacity:1;transform:none;background:linear-gradient(180deg,rgba(14,13,10,0) 25%,rgba(14,13,10,.82) 100%)}
  .lv-tile__tag{display:none}
}
@media (prefers-reduced-motion:reduce){.lv-tile__over,.lv-tile__tag{transition:none}}
.or-under{padding:40px 0 0}
.or-chap{padding-bottom:0}
.or-chap .or-head{margin-bottom:0}
.or-chap + section{padding-top:72px}
.or-accs{border-top:1px solid var(--ink)}
.or-acc{border-bottom:1px solid var(--hairline)}
.or-acc__sum{list-style:none;display:grid;grid-template-columns:48px minmax(0,1fr) 20px;align-items:baseline;gap:16px;padding:22px 0;cursor:pointer}
.or-acc__sum::-webkit-details-marker{display:none}
.or-acc__sum::after{content:"";width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-3px) rotate(45deg);justify-self:end}
.or-acc[open] > .or-acc__sum::after{transform:translateY(2px) rotate(225deg)}
.or-acc__sum:hover .or-acc__t{color:var(--royal)}
.or-acc__sum:focus-visible{outline:2px solid var(--royal);outline-offset:2px}
.or-acc__n{font:500 var(--fs-fine)/1 var(--sans);color:var(--olive)}
.or-acc__t{font:500 var(--fs-lede)/1.35 var(--sans);color:var(--ink)}
.or-acc__body{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);padding:0 0 28px 64px}
.or-acc__body .or-item__body p{margin:0 0 12px;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted)}
/* the cost film */
.cf{margin:56px 0 0}
.cf-frame{position:relative;aspect-ratio:16/9;background:#0e0d0a;color:#fff;overflow:hidden;container-type:inline-size}
.cf-scene{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:2.2cqi;padding:6cqi 8cqi;opacity:0;visibility:hidden;transition:opacity 500ms ease-out,visibility 0s 500ms}
.cf-scene[data-on="true"]{opacity:1;visibility:visible;transition:opacity 500ms ease-out}
.cf-big{margin:0;font:300 clamp(20px,4.6cqi,56px)/1.15 var(--sans);letter-spacing:-.01em;text-wrap:balance}
.cf-line{margin:0;font:400 clamp(13px,1.8cqi,20px)/1.5 var(--sans);color:rgba(255,255,255,.72);max-width:48ch}
.cf-kick{margin:0;font:500 clamp(10px,1.2cqi,13px)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:#CFCBA8}
.cf-num{margin:0;font:300 clamp(28px,7.4cqi,88px)/1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.cf-num--add{color:#CFCBA8}
.cf-num--sm{font-size:clamp(22px,5cqi,60px)}
.cf-run{margin:0;font:400 clamp(12px,1.5cqi,16px)/1.4 var(--sans);color:rgba(255,255,255,.62);font-variant-numeric:tabular-nums}
.cf-run span{color:#fff}
.cf-later{display:flex;flex-direction:column;align-items:center;gap:1cqi;opacity:0;transition:opacity 400ms ease-out}
.cf-later[data-on="true"]{opacity:1}
.cf-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.8cqi;width:min(100%,72cqi)}
.cf-m{aspect-ratio:1/1.6;border:1px solid rgba(255,255,255,.3);transition:background 260ms ease-out,border-color 260ms ease-out}
.cf-m[data-on="true"]{background:#fff;border-color:#fff}
.cf-bar{display:flex;width:min(100%,76cqi);height:clamp(10px,2.4cqi,28px);border:1px solid rgba(255,255,255,.3)}
.cf-bar i{display:block;height:100%;min-width:0;transition:width 300ms ease-out}
.cf-b1{background:#fff}.cf-b2{background:#CFCBA8}.cf-b3{background:#8f8a5e}.cf-b4{background:#5c5935}.cf-b5{background:#e05a3a}
.cf-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6cqi 2cqi;font:400 clamp(10px,1.2cqi,13px)/1.3 var(--sans);color:rgba(255,255,255,.72)}
.cf-legend i{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px}
.cf-roles{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:1cqi;max-width:82cqi;transition:gap 500ms ease-out}
.cf-roles li{padding:.8cqi 1.6cqi;border:1px solid rgba(255,255,255,.35);font:400 clamp(11px,1.5cqi,16px)/1.2 var(--sans);opacity:0;transform:translateY(6px);transition:opacity 260ms ease-out,transform 260ms ease-out,border-color 400ms ease-out}
.cf-roles li[data-on="true"]{opacity:1;transform:none}
.cf-roles[data-gather="true"]{gap:0}
.cf-roles[data-gather="true"] li{border-color:#CFCBA8}
.cf-pack{margin:0;padding-top:1.4cqi;border-top:1px solid #CFCBA8;font:500 clamp(12px,1.7cqi,18px)/1.2 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:#CFCBA8;opacity:0;transition:opacity 400ms ease-out}
.cf-pack[data-on="true"]{opacity:1}
.cf-btn{background:#fff;color:var(--ink);border-color:#fff}
.cf-btn:hover{background:#CFCBA8;border-color:#CFCBA8;color:var(--ink)}
.cf-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:16px 0;border-bottom:1px solid var(--hairline)}
.cf-ctl{background:none;border:0;padding:6px 0;cursor:pointer;font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.cf-ctl:hover{color:var(--royal)}
.cf-marks{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.cf-mark{width:30px;height:30px;display:grid;place-items:center;background:none;border:1px solid var(--hairline);cursor:pointer;font:400 12px/1 var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}
.cf-mark[aria-current="true"]{border-color:var(--ink);background:var(--ink);color:#fff}
.cf-mark:hover{border-color:var(--ink)}
.cf-ctl:focus-visible,.cf-mark:focus-visible,.cf-btn:focus-visible{outline:2px solid var(--royal);outline-offset:2px}
.cf-table{width:100%;max-width:720px;margin:48px auto 0;border-collapse:collapse;font:400 var(--fs-card)/1.6 var(--sans)}
.cf-table caption{text-align:left;padding-bottom:12px}
.cf-table th{text-align:left;font-weight:400;padding:12px 0;border-bottom:1px solid var(--hairline);color:var(--ink)}
.cf-table td{text-align:right;padding:12px 0;border-bottom:1px solid var(--hairline);font-variant-numeric:tabular-nums}
.cf-table tfoot th,.cf-table tfoot td{font-weight:500;border-top:2px solid var(--ink);border-bottom:0}
.cf-note{max-width:720px;margin:20px auto 0;font:400 var(--fs-fine)/1.6 var(--sans);color:var(--muted)}
.cf-note .ilink{margin-right:12px}
.cf-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:80px;border-top:1px solid var(--ink)}
.cf-reasons article{padding:28px 32px 32px 0;border-bottom:1px solid var(--hairline)}
.cf-reasons article:nth-child(even){padding-left:32px;padding-right:0;border-left:1px solid var(--hairline)}
.cf-reasons h3{margin:0;font:500 var(--fs-h3)/1.3 var(--sans)}
.cf-reasons p{margin:10px 0 0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted)}
@media (max-width:1080px){
  .lv-tiles--4 > .lv-tile{flex-basis:calc((100% - 16px) / 2)}
  .or-acc__body{grid-template-columns:minmax(0,1fr);padding-left:0}
}
@media (max-width:640px){
  .lv-tiles--4 > .lv-tile{flex-basis:100%}
  .cf-frame{aspect-ratio:4/5}
  .cf-scene{gap:14px;padding:28px 20px}
  .cf-marks{margin-left:0;width:100%}
  .cf-reasons{grid-template-columns:minmax(0,1fr)}
  .cf-reasons article,.cf-reasons article:nth-child(even){padding:24px 0;border-left:0}
  .or-acc__sum{grid-template-columns:36px minmax(0,1fr) 16px;gap:10px}
}

/* ========== TPQA Audit Matters · compact three-chapter layout ========== */
.tq .tq3-sec{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(56px,6vw,96px)}
.tq .lv-media{max-height:52vh}
.tq .lv-media img{max-height:52vh}
.tq3-grades{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--hairline)}
.tq3-grades p{margin:0;padding:20px 24px 22px 0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted)}
.tq3-grades p + p{padding-left:24px;border-left:1px solid var(--hairline)}
.tq3-grades strong{display:block;margin-bottom:6px;font:500 var(--fs-lede)/1.3 var(--sans);color:var(--ink)}
.tq .tq-source{margin:14px 0 0}
.tq3-intro{margin:40px 0 24px;max-width:66ch}
.tq3-crit{margin-top:28px;border-top:1px solid var(--ink)}
.tq3-crit__line{margin:18px 0 6px;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted)}
.tq3-more{margin-top:32px;border-top:1px solid var(--ink)}
.tq3-more .or-acc__n:empty{display:none}
.tq3-more .or-acc__sum{grid-template-columns:minmax(0,1fr) 20px}
.tq3-more .tq-route{margin-top:4px}
.tq3-more .tq-notes{margin-top:24px}
.tq3-more .tq-docs{border-top:0}
.tq .tq-three{margin-bottom:28px}
.tq3-prhead{margin:44px 0 0}
.tq3-prs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,64px);border-top:1px solid var(--hairline);margin-top:14px}
.tq3-pr{padding:20px 0 22px;border-bottom:1px solid var(--hairline)}
.tq3-pr__t{margin:0;font:500 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.tq3-pr__g{margin:6px 0 0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.tq3-pr__b{margin:8px 0 0;font:400 var(--fs-fine)/1.55 var(--sans);color:var(--muted)}
.or-acc__body .tq3-prs{margin-top:0;border-top:0}
.tq3-next{margin-top:40px;max-width:70ch}
.tq3-next p:last-child{margin:8px 0 0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.tq #case .or-whole{margin-top:36px}
@media (max-width:860px){
  .tq3-grades,.tq3-prs{grid-template-columns:minmax(0,1fr)}
  .tq3-grades p,.tq3-grades p + p{padding:16px 0;border-left:0}
  .tq3-grades p + p{border-top:1px solid var(--hairline)}
}

/* Workshops · fee line without a price */
.wkc-card__fee strong{font-size:var(--fs-card);font-weight:500;letter-spacing:0}

/* ========== TPQA · How the assessment runs, full-width timeline ========== */
.or-acc__body > :only-child{grid-column:1/-1}
.tq-acc-full > .or-acc__body{display:block;padding:8px 0 32px}
.tq-tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 28px;position:relative}
.tq-tl::before{content:"";position:absolute;left:4px;right:0;top:4px;height:1px;background:var(--hairline)}
.tq-tl__s{position:relative;display:flex;flex-direction:column;gap:8px;padding-top:28px;min-width:0}
.tq-tl__dot{position:absolute;left:0;top:0;width:9px;height:9px;border-radius:50%;background:var(--ink)}
.tq-tl__n{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);color:var(--olive);font-variant-numeric:tabular-nums}
.tq-tl__t{font:500 var(--fs-card)/1.6 var(--sans);color:var(--ink);white-space:nowrap}
.tq-tl__d{font:400 var(--fs-fine)/1.6 var(--sans);color:var(--muted);text-wrap:pretty}
.tq-tl__docs{margin:28px 0 0;font:400 var(--fs-fine)/1.6 var(--sans);color:var(--muted);max-width:80ch}
.tq-tl__notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin-top:28px;padding-top:24px;border-top:1px solid var(--hairline)}
.tq-tl__notes p{margin:0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink);max-width:68ch}
.tq-tl__notes .tq-tl__lbl{margin:0 0 8px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
@media (max-width:1080px){
  .tq-tl{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:32px}
  .tq-tl::before{display:none}
  .tq-tl__s{border-top:1px solid var(--hairline);padding-top:24px}
  .tq-tl__dot{top:-5px}
}
@media (max-width:640px){
  .tq-tl{grid-template-columns:minmax(0,1fr);row-gap:0;padding-left:24px}
  .tq-tl::before{display:block;left:4px;right:auto;top:6px;bottom:6px;width:1px;height:auto}
  .tq-tl__s{border-top:0;padding:0 0 24px}
  .tq-tl__dot{left:-24px;top:4px}
  .tq-tl__t{white-space:normal}
  .tq-tl__notes{grid-template-columns:minmax(0,1fr)}
}

/* ========== WSQ Curriculum Development page (wsqcurriculumdevelopment.dc.html) ==========
   Builds on the Organisation Registration .or-* and .lv-* styles. */
.wq{font-synthesis:none}
.wq-h3{margin:12px 0 0;font:400 var(--fs-h2)/1.2 var(--sans);letter-spacing:-.01em;color:var(--ink)}
.wq-subhead{margin:96px 0 32px}
.wq-tiers{margin-top:20px;border-top:1px solid var(--ink)}
.wq-tiers__row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,5fr);gap:clamp(16px,2.5vw,40px);align-items:start;padding:28px 0;border-bottom:1px solid var(--hairline)}
.wq-tiers__head{padding:14px 0;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.wq-tiers__tier{font:500 var(--fs-h3)/1.2 var(--sans)}
.wq-tiers__pct{display:flex;flex-direction:column;gap:4px;font:300 var(--fs-h2)/1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--ink)}
.wq-tiers__pct em{font:400 var(--fs-fine)/1 var(--sans);font-style:normal;color:var(--muted);letter-spacing:0}
.wq-tiers__for p{margin:0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink);max-width:68ch}
.wq-tiers__for .wq-tiers__note{margin-top:10px;color:var(--muted);font-size:var(--fs-fine)}
.wq-logic{list-style:none;margin:0;padding:0 0 0 32px;position:relative}
.wq-logic::before{content:"";position:absolute;left:4px;top:10px;bottom:10px;width:1px;background:var(--hairline)}
.wq-logic__row{position:relative;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,4vw,64px);padding:26px 0;border-bottom:1px solid var(--hairline)}
.wq-logic__row:first-child{border-top:1px solid var(--ink)}
.wq-logic__dot{position:absolute;left:-32px;top:33px;width:9px;height:9px;border-radius:50%;background:var(--ink)}
.wq-logic__q{display:flex;flex-direction:column;gap:8px}
.wq-logic__n{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);color:var(--olive);font-variant-numeric:tabular-nums}
.wq-logic__q h4{margin:0;font:500 var(--fs-lede)/1.35 var(--sans)}
.wq-logic__a{margin:0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted);max-width:70ch}
.wq-excl{margin-top:48px;padding-top:20px;border-top:1px solid var(--hairline)}
.wq-excl ul{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 32px}
.wq-excl li{font:400 var(--fs-fine)/1.6 var(--sans);color:var(--muted)}
.wq-source{margin:32px 0 0;font:400 var(--fs-fine)/1.5 var(--sans);color:var(--muted)}
.wq-deliver{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:start}
.wq-docs{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.wq-docs li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--hairline);font:400 var(--fs-body)/1.6 var(--sans);color:var(--ink)}
.wq-docs li span{font:500 var(--fs-fine)/1.6 var(--sans);color:var(--olive)}
.wq-docs__end{margin:20px 0 0;font:500 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.wq-incl{padding:24px 0 0 24px;border-left:2px solid var(--olive)}
.wq-incl ul{list-style:none;margin:12px 0 0;padding:0}
.wq-incl li{padding:12px 0;border-top:1px solid var(--hairline);font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
.wq-bill{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.wq-bill li{padding:24px 24px 28px 0}
.wq-bill li + li{padding-left:24px;border-left:1px solid var(--hairline)}
.wq-bill__n{font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);color:var(--olive);font-variant-numeric:tabular-nums}
.wq-bill h4{margin:14px 0 0;font:500 var(--fs-card)/1.6 var(--sans)}
.wq-bill p{margin:8px 0 0;font:400 var(--fs-fine)/1.6 var(--sans);color:var(--muted)}
.wq-bill__note{margin:28px 0 0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted)}
.wq-compare td:not(.col-2b){color:var(--muted)}
.wq-compare .col-2b{color:var(--ink)}
.wq-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.wq-stage{padding:24px 24px 28px 0}
.wq-stage + .wq-stage{padding-left:24px;border-left:1px solid var(--hairline)}
.wq-stage__n{margin:0;display:flex;justify-content:space-between;gap:12px;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.wq-stage__n span{color:var(--muted)}
.wq-stage h4{margin:14px 0 0;font:500 var(--fs-card)/1.6 var(--sans)}
.wq-stage dl{margin:14px 0 0}
.wq-stage dl div{padding:10px 0;border-top:1px solid var(--hairline)}
.wq-stage dt{font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink)}
.wq-stage dd{margin:4px 0 0;font:400 var(--fs-fine)/1.6 var(--sans);color:var(--muted)}
@media (max-width:1080px){
  .wq-tiers__row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
  .wq-tiers__head span:last-child{display:none}
  .wq-tiers__for{grid-column:1/-1}
  .wq-bill,.wq-stages{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wq-bill li:nth-child(3),.wq-stage:nth-child(3){padding-left:0;border-left:0}
  .wq-bill li:nth-child(n+3),.wq-stage:nth-child(n+3){border-top:1px solid var(--hairline)}
  .wq-excl ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .wq-deliver{grid-template-columns:minmax(0,1fr)}
  .wq-logic__row{grid-template-columns:minmax(0,1fr);gap:10px}
}
@media (max-width:640px){
  .wq-subhead{margin:64px 0 24px}
  .wq-bill,.wq-stages,.wq-excl ul{grid-template-columns:minmax(0,1fr)}
  .wq-bill li,.wq-bill li + li,.wq-stage,.wq-stage + .wq-stage{padding:20px 0;border-left:0}
  .wq-bill li + li,.wq-stage + .wq-stage{border-top:1px solid var(--hairline)}
  .wq-tiers__pct{font-size:var(--fs-h2)}
}

/* ========== Creative Marketing page (creativemarketing.dc.html) ========== */
.cm-three{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.cm-three li{padding:32px clamp(20px,2.5vw,40px) 36px;border-left:1px solid var(--hairline)}
.cm-three li:first-child{border-left:0;padding-left:0}
.cm-three__n{display:block;font:500 var(--fs-micro)/1 var(--sans);letter-spacing:var(--track-micro);color:var(--olive)}
.cm-three__t{margin:16px 0 0;font:500 var(--fs-h3)/1.25 var(--sans);color:var(--ink)}
.cm-three p{margin:14px 0 0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted);max-width:44ch;text-wrap:pretty}
.cm-intro{max-width:72ch;margin:0 auto 48px}
.cm-links{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 32px}
.cm-links a,.cm-src__by a{text-decoration:underline;text-underline-offset:3px}
.cm .or-acc__body{display:block;padding:0 36px 28px 64px}
.cm .or-acc__body p{margin:0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted);max-width:70ch}
.cm-hook{margin-top:72px}
.cm-hook__body{margin:16px 0 0;font:400 var(--fs-lede)/1.5 var(--sans);color:var(--ink);max-width:62ch;text-wrap:pretty}
.cm-src{margin:32px 0 0;padding:24px 28px;border:1px solid var(--hairline);background:var(--paper)}
.cm-src__text{margin:12px 0 0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--ink);max-width:72ch}
.cm-src__by{margin:14px 0 0;font:400 var(--fs-fine)/1.5 var(--sans);color:var(--muted)}
.cm-hook__end{margin:28px 0 0;font:500 var(--fs-card)/1.6 var(--sans);color:var(--ink)}
@media (max-width:900px){
  .cm-three{grid-template-columns:minmax(0,1fr)}
  .cm-three li{border-left:0;padding:28px 0;border-bottom:1px solid var(--hairline)}
  .cm .or-acc__body{padding:0 0 24px 64px}
}
@media (max-width:560px){
  .cm .or-acc__body{padding:0 0 24px}
  .cm-src{padding:20px}
  .cm-hook{padding:32px 20px}
}

/* ========== Organisation Registration · cost film imagery (ACLP executive, S$3,500) ========== */
.cf-art{position:absolute;inset:4% 6%;width:88%;height:92%;opacity:.22;pointer-events:none;z-index:0}
.cf-art *{vector-effect:non-scaling-stroke}
.cf-scene > :not(.cf-art):not(.cf-stack):not(.cf-src){position:relative;z-index:1}
.cf-src{position:absolute;right:3cqi;bottom:2.6cqi;margin:0;z-index:1;font:400 clamp(10px,1.15cqi,13px)/1.4 var(--sans);color:rgba(255,255,255,.62);font-variant-numeric:tabular-nums;text-align:right;max-width:40ch}
.cf-stack{position:absolute;right:10cqi;top:50%;transform:translateY(-50%);height:64%;width:4.4cqi;display:flex;flex-direction:column-reverse;border:1px solid rgba(255,255,255,.35);z-index:0}
.cf-stack i{display:block;width:100%;min-height:0;transition:height 300ms ease-out}
.cf-scene--bar .cf-bar{height:clamp(24px,6.4cqi,72px)}
.cf-scene--bar .cf-art{opacity:.14}
.cf-roles{display:grid;grid-template-columns:repeat(3,minmax(0,auto));justify-content:center;align-items:center}
.cf-roles li{text-align:center}
.cf-roles li.cf-desk{border:0;padding:0 1cqi;display:grid;place-items:center}
.cf-desk svg{width:clamp(56px,11cqi,132px);height:auto;opacity:.7}
.cf-desk svg *{vector-effect:non-scaling-stroke}
.cf-roles li:nth-child(7){grid-column:1}
.cf-roles li:nth-child(8){grid-column:3}
.cf-srcline{margin:10px 0 0;font:400 var(--fs-fine)/1.5 var(--sans);color:var(--muted)}
.cf-srcline a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:560px){.cf-src{left:3cqi;right:3cqi;bottom:2cqi;text-align:center;max-width:none;font-size:9px}.cf-stack{right:4cqi;width:3cqi}}

/* ========== Brand · pillars, monogram beside a two-by-two grid ========== */
.mgp__head{margin-bottom:var(--sp-6)}
.mgp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:center}
.mgp__mark{margin:0;aspect-ratio:1/1;display:grid;place-items:center;background:var(--paper);border:1px solid var(--hairline)}
.mgp__mark img{width:74%;height:auto;display:block;mix-blend-mode:multiply}
.mgp__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink)}
.mgp__item{padding:32px 32px 36px 0;border-bottom:1px solid var(--hairline)}
.mgp__item:nth-child(even){padding:32px 0 36px 32px;border-left:1px solid var(--hairline)}
.mgp__item .mg-part__h{margin:14px 0 10px}
.mgp__item .mg-part__b{margin:0;font:400 var(--fs-card)/1.6 var(--sans);color:var(--muted);max-width:40ch;text-wrap:pretty}
@media (max-width:1080px){.mgp{grid-template-columns:minmax(0,1fr)}.mgp__mark{max-width:420px;width:100%;margin:0 auto}}
@media (max-width:640px){.mgp__grid{grid-template-columns:minmax(0,1fr)}.mgp__item,.mgp__item:nth-child(even){padding:28px 0;border-left:0}.mgp__mark{max-width:280px}}
/* ========== Home · stats grid, shared rows and equal padding ========== */
[data-block="home-stats"] .stats{grid-template-rows:auto auto auto}
[data-block="home-stats"] .stat,[data-block="home-stats"] .stat:first-child,[data-block="home-stats"] .stat:last-child{padding:32px 28px 36px}
[data-block="home-stats"] .stat__label{align-self:end}
[data-block="home-stats"] .stat__value{align-self:start}
[data-block="home-stats"] .stat > p:last-child{align-self:start}
@media (max-width:860px){
  [data-block="home-stats"] .stats{grid-template-rows:repeat(2,auto auto auto)}
  [data-block="home-stats"] .stat,[data-block="home-stats"] .stat:nth-child(n){padding:28px 24px 32px}
}
@media (max-width:560px){
  [data-block="home-stats"] .stats{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(4,auto auto auto)}
  [data-block="home-stats"] .stat,[data-block="home-stats"] .stat:nth-child(n){padding:28px 0 32px;border-left:0}
  [data-block="home-stats"] .stat + .stat{border-top:1px solid var(--hairline)}
}

/* ========== Home · contact block, compact ========== */
.hc{padding:var(--sec-y) 0}
.hc__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:end}
.hc__h{margin-top:20px}
.hc__lede{margin:20px 0 0;font:400 var(--fs-lede)/1.5 var(--sans);color:var(--muted);max-width:52ch;text-wrap:pretty}
.hc__avail{margin:24px 0 0;padding-top:16px;border-top:1px solid var(--hairline);font:400 var(--fs-fine)/1.5 var(--sans);color:var(--ink);max-width:52ch}
.hc__actions{margin-top:28px}
.hc__ledger{margin:0;border-top:1px solid var(--ink)}
.hc__ledger div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--hairline)}
.hc__ledger dt{font:500 var(--fs-micro)/1.5 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.hc__ledger dd{margin:0;font:400 var(--fs-fine)/1.6 var(--sans);color:var(--ink)}
.hc__ledger a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:860px){.hc__grid{grid-template-columns:minmax(0,1fr);align-items:start}}
@media (max-width:420px){.hc__ledger div{grid-template-columns:minmax(0,1fr);gap:4px}}
/* ========== Footer · newsletter, hairline field ========== */
.ft__nl-k{margin:0;font:500 var(--fs-micro)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink)}
.ft__nl-p{margin:12px 0 0;font:400 var(--fs-fine)/1.6 var(--sans);color:var(--muted);max-width:42ch}
.ft__nl{display:flex;align-items:flex-end;gap:20px;max-width:420px;margin-top:20px;border-bottom:1px solid var(--ink)}
.ft__nl input{flex:1 1 auto;min-width:0;height:44px;border:0;background:transparent;padding:0;font:400 var(--fs-fine)/1 var(--sans);color:var(--ink);border-radius:0}
.ft__nl input::placeholder{color:var(--muted);opacity:1}
.ft__nl input:focus{outline:none}
.ft__nl:focus-within{border-bottom-color:var(--royal)}
.ft__nl input[aria-invalid="true"]{color:var(--ink)}
.ft__nl:has(input[aria-invalid="true"]){border-bottom-color:#9a3b2a}
.ft__nl button{flex:0 0 auto;height:44px;padding:0;border:0;background:none;cursor:pointer;font:500 var(--fs-fine)/1 var(--sans);color:var(--ink);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.ft__nl button:hover{color:var(--royal)}
.ft__nl button:focus-visible{outline:2px solid var(--royal);outline-offset:4px}
.ft__nl button[disabled]{color:var(--muted);cursor:default}
.ft__nl-msg{margin:10px 0 0;min-height:1.5em;font:400 var(--fs-fine)/1.5 var(--sans);color:var(--ink);max-width:420px}

/* ========== Header · language and region panel spacing ========== */
.hdr__langlist{padding:16px 0 12px;min-width:260px;max-height:min(560px,calc(100vh - 140px));max-height:min(560px,calc(100dvh - 140px));overflow-y:auto;overscroll-behavior:contain}
.hdr__langlist .lang__head{padding:4px 16px 8px}
.hdr__langlist .lang__region{padding-bottom:16px;margin-bottom:12px}
.hdr__langlist .lang__region + .lang__head{padding-top:4px}
button.hdr__pill:focus-visible{outline:2px solid var(--royal);outline-offset:3px;border-color:var(--royal);color:var(--royal)}
.hdr__langlist button:focus-visible{outline:2px solid var(--royal);outline-offset:-2px;background:var(--bone)}
@media (max-width:560px){.hdr__langlist{min-width:0;width:min(300px,calc(100vw - 2 * var(--gutter)))}}

/* ========== Consistency layer · one family, no synthesis ========== */
html,body,body *{font-synthesis:none}
input,button,select,textarea,optgroup,option{font-family:var(--sans)}
svg text{font-family:var(--sans)}
.nx-app,.nx-app *,.mx,.mx *,.cf,.cf *,.nc2 *,.ci *,.nc *{font-family:var(--sans);font-synthesis:none}
.nx-app,.mx,.cf-frame,.nc2,.nc,.ci{font-variant-numeric:tabular-nums}

/* ========== Photograph slots awaiting new Freepik photographs ========== */
.ph-slot{display:block;width:100%;height:100%;min-height:100%;aspect-ratio:auto;background:var(--bone)}
.ph > .ph-slot{aspect-ratio:4/5}
.band__media .ph-slot{background:#2a2925}
.hc__grid--ph{grid-template-columns:minmax(0,4fr) minmax(0,4fr) minmax(0,4fr)}
.hc__media{margin:0;align-self:stretch;min-height:320px}
.hc__media .ph-slot{height:100%}
@media (max-width:1080px){.hc__grid--ph{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hc__media{grid-column:1/-1;min-height:240px}}
@media (max-width:860px){.hc__grid--ph{grid-template-columns:minmax(0,1fr)}}
b,strong,th{font-weight:500}
/* footer column heads share the newsletter's small caps label */
.ft__h,.ft__nl-k{font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--ink);margin:0 0 var(--sp-3)}
.ft__col .ft__h{margin-bottom:calc(var(--sp-3) - 14px)}
.ft__nl-k{margin-bottom:0}
/* comfortable touch targets on phones */
@media (max-width:560px){
  .hdr__menu,.hdr__cta,.drawer__close,.cf-ctl,.nx-skip,.wkp-pages__next,.wkp-pages__prev,.wkd-back,.tlink{min-height:44px;display:inline-flex;align-items:center}
  .hdr__menu,.drawer__close{min-width:44px;justify-content:center}
  .ct-field input,.ct-field select{min-height:44px}
  .ft__col a{display:inline-block;padding:6px 0}
}
.stats .stat > .stat__label{font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.stats .stat > .stat__value{font:400 var(--fs-h2)/1.1 var(--sans);letter-spacing:var(--track-display);color:var(--ink);margin-top:var(--sp-2)}
.stats .stat > p:last-child:not(.stat__value){font:400 var(--fs-body)/1.6 var(--sans);color:var(--muted);margin-top:var(--sp-2)}
@media (max-width:1080px){.hc__media{min-height:180px}}
.nx-mode__b{white-space:nowrap;flex:0 0 auto}
@media (max-width:560px){.nx-mode__b{min-height:44px}}
.br-split__media > .ph-slot{aspect-ratio:4/5;height:auto}
/* cost film · line art sits in the lower band, clear of the type */
.cf-art{inset:auto 6% 3% 6%;height:46%;opacity:.16}
.cf-scene--bar .cf-art{inset:4% 6%;height:92%}
.hc__media img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.ph--swap{position:relative}
.ph--swap .ph__alt{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .32s ease-out}
@media (hover:hover){.card:hover .ph--swap .ph__alt,.ph--swap:hover .ph__alt{opacity:1}}

/* ========== Component unification (audit round 2) ========== */
/* Accordions · one row, one title style, one chevron, ink rule on top */
.faq,.or-accs{border-top:1px solid var(--ink)}
.faq details,.or-acc{border-bottom:1px solid var(--hairline)}
.faq summary,.or-acc__sum{padding:22px 0}
.faq summary{font:500 var(--fs-lede)/1.35 var(--sans);letter-spacing:0;gap:16px;align-items:baseline}
.faq summary::after,.faqsplit .faq summary::after{content:"";display:block;flex:0 0 8px;width:8px;height:8px;margin-left:auto;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform var(--dur-hover) var(--ease);color:var(--ink);font-size:0}
.faq details[open] summary::after{content:"";transform:translateY(2px) rotate(225deg)}
.faqsplit .faq__tog{display:none}
.faq__n,.or-acc__n{font:500 var(--fs-small)/1 var(--sans);letter-spacing:0;color:var(--olive);min-width:32px}
.faq__a{padding:0 0 28px;font:400 var(--fs-body)/1.6 var(--sans)}
/* Ledgers · same row padding and label style */
.or-ledger div,.ct-ledger div,.hc__ledger div{padding:16px 0}
.ct-ledger dt,.hc__ledger dt{font:500 var(--fs-label)/1.8 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.ct-ledger dd,.hc__ledger dd{font:400 var(--fs-small)/1.6 var(--sans);color:var(--ink)}
.ct-ledger a,.hc__ledger a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;border:0}
/* Discover and text links · one style */
.tlink,.lv-tile__cta{font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.tlink:hover,.lv-tile__cta:hover{color:var(--royal)}
/* Buttons · one primary, one inverse; hover is always royal */
.btn{font:500 var(--fs-label)/1 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase}
.cf-btn:hover,.btn--light:hover{background:var(--royal);border-color:var(--royal);color:#fff}
/* Please note · one block */
.or-disc{max-width:900px;margin-inline:auto;border-top:1px solid var(--hairline);padding-top:28px}
.or-disc p{font:400 var(--fs-small)/1.65 var(--sans);color:var(--muted)}
/* Chapter openers and closing */
.lv-media{margin-bottom:var(--space-block)}
.or-head{margin-bottom:var(--space-block)}
.or-close .or-h2,.ct-close h2{font:400 var(--fs-h2)/1.1 var(--sans);letter-spacing:var(--track-display)}
.lv-close{padding-top:var(--space-block)}
/* Hero heights · three types only. Full photo hero 88vh, short hero 46vh (articles, workshops, legal), split workshop hero matches full */
.hero:not(.hero--short){min-height:max(520px,88dvh)}
.hero--short,.lg__hero.hero--short{min-height:max(380px,46dvh)}
.wkx-hero{min-height:max(520px,88dvh)}
@media (max-width:860px){.wkx-hero{min-height:0}}
/* Language panel · breathing room and its own scroll */
.hdr__langlist{padding-top:20px;max-height:min(70vh,calc(100dvh - var(--header-full) - 24px));overflow-y:auto;overscroll-behavior:contain}
@media (max-width:560px){.hdr__langlist{max-height:calc(100dvh - var(--header-h) - 16px)}}
@media (max-width:1080px){.hc__media{min-height:0;aspect-ratio:21/9;max-height:280px;overflow:hidden}.hc__media img{height:100%}}

/* ========== Translated pages · long words never widen the page ========== */
html[data-lang]:not([data-lang="en"]) main,html[data-lang]:not([data-lang="en"]) footer,html[data-lang]:not([data-lang="en"]) .site-header{overflow-wrap:anywhere}
html[data-lang="ta"] .h1,html[data-lang="ta"] h1,html[data-lang="ta"] .h2,html[data-lang="ta"] .stat__value{letter-spacing:0}

/* ========== Accordions · one row, one title, one chevron (final) ========== */
.faq summary,.faqsplit .faq summary,.or-acc__sum{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:baseline;gap:16px;padding:22px 0;font:500 var(--fs-lede)/1.4 var(--sans);letter-spacing:0;color:var(--ink);min-height:44px}
.faq summary:not(:has(.faq__n)){grid-template-columns:minmax(0,1fr) 20px}
.faq__tog{display:none}
.faq summary::after,.faqsplit .faq summary::after{content:"";width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-3px) rotate(45deg);justify-self:end;margin:0;font:inherit}
.faq details[open] > summary::after{content:"";transform:translateY(2px) rotate(225deg)}
.faq summary:hover,.or-acc__sum:hover .or-acc__t{color:var(--royal)}
.faq summary:focus-visible{outline:2px solid var(--royal);outline-offset:2px}
.faq__a,.faqsplit .faq__a{margin:0;padding:0 36px 28px 56px;max-width:none;color:var(--muted)}
.faq__a p{max-width:70ch}
@media (max-width:560px){.faq summary,.faqsplit .faq summary,.or-acc__sum{grid-template-columns:28px minmax(0,1fr) 16px;gap:10px;font-size:var(--fs-body)}.faq__a,.faqsplit .faq__a{padding:0 0 22px 38px}}
/* comparison tables · one header style */
.compare thead th{font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;vertical-align:bottom}
.compare tbody th{font:500 var(--fs-body)/1.5 var(--sans);letter-spacing:0}
.compare td{font:400 var(--fs-body)/1.6 var(--sans)}
/* closing bands · one title size */
.wk3-cta__t,.wkx-band h2{font:400 var(--fs-h2)/1.1 var(--sans);letter-spacing:var(--track-display)}
@media (max-width:1080px){.hc__media{width:100%;aspect-ratio:auto;height:clamp(180px,28vw,280px);max-height:none}.hc__media img{width:100%;height:100%;object-fit:cover}}
.numcard p:not(.num):not(.kicker){line-height:1.6;text-wrap:pretty}

/* ========== Brand · pillars isolate one part of the monogram (desktop) ========== */
.mgp__mark{display:flex;flex-direction:column;align-items:stretch;place-items:initial;aspect-ratio:auto;background:none;border:0}
.mgp__frame{position:relative;aspect-ratio:1/1;overflow:hidden;display:grid;place-items:center;background:var(--paper);border:1px solid var(--hairline)}
.mgp__frame img{grid-area:1/1;width:74%;height:auto;display:block;mix-blend-mode:multiply;transition:opacity 450ms ease-in-out}
.mgp__part{opacity:0;pointer-events:none;mix-blend-mode:normal !important;filter:none}
.mgp__cap{position:relative;height:1.4em;margin-top:14px;text-align:center;font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.mgp__cap span{position:absolute;inset:0;opacity:0;transition:opacity 450ms ease-in-out}
.mgp__item{cursor:default;outline:0}
.mgp__item:focus-visible{outline:2px solid var(--royal);outline-offset:4px}
.mgp__item .mg-part__n{transition:color 400ms ease-in-out}
.mgp__item:hover .mg-part__n,.mgp__item:focus .mg-part__n{color:#5C5935}
@media (min-width:1024px) and (hover:hover){
.mgp:has(.mgp__item:is(:hover,:focus)) .mgp__frame img.artwork{opacity:0}
.mgp:has(.mgp__item:is(:hover,:focus)) .mgp__frame .mgp__part{opacity:.12}
.mgp:has(.mgp__item:is(:hover,:focus)) .mgp__frame :is(.mgp__part--1,.mgp__part--3){opacity:.16}
.mgp:has(.mgp__item:nth-child(1):is(:hover,:focus)) .mgp__frame img.mgp__part--1, .mgp:has(.mgp__item:nth-child(1):is(:hover,:focus)) .mgp__cap span:nth-child(1){opacity:1}
.mgp:has(.mgp__item:nth-child(2):is(:hover,:focus)) .mgp__frame img.mgp__part--2, .mgp:has(.mgp__item:nth-child(2):is(:hover,:focus)) .mgp__cap span:nth-child(2){opacity:1}
.mgp:has(.mgp__item:nth-child(3):is(:hover,:focus)) .mgp__frame img.mgp__part--3, .mgp:has(.mgp__item:nth-child(3):is(:hover,:focus)) .mgp__cap span:nth-child(3){opacity:1}
.mgp:has(.mgp__item:nth-child(4):is(:hover,:focus)) .mgp__frame img.mgp__part--4, .mgp:has(.mgp__item:nth-child(4):is(:hover,:focus)) .mgp__cap span:nth-child(4){opacity:1}
}
@media (min-width:1024px) and (hover:none){
.mgp:has(.mgp__item:focus-visible) .mgp__frame img.artwork{opacity:0}
.mgp:has(.mgp__item:focus-visible) .mgp__frame .mgp__part{opacity:.12}
.mgp:has(.mgp__item:focus-visible) .mgp__frame :is(.mgp__part--1,.mgp__part--3){opacity:.16}
.mgp:has(.mgp__item:nth-child(1):focus-visible) .mgp__frame img.mgp__part--1, .mgp:has(.mgp__item:nth-child(1):focus-visible) .mgp__cap span:nth-child(1){opacity:1}
.mgp:has(.mgp__item:nth-child(2):focus-visible) .mgp__frame img.mgp__part--2, .mgp:has(.mgp__item:nth-child(2):focus-visible) .mgp__cap span:nth-child(2){opacity:1}
.mgp:has(.mgp__item:nth-child(3):focus-visible) .mgp__frame img.mgp__part--3, .mgp:has(.mgp__item:nth-child(3):focus-visible) .mgp__cap span:nth-child(3){opacity:1}
.mgp:has(.mgp__item:nth-child(4):focus-visible) .mgp__frame img.mgp__part--4, .mgp:has(.mgp__item:nth-child(4):focus-visible) .mgp__cap span:nth-child(4){opacity:1}
}
@media (prefers-reduced-motion:reduce){.mgp__frame img,.mgp__cap span{transition:none}}

/* ========== Organisation Registration · chapter I opener without photograph ========== */
#requirements.or-chap{padding:var(--sec-y) 0 var(--space-block)}
#requirements .or-kicker{margin:0 0 16px}
#requirements + .or-rule{padding:var(--sec-y) 0}
#requirements + .or-rule .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:var(--space-block);align-items:start}
#requirements + .or-rule .or-kicker{grid-column:1;margin:10px 0 0}
#requirements + .or-rule .or-rule__text{grid-column:2;margin:0;max-width:40ch}
#requirements + .or-rule .or-rule__links{grid-column:2;display:flex;flex-wrap:wrap;gap:12px 32px}
@media (max-width:860px){#requirements + .or-rule .wrap{grid-template-columns:minmax(0,1fr);row-gap:20px}#requirements + .or-rule :is(.or-kicker,.or-rule__text,.or-rule__links){grid-column:1}#requirements + .or-rule .or-kicker{margin:0}}

/* ========== Organisation Registration · chapter II opener without photograph ========== */
#package.lv-sec{padding-top:var(--sec-y)}
#package .or-pkg__intro{margin-bottom:var(--space-block)}
#package .lv-tiles--in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;margin:0 0 var(--space-block);padding:0;overflow:visible;transform:none}
#package .lv-tiles--in > .lv-tile{flex:none;width:auto;min-width:0}
@media (max-width:1080px){#package .lv-tiles--in{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){#package .lv-tiles--in{grid-template-columns:minmax(0,1fr)}}

/* ========== Organisation Registration · cost film scene 8 and looping playback ========== */
.cf-fade{position:absolute;inset:0;background:#000;z-index:5;opacity:0;pointer-events:none;transition:opacity 450ms ease-out}
.cf-fade[data-on="true"]{opacity:1}
.cf-progress{display:flex;gap:0;justify-content:center;padding:16px 0;border-bottom:1px solid var(--hairline)}
.cf-dot{position:relative;width:20px;height:24px;padding:0;margin:0;border:0;background:none;cursor:pointer;-webkit-appearance:none;appearance:none}
.cf-dot::before{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--hairline);transition:background 300ms ease-out,transform 200ms ease-out}
.cf-dot:hover::before{background:var(--muted);transform:scale(1.35)}
.cf-dot[data-on="true"]::before{background:var(--ink)}
.cf-dot:focus-visible{outline:2px solid var(--royal);outline-offset:2px}
.cf-scene--team{justify-content:flex-start;padding:5cqi 4cqi}
.cf-bgs{position:absolute;inset:0;overflow:hidden;z-index:0}
.cf-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:0;transition:opacity 900ms ease-out}
.cf-scene--team[data-on="true"] .cf-bg--a{opacity:1}
.cf-scene--team[data-beat="2"] .cf-bg--a{opacity:0}
.cf-scene--team[data-beat="2"] .cf-bg--b{opacity:1}
.cf-bgscrim{position:absolute;inset:0;background:rgba(8,8,6,.72);transition:background 900ms ease-out}
.cf-scene--team[data-beat="2"] .cf-bgscrim{background:rgba(8,8,6,.66)}
.cf-scene--team .cf-team__h{transition:opacity 500ms ease-out}
.cf-scene--team[data-beat="2"] .cf-team__h{opacity:0}
.cf-team{position:absolute;inset:0;z-index:1;pointer-events:none;--cw:22cqi;--ch:3.8cqi;--step:4cqi;--base:12cqi}
.cf-team__desk{position:absolute;left:50%;bottom:6cqi;width:30cqi;height:10cqi;transform:translateX(-50%);opacity:.8;transition:opacity 600ms ease-out}
.cf-team__desk *{vector-effect:non-scaling-stroke}
.cf-team[data-mode="row"] .cf-team__desk{opacity:0}
.cf-team__pile{list-style:none;margin:0;padding:0;position:absolute;inset:0;transform-origin:50% calc(100% - var(--base));transition:transform 500ms cubic-bezier(.3,1.2,.5,1)}
.cf-team[data-tip="true"] .cf-team__pile{transform:rotate(4deg)}
.cf-team__pile li{position:absolute;box-sizing:border-box;display:grid;place-items:center;text-align:center;text-wrap:balance;white-space:normal;
  width:var(--cw);height:var(--ch);padding:0 1cqi;border:1px solid rgba(255,255,255,.55);background:rgba(14,13,10,.82);color:#fff;
  font:400 clamp(9px,1.4cqi,15px)/1.2 var(--sans);font-synthesis:none;
  --jx:0cqi;--r:0deg;
  left:calc(50% - var(--cw) / 2 + var(--jx));bottom:calc(var(--base) + var(--i) * var(--step));
  transform:rotate(var(--r));opacity:1;
  transition:transform 420ms cubic-bezier(.3,1.25,.5,1),opacity 200ms ease-out,left 700ms cubic-bezier(.22,.61,.36,1),bottom 700ms cubic-bezier(.22,.61,.36,1),width 700ms cubic-bezier(.22,.61,.36,1),height 700ms cubic-bezier(.22,.61,.36,1),border-color 500ms ease-out}
.cf-team__pile li:nth-child(1){--jx:0cqi;--r:-1deg}
.cf-team__pile li:nth-child(2){--jx:-1.2cqi;--r:1.5deg}
.cf-team__pile li:nth-child(3){--jx:.8cqi;--r:-2deg}
.cf-team__pile li:nth-child(4){--jx:-.6cqi;--r:1deg}
.cf-team__pile li:nth-child(5){--jx:1.4cqi;--r:-1.5deg}
.cf-team__pile li:nth-child(6){--jx:-1cqi;--r:2.5deg}
.cf-team__pile li:nth-child(7){--jx:1.8cqi;--r:-3deg}
.cf-team__pile li[data-land="false"]{transform:translateY(-36cqi) rotate(var(--r));opacity:0;transition:none}
.cf-team[data-mode="row"] .cf-team__pile li{--cw:12cqi;--ch:5.6cqi;--r:0deg;--jx:0cqi;left:calc(4.5cqi + var(--i) * 13cqi);bottom:20cqi;border-color:#CFCBA8;transition-delay:calc(var(--i) * 70ms)}
.cf-team__cap{position:absolute;left:50%;bottom:11cqi;transform:translateX(-50%);z-index:1;white-space:nowrap}
@container (max-width:600px){
  .cf-team{--cw:44cqi;--ch:5cqi;--step:5.2cqi;--base:8cqi}
  .cf-team__desk{bottom:3cqi;width:50cqi}
  .cf-team__pile li{font-size:9px}
  .cf-team[data-mode="row"] .cf-team__pile li{--cw:22cqi;--ch:9cqi;left:calc(5cqi + var(--i) * 23cqi);bottom:28cqi}
  .cf-team[data-mode="row"] .cf-team__pile li:nth-child(n+5){left:calc(16.5cqi + (var(--i) - 4) * 23cqi);bottom:17cqi}
  .cf-team__cap{bottom:7cqi}
}
@media (prefers-reduced-motion:reduce){.cf-team__pile,.cf-team__pile li,.cf-bg,.cf-fade{transition:none}}
.cf-scene.cf-scene--team > .cf-bgs{position:absolute !important;inset:0;z-index:0 !important}
.cf-scene.cf-scene--team > .cf-team{position:absolute !important;inset:0;z-index:1 !important}
.cf-scene.cf-scene--team > .cf-team__cap{position:absolute !important;z-index:2 !important}
.cf-scene.cf-scene--team > .cf-team__h{position:relative;z-index:2}
/* cost film · split scene 8 and restored controls */
.cf-scene--team[data-beat="2"][data-on="true"] .cf-bg--b{opacity:1}
.cf-team[data-mode="row"] .cf-team__pile li[data-land="false"]{transform:translateY(1.6cqi);opacity:0}
.cf-team[data-mode="row"] .cf-team__pile li{transition:transform 420ms ease-out,opacity 320ms ease-out;transition-delay:0ms}
.cf-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:14px 0;border-bottom:1px solid var(--hairline)}
.cf-controls .cf-progress{padding:0;border:0;margin-left:auto}
.cf-ctl{font-variant-numeric:tabular-nums;font-synthesis:none}
.cf-ctl:focus-visible{outline:2px solid var(--royal);outline-offset:2px}
@media (max-width:560px){.cf-controls .cf-progress{margin-left:0;width:100%;justify-content:flex-start}}
@media (prefers-reduced-motion:reduce){.cf-controls .cf-ctl{display:none}}
#cf-frame,#cf-frame *,.cf-controls,.cf-controls *{font-family:var(--sans);font-synthesis:none;font-variant-numeric:tabular-nums lining-nums}
/* cost film · scene 8, quiet version */
.cf-scene--one{justify-content:center}
.cf-scene--one .cf-bg--a{transform:scale(1);transition:opacity 1400ms ease-out,transform 0s}
.cf-scene--one[data-on="true"] .cf-bg--a{opacity:1;transform:scale(1.06);transition:opacity 1400ms ease-out,transform 11000ms linear}
.cf-ring{list-style:none;margin:0;padding:0;position:absolute !important;inset:0;z-index:1 !important;pointer-events:none}
.cf-ring li{position:absolute;transform:translate(-50%,-50%);padding:.8cqi 1.6cqi;border:1px solid rgba(255,255,255,.45);color:#fff;white-space:nowrap;font:400 clamp(10px,1.45cqi,15px)/1.2 var(--sans);opacity:0;transition:opacity 1200ms ease-out}
.cf-ring li[data-st="new"]{opacity:1}
.cf-ring li[data-st="dim"]{opacity:.7}
.cf-ring li[data-st="dimmer"]{opacity:.5}
.cf-ring li:nth-child(1){left:24%;top:30%}
.cf-ring li:nth-child(2){left:76%;top:30%}
.cf-ring li:nth-child(3){left:50%;top:20%}
.cf-ring li:nth-child(4){left:18%;top:62%}
.cf-ring li:nth-child(5){left:82%;top:62%}
.cf-ring li:nth-child(6){left:34%;top:78%}
.cf-ring li:nth-child(7){left:66%;top:78%}
.cf-team[data-mode="row"] .cf-team__pile li{transition:opacity 1400ms ease-out;transform:none}
.cf-team[data-mode="row"] .cf-team__pile li[data-land="false"]{transform:none;opacity:0}
.cf-scene--team[data-beat="2"] .cf-bg--b{transition:opacity 1400ms ease-out}
@container (max-width:600px){.cf-ring li{font-size:9px;padding:4px 6px}.cf-ring li:nth-child(4){left:22%}.cf-ring li:nth-child(5){left:78%}}
@media (prefers-reduced-motion:reduce){.cf-ring li,.cf-scene--one .cf-bg--a{transition:none;transform:none}}
/* cost film · scene 9, slower and re-set */
.cf-scene--team[data-beat="2"] .cf-bg--b{transition:opacity 2000ms ease-out}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li{bottom:calc(50% - var(--ch) / 2);transition:opacity 2400ms ease-out}
.cf-scene.cf-scene--team > .cf-team__cap{top:12cqi;bottom:auto;font-weight:400;letter-spacing:.2em;transition:opacity 2000ms ease-out}
.cf-team__svc{position:absolute;left:50%;bottom:11cqi;transform:translateX(-50%);z-index:2;margin:0;white-space:nowrap;color:#fff;font:300 clamp(16px,2.6cqi,30px)/1.2 var(--sans);letter-spacing:.01em;opacity:0;transition:opacity 2200ms ease-out}
.cf-team__svc[data-on="true"]{opacity:1}
@container (max-width:600px){.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li{bottom:auto}.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li{top:34cqi}.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(n+5){top:46cqi}.cf-scene.cf-scene--team > .cf-team__cap{top:14cqi}.cf-team__svc{bottom:9cqi}}
@media (prefers-reduced-motion:reduce){.cf-team__svc{transition:none}}
.cf-scene.cf-scene--team > .cf-team__svc{position:absolute !important;z-index:3 !important;display:block}
.cf-scene.cf-scene--team > .cf-team__cap::before{display:none}
/* scene 9 · 3 left, 3 right, one centred; caption pair matched */
.cf-scene.cf-scene--team > .cf-team__svc{top:auto;bottom:12cqi;font-weight:400;letter-spacing:.2em;transition:opacity 2200ms ease-out}
.cf-scene.cf-scene--team > .cf-team__svc::before{display:none}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li{--cw:20cqi;--ch:5.6cqi;bottom:auto}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(-n+3){left:10cqi;top:calc(28cqi + var(--i) * 7.6cqi - var(--ch) / 2)}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(n+4):nth-child(-n+6){left:calc(100% - 10cqi - var(--cw));top:calc(28cqi + (var(--i) - 3) * 7.6cqi - var(--ch) / 2)}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(7){left:calc(50% - var(--cw) / 2);top:calc(35.6cqi - var(--ch) / 2)}
@container (max-width:600px){.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li{--cw:26cqi;--ch:9cqi}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(-n+3){left:5cqi;top:calc(24cqi + var(--i) * 11cqi)}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(n+4):nth-child(-n+6){left:calc(100% - 5cqi - var(--cw));top:calc(24cqi + (var(--i) - 3) * 11cqi)}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(7){top:35cqi}}
.cf-scene.cf-scene--team > .cf-team__svc{font-size:inherit;font:inherit;color:inherit;letter-spacing:inherit;bottom:10cqi}
.cf-scene.cf-scene--team > .cf-team__svc{font-family:var(--sans)}
.cf-scene.cf-scene--team > .cf-team__svc{color:#CFCBA8;letter-spacing:.2em;bottom:6.5cqi;font-weight:400}
.cf-scene.cf-scene--team > .cf-team__svc::before{display:none !important;content:none}
/* scene 9 redesign · centred 4 + 3 grid, framed by the two olive lines */
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li{--cw:19cqi;--ch:5.4cqi;bottom:auto;transition-delay:calc(1200ms + var(--i) * 220ms)}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(1):nth-child(1){left:9cqi;top:21.4cqi}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(2):nth-child(2){left:30cqi;top:21.4cqi}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(3):nth-child(3){left:51cqi;top:21.4cqi}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(4):nth-child(4){left:72cqi;top:21.4cqi}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(5):nth-child(5){left:19.5cqi;top:29.2cqi}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(6):nth-child(6){left:40.5cqi;top:29.2cqi}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(7):nth-child(7){left:61.5cqi;top:29.2cqi}
.cf-scene.cf-scene--team > .cf-team__cap{top:9cqi}
.cf-scene.cf-scene--team > .cf-team__svc{bottom:10.5cqi;transition-delay:3400ms}
@container (max-width:600px){.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li{--cw:28cqi;--ch:8.4cqi}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(1):nth-child(1){left:5cqi;top:20cqi}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(2):nth-child(2){left:36cqi;top:20cqi}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(3):nth-child(3){left:67cqi;top:20cqi}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(4):nth-child(4){left:5cqi;top:30.5cqi}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(5):nth-child(5){left:36cqi;top:30.5cqi}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(6):nth-child(6){left:67cqi;top:30.5cqi}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li:nth-child(7):nth-child(7){left:36cqi;top:41cqi}
.cf-scene.cf-scene--team > .cf-team__svc{bottom:3.5cqi}}
@media (prefers-reduced-motion:reduce){.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li,.cf-scene.cf-scene--team > .cf-team__svc{transition-delay:0ms}}
/* end card · line art kept clear of the title and button */
.cf-scene--end .cf-art{inset:auto 6% 2% 6%;height:26%;opacity:.1}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li{transition-delay:0ms !important}
.cf-scene.cf-scene--team > .cf-team__svc{transition-delay:0ms !important}
.tq3-sec > .wrap > .tq3-intro:first-child{margin-top:0}
/* TPQA chapter I · intro as a centred standfirst under the title */
#criteria.tq3-sec{padding-top:0}
#criteria .tq3-intro{max-width:60ch;margin:var(--space-element) auto var(--space-block);text-align:center;font:400 var(--fs-lede)/1.6 var(--sans);color:var(--muted);text-wrap:balance}
#criteria .lv-tiles{margin-left:auto;margin-right:auto}
/* no rule beside text · notes sit between hairlines above and below */
.or-whole,.tq-notes p,.wq-incl{border-left:0 !important;padding-left:0 !important;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding-top:var(--sp-3);padding-bottom:var(--sp-3)}
.or-whole{text-align:center;max-width:none;margin-left:auto;margin-right:auto}
.ct-err{border-left:0 !important;padding-left:0 !important}
.or-whole{max-width:64ch !important;text-wrap:balance}
/* disclaimer runs straight into the closing band */
[data-block$="-disclaimer"]{padding-bottom:0 !important}
[data-block$="-disclaimer"] + .or-close{padding-top:var(--space-block) !important}
.or-acc__body.or-acc__body--full{display:block}
/* TPQA timeline notes · label on its own line, true small caps */
.tq-notes .or-label{display:block;margin:0 0 10px;font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;font-variant:normal;color:var(--muted)}
.tq-notes p{margin:0;font:400 var(--fs-body)/1.6 var(--sans);color:var(--ink)}
.tq-tl__docs{margin:32px 0 0;max-width:none}
/* TPQA criterion items · both labels and both texts share one style */
.or-acc .or-item__body .or-label,.or-acc .or-item__sub .or-label{display:block;margin:0 0 8px;font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;font-variant:normal;color:var(--muted)}
.or-acc .or-item__body p:not(.or-label),.or-acc .or-item__sub p:not(.or-label){margin:0;font:400 var(--fs-body)/1.6 var(--sans);color:var(--ink)}
.tq-record .tq-deck{display:block;width:max-content;margin-top:16px;font:400 var(--fs-small)/1.5 var(--sans);letter-spacing:0;color:var(--ink)}

/* ========== TPQA · chapter III record cards ========== */
.tq-rec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-block) clamp(24px,3vw,48px);margin-top:var(--space-block);align-items:start}
.tq-rec__card{display:flex;flex-direction:column;min-width:0}
.tq-rec__media{margin:0 0 28px;aspect-ratio:4/3;overflow:hidden;background:var(--ink)}
.tq-rec__media img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .9s cubic-bezier(.22,.61,.36,1)}
.tq-rec__card:hover .tq-rec__media img{transform:scale(1.03)}
.tq-rec__k{margin:0 0 14px;padding-top:16px;border-top:1px solid var(--ink);font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive-deep,#5C5935)}
.tq-rec__s{margin:0;font:300 var(--fs-h3)/1.45 var(--sans);color:var(--ink);text-wrap:pretty;max-width:34ch}
.tq-rec__link{align-self:flex-start;margin-top:20px;font:400 var(--fs-small)/1.5 var(--sans);color:var(--ink)}
.tq-rec__note{margin:var(--space-block) 0 0;padding-top:24px;border-top:1px solid var(--hairline);font:400 var(--fs-small)/1.6 var(--sans);color:var(--muted);text-align:center}
@media (max-width:760px){.tq-rec{grid-template-columns:minmax(0,1fr)}.tq-rec__media{margin-bottom:20px}}
@media (prefers-reduced-motion:reduce){.tq-rec__media img{transition:none}.tq-rec__card:hover .tq-rec__media img{transform:none}}
#funding.or-chap{padding:var(--sec-y) 0 var(--space-block)}

/* ========== WSQ · approval logic v2 (numeral, stage, outcome gate) ========== */
.u-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wq-logic--v2{padding:0;counter-reset:none}
.wq-logic--v2::before{display:none}
.wq-logic--v2 .wq-logic__row{display:grid;grid-template-columns:clamp(64px,7vw,104px) minmax(0,1fr) minmax(220px,300px);gap:clamp(20px,3.2vw,56px);align-items:start;padding:clamp(28px,3vw,40px) 0;border-bottom:1px solid var(--hairline);border-top:0}
.wq-logic--v2 .wq-logic__row:first-child{border-top:1px solid var(--ink)}
.wq-logic--v2 .wq-logic__n{font:300 var(--fs-h2)/1 var(--sans);letter-spacing:var(--track-display);color:var(--ink);font-variant-numeric:tabular-nums;padding-top:2px}
.wq-logic__body{display:flex;flex-direction:column;gap:12px;min-width:0}
.wq-logic__t{margin:0;font:500 var(--fs-h3)/1.25 var(--sans);letter-spacing:var(--track-display);color:var(--ink)}
.wq-logic--v2 .wq-logic__a{font:400 var(--fs-body)/1.6 var(--sans);color:var(--muted);max-width:62ch;text-wrap:pretty}
.wq-gate{margin:0;display:grid;border-top:1px solid var(--ink)}
.wq-gate__r{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:12px 0;border-bottom:1px solid var(--hairline)}
.wq-gate dt{font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.wq-gate dd{margin:0;font:400 var(--fs-small)/1.45 var(--sans);color:var(--ink)}
.wq-gate__r--no dt{color:var(--muted)}
.wq-gate__r--no dd{color:var(--muted)}
.wq-logic--v2 .wq-logic__row:hover .wq-logic__n{color:var(--olive)}
.wq-logic--v2 .wq-logic__n{transition:color .24s ease-out}
@media (max-width:1024px){.wq-logic--v2 .wq-logic__row{grid-template-columns:clamp(56px,8vw,80px) minmax(0,1fr)}.wq-gate{grid-column:2;grid-template-columns:1fr 1fr;gap:0 24px}.wq-gate__r{border-bottom:0}}
@media (max-width:560px){.wq-logic--v2 .wq-logic__row{grid-template-columns:minmax(0,1fr);gap:14px}.wq-gate{grid-column:1;grid-template-columns:1fr}.wq-gate__r{border-bottom:1px solid var(--hairline)}}

/* ========== WSQ · the record figure ========== */
.wq-record{margin:var(--space-block) auto 0;padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--hairline);display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:clamp(24px,4vw,64px);row-gap:12px;align-items:end}
.wq-record__k{grid-column:1/-1;margin:0;font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.wq-record__fig{margin:0;display:flex;align-items:flex-start;gap:12px}
.wq-record__pre{font:400 var(--fs-small)/1 var(--sans);color:var(--muted);padding-top:.9em}
.wq-record__n{font:300 clamp(80px,11vw,160px)/.85 var(--sans);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.wq-record__line{margin:0 0 .4em;font:300 var(--fs-statement)/1.3 var(--sans);letter-spacing:var(--track-display);color:var(--ink);max-width:22ch;text-wrap:balance}
@media (max-width:640px){.wq-record{grid-template-columns:minmax(0,1fr)}.wq-record__line{max-width:none}}

/* ========== WSQ · approval logic diagram ========== */
.dg-wrap{margin:var(--space-block) 0 0}
.dg-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.dg{display:grid;grid-template-columns:minmax(0,1fr) clamp(64px,7vw,112px) minmax(0,1fr) clamp(64px,7vw,112px) minmax(0,1fr) clamp(64px,7vw,112px) minmax(0,1fr) clamp(64px,7vw,112px) minmax(0,1fr);min-width:900px;padding:4px 2px}
.dg-node{align-self:center;border:1px solid var(--ink);background:#fff;padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;min-height:92px;justify-content:center}
.dg-node__n{font:500 var(--fs-label)/1 var(--sans);letter-spacing:var(--track-micro);color:var(--olive);font-variant-numeric:tabular-nums}
.dg-node__t{font:500 var(--fs-body)/1.3 var(--sans);color:var(--ink);text-wrap:balance}
.dg-out{align-self:center;padding:12px 14px;border:1px solid var(--hairline);font:400 var(--fs-small)/1.4 var(--sans);color:var(--ink);text-align:center;text-wrap:balance}
.dg-out--yes{border-color:var(--olive);border-width:1px 1px 1px 1px;color:var(--ink);font-weight:500}
.dg-out--no{border-style:dashed;color:var(--muted)}
.dg-h,.dg-v,.dg-corner{position:relative}
.dg-h{min-height:92px}
.dg-h::before{content:"";position:absolute;left:0;right:6px;top:50%;height:1px;background:var(--ink)}
.dg-h::after{content:"";position:absolute;right:0;top:calc(50% - 4px);border-left:7px solid var(--ink);border-top:4.5px solid transparent;border-bottom:4.5px solid transparent}
.dg-h--plain::before{right:0}.dg-h--plain::after{display:none}
.dg-h span{position:absolute;left:0;right:0;bottom:calc(50% + 8px);text-align:center;font:500 var(--fs-label)/1.3 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive);padding:0 4px}
.dg-v{min-height:64px}
.dg-v::before{content:"";position:absolute;left:50%;top:0;bottom:6px;width:1px;background:var(--ink)}
.dg-v::after{content:"";position:absolute;left:calc(50% - 4px);bottom:0;border-top:7px solid var(--ink);border-left:4.5px solid transparent;border-right:4.5px solid transparent}
.dg-v--up::before{top:6px;bottom:0}
.dg-v--up::after{top:0;bottom:auto;border-top:0;border-bottom:7px solid var(--ink)}
.dg-v span{position:absolute;left:calc(50% + 12px);top:50%;transform:translateY(-50%);font:500 var(--fs-label)/1.3 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);white-space:nowrap}
.dg-corner::before{content:"";position:absolute;left:0;right:50%;top:50%;height:1px;background:var(--ink)}
.dg-corner::after{content:"";position:absolute;left:50%;top:0;height:50%;width:1px;background:var(--ink)}
.dg-cap{margin:24px 0 0;font:400 var(--fs-small)/1.6 var(--sans);color:var(--muted);max-width:72ch}
.dg-hint{display:none}
@media (max-width:980px){.dg-hint{display:inline}}
.wq-acc{margin-top:var(--space-element)}
.wq-acc__body{padding:0 0 28px}
.wq-acc__body .wq-logic--v2 .wq-logic__row:first-child{border-top:0}
/* ========== WSQ · deliverables over the photograph ========== */
.wq-dband{position:relative;overflow:hidden;background:#0e0d0a;color:#fff;padding:var(--sec-y) 0}
.wq-dband__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.wq-dband__scrim{position:absolute;inset:0;background:rgba(10,9,7,.74)}
.wq-dband__inner{position:relative}
.wq-dband .or-head{margin-bottom:var(--space-block)}
.wq-dband .or-kicker{color:#C9C59A}
.wq-dband .or-h2{color:#fff}
.wq-deliver--on .wq-docs{border-top-color:#fff}
.wq-deliver--on .wq-docs li{color:#fff;border-color:var(--hairline-light)}
.wq-deliver--on .wq-docs li span{color:#C9C59A}
.wq-deliver--on .wq-docs__end{color:#fff}
.wq-deliver--on .wq-incl{border-color:var(--hairline-light) !important}
.wq-deliver--on .wq-incl .or-label{color:#C9C59A}
.wq-deliver--on .wq-incl li{color:#fff;border-color:var(--hairline-light)}
.wq-dband .or-head{text-align:center;margin-left:auto;margin-right:auto}
.dg{padding-right:8px}

/* ========== WSQ · diagram glow sweep and footer ========== */
@keyframes dgNode{0%,100%{border-color:var(--ink);box-shadow:0 0 0 0 rgba(111,108,64,0)}5%,48%{border-color:var(--olive);box-shadow:0 0 0 3px rgba(111,108,64,.16),0 0 22px rgba(111,108,64,.38)}62%{border-color:var(--ink);box-shadow:0 0 0 0 rgba(111,108,64,0)}}
@keyframes dgOut{0%,100%{box-shadow:0 0 0 0 rgba(111,108,64,0)}5%,48%{box-shadow:0 0 0 3px rgba(111,108,64,.12),0 0 18px rgba(111,108,64,.28)}62%{box-shadow:0 0 0 0 rgba(111,108,64,0)}}
@keyframes dgLine{0%,100%{background:var(--ink);box-shadow:none}5%,48%{background:var(--olive);box-shadow:0 0 8px 1px rgba(111,108,64,.55)}62%{background:var(--ink);box-shadow:none}}
@keyframes dgLab{0%,100%{color:inherit}5%,48%{color:var(--ink)}62%{color:inherit}}
.dg-wrap.is-in .dg-node{animation:dgNode 9s ease-out var(--d,0s) infinite}
.dg-wrap.is-in .dg-out{animation:dgOut 9s ease-out var(--d,0s) infinite}
.dg-wrap.is-in .dg-h::before,.dg-wrap.is-in .dg-v::before,.dg-wrap.is-in .dg-corner::before,.dg-wrap.is-in .dg-corner::after{animation:dgLine 9s ease-out var(--d,0s) infinite}
.dg-wrap.is-in .dg-h span,.dg-wrap.is-in .dg-v span{animation:dgLab 9s ease-out var(--d,0s) infinite}
@media (prefers-reduced-motion:reduce){.dg-wrap .dg *,.dg-wrap .dg *::before,.dg-wrap .dg *::after{animation:none !important}}
.dg-foot{margin:clamp(32px,4vw,48px) 0 0;padding-top:24px;border-top:1px solid var(--hairline);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:start}
.dg-foot .dg-cap{margin:0;font:400 var(--fs-small)/1.6 var(--sans);color:var(--muted);max-width:52ch}
.dg-cap__k{display:block;margin-bottom:10px;font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.dg-anchor{margin:0;font:300 var(--fs-statement)/1.35 var(--sans);letter-spacing:var(--track-display);color:var(--ink);text-wrap:balance}
.wq-acc{margin-top:clamp(32px,4vw,48px);border-top:1px solid var(--ink)}
.wq-acc .or-acc__n{display:none}
.wq-acc .or-acc__sum{padding-left:0}
.wq-acc .or-acc__t{margin-left:0}
@media (max-width:760px){.dg-foot{grid-template-columns:minmax(0,1fr)}}
.wq-acc .or-acc__sum{display:flex;align-items:center;justify-content:space-between;gap:24px}
.wq-acc .or-acc__t{flex:1 1 auto;white-space:normal}

/* ========== WSQ · stages and record in a white box over the facade ========== */
.wq-chap-plain{padding:var(--sec-y) 0 var(--space-block)}
.wq-pband{position:relative;overflow:hidden;padding:clamp(72px,9vw,140px) 0;background:var(--bone)}
.wq-pband__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.wq-pband .wrap{position:relative}
.wq-pband__box{background:#fff;border:1px solid var(--hairline);padding:clamp(28px,4.5vw,72px) clamp(20px,4.5vw,72px)}
.wq-pband__box .wq-subhead{margin-top:0}
.wq-pband__box .wq-record{margin-bottom:0;border-bottom:0;padding-bottom:0}
@media (max-width:560px){.wq-pband{padding:48px 0}}


/* ========== WSQ · diagram sweep, failure state, stage popover ========== */
.dg{position:relative}
.dg-sweep-on .dg-node,.dg-sweep-on .dg-out,.dg-sweep-on .dg-h::before,.dg-sweep-on .dg-v::before,.dg-sweep-on .dg-corner::before,.dg-sweep-on .dg-corner::after,.dg-sweep-on .dg-h span,.dg-sweep-on .dg-v span{animation:none !important}
.dg-node,.dg-out{transition:border-color .28s ease-out,box-shadow .28s ease-out,color .28s ease-out,background-color .28s ease-out}
.dg-h::before,.dg-v::before,.dg-corner::before,.dg-corner::after{transition:background .28s ease-out}
.dg-node.is-lit{border-color:var(--olive);box-shadow:0 0 0 3px rgba(111,108,64,.16),0 0 22px rgba(111,108,64,.38)}
.dg-out.is-lit{border-color:var(--olive);box-shadow:0 0 0 3px rgba(111,108,64,.12),0 0 18px rgba(111,108,64,.28);color:var(--ink)}
.dg-h.is-lit::before,.dg-v.is-lit::before,.dg-corner.is-lit::before,.dg-corner.is-lit::after{background:var(--olive)}
.dg-h.is-lit span,.dg-v.is-lit span{color:var(--ink)}
.dg-node.is-fail{border-color:#B3261E;box-shadow:0 0 0 3px rgba(179,38,30,.12),0 0 22px rgba(179,38,30,.32)}
.dg-out.is-fail{border:1px solid #B3261E;color:#B3261E;background:#FCF3F2;box-shadow:0 0 0 3px rgba(179,38,30,.12),0 0 20px rgba(179,38,30,.3)}
.dg-h.is-fail::before,.dg-v.is-fail::before,.dg-corner.is-fail::before,.dg-corner.is-fail::after{background:#B3261E}
.dg-h.is-fail span,.dg-v.is-fail span{color:#B3261E}
.dg-node[role="button"]{cursor:pointer}
.dg-node[role="button"]:hover{border-color:var(--olive)}
.dg-node[role="button"]:focus-visible{outline:2px solid var(--royal);outline-offset:3px}
.dg-node.is-open{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}
.dg-wrap{position:relative}
.dg-pop{position:absolute;z-index:20;width:min(380px,calc(100vw - 24px));background:#fff;border:1px solid var(--ink);opacity:0;transform:translateY(6px);transition:opacity .24s ease-out,transform .24s ease-out;font-synthesis:none}
.dg-pop.is-on{opacity:1;transform:none}
.dg-pop__in{padding:22px 24px 24px}
.dg-pop__top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px}
.dg-pop__n{margin:0;font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.dg-pop__x{background:none;border:0;padding:6px 0;font:400 var(--fs-caption)/1 var(--sans);color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:32px}
.dg-pop__x:focus-visible{outline:2px solid var(--royal);outline-offset:3px}
.dg-pop__t{margin:0 0 10px;font:500 var(--fs-h3)/1.25 var(--sans);color:var(--ink)}
.dg-pop__a{margin:0;font:400 var(--fs-small)/1.6 var(--sans);color:var(--muted);text-wrap:pretty}
.dg-pop__g{margin:16px 0 0;border-top:1px solid var(--hairline)}
.dg-pop__g .wq-gate__r{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--hairline);font:400 var(--fs-caption)/1.4 var(--sans)}
.dg-pop__g dt{font-weight:500;color:var(--ink);letter-spacing:var(--track-micro);text-transform:uppercase;font-size:var(--fs-label)}
.dg-pop__g dd{margin:0;color:var(--ink);text-align:right}
.dg-pop__g .wq-gate__r--no dt,.dg-pop__g .wq-gate__r--no dd{color:#B3261E}
.dg-pop--sheet{position:fixed;z-index:60;left:0 !important;right:0;bottom:0;top:auto !important;width:100%;border-width:1px 0 0;max-height:70vh;overflow:auto;transform:translateY(24px)}
.dg-pop--sheet.is-on{transform:none}
.dg-pop--sheet .dg-pop__x{min-height:44px}
/* ========== WSQ · the record ========== */
.wq-rec{margin:clamp(40px,5vw,64px) 0 0;padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--ink);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;column-gap:clamp(24px,4vw,56px)}
.wq-rec__k{grid-column:1;align-self:start;margin:0;font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.wq-rec__fig{grid-column:2;margin:0;display:flex;flex-direction:column;align-items:center;text-align:center}
.wq-rec__pre{font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.wq-rec__n{font:300 clamp(72px,9vw,128px)/.9 var(--sans);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums lining-nums}
.wq-rec__line{grid-column:3;margin:0 0 .6em;font:300 var(--fs-statement)/1.3 var(--sans);color:var(--ink);max-width:16ch;text-wrap:balance}
@media (max-width:760px){.wq-rec{grid-template-columns:minmax(0,1fr);row-gap:18px;text-align:center;justify-items:center}.wq-rec__k,.wq-rec__fig,.wq-rec__line{grid-column:1}.wq-rec__k{align-self:auto}.wq-rec__line{margin:0;max-width:22ch}}

/* ========== WSQ · section dividers and deliverable hover ========== */
[data-block="wq-practice"] > .wrap,[data-block="wq-close"] > .wrap{position:relative}
[data-block="wq-practice"]{padding-top:0}
[data-block="wq-practice"] > .wrap::before,[data-block="wq-close"] > .wrap::before{content:"";display:block;height:1px;background:var(--hairline);margin:0 0 var(--sec-y)}
[data-block="wq-close"]{padding-top:0}
[data-block="wq-tiers"] .wq-subhead{padding-top:clamp(48px,5vw,64px);border-top:1px solid var(--hairline)}
.wq-dband .wq-docs li,.wq-dband .wq-incl li{position:relative;transition:background-color .24s ease-out,border-color .24s ease-out,padding .24s ease-out;cursor:default}
.wq-dband .wq-docs li:hover,.wq-dband .wq-incl li:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7);padding-left:16px}
.wq-dband .wq-docs li span{transition:color .24s ease-out}
.wq-dband .wq-docs li:hover span{color:#fff}
@media (hover:none){.wq-dband .wq-docs li:hover,.wq-dband .wq-incl li:hover{background:none;box-shadow:none;padding-left:0}}
.wq-acc[hidden]{display:none !important}

/* ========== WSQ · stages typography aligned to the site, and the record ========== */
.wq-stage{padding:28px 28px 32px 0}
.wq-stage + .wq-stage{padding-left:28px}
.wq-stage__n{align-items:baseline;font:500 var(--fs-label)/1.4 var(--sans)}
.wq-stage h4{margin:16px 0 0;font:400 var(--fs-h3)/1.3 var(--sans);letter-spacing:var(--track-display);color:var(--ink);min-height:2.6em}
.wq-stage dl{margin:18px 0 0}
.wq-stage dl div{padding:14px 0}
.wq-stage dt{font:500 var(--fs-label)/1.4 var(--sans)}
.wq-stage dd{margin:6px 0 0;font:400 var(--fs-small)/1.6 var(--sans);color:var(--muted);text-wrap:pretty}
@media (max-width:760px){.wq-stage h4{min-height:0}}
.wq-rec2{margin:clamp(48px,6vw,80px) 0 0;padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--ink);display:flex;flex-direction:column;align-items:center;text-align:center}
.wq-rec2__k{margin:0 0 clamp(24px,3vw,36px);font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--olive)}
.wq-rec2__fig{margin:0;display:flex;align-items:flex-start;justify-content:center;gap:14px}
.wq-rec2__pre{margin-top:1.4em;font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);white-space:nowrap}
.wq-rec2__n{font:300 clamp(88px,11vw,160px)/.85 var(--sans);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:lining-nums;padding-right:calc(14px + 5.5em * .11)}
.wq-rec2__line{margin:clamp(20px,2.4vw,28px) 0 0;padding-top:clamp(16px,2vw,22px);border-top:1px solid var(--hairline);font:300 var(--fs-statement)/1.35 var(--sans);letter-spacing:var(--track-display);color:var(--ink);text-wrap:balance;max-width:28ch}
@media (max-width:560px){.wq-rec2__fig{flex-direction:column;align-items:center;gap:8px}.wq-rec2__pre{margin-top:0}.wq-rec2__n{padding-right:0}}
.wq-stage h4{min-height:0}
@media (min-width:1081px){.wq-stage h4{min-height:2.6em}}
.wq-rec2__fig{flex-direction:column;align-items:center;gap:10px}
.wq-rec2__pre{margin-top:0}
.wq-rec2__n{padding-right:0}
.wq-dband .wq-incl li,.wq-dband .wq-incl li:hover,.wq-dband .wq-docs li:hover{border-left:0 !important;box-shadow:none !important}
.wq-docs__end,.wq-dband .wq-docs__end{font-weight:400 !important}
.wq-stage__n{justify-content:flex-start !important;gap:14px !important}

/* ========== Creative Marketing · grayscale works, PixPlaySG showcase ========== */
.cm-ch1--plain .or-head{padding-top:var(--sec-y)}
.cm-gs img,.workcard__media.cm-gs img.artwork,.pp__art.cm-gs img{filter:grayscale(1) !important;transition:filter 400ms ease}
@media (hover:hover) and (pointer:fine){.workcard:hover .cm-gs img,.pp__art.cm-gs:hover img,a.cm-gs:hover img{filter:none !important}}
.workcard:focus-within .cm-gs img,a.cm-gs:focus-visible img{filter:none !important}

.pp__intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-block);align-items:center}
.pp__art{margin:0;border:1px solid var(--hairline)}
.pp__art img{width:100%;height:auto;display:block}
.pp__mark{height:40px;width:auto;margin:0 0 var(--space-element);filter:none}
.pp__line{margin:var(--space-element) 0 0;font:400 var(--fs-lede)/1.6 var(--sans);color:var(--ink);max-width:52ch;text-wrap:pretty}
.pp__row{margin-top:var(--space-block);padding-top:var(--space-element);border-top:1px solid var(--hairline)}
.pp__k{margin:0 0 var(--space-element);font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted)}
.pp__grid{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.pp__grid--yt{grid-template-columns:repeat(4,minmax(0,1fr))}
.pp__grid--tt{grid-template-columns:repeat(6,minmax(0,1fr))}
.pp__tile{display:block;border:1px solid var(--hairline);overflow:hidden;background:var(--bone)}
.pp__tile:focus-visible{outline:2px solid var(--royal);outline-offset:3px}
.pp__grid--yt .pp__tile{aspect-ratio:16/9}
.pp__grid--tt .pp__tile{aspect-ratio:4/5}
.pp__tile img{width:100%;height:100%;object-fit:cover;display:block}
.pp__close{margin:var(--space-block) 0 0;font:400 var(--fs-statement)/1.4 var(--sans);letter-spacing:var(--track-display);max-width:40ch;text-wrap:balance}
.pp__links{list-style:none;margin:var(--space-element) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 32px}
@media (max-width:1080px){.pp__grid--yt{grid-template-columns:repeat(2,minmax(0,1fr))}.pp__grid--tt{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.pp__intro{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.pp__grid--yt{grid-template-columns:minmax(0,1fr)}.pp__grid--tt{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ========== Drawer · monogram, desktop only ========== */
.drawer__mono{display:none}
@media (min-width:1024px){
  .drawer__mono{display:block;grid-column:1/-1;height:96px;width:auto;margin:0;filter:none;justify-self:start}
  .drawer__body{row-gap:var(--sp-5)}
}

/* =====================================================================
   
/* =====================================================================
   ROLE CLASSES · opt-in only. An element takes a role by carrying the
   class in the markup. Nothing without a role class is touched.
   role-kicker   small caps label        role-title   chapter or section title
   role-subtitle sub title, card title   role-lead    intro paragraph
   role-body     paragraph               role-small   notes, ledger values
   role-caption  captions, sources       role-label   labels in forms and tables
   role-figure   large numerals          role-statement  statement line
   ===================================================================== */
.role-kicker{font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase}
.role-title{font:400 var(--fs-h2)/1.15 var(--sans);letter-spacing:var(--track-display);text-transform:none;text-wrap:balance}
.role-subtitle{font:400 var(--fs-h3)/1.3 var(--sans);letter-spacing:var(--track-display);text-transform:none}
.role-lead{font:400 var(--fs-lede)/1.6 var(--sans);letter-spacing:0;text-transform:none;text-wrap:pretty}
.role-body{font:400 var(--fs-body)/1.6 var(--sans);letter-spacing:0;text-transform:none;text-wrap:pretty}
.role-small{font:400 var(--fs-small)/1.6 var(--sans);letter-spacing:0;text-transform:none}
.role-caption{font:400 var(--fs-caption)/1.5 var(--sans);letter-spacing:0;text-transform:none}
.role-label{font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase}
.role-figure{font:300 var(--fs-figure)/1 var(--sans);letter-spacing:.01em;font-variant-numeric:tabular-nums lining-nums}
.role-statement{font:300 var(--fs-statement)/1.35 var(--sans);letter-spacing:var(--track-display);text-wrap:balance}
.role-link{font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
@media (max-width:560px){.role-body,.role-lead{font-size:var(--fs-body-m)}}
/* hairlines · one weight, one colour */
main [class*="__row"],main [class*="-row"],main .or-acc,main .or-tick,main .wq-docs li,main .wq-incl li,main .lv-list li,main .tq-list li,main .or-item,main hr{border-color:var(--hairline) !important}
main hr{border:0;border-top:1px solid var(--hairline)}

/* header, drawer, footer · one rule each */
.hdr .hdr__link,.hdr .hdr__cta,.hdr .hdr__menu,.drawer .drawer__item > a,.drawer .drawer__sub a,.drawer .drawer__close{font:500 var(--fs-label)/1.4 var(--sans) !important;letter-spacing:var(--track-micro) !important;text-transform:uppercase !important}
.drawer .drawer__note{font:400 var(--fs-small)/1.5 var(--sans) !important;letter-spacing:0 !important;text-transform:none !important;}
footer .ft__h,footer .ft__nl-k,footer .ft__legal{font:500 var(--fs-label)/1.4 var(--sans) !important;letter-spacing:var(--track-micro) !important;text-transform:uppercase !important}footer .ft__legal,footer .ft__col span,footer .ft__promo-d,footer .ft__nl p,footer .ft__fine,footer small{font:400 var(--fs-small)/1.6 var(--sans) !important;letter-spacing:0 !important;text-transform:none !important}
footer .ft__col a,footer .ft__promo-t,footer .ft__nl a,footer .ft__nl button,footer .ft__legal a{font:400 var(--fs-small)/1.6 var(--sans) !important;letter-spacing:0 !important;text-transform:none !important;}footer .ft__nl input{font:400 var(--fs-body)/1.5 var(--sans) !important}

/* =====================================================================
   SPACING LAYER · one rhythm. Sections, chapter openers, gutters.
   ===================================================================== */
main > section:where(:not(.hero,.band,.wkd-banner,.or-under,[data-block$="-disclaimer"],.or-close,.lv-sec.or-chap,[data-block="join-application"],[data-block="tms-hero"])),main .ct-cmp,main .section,main .or-sec:where(:not(.or-chap,.or-close,[data-block$="-disclaimer"])){padding-top:var(--sec-y) !important;padding-bottom:var(--sec-y) !important}
main .lv-sec.or-chap{padding-top:0 !important;padding-bottom:0 !important}
main .lv-sec.or-chap .or-head{padding-top:var(--space-block) !important;padding-bottom:var(--space-block) !important}
main .lv-sec.or-chap:where(:not(:has(> .lv-media))) .or-head,main .cm-ch1--plain .or-head,main .wq-chap-plain .or-head{padding-top:var(--sec-y) !important}
main [data-block$="-disclaimer"]{padding-top:var(--sec-y) !important;padding-bottom:0 !important}
main .or-close{padding-top:var(--space-block) !important;padding-bottom:var(--sec-y) !important}
main [data-block="join-application"]{padding-bottom:var(--sec-y) !important}
main .wkd-banner + .wkd-head,main .wkd-head{padding-top:var(--space-block) !important}
main .wrap{padding-left:var(--gutter) !important;padding-right:var(--gutter) !important}

/* kicker → title 16, title → lead 20, lead → content one block gap */
main .eyebrow + h2,main .eyebrow + h3,main .or-kicker + h2,main .or-kicker + h3,main .or-kicker + .or-h2,main .lv-kicker + .lv-title,main .eyebrow + .h2,main .pp__k + h2,main .eyebrow + .lv-title{margin-top:16px !important}
main h2 + p,main .or-h2 + p,main .lv-title + p,main h2 + .lede,main h2 + .or-lede,main h2 + .or-p{margin-top:20px !important}
main .or-head,main .sectionhead{margin-bottom:var(--space-block)}
main .sectionhead + *,main .or-head + *{margin-top:0}
/* text links · one tracking */
main .tlink,main .discover,main .lv-tile__l,main .or-more{letter-spacing:0 !important}
/* closing bands · same padding as the rest */
main [data-block$="-close"]:where(:not(.or-close)),main .contact-close{padding-top:var(--sec-y) !important;padding-bottom:var(--sec-y) !important}

/* touch targets · phone and tablet */
@media (max-width:1080px){
  .hdr__mark,.drawer__subitem,.drawer__sub a,.or-acc__sum,main details summary,.ilink,.nc2__tab,.nc2__range,select,.ft__col a,.ft__legal a,.tlink,.discover,.lv-tile__l{min-height:44px}
  .hdr__mark,.drawer__sub a,.ilink,.tlink,.discover,.lv-tile__l,.ft__col a{display:inline-flex;align-items:center}
  main details summary,.or-acc__sum{align-items:center}
  .nc2__range{padding:12px 0}
}


/* PixPlaySG · three link marks, the one icon exception */
.pp__social{list-style:none;margin:var(--space-element) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px}
.pp__social a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:500 var(--fs-label)/1.4 var(--sans) !important;letter-spacing:var(--track-micro) !important;text-transform:uppercase !important;text-decoration:none !important}
.pp__social a span{text-decoration:underline transparent;text-underline-offset:4px;transition:text-decoration-color 200ms ease,color 200ms ease}
.pp__social a:hover span,.pp__social a:focus-visible span{text-decoration-color:currentColor}
.pp__social svg{flex:0 0 auto;}


/* drawer · every control at least 44px on phones and tablets */
@media (max-width:1080px){
  .drawer__close{min-height:44px !important;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}
  .drawer__top a,.drawer__foot a,.drawer__foot button{min-height:44px;display:inline-flex;align-items:center}
  .drawer__top{align-items:center}
  .ft__region select,.ft__lang select,.ft select,.ft__sel{min-height:44px}
}


/* Creative Marketing · closing photograph */
.cm-end{padding:var(--sec-y) 0 0;background:var(--paper)}
.cm-end__media{margin:0;aspect-ratio:16/9;overflow:hidden;background:var(--ink)}
.cm-end__media img{width:100%;height:100%;object-fit:cover;display:block}

/* drawer monogram · bottom left, level with the Location block, desktop only */
.drawer__mono{display:none}
@media (min-width:1024px){
  .drawer__body{grid-template-columns:7fr 5fr;grid-template-rows:minmax(0,1fr) auto;row-gap:var(--sp-5);align-items:start}
  .drawer__main{grid-column:1;grid-row:1}
  .drawer__aside{grid-column:2;grid-row:1 / span 2;align-self:stretch}
  .drawer__aside .drawer__group:last-child{margin-top:auto}
  .drawer__mono{display:block !important;grid-column:1;grid-row:2;height:56px !important;width:auto;justify-self:start !important;align-self:end;margin:0 !important;filter:none}
}

/* =====================================================================
   
SURFACE LAYER · colour follows the background. Appended last.
   Light surfaces keep the components' own colours; dark surfaces invert.
   Product panels, the film, the calculator, the maps and the comparison
   tables are outside every role rule and carry their own scoped styles.
   ===================================================================== */
/* light surfaces · the roles' resting colours (no !important, components may refine) */
main :is(.eyebrow,.or-kicker,.lv-kicker,.kicker,.pp__k,.wq-stage__n,.stat__label,.wkl__count,.tq-it__k,.wq-tiers__k,.or-item__k,.ct-kick,.ja__kicker,.hw2__eyebrow,.hw2__phase,.hw2__tag,.jn-sublabel,.mg-part__n,.wkx-kicker,.nx-kicker,.tq3-prehead,.ce2__step,.or-label,.wq-gate__r dt,.wq-excl dt,.wq-incl dt,.lg__meta dt,.lg__eff dt,.secindex dt,.or-item__sub dt,.numcard .kicker,.hw2__role dt){color:var(--olive-deep)}
main :is(.caption,.wq-source,.or-source,.fig,.note,.or-note,figcaption,.small,.jn-tile__desc,.hw2__role dt,.band__attrib){color:var(--muted)}
main :is(h1,h2,h3,h4,p,li,dd,dt,label,summary,.jn-tile__name,.tlink,.discover,.or-more,.lv-tile__cap):where(:not(.eyebrow,.or-kicker,.lv-kicker,.kicker,.pp__k,.wq-stage__n,.stat__label,.wkl__count,.tq-it__k,.wq-tiers__k,.or-item__k,.ct-kick,.ja__kicker,.hw2__eyebrow,.hw2__phase,.hw2__tag,.jn-sublabel,.mg-part__n,.wkx-kicker,.nx-kicker,.tq3-prehead,.ce2__step,.or-label,.wq-gate__r dt,.wq-excl dt,.wq-incl dt,.lg__meta dt,.lg__eff dt,.secindex dt,.or-item__sub dt,.numcard .kicker,.hw2__role dt)){color:var(--ink)}
main :is(.or-disc p,.ct-side__note,.wq-bill__note){color:var(--muted)}
/* olive numerals on light grounds · 4.5 to 1 */
main :is(.faq__n,.or-acc__n,.hw2__n,.hw__n,.wq-logic__n,.br-num,.colitem__index,.cm-three__n,.wq-docs li > span,.wq-stage__n,.or-tick__n,.tq-it__n,.fc__num,.wq-rec2__k):where(:not(.band *,.br-clients *,.fc__back *)){color:var(--olive-deep) !important}
main .or-acc__sum .or-acc__n,main .or-acc .or-acc__n,main ol.wq-docs li > span,main .wq-tiers__pct{color:var(--olive-deep) !important}
/* dark surfaces · every text role inverts */
:root{--on-dark:#fff;--on-dark-soft:rgba(255,255,255,.78);--on-dark-olive:#CFCBA8}
main :is(.hero:has(.hero__media),.band,.br-clients,.nx-secband,.or-rule,.or-chap--dark,.section--dark,.wq-stages-band,.wq-dband,.wkx-band,.wk-cta,.fc__back,.cf-frame,.lv-tile,.ja__side,.tq-record--dark,[data-dark],.dark) :is(h1,h2,h3,h4,p,li,dd,dt,span,a,blockquote,figcaption,strong,em,small,label,summary,time,address):where(:not(.nx-app *,.nx-glass *,.mx *,.nc *,.nc2 *,.ci *,.ct-map *,svg *,.btn,.btn *,.chip,.chip *,.cf-chip,.cf-chip *)){color:var(--on-dark) !important}
main :is(.hero:has(.hero__media),.band,.br-clients,.nx-secband,.or-rule,.or-chap--dark,.section--dark,.wq-stages-band,.wq-dband,.wkx-band,.wk-cta,.fc__back,.lv-tile,.ja__side,[data-dark],.dark) :is(.eyebrow,.ja__kicker,.or-kicker,.kicker,.lv-kicker,.wkx-kicker,.nx-kicker,.band__attrib,.br-num,.lv-tile__num,.fc__num--sm,.wq-source,.or-source,.caption,figcaption,.br-sub,.lv-tile__d,[class*="__k"]):where(:not(.nx-app *,.nx-glass *,.mx *,.nc *,.nc2 *,.ci *,svg *)){color:var(--on-dark-soft) !important}
main :is(.br-clients,.nx-secband,.fc__back,.band) :is(.br-num,.fc__num--sm,.eyebrow,.nx-kicker){color:var(--on-dark-olive) !important}
main :is(.hero:has(.hero__media),.band,.br-clients,.or-rule,.wq-dband,.wkx-band,.wk-cta) :is(.lede,.hero__lede,.or-p,.wkx-band__lede,.band__line){color:var(--on-dark) !important}
main .lv-tile .lv-tile__cap,main .lv-tile .lv-tile__t,main .lv-tile .lv-tile__l{color:#fff !important}
main .cf :is(.cf-big,.cf-line,.cf-kick,.cf-num,.cf-chip,.cf-src,.cf-svc){color:#fff !important}
/* small dark boxes */
main .wkp-pages__nums a[aria-current="page"],main .btn--primary,main .btn--primary *,main .jn-tick,main [class*="__num"][class*="--on"]{color:#fff !important}
main .wkp-pages__nums a[aria-current="page"]{background:var(--ink) !important;border-color:var(--ink) !important}
/* light heroes keep ink */
main .hero:not(:has(.hero__media)) :is(h1,h2,p,.lede):where(:not(.kicker,.role-kicker)),main .nx-hero .nx-hero__text :is(h1,p):where(:not(.nx-kicker,.role-kicker)){color:var(--ink) !important}
main .nx-hero .nx-kicker{color:var(--olive-deep) !important}
main .nx-secband .nx-h2,main .nx-secband .nx-sec__body{color:#fff !important}
main .nx-secband .nx-kicker{color:var(--on-dark-olive) !important}

/* Nest panels, film, calculator, maps · font family only, nothing else forced */
.nx-app,.nx-app *,.nx-glass,.nx-glass *,.nx-card *,.nx-mapwrap *,.nx-wa *,.nx-wac *,.nx-assess *,.nx-conv *,.nx-mini *,.nx-trail *,.nx-kv *,.nx-day *,.nx-sum *,.mx,.mx *,.cf,.cf *,.nc *,.nc2 *,.ci *,.ct-map *{font-family:var(--sans);font-synthesis:none}
.nx-app .nx-rail__g{text-transform:uppercase;letter-spacing:var(--track-micro)}
.nx-app .nx-rail__g{color:#6b6a66}

/* comparison tables · one design, outside the role rules */
.compare{width:100%;border-collapse:collapse;text-align:left;display:table}
.compare thead{display:table-header-group}
.compare tbody{display:table-row-group}.compare tr{display:table-row}.compare th,.compare td{display:table-cell;width:auto}
.compare thead th{font:500 var(--fs-label)/1.4 var(--sans) !important;letter-spacing:var(--track-micro) !important;text-transform:uppercase !important;color:var(--muted) !important;padding:0 var(--sp-4) var(--sp-3) !important;vertical-align:bottom}
.compare thead th:first-child{padding-left:0 !important}
.compare thead th.col-2b{color:var(--olive-deep) !important;border-left:2px solid var(--olive);background:rgba(151,146,101,.06)}
.compare tbody th{font:400 var(--fs-h3)/1.3 var(--sans) !important;letter-spacing:var(--track-display) !important;text-transform:none !important;color:var(--ink) !important;padding:var(--sp-4) var(--sp-4) var(--sp-4) 0 !important;vertical-align:top;width:28%;text-wrap:balance}
.compare tbody th .compare__tag,.compare__tag{display:block;margin-top:10px;font:500 var(--fs-label)/1.5 var(--sans) !important;letter-spacing:var(--track-micro) !important;text-transform:uppercase !important;color:var(--olive-deep) !important;text-wrap:pretty}
.compare tbody td{font:400 var(--fs-body)/1.6 var(--sans) !important;letter-spacing:0 !important;padding:var(--sp-4) !important;vertical-align:top;color:var(--muted) !important;border-bottom:0 !important}
.compare tbody td.col-2b{color:var(--ink) !important;border-left:2px solid var(--olive);background:rgba(151,146,101,.06)}
.compare tbody tr{border-top:1px solid var(--hairline)}
.compare tbody tr:last-child{border-bottom:1px solid var(--hairline)}
.compare td::before{display:none}
@media (max-width:760px){
  .compare,.compare tbody,.compare tr,.compare th,.compare td{display:block;width:auto}
  .compare thead{display:none}
  .compare tbody tr{padding:var(--sp-3) 0}
  .compare tbody th{padding:0 0 var(--sp-2) !important;width:auto}
  .compare tbody td{padding:var(--sp-2) 0 var(--sp-2) var(--sp-3) !important;border-left:1px solid var(--hairline)}
  .compare tbody td.col-2b{border-left:2px solid var(--olive)}
  .compare td::before{display:block;content:attr(data-col);font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--muted);margin-bottom:6px}
  .compare tbody td.col-2b::before{color:var(--olive-deep)}
}

/* founder statement · lead size, 20 words a line */
main .br-band .band__line{font:300 clamp(20px,2vw,28px)/1.5 var(--sans) !important;letter-spacing:0 !important;max-width:62ch;margin-left:auto;margin-right:auto;text-wrap:pretty}

/* contact · choice cards on one grid */
.ce2__tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}
.ce2__tiles .jn-tile{display:grid;grid-template-columns:18px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:6px;align-items:start;padding:18px 20px;min-height:100%}
.ce2__tiles .jn-tile .jn-tick{grid-row:1;margin-top:2px}
.ce2__tiles .jn-tile .jn-tile__txt{display:contents}
.ce2__tiles .jn-tile .jn-tile__name{grid-column:2;grid-row:1;align-self:center}
.ce2__tiles .jn-tile .jn-tile__desc{grid-column:2;grid-row:2;text-wrap:balance;min-height:2.6em}
@media (max-width:560px){.ce2__tiles{grid-template-columns:minmax(0,1fr)}.ce2__tiles .jn-tile .jn-tile__desc{min-height:0;text-wrap:pretty}}
main .ja__side :is(.ja__kicker,.ja__term span){color:var(--on-dark-olive) !important}
main .or-list li > span,main .or-three li > span,main ol.or-steps li > span{color:var(--olive-deep) !important}

/* Discover tiles · resting label always visible, white on the photograph */
.lv-tile__tag{display:block !important;color:#fff !important;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.lv-tile__img::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.45));pointer-events:none;z-index:1}
.lv-tile:hover .lv-tile__img::after,.lv-tile:focus-visible .lv-tile__img::after{opacity:0}
.wkp-pages__nums a{display:grid !important;place-items:center !important;padding:0 !important}

/* kickers on light surfaces stay olive, after every generic ink rule */
main :is(.eyebrow,.or-kicker,.lv-kicker,.kicker,.pp__k,.wq-stage__n,.stat__label,.wkl__count,.tq-it__k,.wq-tiers__k,.or-item__k,.ct-kick,.ja__kicker,.hw2__eyebrow,.hw2__phase,.hw2__tag,.jn-sublabel,.mg-part__n,.wkx-kicker,.nx-kicker,.tq3-prehead,.ce2__step,.or-label,.wq-gate__r dt,.wq-excl dt,.wq-incl dt,.lg__meta dt,.lg__eff dt,.secindex dt,.or-item__sub dt,.numcard .kicker,.hw2__role dt):where(:not(.hero:has(.hero__media) *,.band *,.br-clients *,.nx-secband *,.or-rule *,.wq-stages-band *,.wq-dband *,.wkx-band *,.wk-cta *,.fc__back *,.lv-tile *,.ja__side *,.cf-frame *,[data-dark] *,.dark *,.nx-app *,.nx-glass *,.compare *)){color:var(--olive-deep)}

/* Customised TMS · moment controls separated */
.nx-mode{display:inline-flex;margin-top:var(--space-element);border:1px solid var(--hairline)}
.nx-ctl{margin-top:var(--space-element);display:flex;justify-content:flex-start}
.nx-next{margin-top:0;display:inline-flex;align-items:center;min-height:44px}
/* Customised TMS · comparison table shares the site's one design */
.nx-cmp.compare thead th{padding-bottom:var(--sp-3) !important}
.nx-cmp.compare tbody tr:first-child{border-top:1px solid var(--ink)}
.nx-cmp.compare tbody th{width:26%}
/* Home · service cards, shared rows */
.row--4 .colitem{display:grid;grid-template-rows:auto auto 1fr auto;height:100%}
.row--4 .colitem .h3{margin-top:var(--sp-3);min-height:calc(2 * 1.3em);line-height:1.3;align-self:start}
.row--4 .colitem .colitem__desc{min-height:0;margin-top:12px}
.row--4 .colitem .tlink{align-self:end;margin-top:var(--sp-3)}
/* Contact · pills at label size */
.ct-pill span{font:500 var(--fs-label)/1.4 var(--sans) !important;letter-spacing:var(--track-micro) !important;text-transform:uppercase !important;padding:8px 16px !important;min-height:36px}
@media (max-width:1080px){.ct-pill span{min-height:44px;padding:10px 16px !important}}
.ct-close.band{background:var(--ink)}
/* Contact · engagement chips at label size */
.ce2__chip span{font:500 var(--fs-label)/1.4 var(--sans) !important;letter-spacing:var(--track-micro) !important;text-transform:uppercase !important;padding:8px 16px !important;min-height:36px;display:inline-flex;align-items:center}
@media (max-width:1080px){.ce2__chip span{min-height:44px;padding:10px 16px !important}}
main .nx-hero .nx-hero__text p.nx-kicker,main .hero:not(:has(.hero__media)) p.kicker{color:var(--olive-deep) !important}

/* 1 · ledgers · label on the value's first baseline */
.ct-ledger div,.hc__ledger div{align-items:baseline}
.ct-ledger dt,.hc__ledger dt{line-height:1.6}
.ct-ledger dd,.hc__ledger dd{line-height:1.6}
.or-ledger div{align-items:baseline}
.lg__meta dt{line-height:1.4}.lg__meta dd{margin-top:0;line-height:1.4}
/* 5 · Creative Marketing closing photograph, contained */
.cm-end--contained{padding:var(--sec-y) 0 !important}
.cm-end--contained .cm-end__media{border:1px solid var(--hairline);background:var(--bone)}
/* 6 · chapter openers and section heads · one gap */
main .lv-sec.or-chap .or-head{padding-top:var(--space-block) !important;padding-bottom:0 !important;margin-bottom:0 !important}
main .or-chap + section,main .or-chap + .or-sec,main .or-chap + .section{padding-top:var(--space-block) !important}
main .lv-sec.or-chap:where(:not(:has(> .lv-media))) .or-head,main .cm-ch1--plain .or-head,main .wq-chap-plain .or-head{padding-top:var(--sec-y) !important}
main .or-head,main .sectionhead,main .lv-wide > .or-head{margin-bottom:var(--space-block) !important}
main .or-fees .or-head{margin-bottom:var(--space-element) !important}
/* 7 · PixPlaySG closing line at body size */
.pp__close{font:400 var(--fs-body)/1.6 var(--sans) !important;letter-spacing:0 !important;max-width:62ch;text-wrap:pretty}
/* 7a · TMS toggle as two buttons */
.nx-mode{display:inline-flex;gap:12px;border:0 !important;margin-top:var(--space-element)}
.nx-mode__b{border:1px solid var(--hairline) !important;padding:10px 16px;min-height:40px;color:var(--ink);background:var(--paper)}
.nx-mode__b + .nx-mode__b{border-left:1px solid var(--hairline) !important}
.nx-mode__b[aria-pressed="true"]{background:var(--ink);border-color:var(--ink) !important;color:#fff}
@media (max-width:560px){.nx-mode{flex-wrap:wrap}.nx-mode__b{min-height:44px}}
/* 7b · comparison header row · equal padding, tint from the top */
.compare thead th{padding:var(--sp-3) var(--sp-4) !important;vertical-align:middle !important}
.compare thead th:first-child{padding-left:0 !important}
.compare thead tr{border-bottom:1px solid var(--ink)}
.compare thead th.col-2b{border-left:2px solid var(--olive);background:rgba(151,146,101,.06)}
.nx-cmp.compare tbody tr:first-child{border-top:0}
/* 7c · Please note · equal room above and below */
.or-disc{padding-top:var(--space-block) !important;padding-bottom:var(--space-block) !important;border-bottom:1px solid var(--hairline)}
main [data-block$="-disclaimer"]{padding-bottom:0 !important}
main [data-block$="-disclaimer"] + .or-close{padding-top:var(--space-block) !important}
.or-disc{border-top:0 !important}
main [data-block$="-disclaimer"]{border-top:1px solid var(--hairline)}
main [data-block$="-disclaimer"] .wrap > .or-disc{padding-top:var(--space-block) !important}
.lg__cl > div > p{margin:0 0 12px}
.lg__doc .lg__cl a.ilink,.lg__doc .lg__list a.ilink{font:inherit !important;text-transform:none !important;letter-spacing:0 !important;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.lg__doc .lg__cl a.ilink:hover{color:var(--royal)}
main .wq-chap-plain .or-head,main .cm-ch1--plain .or-head{padding-top:0 !important}
main .wq-chap-plain{padding-top:var(--sec-y) !important;padding-bottom:0 !important}
main .wq-chap-plain + .or-sec{padding-top:var(--space-block) !important}
main [data-block="wq-deliver"] > .wrap > .wq-subhead:first-of-type{padding-top:0 !important;margin-top:0 !important;border-top:0 !important}
main [data-block="wq-deliver"]{padding-top:var(--sec-y) !important}
main .lv-sec.or-chap{padding-bottom:var(--space-block) !important}
main .lv-sec.or-chap + section{padding-top:var(--sec-y) !important}
main .lv-sec.or-chap + .or-sec:not(.or-rule):not([class*="band"]){padding-top:0 !important}
main .lv-sec.or-chap .or-head:not(:last-child){margin-bottom:var(--space-block) !important}
main .cm-end{padding:var(--space-block) 0 0 !important;background:var(--paper)}
main .cm-end .lv-media{margin:0}
main .cm-end .lv-media{aspect-ratio:auto !important;height:clamp(280px,38vw,560px) !important;max-height:none !important;overflow:hidden}
main .cm-end .lv-media img{width:100%;height:100% !important;object-fit:cover;object-position:center 45%}

/* ===== Phone fixes · header, footer, drawer ===== */
@media (max-width:1080px){
  .site-header .hdr{display:grid !important;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:12px;height:var(--header-h)}
  .site-header .hdr__menu{justify-self:start !important;min-width:0 !important;justify-content:flex-start !important;min-height:44px;padding:0 4px 0 0}
  .site-header .hdr__mark{justify-self:center;min-height:44px;display:inline-flex;align-items:center}
  .site-header .hdr__mark img{height:30px}
  .site-header .hdr__right{justify-self:end;gap:0}
  .site-header .hdr__cta.u-desk{display:none !important}
  .site-header .hdr__cta.u-mob{display:inline-flex !important;min-height:44px;align-items:center;padding:0 0 0 4px}
  .site-header .hdr__full{display:none !important}
  /* footer rows · 44px pitch, no extra gap */
  .ft__col{gap:0}
  .ft__col a{display:flex;align-items:center;min-height:44px;padding:0 !important;margin:0}
  .ft__col .ft__h{margin-bottom:6px !important}
  /* drawer aside rows */
  .drawer__sub{gap:0}
  .drawer__sub a{display:flex;align-items:center;min-height:44px;padding:0}
  .drawer__group .drawer__label{margin-bottom:6px}
  .drawer__group{padding-top:12px}
  .drawer__aside{gap:var(--sp-3)}
  .drawer__foot{line-height:1.6 !important}
  .drawer__foot a{min-height:0 !important;display:inline !important;padding:0}
  .drawer__foot .drawer__foot-l{display:inline-flex;align-items:center;min-height:44px;margin:-10px 0}
  .drawer__foot .drawer__foot-l a{padding:10px 0;display:inline-block !important}
}
@media (max-width:360px){.site-header .hdr__mark img{height:26px}}

/* ===== Nest panels and manual scenes · phone layout (below 560px) ===== */
@media (max-width:560px){
  .nx-app,.mx{max-width:100%;overflow:hidden}
  .nx-app{font-size:12px}
  .nx-app .nx-rail{display:none}
  .nx-app > *{min-width:0}
  /* moment 06 · OpenCerts → PDF → Sent, stacked */
  .nx-conv{grid-template-columns:minmax(0,1fr);gap:14px}
  .nx-conv__arrow{display:none}
  .nx-conv__col{min-width:0}
  .nx-conv__h{flex-direction:row;align-items:baseline;justify-content:space-between;gap:8px;min-height:0;white-space:nowrap;font-size:12px}
  .nx-conv__grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px 4px}
  .nx-fi{width:100%;height:auto;max-width:34px}
  .nx-conv__n{font-size:0;line-height:0;height:0;overflow:hidden}
  .nx-fi__t{font-size:4.5px}
  .nx-conv__mail li{flex-wrap:wrap;font-size:12px}
  .nx-conv__to{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}
  .nx-conv__cc{white-space:normal}
  .nx-fly,[class*="nx-fly"]{display:none !important}
  /* generic Nest tables and rows */
  .nx-app table,.nx-tbl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:12px}
  .nx-kv > div,.nx-out__rows > div{display:flex;justify-content:space-between;gap:12px;flex-wrap:nowrap}
  .nx-kv dt,.nx-kv dd{white-space:normal}
  .nx-chip{white-space:nowrap;font-size:11px}
  .nx-day,.nx-cert,.nx-split{grid-template-columns:minmax(0,1fr) !important}
  .nx-assess{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .nx-assess__i{font-size:12px}
  .nx-mapwrap{max-width:100%}
  .nx-mapwrap svg{width:100%;height:auto}
  .nx-wac,.nx-wa{max-width:100%}
  .nx-wa__b{max-width:92%;font-size:12px}
  .nx-num,.nx-ledger dd{font-size:inherit}
  /* manual scenes */
  .mx{font-size:12px}
  .mx-body{padding:10px;min-height:0}
  .mx-split{grid-template-columns:minmax(0,1fr)}
  .mx-field{grid-template-columns:72px minmax(0,1fr)}
  .mx-grid{table-layout:auto;display:block;overflow-x:auto}
  .mx-scatter{min-height:0;border:0;background:none;display:flex;flex-direction:column;gap:8px}
  .mx-scatter__c{position:static !important;width:100% !important;min-width:0;left:auto !important;top:auto !important;transform:none !important}
  .mx-scatter__c span{white-space:normal;overflow:visible;text-overflow:clip}
  .mx-mail{grid-template-columns:minmax(0,1fr) auto}
  .mx-mail__f{grid-column:1/-1}
  .mx-paper__r{grid-template-columns:minmax(0,1fr) 72px}
  .mx-sig{width:64px}
  .mx-inbox li span,.mx-sent li span{white-space:normal;overflow-wrap:anywhere}
  .mx-clock,.mx-count,.mx-tag{font-size:11px}
  /* the panel column itself never overflows */
  .nx-ch,.nx-ch__panel,.nx-chs,.nx-sticky{min-width:0;max-width:100%}
  .nx-ch__panel > *{max-width:100%}
  .nx-flow .wrap{overflow-x:clip}
  /* ledger */
  .nx-ledger{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px 12px}
  /* calculator */
  .nc2__band{grid-template-columns:minmax(0,1fr)}
  .nc2__tbl{display:block}
}
@media (max-width:560px){.nx-app .nx-chip,.nx-app .nx-bar__date,.nx-app .nx-top__m,.nx-app .nx-mono,.nx-app .nx-strip,.nx-app .nx-note,.mx .mx-bar__t,.mx .mx-err,.mx .mx-count,.mx .mx-btn,.mx .mx-tag,.mx .mx-paper__h,.mx .mx-dl__r,.mx td,.mx th,.mx span{font-size:12px}}
@media (max-width:560px){
  .nx-app table,.nx-tbl,.mx-grid{display:table;width:100%;table-layout:fixed;font-size:12px}
  .nx-app table th,.nx-app table td,.mx-grid td,.mx-grid th{white-space:normal;overflow-wrap:anywhere;padding:5px 6px;font-size:12px}
  .nx-app table th:nth-child(n+4),.nx-app table td:nth-child(n+4){display:none}
  .mx-grid th{width:auto}
  .mx-grid td:nth-child(n+4),.mx-grid th:nth-child(n+4){display:none}
  .nx-app th,.nx-app td,.nx-app span,.nx-wa__time,.mx th,.mx td,.mx span{font-size:12px}
  .nx-ch__n,.nx-mode__b,.nx-next{font-size:11px}
}
@media (max-width:560px){.mx span[style],.mx-compose span,.mx-sent span{font-size:12px !important}}

/* ===== Phone audit round two ===== */
/* 2 · pointer labels only under fine pointer, touch labels only under hover:none */
.fc__hint{display:inline-block}
.fc__hint--touch{display:none}
@media (hover:none){.fc__hint{display:none}.fc__hint--touch{display:inline-block}}
@media (hover:none){.lv-tile__tag,.lv-tile > .lv-tile__cap:not(.lv-tile__over *),.lv-tile__img > .lv-tile__cap{display:none !important}}
@media (hover:hover) and (pointer:fine){.lv-tile__over{opacity:0}.lv-tile:hover .lv-tile__over,.lv-tile:focus-visible .lv-tile__over{opacity:1}}
@media (max-width:1080px){.hdr__cta--long,.hdr__cta[data-long]{display:none !important}.hdr__cta--short{display:inline-flex !important}}
/* 3 · trust cards size to content below 1080 */
@media (max-width:1080px){.fc{height:auto !important}.fc__inner{height:auto}.fc__face{position:relative}.fc__front{padding:28px 24px;gap:20px}.fc__front .fc__hint,.fc__front .fc__hint--touch{margin-top:4px}.fc__back{position:absolute;inset:0;padding:28px 24px}}
/* 4 · services one column below 480 */
@media (max-width:480px){.row--4{grid-template-columns:minmax(0,1fr) !important;gap:40px}.row--4 .colitem .ph{aspect-ratio:3/2}.row--4 .colitem .h3{min-height:0}.row--4 .colitem .colitem__desc{font-size:var(--fs-body)}.row--4 .colitem .tlink{display:inline-flex;margin-top:16px}}
/* 5 · footer two columns between 600 and 1080 */
@media (min-width:600px) and (max-width:1080px){.ft__main{grid-template-columns:repeat(2,minmax(0,1fr)) !important;column-gap:var(--sp-6);row-gap:var(--sp-5)}.ft__sign{grid-column:1/-1}.ft__col{grid-column:auto}.ft__base{grid-column:1/-1}}
/* 6 · identity demo · phone still and reduced motion still */
@media (max-width:560px){.ci__beat{min-height:0 !important}.ci__track{transition:none}.ci__track[data-beat="2"]{transform:none}.ci__track .ci__beat + .ci__beat{display:none}.ci__track{width:100% !important}.ci__beat{width:100% !important}.nx-cust__demo .nx-loop[data-fade="true"]{opacity:1}.nx-cust__demo .nx-loop{transition:none}}
@media (prefers-reduced-motion:reduce){.ci__track[data-beat="2"]{transform:none}.ci__track .ci__beat + .ci__beat{display:none}.ci__track{width:100% !important}.ci__beat{width:100% !important;min-height:0 !important}.nx-cust__demo .nx-loop[data-fade="true"]{opacity:1}.ci [data-state],.ci .ci__f span,.ci__box,.ci__submit{opacity:1 !important;visibility:visible !important}}
/* 7a · diagram scroller with edge fade */
.dg-wrap{position:relative}
.dg-scroll{overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding-bottom:8px}
@media (max-width:900px){.dg-wrap::after{content:"";position:absolute;top:0;right:0;bottom:8px;width:56px;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,0),var(--paper) 85%)}.dg-wrap.is-end::after{opacity:0}.dg-hint{display:block;margin:10px 0 0;font:400 var(--fs-caption)/1.5 var(--sans);color:var(--muted)}}
@media (min-width:901px){.dg-hint{display:none}}
/* 7b · stages band on phones · no tall photo below the box */
@media (max-width:560px){.wq-pband{padding:32px 0 !important}.wq-pband__img{height:100%}.wq-pband .wrap{margin-bottom:0}.wq-pband__box{margin-bottom:0}}
/* 8 · cost film fits its frame */
.cf-frame{overflow:hidden}
.cf-scene{max-width:100%;box-sizing:border-box}
.cf-scene--bar{padding-inline:6cqi}
.cf-bar{width:min(100%,88cqi);max-width:100%}
.cf-kick,.cf-legend{font-size:clamp(11px,1.2cqi,13px) !important}
.cf-legend{gap:6px 14px;max-width:100%}
.cf-legend li{white-space:nowrap}
@container (max-width:600px){.cf-scene--bar .cf-num{font-size:9cqi !important}.cf-scene--bar .cf-line{font-size:12px !important;max-width:88cqi}.cf-legend{font-size:11px !important;gap:4px 12px}}
/* 1 · film closing scene · one centred group */
.cf-scene--team[data-beat="2"]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-element);padding:6cqi}
.cf-scene--team[data-beat="2"] > .cf-team__cap,.cf-scene--team[data-beat="2"] .cf-team__cap{position:static !important;order:1;margin:0;transform:none !important}
.cf-scene--team[data-beat="2"] .cf-team{position:static !important;order:2;width:100%;height:auto !important;transform:none !important}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile{position:static !important;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px;height:auto !important;width:100%;margin:0;padding:0;list-style:none}
.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li{position:static !important;left:auto !important;top:auto !important;width:auto !important;height:auto !important;min-height:0;transform:none !important;padding:8px 14px;white-space:nowrap}
.cf-scene.cf-scene--team > .cf-team__svc{position:static !important;order:3;bottom:auto !important;margin:0;transform:none !important}
@container (max-width:600px){.cf-scene--team[data-beat="2"]{gap:16px;padding:5cqi}.cf-scene--team[data-beat="2"] .cf-team[data-mode="row"] .cf-team__pile li{font-size:11px;padding:7px 10px}}
/* 9 · brand monogram frame and client band */
@media (max-width:640px){.mgp__frame{aspect-ratio:auto;padding:24px}.mgp__frame img{height:auto;max-height:260px}}
@media (max-width:560px){.br-clients .br-logos li:last-child:nth-child(odd){grid-column:1/-1;max-width:50%;justify-self:center}}
/* 10 · contact map labels on phones */
@media (max-width:560px){.ct-map__svg text{font-size:13px}.ct-map__svg text.ct-map__minor,.ct-map__svg .ct-map__scale text,.ct-map__svg text[data-minor]{display:none}}
/* 11 · workshop tabs scroller */
.wkc-tabs{position:sticky}
.wkc-tabs .wrap{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent)}
.wkc-tabs .wrap::-webkit-scrollbar{display:none}
.wkc-tabs a{scroll-snap-align:start;min-height:44px;display:inline-flex;align-items:center}
@media (min-width:900px){.wkc-tabs .wrap{mask-image:none;-webkit-mask-image:none}}
.wkc-tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
/* dg scroller · hide fade once scrolled to the end */
@media (min-width:600px) and (max-width:1080px){footer .ft__main,.footer .ft__main,.ft .ft__main,.ft__main{grid-template-columns:repeat(2,minmax(0,1fr)) !important}footer .ft__sign,footer .ft__base{grid-column:1/-1 !important}}
@media (max-width:560px){.ct-map__svg text{font-size:14px !important}.ct-map__svg text[data-minor]{display:none !important}}

/* ===== Phone and tablet audit, round three ===== */
/* 1 · moment 05 learner list and moment 06 file grid hold between 560 and 1080 */
@media (min-width:561px) and (max-width:1080px){
  .nx-att2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 18px}
  .nx-att2 li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .nx-att2 li > span:first-child{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}
  .nx-conv__col{min-width:0}
  .nx-conv__grid,.nx-conv__oc,.nx-conv__pdf{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:10px 8px}
  .nx-conv__i{min-width:0}
  .nx-conv__n{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-ui-sm)}
}
.nx-conv__i{min-width:0}
.nx-conv__n{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 3 · Nest map labels at 11px or more, file icon captions removed (column headings name the type) */
.nx-fi__t{display:none}
.nx-map__rl,.nx-map__vl{font-size:8px;font-weight:500}
.nx-map__dl{font-size:7.5px}
@media (max-width:1080px){.nx-map__rl,.nx-map__vl{font-size:11px}.nx-map__dl{display:none}}
@media (max-width:560px){.nx-map__rl,.nx-map__vl{font-size:15px}}
/* m02 registration table on phones · drop Employer and Sponsorship so names do not collide */
@media (max-width:560px){
  .nx-tbl:has(th:nth-child(5)) :is(th,td):nth-child(2),.nx-tbl:has(th:nth-child(5)) :is(th,td):nth-child(3){display:none}
  .nx-tbl td:first-child{white-space:normal;overflow-wrap:anywhere}
}
/* 4 · contact map labels · 11px minimum at every width */
.ct-map__svg text{font-size:10.5px !important}
@media (max-width:1080px){.ct-map__svg text[data-minor]{display:none !important}}
@media (max-width:560px){.ct-map__svg text{font-size:14px !important}}
.nx-map{display:block;width:100%;max-width:100%;height:auto;overflow:hidden}
.nx-mapwrap{overflow:hidden}
@media (max-width:560px){.nx-map__rl,.nx-map__vl{font-size:17px}}
@media (max-width:560px){.nx-tbl tr.nx-in{transform:none !important}}
@media (max-width:560px){.nx-map__rl,.nx-map__vl{font-size:18px}}

/* ===== Round four ===== */
/* 1 · compact header · calendar icon */
.hdr__cta--icon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;margin-right:-11px;color:inherit;text-indent:0}
.hdr__cal{display:block;width:22px;height:22px}
.hdr__cta--icon:focus-visible{outline:2px solid var(--royal);outline-offset:2px;border-radius:2px}
@media (max-width:1080px){.site-header .hdr__cta.u-mob{padding:0 !important;justify-self:end}}
/* 2 · auto swap on touch · 1.2 s crossfade */
@media (hover:none){.ph--swap .ph__alt{transition:opacity 1.2s ease-in-out}.ph--swap.is-swapped .ph__alt{opacity:1}}
@media (prefers-reduced-motion:reduce){.ph--swap .ph__alt{transition:none}.ph--swap.is-swapped .ph__alt{opacity:0}}
/* 3 · home service cards · subgrid rows */
@media (min-width:481px){
  .row--4{display:grid;grid-template-rows:auto auto auto auto;align-items:start}
  .row--4 .colitem{display:grid;grid-template-rows:subgrid;grid-row:span 4;height:auto;align-items:start}
  .row--4 .colitem .h3{min-height:0 !important;margin-top:var(--sp-3);align-self:start}
  .row--4 .colitem .colitem__desc{margin-top:12px;align-self:start}
  .row--4 .colitem .tlink{align-self:start;margin-top:var(--sp-3)}
}
@media (max-width:480px){.row--4 .colitem .h3{min-height:0 !important;white-space:normal}}

/* round five · header labels, one per breakpoint */
@media (min-width:1080px){.site-header .hdr .hdr__cta.u-mob,.site-header .hdr .hdr__cta--icon{display:none !important}.site-header .hdr .hdr__cta.u-desk{display:inline-flex !important}}
@media (max-width:1079.98px){.site-header .hdr .hdr__cta.u-desk{display:none !important}.site-header .hdr .hdr__cta.u-mob{display:inline-flex !important}}
/* round five · subgrid cards keep their own spacing */
@media (min-width:481px){
  .row--4{row-gap:0}
  .row--4 .colitem{row-gap:0;gap:0}
  .row--4 .colitem .ph{margin:0}
  .row--4 .colitem .h3{margin-top:var(--sp-3) !important}
  .row--4 .colitem .colitem__desc{margin-top:12px !important}
  .row--4 .colitem .tlink{margin-top:var(--sp-3) !important}
}
@media (min-width:481px) and (max-width:1080px){.row--4 .colitem:nth-child(n+3){margin-top:var(--sp-6)}}
