/* Swift Serve SoCal — Apple-style monochrome theme (visual layer only) */
:root{--navy:#000;--navy2:#111;--gold:#000;--gold2:#222;--goldtx:#6e6e73;--bg:#fff;--bg2:#f5f5f7;--surface:#fff;--ink:#1d1d1f;--muted:#6e6e73;--line:#e5e5ea;--chip:#fff;--shadow:0 20px 50px rgba(0,0,0,.08);--hero:#000;--r:22px;--fs-0:clamp(1rem,.97rem + .15vw,1.08rem);--fs-1:clamp(1.12rem,1.05rem + .35vw,1.3rem);--fs-3:clamp(2rem,1.5rem + 2.2vw,3.4rem);--fs-4:clamp(2.7rem,1.6rem + 5vw,5.6rem);--ease:cubic-bezier(.2,.8,.2,1)}
[data-theme=dark]{--bg:#000;--bg2:#0b0b0c;--surface:#141416;--ink:#f5f5f7;--muted:#a1a1a6;--line:#2c2c2e;--chip:#1c1c1e;--goldtx:#a1a1a6;--hero:#000;--shadow:0 20px 50px rgba(0,0,0,.5)}
html,body,button,input,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,"Helvetica Neue",Arial,sans-serif!important;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.ftr h2{font-family:inherit!important;letter-spacing:-.025em;font-weight:700}
body{background:var(--bg);color:var(--ink);font-size:var(--fs-0);line-height:1.6}
section{padding-block:clamp(72px,10vw,140px)}
section.p0,.stats{padding-block:0}
p.sub,.sub{color:var(--muted);font-size:var(--fs-1);line-height:1.55}
/* header: glass */
.hdr{background:rgba(255,255,255,.72)!important;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);color:var(--ink);border-bottom:1px solid rgba(0,0,0,.08)}
[data-theme=dark] .hdr{background:rgba(0,0,0,.66)!important;border-bottom-color:rgba(255,255,255,.1)}
.nav{height:60px}
.brand,.brand b,.brand span{color:var(--ink)!important}
.brand svg rect,.brand svg path{fill:currentColor}
.menu a{color:var(--ink);opacity:.8;font-weight:500;font-size:.9rem;transition:opacity .2s}
.menu a:hover,.menu a[aria-current]{opacity:1}
.menu a:after{display:none!important}
.iconbtn{color:var(--ink)}
.progress{background:var(--ink);height:2px;opacity:.5}
/* buttons */
.btn{background:var(--ink)!important;color:var(--bg)!important;font-weight:600!important;border-radius:980px;padding:14px 26px;box-shadow:none!important;transition:transform .3s var(--ease),opacity .2s}
.btn:hover{opacity:.85;transform:scale(1.02)}
.btn.ghost{background:transparent!important;color:var(--ink)!important;border:1.5px solid currentColor!important}
.menu .btn.sm{padding:7px 16px;font-size:.85rem;opacity:1;color:var(--bg)!important}
.hero .btn,.phead .btn,.cbig .btn,.panel .btn,.stats .btn{background:#fff!important;color:#000!important}
.hero .btn.ghost,.phead .btn.ghost,.cbig .btn.ghost,.panel .btn.ghost{background:transparent!important;color:#fff!important}
/* hero */
.hero,.phead{background:#000!important;color:#fff}
.hero:before,.hero:after,.ring,.phead:before,.phead:after{display:none!important}
.hero{padding:clamp(80px,12vw,160px) 0}
.hero h1{font-size:var(--fs-4);line-height:1.02;letter-spacing:-.045em;font-weight:700}
.hero h1 em,.phead h1 em{color:#fff;background:linear-gradient(90deg,#fff,#8e8e93);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero .lead,.phead p{color:#a1a1a6!important}
.hero .lead b{color:#fff;font-weight:500}
.hero .badge,.hero .proofline,.hero .owner{display:none}
.glass{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.12)!important;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:28px;box-shadow:0 40px 80px rgba(0,0,0,.5)}
.tick{background:#fff!important}
.tick svg path{stroke:#000}
.badge{border-color:rgba(255,255,255,.3);color:#d1d1d6}
.eyebrow{color:var(--muted)!important;letter-spacing:.08em;font-weight:600;font-size:.8rem}
svg [stroke="#E2B93B"],svg [stroke="#C9A227"]{stroke:currentColor}
svg [fill="#E2B93B"],svg [fill="#C9A227"]{fill:currentColor}
/* surfaces */
.stats{background:var(--bg2)!important;color:var(--ink)}
.stats .n{font-weight:700;letter-spacing:-.04em;color:var(--ink)}
.stats .l{color:var(--muted)}
.alt{background:var(--bg2)!important}
.card,.steps li,.faq details,.formcard,.mapcard{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:none;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{box-shadow:var(--shadow)}
.panel,.cbig{background:#000!important;color:#fff;border:0!important;border-radius:28px!important}
[data-theme=dark] .panel,[data-theme=dark] .cbig{background:#141416!important}
.cbig .lbl,.panel .lbl{color:#a1a1a6!important}
.pricebar{background:var(--ink)!important;color:var(--bg)!important;border-radius:var(--r)}
.chip:hover,.chip.hl{border-color:var(--ink)}
input,select,textarea{border-radius:12px!important}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ink)!important;outline-offset:1px;border-color:var(--ink)!important;box-shadow:none!important}
a{color:inherit}
main a:not(.btn):not(.chip):not(.card){text-decoration-thickness:1px;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
/* footer */
.ftr{background:var(--bg2)!important;color:var(--muted);border-top:1px solid var(--line)}
.ftr h2{color:var(--ink)!important;letter-spacing:.02em;text-transform:none;font-size:.85rem}
.ftr a{color:var(--muted)}.ftr a:hover{color:var(--ink)}
.ftr b{color:var(--ink)}
.legalbar{border-top:1px solid var(--line)!important}
/* mobile call bar */
.callbar{background:rgba(255,255,255,.8)!important;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid rgba(0,0,0,.08);box-shadow:none!important}
[data-theme=dark] .callbar{background:rgba(0,0,0,.7)!important;border-top-color:rgba(255,255,255,.12)}
.callbar a{background:#000!important;color:#fff!important;border-radius:980px!important;font-weight:600;border:0!important}
.callbar a+a{background:transparent!important;color:var(--ink)!important;border:1.5px solid var(--ink)!important}
/* chat */
.ssc-launch{background:#fff!important;color:#000!important;border:1px solid rgba(0,0,0,.1)!important;box-shadow:0 10px 30px rgba(0,0,0,.15)!important}
[data-theme=dark] .ssc-launch{background:#1c1c1e!important;color:#fff!important;border-color:#333!important}
.ssc-head{background:#000!important;border-bottom:1px solid #222!important}
.ssc-panel{border-radius:22px!important;border-color:#e5e5ea!important;font-family:inherit!important}
/* reveal: subtle */
.motion .rv{opacity:0;transform:translate3d(0,28px,0);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.motion .rv.in{opacity:1;transform:none}
@media (max-width:900px){.hero{padding:72px 0 64px}.nav{height:56px}}
/* keep Swifty off footer links: room above callbar */
@media (max-width:720px){.ftr{padding-bottom:calc(170px + env(safe-area-inset-bottom,0px))!important}}
.tilt{transform-style:preserve-3d;will-change:transform}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion .rv{opacity:1;transform:none}}
/* photography */
.hero,.phead{background:#000 var(--bgimg,url(/assets/img/courthouse-1024.webp)) center/cover no-repeat!important}
.hero{--bgimg:url(/assets/img/courthouse-1024.webp)}
.phead{--bgimg:url(/assets/img/street-1024.webp)}
.hero>*,.phead>*{position:relative;z-index:1}
.hero:before,.phead:before{display:block!important;content:""!important;position:absolute!important;inset:0!important;width:auto!important;height:auto!important;border-radius:0!important;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 55%,rgba(0,0,0,.45))!important;animation:none!important;z-index:0!important}
@media (max-width:900px){.hero,.phead{--bgimg:url(/assets/img/courthouse-640.webp)}.phead{--bgimg:url(/assets/img/street-640.webp)}.hero:before,.phead:before{background:rgba(0,0,0,.78)!important}}
.pband{position:relative;margin:0;height:clamp(320px,60vw,620px);overflow:hidden;background:#000}
.pband img{width:100%;height:115%;object-fit:cover;display:block;transform:scale(1.08);will-change:transform}
.pband figcaption{position:absolute;inset:auto 0 0;padding:clamp(24px,5vw,64px);color:#fff;font-size:var(--fs-3);font-weight:700;letter-spacing:-.03em;line-height:1.1;background:linear-gradient(transparent,rgba(0,0,0,.7));max-width:none}
body *:not(svg):not(svg *){font-family:inherit!important}
.brand *{color:inherit!important}.brand small,.brand span span{opacity:.6}
.stats .n{font-size:clamp(2.2rem,1.6rem + 2vw,3.2rem)}
.iconbtn{border:1px solid var(--line)!important;color:var(--ink)!important;border-radius:50%!important;background:transparent!important}
.chatfab,.ssc-launch{background:#fff!important;color:#000!important;border:1px solid rgba(0,0,0,.1)!important;box-shadow:0 10px 30px rgba(0,0,0,.15)!important;font-weight:600!important}
[data-theme=dark] .chatfab{background:#1c1c1e!important;color:#fff!important;border-color:#333!important}
.callbar a+a{background:var(--bg)!important}
.ftr a{display:inline-block;padding-block:4px}
.legalbar a,.legalbar nav a{color:var(--muted)!important}.legalbar p{color:var(--muted)!important}
.legalbar{color:var(--muted)!important}.ftr{color:var(--muted)!important}
.menu a.on,.menu a[aria-current=page]{color:var(--ink)!important;opacity:1;font-weight:600}
@media (max-width:1060px){.menu{inset:60px 0 auto 0!important;background:rgba(255,255,255,.92)!important;-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);border-bottom:1px solid var(--line)!important;padding:12px 6% 24px!important}[data-theme=dark] .menu{background:rgba(0,0,0,.9)!important}.menu a{font-size:1.4rem!important;font-weight:600;padding:12px 0!important;border-bottom:1px solid var(--line)}.menu a.btn{margin-top:14px;border:0;font-size:1.05rem!important;padding:14px!important}}
@media (min-width:901px){.nav{height:60px}}
.nav{height:60px!important}html{scroll-padding-top:72px}
@media (max-width:1060px){.menu{background:var(--bg)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:0 30px 60px rgba(0,0,0,.12)}}
.hdr:has(.menu.open){-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)!important}
.ic{background:#000!important;color:#fff!important}.ic svg [stroke]:not([stroke=none]){stroke:#fff!important}.ic svg [fill]:not([fill=none]){fill:#fff!important}
[data-theme=dark] .ic{background:#fff!important;color:#000!important}[data-theme=dark] .ic svg [stroke]:not([stroke=none]){stroke:#000!important}[data-theme=dark] .ic svg [fill]:not([fill=none]){fill:#000!important}
.check li:before{background:#000 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' stroke='%23fff' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat!important}[data-theme=dark] .check li:before{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' stroke='%23000' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat!important}
/* contrast pass 20261021g */
.btn,.btn.ghost2,.btn.warn,.btn.xs,button.btn{background:#000!important;color:#fff!important;border-color:#000!important}
.btn svg,.btn.ghost2 svg{color:inherit}.btn svg [stroke]:not([stroke=none]){stroke:currentColor!important}.btn svg [fill]:not([fill=none]){fill:currentColor!important}
[data-theme=dark] .btn,[data-theme=dark] .btn.ghost2,[data-theme=dark] .btn.warn,[data-theme=dark] .btn.xs{background:#fff!important;color:#000!important;border-color:#fff!important}
.btn.ghost{background:transparent!important;color:var(--ink)!important}
.hero .btn,.phead .btn,.cbig .btn,.panel .btn,.stats .btn{background:#fff!important;color:#000!important}
.hero .btn.ghost,.phead .btn.ghost,.cbig .btn.ghost,.panel .btn.ghost{background:transparent!important;color:#fff!important}
.btn.danger{background:#b3261e!important;color:#fff!important}.btn.ok,.paybtn{background:#1f7a4d!important;color:#fff!important}
.btn:disabled,.btn[disabled],.btn[aria-disabled=true],button:disabled{background:#d1d1d6!important;color:#3a3a3c!important;border-color:#d1d1d6!important;opacity:1!important;cursor:not-allowed}
[data-theme=dark] .btn:disabled,[data-theme=dark] button:disabled{background:#3a3a3c!important;color:#e5e5ea!important;border-color:#3a3a3c!important}
.segbtn[aria-pressed=true],[role=tab][aria-selected=true]{background:#000!important;color:#fff!important}
[data-theme=dark] .segbtn[aria-pressed=true],[data-theme=dark] [role=tab][aria-selected=true]{background:#fff!important;color:#000!important}
.segbtn,.modebar button{color:var(--ink)!important}
.paytabs button{color:var(--ink)!important}.paytabs button[aria-selected="true"]{background:#000!important;color:#fff!important}
[data-theme=dark] .paytabs button[aria-selected="true"]{background:#fff!important;color:#000!important}
.linkbtn,.rowbtn:hover{color:var(--ink)!important}
.pt-top a.site{color:var(--ink)!important;text-decoration:underline;text-underline-offset:3px}
.skip{background:#000!important;color:#fff!important}
.modebar button[aria-pressed=true]{border-color:var(--ink)!important;background:var(--ink)!important;color:var(--bg)!important}
.revcard .newtag,.menu a.custlink[aria-current=page]{background:#000!important;color:#fff!important}
[data-theme=dark] .revcard .newtag,[data-theme=dark] .menu a.custlink[aria-current=page]{background:#fff!important;color:#000!important}
.testbadge{color:#5a4100!important}
.cardhead,.checkout-lead,.paysum b{color:var(--ink)!important}
.cbig p a,.cbig li a,.cbig dd a,.panel p a,.panel li a,.phead p a{color:#fff!important}
.pt-foot{background:#000!important;color:#d1d1d6!important}.pt-foot a{color:#fff!important}
.mk{background:#000!important;color:#fff!important}.mk svg [fill]:not([fill=none]){fill:#fff!important}[data-theme=dark] .mk{background:#fff!important;color:#000!important}[data-theme=dark] .mk svg [fill]:not([fill=none]){fill:#000!important}
/* ===== v3 polish layer (visual only) — tokens, glass, mesh, bento, spotlight ===== */
:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--glass-bg:rgba(255,255,255,.62);--glass-bd:rgba(0,0,0,.08);--glass-hi:rgba(255,255,255,.7);--spot:rgba(0,0,0,.06);--ring:rgba(0,0,0,.12);--r:24px;--ease-out:cubic-bezier(.16,1,.3,1)}
[data-theme=dark]{--glass-bg:rgba(22,22,24,.55);--glass-bd:rgba(255,255,255,.1);--glass-hi:rgba(255,255,255,.08);--spot:rgba(255,255,255,.08);--ring:rgba(255,255,255,.16)}
body{text-rendering:optimizeLegibility}
h2{letter-spacing:-.035em;line-height:1.08}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);text-transform:uppercase;font-size:.72rem!important;letter-spacing:.14em!important}
.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink)}
.hero .eyebrow,.phead .eyebrow{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#d1d1d6!important}.hero .eyebrow:before,.phead .eyebrow:before{background:#fff}
/* glass nav: floating pill on desktop */
@media (min-width:1061px){.hdr{background:transparent!important;border-bottom:0!important;-webkit-backdrop-filter:none;backdrop-filter:none;padding-top:10px;pointer-events:none}.hdr .nav{pointer-events:auto;background:var(--glass-bg);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);border:1px solid var(--glass-bd);border-radius:999px;padding:0 10px 0 18px;box-shadow:0 1px 0 var(--glass-hi) inset,0 10px 30px rgba(0,0,0,.08);height:58px!important;transition:box-shadow .3s var(--ease-out),transform .3s var(--ease-out)}.hdr.small .nav{box-shadow:0 1px 0 var(--glass-hi) inset,0 14px 40px rgba(0,0,0,.14)}.menu a{border-radius:999px;padding:8px 14px!important;transition:background-color .2s,opacity .2s}.menu a:not(.btn):hover{background:var(--spot)}html{scroll-padding-top:90px}}
/* hero mesh + grain */
.hero,.phead{isolation:isolate}
.hero:after,.phead:after{display:block!important;content:""!important;position:absolute!important;inset:0!important;width:auto!important;height:auto!important;border-radius:0!important;z-index:0!important;pointer-events:none;background:radial-gradient(60% 50% at 85% 10%,rgba(255,255,255,.16),transparent 60%),radial-gradient(40% 40% at 10% 100%,rgba(255,255,255,.08),transparent 70%)!important;animation:none!important}
.motion .hero:after{animation:v3mesh 22s ease-in-out infinite alternate!important}
@keyframes v3mesh{to{transform:translate3d(-3%,2%,0) scale(1.06)}}
.hero h1{text-wrap:balance}
.hero h1 em,.phead h1 em{background:linear-gradient(100deg,#fff 20%,#9a9aa0 50%,#fff 80%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text}
.motion .hero h1 em{animation:v3sheen 7s var(--ease-out) 1.2s infinite}
@keyframes v3sheen{0%,60%{background-position:100% 0}100%{background-position:-100% 0}}
.hero .glass,.glass{background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.04))!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 40px 80px rgba(0,0,0,.55)!important;-webkit-backdrop-filter:blur(26px) saturate(160%);backdrop-filter:blur(26px) saturate(160%)}
.facts li{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08)}.facts li:last-child{border-bottom:0}
/* hero intro motion */
.motion .hero .herogrid>div>*{animation:v3up .9s var(--ease-out) both}
.motion .hero .herogrid>div>*:nth-child(2){animation-delay:.06s}.motion .hero .herogrid>div>*:nth-child(3){animation-delay:.14s}.motion .hero .herogrid>div>*:nth-child(4){animation-delay:.22s}.motion .hero .herogrid>div>*:nth-child(5){animation-delay:.3s}
.motion .hero .glass{animation:v3up 1.1s var(--ease-out) .25s both}
@keyframes v3up{from{opacity:0;transform:translate3d(0,18px,0)}}
/* cards: spotlight + hairline gradient border (21st "spotlight/glow card" pattern) */
.card,.steps li,.revcard,.cities li{position:relative;isolation:isolate;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important}
.card:before,.steps li:after,.revcard:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s var(--ease-out);background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),var(--spot),transparent 45%);z-index:-1}
.card:hover:before,.steps li:hover:after,.revcard:hover:before{opacity:1}
.card:hover,.steps li:hover{border-color:var(--ring)!important;box-shadow:0 1px 0 var(--glass-hi) inset,0 24px 60px rgba(0,0,0,.08)!important}
[data-theme=dark] .card:hover{box-shadow:0 24px 60px rgba(0,0,0,.6)!important}
.card .more{color:var(--ink)!important;font-weight:600}.card .more:after{display:inline-block;transition:transform .25s var(--ease-out)}.card:hover .more:after{transform:translateX(4px)}
.ic{border-radius:14px!important;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 8px 20px rgba(0,0,0,.18)}
/* bento grid on home services (desktop only) */
@media (min-width:1061px){#services .grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(200px,auto)}#services .grid>li:nth-child(1){grid-column:span 2;grid-row:span 2;background:linear-gradient(160deg,#111,#000)!important;color:#fff;border-color:#222!important;padding:40px}#services .grid>li:nth-child(1) h3{color:#fff;font-size:1.9rem;letter-spacing:-.03em}#services .grid>li:nth-child(1) p{color:#c7c7cc;font-size:1.05rem;max-width:34ch}#services .grid>li:nth-child(1) .more{color:#fff!important}#services .grid>li:nth-child(1) .ic{background:#fff!important}#services .grid>li:nth-child(1) .ic svg [stroke]:not([stroke=none]){stroke:#000!important}#services .grid>li:nth-child(1):before{background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.12),transparent 45%)}#services .grid>li:nth-child(8){grid-column:span 2}
[data-theme=dark] #services .grid>li:nth-child(1){background:linear-gradient(160deg,#f5f5f7,#d9d9de)!important;color:#000;border-color:#fff!important}[data-theme=dark] #services .grid>li:nth-child(1) h3,[data-theme=dark] #services .grid>li:nth-child(1) .more{color:#000!important}[data-theme=dark] #services .grid>li:nth-child(1) p{color:#3a3a3c}[data-theme=dark] #services .grid>li:nth-child(1) .ic{background:#000!important}[data-theme=dark] #services .grid>li:nth-child(1) .ic svg [stroke]:not([stroke=none]){stroke:#fff!important}}
/* steps: numbered rail */
.steps li:before{background:var(--ink)!important;color:var(--bg)!important;box-shadow:0 0 0 6px var(--bg2)!important;font-weight:700}
/* stats band: glass strip */
.stats ul{background:var(--glass-bg);border:1px solid var(--glass-bd);border-radius:28px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);margin-block:-40px 0;position:relative;z-index:2;box-shadow:0 30px 60px rgba(0,0,0,.08)}
.stats{background:transparent!important}
.stats li{border-left-color:var(--line)!important}
@media (max-width:720px){.stats ul{margin-block:-24px 0}.stats li{border-top-color:var(--line)!important}}
/* pricing bar / panels / cta band */
.pricebar{background:linear-gradient(120deg,#000,#1c1c1e)!important;color:#fff!important;border-radius:28px!important;padding:28px 32px!important;box-shadow:0 30px 60px rgba(0,0,0,.18)}
.pricebar .btn,.pricebar .btn.dark{background:#fff!important;color:#000!important;border-color:#fff!important}
[data-theme=dark] .pricebar{background:linear-gradient(120deg,#f5f5f7,#d1d1d6)!important;color:#000!important}[data-theme=dark] .pricebar .btn{background:#000!important;color:#fff!important;border-color:#000!important}
.panel,.cbig,.band{background:radial-gradient(120% 120% at 100% 0%,#2a2a2d 0%,#000 55%)!important;box-shadow:0 30px 70px rgba(0,0,0,.25)}
.band{color:#fff}.band .btn{background:#fff!important;color:#000!important}
/* buttons: micro-interactions, keep contrast */
.btn{min-height:44px;letter-spacing:-.01em;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 8px 20px rgba(0,0,0,.14)!important;transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),opacity .2s!important}
.btn:hover{opacity:1!important;transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 14px 30px rgba(0,0,0,.2)!important}
.btn.ghost,.hero .btn.ghost,.phead .btn.ghost{box-shadow:none!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hero .btn.ghost,.phead .btn.ghost{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.35)!important}
.btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.hero .btn:focus-visible,.phead .btn:focus-visible{outline-color:#fff}
/* forms & faq */
.formcard{border-radius:28px!important;box-shadow:0 1px 0 var(--glass-hi) inset,0 30px 70px rgba(0,0,0,.07)!important}
.faq details{transition:box-shadow .3s var(--ease-out),border-color .3s}.faq details:hover{border-color:var(--ring)!important}
.faq summary:after{color:var(--ink)!important}
.chip{transition:transform .25s var(--ease-out),background-color .2s,border-color .2s!important}.chip[aria-pressed=true]{background:var(--ink)!important;color:var(--bg)!important;border-color:var(--ink)!important}
.mapcard{border-radius:28px!important}
/* photo band */
.pband{border-radius:0}.pband img{filter:grayscale(1) contrast(1.05)}
/* mobile glass call bar + chat */
@media (max-width:720px){.callbar{margin:0 10px calc(10px + env(safe-area-inset-bottom,0px));left:0;right:0;border-radius:22px;border:1px solid var(--glass-bd)!important;background:var(--glass-bg)!important;-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);box-shadow:0 1px 0 var(--glass-hi) inset,0 16px 40px rgba(0,0,0,.18)!important;padding:8px!important}.callbar a{min-height:44px;display:flex!important;align-items:center;justify-content:center}}
.ssc-launch,.chatfab{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:transform .3s var(--ease-out),box-shadow .3s!important}.ssc-launch:hover,.chatfab:hover{transform:translateY(-2px)}
/* footer */
.ftr{background:linear-gradient(var(--bg2),var(--bg))!important}
/* reveal: blur-in */
.motion .rv{filter:blur(6px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out),filter .9s var(--ease-out)!important}
.motion .rv.in{filter:none}
.motion .grid>.rv:nth-child(4n+2){transition-delay:.06s!important}.motion .grid>.rv:nth-child(4n+3){transition-delay:.12s!important}.motion .grid>.rv:nth-child(4n+4){transition-delay:.18s!important}
@media (prefers-reduced-motion:reduce){.motion .rv{filter:none!important;opacity:1!important;transform:none!important}.hero:after{animation:none!important}.card:before{display:none}}
.v3consent{position:fixed;left:16px;bottom:16px;z-index:96;max-width:360px;display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:20px;background:var(--glass-bg);border:1px solid var(--glass-bd);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);box-shadow:0 16px 40px rgba(0,0,0,.16);color:var(--ink);font-size:.86rem;line-height:1.45;animation:v3up .5s var(--ease-out) both;transition:opacity .3s,transform .3s}
.v3consent.out{opacity:0;transform:translateY(10px)}.v3consent a{color:var(--ink);text-decoration:underline}.v3consent div{display:flex;gap:8px;align-items:center}.v3consent .btn{padding:8px 18px!important;min-height:40px}
.v3no{background:transparent;border:0;color:var(--ink);font:inherit;font-weight:600;padding:10px 12px;min-height:40px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media (max-width:720px){.v3consent{left:10px;right:10px;max-width:none;bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
[data-theme=dark] .v3consent{background:rgba(28,28,30,.85)}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:clip}.lenis.lenis-smooth iframe{pointer-events:none}

:root{--glass-bg:rgba(255,255,255,.8)}[data-theme=dark]{--glass-bg:rgba(22,22,24,.78)}
@media (min-width:1061px){.hdr,.hdr.small{background:transparent!important;box-shadow:none!important}.hdr:after{display:none}#services .grid>li:nth-child(1){display:flex;flex-direction:column;justify-content:flex-end}#services .grid>li:nth-child(1) .ic{margin-bottom:auto}}
@media (max-width:720px){.v3consent{bottom:calc(150px + env(safe-area-inset-bottom,0px))}}
#ss-upd{background:rgba(0,0,0,.88)!important;color:#fff!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-height:44px}
[data-theme=dark] #ss-upd{background:rgba(255,255,255,.92)!important;color:#000!important}
@media (max-width:720px){#ss-upd{bottom:calc(84px + env(safe-area-inset-bottom,0px))!important}.v3consent{bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;right:74px!important}}
body:has(.ia-wrap) .v3consent{display:none!important}
.dlg::backdrop{background:rgba(0,0,0,.45)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dlg{border-radius:24px!important}
.limited{background:linear-gradient(90deg,#000,#2c2c2e,#000)!important;color:#fff!important}
pre.json{background:#000!important;color:#f5f5f7!important}
.wcard.balance{background:linear-gradient(135deg,#000,#2c2c2e)!important;color:#fff!important}
.alerts li.warn,.alert.info,.viewas,.opt:has(input:checked){background:var(--bg2)!important;color:var(--ink)!important}
.taxnote,.linkbox{background:var(--bg2)!important;color:var(--ink)!important}
.photoreq input[type=file]{background:var(--bg2)!important}
.progress span{background:var(--ink)!important}
/* v3 3D hero object (decorative) */
.p3d{position:absolute;z-index:0!important;pointer-events:auto;perspective:1100px;width:300px;height:340px;right:calc(50% - 40px);top:50%;margin-top:-170px;opacity:.9}
@media (min-width:1061px){.p3d{right:auto;left:calc(50% - 120px + min(1160px,92vw)*0 );left:46%}}
@media (max-width:1060px){.p3d{width:170px;height:200px;right:4%;top:18px;margin-top:0;opacity:.85}.hero{padding-top:200px!important}}
.p3d-rig,.p3d-stack{position:absolute;inset:0;transform-style:preserve-3d}
.p3d-rig{transform:rotateX(14deg) rotateY(-28deg)}
.p3d-sheet,.p3d-env{position:absolute;left:15%;top:8%;width:70%;height:84%;border-radius:6px;backface-visibility:visible}
.p3d-sheet{background:linear-gradient(160deg,#fff,#d9d9de);box-shadow:0 0 0 1px rgba(0,0,0,.08) inset;padding:14% 12%;display:flex;flex-direction:column;gap:9%}
.p3d-sheet i{display:block;height:3%;min-height:3px;border-radius:2px;background:#c7c7cc}.p3d-sheet i:nth-child(1){width:60%;background:#8e8e93}.p3d-sheet i:nth-child(3){width:85%}.p3d-sheet i:nth-child(5){width:45%}
.p3d-sheet b{margin-top:auto;align-self:flex-end;width:30%;height:3px;background:#1d1d1f;border-radius:2px}
.p3d-sheet.s0{transform:translateZ(-36px) rotateZ(-7deg)}.p3d-sheet.s1{transform:translateZ(-24px) rotateZ(4deg)}.p3d-sheet.s2{transform:translateZ(-12px) rotateZ(-2deg)}.p3d-sheet.s3{transform:translateZ(0)}
.p3d-env{transform:translateZ(18px) translateY(38%);height:52%;top:30%;background:linear-gradient(160deg,#2c2c2e,#0a0a0a);box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 30px 60px rgba(0,0,0,.6);overflow:hidden}
.p3d-flap{position:absolute;inset:0 0 auto 0;height:62%;background:linear-gradient(170deg,#3a3a3c,#111);clip-path:polygon(0 0,100% 0,50% 100%)}
.p3d-seal{position:absolute;left:50%;top:62%;width:30%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#bdbdc2 70%);box-shadow:0 4px 12px rgba(0,0,0,.5);display:grid;place-items:center}
.p3d-seal svg{width:62%;fill:#000}
.hero .herogrid{position:relative;z-index:1}
.gsap-on .gs3d{transition:box-shadow .5s var(--ease),border-color .3s!important;filter:none!important}
@media (min-width:1061px){.hero h1,.hero .lead{position:relative}.p3d{opacity:.55}}
.hero>.p3d{position:absolute!important;z-index:0!important}
@media (min-width:1061px){.p3d{left:calc((100vw - min(1160px,92vw))/2 + min(1160px,92vw)*.56 - 300px)!important;right:auto!important}}
@media (max-width:1060px){.hero{padding-top:72px!important}.motion .hero{padding-top:210px!important}}
@media (min-width:1061px){.hero>.p3d{width:220px;height:250px;margin-top:0;top:84px;opacity:1;left:calc((100vw - min(1160px,92vw))/2 + (min(1160px,92vw) - 48px)*.5814 + 48px + ((min(1160px,92vw) - 48px)*.4186 - 220px)/2)!important}.hero .glass{margin-top:170px}}
/* ===== customer scroll story ===== */
.story{background:var(--bg)}
.st-wrap{margin-top:36px;display:grid;gap:28px}
.st-stage{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.st-v{position:relative;height:260px;border-radius:24px;background:radial-gradient(120% 100% at 50% 0%,#2c2c2e,#000 70%);overflow:hidden;perspective:900px;display:grid;place-items:center;border:1px solid #1c1c1e}
.st-caps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.st-caps li{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.st-caps h3{margin:0 0 4px}.st-caps p{color:var(--muted);font-size:.95rem;margin:0}
.st-n{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--bg);font-weight:700;font-size:.9rem}
.st-prog{display:none}
/* visuals */
.st-tray{position:absolute;bottom:22%;left:50%;width:62%;height:16%;transform:translateX(-50%) rotateX(58deg);border-radius:14px;background:linear-gradient(rgba(255,255,255,.22),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.st-doc{position:absolute;left:calc(50% - 50px);bottom:30%;width:100px;height:128px;border-radius:6px;background:linear-gradient(160deg,#fff,#d1d1d6);padding:16px 12px;display:flex;flex-direction:column;gap:10px;transform:rotateX(20deg);box-shadow:0 20px 40px rgba(0,0,0,.5)}
.st-doc i,.st-proof i{display:block;height:4px;border-radius:2px;background:#aeaeb2}.st-doc i:first-child{width:60%;background:#636366}
.st-form{position:absolute;right:7%;top:12%;width:34%;padding:10px;border-radius:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);display:flex;flex-direction:column;gap:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.st-form span{height:12px;border-radius:5px;background:rgba(255,255,255,.18)}.st-form b{font-size:.62rem;text-align:center;background:#fff;color:#000;border-radius:999px;padding:4px}
.st-phone{width:120px;height:210px;border-radius:26px;background:#111;border:2px solid #3a3a3c;padding:8px;box-shadow:0 30px 60px rgba(0,0,0,.6);transform-style:preserve-3d}
.st-screen{height:100%;border-radius:19px;background:linear-gradient(#1c1c1e,#000);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff}
.st-amt{font-weight:700;font-size:1.25rem;letter-spacing:-.02em}
.st-pay{width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center}.st-pay svg,.st-done svg{width:60%;fill:none;stroke:#000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.st-paid{font-size:.62rem;color:#c7c7cc}
.st-map{position:relative;width:86%;transform:rotateX(38deg);transform-style:preserve-3d}
.st-map svg{width:100%;display:block}.st-map .z{fill:rgba(255,255,255,.05);stroke:rgba(255,255,255,.25);stroke-dasharray:4 5}
.st-map text{fill:#8e8e93;font:700 11px system-ui,sans-serif;letter-spacing:1.5px}.st-map .hq{fill:#fff}
.st-route{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round}
.st-house path{fill:#fff}
.st-pin{position:absolute;left:14%;top:52%;width:34px;transform:translate(-50%,-100%) rotateX(-38deg)}.st-pin svg path{fill:#fff}.st-pin svg circle{fill:#000}
.st-proof{position:relative;width:150px;height:180px;border-radius:8px;background:linear-gradient(160deg,#fff,#e5e5ea);padding:14px;display:flex;flex-direction:column;gap:8px;color:#000;box-shadow:0 30px 60px rgba(0,0,0,.6)}
.st-proof b{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
.st-ph{display:flex;gap:6px;margin-top:auto}.st-ph span{flex:1;aspect-ratio:1;border-radius:5px;background:linear-gradient(135deg,#8e8e93,#3a3a3c)}
.st-sealx{position:absolute;right:-12px;top:-12px;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#8e8e93);box-shadow:0 4px 10px rgba(0,0,0,.4);border:2px solid #000}
.st-done{position:absolute;bottom:12%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;background:#fff;color:#000;font-weight:700;font-size:.85rem;padding:8px 14px 8px 8px;border-radius:999px}.st-done svg{width:22px;height:22px;background:#000;border-radius:50%;stroke:#fff;padding:3px}
@media (max-width:900px){.st-stage{grid-template-columns:1fr}.st-caps{grid-template-columns:1fr}.st-v{height:230px}}
/* pinned mode (GSAP on) */
.gsap-on .st-wrap{grid-template-columns:1.2fr .8fr;align-items:center}
.gsap-on .st-stage{display:block;position:relative;height:min(62vh,480px)}
.gsap-on .st-v{position:absolute;inset:0;height:auto;opacity:0}
.gsap-on .st-v1{opacity:1}
.gsap-on .st-caps{grid-template-columns:1fr;gap:10px}
.gsap-on .st-caps li{opacity:.4;transition:opacity .4s,border-color .4s,transform .4s var(--ease-out)}
.gsap-on .st-caps li.on{opacity:1;border-color:var(--ink);transform:translateX(6px)}
.gsap-on .st-prog{display:block;grid-column:1/-1;height:3px;border-radius:3px;background:var(--line);overflow:hidden}.gsap-on .st-prog span{display:block;height:100%;background:var(--ink);transform-origin:0 50%;transform:scaleX(0)}
@media (max-width:900px){.gsap-on .st-wrap{grid-template-columns:1fr;gap:14px}.gsap-on .st-stage{height:40vh}.gsap-on .st-caps li{display:none}.gsap-on .st-caps li.on{display:flex;transform:none}.gsap-on .story h2{font-size:1.6rem}.gsap-on .story .mt2{display:none}}
.gsap-on .st-caps li{opacity:.62}.gsap-on .st-caps li.on{opacity:1}
/* A: iOS pin fix — no content-visibility while GSAP measures, stable small-viewport units */
.gsap-on .cv{content-visibility:visible!important;contain-intrinsic-size:none!important}
.gsap-on .st-stage{height:min(62svh,480px)}
@media (max-width:900px){.gsap-on .st-stage{height:40svh}}
.gsap-on #story{min-height:100svh;background:var(--bg)}
/* extras */
.wd{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}.wd>span{display:inline-block}

.shine{position:absolute;inset:-20% auto -20% 0;width:40%;z-index:2;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-150%) skewX(-18deg);mix-blend-mode:soft-light}
[data-theme=dark] .shine{background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent);mix-blend-mode:normal}
.cpin{float:right;width:22px;height:22px;margin-left:8px}.cpin svg{width:100%;height:100%}.cpin path{fill:var(--ink)}.cpin circle{fill:var(--bg)}
.ic{box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 6px 0 -2px rgba(0,0,0,.25),0 14px 24px rgba(0,0,0,.2)!important}

.faq details p{overflow:hidden}
@media (prefers-reduced-motion:reduce){.shine,.cpin{display:none}}
#pricing .card,.card:has(.shine){overflow:hidden}

/* B: GSAP owns every reveal. CSS never hides content. */
.motion .rv,.motion .rv.in,.gsap-on .rv{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
.gsap-on .card,.gsap-on .steps li,.gsap-on .revcard,.gsap-on .cities li{transition:box-shadow .5s var(--ease),border-color .3s!important}
.st-v{overflow:visible!important;perspective:none!important;-webkit-transform:translateZ(0)}.st-v .st-map,.st-v .st-phone{-webkit-backface-visibility:hidden;backface-visibility:hidden}
.card .more{display:inline-flex;align-items:center;min-height:28px;padding:4px 0}
/* B2: no sideways wobble on phones */
html,body{overscroll-behavior-x:none}
@supports (overflow:clip){body{overflow-x:clip}}
main,main>section,.hero,.pband,.ftr,#story{overflow-x:clip;max-width:100%}
@media (pointer:coarse){html,body{touch-action:pan-y pinch-zoom}}
.p3d{max-width:100vw}
/* B2: horizontal services */
.gsap-on #services.hz{width:100%;max-width:100vw;box-sizing:border-box}.gsap-on #services.hz>.wrap{position:sticky;top:64px;overflow-x:clip;overflow-y:visible;max-width:100%}@media (min-width:901px){.gsap-on #services.hz>.wrap{top:80px}}
.gsap-on #services.hz .grid{display:flex!important;flex-wrap:nowrap;gap:20px;width:max-content;grid-template-columns:none!important;will-change:transform}
.gsap-on #services.hz .grid>li{flex:0 0 min(78vw,360px);grid-column:auto!important;grid-row:auto!important}
.hero{background-size:cover}
.pgx{position:fixed;inset:0;z-index:2147483000;background:#000;pointer-events:none;clip-path:inset(0 0 100% 0)}
@media (prefers-reduced-motion:reduce){.pgx{display:none}}
html,body{overflow-anchor:none}
html.gsap-on{scroll-behavior:auto!important}
/* B3: service-area city band (static list; animated when motion is on) */
.stats .cityband{max-width:none;margin:22px auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.stats .cityband span{display:inline-block!important;flex:none!important;width:auto!important;min-width:0!important;margin:0!important;line-height:1.3;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:.86rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap}
@media (max-width:720px){.cityband{gap:6px}.stats .cityband span{display:inline-block;font-size:.78rem;padding:6px 11px}}
.stats .n{font-variant-numeric:tabular-nums}
/* B3 perf: lighter filters on phones */
@media (max-width:900px){.glass,.hero .glass{-webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important}.motion .rv{filter:none!important}}
.gsap-on #services.hz .grid{will-change:auto}

/* B4: iOS first-paint safety */
html,body{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important}
/* tap targets 2026-10-22 */
@media (max-width:1060px){
.iconbtn{width:44px;height:44px}
.brand{min-height:44px}
.legalbar nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
.v3consent .btn,.v3consent button{min-height:44px}
.toc a{display:inline-flex;align-items:center;min-height:44px}
details>summary{min-height:44px;display:flex;align-items:center}
[role=tablist] button,[role=tab]{min-height:44px}
a.site,.linkbtn{display:inline-flex;align-items:center;min-height:44px}
}
@media (max-width:1060px){.brand{min-height:50px}.legalbar nav a{min-height:48px}details>summary{min-height:48px!important}}
/* SP1: tap targets >= 44px (WCAG 2.5.5 / Apple HIG) without changing the look */
.chip{min-height:44px;display:inline-flex;align-items:center}
.iconbtn{width:44px;height:44px}
@media (min-width:1061px){.menu a:not(.btn){padding-top:11px!important;padding-bottom:11px!important}}
.ftr li{margin:0}.ftr a{padding-block:10px;min-height:44px;min-width:44px}
