/* GENERATED by build-css.sh from: contact.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;--line:rgba(237,234,227,0.13);--line-d:rgba(26,23,20,0.14);--blue:#8E72C6;--blue-d:#6B4FA6;--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.85;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
::selection{background:var(--ink);color:var(--bg);}
.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");}
a{color:inherit;text-decoration:none;}
.eyebrow{font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:#A29A8E;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;}
.kicker .ln{position:relative;}
.kicker .ln::before,.kicker .ln::after{content:"";position:absolute;top:-4px;width:1px;height:9px;background:var(--blue-d);}
.kicker .ln::before{left:0;}
.kicker .ln::after{right:0;}
.schematic{width:100%;height:auto;display:block;margin:6px 0 54px;}
.sch-box{fill:none;stroke:rgba(237,234,227,0.45);stroke-width:1;}
.sch-line{stroke:rgba(237,234,227,0.45);stroke-width:1;}
.sch-faint{stroke:rgba(237,234,227,0.26);stroke-width:1;}
.sch-num{fill:var(--ink);font-family:var(--disp);}
.sch-t{fill:var(--ink);font-family:var(--sans);font-size:14px;letter-spacing:0.02em;}
.sch-s{fill:var(--ink-faint);font-family:var(--sans);font-size:10.5px;letter-spacing:0.16em;}
.title-block{margin-top:46px;border:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);max-width:560px;}
.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;}
@media(max-width:600px){.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);}}
.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;}
.btn-text:hover{color:var(--ink);}
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);}
.wm-logo{height:34px;width:auto;display:block;}
.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);}
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:160px var(--mx) 9vh;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%;}
.hero h1{font-family:var(--disp);font-weight:400;font-size:clamp(3rem,10.5vw,8.4rem);line-height:0.92;text-transform:uppercase;}
.hero-tag{margin-top:30px;max-width:46ch;font-size:17px;color:var(--ink);line-height:1.6;text-shadow:0 1px 14px rgba(0,0,0,0.55);}
.hero-sub{margin-top:16px;max-width:54ch;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:38px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;}
.page-head{padding:132px var(--mx) 0;}
.about-h1{font-family:var(--disp);font-weight:400;font-size:clamp(1.9rem,4.4vw,3.4rem);line-height:1.0;text-transform:uppercase;max-width:22ch;}
.about-sub{margin-top:22px;max-width:52ch;color:var(--ink-soft);font-size:16px;line-height:1.65;}
.page-head p{margin-top:26px;max-width:60ch;color:var(--ink-soft);font-size:17px;}
section{padding:5vh 0;}
.wrap{padding-left:var(--mx);padding-right:var(--mx);}
.kicker{display:flex;align-items:center;gap:18px;margin-bottom:50px;}
.kicker .eyebrow{white-space:nowrap;}
.kicker .ln{height:1px;background:var(--line);flex:1;}
.lead{max-width:60ch;color:var(--ink-soft);font-size:16px;line-height:1.9;margin-bottom:48px;}
.exp-sub{font-family:var(--disp);font-weight:400;font-size:1.4rem;text-transform:uppercase;letter-spacing:0.01em;color:var(--ink);margin:0 0 26px;}
.bigstmt{font-family:var(--disp);font-weight:400;font-size:clamp(2.4rem,5vw,4.6rem);line-height:0.95;text-transform:uppercase;max-width:18ch;}
.mark-hd{font-family:var(--disp);font-weight:400;font-size:clamp(1.8rem,3.4vw,2.8rem);text-transform:uppercase;line-height:1;margin-bottom:14px;}
.mark-intro{color:var(--ink-soft);font-size:15px;max-width:56ch;margin-bottom:36px;}
.mark-tri{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:34px;}
.mk-k{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:#B49CE0;font-weight:600;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:14px;}
.mk-icon{width:26px;height:auto;opacity:0.9;}
.mk-line{font-size:15px;font-weight:500;color:var(--ink);margin-bottom:7px;line-height:1.3;}
.mk-v{color:var(--ink-soft);font-size:14px;line-height:1.6;}
.mk-stage{position:relative;max-width:720px;height:330px;margin:6px auto 0;}
.mk-cent{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;z-index:3;}
.mk-ann{position:absolute;width:196px;z-index:3;}
.mk-ann.a{top:20px;left:0;text-align:left;}
.mk-ann.b{bottom:20px;left:0;text-align:left;}
.mk-ann.c{top:50%;right:0;transform:translateY(-50%);text-align:right;}
.mk-ann .mk-k{display:block;border-bottom:none;padding-bottom:0;margin-bottom:5px;}
.mk-leaders{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible;}
.mk-leaders line{stroke:var(--blue-d);stroke-width:1;}
.mk-leaders circle{fill:#B49CE0;}
.mk-plate{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:230px;height:230px;border:1px solid var(--line);z-index:1;}
.mkc{position:absolute;width:8px;height:8px;}
.mkc.tl{top:-1px;left:-1px;border-left:1px solid var(--blue-d);border-top:1px solid var(--blue-d);}
.mkc.tr{top:-1px;right:-1px;border-right:1px solid var(--blue-d);border-top:1px solid var(--blue-d);}
.mkc.bl{bottom:-1px;left:-1px;border-left:1px solid var(--blue-d);border-bottom:1px solid var(--blue-d);}
.mkc.br{bottom:-1px;right:-1px;border-right:1px solid var(--blue-d);border-bottom:1px solid var(--blue-d);}
@media(max-width:820px){.mk-stage{height:auto;}.mk-leaders,.mk-plate{display:none;}.mk-cent{position:static;transform:none;margin:0 auto 26px;display:block;}.mk-ann{position:static!important;transform:none!important;width:auto;text-align:left!important;margin-bottom:18px;}}
.mark-closer{font-weight:500;font-size:clamp(1.05rem,1.7vw,1.3rem);color:var(--ink);border-left:2px solid var(--blue-d);padding-left:18px;max-width:44ch;}
.phil-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,80px);align-items:start;}
.phil-grid p{color:var(--ink-soft);font-size:16px;line-height:1.9;margin-bottom:26px;max-width:50ch;}
.phil-pull{font-family:var(--disp);font-weight:400;font-size:clamp(1.6rem,2.6vw,2.4rem);text-transform:uppercase;line-height:1.05;color:var(--ink);margin-top:10px;}
.build-list{list-style:none;margin:4px 0 0;}
.build-list li{position:relative;padding-left:22px;color:var(--ink-soft);font-size:15px;line-height:1.6;margin-bottom:14px;max-width:52ch;}
.build-list li:before{content:"";position:absolute;left:0;top:11px;width:10px;height:1px;background:var(--blue-d);}
.founder{display:grid;grid-template-columns:0.82fr 1.18fr;gap:clamp(34px,5vw,80px);align-items:center;}
.fr-portrait{position:relative;overflow:hidden;}
.fr-portrait img{width:100%;height:auto;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(0.92);display:block;}
.fr-vert{position:absolute;left:-46px;top:50%;transform:rotate(-90deg);transform-origin:center;font-size:10.5px;letter-spacing:0.3em;text-transform:uppercase;color:var(--ink-faint);}
.fr-name{font-family:var(--disp);font-weight:400;font-size:clamp(2rem,3.6vw,3.2rem);text-transform:uppercase;line-height:0.98;margin-bottom:6px;}
.fr-credit{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:20px 0 36px;}
.fr-credit::before{content:"";width:28px;height:2px;background:var(--blue);margin-bottom:12px;}
.fr-person{font-family:var(--sans);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 p{color:var(--ink-soft);font-size:15.5px;line-height:1.9;margin-bottom:24px;max-width:58ch;}
.founder .sign{font-family:var(--disp);text-transform:none;font-size:1.5rem;color:var(--ink);line-height:1;margin-top:18px;}
.fr-link{margin-top:8px;display:inline-block;border-bottom:1px solid var(--blue-d);padding-bottom:4px;}
.contact-links a:hover{border-color:var(--blue);}
.btn-text:hover{color:var(--blue);}
.be-group{margin-bottom:34px;}
.be-group h4{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink);margin-bottom:12px;}
.be-names{color:var(--ink-soft);font-size:15px;line-height:1.9;max-width:90ch;}
.mod-caption{font-size:11.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-faint);margin:-8px 0 34px;}
.arch-band{padding:2px 0 30px;margin-bottom:40px;border-bottom:1px solid var(--line);}
.arch-hd{font-family:var(--disp);font-weight:400;font-size:clamp(1.5rem,2.8vw,2.1rem);text-transform:uppercase;line-height:1;margin-top:6px;}
.arch-cap{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;color:var(--ink-soft);margin-top:16px;}
.arch-cap b{color:var(--ink);font-weight:600;}
.value-grid{display:grid;grid-template-columns:1fr;gap:0;}
.value-card{display:grid;grid-template-columns:auto minmax(0,0.58fr) minmax(0,1.42fr);gap:clamp(20px,3vw,44px);align-items:baseline;padding:26px 0;border-top:1px solid var(--line);}
.value-card:first-child{border-top:none;}
.vc-num{font-family:var(--disp);font-weight:400;font-size:1.7rem;color:var(--blue-d);line-height:0.8;}
.value-card .vc-name{font-size:1.35rem;margin-bottom:0;}
.vc-line{font-size:14.5px;color:var(--ink-soft);line-height:1.55;}
@media(max-width:820px){.value-card{grid-template-columns:auto 1fr;gap:8px 16px;}.vc-line{grid-column:1 / -1;}}
.arch-div{height:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.arch-foot{height:clamp(180px,24vh,300px);border-top:1px solid var(--line);margin-top:6px;}
.vc-name{font-family:var(--disp);font-weight:400;font-size:1.5rem;text-transform:uppercase;line-height:1;margin-bottom:10px;}
.vc-head{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:12px;}
.vc-desc{color:var(--ink-soft);font-size:14px;line-height:1.7;margin-bottom:18px;max-width:66ch;}
.vc-gain{display:none;}
.value-card ul{list-style:none;}
.value-card li{font-size:13.5px;color:var(--ink-soft);padding:5px 0 5px 16px;position:relative;}
.value-card li:before{content:"";position:absolute;left:0;top:13px;width:7px;height:1px;background:var(--blue-d);}
.case{border-top: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:34px 0;transition:opacity .2s;}
details.case summary:hover{opacity:0.78;}
details.case summary::-webkit-details-marker{display:none;}
.case-cue{display:flex;align-items:center;gap:14px;flex:0 0 auto;}
.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-family:var(--sans);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;}
@media(max-width:600px){.case-cue-t{display:none;}}
.case-l .tag{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin-bottom:12px;}
.case-name{font-family:var(--disp);font-weight:400;font-size:clamp(1.7rem,3.2vw,2.6rem);text-transform:uppercase;line-height:0.95;}
.case-sub{font-size:15px;color:var(--ink-soft);margin-top:10px;max-width:46ch;}
.case-result{font-size:13px;color:var(--ink-soft);margin-top:12px;}
.case-result::before{content:"Result";font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:#B49CE0;font-weight:600;margin-right:10px;}
.case-body{padding:6px 0 46px;}
.case-plate{position:relative;border:1px solid var(--line);padding:38px clamp(22px,3vw,40px);isolation:isolate;overflow:hidden;}
.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;}
.cc{position:absolute;width:9px;height:9px;}
.cc.tl{top:-1px;left:-1px;border-left:1px solid var(--blue-d);border-top:1px solid var(--blue-d);}
.cc.tr{top:-1px;right:-1px;border-right:1px solid var(--blue-d);border-top:1px solid var(--blue-d);}
.cc.bl{bottom:-1px;left:-1px;border-left:1px solid var(--blue-d);border-bottom:1px solid var(--blue-d);}
.cc.br{bottom:-1px;right:-1px;border-right:1px solid var(--blue-d);border-bottom:1px solid var(--blue-d);}
.case-blk-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 48px;}
@media(max-width:760px){.case-blk-grid{grid-template-columns:1fr;gap:26px;}}
.case-blk{margin-bottom:22px;}
.case-blk h5{position:relative;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#B49CE0;font-weight:700;padding-top:14px;margin-bottom:11px;}
.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.85;margin-bottom:12px;max-width:58ch;}
.seeing{background:var(--paper);color:var(--ink-dark);}
.seeing .kicker .eyebrow{color:var(--muted-dark);}
.seeing .kicker .ln{background:var(--line-d);}
.see-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.see-item{border-top:1px solid var(--line-d);padding-top:20px;}
.see-item h4{font-size:18px;font-weight:500;color:var(--ink-dark);line-height:1.25;margin-bottom:14px;}
.see-item p{font-size:15px;color:#4a443b;line-height:1.8;}
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:40px;}
.who-card{border:1px solid var(--line);padding:30px 26px;}
.who-card h4{font-family:var(--disp);font-weight:400;font-size:1.5rem;text-transform:uppercase;line-height:1;margin-bottom:14px;}
.who-card p{color:var(--ink-soft);font-size:14.5px;line-height:1.8;}
.ind-label{font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin-bottom:16px;}
.ind-tags{display:flex;flex-wrap:wrap;gap:8px;max-width:80ch;}
.ind-tags span{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line);padding:7px 13px;white-space:nowrap;}
.focus-groups{max-width:60ch;}
.fg{display:flex;gap:18px;padding:11px 0;border-top:1px solid var(--line);align-items:baseline;}
.fg:first-child{border-top:none;}
.fg-k{flex:0 0 92px;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);font-weight:600;}
.fg-v{font-size:13px;color:var(--ink-soft);line-height:1.5;}
.who-lead{color:var(--ink-soft);font-size:16px;line-height:1.7;max-width:60ch;margin-bottom:38px;}
.who-focus-label{margin-top:44px;}
.focus4{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.fcol{border-top:1px solid var(--blue-d);padding-top:13px;}
.fk{display:block;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);font-weight:600;margin-bottom:6px;}
.fv{font-size:12.5px;color:var(--ink-soft);line-height:1.45;}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-top:2px;}
.pillar{padding:24px 24px;border-right:1px solid var(--line);}
.pillar:last-child{border-right:none;}
.pillar .fk{margin-bottom:7px;}
@media(max-width:820px){.pillars{grid-template-columns:1fr 1fr;}.pillar:nth-child(2n){border-right:none;}.pillar:nth-child(-n+2){border-bottom:1px solid var(--line);}}
.who-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-top:34px;padding:34px 20px;position:relative;isolation:isolate;overflow:hidden;}
.who-cta::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(142,114,198,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(142,114,198,0.06) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 60%);mask-image:linear-gradient(180deg,transparent 0%,#000 60%);pointer-events:none;}
.who-cta-t{font-size:15px;color:var(--ink);font-weight:500;max-width:56ch;}
@media(max-width:820px){.focus4{grid-template-columns:1fr 1fr;}}
.wwm-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;}
.wwm-card{border:1px solid var(--line);padding:34px 32px;background:rgba(237,234,227,0.015);display:flex;flex-direction:column;}
.wwm-card h4{font-size:19px;font-weight:500;color:var(--ink);margin-bottom:12px;}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.step{background:var(--bg);padding:32px 30px;}
.steps .step:first-child{padding-left:0;}
.steps-v{border-top:1px solid var(--line);}
.step-v{padding:18px 0;border-bottom:1px solid var(--line);}
.step-v:last-child{border-bottom:none;}
.ways-intro{color:var(--ink-soft);font-size:16px;line-height:1.75;max-width:62ch;margin-bottom:46px;}
.ways-grp{margin-bottom:0;}
.ways-glabel{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;margin-bottom:6px;}
.ways-item{padding:22px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:0.42fr 1fr;gap:28px;align-items:baseline;}
.ways-item:first-of-type{border-top:none;}
.ways-item h4{font-size:17px;font-weight:600;color:var(--ink);}
.ways-item p{font-size:14px;color:var(--ink-soft);line-height:1.55;max-width:52ch;}
.ways-feat h4{font-size:19px;color:#B49CE0;}
.ways-sig-sub{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;margin-top:8px;}
.ways-feat-body p{font-size:14.5px;line-height:1.75;max-width:56ch;}
.ways-feat-body .build-list{margin-top:16px;}
.ways-feat-body .build-list li{font-size:13.5px;margin-bottom:9px;}
.ways-plate{position:relative;border:1px solid var(--line);padding:38px clamp(24px,3vw,40px);margin-top:6px;isolation:isolate;overflow:hidden;}
.ways-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 14%,transparent 48%);mask-image:linear-gradient(180deg,#000 0%,#000 14%,transparent 48%);pointer-events:none;}
.ways-plate-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,60px);align-items:start;margin-top:20px;}
.ways-plate-desc{color:var(--ink-soft);font-size:14.5px;line-height:1.8;max-width:50ch;}
@media(max-width:820px){.ways-plate-cols{grid-template-columns:1fr;gap:20px;}}
.sig-tag{display:inline-block;font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;color:#B49CE0;border:1px solid var(--blue-d);border-radius:999px;padding:4px 12px;margin-bottom:16px;font-weight:600;}
.ways-flag-hd{font-family:var(--disp);font-weight:400;font-size:clamp(1.7rem,3vw,2.3rem);text-transform:uppercase;line-height:1;}
.ways-flag p{color:var(--ink-soft);font-size:14.5px;line-height:1.75;max-width:58ch;margin-top:12px;}
@media(max-width:760px){.ways-item{grid-template-columns:1fr;gap:5px;}}
.step-v h4{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:4px;}
.step-v p{font-size:14px;color:var(--ink-soft);line-height:1.5;}
.step h4{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:5px;}
.step p{font-size:13.5px;color:var(--ink-soft);line-height:1.5;max-width:30ch;}
.wwm-card p{color:var(--ink-soft);font-size:14.5px;line-height:1.8;}
.wwm-card ul{list-style:none;margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;}
.wwm-card li{font-size:13.5px;color:var(--ink-soft);padding-left:16px;position:relative;}
.wwm-card li:before{content:"•";position:absolute;left:0;color:var(--ink-faint);}
@media(max-width:600px){.wwm-card ul{grid-template-columns:1fr;}}
.topic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.topic-card{border:1px solid var(--line);padding:34px 30px;background:rgba(237,234,227,0.015);}
.topic-card h4{font-family:var(--disp);font-weight:400;font-size:1.6rem;text-transform:uppercase;line-height:1;margin-bottom:14px;}
.topic-card p{color:var(--ink-soft);font-size:14.5px;}
.contact{border-top:1px solid var(--line);}
.contact h1,.contact h2{font-family:var(--disp);font-weight:400;font-size:clamp(2.8rem,6.5vw,6rem);line-height:0.9;text-transform:uppercase;max-width:13ch;}
.contact-intro{margin:28px 0 36px;max-width:66ch;color:var(--ink-soft);font-size:16px;text-wrap:balance;}
.contact-cta{margin-bottom:0;}
.secondary-lead{border-top:1px solid var(--line);padding-top:50px;margin:60px 0 36px;}
.secondary-lead h3{font-size:13px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink);margin-bottom:12px;}
.secondary-lead p{color:var(--ink-soft);font-size:15px;max-width:50ch;}
.contact-shell{max-width:760px;}
.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:8px 0 64px;}
.opt-card{border:1px solid var(--line);padding:34px 32px;background:rgba(237,234,227,0.015);display:flex;flex-direction:column;align-items:flex-start;}
.opt-card.primary{border-color:var(--blue-d);}
.opt-tag{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--blue);margin-bottom:14px;}
.opt-card h3{font-size:20px;font-weight:500;color:var(--ink);margin-bottom:12px;}
.opt-card p{color:var(--ink-soft);font-size:15px;line-height:1.6;margin-bottom:24px;flex:1;}
.form-block{border-top:1px solid var(--line);padding-top:38px;}
.form-heading{font-size:13px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink);margin-bottom:10px;}
.form-sub{color:var(--ink-soft);font-size:15px;margin-bottom:30px;max-width:none;}
.form-statement{margin-top:30px;color:var(--ink-faint);font-size:13.5px;line-height:1.7;max-width:60ch;}
.cta-band{text-align:center;padding:clamp(64px,9vh,104px) var(--mx);border-top:1px solid var(--line);}
.cta-band h2{font-family:var(--disp);font-weight:400;font-size:clamp(2.4rem,5vw,4.4rem);text-transform:uppercase;line-height:0.95;margin-bottom:24px;}
.cta-band p{color:var(--ink-soft);font-size:16px;max-width:50ch;margin:0 auto 34px;}
.cta-eyebrow{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#A29A8E;font-weight:600;margin-bottom:20px;}
.contact-form{display:flex;flex-direction:column;gap:20px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-field{display:flex;flex-direction:column;gap:7px;}
.form-field label{font-size:11.5px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);}
.form-field label .req{color:var(--blue);font-weight:400;letter-spacing:0.03em;text-transform:none;}
.form-field label .opt{color:var(--ink-faint);font-weight:400;letter-spacing:0.03em;text-transform:none;}
.form-hint{font-size:13px;color:var(--ink-soft);margin-bottom:2px;}
.form-hint .req{color:var(--blue);font-weight:700;}
.form-field input,.form-field textarea,.form-field select{font-family:var(--sans);font-size:15px;padding:14px 16px;border:1px solid var(--line);background:rgba(237,234,227,0.035);color:var(--ink);outline:none;transition:border-color .2s;-webkit-appearance:none;appearance:none;}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--ink-soft);}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--ink-faint);}
.form-field textarea{resize:vertical;min-height:104px;}
.form-field select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23EDEAE3' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;}
.form-field select option{background:#15140F;color:var(--ink);}
.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin-top:4px;}
.form-field .checkbox-option{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:300;letter-spacing:normal;text-transform:none;color:var(--ink-soft);cursor:pointer;}
.form-field .checkbox-option input{appearance:none;-webkit-appearance:none;width:18px;height:18px;flex:0 0 auto;cursor:pointer;border:1px solid var(--line);background:transparent;transition:border-color .15s;}
.form-field .checkbox-option input:hover{border-color:var(--blue-d);}
.form-field .checkbox-option input:checked{border-color:var(--blue);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' preserveAspectRatio='none'%3E%3Cline x1='10' y1='0' x2='0' y2='10' stroke='%238E72C6' stroke-width='1.4'/%3E%3C/svg%3E");background-size:100% 100%;background-repeat:no-repeat;}
.btn-submit{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:16px 38px;background:var(--ink);color:var(--bg);font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;border:none;cursor:pointer;transition:.25s;}
.btn-submit:hover{background:var(--blue);color:#fff;transform:translateY(-1px);}
.form-note{font-size:12px;color:var(--ink-faint);line-height:1.5;}
.form-success{max-width:760px;border:1px solid var(--line);background:#141311;padding:clamp(36px,5vw,56px);text-align:center;}
.fs-check{width:52px;height:52px;margin:0 auto 22px;border:1px solid var(--blue-d);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;color:#B49CE0;}
.fs-hd{font-family:'Anton',sans-serif;font-size:clamp(26px,3.4vw,36px);letter-spacing:0.02em;text-transform:uppercase;color:var(--ink);margin-bottom:14px;}
.fs-body{color:var(--ink-soft);font-size:16px;line-height:1.7;max-width:46ch;margin:0 auto 12px;}
.fs-sub{color:var(--ink-faint);font-size:14px;margin:0;}
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;}

.foot-brand{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.foot-wm{display:block;font-family:var(--disp);font-size:2rem;text-transform:uppercase;letter-spacing:0.02em;}
.foot-mark{height:56px;width:56px;object-fit:contain;display:block;flex:0 0 auto;}
.foot-anchor{max-width:560px;margin-top:22px;}
.foot-logo{display:block;height:62px;width:auto;margin-left: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:64ch;margin-top:10px;}
.nav-toggle{display:block;position:relative;z-index:60;background:none;border:none;color:var(--ink);font-size:24px;line-height:1;cursor:pointer;padding:4px 6px;}
.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);}
@media(max-width:900px){.phil-grid,.founder,.value-grid,.see-grid,.who-grid,.wwm-grid,.topic-grid,.contact-options,.steps,.mark-tri{grid-template-columns:1fr;}.fr-vert{display:none;}.checkbox-grid{grid-template-columns:1fr;}.step{padding:22px 0;}}
@media(max-width:760px){
 .nav-actions{display:flex;}
 .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:84vh;}
 .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;}
 .page-head{padding-top:120px;}
 #contact{padding-top:120px!important;}
 .form-row{grid-template-columns:1fr;}
 .bigstmt,.fr-name,.case-name,.contact h1,.contact h2,.cta-band h2{font-size:clamp(1.9rem,9vw,2.8rem);}
 .wm-logo{height:30px;}
 .schematic{display:none;}
 .to-top{bottom:16px;right:16px;}
}
.btn-fill{position:relative;overflow:hidden;isolation:isolate;}.btn-arrow{position:relative;}.btn-fill .btn-arrow::after{content:"";position:absolute;z-index:-1;top:50%;left:100%;width:2.4em;height:2.4em;transform:translate(-42%,-50%) rotate(-58deg) scale(3.2);transform-origin:center;background:url("../images/mark.png") center / cover no-repeat;filter:brightness(0);opacity:0;transition:opacity .45s ease;pointer-events:none;}.btn-fill:hover .btn-arrow::after{opacity:0.4;}
footer{padding:clamp(50px,8vh,80px) var(--mx);}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);gap:clamp(36px,6vw,100px);align-items:start;}
.foot-wm{font-size:1.7rem;}
.foot-mark{height:46px;}
.foot-grid .title-block{margin-top:0;max-width:none;width:100%;}
@media(max-width:980px){.foot-grid{grid-template-columns:1fr;}.foot-grid .title-block{max-width:560px;}}

/* FAQ */
.faq-sec{border-top:1px solid var(--line);padding:clamp(44px,6vh,68px) var(--mx);}
.faq-eyebrow{margin-bottom:0;}
.faq-eyebrow::after{content:"";display:block;width:34px;height:2px;background:var(--blue-d);margin-top:10px;}
.faq-hd{font-family:var(--disp);font-weight:400;font-size:clamp(1.7rem,3vw,2.5rem);text-transform:uppercase;line-height:1;margin:18px 0 40px;}
.faq{max-width:78ch;}
.qa{border-top:1px solid var(--line);padding:26px 0;}
.qa .q{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 .q .n{font-family:var(--disp);font-weight:400;font-size:13px;color:var(--blue);letter-spacing:0.05em;flex:none;}
.qa .a{margin:12px 0 0 33px;font-size:14.5px;color:var(--ink-soft);line-height:1.75;max-width:66ch;}
@media(max-width:600px){.qa .a{margin-left:0;}}

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

/* booking band */
.book-band{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border:1px solid var(--blue-d);padding:26px 28px;margin:8px 0 46px;position:relative;isolation:isolate;overflow:hidden;}
.book-band::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(90deg,transparent 0%,#000 60%);mask-image:linear-gradient(90deg,transparent 0%,#000 60%);pointer-events:none;}
.book-hd{font-size:13px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink);margin-bottom:8px;}
.book-sub{color:var(--ink-soft);font-size:14.5px;max-width:52ch;line-height:1.6;}
.book-btn{flex:0 0 auto;}
@media(max-width:600px){.book-band{padding:22px 20px;}.book-btn{width:100%;justify-content:center;}}

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

/* Layout Stabilization for Contact Form Viewports (Replaces inline styles) */
.contact-hero-section {
  border-top: none !important;
  padding-top: clamp(120px, 12vh, 168px) !important;
}

/* Form Accessibility Resets */
fieldset.checkbox-fieldset { border: none; padding: 0; margin: 0; }
fieldset.checkbox-fieldset legend { font-weight: bold; margin-bottom: 8px; }

/* Highlight style for pre-selected form options via URL parameter */
.checkbox-option.is-preselected {
  border-color: #B49CE0;
  background: rgba(180, 156, 224, 0.05);
}

/* Recommended: legend matches existing label styling */
fieldset.checkbox-fieldset legend { font-size:11.5px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink); margin-bottom:8px; }

