:root{--bg:#08080A;--s1:#0E0E11;--s2:#15151A;--tx:#ECE7DE;--tx2:#B5AFA5;--mute:#8A847A;--rule:rgba(236,231,222,.09);--rule2:rgba(236,231,222,.18);--am:#D9A05B;--am2:#E9BC83;--q:cubic-bezier(.2,0,0,1);--qs:cubic-bezier(.3,.7,0,1);--pad:clamp(20px,4vw,56px);--max:1320px;--hh:76px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:100px}
body{background:var(--bg);color:var(--tx);font:400 17px/1.6 Archivo,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:var(--am);text-decoration:none;transition:color .2s}a:hover{color:var(--am2)}
button,input,select,textarea{font:inherit;color:inherit;background:none;border:0;border-radius:0}
button{cursor:pointer}
::selection{background:var(--am);color:var(--bg)}
:focus-visible{outline:2px solid var(--am);outline-offset:3px}
p{text-wrap:pretty}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.disp{font-weight:800;font-variation-settings:"wdth" 72;text-transform:uppercase;line-height:.94;letter-spacing:-.005em;text-wrap:balance}
.am{color:var(--am)}
.k{font:500 14px/1.4 "JetBrains Mono",monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--mute)}.k.am{color:var(--am)}
.h1{font-size:clamp(42px,5.4vw,88px)}.h2{font-size:clamp(34px,4.2vw,64px)}.h3{font-size:clamp(26px,2.4vw,34px)}
.lede{font-size:clamp(18px,1.45vw,21px);line-height:1.55;color:var(--tx2);max-width:60ch}
.body{color:var(--tx2);max-width:64ch}.body p+p{margin-top:18px}.body a{text-decoration:underline;text-underline-offset:3px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;background:var(--am);color:#160f06;font:700 15px/1.1 Archivo;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--am);transition:background .2s,color .2s,border-color .2s;text-align:center;max-width:100%;padding-top:12px;padding-bottom:12px;line-height:1.2}
.btn:hover{background:var(--tx);border-color:var(--tx);color:var(--bg)}
.btn.gh{background:transparent;color:var(--tx);border-color:var(--rule2)}.btn.gh:hover{border-color:var(--tx);background:rgba(236,231,222,.05);color:var(--tx)}
.ar{display:inline-block;transition:transform .3s var(--q)}a:hover .ar,button:hover .ar{transform:translateX(4px)}
.lnk{display:inline-flex;align-items:center;gap:8px;font:600 16px Archivo;color:var(--am)}
.eb{display:flex;align-items:center;gap:14px}.eb::before{content:"";width:28px;height:1px;background:var(--am)}
.sec{padding:clamp(88px,9vw,140px) 0}.bt{border-top:1px solid var(--rule)}
.sh{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(40px,5vw,68px)}
.sh>div{display:flex;flex-direction:column;gap:20px}.sh .lede{justify-self:end}
@media(max-width:860px){.sh{grid-template-columns:1fr}}
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--q),transform .8s var(--q)}.rv.in{opacity:1;transform:none}
.fu{opacity:0;transform:translateY(14px);transition:opacity .7s var(--q),transform .8s var(--q)}.go .fu{opacity:1;transform:none}
.ph-img{background:var(--s1);overflow:hidden;position:relative}.ph-img img{width:100%;height:100%;object-fit:cover}
.tone img{filter:saturate(.72) contrast(1.04)}
/* header */
.top{position:fixed;inset:0 0 auto;z-index:60;height:var(--hh);border-bottom:1px solid transparent;transition:background .3s,border-color .3s}
.top.sc,.top.solid{background:rgba(8,8,10,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:var(--rule)}
.top .wrap{height:100%;display:flex;align-items:center;gap:36px}
.brand{display:flex;align-items:center;gap:12px;color:var(--tx);font:400 19px Archivo;letter-spacing:-.01em;white-space:nowrap}.brand:hover{color:var(--tx)}.brand b{font-weight:800}.brand svg{width:30px;height:30px;flex:none}
.nl{display:flex;gap:30px;margin-left:auto}.nl a{position:relative;padding:8px 0;color:var(--tx2);font:500 15px Archivo}.nl a:hover,.nl a.cur{color:var(--tx)}
.nl a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--am);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--q)}.nl a:hover::after,.nl a.cur::after{transform:none}
.top .btn{min-height:44px;padding:0 20px;font-size:14px}
.prog{position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--am);transform-origin:left;transform:scaleX(var(--sp,0))}
.mb{display:none;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--rule2);font:500 14px "JetBrains Mono";letter-spacing:.09em;text-transform:uppercase}
.mm{position:fixed;inset:0;z-index:55;background:var(--bg);padding:calc(var(--hh) + 28px) var(--pad) 40px;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .25s var(--q);overflow:auto}
.mm.on{opacity:1;pointer-events:auto}.mm a:not(.btn){font:800 clamp(34px,9vw,52px)/1.15 Archivo;font-variation-settings:"wdth" 72;text-transform:uppercase;color:var(--tx);padding:10px 0;border-bottom:1px solid var(--rule)}.mm .btn{margin-top:28px}
@media(max-width:1020px){.nl{display:none}.mb{display:inline-flex;margin-left:auto}}
@media(max-width:560px){.top .btn{display:none}}
.mcta{display:none}
@media(max-width:700px){.mcta{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;position:fixed;left:12px;right:12px;bottom:12px;z-index:50;padding:8px;background:rgba(18,18,22,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--rule2);transform:translateY(140%);transition:transform .4s var(--qs)}.mcta.on{transform:none}.mcta .btn{min-height:48px;padding:0 14px}body{padding-bottom:84px}}
/* hero */
.hero{position:relative;min-height:max(100svh,780px);display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(var(--hh) + 48px);overflow:hidden;isolation:isolate}
.hero>.wrap{width:100%}
.slides{position:absolute;inset:0;z-index:-2;background:var(--s1)}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.05) brightness(.7);clip-path:inset(0);transition:clip-path 1s var(--qs);animation:kb 8s linear both}.slides img.nx{clip-path:inset(0 0 0 100%)}
@keyframes kb{from{transform:scale(1.07)}to{transform:scale(1)}}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,8,10,.94) 0%,rgba(8,8,10,.72) 42%,rgba(8,8,10,.2) 100%),linear-gradient(0deg,var(--bg) 0%,rgba(8,8,10,0) 42%)}
.hero-g{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:56px;align-items:end;padding-bottom:52px}
.hero h1{font-size:clamp(46px,min(6.4vw,10.4vh),110px)}
.hero h1 .l{display:block;overflow:hidden;padding-bottom:.05em;margin-bottom:-.05em}.hero h1 .l>span{display:block;transform:translateY(106%);transition:transform 1s var(--qs)}
.go .hero h1 .l>span{transform:none}.hero h1 .l:nth-child(2)>span{transition-delay:.07s}.hero h1 .l:nth-child(3)>span{transition-delay:.14s}.hero h1 .l:nth-child(4)>span{transition-delay:.21s}
.hero .lede{color:#DAD4C9;margin-top:28px;max-width:56ch}
.hero .row{margin-top:32px}
.trust{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:30px}.trust span{display:flex;align-items:center;gap:10px;color:#CFC9BE}.trust i{width:6px;height:6px;background:var(--am)}
.cap{border-left:1px solid var(--rule2);padding-left:24px;display:flex;flex-direction:column;gap:12px;min-height:160px}
.cap p{font:500 20px/1.38 Archivo;color:var(--tx)}.cap a{font:500 14px "JetBrains Mono";letter-spacing:.09em;text-transform:uppercase}
.cap>*{animation:ci .5s var(--q) both}.cap>:nth-child(2){animation-delay:.05s}.cap>:nth-child(3){animation-delay:.1s}
@keyframes ci{from{opacity:0;transform:translateY(8px)}}
.segs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;padding-bottom:36px}
.sg{position:relative;display:flex;flex-direction:column;gap:8px;padding-top:16px;text-align:left}
.sg>i{position:absolute;left:0;right:0;top:0;height:2px;background:var(--rule2);overflow:hidden}.sg>i::after{content:"";position:absolute;inset:0;background:var(--am);transform:scaleX(0);transform-origin:left}
.sg.on>i::after{animation:bar 6s linear forwards}.sg.done>i::after{transform:none;opacity:.4}.hero:hover .sg.on>i::after{animation-play-state:paused}
@keyframes bar{to{transform:scaleX(1)}}
.sg .k{transition:color .2s}.sg.on .k{color:var(--am)}.sg b{font:600 15px/1.3 Archivo;color:var(--tx2);transition:color .2s}.sg.on b,.sg:hover b{color:var(--tx)}
@media(max-width:960px){.hero-g{grid-template-columns:1fr}.cap{display:none}.segs{gap:8px}.sg b{display:none}}
/* home: jobs */
.jobs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule2);border:1px solid var(--rule2)}
.job{position:relative;background:var(--bg);padding:clamp(28px,3vw,44px);display:flex;flex-direction:column;gap:16px;min-height:340px;color:var(--tx);transition:background .3s}
.job:hover{background:var(--s1);color:var(--tx)}.job::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--am);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--q)}.job:hover::after{transform:none}
.job .n{font:500 14px "JetBrains Mono";color:var(--am)}.job p{color:var(--tx2)}.job .lnk{margin-top:auto}
@media(max-width:900px){.jobs{grid-template-columns:1fr}.job{min-height:0}}
/* services widget */
.con{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);border:1px solid var(--rule2);background:var(--s1);margin-top:clamp(56px,6vw,88px)}
.tabs{position:relative;border-right:1px solid var(--rule)}
.ind{position:absolute;left:-1px;top:0;width:2px;background:var(--am);transition:transform .35s var(--q),height .35s var(--q);z-index:2}
.tab{display:flex;gap:18px;align-items:baseline;width:100%;padding:16px 24px;text-align:left;border-bottom:1px solid var(--rule);transition:background .2s}.tab:last-child{border-bottom:0}
.tab .n{font:500 14px "JetBrains Mono";color:var(--mute);flex:none}.tab b{flex:1;min-width:0;font:600 17px/1.3 Archivo;color:var(--tx2);transition:color .2s}
.tab:hover b,.tab.on b{color:var(--tx)}.tab.on{background:rgba(236,231,222,.04)}.tab.on .n{color:var(--am)}
.det{display:flex;flex-direction:column;min-width:0}
.det .im{aspect-ratio:16/7;position:relative;overflow:hidden;border-bottom:1px solid var(--rule);background:var(--s2)}
.det .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.85);clip-path:inset(0);transition:clip-path .6s var(--qs)}.det .im img.out{clip-path:inset(0 100% 0 0)}
.det .tx{padding:clamp(24px,3.2vw,44px);display:flex;flex-direction:column;gap:16px;flex:1}
.det .tx>*{animation:ci .45s var(--q) both}.det .tx>:nth-child(2){animation-delay:.04s}.det .tx>:nth-child(3){animation-delay:.08s}.det .tx>:nth-child(4){animation-delay:.12s}
.det .tg{font:500 20px/1.4 Archivo}.det p{color:var(--tx2);max-width:58ch}.det .row{margin-top:auto;padding-top:8px}
.con-f{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:20px 24px;border-top:1px solid var(--rule);grid-column:1/-1;color:var(--tx2)}
@media(max-width:860px){.con{grid-template-columns:1fr}.tabs{border-right:0;display:flex;overflow-x:auto;border-bottom:1px solid var(--rule);scrollbar-width:none}.ind{display:none}.tab{flex:none;width:auto;border-bottom:0;border-right:1px solid var(--rule);padding:14px 18px;white-space:nowrap}.tab.on{box-shadow:inset 0 -2px var(--am)}}
/* projects */
.pj3{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr);gap:24px}
.pjc{display:flex;flex-direction:column;gap:14px;color:var(--tx)}.pjc:hover{color:var(--tx)}
.shot{position:relative;aspect-ratio:16/11;overflow:hidden;background:var(--s2);border:1px solid var(--rule2)}
.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .9s var(--q)}.pjc:hover .shot img{transform:scale(1.03)}
.shot::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--am);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--q)}.pjc:hover .shot::after{transform:none}
.pjc h3{font:700 22px/1.25 Archivo;transition:color .2s}.pjc:hover h3{color:var(--am)}.pjc p{color:var(--tx2);font-size:16px}
@media(max-width:900px){.pj3{grid-template-columns:1fr}}
/* who */
.who{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,120px);align-items:center}
.who figure .ph-img{aspect-ratio:4/5}.who figcaption{margin-top:14px}.who .tx{display:flex;flex-direction:column;gap:24px}
@media(max-width:860px){.who{grid-template-columns:1fr}.who figure{max-width:400px}}
/* ways */
.ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.way{display:flex;flex-direction:column;gap:16px;padding:clamp(28px,3vw,40px);border:1px solid var(--rule2);background:var(--s1);transition:border-color .3s,background .3s}
.way:hover{border-color:rgba(217,160,91,.5)}.way p{color:var(--tx2)}.way .btn,.way .lnk{margin-top:auto;align-self:flex-start}
.way.pri{background:linear-gradient(160deg,rgba(217,160,91,.14),var(--s1) 65%);border-color:rgba(217,160,91,.45)}
@media(max-width:900px){.ways{grid-template-columns:1fr}}
/* page header */
.phd{padding:calc(var(--hh) + clamp(48px,6vw,88px)) 0 clamp(56px,6vw,88px);border-bottom:1px solid var(--rule)}
.phd-g{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,80px);align-items:end}
.phd-t{display:flex;flex-direction:column;gap:24px}.phd .ph-img{aspect-ratio:4/3}
.phd.solo .phd-g{grid-template-columns:minmax(0,1fr)}.phd.solo .phd-t{max-width:980px}
@media(max-width:900px){.phd-g{grid-template-columns:1fr}}
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:500 14px "JetBrains Mono";color:var(--mute)}.crumb a{color:var(--tx2)}.crumb a:hover{color:var(--am)}.crumb i{font-style:normal;opacity:.5}.crumb [aria-current]{color:var(--tx)}
/* services list */
.sl-l{border-top:1px solid var(--rule2)}
.slr{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1.1fr) 40px;gap:clamp(16px,3vw,40px);align-items:start;padding:32px 0;border-bottom:1px solid var(--rule);color:var(--tx);position:relative}
.slr:hover{color:var(--tx)}.slr::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--am);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--q)}.slr:hover::after{transform:none}
.slr .n{font:500 14px "JetBrains Mono";color:var(--mute);padding-top:8px}.slr:hover .n{color:var(--am)}
.slr h3{font-size:clamp(28px,2.6vw,40px);transition:color .2s}.slr:hover h3{color:var(--am)}.slr .tg{font:500 18px/1.4 Archivo;margin-top:12px}
.slr p{color:var(--tx2)}.slr .go2{justify-self:end;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--rule2);color:var(--am);transition:border-color .2s,background .2s}.slr:hover .go2{border-color:var(--am);background:rgba(217,160,91,.1)}
@media(max-width:860px){.slr{grid-template-columns:44px minmax(0,1fr)}.slr p{grid-column:2}.slr .go2{display:none}}
.leaks{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,100px);align-items:start}
.leaks .st{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;padding:26px 0;border-top:1px solid var(--rule2)}.leaks .st p{color:var(--tx2);font-size:18px}
@media(max-width:860px){.leaks{grid-template-columns:1fr}}
/* service detail */
.svd{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(32px,5vw,80px);padding-top:calc(var(--hh) + 40px)}
.rail{position:sticky;top:calc(var(--hh) + 24px);align-self:start;display:flex;flex-direction:column;gap:20px;max-height:calc(100vh - var(--hh) - 48px);overflow:auto}
.bkl{white-space:nowrap;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid var(--rule2);color:var(--tx);font:600 15px Archivo;transition:border-color .2s,color .2s;align-self:flex-start}.bkl:hover{border-color:var(--am);color:var(--am)}.bkl:hover .ar{transform:translateX(-4px)}
.rail nav{display:flex;flex-direction:column;border-top:1px solid var(--rule2)}
.rail nav a{position:relative;display:flex;gap:12px;align-items:baseline;padding:12px 0 12px 16px;border-bottom:1px solid var(--rule);color:var(--tx2);font:500 15px/1.3 Archivo;transition:color .2s,padding .3s var(--q)}
.rail nav a span{font:500 14px "JetBrains Mono";color:var(--mute)}.rail nav a:hover{color:var(--tx);padding-left:20px}
.rail nav a.cur{color:var(--tx);background:rgba(236,231,222,.04)}.rail nav a.cur::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--am)}.rail nav a.cur span{color:var(--am)}
.svm{min-width:0;padding-bottom:clamp(80px,8vw,120px)}
.svm-h{display:flex;flex-direction:column;gap:22px;padding:28px 0 40px}
.svm h1{font-size:clamp(40px,4.6vw,76px);max-width:16ch}.svm .tg{font:500 clamp(20px,1.7vw,24px)/1.4 Archivo;max-width:38ch}
.ucg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.6fr);gap:clamp(28px,4vw,56px);align-items:start}.ucg>div{display:flex;flex-direction:column;gap:28px;min-width:0}.ucg .uc{grid-template-columns:1fr}.svm-ph{aspect-ratio:4/5;position:sticky;top:calc(var(--hh) + 32px)}
@media(max-width:860px){.ucg{grid-template-columns:1fr}.svm-ph{aspect-ratio:16/9;position:static;max-width:560px}}
.svm-b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);padding:clamp(48px,5vw,72px) 0;border-bottom:1px solid var(--rule)}
.svm-b p{font-size:clamp(19px,1.5vw,21px);line-height:1.6;color:var(--tx)}
.proof{display:flex;flex-direction:column;gap:14px;padding:24px;border:1px solid var(--rule2);background:var(--s1)}.proof .shot{aspect-ratio:16/9}.proof b{font:700 20px/1.3 Archivo}.proof p{font-size:16px;color:var(--tx2)}
.rs{display:flex;gap:12px;padding:14px 16px;border-left:2px solid var(--am);background:rgba(217,160,91,.07);font-size:16px}.rs b{color:var(--am);font:500 14px "JetBrains Mono";letter-spacing:.09em;text-transform:uppercase;flex:none;padding-top:2px}
.pn{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--rule);margin-top:clamp(48px,5vw,72px);border:1px solid var(--rule)}
.pn a{background:var(--bg);padding:24px;display:flex;flex-direction:column;gap:8px;color:var(--tx);transition:background .2s}.pn a:hover{background:var(--s1);color:var(--tx)}.pn b{overflow-wrap:anywhere;font:800 clamp(22px,2vw,30px)/1 Archivo;font-variation-settings:"wdth" 72;text-transform:uppercase}.pn a:last-child{text-align:right;align-items:flex-end}
@media(max-width:960px){.svd{grid-template-columns:1fr}.rail{position:static;max-height:none}.rail nav{flex-direction:row;overflow-x:auto;border-top:0;gap:6px;scrollbar-width:none}.rail nav a{flex:none;white-space:nowrap;border:1px solid var(--rule);padding:10px 14px}.rail nav a:hover{padding-left:14px}.svm-b{grid-template-columns:1fr}}
/* projects page */
.pjl{display:flex;flex-direction:column}
.pj{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(56px,6vw,88px) 0;border-bottom:1px solid var(--rule)}
.pj:nth-child(even) .pj-m{order:2}
.pj-m .shot{aspect-ratio:16/10}.pj-t{display:flex;flex-direction:column;gap:18px}.pj-t p{color:var(--tx2)}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{padding:6px 12px;border:1px solid var(--rule2);font:500 14px "JetBrains Mono";color:var(--tx2)}
.badge{position:absolute;inset:0;display:grid;place-items:center;text-align:center;background:repeating-linear-gradient(45deg,var(--s1) 0 12px,var(--s2) 12px 24px)}
.badge b{font:800 72px/1 Archivo;font-variation-settings:"wdth" 72;color:var(--am);display:block;margin-bottom:10px}
.agl{list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--rule2)}.agl li{padding:16px 0;border-bottom:1px solid var(--rule);color:var(--tx2)}.agl b{color:var(--tx)}
@media(max-width:900px){.pj{grid-template-columns:1fr}.pj:nth-child(even) .pj-m{order:0}}
.lock{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);padding:clamp(40px,4vw,56px);border:1px solid var(--rule2);background:var(--s1);margin-top:clamp(56px,6vw,88px)}
.lock p{color:var(--tx2);font-size:18px}.note{margin-top:20px;font-size:15px;color:var(--mute)}
@media(max-width:860px){.lock{grid-template-columns:1fr}}
/* about */
.abh{padding-top:calc(var(--hh) + clamp(48px,6vw,88px))}
.abh-g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,6vw,100px);align-items:start}
.abh-t{display:flex;flex-direction:column;gap:28px;padding-bottom:clamp(64px,7vw,110px)}
.abh-ph{position:sticky;top:calc(var(--hh) + 24px)}.abh-ph .ph-img{aspect-ratio:4/5}.abh-ph figcaption{margin-top:14px}
blockquote{border-left:2px solid var(--am);padding:4px 0 4px 26px;font:500 clamp(22px,2vw,28px)/1.4 Archivo;color:var(--tx);max-width:34ch}
.honest{padding:22px 24px;background:var(--s1);border:1px solid var(--rule2);color:var(--tx2)}.honest b{color:var(--tx)}
@media(max-width:860px){.abh-g{grid-template-columns:1fr}.abh-ph{position:static;order:-1;max-width:420px}}
.ex3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule2);border:1px solid var(--rule2)}
.ex3>div{background:var(--bg);padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;gap:14px}.ex3 p{color:var(--tx2)}
.cr2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px}.cr2>div{padding:clamp(28px,3vw,40px);border:1px solid var(--rule2);background:var(--s1);display:flex;flex-direction:column;gap:14px}.cr2 p{color:var(--tx2)}
.stack{display:flex;flex-wrap:wrap;gap:8px}.stack span{padding:10px 16px;border:1px solid var(--rule2);font:500 15px Archivo;color:var(--tx);transition:border-color .2s,color .2s}.stack span:hover{border-color:var(--am);color:var(--am)}
@media(max-width:860px){.ex3,.cr2{grid-template-columns:1fr}}
/* blog */
.kinds{display:flex;flex-direction:column;gap:8px;color:var(--tx2)}.kinds b{color:var(--tx)}
.flt{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.chip{min-height:44px;padding:0 18px;border:1px solid var(--rule2);font:500 14px "JetBrains Mono";letter-spacing:.06em;text-transform:uppercase;color:var(--tx2);transition:color .2s,border-color .2s,background .2s}.chip:hover{color:var(--tx);border-color:var(--tx2)}.chip.on{background:var(--am);border-color:var(--am);color:var(--bg)}
.bg2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,40px)}
.pc{display:flex;flex-direction:column;gap:14px;color:var(--tx)}.pc:hover{color:var(--tx)}.pc[hidden]{display:none}
.bl-lab{margin:0 0 clamp(16px,2vw,24px)}.bl-rest{margin-top:clamp(48px,5vw,72px)}
.pc .ph-img{aspect-ratio:16/9}.pc img{transition:transform .8s var(--q)}.pc:hover img{transform:scale(1.03)}
.pc h3,.pc h2{font:700 clamp(22px,2vw,28px)/1.2 Archivo;transition:color .2s}.pc:hover h3,.pc:hover h2{color:var(--am)}.pc p{color:var(--tx2)}
.pm{display:flex;gap:14px;flex-wrap:wrap}
.empty{padding:48px;border:1px dashed var(--rule2);text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}
@media(max-width:760px){.bg2{grid-template-columns:1fr}}
.nlb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;padding:clamp(32px,4vw,56px);border:1px solid var(--rule2);background:var(--s1)}
.nlf{display:flex;gap:8px}.nlf input{flex:1;min-width:0;min-height:52px;padding:0 18px;border:1px solid var(--rule2);background:var(--bg)}.nlf input:focus{border-color:var(--am);outline:0}.nlf input::placeholder{color:var(--mute);opacity:1}
@media(max-width:860px){.nlb{grid-template-columns:1fr}.nlf{flex-direction:column}}
/* calculator */
.lc{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);border:1px solid var(--rule2);background:var(--s1)}
.lc-in{padding:clamp(28px,3.6vw,52px);display:flex;flex-direction:column;gap:40px;border-right:1px solid var(--rule)}
.fld{display:flex;flex-direction:column;gap:14px}.fld-t{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.fld-t label,.lc-hd>.k,.crumb>*{white-space:nowrap}
.fld output{font:800 clamp(30px,3vw,44px)/1 Archivo;font-variation-settings:"wdth" 72;font-variant-numeric:tabular-nums;color:var(--tx)}
.tk{position:relative;height:20px;font:500 14px "JetBrains Mono";color:var(--mute)}.tk span{position:absolute;top:0;transform:translateX(-50%)}.tk span:first-child{transform:none;left:0}.tk span:last-child{transform:none;right:0;left:auto!important}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;--p:50%}
input[type=range]::-webkit-slider-runnable-track{height:4px;background:linear-gradient(90deg,var(--am) var(--p),rgba(236,231,222,.14) var(--p))}
input[type=range]::-moz-range-track{height:4px;background:linear-gradient(90deg,var(--am) var(--p),rgba(236,231,222,.14) var(--p))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-10px;background:var(--tx);border:5px solid var(--am);transition:transform .15s}
input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--tx);border:5px solid var(--am);border-radius:0}
input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}
.bd{list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--rule2)}
.bd li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--rule)}
.bd b{font:600 17px Archivo}.bd em{font:600 17px "JetBrains Mono";font-style:normal;font-variant-numeric:tabular-nums;color:var(--tx)}.bd p{font-size:15px;color:var(--tx2)}
.bd .br{grid-column:1/-1;height:3px;background:rgba(236,231,222,.08);margin-top:8px}.bd .br i{display:block;height:100%;background:var(--am);width:0;transition:width .6s var(--q)}
.lc-out{padding:clamp(28px,3.6vw,52px);display:flex;flex-direction:column;gap:26px;background:radial-gradient(120% 80% at 100% 0%,rgba(217,160,91,.13),transparent 60%)}
.lc-hd{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.seg{display:flex;border:1px solid var(--rule2)}.seg button{min-height:40px;padding:0 14px;font:500 14px "JetBrains Mono";color:var(--tx2);transition:background .2s,color .2s}.seg button+button{border-left:1px solid var(--rule2)}.seg button.on{background:var(--tx);color:var(--bg)}
.big{font:800 clamp(56px,6.4vw,104px)/.9 Archivo;font-variation-settings:"wdth" 72;font-variant-numeric:tabular-nums;color:var(--am);letter-spacing:-.01em}
.rec{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;align-items:baseline;padding:20px 0;border-top:1px solid var(--rule2);border-bottom:1px solid var(--rule2)}
.rec b{font:800 clamp(32px,3vw,44px)/1 Archivo;font-variation-settings:"wdth" 72;font-variant-numeric:tabular-nums}.rec span:last-child{grid-column:1/-1;font-size:15px;color:var(--tx2)}
.ta h3{font:600 17px Archivo;margin-bottom:14px}
.tr{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:10px;font-size:15px;color:var(--tx2)}.tr b{font:600 15px "JetBrains Mono";color:var(--tx);font-variant-numeric:tabular-nums;min-width:100px;text-align:right}
.tb{display:flex;height:14px;background:transparent}.tb i{display:block;height:100%;transition:width .6s var(--q)}.c1{background:#C9C3B8}.c2{background:repeating-linear-gradient(45deg,rgba(217,160,91,.6) 0 3px,transparent 3px 7px);outline:1px solid rgba(217,160,91,.6);outline-offset:-1px}.c3{background:var(--am)}
.lg{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:14px;color:var(--tx2)}.lg span{display:flex;align-items:center;gap:8px;white-space:nowrap}.lg i{width:12px;height:12px;display:block}
@media(max-width:900px){.lc{grid-template-columns:1fr}.lc-in{border-right:0;border-bottom:1px solid var(--rule)}}
.lc.mini{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lc.mini .lc-out{justify-content:center}
@media(max-width:860px){.lc.mini{grid-template-columns:1fr}}
.cpl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center}
@media(max-width:860px){.cpl{grid-template-columns:1fr}}
details.meth{border:1px solid var(--rule2);margin-top:24px}details.meth summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;font:600 17px Archivo}details.meth summary::-webkit-details-marker{display:none}
details.meth summary i{font-style:normal;font:500 22px "JetBrains Mono";color:var(--am);transition:transform .3s var(--q)}details.meth[open] summary i{transform:rotate(45deg)}
.meth-b{padding:0 26px 28px;display:flex;flex-direction:column;gap:20px;color:var(--tx2)}.meth-b h4{font:600 16px Archivo;color:var(--tx);margin-bottom:6px}.meth-b b{color:var(--tx)}
.plan{list-style:none;border-top:1px solid var(--rule2)}.plan li{padding:20px 0;border-bottom:1px solid var(--rule);color:var(--tx2);font-size:18px}.plan b{color:var(--tx)}
/* contact */
.ctg{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(28px,4vw,64px);align-items:start}
.ctm{border:1px solid var(--rule2);background:var(--s1)}
.ctt{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--rule2)}
.ctt button{min-height:60px;padding:0 20px;font:600 16px Archivo;color:var(--tx2);position:relative;transition:color .2s,background .2s}.ctt button+button{border-left:1px solid var(--rule2)}
.ctt button.on{color:var(--tx);background:rgba(236,231,222,.04)}.ctt button.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--am)}
.ctp{padding:clamp(24px,3vw,40px)}.ctp[hidden]{display:none}
.frm{display:grid;grid-template-columns:1fr 1fr;gap:18px}.frm .full{grid-column:1/-1}
.frm label{display:flex;flex-direction:column;gap:8px;font:500 15px Archivo;color:var(--tx2)}
.frm input,.frm select,.frm textarea{min-height:52px;padding:12px 16px;border:1px solid var(--rule2);background:var(--bg);color:var(--tx);font-size:16px;transition:border-color .2s}
.frm textarea{min-height:120px;resize:vertical}.frm select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--am) 50%),linear-gradient(135deg,var(--am) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.frm input:focus,.frm select:focus,.frm textarea:focus{border-color:var(--am);outline:0}
.frm .sub{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.frm .sub>span{color:var(--tx2);font-size:15px}
.ok{padding:16px 18px;border-left:2px solid var(--am);background:rgba(217,160,91,.08);color:var(--tx)}
@media(max-width:640px){.frm{grid-template-columns:1fr}}
.cta-s{display:flex;flex-direction:column;gap:20px}
.me{display:flex;gap:16px;align-items:center;padding:16px;border:1px solid var(--rule2);background:var(--s1)}.me .ph-img{width:76px;aspect-ratio:4/5;flex:none}.me b{display:block;font:700 18px Archivo;margin-bottom:4px}
.cl{border-top:1px solid var(--rule2)}.cl>*{display:flex;flex-direction:column;gap:4px;padding:16px 0;border-bottom:1px solid var(--rule);color:var(--tx)}.cl b{font:600 17px Archivo;word-break:break-word}.cl a:hover b{color:var(--am)}
.dc{padding:24px;border:1px solid rgba(217,160,91,.45);background:linear-gradient(160deg,rgba(217,160,91,.12),transparent 70%);display:flex;flex-direction:column;gap:10px}.dc h4{font:700 20px Archivo}.dc p{color:var(--tx2);font-size:16px}
@media(max-width:960px){.ctg{grid-template-columns:1fr}}
.refg{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,100px);align-items:center}.refg .ph-img{aspect-ratio:4/3}.refg .tx{display:flex;flex-direction:column;gap:20px}
@media(max-width:860px){.refg{grid-template-columns:1fr}}
/* calendar */
.cal{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr) minmax(0,.8fr)}
.cal>div{padding:24px}.cal>div+div{border-left:1px solid var(--rule)}
.cal h3{font:800 28px/1 Archivo;font-variation-settings:"wdth" 72;text-transform:uppercase;margin:10px 0 14px}.cal ul{list-style:none;display:flex;flex-direction:column;gap:6px;color:var(--tx2);font-size:15px;margin-bottom:14px}
.cal-m{font:600 17px Archivo;margin-bottom:14px}.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-g i{font:500 14px "JetBrains Mono";color:var(--mute);text-align:center;font-style:normal;padding-bottom:6px}
.cal-g button{aspect-ratio:1;min-height:36px;font:500 14px "JetBrains Mono";border:1px solid transparent;color:var(--tx)}.cal-g button:not(:disabled):hover{border-color:var(--am)}.cal-g button:disabled{color:#4a4741;cursor:default}.cal-g button.sel{background:var(--am);color:var(--bg)}
.cal-s{display:flex;flex-direction:column;gap:8px;margin-top:12px}.cal-s button{min-height:44px;border:1px solid var(--rule2);font:500 14px "JetBrains Mono";transition:border-color .2s,background .2s}.cal-s button:disabled{opacity:.35;cursor:default}.cal-s button:not(:disabled):hover{border-color:var(--am)}.cal-s button.sel{background:var(--am);border-color:var(--am);color:var(--bg)}
.cal-tag{display:inline-block;margin-top:6px;padding:6px 10px;border:1px dashed var(--rule2)}
@media(max-width:900px){.cal{grid-template-columns:1fr}.cal>div+div{border-left:0;border-top:1px solid var(--rule)}}
.md{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s var(--q)}.md.on{opacity:1;pointer-events:auto}
.md-sc{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.md-b{position:relative;width:min(1000px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--s1);border:1px solid var(--rule2);transform:translateY(16px);transition:transform .35s var(--qs)}.md.on .md-b{transform:none}
.md-h{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-bottom:1px solid var(--rule2)}.md-h button{min-height:44px;padding:0 14px;border:1px solid var(--rule2);font:500 14px "JetBrains Mono"}.md-h button:hover{border-color:var(--am);color:var(--am)}
.md-f{display:flex;gap:10px 24px;flex-wrap:wrap;padding:16px 24px;border-top:1px solid var(--rule2);color:var(--tx2);font-size:15px}
/* ready + footer */
.ready{position:relative;overflow:hidden;padding:clamp(96px,10vw,150px) 0;border-top:1px solid var(--rule);isolation:isolate}
.ready .bg{position:absolute;inset:0;z-index:-1}.ready .bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.6) brightness(.3)}
.ready .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,10,.9),rgba(8,8,10,.5))}
.ready-g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:40px;align-items:end}
.ready h2{font-size:clamp(52px,7vw,116px)}.ready .lede{margin-top:24px;color:#D8D2C7}
.ready .cl a{flex-direction:column;align-items:flex-start;gap:4px}.ready .cl b{white-space:nowrap}.ready .btn{width:100%;margin-top:24px}
@media(max-width:860px){.ready-g{grid-template-columns:1fr}}
.lg2{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid var(--rule);font-size:14px;color:var(--mute)}.lg2 a{color:var(--mute)}.lg2 a:hover{color:var(--tx)}.lg2 span{display:flex;gap:18px;flex-wrap:wrap}
main{animation:pin .45s var(--q) both}@keyframes pin{from{opacity:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv,.fu{opacity:1;transform:none}.hero h1 .l>span{transform:none}}

.sh>div:only-child{grid-column:1/-1;max-width:980px}
.nd{position:relative;display:flex;align-items:center}.nl .nd>a{display:flex;align-items:center;gap:7px}.chev{width:10px;height:6px;transition:transform .3s var(--q)}.nd:hover .chev,.nd:focus-within .chev{transform:rotate(180deg)}
.dd{position:absolute;top:100%;left:-28px;padding-top:16px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s var(--q),transform .3s var(--q),visibility .2s}
.nd.open .dd{opacity:1;visibility:visible;transform:none}
.dd-in{width:620px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:14px 20px 18px;background:#101013;border:1px solid var(--rule2);box-shadow:0 28px 70px rgba(0,0,0,.55)}
.nl .dd a{display:flex;align-items:baseline;gap:12px;padding:13px 8px;border-bottom:1px solid var(--rule);color:var(--tx2);font:500 15px/1.3 Archivo;transition:background .2s,color .2s}.nl .dd a::after{display:none}
.nl .dd a:hover{background:rgba(236,231,222,.05);color:var(--tx)}.nl .dd a span{font:500 14px "JetBrains Mono";color:var(--mute)}.nl .dd a:hover span{color:var(--am)}
.nl .dd a.dd-all{grid-column:1/-1;border-bottom:0;margin-top:6px;color:var(--am);font-weight:600}
.mm-s{display:flex;flex-direction:column;padding:6px 0 14px 4px;border-bottom:1px solid var(--rule)}.mm .mm-s a{font:500 17px/1.3 Archivo;text-transform:none;color:var(--tx2);padding:9px 0;border:0}
.uc-s{list-style:none;display:flex;flex-direction:column;gap:8px}.uc-s li{display:flex;gap:12px;color:var(--tx);font-size:16px}.uc-s li::before{content:"";width:12px;height:1px;background:var(--am);margin-top:12px;flex:none}
.svm-lede{font-size:clamp(18px,1.5vw,21px);line-height:1.6;color:var(--tx2);max-width:64ch}
.svs{padding:clamp(48px,5vw,72px) 0;border-bottom:1px solid var(--rule)}.svs>h2{margin-bottom:28px}
.uc{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 40px;border-top:1px solid var(--rule2)}
.uc li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:18px 0;border-bottom:1px solid var(--rule);font:500 17px/1.45 Archivo}.uc li span{font:500 14px "JetBrains Mono";color:var(--am);padding-top:3px}
.built{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}.built p{font-size:18px;color:var(--tx)}.built .shot{aspect-ratio:16/10;display:block}
.lead{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,4vw,56px);margin-top:clamp(48px,5vw,72px);padding:clamp(24px,3.4vw,44px);border:1px solid rgba(217,160,91,.4);background:linear-gradient(160deg,rgba(217,160,91,.1),var(--s1) 55%)}
.lead-t{display:flex;flex-direction:column;gap:16px}.lead-t p{color:var(--tx2)}.lead .cl{margin-top:4px}
@media(max-width:1100px){.lead{grid-template-columns:1fr}}
@media(max-width:700px){.uc,.built{grid-template-columns:1fr}}

.top .btn,.seg button,.chip{white-space:nowrap}
.frm>*,.ctg>*,.lead2>*,.pj>*,.leaks>*,.who>*,.refg>*{min-width:0}.frm input,.frm select,.frm textarea{width:100%}
.segs{grid-template-columns:repeat(9,minmax(0,1fr));gap:10px}.sg b{display:none}.sg{padding-top:14px}
@media(max-width:960px){.cap{display:flex;border-left:0;padding-left:0;border-top:1px solid var(--rule2);padding-top:18px;min-height:0}.cap p{font-size:18px}.segs{gap:6px}}
@media(max-width:480px){.sg .k{display:none}.sg{padding-top:0;min-height:20px}}
.mm>a:not(.btn){display:block}.mm-r{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--rule)}.mm .mm-r a{border-bottom:0;flex:1}.mm-t{flex:none;width:52px;height:52px;border:1px solid var(--rule2);font:500 24px "JetBrains Mono";color:var(--tx)}
.mm-s[hidden]{display:none}
.lead2{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-top:clamp(48px,5vw,72px);padding:clamp(24px,3vw,36px);border:1px solid rgba(217,160,91,.4);background:linear-gradient(160deg,rgba(217,160,91,.1),var(--s1) 60%)}.lead2>div:first-child{display:flex;flex-direction:column;gap:10px}
.pjw{grid-template-columns:1fr}.pjw .pj-m{display:none}
.agl2{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.agl2 li{background:var(--bg);padding:20px;display:flex;flex-direction:column;gap:6px}.agl2 b{font:600 17px/1.3 Archivo;color:var(--tx)}.agl2 span{font-size:15px;color:var(--tx2)}
@media(max-width:900px){.agl2{grid-template-columns:1fr 1fr}}@media(max-width:560px){.agl2{grid-template-columns:1fr}}
@media(max-width:560px){.h1{font-size:clamp(36px,10vw,48px)}.hero h1{font-size:clamp(40px,11vw,56px)}.row .btn{width:100%}.sec{padding:72px 0}.phd{padding-bottom:48px}}

.nd:hover .chev,.nd:focus-within .chev{transform:none}.nd.open .chev{transform:rotate(180deg)}
.nl .nd-b{display:flex;align-items:center;gap:7px;padding:8px 0;color:var(--tx2);font:500 15px Archivo;cursor:pointer}.nl .nd-b:hover,.nd.open .nd-b{color:var(--tx)}
.mm .mm-lb{flex:1;text-align:left;font:800 clamp(34px,9vw,52px)/1.15 Archivo;font-variation-settings:"wdth" 72;text-transform:uppercase;color:var(--tx);padding:10px 0;cursor:pointer}
.job{padding:0;min-height:0}.job-h{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%;flex:1;min-height:220px;padding:clamp(28px,3vw,44px);text-align:left;color:var(--tx);cursor:pointer}
.job-x{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font:600 16px Archivo;color:var(--am)}.job-x i{font:500 20px "JetBrains Mono";font-style:normal;transition:transform .3s var(--q)}.job.open .job-x i{transform:rotate(45deg)}
.job-b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--q)}.job-b>div{overflow:hidden}.job.open .job-b{grid-template-rows:1fr}.job-bi{padding:0 clamp(28px,3vw,44px) clamp(28px,3vw,44px);display:flex;flex-direction:column;gap:18px}.job.open .job-h{flex:none;min-height:0;padding-bottom:20px}
.ben{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}.ben>div{background:var(--bg);padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;gap:10px}.ben h3{font:700 clamp(19px,1.6vw,22px)/1.25 Archivo}.ben p{color:var(--tx2);font-size:16px}
.exg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;border-top:1px solid var(--rule2)}.exg>div{padding:20px 0;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:8px}.exg .k{color:var(--am)}.exg p{font:500 17px/1.5 Archivo;color:var(--tx)}
.fql{display:flex;flex-direction:column}.fql details.meth{margin-top:-1px}.fql details.meth:first-child{margin-top:0}.fql details.meth summary{text-align:left}
.fqs{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,4vw,64px);padding:clamp(40px,4vw,64px) 0;border-bottom:1px solid var(--rule)}.fqs:first-child{padding-top:0}.fqs>div:first-child{display:flex;flex-direction:column;gap:12px;align-self:start}.fqs>*{min-width:0}
.agx{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;border-top:1px solid var(--rule2)}.agx li.x{display:none}.agx.all li.x{display:block}.agx a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--rule);color:var(--tx)}.agx b{font:600 17px/1.3 Archivo;transition:color .2s}.agx span{grid-column:1;font-size:15px;color:var(--tx2)}.agx i{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;color:var(--am)}.agx a:hover b{color:var(--am)}.agb{align-self:flex-start}
@media(max-width:860px){.fqs{grid-template-columns:1fr}}@media(max-width:760px){.ben,.exg,.agx{grid-template-columns:1fr}}

