/* GENERATED by build-css.sh from: index.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;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/space-grotesk-latin-500-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) 26px;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;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);}
#who{padding-top:clamp(70px,10vh,110px);}
#who .sec-head{border-top:none;padding-top:0;}
.stmt::before{content:"";position:absolute;top:0;right: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(90deg,transparent 0%,#000 55%);mask-image:linear-gradient(90deg,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{padding-left:0;}
.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(20px,2.2vw,30px) clamp(22px,2.4vw,34px);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,.who-cell h3,.who-cell h2{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-soft);}
.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::before{content:"";width:28px;height:2px;background:var(--blue);margin-bottom:12px;}
.fr-person{font-size:15px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink);}
.fr-title{font-size:19px;font-family:Georgia,'Times New Roman',serif;font-style:italic;letter-spacing:0.01em;text-transform:none;color:var(--ink);font-weight:400;}
.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(--sans);font-weight:700;font-size:clamp(1.35rem,2.2vw,1.7rem);text-transform:uppercase;letter-spacing:-0.005em;line-height:1.15;color:var(--lav);}
.case-sub{font-size:15px;color:var(--ink-soft);margin-top:9px;max-width:52ch;}
.case-result{font-size:14.5px;color:rgba(237,234,227,0.72);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;}

/* ---------- guide cta (shared: field notes articles) ---------- */
.guide-cta{border:1px solid var(--line);padding:36px clamp(24px,3vw,40px);margin:40px var(--mx) 8px;position:relative;isolation:isolate;overflow:hidden;}
.guide-cta::before{content:"";position:absolute;inset:0;z-index:-1;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:34px 34px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%);pointer-events:none;}
.guide-cta h3{font-family:var(--disp);font-weight:400;font-size:clamp(1.4rem,2.4vw,1.9rem);text-transform:uppercase;line-height:1.05;margin-bottom:12px;}
.guide-cta p{margin-bottom:22px;max-width:54ch;}

/* ---------- guide cta orv redesign (2026-07-28): one line, lighter, centered ---------- */
.guide-cta-orv{border:none;background:none;text-align:center;max-width:640px;margin:-8px auto clamp(36px,5.5vh,56px);padding:0 var(--mx);isolation:auto;overflow:visible;}
.guide-cta-orv::before{display:none;}
.guide-cta-orv p{color:var(--ink-soft);font-size:14px;line-height:1.6;margin:0;}
.guide-cta-orv a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}
@media(max-width:480px){.guide-cta-orv a{white-space:normal;}}

/* ---------- faq (shared: field notes articles) ---------- */
.faq{max-width:74ch;padding:0 var(--mx) clamp(30px,5vh,60px);border-top:1px solid var(--line);padding-top:clamp(34px,5.5vh,58px);}
.faq-hd{font-family:var(--disp);font-weight:400;font-size:clamp(1.7rem,3vw,2.4rem);text-transform:uppercase;line-height:1;margin:0 0 22px;}
.qa{border-top:1px solid var(--line);padding:19px 0;}
.qa summary{cursor:pointer;list-style:none;display:flex;gap:16px;align-items:baseline;font-size:16px;font-weight:500;color:var(--ink);line-height:1.5;}
.qa summary::-webkit-details-marker{display: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 .a{margin:12px 0 0 33px;font-size:15px;color:var(--ink-soft);line-height:1.75;}
@media(max-width:600px){.qa .a{margin-left:0;}}

/* ---------- footer email signup ---------- */
.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;}

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

.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-mark-ring{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;border:1.5px solid var(--lav);flex:0 0 auto;background:rgba(180,156,224,0.06);}
.foot-mark-ring .foot-mark{height:38px;width:38px;}
.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,5vw,4.2rem);line-height:0.96;text-transform:uppercase;max-width:15ch;}
.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{right:auto;left:0;-webkit-mask-image:linear-gradient(270deg,transparent 0%,#000 55%);mask-image:linear-gradient(270deg,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-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;}
 .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,.cta-band h2,.about-h1{font-size:clamp(1.9rem,9vw,2.8rem);}
 .case-name{font-size:clamp(1.25rem,5.2vw,1.6rem);}
 .sec-ref{display:none;}
 .to-top{bottom:16px;right:16px;}
}
@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);}
}


