/* GENERATED by build-css.sh from: about.css silktide-consent-manager.css system.css type-scale.css -- do not edit */
/* self-hosted fonts */
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/anton-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2) format('woff2-variations'),url(../fonts/inter-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{--bg:#2F2D2A;--paper:#ECE7DD;--ink:#EDEAE3;--ink-soft:rgba(237,234,227,0.60);--ink-faint:rgba(237,234,227,0.36);--ink-dark:#1A1714;--muted-dark:#6B655B;--muted-on-dark:#A29A8E;--line:rgba(237,234,227,0.13);--line-d:rgba(26,23,20,0.16);--blue:#8E72C6;--blue-d:#6B4FA6;--lav:#B49CE0;--disp:'Anton',Impact,sans-serif;--sans:'Inter',system-ui,sans-serif;--mx:clamp(22px,6vw,96px);}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
::selection{background:var(--ink);color:var(--bg);}
a{color:inherit;text-decoration:none;}
.grain{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:0.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.eyebrow{font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted-on-dark);font-weight:600;}
.acc{color:var(--blue);}
.bp-grid{background-image:linear-gradient(rgba(142,114,198,0.10) 1px,transparent 1px),linear-gradient(90deg,rgba(142,114,198,0.10) 1px,transparent 1px);background-size:38px 38px;}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;padding:14px 26px;border:1px solid var(--line);transition:.3s;}
.btn:hover{background:var(--blue);color:#fff;border-color:var(--blue);}
button.btn{-webkit-appearance:none;appearance:none;background:var(--ink);color:var(--ink-dark);border-color:var(--ink);font-family:inherit;line-height:inherit;border-radius:0;cursor:pointer;}
.btn-fill{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.btn-fill:hover{background:var(--blue);color:#fff;border-color:var(--blue);}
.btn-text{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;color:var(--ink-soft);transition:.3s;border-bottom:1px solid var(--blue-d);padding-bottom:4px;}
.btn-text:hover{color:var(--ink);border-color:var(--blue);}

/* ---------- nav ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:26px var(--mx);background:transparent;transition:background .3s,padding .3s;}
nav.scrolled{background:rgba(47,45,42,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-top:18px;padding-bottom:18px;}
nav.menu-open{backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent;}
.wm{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;font-weight:600;line-height:1.25;text-shadow:0 1px 14px rgba(0,0,0,0.7),0 0 4px rgba(0,0,0,0.5);}
.nav-actions{display:none;align-items:center;gap:6px;}
.nav-cta-mobile{display:none;}
.nav-r{display:flex;align-items:center;gap:26px;}
.nav-r a.lk{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:#fff;font-weight:500;text-shadow:0 1px 14px rgba(0,0,0,0.8),0 0 5px rgba(0,0,0,0.6);transition:.3s;}
.nav-r a.lk:hover,.nav-r a.lk.active{color:#fff;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;text-decoration-color:var(--blue);}
nav .btn{background:var(--ink);color:var(--bg);border-color:var(--ink);text-shadow:none;font-weight:500;box-shadow:0 4px 18px rgba(0,0,0,0.35);}
nav .btn:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:translateY(-1px);}
.nav-toggle{display:none;position:relative;z-index:60;background:none;border:none;color:var(--ink);font-size:24px;line-height:1;cursor:pointer;padding:4px 6px;}

/* ---------- section shell : the drawing sheet ---------- */
.sec{padding:clamp(46px,6.5vh,78px) var(--mx);}
.sec-tight{padding-top:clamp(54px,7vh,86px);padding-bottom:clamp(54px,7vh,86px);}
.sec-head{display:flex;align-items:baseline;gap:16px;border-top:1px solid var(--line);padding-top:15px;margin-bottom:clamp(24px,3.2vh,38px);}
.paper .sec-head{border-top-color:var(--line-d);}
.sec-num{font-family:var(--disp);font-weight:400;font-size:clamp(1.7rem,4.4vw,3.5rem);color:var(--lav);letter-spacing:0.01em;}
.sec-title{font-family:var(--disp);font-weight:400;font-size:clamp(1.7rem,4.4vw,3.5rem);letter-spacing:0.01em;text-transform:uppercase;color:var(--ink);}
.sec-ref{margin-left:auto;font-size:10.5px;letter-spacing:0.24em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;}

/* ---------- plate (drafting frame) ---------- */
.plate{position:relative;border:1px solid var(--line);isolation:isolate;}
.tk{position:absolute;width:9px;height:9px;z-index:2;}
.tk.tl{top:-1px;left:-1px;border-left:1px solid var(--blue-d);border-top:1px solid var(--blue-d);}
.tk.tr{top:-1px;right:-1px;border-right:1px solid var(--blue-d);border-top:1px solid var(--blue-d);}
.tk.bl{bottom:-1px;left:-1px;border-left:1px solid var(--blue-d);border-bottom:1px solid var(--blue-d);}
.tk.br{bottom:-1px;right:-1px;border-right:1px solid var(--blue-d);border-bottom:1px solid var(--blue-d);}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:160px var(--mx) 8vh;overflow:hidden;}
.mtn{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(47,45,42,0.72) 0%,rgba(47,45,42,0) 24%),linear-gradient(90deg,rgba(47,45,42,0.82) 0%,rgba(47,45,42,0.45) 38%,rgba(47,45,42,0.12) 66%,rgba(47,45,42,0.35) 100%),linear-gradient(0deg,rgba(47,45,42,0.97) 0%,rgba(47,45,42,0.62) 42%,rgba(47,45,42,0.14) 72%,transparent 84%);}
.hero-in{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,0.75fr);gap:clamp(30px,5vw,80px);align-items:end;}
.hero h1{font-family:var(--disp);font-weight:400;font-size:clamp(3rem,9.5vw,7.6rem);line-height:0.92;text-transform:uppercase;}
.hero-r{padding-bottom:10px;}
.hero-tag{font-size:17px;color:var(--ink);line-height:1.6;text-shadow:0 1px 14px rgba(0,0,0,0.55);font-weight:400;}
.hero-sub{margin-top:14px;font-size:14px;color:rgba(237,234,227,0.82);line-height:1.65;letter-spacing:0.01em;text-shadow:0 1px 12px rgba(0,0,0,0.6);}
.hero-cta{margin-top:30px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;}
.hero-strip{position:relative;z-index:2;margin-top:clamp(40px,7vh,72px);display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid rgba(237,234,227,0.22);padding-top:14px;font-size:10.5px;letter-spacing:0.24em;text-transform:uppercase;color:rgba(237,234,227,0.55);}
.hero-strip .hs-i{white-space:nowrap;}

/* ---------- statement band ---------- */
.stmt{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.stmt::before{content:"";position:absolute;top:0;left:0;bottom:0;width:44%;background-image:linear-gradient(rgba(142,114,198,0.07) 1px,transparent 1px),linear-gradient(90deg,rgba(142,114,198,0.07) 1px,transparent 1px);background-size:38px 38px;-webkit-mask-image:linear-gradient(270deg,transparent 0%,#000 55%);mask-image:linear-gradient(270deg,transparent 0%,#000 55%);pointer-events:none;}
.stmt-in{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);gap:clamp(34px,5vw,80px);align-items:center;padding:clamp(60px,9vh,104px) 0;}
.bigstmt{font-family:var(--disp);font-weight:400;font-size:clamp(2.2rem,4.6vw,4rem);line-height:0.96;text-transform:uppercase;max-width:16ch;}
.stmt-r{border-left:2px solid var(--blue-d);padding-left:clamp(20px,2.5vw,34px);}
.stmt-r p{color:var(--ink-soft);font-size:16px;line-height:1.85;max-width:44ch;}
.stmt-r p+p{margin-top:18px;}
.stmt-r .btn-text{display:inline-block;margin-top:22px;}

/* ---------- who plate ---------- */
.who-plate{display:grid;grid-template-columns:repeat(3,1fr);border:none;}
.who-cell{padding:clamp(28px,3vw,44px) clamp(24px,2.6vw,38px);border-left:1px solid var(--line);}
.who-cell:first-child{border-left:none;}
.who-fig{font-size:10.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted-on-dark);font-weight:600;margin-bottom:16px;}
.who-cell h4{font-family:var(--disp);font-weight:400;font-size:1.45rem;text-transform:uppercase;line-height:1;margin-bottom:13px;}
.who-cell p{color:var(--ink-soft);font-size:14.5px;line-height:1.75;}

/* ---------- founder ---------- */
.founder{display:grid;grid-template-columns:minmax(0,0.78fr) minmax(0,1.22fr);gap:clamp(38px,5.5vw,88px);align-items:start;}
.fig{border:1px solid var(--line);position:relative;}
.fig img{width:100%;height:auto;display:block;filter:grayscale(1) contrast(1.05) brightness(0.92);}
.fig-cap{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:11px 14px;font-size:10.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-faint);}
.fr-name{font-family:var(--disp);font-weight:400;font-size:clamp(1.9rem,3.4vw,3rem);text-transform:uppercase;line-height:0.98;max-width:16ch;}
.fr-credit{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:22px 0 30px;}
.fr-credit::after{content:"";width:28px;height:2px;background:var(--blue);margin-top:12px;order:3;}
.fr-person{font-size:15px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink);}
.fr-title{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;}
.founder-txt p{color:var(--ink-soft);font-size:15.5px;line-height:1.9;margin-bottom:22px;max-width:58ch;}