.fcs{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:16px}
.fc{perspective:1400px;min-height:340px}.fc-i{position:relative;height:100%;min-height:340px;transform-style:preserve-3d;transition:transform .7s var(--q)}.fc.on .fc-i{transform:rotateY(180deg)}
.fc-f,.fc-b{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:clamp(24px,2.6vw,36px);border:1px solid var(--rule2);text-align:left}
.fc-f{background:var(--bg);color:var(--tx);cursor:pointer;transition:border-color .3s,background .3s}.fc-f:hover{border-color:var(--am);background:var(--s1)}
.fc-b{background:var(--s1);border-color:rgba(217,160,91,.45);transform:rotateY(180deg);cursor:pointer}
.fc .n{font:500 14px "JetBrains Mono";color:var(--am)}.fc-b .n{padding-right:44px}
.fc-x{margin-top:auto;display:inline-flex;gap:8px;align-items:center;font:500 13px "JetBrains Mono";letter-spacing:.09em;text-transform:uppercase;color:var(--tx2)}.fc-x i{font-style:normal;color:var(--am);font-size:16px}
.fc-b p{font-size:17px;line-height:1.55;color:var(--tx)}.fc-b .lnk{margin-top:auto}
.fc-r{position:absolute;top:14px;right:14px;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--rule2);color:var(--tx2);cursor:pointer}.fc-r:hover{color:var(--am);border-color:var(--am)}
.fcn{margin-top:20px;color:var(--tx2)}.fcn a{color:var(--am);font-weight:600}
.vsw{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;padding:10px 12px;border:1px dashed var(--rule2)}.vsw .k{margin-right:6px}.vsw button{min-height:36px;padding:0 14px;border:1px solid var(--rule2);font:500 13px "JetBrains Mono";color:var(--tx2);cursor:pointer}.vsw button.on{border-color:var(--am);color:var(--am)}
@media(max-width:1100px){.fcs[style*="--n:4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.fcs{grid-template-columns:1fr!important}.fc,.fc-i{min-height:280px}}
.svd{display:block}.svm{max-width:1120px;margin:0 auto}
.svbar{position:sticky;top:var(--hh);z-index:20;display:flex;align-items:center;gap:10px;padding:12px 0;background:var(--bg);border-bottom:1px solid var(--rule)}.svbar .bkl{flex:none}
.svdd{position:relative;flex:1;min-width:0}.svdd-b{display:flex;align-items:center;gap:14px;width:100%;min-height:48px;padding:0 16px;border:1px solid var(--rule2);background:var(--s1);color:var(--tx);text-align:left;cursor:pointer;transition:border-color .2s}.svdd-b:hover,.svdd.open .svdd-b{border-color:var(--am)}.svdd-b b{flex:1;min-width:0;font:600 16px Archivo;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.svdd.open .chev{transform:rotate(180deg)}
.svdd-m{position:absolute;left:0;right:0;top:calc(100% + 6px);display:grid;grid-template-columns:1fr 1fr;gap:0 16px;padding:8px 16px 12px;background:#101013;border:1px solid var(--rule2);box-shadow:0 28px 70px rgba(0,0,0,.55);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s var(--q),transform .3s var(--q),visibility .2s}.svdd.open .svdd-m{opacity:1;visibility:visible;transform:none}
.svdd-m a{display:flex;gap:12px;align-items:baseline;padding:12px 6px;border-bottom:1px solid var(--rule);color:var(--tx2);font:500 15px/1.3 Archivo}.svdd-m a:hover,.svdd-m a.cur{color:var(--tx)}.svdd-m a span{font:500 14px "JetBrains Mono";color:var(--mute)}.svdd-m a.cur span,.svdd-m a:hover span{color:var(--am)}
.svpn{display:flex;gap:8px;flex:none}.svpn a{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--rule2);color:var(--tx);font-size:18px;transition:border-color .2s,color .2s}.svpn a:hover{border-color:var(--am);color:var(--am)}
.svcta{display:flex;padding-top:clamp(40px,4vw,56px)}
.ready .scar{display:block;margin-top:14px;text-align:center}
@media(max-width:640px){.svdd-m{grid-template-columns:1fr}.svbar .bkl{padding:0 14px;font-size:0;gap:0}.svbar .bkl .ar{font-size:16px}.svdd-b{padding:0 12px;gap:10px}.svdd-b .k{display:none}.svdd-b b{white-space:normal;overflow:visible;font-size:15px;line-height:1.2;padding:6px 0}.svpn a{width:44px;height:48px}}


.frm{gap:22px 20px}.frm label{font:500 12.5px "JetBrains Mono";letter-spacing:.08em;text-transform:uppercase;color:var(--mute);gap:10px}
.frm input,.frm select,.frm textarea{min-height:56px;background-color:rgba(236,231,222,.025);font:400 17px Archivo;letter-spacing:0;text-transform:none;transition:border-color .2s,background-color .2s,box-shadow .2s}
.frm input:hover,.frm select:hover,.frm textarea:hover{border-color:rgba(236,231,222,.3)}
.frm input:focus,.frm select:focus,.frm textarea:focus{background-color:rgba(217,160,91,.04);box-shadow:0 0 0 3px rgba(217,160,91,.14)}
.frm ::placeholder{color:var(--mute);opacity:1}.frm select option{background:var(--s1)}
.frm .sub{justify-content:space-between;border-top:1px solid var(--rule2);padding-top:22px;margin-top:4px}
.ctm{box-shadow:0 40px 90px -50px rgba(0,0,0,.9)}.ctp-p{color:var(--tx2);margin-bottom:24px;max-width:60ch}
.lk-l{display:flex;flex-direction:column;gap:22px;position:sticky;top:calc(var(--hh) + 32px)}.lk-l>p{color:var(--tx2);font-size:18px;max-width:44ch}
.rnet{margin-top:10px;padding:clamp(24px,2.5vw,32px);border:1px solid var(--rule2);background:var(--s1);display:flex;flex-direction:column;gap:10px}.rnet b{font:700 22px/1.25 Archivo}.rnet p{color:var(--tx2);font-size:16px}
.fsplit{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px);align-items:start}.fsplit>*{min-width:0}
.fs-t{display:flex;flex-direction:column;gap:20px;position:sticky;top:calc(var(--hh) + 32px)}.fs-t>p{color:var(--tx2);font-size:18px;max-width:42ch}
.chk{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:12px}.chk li{display:flex;gap:12px;align-items:center}.chk li::before{content:"✓";display:grid;place-items:center;width:24px;height:24px;flex:none;border:1px solid rgba(217,160,91,.5);color:var(--am);font:600 13px "JetBrains Mono"}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px}.duo>*{min-width:0}.duo-c{padding:clamp(28px,3vw,44px);border:1px solid var(--rule2);background:var(--s1);display:flex;flex-direction:column;gap:16px;align-items:flex-start}.duo-c p{color:var(--tx2)}.duo-c .nlf{width:100%;margin-top:auto}.duo-c .btn{margin-top:auto}
.tg8{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule2);border:1px solid var(--rule2)}.tg8>div{background:var(--bg);padding:22px 24px;display:flex;flex-direction:column;gap:6px;transition:background .2s}.tg8>div:hover{background:var(--s1)}.tg8 b{font:700 17px Archivo;color:var(--tx)}.tg8 span{color:var(--tx2);font-size:15px}
@media(max-width:960px){.fsplit,.duo{grid-template-columns:1fr}.fs-t,.lk-l{position:static}.tg8{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.tg8{grid-template-columns:1fr}.frm .sub .btn{width:100%}}

.ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.ic .f{fill:currentColor;fill-opacity:.16}.ic .d{fill:currentColor;stroke:none}
.ia *{transform-box:view-box;transform-origin:12px 12px}
.ik{display:inline-flex;align-items:center;gap:10px}.ik .ic{width:17px;height:17px;color:var(--am)}.cl .ik .ic{width:15px;height:15px}
.btn>span{display:inline-flex;align-items:center;gap:10px}.btn .ic{width:18px;height:18px;stroke-width:1.6}.btn .ic .f{fill-opacity:.12}
.cal ul li{display:flex;align-items:center;gap:10px}.cal ul .ic{width:17px;height:17px;color:var(--am)}
.ctt button{display:flex;align-items:center;justify-content:center;gap:10px}.ctt .ic{color:var(--mute);transition:color .2s}.ctt button.on .ic{color:var(--am)}.ctt button:not(.on) .ia *{animation-play-state:paused}
.fc-t{display:flex;justify-content:space-between;align-items:flex-start;width:100%;gap:16px}
.ai{width:68px;height:68px;display:grid;place-items:center;border:1px solid var(--rule2);color:var(--am);background:rgba(217,160,91,.04);transition:border-color .3s,background .3s}.fc-f:hover .ai{border-color:rgba(217,160,91,.6);background:rgba(217,160,91,.09)}
.ai .ic{width:36px;height:36px;stroke-width:1.35}.ai .ic .f{fill-opacity:.2}
.fc-b .n.ik .ic{width:16px;height:16px}
.x-ring{animation:xRing 3.2s var(--q) infinite}@keyframes xRing{0%,30%,100%{transform:none}3%,9%,15%{transform:rotate(-10deg)}6%,12%,18%{transform:rotate(10deg)}21%{transform:none}}
.x-w{opacity:0;animation:xW 3.2s ease-out infinite}.x-w2{animation-delay:.15s}@keyframes xW{0%{opacity:0}6%,22%{opacity:1}40%,100%{opacity:0}}
.x-drop{opacity:0;animation:xDrop 2.4s ease-in infinite}.x-d2{animation-delay:.8s}.x-d3{animation-delay:1.6s}@keyframes xDrop{0%{opacity:0;transform:translateY(-2px)}20%{opacity:1}55%{opacity:1;transform:translateY(5px)}70%,100%{opacity:0;transform:translateY(7px)}}
.x-dash{stroke-dasharray:2.2 2.6;animation:xDash 1.2s linear infinite}@keyframes xDash{to{stroke-dashoffset:-9.6}}
.x-node{fill:currentColor;animation:xNode 2.4s ease-in-out infinite}@keyframes xNode{0%,100%{fill-opacity:0}50%{fill-opacity:.4}}
.x-spin{animation:xSpin 6s linear infinite}@keyframes xSpin{to{transform:rotate(360deg)}}
.x-blink{animation:xBlink 1.4s ease-in-out infinite}@keyframes xBlink{50%{opacity:.15}}
.x-scan{animation:xScan 3.6s ease-in-out infinite}@keyframes xScan{0%,100%{transform:none}25%{transform:translate(-3px,-2px)}50%{transform:translate(-5px,3px)}75%{transform:translate(1px,2px)}}
.x-b{animation:xDrop2 3.8s var(--qs) infinite both}.x-b2{animation-delay:.25s}.x-b3{animation-delay:.5s}.x-b4{animation-delay:.75s}@keyframes xDrop2{0%{opacity:0;transform:translateY(-7px)}12%,78%{opacity:1;transform:none}92%,100%{opacity:0;transform:none}}
.ia .x-g{transform-box:fill-box;transform-origin:50% 100%;animation:xGrow 3s var(--qs) infinite both}.ia .x-g2{animation-delay:.15s}.ia .x-g3{animation-delay:.3s}@keyframes xGrow{0%{transform:scaleY(.25)}35%,80%{transform:none}100%{transform:scaleY(.25)}}
.ia .x-sw{transform-origin:3px 3px;animation:xSw 3s ease-in-out infinite}@keyframes xSw{0%,100%{transform:none}30%{transform:rotate(-12deg)}60%{transform:rotate(6deg)}}
.x-hand{animation:xSpin 4s linear infinite}.x-hand2{animation:xSpin 40s linear infinite}
.ia .x-sp{transform-box:fill-box;transform-origin:center;animation:xSp 2.8s ease-in-out infinite}@keyframes xSp{0%,100%{transform:none}50%{transform:scale(.82) rotate(10deg)}}
.ia .x-tw{transform-box:fill-box;transform-origin:center;animation:xTw 2.8s ease-in-out infinite}@keyframes xTw{0%,100%{opacity:1;transform:none}50%{opacity:.2;transform:scale(.4)}}
.x-type,.x-chk{stroke-dasharray:12;animation:xDraw 3.4s var(--q) infinite}@keyframes xDraw{0%{stroke-dashoffset:12}35%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:12;opacity:0}}
.x-ping{animation:xPing 2.4s ease-out infinite}@keyframes xPing{0%{transform:scale(.5);opacity:1}80%,100%{transform:scale(1.9);opacity:0}}
.x-bob{animation:xBob 2.4s ease-in-out infinite}@keyframes xBob{0%,100%{transform:none}50%{transform:translateY(-2px)}}
.x-fly{animation:xFly 3.6s var(--q) infinite}@keyframes xFly{0%,55%,100%{transform:none;opacity:1}70%{transform:translate(5px,-5px);opacity:0}71%{transform:translate(-5px,5px);opacity:0}85%{transform:none;opacity:1}}