.wz-stops{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);}
.wz-stop{position:relative;padding-top:22px;}
.wz-code{font-size:10.5px;letter-spacing:0.2em;color:var(--lav);font-weight:700;text-transform:uppercase;margin-bottom:8px;display:block;}
.wz-card{background:rgba(237,234,227,0.02);padding:26px 24px;height:100%;}
.wz-card h4{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.wz-card p{font-size:14.5px;color:var(--ink-soft);line-height:1.75;}
.wz-sig .wz-card{background:linear-gradient(180deg,rgba(142,114,198,0.13),rgba(142,114,198,0.03));}
@media(max-width:980px){.wz-stops{grid-template-columns:1fr 1fr;}.wz-stop{padding-top:16px;}}
@media(max-width:600px){.wz-stops{grid-template-columns:1fr;}}

.bx-row{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:16px 0;align-items:baseline;}
.bx-lab{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted-on-dark);font-weight:600;line-height:1.7;}
.bx-names{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;column-gap:26px;row-gap:4px;font-size:13px;color:var(--ink);line-height:1.9;letter-spacing:0.06em;text-transform:uppercase;}
.bx-names li{white-space:nowrap;}
@media(max-width:800px){.bx-row{grid-template-columns:1fr;gap:8px;}}

.paper .ways-glabel{color:var(--muted-dark);margin-top:clamp(40px,6vh,60px);}
.paper .wz-card{background:rgba(26,23,20,0.045);}
.paper .wz-card h4{color:var(--ink-dark);}
.paper .wz-card p{color:#4a443b;}
.paper .wz-code{color:var(--blue-d);}
.paper .wz-sig .wz-card{background:linear-gradient(180deg,rgba(107,79,166,0.16),rgba(107,79,166,0.05));}

/* 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;}
}

.odf-recv{font-size:13px;color:var(--muted-dark);line-height:1.6;max-width:34ch;margin-top:10px;}
.odf-recv b{color:var(--blue-d);font-weight:700;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;}

.exp-intro{font-size:14px;color:var(--ink-soft);max-width:62ch;margin:-18px 0 34px;line-height:1.7;}

/* proof band */
.proof-band{padding:15px var(--mx);background:#141311;text-align:center;}
.pb-line{font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);line-height:2;text-wrap:balance;margin:0;}
.pb-i{white-space:nowrap;}
.pb-sep{color:var(--blue-d);margin:0 clamp(10px,1.6vw,22px);}
.pb-i b{color:var(--lav);font-weight:700;}
@media(max-width:760px){.proof-band{text-align:left;}.pb-line{display:flex;flex-direction:column;gap:6px;}.pb-i{white-space:normal;}.pb-sep{display:none;}}

.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);}

/* Deep link styles for index.html service cards */
.wz-card-link {
  display: inline-block;
  margin-top: 16px;
  font-size: 13px;
  text-decoration: none;
  color: #B49CE0;
  font-weight: 600;
  transition: opacity 0.2s ease;
}
.wz-card-link:hover { opacity: 0.8; }

/* Recommended: darker accent for links on light paper cards (contrast) */
.paper .wz-card-link { color: var(--blue-d); }

/* ===== Mobile clarity pass (no desktop changes) ===== */

@media(max-width:760px){
  /* Tighter vertical rhythm */
  .sec{padding-top:40px;padding-bottom:40px;}
  .stmt{padding-top:44px;padding-bottom:44px;}

  /* Founder portrait: shorter on phones */
  .fig img{max-height:300px;object-fit:cover;object-position:center 22%;}

  .paper .ways-glabel{margin-top:6px;}

}

/* Brand index: no truncation, always shown in full */
/* With the method trio retired, the offers label sits directly under the section head on desktop too */
.paper .ways-glabel{margin-top:6px;}

/* Hero: ownership headline sizing */
.hero h1.h1-own{font-size:clamp(2.5rem,6.9vw,5.5rem);}

/* Mobile: audience section as a compact ledger */
@media(max-width:760px){
  .who-fig{display:none;}
  .who-cell{padding:14px 0;border-top:1px solid var(--line);}
  .who-cell h4,.who-cell h3,.who-cell h2{font-size:1.05rem;margin-bottom:4px;}
  .who-cell p{font-size:13px;line-height:1.55;}
}