/* ---------- paper band ---------- */
.paper{background:var(--paper);color:var(--ink-dark);}
.paper .sec-num{color:var(--blue-d);}
.paper .sec-title{color:var(--ink-dark);}
.paper .sec-ref{color:var(--muted-dark);}
.arch3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(26px,3.5vw,52px);}
.arch-col{border-top:1px solid var(--line-d);padding-top:20px;}
.arch-num{font-family:var(--disp);font-weight:400;font-size:1.6rem;color:var(--blue-d);line-height:1;margin-bottom:14px;}
.arch-col h4{font-family:var(--disp);font-weight:400;font-size:1.5rem;text-transform:uppercase;line-height:1;color:var(--ink-dark);margin-bottom:12px;}
.arch-col p{font-size:14.5px;color:#4a443b;line-height:1.75;max-width:34ch;}
.focus-label{font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted-dark);font-weight:600;margin:clamp(40px,6vh,60px) 0 16px;}
.focus-row{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-d);}
.focus-cell{padding:20px 22px;border-left:1px solid var(--line-d);}
.focus-cell:first-child{border-left:none;}
.focus-cell .fk{display:block;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-dark);font-weight:700;margin-bottom:5px;}
.focus-cell .fv{font-size:12.5px;color:#4a443b;line-height:1.5;}

/* ---------- brands ---------- */
.brand-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(26px,3.5vw,52px);}
.be-group{border-top:1px solid var(--line);padding-top:18px;}
.be-group h4{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--lav);font-weight:600;margin-bottom:12px;}
.be-names{color:var(--ink-soft);font-size:14px;line-height:2;}
.exp-sub{font-family:var(--disp);font-weight:400;font-size:clamp(1.4rem,2.4vw,2rem);text-transform:uppercase;letter-spacing:0.01em;color:var(--ink);margin:0 0 30px;}
.case-label{font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;margin:clamp(48px,7vh,72px) 0 0;}

/* ---------- case studies ---------- */
.case{border-top:1px solid var(--line);}
.case:last-of-type{border-bottom:1px solid var(--line);}
details.case summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:32px 0;transition:opacity .2s;}
details.case summary:hover{opacity:0.82;}
details.case summary::-webkit-details-marker{display:none;}
.case-cue{display:flex;align-items:center;gap:14px;flex:0 0 auto;margin-top:6px;}
.case-cue-t{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;white-space:nowrap;transition:.3s;}
.case-toggle{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:300;font-size:22px;color:var(--ink);line-height:1;flex:0 0 auto;transition:transform .3s,border-color .3s,background .3s,color .3s;}
.case summary:hover .case-toggle{border-color:var(--blue);background:var(--blue);color:#fff;}
.case summary:hover .case-cue-t{color:var(--ink);}
details.case[open] .case-toggle{transform:rotate(45deg);border-color:var(--blue);}
details.case[open] .case-cue-t{opacity:0;}
.case-l .tag{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--lav);font-weight:600;margin-bottom:10px;}
.case-name{font-family:var(--disp);font-weight:400;font-size:clamp(1.6rem,3vw,2.4rem);text-transform:uppercase;line-height:0.95;}
.case-sub{font-size:15px;color:var(--ink-soft);margin-top:9px;max-width:52ch;}
.case-result{font-size:13px;color:var(--ink-soft);margin-top:10px;}
.case-result::before{content:"Result";font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--lav);font-weight:600;margin-right:10px;}
.case-body{padding:2px 0 44px;}
.case-plate{padding:36px clamp(22px,3vw,40px);}
.case-plate::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(142,114,198,0.08) 1px,transparent 1px),linear-gradient(90deg,rgba(142,114,198,0.08) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 12%,transparent 44%);mask-image:linear-gradient(180deg,#000 0%,#000 12%,transparent 44%);pointer-events:none;}
.case-blk-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 48px;}
.case-blk h5{position:relative;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--lav);font-weight:700;padding-top:14px;margin-bottom:10px;}
.case-blk h5::before{content:"";position:absolute;top:0;left:0;width:24px;height:2px;background:var(--blue);}
.case-blk p{color:var(--ink-soft);font-size:15px;line-height:1.8;margin-bottom:12px;max-width:58ch;}

/* ---------- ways ---------- */
.ways3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.5vw,52px);align-items:start;}
.ways-glabel{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;margin-bottom:8px;}
.ways-item{padding:20px 0 0;border-top:1px solid var(--line);}
.ways-item h4{font-size:17px;font-weight:600;color:var(--ink);margin-bottom:5px;}
.ways-item p{font-size:14px;color:var(--ink-soft);line-height:1.6;max-width:48ch;}
.sig-plate{border:none;margin-top:clamp(40px,6vh,64px);padding:clamp(34px,4vw,56px) clamp(28px,3.4vw,52px);display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:clamp(26px,3.5vw,56px);align-items:center;background:linear-gradient(180deg,rgba(142,114,198,0.085) 0%,rgba(142,114,198,0.02) 100%);}
.sig-plate::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(142,114,198,0.09) 1px,transparent 1px),linear-gradient(90deg,rgba(142,114,198,0.09) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(120% 130% at 12% 0%,#000 0%,transparent 62%);mask-image:radial-gradient(120% 130% at 12% 0%,#000 0%,transparent 62%);pointer-events:none;}
.sig-tag{display:inline-block;font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--lav);border:1px solid var(--blue-d);border-radius:999px;padding:4px 12px;margin-bottom:18px;font-weight:600;}
.sig-plate h3{font-family:var(--disp);font-weight:400;font-size:clamp(1.7rem,3vw,2.4rem);text-transform:uppercase;line-height:1;margin-bottom:0;}
.sig-plate p{color:var(--ink-soft);font-size:15px;line-height:1.8;max-width:52ch;}
.sig-r{border-left:2px solid var(--blue-d);padding-left:clamp(20px,2.4vw,34px);}

/* ---------- cta band ---------- */
.cta-band{text-align:center;padding:clamp(64px,9.5vh,110px) var(--mx);border-top:1px solid var(--line);position:relative;}
.cta-eyebrow{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted-on-dark);font-weight:600;margin-bottom:20px;}
.cta-rule{width:60px;height:1px;background:var(--blue-d);margin:0 auto 26px;position:relative;}
.cta-rule::before,.cta-rule::after{content:"";position:absolute;top:-4px;width:1px;height:9px;background:var(--blue-d);}
.cta-rule::before{left:0;}
.cta-rule::after{right:0;}
.cta-band h2{font-family:var(--disp);font-weight:400;font-size:clamp(2.2rem,4.6vw,4rem);text-transform:uppercase;line-height:0.95;margin-bottom:22px;}
.cta-band p{color:var(--ink-soft);font-size:16px;max-width:50ch;margin:0 auto 32px;}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding:clamp(34px,5vh,52px) var(--mx);}
/* ---------- footer: simplified centered layout ---------- */
.foot-min{max-width:640px;}
.fmi{display:flex;align-items:center;gap:10px;}
.fmi img{width:22px;height:22px;object-fit:contain;opacity:0.85;flex:none;}
.fmi span{font-size:12.5px;color:var(--ink-soft);}
.fmi span b{color:var(--ink);font-weight:600;}
.mark-idx-row{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,56px);}
.fmi.lg img{width:34px;height:34px;}
.fmi.lg span{font-size:15px;color:var(--ink-soft);line-height:1.5;}
.fmi.lg span b{color:var(--ink);}
@media(max-width:600px){.mark-idx-row{flex-direction:column;gap:18px;}}

.foot-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);gap:clamp(36px,6vw,100px);align-items:start;}
.foot-brand{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.foot-wm{display:block;font-family:var(--disp);font-size:1.7rem;text-transform:uppercase;letter-spacing:0.02em;line-height:1;}
.foot-mark{height:56px;width:56px;object-fit:contain;display:block;flex:0 0 auto;}
.foot-lines div{font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:rgba(237,234,227,0.78);font-weight:500;margin-bottom:6px;}
.foot-nav{display:flex;gap:20px;flex-wrap:wrap;margin:14px 0 0;}
.foot-nav-ext{margin:20px 0 14px;}
.foot-nav-ext a{display:inline-flex;align-items:center;gap:4px;}
.ext-ic{font-size:10px;opacity:0.6;}
.foot-nav a{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-soft);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:rgba(237,234,227,0.22);transition:color .25s,text-decoration-color .25s;}
.foot-nav a:hover{color:var(--ink);text-decoration-color:var(--blue);text-decoration-thickness:1px;}
.foot-nav-ext a{text-decoration-color:rgba(142,114,198,0.6);}
.foot-nav-ext a:hover{text-decoration-color:var(--blue);}
.foot-desc{color:var(--ink-soft);font-size:13px;max-width:54ch;margin-top:10px;}
.title-block{border:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);width:100%;}
.title-block .cell{padding:13px 16px;border-right:1px solid var(--line);border-top:1px solid var(--line);}
.title-block .cell:nth-child(-n+3){border-top:none;}
.title-block .cell:nth-child(3n){border-right:none;}
.title-block .cell .k{font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--blue);margin-bottom:5px;}
.title-block .cell .v{font-size:12.5px;color:var(--ink-soft);letter-spacing:0.03em;}