.v3 .fc,.v3 .fc-i{min-height:310px}.v3 .fc-f{padding:0;gap:0}.v3 .stg{width:100%;flex:1;display:grid;place-items:center;border-bottom:1px solid var(--rule2);background:linear-gradient(var(--rule) 1px,transparent 1px) 0 0/22px 22px,linear-gradient(90deg,var(--rule) 1px,transparent 1px) 0 0/22px 22px;transition:background-color .3s}.v3 .fc-f:hover .stg{background-color:rgba(217,160,91,.05)}
.v3 .stg .ai{width:auto;height:auto;border:0;background:none}.v3 .stg .ic{width:64px;height:64px;stroke-width:1.1}.v3 .ft3{width:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:20px 24px 22px;text-align:left}.v3 .ft3>span:first-child{display:flex;flex-direction:column;gap:8px}.v3 .fc-x{margin:0;flex:none}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:200;padding:10px 16px;background:var(--am);color:var(--bg);font-weight:600;transition:top .2s}.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--am);outline-offset:3px}
.lgl{max-width:72ch;display:flex;flex-direction:column;gap:14px}.lgl h2{margin-top:20px}.lgl p{color:var(--tx2)}

/* ===== Added for the live site (2026-10-20) ===== */
/* Booking: real Google Calendar appointment page inside the modal and the contact "Book a time" tab.
   Google's page is white, so it sits on a white panel; the link below is a fallback for blocked iframes. */