/* Footer: functional title block */
.cell .v a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--blue-d);transition:.3s;}
.cell .v a:hover{color:var(--ink);}
.title-block .cell{min-width:0;}
.cell .v{overflow-wrap:anywhere;}

/* Field notes page */
.fn-hero{padding:clamp(150px,18vh,200px) var(--mx) clamp(40px,6vh,60px);}
.fn-hero h1{font-family:var(--disp);font-weight:400;font-size:clamp(2.6rem,7vw,5.4rem);line-height:0.95;text-transform:uppercase;}
.fn-intro{color:var(--ink-soft);max-width:58ch;margin-top:22px;font-size:16px;}
.fn-subscribe{margin-top:28px;max-width:420px;}
.fn-subscribe-label{display:block;font-size:12.5px;color:var(--ink-soft);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);}
.fn-list{padding:0 var(--mx) clamp(60px,9vh,100px);max-width:820px;}
.fn-list .note h2 a{color:inherit;text-decoration:none;}
.fn-list .note h2 a:hover{text-decoration:underline;}
.fn-back-link{display:inline-flex;align-items:center;gap:7px;color:var(--lav);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(180,156,224,0.5);transition:.25s;}
.fn-back-link:hover{color:var(--blue);text-decoration-color:var(--blue);}
.fn-back-link .fn-back-arrow{transition:transform .25s;}
.fn-back-link:hover .fn-back-arrow{transform:translateX(-3px);}
.note{border-top:1px solid var(--line);padding:clamp(34px,5vh,52px) 0;}
.note-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted-on-dark);font-weight:600;margin-bottom:14px;}
.note-meta .nm-date{color:var(--ink-faint);}
.note h2{font-family:var(--disp);font-weight:400;font-size:clamp(1.5rem,3.4vw,2.3rem);line-height:1.05;text-transform:uppercase;margin-bottom:16px;}
.note p{color:var(--ink-soft);font-size:15.5px;line-height:1.85;max-width:62ch;margin-bottom:14px;}
.note p b{color:var(--ink);font-weight:600;}
.note-cta{font-size:13px;color:var(--ink-soft);}
.note-cta a{color:var(--lav);text-decoration:underline;text-underline-offset:3px;}

/* Audience section: ledger treatment on all screen sizes */
.who-plate{grid-template-columns:1fr;}
.who-fig{display:none;}
.who-cell{border-left:none;border-top:1px solid var(--line);padding:16px 0;display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:12px 36px;align-items:baseline;}
.who-cell:first-child{border-top:none;}
.who-cell h4,.who-cell h3,.who-cell h2{font-size:1.15rem;margin-bottom:0;}
.who-cell p{font-size:14px;line-height:1.65;max-width:64ch;}
@media(max-width:760px){
  .who-cell{grid-template-columns:1fr;gap:2px;padding:14px 0;}
  .who-cell h4,.who-cell h3,.who-cell h2{font-size:1.05rem;}
  .who-cell p{font-size:13px;line-height:1.55;}
  /* Related field note links carry inline grid-column:2 for the desktop 2-column ledger. On mobile that created a phantom second column that squeezed the service name and gave each description a different indent. Pin them to the single column. (2026-09-25) */
  .who-cell .case-note-link{grid-column:1 !important;}
}

/* ---------- footer v2: mark panel (2026-07-20) ---------- */
.mk-ic{display:block;margin-bottom:8px;opacity:0.92;}
.title-block.mk-tb .cell:nth-child(n){border-top:1px solid var(--line);border-right:1px solid var(--line);}
.title-block.mk-tb .cell:nth-child(n):first-child{grid-column:1/-1;border-top:none;border-right:none;}
.title-block.mk-tb .cell:nth-child(n):last-child{border-right:none;}
@media(max-width:600px){
.title-block.mk-tb{grid-template-columns:repeat(3,1fr);}
.title-block.mk-tb .cell:nth-child(n){padding:12px 10px;}
.title-block.mk-tb .cell.mkh:nth-child(n){padding:13px 14px;}
}