/* ---------- about page ---------- */
.about-head{padding:clamp(140px,18vh,180px) var(--mx) 0;}
.founder-flip{grid-template-columns:minmax(0,0.72fr) minmax(0,1.28fr);align-items:center;}
.about-h1{font-family:var(--disp);font-weight:400;font-size:clamp(2.3rem,4.6vw,3.5rem);line-height:0.96;text-transform:uppercase;max-width:24ch;}
.about-sub{margin-top:22px;max-width:48ch;color:var(--ink-soft);font-size:16px;line-height:1.7;}
.stmt-pair .stmt-in{align-items:start;}
.stmt-swap .stmt-in>div:first-child{order:2;}
.stmt-swap .stmt-in>div:last-child{order:1;}
.stmt-swap.stmt::before{left:auto;right:0;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%);}
.paper.stmt{background:var(--paper);border-color:var(--line-d);}
.paper .bigstmt{color:var(--ink-dark);}
.paper .stmt-r{border-left-color:var(--blue-d);}
.paper .stmt-r p{color:#4a443b;}
.paper.stmt::before{background-image:linear-gradient(rgba(107,79,166,0.10) 1px,transparent 1px),linear-gradient(90deg,rgba(107,79,166,0.10) 1px,transparent 1px);}
.mark2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5.5vw,84px);align-items:center;}
.mark-hd{font-family:var(--disp);font-weight:400;font-size:clamp(1.7rem,3.2vw,2.6rem);text-transform:uppercase;line-height:1;margin-bottom:14px;}
.mark-intro{color:var(--ink-soft);font-size:15px;max-width:44ch;margin-bottom:34px;}
.mk-headrow{display:flex;align-items:baseline;gap:22px;flex-wrap:wrap;margin-bottom:22px;}
.mk-headrow .mark-hd{margin-bottom:0;}
.mk-headrow .mark-intro{margin-bottom:0;}
.mk-row{border-top:1px solid var(--line);padding:18px 0;}
.mk-row:last-child{border-bottom:1px solid var(--line);}
.mk-k{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--lav);font-weight:700;margin-bottom:6px;}
.mk-line{font-size:15.5px;font-weight:500;color:var(--ink);margin-bottom:4px;line-height:1.35;}
.mk-v{color:var(--ink-soft);font-size:14px;line-height:1.6;max-width:40ch;}
.mk-stage{padding:clamp(40px,5vw,70px);display:flex;align-items:center;justify-content:center;min-height:380px;}
.mk-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
.mk-leaders line{stroke:var(--blue-d);stroke-width:1;}
.mk-leaders circle{fill:var(--lav);}
.mk-tag{position:absolute;font-size:10.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--lav);font-weight:700;}
.mk-stage img{width:min(200px,52%);height:auto;display:block;}
.mk-stage .mk-ref{position:absolute;bottom:12px;right:14px;font-size:10.5px;letter-spacing:0.24em;text-transform:uppercase;color:var(--ink-faint);}
.mk-cross{position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);pointer-events:none;}
.mk-cross::before,.mk-cross::after{content:"";position:absolute;background:rgba(180,156,224,0.5);}
.mk-cross::before{left:50%;top:0;bottom:0;width:1px;}
.mk-cross::after{top:50%;left:0;right:0;height:1px;}

/* ---------- to top ---------- */
.to-top{position:fixed;bottom:22px;right:22px;z-index:60;width:46px;height:46px;border:1px solid var(--line);background:rgba(47,45,42,0.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--ink);font-size:18px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,background .3s,color .3s;display:flex;align-items:center;justify-content:center;}
.to-top.show{opacity:1;pointer-events:auto;}
.to-top:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);}

/* ---------- responsive ---------- */
@media(max-width:980px){
 .hero-in{grid-template-columns:1fr;align-items:start;}
 .hero-r{padding-bottom:0;}
 .stmt-in{grid-template-columns:1fr;gap:26px;}
 .stmt::before{display:none;}
 .who-plate{grid-template-columns:1fr;}
 .who-cell{border-left:none;border-top:1px solid var(--line);}
 .who-cell:first-child{border-top:none;}
 .founder{grid-template-columns:1fr;}
 .arch3{grid-template-columns:1fr;gap:30px;}
 .focus-row{grid-template-columns:1fr 1fr;}
 .focus-cell:nth-child(odd){border-left:none;}
 .focus-cell:nth-child(n+3){border-top:1px solid var(--line-d);}
 .brand-cols{grid-template-columns:1fr;}
 .ways3{grid-template-columns:1fr;gap:0;}
 .sig-plate{grid-template-columns:1fr;gap:18px;}
 .sig-r{border-left:none;padding-left:0;}
 .case-blk-grid{grid-template-columns:1fr;gap:24px;}
 .foot-grid{grid-template-columns:1fr;}
 .title-block{max-width:560px;}
 .founder-flip{grid-template-columns:1fr;}
 .founder-flip .fig{max-width:420px;order:2;}
 .founder-flip>div:last-child{order:1;}
 .mark2{grid-template-columns:1fr;}
 .stmt-swap .stmt-in>div:first-child{order:1;}
 .stmt-swap .stmt-in>div:last-child{order:2;}
}
@media(max-width:760px){
 .nav-actions{display:flex;}
 .nav-toggle{display:block;}
 .nav-cta-mobile{display:inline-flex;font-size:10.5px;letter-spacing:0.1em;padding:10px 14px;}
 .nav-r{display:none;position:fixed;inset:0;z-index:55;background:#131210;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:0;padding:104px var(--mx) 40px;overflow-y:auto;}
 .nav-r.open{display:flex;}
 .nav-r a.lk{display:block;width:100%;font-size:26px;font-weight:500;letter-spacing:0.05em;color:#fff;padding:20px 0;border-bottom:1px solid var(--line);text-shadow:none;}
 .nav-r .btn{margin-top:24px;width:100%;justify-content:center;font-size:13px;padding:17px 28px;}
 .hero{padding-top:120px;min-height:88vh;}
 .hero h1{font-size:clamp(2.6rem,14vw,4.4rem);}
 .hero-tag{font-size:15px;}
 .hero-sub{font-size:12.5px;}
 .hero-cta{flex-direction:column;align-items:stretch;gap:14px;}
 .hero-cta .btn{justify-content:center;}
 .hero-strip{flex-wrap:wrap;gap:8px 18px;justify-content:flex-start;}
 .bigstmt,.fr-name,.case-name,.cta-band h2,.about-h1{font-size:clamp(1.9rem,9vw,2.8rem);}
 .sec-ref{display:none;}
 .to-top{bottom:16px;right:16px;}

 /* Founder portrait: shorter on phones so it doesn't eat the scroll */
 .fig img{max-height:280px;object-fit:cover;object-position:center 18%;}
}
@media(max-width:600px){
 .case-cue-t{display:none;}
 .mk-leaders,.mk-tag{display:none;}
 .mk-stage{min-height:260px;}
 .focus-row{grid-template-columns:1fr;}
 .focus-cell{border-left:none;}
 .focus-cell:nth-child(n+2){border-top:1px solid var(--line-d);}
 .title-block{grid-template-columns:repeat(2,1fr);}
 .title-block .cell:nth-child(3n){border-right:1px solid var(--line);}
 .title-block .cell:nth-child(2n){border-right:none;}
 .title-block .cell:nth-child(-n+2){border-top:none;}
 .title-block .cell:nth-child(3){border-top:1px solid var(--line);}
}

nav .lk,nav .wm{text-shadow:none;}

.mk3-tri{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:0;}
.mk3-cell{position:relative;border:1px solid var(--line);padding:20px 18px 18px;text-align:center;}
.mk3-cell img{width:52px;height:auto;margin:0 auto 12px;display:block;}
.mk3-k{font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--lav);font-weight:700;margin-bottom:6px;}
.mk3-l{font-size:14.5px;font-weight:500;color:var(--ink);line-height:1.35;}
.mk3-v{font-size:13.5px;color:var(--ink-soft);line-height:1.6;max-width:30ch;margin:0 auto;}
.mk3-fig{position:absolute;bottom:8px;right:10px;font-size:10.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-faint);}
@media(max-width:820px){.mk3-tri{grid-template-columns:1fr;}}

/* accessibility + motion */
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:var(--bg);padding:12px 20px;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;}
.skip-link:focus{left:0;}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}
@media (prefers-reduced-motion: reduce){
 html{scroll-behavior:auto;}
 *,*::before,*::after{transition:none !important;animation:none !important;}
}

/* career highlights */
.ms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,44px);}
.ms-cell{border-top:1px solid var(--line);padding-top:16px;}
.ms-k{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted-on-dark);font-weight:700;margin-bottom:8px;}
.ms-cell p{font-size:14px;color:var(--ink-soft);line-height:1.7;}
@media(max-width:820px){.ms-grid{grid-template-columns:1fr;}}

.cta-btns{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;}

@media(max-width:900px){.grain{mix-blend-mode:normal;opacity:0.03;}}

.foot-copy{margin-top:14px;font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-faint);}

/* ---------- compact spacing pass (2026-07-20): fewer scrolls, same design ---------- */
.sec{padding-top:clamp(34px,4.8vh,56px);padding-bottom:clamp(34px,4.8vh,56px);}
.sec-tight{padding-top:clamp(38px,5vh,58px);padding-bottom:clamp(38px,5vh,58px);}
.sec-head{margin-bottom:clamp(16px,2.2vh,26px);}
.cta-band{padding-top:clamp(44px,6.5vh,72px);padding-bottom:clamp(44px,6.5vh,72px);}
footer{padding-top:clamp(26px,3.8vh,38px);padding-bottom:clamp(26px,3.8vh,38px);}
.foot-min{display:flex;flex-direction:column;}
.foot-min .foot-brand{order:1;}
.foot-min .foot-lines{order:2;}
.foot-min .foot-nav:not(.foot-nav-ext){order:3;}
.foot-min .foot-desc{order:4;}
.foot-min .foot-nav-ext{order:5;}

.foot-grid{gap:clamp(26px,4vw,64px);}
.about-head{padding-top:clamp(104px,13vh,132px);}