.bkf{display:flex;flex-direction:column}
.bkf iframe{display:block;width:100%;height:min(680px,calc(100vh - 190px));min-height:460px;border:0;background:#fff}
.bkf-l{align-self:flex-start;padding:12px 24px;color:var(--tx2)}.bkf-l:hover{color:var(--am)}
.ctp .bkf iframe{height:680px}
@media(max-width:560px){.bkf iframe{height:calc(100vh - 170px);min-height:420px}.ctp .bkf iframe{height:640px}}
/* Form error note (shown if Formspree can't be reached) */
.ok.err{border-left-color:#E5484D;background:rgba(229,72,77,.08);margin-top:12px}.ok.err a{color:var(--am);text-decoration:underline}
button.btn:disabled{opacity:.6;cursor:progress}
/* Closed booking modal and mobile menu are also hidden from keyboard and screen readers
   (visibility flips only after the fade-out, so the look is unchanged) */
.md,.mm{visibility:hidden;transition:opacity .25s var(--q),visibility 0s linear .25s}.md.on,.mm.on{visibility:visible;transition:opacity .25s var(--q)}


/* ---- Polish pass (issue #7) ---- */
/* FAQ category icons: the service-card .ai box, held still (a reading list should not move) */
.fqs .ai{margin-bottom:6px}.fqs .ai .ic *{animation:none}
@media(max-width:860px){.fqs .ai{width:52px;height:52px}.fqs .ai .ic{width:28px;height:28px}}
/* Blog card meta: small static icons for post kind (amber) and category (muted, like its label) */
.pm .ik{gap:8px}.pm .ic{width:15px;height:15px}.pm .k:not(.am) .ic{color:var(--mute)}
/* Booking modal footer: phone + email carry the same icons as the footer contact links */
.md-f a{display:inline-flex;align-items:center;gap:8px}.md-f a .ic{width:15px;height:15px;color:var(--mute);transition:color .2s}.md-f a:hover .ic{color:var(--am)}
/* Bigger tap areas on phones without moving anything (padding offset by equal negative margin, or an invisible hit box) */
@media(max-width:700px){
.crumb a{padding:13px 0;margin:-13px 0}
.sg::before{content:"";position:absolute;inset:-12px -3px}
.lnk{position:relative}.lnk::before{content:"";position:absolute;inset:-13px 0}
.ft a:not(.btn):not(.brand){padding:6px 0;margin:-6px 0}.lg2 a{padding:11px 0;margin:-11px 0}
.seg button{min-height:44px}
.cap a{padding:13px 0;margin:-13px 0}.fc-r::before{content:"";position:absolute;inset:-4px}
/* Mobile call bar + contact tabs: keep labels on one line so both buttons/tabs match in height */
.mcta .btn{padding:0 10px;font-size:13px;letter-spacing:.04em}.mcta .btn>span{white-space:nowrap;gap:8px}
.ctt button{padding:0 12px;gap:8px;white-space:nowrap}
}
/* Calculator gate: breakdown blurred until an email unlocks it */
[data-gx]{transition:filter .5s var(--q),opacity .5s var(--q)}
.lc.gated [data-gx]{filter:blur(6px);opacity:.45;user-select:none;pointer-events:none}
.gate{display:grid;gap:12px;padding:clamp(20px,2.4vw,28px);border:1px solid var(--am);background:rgba(217,160,91,.06)}
.gate b{font:700 clamp(20px,1.8vw,24px)/1.25 Archivo}
.gate .nlf{margin-top:0;flex-wrap:wrap}
.gate .nlf input{flex:1 1 auto;min-width:min(200px,100%)}
.gate-n{font-size:14px;color:var(--mute)}
/* Exit popup on /contact (reuses the booking modal frame .md) */
.xp .md-b{width:min(820px,100%)}
.xp-in{display:grid;gap:14px;padding:clamp(24px,4vw,44px)}
.xp-in h2{font-size:clamp(32px,4.4vw,52px)}
.xp-l{color:var(--tx2)}
.xp-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:10px;background:var(--rule2);border:1px solid var(--rule2)}
.xp-c{display:flex;flex-direction:column;gap:12px;padding:clamp(20px,2.5vw,28px);background:var(--bg)}
.xp-c b{font:700 21px/1.25 Archivo}
.xp-c p{color:var(--tx2);font-size:16px}
.xp-c>.btn,.xp-c .nlf{margin-top:auto}
.xp-c .nlf{flex-direction:column}
@media(max-width:700px){.xp-g{grid-template-columns:1fr}}
/* Referral partners: logo card on /referrals */
.ptn{display:grid;grid-template-columns:128px minmax(0,1fr);gap:clamp(18px,3vw,32px);align-items:center;max-width:780px;padding:clamp(20px,2.5vw,28px);border:1px solid var(--rule2);background:var(--s1);color:var(--tx);transition:border-color .3s var(--q)}
.ptn:hover,.ptn:focus-visible{border-color:var(--am);color:var(--tx)}
.ptn img{width:100%;height:auto;border-radius:50%}
.ptn b{display:block;font:700 22px/1.25 Archivo;margin-bottom:6px}
.ptn p{color:var(--tx2);font-size:16px;margin:10px 0 12px}
@media(max-width:560px){.ptn{grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:start}}

/* One booking button at a time: on phones the bottom bar is the only one, so in-page,
   header and menu booking buttons hide (modals like the exit popup keep theirs) */
@media(max-width:700px){main [data-book],.top .btn,.mm [data-book],.ready .scar{display:none}}
/* A duo grid with a single card (Work with me page) spans the full width */
.duo>:only-child{grid-column:1/-1}
/* Referral benefit icons: the service-card icon box, held still */
.ex3i .ai .ic *{animation:none}
@media(max-width:860px){.ex3i .ai{width:52px;height:52px}.ex3i .ai .ic{width:28px;height:28px}}
/* lead-flow 2026-10-24: custom-built block, newsletter opt-in checkbox, footer without newsletter */
.cust{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,64px);margin-top:clamp(48px,6vw,88px);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--rule)}
.cust .k{display:block;margin-bottom:14px}.cust-im{display:block;aspect-ratio:16/10}.cust-im:hover img{transform:scale(1.03)}.cust h3{margin-bottom:18px!important}.cust h3{margin:0;max-width:20ch}.cust .body p{margin:0 0 16px;color:var(--tx2);max-width:62ch}.cust .row{gap:12px 28px;margin-top:8px;flex-wrap:wrap}
@media(max-width:800px){.cust{grid-template-columns:1fr}}
.frm label.nlo{flex-direction:row;align-items:flex-start;gap:12px;font:400 15px Archivo;letter-spacing:0;text-transform:none;color:var(--tx2);cursor:pointer;line-height:1.45}
.frm .nlo input{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;min-height:0;max-width:20px;padding:0;margin:1px 0 0;border:1px solid var(--rule2);background:var(--s1);display:grid;place-items:center;cursor:pointer}
.frm .nlo input:checked{background:var(--am);border-color:var(--am)}.nlo input:checked::after{content:"";width:5px;height:10px;border:solid #0A0A0B;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.nlo input:focus-visible{outline:2px solid var(--am);outline-offset:2px}

/* trust + popup */
/* risk-reversal line: small, quiet, sits under a main booking button */
.rr{margin:14px 0 0;color:var(--tx2);font-size:15px;line-height:1.5;max-width:46ch}
.hero .rr{color:var(--tx)}
.ready .rr-c{text-align:center;margin-left:auto;margin-right:auto}
.svcta{flex-wrap:wrap;align-items:center;gap:6px 24px}.svcta .rr{margin:0}
/* "what happens next" box under the contact and referral forms */
.nxt{margin-top:24px;padding:18px 20px;border:1px solid var(--rule2);background:var(--s1);display:grid;gap:10px}
.nxt ol{margin:0;padding-left:22px;display:grid;gap:6px;color:var(--tx2);font-size:15px;line-height:1.5}
.nxt li::marker{color:var(--am);font-weight:700}
/* "who this is not for" list on the contact page */
.nf-p{color:var(--tx2);margin-top:12px;max-width:46ch}
.nf{list-style:none;margin:0;padding:0;display:grid;gap:14px;align-content:start}
.nf li{padding:0 0 14px 18px;border-left:2px solid var(--rule2);color:var(--tx2);font-size:17px;line-height:1.55}
/* calm inline card on a service page after 3+ services viewed */
/* the single exit popup is a one-offer card, narrower than the old two-card version */
.xp1 .md-b{width:min(580px,100%)}
.xp-in .btn{justify-self:start;margin-top:6px}
/* Quick / Full tabs on the revenue calculator */
.ctab{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--rule2);margin-bottom:clamp(24px,3vw,40px)}
.ctab button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:64px;padding:14px 20px;text-align:left;background:var(--bg);color:var(--tx2);border-right:1px solid var(--rule2);transition:background .2s,color .2s}
.ctab button:last-child{border-right:0}
.ctab button b{font:700 17px/1.25 Archivo;color:inherit}.ctab button span{font:500 13px/1.3 "JetBrains Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.ctab button:hover{background:rgba(236,231,222,.04);color:var(--tx)}
.ctab button[aria-selected=true]{background:var(--s1);color:var(--tx);box-shadow:inset 0 -2px 0 var(--am)}.ctab button[aria-selected=true] span{color:var(--am)}
[role=tabpanel][hidden]{display:none}
@media(max-width:640px){.ctab button{padding:12px 14px}.ctab button b{font-size:15px}.ctab button span{font-size:11px}}
.gate .nlf.frm{display:grid;grid-template-columns:1fr;gap:14px}.gate .nlf.frm .btn{width:100%}

/* card icons */
.cr2.ex3i .ai .ic *,.ben.ex3i .ai .ic *{animation:none}
.cr2.ex3i .ai,.ben.ex3i .ai{margin-bottom:6px}
.ex3i .ai{align-self:flex-start;margin-bottom:6px}
@media(max-width:860px){.cr2.ex3i .ai,.ben.ex3i .ai{width:52px;height:52px}.cr2.ex3i .ai .ic,.ben.ex3i .ai .ic{width:28px;height:28px}}
/* Secondary actions are quiet text links: one solid button per section */
.row .lnk{min-height:44px}.row{align-items:center}

/* legit polish: legal pages, contact "talk to me" line, About origin and monthly note */
.lgl code{font:500 .9em "JetBrains Mono",monospace;color:var(--tx)}
.lgl ul{display:flex;flex-direction:column;gap:10px;padding-left:22px;color:var(--tx2)}.lgl li{list-style:disc}.lgl li::marker{color:var(--am)}
.lgl h2{scroll-margin-top:96px}.lgl b{color:var(--tx)}.lgl a{text-decoration:underline;text-underline-offset:3px}
.lgl-m{font:500 14px/1.5 "JetBrains Mono",monospace;color:var(--mute)}
.lgl-sum{padding:22px 24px;background:var(--s1);border:1px solid var(--rule2);display:flex;flex-direction:column;gap:12px}.lgl-sum ul{color:var(--tx)}
.lgl-toc{display:flex;flex-wrap:wrap;gap:8px 20px;padding:4px 0 8px;font-size:15px}.lgl-toc a{color:var(--tx2);text-decoration:none;padding:8px 0}.lgl-toc a:hover{color:var(--am)}
.talk{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--rule);color:var(--tx2);font-size:16px;line-height:1.5}.talk img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--rule2)}.talk b{color:var(--tx);font-weight:600}
.why,.now{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:start}.why h2,.now h2{margin-top:10px;max-width:16ch}
.now ul{display:flex;flex-direction:column;gap:12px;padding-left:22px;color:var(--tx2);max-width:64ch}.now li{list-style:disc}.now li::marker{color:var(--am)}.now a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:860px){.why,.now{grid-template-columns:1fr}}