/* ---------- section 04: ways to work together (engage2, 2026-07-20) ---------- */
.engage2{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,90px);align-items:start;}
.engage2-hd{font-family:var(--disp);font-weight:400;font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.05;text-transform:uppercase;color:var(--ink-dark);}
.engage2-r p{color:#4a443b;font-size:15px;line-height:1.8;max-width:58ch;}
.engage-cta{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:26px;}
.paper .btn-text{color:#4a443b;border-bottom-color:var(--blue-d);}
.paper .btn-text:hover{color:var(--ink-dark);border-color:var(--blue-d);}
.case-label-first{margin-top:26px;font-family:var(--disp);font-weight:400;font-size:clamp(1.6rem,3.2vw,2.3rem);letter-spacing:0.02em;color:var(--ink);position:relative;padding-left:20px;}
.case-label-first::before{content:"";position:absolute;left:0;top:0.35em;width:3px;height:0.75em;background:var(--blue);}
.hero-strip .hs-parent{color:rgba(237,234,227,0.85);font-weight:600;letter-spacing:inherit;}
@media(max-width:860px){.engage2{grid-template-columns:1fr;gap:18px;}}

/* ---------- 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);}
#who{padding-top:clamp(44px,6.5vh,68px);}
.hero-strip{margin-top:clamp(22px,4vh,40px);}
.case-label{margin-top:clamp(30px,4.2vh,46px);}
.fn-hero{padding-top:clamp(112px,14vh,148px);padding-bottom:clamp(26px,4vh,42px);}
.fn-list{padding-bottom:clamp(38px,5.5vh,60px);}
.note{padding-top:clamp(24px,3.4vh,38px);padding-bottom:clamp(24px,3.4vh,38px);}

/* CTA visibility fix on paper sections (her flag 2026-07-20) */
.paper .btn-fill{background:var(--ink-dark);color:var(--paper);border-color:var(--ink-dark);}
.paper .btn-fill:hover{background:var(--blue-d);color:#fff;border-color:var(--blue-d);}

/* mobile hero: let the proof band peek (her pick 2026-07-20) */
@media(max-width:760px){.hero{min-height:84vh;}}

/* hero: kicker + headline + tagline stacked left, button right (her pick 2026-07-24) */
.hero-cs-link{display:inline-block;margin-top:20px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--lav);text-decoration:none;}
.hero-l{display:flex;flex-direction:column;}
.hero-kicker{font-size:13px;letter-spacing:0.14em;text-transform:uppercase;font-weight:700;color:var(--lav);margin-bottom:12px;}
.hero-line2{font-family:'Space Grotesk',var(--sans);font-weight:500;font-size:14px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-soft);margin-top:18px;border-bottom:1px solid var(--lav);display:inline-block;align-self:flex-start;width:fit-content;padding-bottom:6px;text-shadow:0 1px 12px rgba(0,0,0,0.6);}
.hero-tagline-sm{margin-top:8px;font-size:15px;letter-spacing:0.015em;line-height:1.55;color:rgba(237,234,227,0.85);text-shadow:0 1px 12px rgba(0,0,0,0.6);}
/* blueprint grid returns: cream band (her pick 2026-07-20) */
#value{position:relative;overflow:hidden;}
#value::before{content:"";position:absolute;inset:0 0 0 52%;background-image:linear-gradient(rgba(107,79,166,0.12) 1px,transparent 1px),linear-gradient(90deg,rgba(107,79,166,0.12) 1px,transparent 1px);background-size:38px 38px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%);pointer-events:none;}
#value>*{position:relative;}

/* ---------- 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;}
.case-note-link{margin-top:16px;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;}
.case-note-link a{color:var(--lav);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(142,114,198,0.55);font-weight:500;}
.case-note-link a:hover{color:var(--blue);}

@media(max-width:600px){.mark-idx-row{flex-direction:column;gap:18px;}}

.exp-lead{color:var(--ink-soft);font-size:15.5px;line-height:1.9;margin:18px 0 28px;max-width:62ch;}

/* 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;}

/* 2026-09-24 accessibility: index section titles are h2 and who-cells are h3 (heading order); keep the original look */
h2.sec-title{margin:0;line-height:inherit;}
.who-cell h3,.who-cell h2{margin-top:0;}

/* Homepage: hide the floating Book a Call pill while the hero's own Project Fit Call button is on screen; it fades in once that button scrolls away (approved 2026-10-01). The open mobile menu still shows the pill (2026-09-25 rule). */
.cal-float{transition:background .3s,color .3s,opacity .3s,visibility .3s;}
body.hero-cta-in-view .cal-float{opacity:0;visibility:hidden;pointer-events:none;}
body.hero-cta-in-view:has(nav.menu-open) .cal-float{opacity:1;visibility:visible;pointer-events:auto;}
@media(prefers-reduced-motion:reduce){.cal-float{transition:none;}}

/* 2026-10-07 accessibility: Who We Help heading order. Section titles are h2, who-cells h3, case-study labels h3; keep the original look */
.case-blk h3{position:relative;font-family:var(--sans);font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--lav);font-weight:700;line-height:inherit;padding-top:14px;margin:0 0 10px;}
.case-blk h3::before{content:"";position:absolute;top:0;left:0;width:24px;height:2px;background:var(--blue);}