/* ---------- above-the-fold tightening pass (2026-07-27) ---------- */
.about-head{padding-top:clamp(68px,8vh,92px);}
.about-h1{margin-top:6px !important;}
.about-sub{margin-top:10px;}
#story{padding-top:clamp(10px,1.6vh,18px) !important;}
.sec-tight{padding-top:clamp(22px,3vh,34px);padding-bottom:clamp(22px,3vh,34px);}
.sec{padding-top:clamp(22px,3.2vh,36px);padding-bottom:clamp(22px,3.2vh,36px);}
.sec-head{margin-bottom:clamp(12px,1.6vh,18px);}
.fr-credit{margin:14px 0 18px;}
.founder-txt p{margin-bottom:15px;}
.cta-band{padding-top:clamp(30px,4.5vh,48px);padding-bottom:clamp(30px,4.5vh,48px);}
footer{padding-top:clamp(18px,2.6vh,26px);padding-bottom:clamp(18px,2.6vh,26px);}

/* ---------- email signup (2026-07-28) ---------- */
.fn-subscribe{margin-top:28px;max-width:420px;}
.fn-subscribe-label{display:block;font-size:12.5px;color:var(--ink-faint);margin-bottom:10px;}
.fn-subscribe-row{display:flex;gap:10px;flex-wrap:wrap;}
.fn-subscribe-row input[type="email"]{flex:1 1 220px;min-width:0;background:transparent;border:1px solid var(--line);color:var(--ink);padding:11px 14px;font-family:inherit;font-size:14px;border-radius:2px;}
.fn-subscribe-row input[type="email"]::placeholder{color:var(--ink-faint);}
.fn-subscribe-row .btn{flex:0 0 auto;}
.fn-subscribe-note{max-width:520px;padding-top:clamp(24px,4vh,36px);border-top:1px solid var(--line);}
.foot-subscribe{margin-bottom:clamp(28px,4vh,44px);padding-bottom:clamp(28px,4vh,44px);border-bottom:1px solid var(--line);}
.foot-subscribe .fn-subscribe{margin-top:0;}

/* ---------- a11y pass (2026-07-21): contrast + tap targets ---------- */
.foot-copy{color:rgba(237,234,227,0.55);}
.foot-nav a{display:inline-block;padding:6px 4px;margin:-6px -4px;}

/* floating booking pill, Template C (2026-09-23) */
.cal-float{position:fixed;right:22px;bottom:22px;z-index:70;display:inline-flex;align-items:center;background:#ECE7DD;color:#1A1714;border-radius:999px;padding:15px 26px;font-family:var(--sans);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;line-height:1;box-shadow:0 6px 22px rgba(0,0,0,0.45);cursor:pointer;transition:background .3s,color .3s;}
.cal-float:hover,.cal-float:focus-visible{background:var(--blue);color:#fff;}
.to-top{bottom:84px;}
.cal-inline{color:#B49CE0;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(142,114,198,0.55);cursor:pointer;}

/* 
  Silktide Consent Manager - https://silktide.com/consent-manager/  
*/

/* --------------------------------
  Global Styles
-------------------------------- */
/* Wrapper (Global) */
#stcm-wrapper {
  --boxShadow: -5px 5px 10px 0px #00000012, 0px 0px 50px 0px #0000001a;
  --fontFamily: Helvetica Neue, Segoe UI, Arial, sans-serif;
  --primaryColor: #F9D000;
  --backgroundColor: #050505;
  --textColor: #F4F0DF;
  --backdropBackgroundColor: #00000077;
  --backdropBackgroundBlur: 0px;
  --iconColor: #050505;
  --iconBackgroundColor: #F9D000;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  pointer-events: none;
  border: 0px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* --------------------------------
Links
-------------------------------- */
#stcm-wrapper a {
  all: unset;
  display: inline-block;
  color: var(--primaryColor);
  text-decoration: underline;
}

#stcm-wrapper a:hover {
  cursor: pointer;
  color: var(--textColor);
}

/* --------------------------------
Focus Styles
-------------------------------- */
#stcm-wrapper a:focus,
#stcm-wrapper #stcm-banner button:focus,
#stcm-wrapper #stcm-modal button:focus,
#stcm-wrapper #stcm-icon:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--backgroundColor), 0 0 0 4px var(--textColor);
  border-radius: 5px;
}

#stcm-wrapper #stcm-icon:focus {
  border-radius: 50%;
}

/* --------------------------------
General Styles
-------------------------------- */
#stcm-wrapper .stcm-button {
  color: var(--backgroundColor);
  background-color: var(--primaryColor);
  border: 2px solid var(--primaryColor);
  padding: 10px 20px;
  text-decoration: none;
  text-align: center;
  display: inline-block;
  font-size: 16px;
  line-height: 24px;
  cursor: pointer;
  border-radius: 5px;
}

#stcm-wrapper .stcm-button-primary:hover {
  background-color: var(--backgroundColor);
  color: var(--primaryColor);
}

#stcm-wrapper .stcm-button-secondary {
  background-color: var(--backgroundColor);
  color: var(--primaryColor);
}

#stcm-wrapper .stcm-button-secondary:hover {
  background-color: var(--primaryColor);
  color: var(--backgroundColor);
}

/* --------------------------------
Banner
-------------------------------- */
#stcm-banner {
  font-family: var(--fontFamily);
  color: var(--textColor);
  background-color: var(--backgroundColor);
  box-sizing: border-box;
  padding: 32px;
  border-radius: 12px;
  pointer-events: auto;
  border: 0px;
  position: fixed;
  bottom: 16px;
  right: 16px;
  width: 600px;
  overflow: auto;
  max-width: calc(100% - 32px);
  max-height: calc(100vh - 32px);
  transform: translate(0, -20px);
  opacity: 0;
  animation: stcm-slide-down 350ms ease-out;
  animation-delay: 0.3s;
  box-shadow: -5px 5px 10px 0px #00000012, 0px 0px 50px 0px #0000001a;
}

#stcm-banner.stcm-loaded {
  opacity: 1;
  transform: none;
  animation: none;
}

#stcm-banner:focus {
  border-radius: 50%;
}

#stcm-banner.stcm-pos-center {
  top: 50%;
  left: 50%;
  bottom: auto;
  right: auto;
  position: fixed;
  transform: translate(-50%, calc(-50% - 20px));
  animation: stcm-slide-down-center 350ms ease-out forwards;
}

#stcm-banner.stcm-pos-bottom-left {
  bottom: 16px;
  left: 16px;
  position: fixed;
}

#stcm-banner.stcm-pos-bottom-center {
  bottom: 16px;
  left: 50%;
  position: fixed;
  transform: translate(-50%, -20px);
  animation: stcm-slide-down-bottom-center 350ms ease-out forwards;
}

#stcm-banner .stcm-preferences-button {
  display: flex;
  gap: 5px;
  border: none;
  padding: 15px 0px;
  background-color: transparent;
  color: var(--primaryColor);
  cursor: pointer;
  font-size: 16px;
}

#stcm-banner .stcm-preferences-button span {
  display: block;
  white-space: nowrap;
  text-decoration: none;
}

#stcm-banner .stcm-preferences-button span:hover {
  color: var(--textColor);
}

#stcm-banner p {
  font-size: 16px;
  line-height: 24px;
  color: var(--textColor);
  margin: 0px 0px 15px;
}

#stcm-banner a {
  display: inline-block;
  color: var(--primaryColor);
  text-decoration: underline;
  background-color: var(--backgroundColor);
}

#stcm-banner a:hover {
  color: var(--textColor);
}

#stcm-banner a.stcm-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  fill: var(--primaryColor); /* passed down to svg > path */
  margin-left: auto;
  width: 48px;
  height: 48px;
  text-decoration: none;
}

#stcm-banner .stcm-actions {
  display: flex;
  gap: 16px;
  flex-direction: column;
  margin-top: 24px;
}

@media (min-width: 600px) {
  #stcm-banner .stcm-actions {
    flex-direction: row;
    align-items: center;
  }
}

#stcm-banner .stcm-actions-row {
  display: flex;
  gap: 16px;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex-grow: 1;
}

/* --------------------------------
Modal
-------------------------------- */
#stcm-modal {
  display: none;
  pointer-events: auto;
  overflow: auto;
  width: 800px;
  max-width: 100%;
  max-height: 100%;
  border: 0px;
  transform: translate(0px, -20px);
  opacity: 0;
  animation: stcm-slide-up-center 350ms ease-out forwards;
  box-shadow: -5px 5px 10px 0px #00000012, 0px 0px 50px 0px #0000001a;
  font-family: var(--fontFamily);
  color: var(--textColor);
  flex-direction: column;
  padding: 30px;
  background-color: var(--backgroundColor);
  border-radius: 12px;
  box-sizing: border-box;
}

/* --------------------------------
Modal - Header
-------------------------------- */
#stcm-modal header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  gap: 16px;
}

#stcm-modal h1 {
  font-family: var(--fontFamily);
  color: var(--textColor);
  font-size: 24px;
  font-weight: 500;
  margin: 0px;
}

#stcm-modal .stcm-modal-close {
  display: inline-flex;
  border: none;
  padding: 13px;
  cursor: pointer;
  background: var(--backgroundColor);
  color: var(--primaryColor);
}

#stcm-modal .stcm-modal-close svg {
  fill: var(--primaryColor);
}

/* --------------------------------
Modal - Content
-------------------------------- */
#stcm-modal section {
  flex: 1;
  margin-top: 32px;
}

#stcm-modal section::-webkit-scrollbar {
  display: block; /* Force scrollbars to show */
  width: 5px; /* Width of the scrollbar */
}

#stcm-modal section::-webkit-scrollbar-thumb {
  background-color: var(--textColor); /* Color of the scrollbar thumb */
  border-radius: 10px; /* Rounded corners for the thumb */
}

#stcm-modal p {
  font-size: 16px;
  line-height: 24px;
  color: var(--textColor);
  opacity: 0.8;
  margin: 0px 0px 15px;
}

#stcm-modal p:last-of-type {
  margin: 0px;
}

#stcm-modal fieldset {
  padding: 0px;
  border: none;
  margin: 0px 0px 32px;
}