/* free tools: /tools page, leak check results, research calculator, website check slot, nav + services entry points */
/* page index: three cards that jump to each tool */
.tl-ix-s{padding:clamp(32px,4vw,56px) 0 0}
.tl-ix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tl-c{display:flex;flex-direction:column;gap:10px;padding:clamp(20px,2.4vw,28px);border:1px solid var(--rule2);background:var(--s1);color:var(--tx);transition:border-color .2s,background .2s}
.tl-c:hover{border-color:rgba(217,160,91,.55);background:rgba(217,160,91,.05);color:var(--tx)}
.tl-c b{font:700 clamp(20px,1.8vw,24px)/1.2 Archivo}.tl-c p{color:var(--tx2);font-size:16px;margin:0}
.tl-c .tl-m{font-size:13px;margin-top:auto;padding-top:6px}.tl-c .lnk{margin-top:4px}
@media(max-width:860px){.tl-ix{grid-template-columns:1fr}}
/* tool pages */
.tl-s{scroll-margin-top:84px}#site-check{scroll-margin-top:110px}
/* calculator */
.tc{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);border:1px solid var(--rule2);background:var(--s1)}
.tc-in{padding:clamp(24px,3.2vw,44px);display:flex;flex-direction:column;gap:28px;border-right:1px solid var(--rule)}
.tc-g{border:0;display:flex;flex-direction:column;gap:22px;min-width:0}.tc-g legend{padding:0 0 14px;margin-bottom:4px;width:100%;border-bottom:1px solid var(--rule)}
.tc-g+.tc-g{padding-top:6px}
.tf{display:flex;flex-direction:column;gap:10px;min-width:0}
.tf-t{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.tf-l{font:500 16px/1.4 Archivo;color:var(--tx2)}
.tf output{flex:none;font:700 clamp(20px,1.8vw,24px)/1 Archivo;font-variant-numeric:tabular-nums;color:var(--tx)}
.tf-seg{flex-wrap:wrap}.tf-seg button{flex:1 1 auto;padding:0 12px;font-size:13px}
.tc-out{padding:clamp(24px,3.2vw,44px);background:radial-gradient(120% 80% at 100% 0%,rgba(217,160,91,.13),transparent 60%);min-width:0}
.tc-st{position:sticky;top:96px;display:flex;flex-direction:column;gap:24px}
.tc-st>div:first-child{display:flex;flex-direction:column;gap:10px}
.tc-why{color:var(--tx2);font-size:16px;margin:6px 0 0;max-width:46ch}
.tc-lock{display:flex;flex-direction:column;gap:22px}
.tc-bd{display:flex;flex-direction:column;gap:24px;transition:filter .5s var(--q),opacity .5s var(--q)}
.tc-bd[inert]{filter:blur(6px);opacity:.4;user-select:none;pointer-events:none;max-height:420px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.tc-start{display:grid;gap:8px;padding:18px 20px;border-left:2px solid var(--am);background:rgba(217,160,91,.08)}.tc-start p{margin:0;color:var(--tx2)}.tc-start b{color:var(--tx)}
.tc-bd .plan li{font-size:16px;padding:14px 0}
.tl-form{grid-template-columns:1fr 1fr}.tc .tl-form{grid-template-columns:1fr}
.tl-form .sub{border-top:0;padding-top:0;margin-top:0}
.tc .ok{margin:0}
.tc.mini{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tc.mini .tc-out{display:flex;flex-direction:column;justify-content:center;gap:10px}
@media(max-width:900px){.tc,.tc.mini{grid-template-columns:1fr}.tc-in{border-right:0;border-bottom:1px solid var(--rule)}.tc-st{position:static}}
@media(max-width:640px){.tl-form{grid-template-columns:1fr}.tl-form .sub .btn{width:100%}.tf-t{flex-direction:column;align-items:flex-start;gap:4px}}
/* formulas and research list (shown on /sources) */
.tc-f{font:500 14px/1.7 "JetBrains Mono",monospace;color:var(--tx);background:var(--s1);border:1px solid var(--rule2);padding:18px 20px;white-space:pre-wrap;overflow-wrap:anywhere}
.tc-src{margin-top:clamp(28px,3vw,44px);max-width:820px;padding-top:24px;border-top:1px solid var(--rule)}
.tc-src ol{list-style:none;display:grid;gap:16px;margin-top:16px;counter-reset:src}
.tc-src li{counter-increment:src;display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 10px}.tc-src li::before{content:counter(src);grid-row:span 2;font:500 14px/1.6 "JetBrains Mono",monospace;color:var(--mute)}
.tc-src a{font-weight:600;overflow-wrap:anywhere}.tc-src p{font-size:15px;color:var(--tx2);margin:0}
/* website check slot (check.js replaces the placeholder when it loads) */
.ck-ph{display:grid;gap:10px;max-width:780px;padding:clamp(24px,3.4vw,40px);border:1px dashed var(--rule2);background:var(--s1)}
.ck-ph b{font:700 clamp(20px,2vw,24px)/1.25 Archivo;color:var(--tx)}.ck-ph p{margin:0;color:var(--tx2);max-width:60ch}.ck-ph a{text-decoration:underline;text-underline-offset:3px}
/* services overview card, after the nine services */
.tl-svc{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px 28px;margin-top:clamp(28px,3vw,40px);padding:clamp(20px,2.4vw,28px) clamp(20px,2.6vw,32px);border:1px solid rgba(217,160,91,.45);background:linear-gradient(160deg,rgba(217,160,91,.09),var(--s1) 65%);color:var(--tx);transition:border-color .2s}
.tl-svc:hover{border-color:var(--am);color:var(--tx)}
.tl-svc>.k{padding:6px 10px;border:1px solid var(--am);white-space:nowrap}
.tl-svc b{display:block;font:700 clamp(19px,1.7vw,22px)/1.3 Archivo}.tl-svc p{margin:6px 0 0;color:var(--tx2);font-size:16px}
@media(max-width:760px){.tl-svc{grid-template-columns:1fr;justify-items:start}}
/* nav: 10th Services dropdown item + mobile menu item */
.nl .dd a.dd-tl{grid-column:1/-1;margin-top:8px;padding:14px 12px;border:1px solid rgba(217,160,91,.4);background:rgba(217,160,91,.06);color:var(--tx);align-items:center}
.nl .dd a.dd-tl:hover{border-color:var(--am);background:rgba(217,160,91,.12)}
.nl .dd a.dd-tl span{color:var(--am)}.dd-tl em{font-style:normal;font-weight:600;flex:1}
.dd-tl i,.mm-tl i{font:500 12px/1 "JetBrains Mono",monospace;font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:#160f06;background:var(--am);padding:5px 8px}
.mm .mm-s a.mm-tl{display:flex;align-items:center;gap:12px;color:var(--tx);margin-top:4px}
@media(max-width:560px){.tc .bd li{grid-template-columns:1fr}.tc .bd em{order:-1;grid-row:2}}

/* ===== Free tools page: section headers, quick calculator, /sources ===== */
/* each tool section: label, heading, one-line intro */
.tl-sh{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(28px,3.4vw,48px);max-width:820px}
.tl-dx{color:var(--tx2);font-size:clamp(17px,1.3vw,19px);max-width:62ch}
.tl-hw{margin-top:clamp(20px,2.4vw,28px);font-size:15px}.tl-hw a{color:var(--tx2);text-decoration:underline;text-underline-offset:3px}.tl-hw a:hover{color:var(--am)}
#website-agent,#calculator{scroll-margin-top:84px}
/* quick calculator: three answers on the left, one number on the right */
.qk{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);border:1px solid var(--rule2);background:var(--s1)}
.qk-in{padding:clamp(24px,3.2vw,44px);display:flex;flex-direction:column;gap:28px;border-right:1px solid var(--rule)}
.qk-f{display:flex;flex-direction:column;gap:10px}
.qk select,.qk-d input{width:100%;min-height:56px;padding:12px 16px;border:1px solid var(--rule2);border-radius:0;background-color:rgba(236,231,222,.025);color:var(--tx);font:400 17px Archivo}
.qk select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--am) 50%),linear-gradient(135deg,var(--am) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.qk select option{background:var(--s1)}
.qk select:focus,.qk-d input:focus{border-color:var(--am);outline:0;box-shadow:0 0 0 3px rgba(217,160,91,.14)}
.qk-d{position:relative;display:block}.qk-d i{position:absolute;left:16px;top:50%;transform:translateY(-50%);font:500 17px Archivo;font-style:normal;color:var(--tx2)}.qk-d input{padding-left:34px;font-variant-numeric:tabular-nums}
.qk-h{font-size:14px;color:var(--mute)}
.qk-out{padding:clamp(24px,3.2vw,44px);display:flex;flex-direction:column;justify-content:center;gap:10px;background:radial-gradient(120% 80% at 100% 0%,rgba(217,160,91,.13),transparent 60%)}
.qk-out .row{margin-top:10px}
@media(max-width:900px){.qk{grid-template-columns:1fr}.qk-in{border-right:0;border-bottom:1px solid var(--rule)}}
/* projects: link to the matching free tool */
.pj-t .pj-tl{color:var(--am)}
/* Sources and methodology */
.src-p{padding-top:clamp(40px,4vw,64px)}
.src-w{display:flex;flex-direction:column;gap:clamp(48px,6vw,80px);max-width:880px}
.src-ix{display:flex;flex-wrap:wrap;gap:10px}.src-ix a{padding:10px 14px;border:1px solid var(--rule2);font:500 13px/1.3 "JetBrains Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--tx2)}.src-ix a:hover{border-color:var(--am);color:var(--tx)}
.src-s{display:flex;flex-direction:column;gap:18px;scroll-margin-top:100px}
.src-s .body{display:flex;flex-direction:column;gap:14px;color:var(--tx2)}.src-s .body b{color:var(--tx)}
.src-h{font:700 20px/1.3 Archivo;margin-top:8px}
.src-l{color:var(--tx2);max-width:62ch}
.src-as{list-style:none;display:grid;border-top:1px solid var(--rule2)}
.src-as li{display:flex;flex-direction:column;gap:8px;padding:20px 0;border-bottom:1px solid var(--rule)}
.src-tg{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.src-tg .k.am{padding:3px 8px;border:1px solid var(--am)}
.src-as h3{font:700 19px/1.3 Archivo;color:var(--tx)}.src-as p{margin:0;color:var(--tx2)}
.src-s .tc-src{margin-top:0;padding-top:0;border-top:0}.src-s .tc-src ol{margin-top:0}.tc-src p .k{margin-right:6px;color:var(--am)}
/* calculator unlock gate: Quick shows one number, the rest (and the Full tab) opens with an email or a booked call */
.qk-out .gate{margin-top:18px}
.qk-more:not([hidden]){display:flex;flex-direction:column;gap:10px}
.cg-b{gap:12px}
.flk{display:grid}.flk>*{grid-area:1/1;min-width:0}
.flk-c[inert]{filter:blur(6px);opacity:.35;user-select:none;pointer-events:none;max-height:720px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
.flk-g{align-self:start;justify-self:center;width:min(620px,100%);padding-top:clamp(20px,5vw,64px);position:relative;z-index:1}
.flk-g .gate{background:var(--s1);box-shadow:0 30px 80px rgba(0,0,0,.55)}
.flk.open .flk-g{display:none}
@media(max-width:700px){main .cg [data-cgbook]{display:inline-flex}}

/* ===== Polish pass (2026-10-25) ===== */
/* ===== Footer (2026-10-27: every footer rule lives here, earlier layered overrides removed) =====
   One 4-track grid for the whole footer: who I am, then three equal link columns.
   The newsletter band reuses the same tracks, so its text sits under the first two
   and the form lines up with the Extras column and the right edge. */
.foot{--ftc:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr);--ftg:clamp(32px,3.5vw,48px);border-top:1px solid var(--rule);padding:clamp(64px,6vw,88px) 0 40px}
.ft,.foot .ft-nl{display:grid;grid-template-columns:var(--ftc);column-gap:var(--ftg)}
.ft{row-gap:40px;align-items:start}
.ft>div{display:flex;flex-direction:column;min-width:0}
.ft p{color:var(--tx2);font-size:15px}
.foot .fth{font:500 13px "JetBrains Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin:0 0 6px}
.ft a:not(.brand):not(.btn){color:var(--tx2);font-size:15px}.ft a:not(.brand):not(.btn):hover{color:var(--tx)}
/* who I am */
.ft>.ft-id{gap:18px}
.ft-id>p:not(.ft-me){max-width:34ch}
.ft p.ft-me{display:flex;align-items:center;gap:14px;max-width:40ch;padding-top:18px;border-top:1px solid var(--rule);font-size:14px;line-height:1.5}
.ft-me img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--rule2)}
.ft-me b{display:block;color:var(--tx);font-weight:600}
/* link columns */
.ft>.ft-col{gap:10px}
.ft a.ft-tl{display:inline-flex;align-items:center;gap:10px}
.ft-tl i{white-space:nowrap;font:500 11px/1 "JetBrains Mono",monospace;font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:#160f06;background:var(--am);padding:4px 6px}
.ft .ar{margin-left:6px;color:var(--mute);font-size:13px;transition:color .2s,transform .2s var(--q)}.ft a:hover .ar{color:var(--am)}
.ft a.fi{display:inline-flex;align-items:center;gap:10px;max-width:100%}.ft a.fi .ic{width:15px;height:15px;flex:none;color:var(--mute);transition:color .2s}.ft a.fi:hover .ic{color:var(--am)}
.ft a.fi span{min-width:0;overflow-wrap:anywhere}
/* newsletter band: text over tracks 1-2, form over tracks 3-4 */
.foot .ft-nl{row-gap:20px;align-items:center;margin-top:64px;padding-top:40px;border-top:1px solid var(--rule)}
.ft-nl[hidden]{display:none}
.ft-nl>div{grid-column:1/3;display:flex;flex-direction:column;gap:6px}
.ft-nl p{margin:0}.ft-nl p:not(.fth){color:var(--tx2);font-size:15px;max-width:46ch}
.ft-nl .nlf,.ft-nl>.ok{grid-column:3/-1;margin:0}.ft-nl .nlf input,.ft-nl .nlf .btn{min-height:52px}.ft-nl .nlf .btn{padding:0 22px}
.ft-nl:not([hidden])+.lg2{margin-top:40px}
.lg2{align-items:center}
/* tablet: who I am on its own row, the three link columns stay side by side */
@media(max-width:1100px){
  .foot{--ftc:repeat(3,minmax(0,1fr))}
  .ft>.ft-id{grid-column:1/-1}
  .ft-nl>div{grid-column:1/2}.ft-nl .nlf,.ft-nl>.ok{grid-column:2/-1}
}
/* phone: Site and Extras side by side, Contact full width; newsletter stacks */
@media(max-width:640px){
  .foot{--ftc:repeat(2,minmax(0,1fr));--ftg:24px}
  .ft>.ft-col:last-child{grid-column:1/-1}
  .ft-nl>div,.ft-nl .nlf,.ft-nl>.ok{grid-column:1/-1}
}
@media(max-width:700px){
  .foot{padding:56px 0 120px}
  .ft{row-gap:36px}
  .ft>.ft-col{gap:0}
  .ft .ft-col a:not(.btn){display:flex;align-items:center;min-height:44px;padding:0;margin:0}
  .ft .ft-col .fth{margin-bottom:4px}
  .lg2{flex-direction:column;align-items:flex-start;gap:8px}
  .lg2 span:last-child{gap:0 22px}
  .lg2 a{display:inline-flex;align-items:center;min-height:44px;padding:0;margin:0}
}

/* Blog: the three free guides sit above the posts */
.bgd{margin-bottom:clamp(56px,6vw,88px)}
.bgd-h{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 32px;flex-wrap:wrap;margin-bottom:24px}
.bgd-h h2{margin-top:10px;max-width:40ch}
.bgd-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.bgd-c{display:flex;flex-direction:column;gap:12px;padding:clamp(22px,2.4vw,32px);background:var(--bg);color:var(--tx);transition:background .3s var(--q)}
.bgd-c:hover{background:var(--s1);color:var(--tx)}
.bgd-c h3{font:700 22px/1.25 Archivo;transition:color .2s}.bgd-c:hover h3{color:var(--am)}
.bgd-c p{color:var(--tx2);font-size:15px}
.bgd-c .lnk{margin-top:auto;padding-top:6px}
.bgd-c .k .ic{color:var(--am)}
@media(max-width:900px){.bgd-g{grid-template-columns:minmax(0,1fr)}}

/* Card grids: titles in a row share a height (site.js eqT); the project row lines up on its titles and links */
.tg8>div>b{display:block}
@media(min-width:901px){.pj3{align-items:end}}

/* Booking window: a loading line until Calendly arrives; sits above the phone call bar; one-line close button */
.bkf{position:relative}
.bkf-ld{position:absolute;inset:0 0 auto;height:min(680px,calc(100vh - 190px));min-height:460px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--tx2);background:var(--s1);pointer-events:none;transition:opacity .3s var(--q),visibility .3s}
.bkf-ld::before{content:"";width:22px;height:22px;border:2px solid var(--rule2);border-top-color:var(--am);border-radius:50%;animation:bkspin .8s linear infinite}
@keyframes bkspin{to{transform:rotate(360deg)}}
.bkf.ok .bkf-ld{opacity:0;visibility:hidden}.bkf:not(.ok) iframe{background:var(--s1)}
.md{z-index:200}
html:has(.md.on) .mcta{visibility:hidden}
.md-h button{white-space:nowrap}

/* Phones: the hero keeps its one booking button above the fold (the bottom bar shows only after you scroll past it) */
@media(max-width:700px){main .hero .row [data-book]{display:inline-flex}}

/* Anchor jumps clear the sticky header */
main [id]{scroll-margin-top:110px}

/* Phones: every standalone link and control is at least 44px tall */
@media(max-width:700px){
  main a.lnk{min-height:44px;display:inline-flex;align-items:center}
  .brand{min-height:44px}
  .fc-r{min-width:44px;min-height:44px}
  .src-ix a{min-height:44px;display:inline-flex;align-items:center}
  .lgl-toc a{min-height:44px;display:flex;align-items:center;padding-top:0;padding-bottom:0}
}
@media(max-width:480px){.sg{min-height:44px}}
/* ===== Section wayfinding (issue #40, 2026-10-27) =====
   Long pages (home, /services, the nine service pages, /about, /faq) read as distinct parts of one page, using three quiet cues together:
   1. --band: a lifted ink a few % lighter than --bg. Every second part sits on it, so the change is felt more than seen.
   2. The seam: a hairline with a short amber stroke set off by two small gaps, like a mortar joint. Neighbouring seams shift
      the stroke sideways (running bond), so the joints never stack into a column.
   3. A small numbered mono label (the existing eyebrow) that names each part. Built in site.js (sl() and eb()). */
:root{--band:#0D0D10;--seam-bg:var(--bg)}
.band{background:var(--band);--seam-bg:var(--band)}
/* sections that sit inside a narrow column (service pages, FAQ categories) still band the full screen width:
   a spread shadow paints the sides, clip-path keeps it from adding height or a sideways scroll */
.svs.band,.fqs.band{box-shadow:0 0 0 100vmax var(--band);clip-path:inset(0 -100vmax)}
/* seam: replaces the plain 1px borders between sections. --so = where the content column starts, --j = stroke offset */
.bt,.svs,.fqs,.svm .svcta{border-top:0;border-bottom:0;position:relative}
.bt::before,.svs+.svs::before,.fqs+.fqs::before,.svs+.svcta::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--rule);pointer-events:none}
.bt::after,.svs+.svs::after,.fqs+.fqs::after,.svs+.svcta::after{content:"";position:absolute;top:0;left:calc(var(--so,0px) + var(--j,0px));width:40px;height:1px;box-sizing:content-box;border-inline:7px solid var(--seam-bg);background:var(--am);background-clip:padding-box;opacity:.85;pointer-events:none}
.bt{--so:calc(max(0px,(100% - var(--max)) / 2) + var(--pad) - 7px)}
.svs,.fqs,.svm .svcta{--so:-7px}
/* running bond: every other seam moves its stroke half a brick to the right */
.bt:nth-of-type(odd),.svs:nth-of-type(odd),.fqs:nth-of-type(odd){--j:clamp(56px,8vw,112px)}
/* service pages: generous space between parts, tight inside them */
.svs{padding:clamp(56px,6vw,92px) 0}
.svs.band{padding:clamp(60px,6.4vw,100px) 0}
.svm .svcta{padding-top:clamp(48px,5vw,72px)}
.svs .sl{margin-bottom:16px}.ucg>div>.sl{margin-bottom:-12px}
.sl .k{font-size:13px}
/* FAQ: the accordion gets its own quiet container (plain ink inset on the band) */
.svs-faq .fql,.fqs .fql{background:var(--bg)}
/* FAQ page categories: same rhythm as service parts */
.fqs{padding:clamp(48px,5vw,80px) 0}.fqs:first-child{padding-top:0}
@media(max-width:700px){.svs .sl{margin-bottom:12px}.ucg>div>.sl{margin-bottom:-14px}}