/* Recommended: make the preselected highlight readable without layout shift */
.form-field .checkbox-option { border:1px solid transparent; padding:6px 10px; margin:-6px -10px; }
.checkbox-option.is-preselected { border-color: rgba(180,156,224,0.45); background: rgba(180,156,224,0.08); }

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

/* ---------- 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);}
.page-head{padding-top:112px;}
@media(max-width:640px){.page-head{padding-top:104px;}}
.page-head p{margin-top:18px;}

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

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

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

/* ===== Contact page: two routes, call card leads (Option C1, E2 layout, approved 2026-10-02) =====
   Mobile order: call card, message card, What happens next.
   Desktop: call card as a full-width band; message card and What happens next card side by side.
   Type follows the Typography SOP (v3): card headlines Tier 4, card copy Card tier, item labels accent,
   step numbers Tier 10, chips reuse the Field Notes chip style. */
/* Floating Book a Call pill hidden on Contact only: the page leads with booking and the pill covered form fields on mobile. */
.cal-float{display:none!important;}
/* Contact and Privacy hide the Book a Call pill, so the chat button drops into its spot (see css/system.css). */
html body .brevo-conversations:not(.brevo-conversations--expanded){bottom:22px!important;}
@media(min-width:1000px){html body .brevo-conversations:not(.brevo-conversations--expanded){bottom:30px!important;}}
.ct-eyebrow{margin-bottom:24px;}
.ct-inline{color:var(--lav);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--blue-d);}
.ct-inline:hover{color:var(--ink);}
.ct-paths{display:grid;gap:16px;margin-top:34px;}
.ct-path,.ct-next{border:1px solid var(--line);padding:clamp(22px,3vw,36px);background:rgba(237,234,227,0.03);}
/* Item label (v3: item labels take the accent) */
.ct-k{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--lav);margin-bottom:12px;}
/* Card headline, Tier 4: Anton 26/20, lh 1.05 */
.contact .ct-h{font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:20px;line-height:1.05;letter-spacing:0;max-width:none;margin:0 0 10px;color:var(--ink);}
/* Card copy tier: 14.5 / 1.75, body colour */
.ct-p{font-size:var(--fs-card);line-height:var(--lh-card);font-weight:300;color:var(--body-dark);margin:0 0 22px;}
.ct-path .engage-cta{margin:0;}
/* Call card on parchment: parchment colour roles, Ink Dark button per the button-fill rule */
.ct-path-call{background-color:#ECE7DD;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;border-color:#ECE7DD;}
.ct-path-call .ct-k{color:#6B4FA6;}
.contact .ct-path-call .ct-h{color:#1A1714;}
.ct-path-call .ct-p{color:var(--body-paper);}
.ct-path-call .btn{width:100%;justify-content:center;box-sizing:border-box;padding-left:14px;padding-right:14px;background:#1A1714;color:#ECE7DD;border-color:#1A1714;box-shadow:none;}
.ct-path-call .btn:hover,.ct-path-call .btn:focus-visible{background:#6B4FA6;color:#ECE7DD;border-color:#6B4FA6;}
/* Message card */
.ct-path-form .btn-submit{width:100%;justify-content:center;min-height:48px;}
/* Small tier: 13 / 1.6 */
.ct-direct{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--body-dark);margin:18px 0 0;}
/* Focus chips reuse the Field Notes chip style (system.css .fn-chip); 44px tall for touch */
.ct-path .checkbox-grid{display:flex;flex-wrap:wrap;gap:10px;grid-template-columns:none;}
.ct-path .form-field .checkbox-option{position:relative;margin:0;padding:0;border:0;background:none;}
.ct-path .form-field .checkbox-option input{position:absolute;opacity:0;width:1px;height:1px;margin:0;}
.ct-path .checkbox-option span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;line-height:1.4;color:var(--ink);border:1px solid rgba(237,234,227,0.22);border-radius:999px;cursor:pointer;transition:border-color .2s,background .2s,color .2s;}
.ct-path .checkbox-option:hover span{border-color:var(--lav);}
.ct-path .checkbox-option input:checked+span,.ct-path .checkbox-option.is-preselected span{background:#ECE7DD;border-color:#ECE7DD;color:#1A1714;}
.ct-path .checkbox-option input:focus-visible+span{outline:2px solid var(--lav);outline-offset:3px;}
/* What happens next card */
.ct-next .eyebrow{margin:0 0 14px;}
.ct-steps{list-style:none;margin:0;padding:0;}
.ct-steps li{padding:16px 0;border-top:1px solid var(--line);}
.ct-steps li:last-child{padding-bottom:0;}
/* Step number, Tier 10: Inter 13, 600, tabular, accent */
.ct-n{display:block;font-family:var(--sans);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--lav);margin-bottom:6px;}
/* Step title matches the site's Inter item title (FAQ question style) */
.contact .ct-step-h{font-family:var(--sans);font-size:16px;font-weight:500;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--ink);margin:0 0 4px;max-width:none;}
.ct-steps p,.ct-more{font-size:var(--fs-card);line-height:var(--lh-card);font-weight:300;color:var(--body-dark);margin:0;}
.ct-more{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}
@media(min-width:960px){
.ct-paths{grid-template-columns:minmax(0,7fr) minmax(0,4fr);grid-template-areas:"call call" "form next";row-gap:24px;column-gap:24px;align-items:start;}
.contact .ct-h{font-size:26px;}
.ct-path-call{grid-area:call;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:48px;}
.ct-path-call .ct-k,.ct-path-call .ct-h,.ct-path-call .ct-p{grid-column:1;}
.ct-path-call .ct-p{margin-bottom:0;}
.ct-path-call .engage-cta{grid-column:2;grid-row:1 / 4;align-self:center;}
.ct-path-call .btn{width:auto;padding-left:34px;padding-right:34px;}
.ct-path-form{grid-area:form;}
.ct-path-form .form-row{grid-template-columns:1fr 1fr;}
.ct-next{grid-area:next;}
}
/* Match Who We Help (2026-10-02): page title uses the .sec-title size; step labels use the .case-blk h5 step-label style;
   step cards use the .wz-card title and Small tier copy; FAQ heading matches index.css; success heading drops faux bold. */
.contact-hero-section h1{font-size:clamp(1.7rem,4.4vw,3.5rem)!important;letter-spacing:0.01em;line-height:1.1;max-width:none;}
.ct-k{letter-spacing:.16em;}
.ct-n{position:relative;font-size:12px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;font-variant-numeric:normal;color:var(--lav);padding-top:14px;margin-bottom:10px;}
.ct-n::before{content:"";position:absolute;top:0;left:0;width:24px;height:2px;background:var(--blue);}
.ct-steps li{border-top:0;padding:18px 0 0;}
.ct-steps li:first-child{padding-top:4px;}
.contact .ct-step-h{font-size:14.5px;font-weight:600;line-height:1.5;}
.ct-steps p,.ct-more{font-size:var(--fs-small);line-height:var(--lh-small);}
.faq-sec .faq-hd{font-size:clamp(1.7rem,3vw,2.4rem);}
.fs-hd{font-weight:400;}
@media(min-width:960px){.contact .ct-h{font-size:24px;}}
/* Page headline uses the homepage hero exception size (approved for Contact 2026-10-02): 40px floor, 88px cap */
.contact-hero-section h1{font-size:clamp(2.5rem,6.9vw,5.5rem)!important;line-height:1.0;letter-spacing:0;}
/* What happens next reads as a third card: label + card headline, same as the two route cards */
.ct-next .ct-h{margin-bottom:6px;}
/* Contact page call card (approved 2026-10-09): intro left, photo + Phone/Email/Location right,
   full-width "Book your 20-minute call" dark bar over the inline Cal calendar (Cal details panel hidden,
   namespace project-fit-call-inline). Grid fades in from the left, same as .engage-band.
   Full contact form (first/last name, email, company, topics, message) spans the width;
   What happens next sits below it with steps side by side on desktop. */
.ct-paths{grid-template-columns:1fr!important;grid-template-areas:none!important;}
.ct-paths>*{grid-area:auto!important;}
.ct-path-call.cx{display:grid;grid-template-areas:"txt" "book" "con";gap:24px;background-image:none!important;position:relative;overflow:hidden;}
.ct-path-call.cx::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;}
.ct-path-call.cx>*{position:relative;z-index:1;}
.cx-txt{grid-area:txt;}.cx-txt .ct-p{margin-bottom:0;}
.cx-book{grid-area:book;}
.cx-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#1A1714;color:#ECE7DD;font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:20px 26px;}
.cx-bar .nw{white-space:nowrap;}
.cx-bar-arrow{font-size:22px;line-height:1;}
.cx-cal{width:100%;min-height:320px;overflow:auto;background:#fff;border:1px solid #d9d3c7;border-top:0;}
.cx-con{grid-area:con;border-top:1px solid rgba(26,23,20,.15);padding-top:18px;}
.cx-who{display:flex;gap:14px;align-items:center;margin-bottom:16px;}
.cx-who img{width:64px;height:64px;flex-shrink:0;border-radius:50%;object-fit:cover;object-position:center 20%;}
.cx-nm{font-family:var(--sans);font-weight:600;font-size:15px;color:#1A1714;}
.cx-tt{font-size:12.5px;color:var(--body-paper);}
.cx-dl{display:grid;grid-template-columns:1fr;gap:2px;margin:0;font-size:14px;}
.cx-dl dt{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6B4FA6;padding-top:3px;}
.cx-dl dd{margin:0 0 10px;color:var(--body-paper);}
.cx-dl a{color:#1A1714;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(107,79,166,.55);white-space:nowrap;}
.cx-dl a:hover,.cx-dl a:focus-visible{color:#6B4FA6;}
@media(min-width:960px){
  .ct-path-call.cx{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"txt con" "book book";column-gap:56px;row-gap:28px;align-items:end;padding:44px 48px;}
  .contact .ct-path-call.cx .ct-h{font-size:48px;}
  .cx-con{border-top:0;padding-top:0;}
  .cx-cal{min-height:480px;}
  .cx-dl{grid-template-columns:auto 1fr;gap:8px 18px;}
  .cx-dl dd{margin:0;}
  .ct-path-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,720px);column-gap:56px;align-items:start;}
  .ct-path-form>.ct-k,.ct-path-form>.ct-h,.ct-path-form>.ct-p{grid-column:1;}
  .ct-path-form>.contact-shell{grid-column:2;grid-row:1 / 5;max-width:none;}
  .ct-next .ct-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;}
  .ct-next .ct-steps li{padding-top:4px;}
}

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