#stcm-modal fieldset:last-of-type {
  margin: 0px;
}

#stcm-modal legend {
  padding: 0px;
  margin: 0px 0px 10px;
  font-weight: 700;
  color: var(--textColor);
  font-size: 16px;
}

#stcm-modal .stcm-consent-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;  
}

/* --------------------------------
Modal - Switches
-------------------------------- */
#stcm-modal .stcm-toggle {
  flex-shrink: 0;
  position: relative;
  display: inline-block;
  height: 34px;
  width: 74px;
  cursor: pointer;
}

#stcm-modal .stcm-toggle:focus-within {
  outline: none;
  box-shadow: 0 0 0 2px var(--backgroundColor), 0 0 0 4px var(--textColor);
  border-radius: 25px;
}

#stcm-modal .stcm-toggle input {
  opacity: 0;
  position: absolute;
}

/* Unchecked Switch Styles */
#stcm-modal .stcm-toggle-track {
  position: relative;
  display: block;
  height: 34px;
  width: 74px;
  background: var(--textColor);
  border-radius: 25px;
}

#stcm-modal .stcm-toggle-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  display: block;
  height: 30px;
  width: 30px;
  background: var(--backgroundColor);
  border-radius: 50%;
  transition: left 150ms ease-out;
}

#stcm-modal .stcm-toggle-off,
#stcm-modal .stcm-toggle-on {
  text-transform: uppercase;
  font-size: 15px;
  font-weight: 500;
  color: var(--backgroundColor);
  position: absolute;
  top: 8px;
  right: 8px;
  transition: right 150ms ease-out, opacity 150ms ease-out;
}

#stcm-modal .stcm-toggle-off {
  opacity: 1;
}

#stcm-modal .stcm-toggle-on {
  opacity: 0;
}

/* Checked Switch Styles */
#stcm-modal .stcm-toggle input:checked + .stcm-toggle-track {
  background: var(--primaryColor);
}

#stcm-modal .stcm-toggle input:checked ~ .stcm-toggle-thumb {
  left: calc(100% - 32px);
}

#stcm-modal .stcm-toggle input:checked ~ .stcm-toggle-off {
  right: calc(100% - 32px);
  opacity: 0;
}

#stcm-modal .stcm-toggle input:checked ~ .stcm-toggle-on {
  right: calc(100% - 34px);
  opacity: 1;
}

#stcm-modal .stcm-toggle input:disabled + .stcm-toggle-track {
  opacity: 0.6;
  filter: grayscale(100%);
  cursor: not-allowed;
}

/* --------------------------------
Modal - Footer
-------------------------------- */
#stcm-modal footer {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
}

@media (min-width: 600px) {
  #stcm-modal footer {
    flex-direction: row;
    align-items: center;
  }
}

#stcm-modal footer a {
  margin-left: auto;
  padding: 0;
}

#stcm-modal footer a.stcm-credit-link {
  text-decoration: none;
}

#stcm-modal footer a.stcm-credit-link:hover {
  text-decoration: underline;
}

/* Cookie Icon */
#stcm-icon {
  display: none;
  position: fixed;
  bottom: 10px;
  left: 10px;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  padding: 0px;
  border: none;
  background-color: var(--iconColor);
  cursor: pointer;
  box-shadow: 0px 0px 6px 0px #0000001a;
  pointer-events: auto;
  animation: stcm-fade-in 0.3s ease-in-out forwards;
}

#stcm-icon.stcm-pos-bottom-right {
  left: auto;
  right: 10px;
}

#stcm-icon svg {
  fill: var(--iconBackgroundColor);
}

/* --------------------------------
Backdrop
-------------------------------- */
#stcm-backdrop {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--backdropBackgroundColor);
  backdrop-filter: blur(var(--backdropBackgroundBlur));
  pointer-events: all;
}

/* --------------------------------
Animations
-------------------------------- */
@keyframes stcm-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes stcm-slide-down {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes stcm-slide-down-center {
  from {
    opacity: 0;
    transform: translate(-50%, calc(-50% - 20px));
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}

@keyframes stcm-slide-down-bottom-center {
  from {
    opacity: 0;
    transform: translate(-50%, -20px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

@keyframes stcm-slide-up-center {
  from {
    opacity: 0;
    transform: translate(0px, 20px);
  }
  to {
    opacity: 1;
    transform: translate(0px, 0px);
  }
}

/* --------------------------------
Animation - backdrop click feedback
-------------------------------- */
@keyframes stcm-nudge {
  0%, 100% { right: 16px; }
  10%, 30%, 50%, 70%, 90% { right: 20px; }
  20%, 40%, 60%, 80% { right: 12px; }
}

/* Apply to banner */
#stcm-banner.stcm-nudge {
  animation: stcm-nudge 1s ease-in-out;
}

/* Apply to modal */
#stcm-modal.stcm-nudge {
  animation: stcm-nudge 0.5s ease-in-out;
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  #stcm-banner.stcm-nudge,
  #stcm-modal.stcm-nudge {
    animation: stcm-pulse 0.5s ease-in-out;
  }
  
  @keyframes stcm-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.85; }
  }
}

/* ==========================================================================
   system.css - shared type scale + shared components (loaded LAST on every page)
   One place for body type, so every page reads the same.
   Tiers: lead 17 / body 16 / card 14.5 / small 13. Labels, eyebrows,
   headings, hero lines and link styles keep their own locked values.
   ========================================================================== */
:root{
  --lav:#B49CE0;--muted-on-dark:#A29A8E;
  --fs-lead:17px;--lh-lead:1.65;
  --fs-body:16px;--lh-body:1.8;
  --fs-card:14.5px;--lh-card:1.75;
  --fs-small:13px;--lh-small:1.6;
  --ink-soft:rgba(237,234,227,0.60); /* body standard on Charcoal (Addie 2026-09-24): 60%, 5.2:1 contrast */
  --body-dark:var(--ink-soft);   /* body copy on Charcoal */
  --body-paper:#4A443B;          /* body copy on Parchment */
}

/* body type tiers live in css/type-scale.css (not loaded on field note articles) */

/* ---------- booking triggers open the Cal popup (no href) ---------- */
a[data-cal-link]{cursor:pointer;}

/* ---------- FAQ accordion (About format, shared) ---------- */
.faq-acc{max-width:78ch;}
.faq-acc .qa{border-top:1px solid var(--line);padding:19px 0;}
.faq-acc .qa:last-child{border-bottom:1px solid var(--line);}
.qa summary{cursor:pointer;list-style:none;}
.qa summary::-webkit-details-marker{display:none;}
.qa .q,.faq-acc .qa summary{display:flex;gap:16px;align-items:baseline;font-family:var(--sans);font-size:16px;font-weight:500;color:var(--ink);line-height:1.5;text-transform:none;}
.qa .n{font-family:var(--disp);font-weight:400;font-size:13px;color:var(--lav);letter-spacing:0.05em;flex:none;}
.qa .qt{flex:1;}
.qa .qx{flex:none;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:300;font-size:19px;color:var(--ink);line-height:1;transition:transform .3s,border-color .3s;}
.qa .qx::before{content:"+";}
.qa[open] .qx{transform:rotate(45deg);border-color:var(--blue);}
.qa summary:hover .qx{border-color:var(--blue);}
.qa summary:hover .qt{color:var(--lav);}
.qa .a{margin:12px 0 0 0;max-width:66ch;}
.faq-acc .faq-cta{margin-top:10px;}

/* ---------- Homepage 03: specialties as outlined pills, lavender labels ---------- */
#expertise .bx-index{margin-top:clamp(22px,3.4vh,34px);}
#expertise .bx-row{grid-template-columns:200px 1fr;align-items:center;padding:8px 0;border:none;}
#expertise .bx-lab{color:var(--lav);}
#expertise .bx-names{column-gap:12px;row-gap:12px;}
#expertise .bx-names li{border:1px solid rgba(237,234,227,0.26);border-radius:999px;padding:8px 14px;font-size:11.5px;font-weight:500;line-height:1.4;letter-spacing:0.09em;color:rgba(237,234,227,0.86);}
@media(max-width:800px){
  #expertise .bx-row{grid-template-columns:1fr;gap:12px;align-items:start;padding:10px 0 12px;}
  #expertise .bx-names{column-gap:14px;row-gap:12px;}
  #expertise .bx-names li{padding:8px 15px;font-size:11.5px;}
}