/* 
  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;}
}

/* Floating corner tools (Addie, 2026-10-08):
   - Brevo chat button stacked directly above the Book a Call pill, right edges aligned, 12px gap.
     Button is 48px on phones and 56px on desktop (BrevoConversationsSetup.buttonSize in js/consent-init.js).
     Phones: pill is 22px in, 22px up, 48.5px tall. Desktop 1000px+: pill at var(--mx), 32px up, 51px tall.
   - Back-to-top arrow: no box, lavender arrow only, on the Book a Call line. Phones: the arrow lines up
     with the 22px text edge, mirroring Book a Call on the right. Desktop: centered in the empty left margin (replaces the boxed arrow that stacked on the right).
   - Collapsed chat button only; the open chat window keeps Brevo's own placement.
     !important because Brevo injects its own stylesheet after ours. */
.brevo-conversations:not(.brevo-conversations--expanded){right:22px!important;bottom:82px!important;left:auto!important;top:auto!important;}
.to-top,.to-top:hover{border:none!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.to-top{left:13px!important;right:auto!important;bottom:24px!important;width:32px!important;height:44px!important;color:#B49CE0!important;font-size:24px!important;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,0.35);}
.to-top:hover,.to-top:focus-visible{color:#ECE7DD!important;}
/* Arrow drawn as a medium-weight line icon (Addie chose weight B, 2026-10-09). The text arrow in the HTML is hidden;
   the icon takes the button's lavender color, and parchment on hover. 22px phones, 26px desktop. */
.to-top{font-size:0!important;text-shadow:none!important;}
.to-top::before{content:'';display:block;width:22px;height:22px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20V4M5 11l7-7 7 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20V4M5 11l7-7 7 7'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 1px 4px rgba(0,0,0,0.35));}
@media(min-width:1000px){.to-top::before{width:26px;height:26px;}}
/* On light (parchment) sections js/site.js adds .to-top--on-light: deep violet arrow, ink on hover. */
.to-top.to-top--on-light{color:#6B4FA6!important;}
.to-top.to-top--on-light:hover,.to-top.to-top--on-light:focus-visible{color:#1A1714!important;}
.to-top.to-top--on-light::before{filter:none;}
@media(min-width:1000px){
  .brevo-conversations:not(.brevo-conversations--expanded){right:var(--mx)!important;bottom:95px!important;}
  .to-top{left:calc(var(--mx) / 2 - 22px)!important;bottom:35px!important;width:44px!important;height:44px!important;}
}
/* Pages with no Book a Call pill (booked and thank-you pages): chat drops into the pill's spot. */
body:not(:has(.cal-float)) .brevo-conversations:not(.brevo-conversations--expanded){bottom:22px!important;}
@media(min-width:1000px){body:not(:has(.cal-float)) .brevo-conversations:not(.brevo-conversations--expanded){bottom:30px!important;}}
/* Homepage: hide the chat button while the hero's own Project Fit Call CTA is on screen,
   same as the Book a Call pill (body.hero-cta-in-view is toggled by js/site.js). */
body.hero-cta-in-view .brevo-conversations:not(.brevo-conversations--expanded){opacity:0!important;visibility:hidden!important;pointer-events:none!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;}