/* ---------- Field notes hub: search, category pills, channel/format/sort, expand ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.fn-hub{max-width:860px;}
.fn-tools{padding:6px 0 22px;}
.fn-search{display:block;margin-bottom:18px;}
.fn-search input{width:100%;font-family:var(--sans);font-size:16px;font-weight:300;color:var(--ink);background:transparent;border:none;border-bottom:1px solid rgba(237,234,227,0.3);padding:10px 2px;border-radius:0;-webkit-appearance:none;appearance:none;}
.fn-search input::placeholder{color:var(--ink-faint);}
.fn-filter{display:flex;flex-wrap:wrap;gap:10px;}
.fn-chip{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid rgba(237,234,227,0.22);border-radius:999px;padding:8px 14px 8px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;line-height:1.4;white-space:nowrap;transition:border-color .2s,background .2s,color .2s;}
.fn-chip:hover{border-color:var(--lav);}
.fn-chip.on{background:#ECE7DD;border-color:#ECE7DD;color:#1A1714;}
.fn-ct{font-size:10.5px;letter-spacing:0.04em;color:var(--lav);font-weight:600;}
.fn-chip.on .fn-ct{color:#6B4FA6;}
.fn-more-btn{display:none;}
.fn-selects{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}
.fn-sel{display:flex;flex-direction:column;gap:6px;min-width:170px;flex:1;}
.fn-sel span{font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--lav);font-weight:600;}
.fn-sel select{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23B49CE0' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;border:1px solid rgba(237,234,227,0.22);border-radius:999px;padding:9px 34px 9px 16px;-webkit-appearance:none;appearance:none;cursor:pointer;}
.fn-sel select option{background:#2F2D2A;color:#EDEAE3;text-transform:none;}
.fn-chip:focus-visible,.fn-expand:focus-visible,.fn-reset:focus-visible,.fn-more-btn:focus-visible,.fn-sel select:focus-visible,.fn-search input:focus-visible,.note-acc summary:focus-visible{outline:2px solid var(--lav);outline-offset:3px;}
.fn-tools-row{display:flex;gap:18px;align-items:center;margin-top:8px;flex-wrap:wrap;}
.fn-status{font-size:var(--fs-small);color:var(--ink-faint);margin:0;flex:1;min-height:1.2em;}
.fn-expand,.fn-reset,.fn-more-btn{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--lav);background:none;border:none;padding:10px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(142,114,198,0.55);}
.fn-expand:hover,.fn-reset:hover,.fn-more-btn:hover{color:var(--blue);}
.fn-hub .note{padding:0;}
.fn-hub .note[hidden]{display:none;}
.note-acc summary{list-style:none;cursor:pointer;padding:clamp(20px,3vh,30px) 0;}
.note-acc summary::-webkit-details-marker{display:none;}
.fn-hub .note-meta{margin-bottom:10px;}
.fn-hub .note-meta .nm-num{color:var(--lav);}
.note-row{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;}
.fn-hub .note h2{margin-bottom:0;font-size:clamp(1.35rem,3vw,2rem);}
.note-acc .qx{flex:none;margin-top:2px;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:300;font-size:19px;color:var(--ink);line-height:1;transition:transform .3s,border-color .3s;}
.note-acc .qx::before{content:"+";}
.note-acc[open] .qx{transform:rotate(45deg);border-color:var(--blue);}
.note-acc summary:hover .qx{border-color:var(--blue);}
.note-body{padding:0 0 clamp(22px,3.2vh,32px);}
.fn-empty{color:var(--ink-soft);padding:26px 0;border-top:1px solid var(--line);}
@media(max-width:700px){
  .fn-filter{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 calc(-1 * var(--mx));padding:2px var(--mx);gap:8px;}
  .fn-filter::-webkit-scrollbar{display:none;}
  .fn-chip{font-size:11px;padding:7px 12px 7px 14px;}
  .fn-more-btn{display:inline-block;margin-top:8px;}
  .fn-selects{display:none;flex-direction:column;margin-top:4px;}
  .fn-selects.open{display:flex;}
  .fn-sel{min-width:0;}
  .note-row{gap:14px;}
}

/* hub: quick-look blurb always visible; expand shows what the note answers */
.fn-hub .note-blurb{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--body-dark);max-width:62ch;margin:12px 0 0;padding-right:52px;}
.note-inside-lab{font-size:10.5px!important;letter-spacing:0.2em;text-transform:uppercase;color:var(--lav)!important;font-weight:600;margin:0 0 10px!important;}
.note-inside{list-style:none;margin:0 0 16px;padding:0;max-width:62ch;}
.note-inside li{font-size:var(--fs-card);line-height:var(--lh-card);color:var(--body-dark);padding:7px 0 7px 18px;border-top:1px solid var(--line);position:relative;}
.note-inside li::before{content:"";position:absolute;left:0;top:17px;width:8px;height:1px;background:var(--lav);}
@media(max-width:700px){.fn-hub .note-blurb{padding-right:0;}}

/* hub: featured notes (list rows), pinned above search. Picks set by hand in field-notes.html */
.fn-featured{margin:0 0 30px;}
.fn-feat-head{margin-bottom:12px;}
.fn-feat-lab{font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--lav);font-weight:600;}
.fn-feat-grid{border-top:1px solid var(--line);}
.fn-feat-card{display:grid;grid-template-columns:1fr auto;column-gap:16px;row-gap:4px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;}
.fn-feat-cat{grid-column:1;font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted-on-dark);font-weight:600;}
.fn-feat-title{grid-column:1;font-family:var(--disp);font-weight:400;font-size:1.25rem;line-height:1.1;text-transform:uppercase;color:var(--ink);transition:color .2s;}
.fn-feat-arrow{grid-column:2;grid-row:1 / span 2;color:var(--lav);font-size:18px;line-height:1;transition:transform .2s;}
.fn-feat-card:hover .fn-feat-arrow{transform:translateX(4px);}
.fn-feat-card:hover .fn-feat-title{color:var(--lav);}
@media(max-width:800px){.fn-feat-title{font-size:1.15rem;}}

/* founder credit: same label treatment on Home and About (name, then title in small caps) */
.fr-credit .fr-title{font-family:var(--sans);font-size:11px;font-style:normal;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;}
#founder .fr-credit{margin:14px 0 18px;}
#founder .fr-credit::before{display:none;}
#founder .fr-credit::after{content:"";width:28px;height:2px;background:var(--blue);margin-top:12px;order:3;}

/* homepage hero, one column: label, headline, one line, then button with See the impact beside it */
.hero-stack{display:block!important;}
.hero-eb{font-size:10.5px;letter-spacing:0.24em;text-transform:uppercase;color:rgba(237,234,227,0.6);font-weight:600;margin-bottom:16px;}
.hero-stack .hero-tagline-sm{margin-top:18px;max-width:52ch;font-size:var(--fs-lead);}
.hero-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:28px;}
.hero-imp{font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--lav);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(142,114,198,0.55);font-weight:500;}
.hero-imp:hover{color:var(--blue);}
@media(max-width:760px){.hero-actions{flex-direction:column;align-items:stretch;gap:16px;}.hero-actions .btn{justify-content:center;}.hero-imp{align-self:flex-start;}.hero-stack .hero-tagline-sm{font-size:16px;}}

/* field notes hub, calmer toolbar: search + Filters on one line, category pills below, extra filters tucked away */
.fn-bar{display:flex;gap:18px;align-items:flex-end;margin-bottom:16px;}
.fn-bar .fn-search{flex:1;margin:0;}
.fn-more-btn{display:inline-block!important;white-space:nowrap;}
.fn-selects{display:none!important;}
.fn-selects.open{display:flex!important;}
.fn-hub .note-blurb{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.fn-hub .note-meta{margin-bottom:8px;}
@media(max-width:700px){.fn-selects.open{flex-direction:column;}}

/* field notes hub, round 3: search lives in the hero; one row of dropdowns above the list */
.fn-search-hero{display:block;max-width:560px;margin-top:26px;}
.fn-search-hero input{width:100%;font-family:var(--sans);font-size:16px;font-weight:300;color:var(--ink);background:rgba(237,234,227,0.04) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23B49CE0' stroke-width='1.5'%3E%3Ccircle cx='7' cy='7' r='5.5'/%3E%3Cpath d='M11 11l4 4'/%3E%3C/svg%3E") no-repeat 16px center;border:1px solid rgba(237,234,227,0.22);border-radius:999px;padding:12px 18px 12px 44px;-webkit-appearance:none;appearance:none;}
.fn-search-hero input::placeholder{color:var(--ink-faint);}
.fn-search-hero input:focus-visible{outline:2px solid var(--lav);outline-offset:3px;}
.fn-listhead{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px;}
.fn-count{font-family:var(--sans);font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--lav);font-weight:600;margin:0;line-height:1.4;}
.fn-count .fn-n{color:var(--muted-on-dark);margin-left:6px;}
.fn-hub .fn-more-btn{display:none!important;}
.fn-hub .fn-selects{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;}
.fn-hub .fn-sel{min-width:0;}
.fn-hub .fn-sel select{width:100%;font-size:12px;padding:9px 30px 9px 14px;background-position:right 12px center;}
.fn-tools-row{justify-content:flex-end;}
@media(max-width:800px){
  .fn-hub .fn-more-btn{display:inline-block!important;}
  .fn-hub .fn-selects{display:none!important;grid-template-columns:1fr 1fr;}
  .fn-hub .fn-selects.open{display:grid!important;}
}
.fn-acts{display:flex;gap:18px;align-items:baseline;}
.fn-acts .fn-expand,.fn-acts .fn-reset,.fn-acts .fn-more-btn{padding:0;}
.fn-hub .fn-selects{margin-bottom:6px;}

/* homepage FAQ (last block before footer) */
.home-faq{border-top:1px solid var(--line);}
.home-faq .faq-hd{font-family:var(--disp);font-weight:400;font-size:clamp(1.7rem,3vw,2.5rem);text-transform:uppercase;line-height:1;margin:14px 0 26px;}
.cal-inline{color:var(--lav);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(142,114,198,0.55);}

/* About 02: original grid, sub headers brightened to match the rest of the page */
/* 02 and 04 sub headers share one color; set it here once Addie picks (gray, lavender, numbered, soft white) */
:root{--about-label:var(--lav);} /* Addie 2026-09-24: lavender item labels */
#milestones .ms-k,#built-with-ai .ms-k{color:var(--about-label);}
#milestones .ms-clip{max-height:none!important;} /* live bug: mobile cut 02 off after 3 items with no way to expand */

/* About 04: rows. Title left, detail right, matching the 03 layout */
#built-with-ai .ms-grid{display:block;}
#built-with-ai .ms-cell{display:grid;grid-template-columns:minmax(200px,300px) 1fr;column-gap:32px;align-items:baseline;border-top:1px solid var(--line);padding:14px 0;}
#built-with-ai .ms-cell:last-child{border-bottom:1px solid var(--line);}
#built-with-ai .ms-k{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;font-weight:700;margin:0;line-height:1.6;}
#built-with-ai .ms-cell p{font-size:var(--fs-card)!important;line-height:1.6!important;color:var(--body-dark);margin:0;}
#built-with-ai .ms-cta{border-top-color:var(--line);}
#built-with-ai .ms-cta .btn-text{grid-column:2;margin-top:6px;padding-top:0;justify-self:start;}
@media(max-width:820px){#built-with-ai .ms-cell{grid-template-columns:1fr;row-gap:4px;}#built-with-ai .ms-cta .btn-text{grid-column:1;}}

/* About 03: one pill style for every row; the Retail placements row is removed (same names as 02) */
#brands .bx-row{border-bottom:none!important;margin-bottom:0!important;padding:10px 0!important;}
#brands .bx-names li{color:var(--ink)!important;border-color:rgba(237,234,227,0.26)!important;}
#brands .bx-lab{color:var(--lav);}

/* field notes hub, round 4 (approved 2026-09-24, option A3): search moves above the filters inside one tinted panel; dropdown labels visually hidden */
.fn-hub .fn-tools{background:rgba(142,114,198,.12);border:1px solid rgba(180,156,224,.28);border-radius:18px;padding:20px 20px 18px;margin:8px 0 26px}
.fn-tools .fn-search-hero{max-width:none;margin:0 0 16px}
.fn-tools .fn-search-hero input{background-color:rgba(30,28,26,.55);border-color:rgba(180,156,224,.35)}
.fn-hub .fn-sel span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fn-hub .fn-sel select{border-color:transparent!important;background-color:rgba(237,234,227,.07)}
.fn-hub .fn-selects{gap:8px}
@media(max-width:600px){
  .fn-hub .fn-tools{padding:14px 12px 12px;margin-left:-6px;margin-right:-6px}
  .fn-tools .fn-search-hero input{font-size:15px;padding:11px 12px 11px 40px;background-position:14px center}
  .fn-hub .fn-sel select{padding:9px 24px 9px 12px;font-size:11px;letter-spacing:.04em;background-position:right 10px center}
}

/* Top nav: links for pages you are not on sit at 60% opacity (40% transparent); the current page stays full white. Hover and keyboard focus restore full white. Approved 2026-09-24 (Option B). Homepage has no active link, so it is unaffected. */
.nav-r:has(.lk.active) a.lk:not(.active){opacity:.6;}
.nav-r:has(.lk.active) a.lk:not(.active):hover,.nav-r:has(.lk.active) a.lk:not(.active):focus-visible{opacity:1;}
/* Mobile menu only (760px and below, where the nav becomes the full-screen overlay): on pages with no current-page link (Home, Terms, Privacy, 404, booked and thank-you pages), every link also sits at 60% so the open menu looks the same on every page. Desktop keeps the 2026-09-24 rule above. Approved direction 2026-09-25. */
@media(max-width:760px){
 .nav-r a.lk:not(.active){opacity:.6;}
 .nav-r a.lk:not(.active):hover,.nav-r a.lk:not(.active):focus-visible{opacity:1;}
}

/* Field notes: the "short answer" block at the top of guide articles matches the 60% body color (Typography SOP v3 exception amendment, approved 2026-09-24). p.guide-tldr outranks the inline .guide-tldr rule in each article. */
p.guide-tldr{color:var(--ink-soft);}

/* Consent banner: compact, no corner icon (approved 2026-09-25). The corner icon stays in the DOM but hidden; the footer "Cookie preferences" link opens the panel. Buttons stay equal size (OK / Opt out) for equal prominence. */
#stcm-wrapper #stcm-icon{display:none!important;}
#stcm-banner{width:420px;padding:18px 20px 12px;border-radius:14px;left:16px;right:auto;bottom:16px;}
#stcm-banner p{font-size:13px;line-height:1.5;margin:0;}
#stcm-banner .stcm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
#stcm-banner .stcm-button{width:100%;padding:11px 10px;font-size:11px;letter-spacing:.12em;white-space:nowrap;}
#stcm-banner .stcm-actions-row{grid-column:1 / -1;display:flex;justify-content:center;align-items:center;gap:12px;}
#stcm-banner .stcm-preferences-button{padding:4px 2px;font-size:12px;}
@media(max-width:760px){#stcm-banner{left:10px;right:10px;bottom:10px;width:auto;max-width:none;padding:14px 16px 10px;border-radius:12px;}}

/* Floating Book a Call button, Template C update (approved 2026-09-25, option 3): Lavender fill, Ink Dark text, larger, trailing arrow. Replaces the 2026-09-23 Parchment fill. Hover flips to Parchment. */
.cal-float{background:#B49CE0;color:#1A1714;padding:18px 30px;font-size:12.5px;box-shadow:0 8px 26px rgba(0,0,0,0.5);}
.cal-float::after{content:"\2192";margin-left:10px;}
.cal-float:hover,.cal-float:focus-visible{background:#ECE7DD;color:#1A1714;}

/* Consent banner brand colors, shared by every page (2026-09-25). The 12 core pages also carry this inline; field note articles did not, so their banner showed Silktide's default yellow. */
#stcm-wrapper{--boxShadow:0 0 0 1px #6B655B55,-8px 8px 30px 0 #00000066;--fontFamily:Inter,Helvetica,Arial,sans-serif;--primaryColor:#B49CE0;--backgroundColor:#2F2D2A;--textColor:#EDEAE3;--backdropBackgroundColor:#00000055;--backdropBackgroundBlur:0px;--iconColor:#B49CE0;--iconBackgroundColor:#2F2D2A}#stcm-wrapper .stcm-button{border-radius:0;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:500;white-space:nowrap}#stcm-wrapper #stcm-banner,#stcm-wrapper .stcm-modal{border-radius:0;border:1px solid #6B655B}#stcm-wrapper a{color:#B49CE0}

/* ===== Visual audit fixes (approved 2026-09-26) ===== */
/* Item 2: section headings that wrap (homepage on phones) used body line spacing (1.8). */
.sec-title,h2.sec-title{line-height:1.1;}
/* Item 3: Who We Help "What each pillar can include" lists were 36% ink (2.7:1). Lift to the standard 60% body color. Glossary links keep their own treatment. */
.pillar-inc-grid .pillar-card p{color:var(--ink-soft);}
/* Item 4: footer legal links on their own row, one line each, 24px+ tap height. */
.foot-legal{display:flex;flex-wrap:wrap;gap:0 22px;margin-top:6px;}
.foot-legal a{color:inherit;display:inline-block;padding:8px 0;white-space:nowrap;}
.foot-legal a:hover,.foot-legal a:focus-visible{color:var(--ink);}
/* Item 5: small labels below 4.5:1 lifted. Faint gray 36% -> 56%; violet text -> Lavender. */
.fig-cap span,.fn-subscribe-label,.offer-meta span,.booking-details dt,.eff,.note-meta .nm-date,.gl-alt{color:rgba(237,234,227,0.56);}
.req,label .req,.guide-cta-orv a,.guide-cta.guide-cta-orv p a{color:var(--lav);}
main .legal .eff,main .gl-term .gl-alt{color:rgba(237,234,227,0.56);}
.form-field label .req,.form-hint .req{color:var(--lav);}
.paper .fig-cap span{color:inherit;}
/* Item 7: desktop reading pages center the column; headers shift so their text lines up with the centered column. Terms keeps its table-of-contents layout. */
@media(min-width:1100px){
 main .guide-head,main>.guide-related,main:has(.guide-body)>p{padding-left:calc(50% - 370px + var(--mx));padding-right:calc(50% - 370px + var(--mx));}
 main:has(.gl-body) .guide-head,main:has(.gl-body)>.guide-related,main:has(.gl-body)>p{padding-left:calc(50% - 380px + var(--mx));padding-right:calc(50% - 380px + var(--mx));}
 main .guide-body,main:has(.guide-body)>.faq{margin-left:auto;margin-right:auto;}
 main>.gl-index,main>.gl-body{max-width:760px;margin-left:auto;margin-right:auto;}
 main:has(.fn-hub) .fn-hero{padding-left:calc(50% - 430px + var(--mx));}
 main:not(:has(.fn-hub)) .fn-hero{padding-left:calc(50% - 410px + var(--mx));}
 main .fn-list{margin-left:auto;margin-right:auto;}
 main:has(.fn-hub)>section.sec{max-width:860px;margin-left:auto;margin-right:auto;}
 main .contact.wrap.legal{margin-left:auto;margin-right:auto;}
}
/* Older notes (fn-list template) nest the FAQ inside the list, which doubled the side padding and indented it off the note column. */
.fn-list .faq{padding-left:0;padding-right:0;}
/* Hero (approved 2026-09-29, conversion layout): solid "Book a 20-minute Project Fit Call" (primary) + outlined "See the impact" (secondary). Side by side on desktop, stacked full width on phones. */
.hero-actions{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;}
.hero-ghost{border:1px solid rgba(236,231,221,0.7);color:#ECE7DD;background:rgba(26,23,20,0.25);}
.hero-ghost:hover,.hero-ghost:focus-visible{background:#ECE7DD;color:#1A1714;border-color:#ECE7DD;}
@media(max-width:760px){.hero-actions .btn{width:100%;justify-content:center;}}
/* Accessibility (axe WCAG 2.2 AA, 2026-09-29): remaining violet numbers on dark (3.5:1) move to Lavender; article pages set .qa .n inline, so match their specificity with an extra class. Hub note count lifted. */
.faq .qa .n,.qa summary .n,details.qa summary.q .n,.fit-item span{color:var(--lav);}
.fn-count .fn-n{color:rgba(237,234,227,0.62);}

/* Field notes index: aligned to Who We Help and Contact (2026-10-02), side rail layout on desktop (2026-10-06) */
main:has(.fn-hub) .fn-hero{padding-left:var(--mx);padding-right:var(--mx);}
main:has(.fn-hub) .fn-hero h1{font-size:clamp(2.5rem,6.9vw,5.5rem);line-height:1.0;}
main:has(.fn-hub) .fn-list{max-width:none;}
.fn-count,.fn-feat-lab,.fn-feat-cat,.fn-sel span,.fn-hub .note-meta,.note-inside-lab{font-size:12px!important;letter-spacing:.14em;}
.fn-hub .note-meta .nm-num{font-weight:700;font-variant-numeric:tabular-nums;}
.fn-hub .note h2{font-size:26px;line-height:1.05;}
@media(max-width:800px){.fn-hub .note h2{font-size:20px;}}
.fn-hub .note-cta.case-note-link{font-size:12px!important;margin-top:0;}
.fn-close{background:linear-gradient(var(--line),var(--line)) center top/calc(100% - 2*var(--mx)) 1px no-repeat;padding-top:clamp(34px,4.8vh,56px);padding-bottom:clamp(34px,4.8vh,56px);}
.fn-close>.eyebrow{margin-bottom:14px;}
.fn-close>p{color:var(--body-dark);font-size:var(--fs-body);line-height:var(--lh-body);max-width:66ch;margin:0;}
.fn-faq{padding-top:clamp(34px,4.8vh,56px);}
/* Template A booking band, shared (was inline on Who We Help only) */
.engage-band{position:relative;overflow:hidden;margin-left:calc(-1 * var(--mx));margin-right:calc(-1 * var(--mx));width:calc(100% + 2 * var(--mx));padding:clamp(34px,4.5vh,56px) var(--mx);}
.engage-band::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(142,114,198,0.10) 1px,transparent 1px),linear-gradient(90deg,rgba(142,114,198,0.10) 1px,transparent 1px);background-size:38px 38px;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%);pointer-events:none;}
.engage-band .engage2{position:relative;z-index:1;}
.fn-engage{margin:0;width:auto;}
@media(min-width:1000px){
.fn-hub{display:grid;grid-template-columns:360px minmax(0,1fr);column-gap:64px;align-items:start;}
.fn-rail{position:sticky;top:96px;}
.fn-rail #fn-q{font-size:15px;}
.fn-hub .fn-selects{grid-template-columns:1fr!important;}
.fn-stream{grid-column:2;border-top:1px solid var(--line);}
.fn-stream .note:first-of-type{border-top:0;}
.fn-hub .fn-empty{grid-column:2;}
.fn-close,.fn-faq{display:grid;grid-template-columns:360px minmax(0,1fr);column-gap:64px;}
.fn-close>.eyebrow{grid-column:1;}
.fn-close>p{grid-column:2;grid-row:1;}
.fn-faq>.eyebrow{grid-column:1;grid-row:1;}
.fn-faq>.faq-hd{grid-column:1;grid-row:2;}
.fn-faq>.faq-acc{grid-column:2;grid-row:1/4;}
.fn-engage .engage2{grid-template-columns:360px minmax(0,1fr);gap:0 64px;}
}

/* Book a Call pill, desktop: pulled in to the page content edge, back-to-top stacked above it (2026-10-06) */
@media(min-width:1000px){.cal-float{right:var(--mx);bottom:32px;padding:19px 32px;font-size:13px;}.to-top{right:var(--mx);bottom:96px;}}

/* Mobile usability pass (2026-10-06). Phones only; desktop unchanged.
   1. Footer clears the floating Book a Call pill and back-to-top button.
   2. Form fields at 16px so iOS Safari does not zoom in when tapped.
   3. Tap targets reach 44px using invisible hit areas or matched padding, so nothing moves visually.
   4. Cookie banner trimmed so it covers less of the first screen. */
@media(max-width:760px){
  footer{padding-bottom:96px!important;}
  input[type="email"],input[type="text"],input[type="search"],input[type="tel"],input:not([type]),textarea,select,.fn-subscribe-row input[type="email"],.form-field input,.form-field textarea,.form-field select,.fn-search input{font-size:16px!important;}
  .foot-nav a{padding:12px 4px;margin:-12px -4px;}
  .foot-legal a{display:inline-block;padding:12px 4px;margin:-12px -4px;}
  .qa{padding-top:13px!important;padding-bottom:13px!important;}
  .qa summary{padding:6px 0;min-height:44px;}
  .orv-qa{padding-top:13px!important;padding-bottom:13px!important;}
  .orv-qa summary{padding:6px 0;min-height:44px;}
  .gl-index a{position:relative;}
  .gl-index a::before{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%);}
  .nav-toggle::before{content:"";position:absolute;left:50%;top:50%;width:48px;height:48px;transform:translate(-50%,-50%);}
  .wm,.btn-text,.fn-back-link,.svc-divider-link,.fn-acts .fn-expand,.fn-acts .fn-reset,.fn-acts .fn-more-btn,.guide-head .eyebrow a,.guide-byline a,.note-meta .nm-by a{position:relative;}
  .wm::before,.btn-text::before,.fn-back-link::before,.svc-divider-link::before,.fn-acts .fn-expand::before,.fn-acts .fn-reset::before,.fn-acts .fn-more-btn::before,.guide-head .eyebrow a::before,.guide-byline a::before,.note-meta .nm-by a::before{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:44px;transform:translateY(-50%);}
  #stcm-wrapper #stcm-banner{padding:12px 14px 8px;}
  #stcm-wrapper #stcm-banner .stcm-actions{gap:8px;}
  #stcm-wrapper #stcm-banner .stcm-button{padding:8px 10px;min-height:44px;}
  #stcm-wrapper #stcm-banner .stcm-actions-row{min-height:36px;}
  #stcm-wrapper #stcm-banner .stcm-logo{width:36px;height:36px;}
  #stcm-wrapper #stcm-banner .stcm-preferences-button{padding:11px 2px;margin:-11px 0;}
}

/* Phone label size (approved 2026-10-07 as an exception to the locked Typography SOP): small labels, meta and footer copy read at 12px on phones.
   Buttons, the footer menu links and the header wordmark keep their size so nothing wraps. */
@media(max-width:760px){
  .hero-eb,.pb-line,.pb-line *,.fig-cap span,.fr-title,.ms-k,.bx-lab,.bx-names li,.who-fig,.case-note-link,.case-note-link a,.case-cue-t,.numhead .kicker,
  .note-meta span,.note-meta a,.guide-byline,.guide-byline a,.form-field label,.form-field label .req,.checkbox-fieldset legend,
  .foot-copy,.foot-legal a,.legal-toc .k,.legal-note .k,.legal .eff,.offer-code,.offer-meta span,.process-row article>span,.booking-kicker,.booking-details dt,
  .review-proof b,.review-section-head>p,.scope-label,.readout-figure figcaption,.gl-index a,.btn-text,
  [style*="font-size:10.5px"]:not(.btn):not(button),[style*="font-size:11px"]:not(.btn):not(button){font-size:12px!important;}
}

/* ==========================================================================
   type-scale.css - body type tiers (Typography SOP v3, approved 2026-09-24)
   Lead 17 / body 16 / card 14.5 / small 13, body color 60% on charcoal.
   Loaded on every page EXCEPT field note articles (/field-notes/*), which keep
   their original hierarchy under the standing SOP exception.
   ========================================================================== */
/* ---------- LEAD: one intro line per page or section ---------- */
.fn-intro,.contact-intro,.bx-intro,#brands .bx-intro,.guide-tldr,.legal-body .lede,.lead-line,.ty-sub,.exp-lead{
  font-size:var(--fs-lead)!important;line-height:var(--lh-lead)!important;color:var(--body-dark)!important;font-weight:300!important;}

/* ---------- BODY: running paragraphs everywhere ---------- */
.founder-txt p,.engage2-r p,.cta-band > p,.note p,.guide-body p,.guide-body li,.gl-term p,
.legal-body section p,.legal > p,.legal li,.contact.wrap > div > p,
main > section.sec > p:not(.eyebrow):not(.case-note-link):not([style*="uppercase"]),main > section.sec > div > p:not(.eyebrow):not(.case-note-link):not([style*="uppercase"]),.fn-list > p,.request-copy > p,.fit-item p,
.contact-hero-section .form-sub{
  font-size:var(--fs-body);line-height:var(--lh-body);}
.founder-txt p,.cta-band > p,.note p,.guide-body p,.guide-body li,.gl-term p,.legal-body section p,
.legal > p,.legal li,.contact.wrap > div > p,.request-copy > p,.fit-item p,.contact-hero-section .form-sub{color:var(--body-dark);}
.paper p,.engage2-r p{color:var(--body-paper);}
.note-cta{font-size:var(--fs-small)!important;}

/* ---------- CARD: copy inside grids, cards, FAQ answers ---------- */
.who-cell p:not(.case-note-link),.who-cell p.th-body,.ms-cell p,.pillar-card p,.arch-col p,.case-blk p,
.deliverables p,.process-row p,.scope-card li,.offer-plate > p,
.qa .a,.orv-qa .a,.guide-cta-orv p,.who-proof-foot p{
  font-size:var(--fs-card)!important;line-height:var(--lh-card)!important;}
.pillar-card p,.who-cell p:not(.case-note-link),.case-blk p,.qa .a,.orv-qa .a,.guide-cta-orv p,.ms-cell p{color:var(--body-dark);}
.paper .arch-col p,.paper .deliverables p,.deliverables p{color:var(--body-paper);}

/* ---------- SMALL: notes, fine print, compact step cards ---------- */
.t-small,.wz-card p,.legal-note p,.request-alt,.privacy-note{
  font-size:var(--fs-small)!important;line-height:var(--lh-small)!important;}
.privacy-note{color:var(--body-dark)!important;}


