*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}.pa-lf-err{display:none}.pa-lf-err.on{display:block}.pa-cc{display:none}.pa-cc.show{display:block}.pa-cc-modal{display:none}.pa-cc-modal.show{display:grid}details.pa-qa>summary{list-style:none;cursor:pointer}details.pa-qa>summary::-webkit-details-marker{display:none}.pa-map{position:relative}.pa-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.pa-lf-cc{display:inline-flex;align-items:center;justify-content:center;font:inherit}[hidden]{display:none!important}
/* gen4 base layout — one stylesheet, 6 visual variants via html[data-v] */
:root{--bg:#ffffff;--ink:#141414;--mut:#5c5c5c;--card:#fafafa;--line:#e6e6e6;--acc:#2563eb;--acc-ink:#fff;--rad:16px;--serif:Georgia,serif;--sans:system-ui,sans-serif;--maxw:1160px;--pad:26px}
body{background:var(--bg);color:var(--ink);font:400 17px/1.65 var(--sans)}
h1,h2,h3,h4{margin:0;line-height:1.1;font-family:var(--serif);font-weight:600;text-wrap:balance}
p{margin:0 0 1em}
a{color:var(--acc)}a:hover{opacity:.72}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.pa-u-wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
section{padding:76px 0}
.pa-u-kick,.pa-doc-kicker{display:inline-block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);font-family:var(--sans);font-weight:600;margin-bottom:14px}
.pa-u-lead{font-size:19px;color:var(--mut);max-width:54ch}
.pa-u-sec-h{font-size:clamp(30px,4.2vw,46px);max-width:22ch;margin-bottom:12px}
.pa-u-sec-p{color:var(--mut);max-width:56ch;margin-bottom:40px}
/* header */
.pa-u-head{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.pa-u-head .pa-in{max-width:var(--maxw);margin:0 auto;padding:12px var(--pad);display:flex;align-items:center;gap:20px}
.pa-u-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--serif);font-weight:700;font-size:21px;margin-inline-end:auto}
.pa-u-brand .pa-mk{width:38px;height:38px;border-radius:12px;background:var(--acc);color:var(--acc-ink);display:grid;place-items:center;font-size:20px;flex:none}
.pa-u-brand .pa-mk:has(svg){background:none;border-radius:0}
.pa-u-brand .pa-mk svg{width:100%;height:100%;display:block}
.pa-u-brand .pa-wm{letter-spacing:-.015em;line-height:1}
.pa-u-brand small{font-family:var(--sans);font-weight:500;color:var(--mut);font-size:13px}
.pa-u-nav{display:flex;gap:22px;font-size:15px;font-family:var(--sans)}
.pa-u-nav a{color:var(--ink);text-decoration:none}
.pa-u-nav a:hover,.pa-u-nav a[aria-current]{color:var(--acc)}
.pa-u-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:15px;text-decoration:none;padding:11px 22px;border-radius:999px;background:var(--acc);color:var(--acc-ink);border:1.5px solid var(--acc);cursor:pointer}
.pa-u-btn:hover{opacity:1;filter:brightness(1.06)}
.pa-u-btn.pa-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.pa-u-btn.pa-ghost:hover{border-color:var(--acc);color:var(--acc)}
.pa-u-btn.pa-lg{padding:15px 28px;font-size:17px}
.pa-u-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
/* hero */
.pa-u-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:52px;align-items:center;padding:68px 0 52px}
.pa-u-hero h1{font-size:clamp(40px,6vw,70px);margin:16px 0 18px}
.pa-u-art{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.pa-u-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;font-family:var(--sans)}
.pa-u-chip{font-size:13px;padding:5px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--mut)}
/* media */
.pa-pic{margin:0;overflow:hidden;border-radius:var(--rad)}.pa-pic img{width:100%;height:100%;object-fit:cover;display:block}
.pa-u-bleed{aspect-ratio:21/9}
/* features */
.pa-u-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.pa-u-feat{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.pa-u-feat i{font-size:30px;color:var(--acc)}
.pa-u-feat h3{font-size:21px;margin:12px 0 8px;font-family:var(--sans);font-weight:700}
.pa-u-feat p{color:var(--mut);margin:0;font-size:15px}
/* split rows */
.pa-u-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:center}
.pa-u-split+.pa-u-split{margin-top:72px}
.pa-u-split.pa-rev>.pa-pic{order:2}
.pa-u-split .pa-pic{aspect-ratio:4/3}
.pa-u-split h2{font-size:clamp(26px,3.4vw,40px);margin-bottom:14px}
.pa-u-split p{color:var(--mut);font-size:18px;margin:0}
/* steps */
.pa-u-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:st}
.pa-u-step{padding-top:16px;border-top:2px solid var(--acc)}
.pa-u-step b{font-family:var(--sans);color:var(--acc);font-size:14px;display:block}
.pa-u-step b::before{counter-increment:st;content:"0" counter(st) "  "}
.pa-u-step h3{font-size:22px;margin:6px 0 8px;font-family:var(--sans);font-weight:700}
.pa-u-step p{color:var(--mut);margin:0;font-size:15px}
/* free band */
.pa-u-free{background:var(--ink);color:var(--bg);border-radius:var(--rad);padding:46px;display:flex;flex-wrap:wrap;gap:22px 48px;align-items:center;justify-content:space-between}
.pa-u-free h2{font-size:clamp(26px,3.4vw,40px);max-width:20ch;color:var(--bg)}
.pa-u-free ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-family:var(--sans)}
.pa-u-free li{display:flex;gap:10px;align-items:center;opacity:.92}
.pa-u-free li i{opacity:.8}
/* start / form */
.pa-u-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:start}
.pa-u-start h2{font-size:clamp(28px,4vw,48px);margin-bottom:16px}
.pa-u-start p{color:var(--mut);font-size:18px}
.pa-lf{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:28px;display:grid;gap:16px}
.pa-lf h3{font-size:24px;font-family:var(--sans);font-weight:700}
.pa-lf-field label{display:block;font-family:var(--sans);font-weight:600;font-size:13px;margin-bottom:6px}
.pa-lf-input{width:100%;font:inherit;font-size:16px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink)}
.pa-lf-input:focus{outline:none;border-color:var(--acc)}
.pa-lf-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}
.pa-lf-cc{align-self:stretch;display:inline-flex;align-items:center;padding:0 14px;border:1.5px solid var(--line);border-radius:12px;font-weight:600;opacity:.8}
.pa-lf-check{display:flex;gap:10px;font-family:var(--sans);font-size:13px;color:var(--mut);line-height:1.55}
.pa-lf-check input{accent-color:var(--acc);width:18px;height:18px;flex:none;margin-top:2px}
.pa-lf-err{color:#c0362b;font-family:var(--sans);font-size:13px}
.pa-lf-btn{font:inherit;font-family:var(--sans);font-weight:700;font-size:17px;padding:15px;border-radius:999px;border:0;background:var(--acc);color:var(--acc-ink);cursor:pointer}
.pa-lf-btn:hover{filter:brightness(1.06)}
.pa-lf-note{font-family:var(--sans);font-size:13px;color:var(--mut)}
/* faq */
.pa-u-faq,.pa-faq-page{max-width:820px}
.pa-faq-page{margin-bottom:40px}
.pa-qa{border-bottom:1px solid var(--line);padding:18px 0}
.pa-qa summary{font-family:var(--sans);font-weight:600;font-size:18px;display:flex;justify-content:space-between;gap:16px}
.pa-qa summary::after{content:"+";color:var(--acc);font-size:22px;line-height:1}
.pa-qa[open] summary::after{content:"\u2212"}
.pa-qa-a{color:var(--mut);margin-top:10px}
.pa-qa-a p{margin:0}
/* contact */
.pa-contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:44px;align-items:start;margin-bottom:40px}
.pa-map{aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--rad)}
.pa-info{margin:0;display:grid;gap:18px;font-family:var(--sans)}
.pa-info dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);font-weight:700;margin-bottom:4px}
.pa-info dd{margin:0}.pa-info a{color:var(--ink)}
/* footer */
.pa-u-foot{border-top:1px solid var(--line);padding:46px 0 34px;margin-top:40px;font-family:var(--sans)}
.pa-u-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:30px}
.pa-u-foot h4{font-size:13px;color:var(--mut);margin:0 0 12px;font-weight:600}
.pa-u-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.pa-u-foot a,.pa-u-foot button,.pa-linkish{color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;padding:0;cursor:pointer;text-align:start}
.pa-linkish{color:var(--acc);text-decoration:underline}
.pa-u-foot a:hover,.pa-u-foot button:hover{color:var(--acc)}
.pa-u-fine{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--mut);display:grid;gap:6px}
.pa-u-fine p{margin:0}
/* legal / pages */
.pa-doc{max-width:800px;margin:0 auto;padding:58px 0 36px}
.pa-doc h1{font-size:clamp(34px,5vw,54px);margin:10px 0 12px}
.pa-doc h2{font-size:22px;margin:36px 0 10px;font-family:var(--sans);font-weight:700}
.pa-doc p,.pa-doc li{color:#3a3a3a}
.pa-doc-date{color:var(--mut);font-size:14px}
.pa-doc table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0}
.pa-doc th,.pa-doc td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:start;vertical-align:top}
.pa-doc .pa-box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:4px 20px;margin:18px 0}
.pa-page-head{padding:60px 0 34px}
.pa-page-head h1{font-size:clamp(38px,5.4vw,62px);max-width:18ch}
.pa-page-head p{color:var(--mut);font-size:19px;max-width:56ch}
.pa-about-pic{aspect-ratio:21/8;margin-bottom:12px}
.pa-doc ul{padding-inline-start:20px;display:grid;gap:6px}
.pa-success{max-width:640px;margin:0 auto;padding:90px 0;text-align:center}
.pa-success h1{font-size:clamp(36px,5vw,56px);margin:14px 0}
.pa-success p{color:var(--mut)}
/* cookie */
.pa-cc{position:fixed;inset-inline:16px;bottom:16px;max-width:560px;z-index:50;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:20px;box-shadow:0 18px 50px rgba(0,0,0,.14)}
.pa-cc strong{font-family:var(--sans)}
.pa-cc p{font-size:14px;color:var(--mut);margin:6px 0 14px}
.pa-cc-btns{display:flex;flex-wrap:wrap;gap:8px}
.pa-cc-b{font:inherit;font-family:var(--sans);font-weight:600;font-size:14px;padding:10px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer}
.pa-cc-yes{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.pa-cc-modal{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.45);place-items:center;padding:20px}
.pa-cc-box{background:var(--bg);border-radius:var(--rad);padding:28px;max-width:480px;width:100%}
.pa-cc-box h3{font-family:var(--sans);font-size:24px;margin-bottom:10px}
.pa-cc-pref{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.pa-cc-pref b{font-family:var(--sans)}
.pa-cc-pref small{display:block;color:var(--mut);font-size:13px}
.pa-cc-pref input{accent-color:var(--acc);width:20px;height:20px}
.pa-cc-box .pa-cc-btns{margin-top:18px}
@media(max-width:880px){.pa-u-nav{display:none}.pa-u-hero,.pa-u-split,.pa-u-start,.pa-contact-grid,.pa-u-foot-grid{grid-template-columns:minmax(0,1fr)}.pa-u-split.pa-rev>.pa-pic{order:0}.pa-u-steps{grid-template-columns:minmax(0,1fr)}.pa-u-free{padding:30px}section{padding:54px 0}.pa-u-brand small{display:none}}

/* ============ VARIANT: mag (bold editorial) ============ */
html[data-v=mag] h1,html[data-v=mag] h2,html[data-v=mag] h3,html[data-v=mag] h4{font-family:var(--serif);font-weight:800;letter-spacing:-.02em;line-height:1.02}
html[data-v=mag] .pa-u-btn,html[data-v=mag] .pa-lf-btn,html[data-v=mag] .pa-cc-b{border-radius:0}
html[data-v=mag] .pa-u-feat,html[data-v=mag] .pa-u-art,html[data-v=mag] .pa-pic,html[data-v=mag] .pa-map,html[data-v=mag] .pa-lf,html[data-v=mag] .pa-cc,html[data-v=mag] .pa-cc-box{border-radius:0}
html[data-v=mag] .pa-u-feat{border:0;border-top:4px solid var(--ink)}
html[data-v=mag] .pa-u-head{border-bottom:3px solid var(--ink)}
html[data-v=mag] .pa-u-hero h1{font-size:clamp(46px,8vw,96px)}
html[data-v=mag] .pa-lf-input{border-radius:0}
html[data-v=mag] .pa-lf-cc{border-radius:0}

/* ============ VARIANT: swiss (minimal hairline) ============ */
html[data-v=swiss]{--rad:0px}
html[data-v=swiss] h1,html[data-v=swiss] h2,html[data-v=swiss] h3,html[data-v=swiss] h4{font-family:var(--sans);font-weight:600;letter-spacing:-.02em}
html[data-v=swiss] .pa-u-btn{background:transparent;color:var(--ink);border:0;border-bottom:2px solid var(--acc);border-radius:0;padding:8px 2px}
html[data-v=swiss] .pa-u-btn.pa-ghost{color:var(--mut);border-bottom-color:var(--line)}
html[data-v=swiss] .pa-u-feat{background:transparent;border:0;border-top:1px solid var(--ink);padding-inline:0}
html[data-v=swiss] .pa-u-art,html[data-v=swiss] .pa-lf{background:transparent;border:1px solid var(--line)}
html[data-v=swiss] .pa-u-step{border-top-color:var(--ink)}
html[data-v=swiss] .pa-lf-btn{border-radius:0}

/* ============ VARIANT: soft (rounded friendly) ============ */
html[data-v=soft]{--rad:26px}
html[data-v=soft] h1,html[data-v=soft] h2,html[data-v=soft] h3,html[data-v=soft] h4{font-family:var(--serif);font-weight:800;letter-spacing:-.02em}
html[data-v=soft] body{background:var(--bg)}
html[data-v=soft] .pa-u-feat{box-shadow:0 10px 30px rgba(0,0,0,.05);border-color:transparent}
html[data-v=soft] .pa-u-step{border-top:0}
html[data-v=soft] .pa-u-step b{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--acc);color:var(--acc-ink)}
html[data-v=soft] .pa-u-step b::before{content:"0" counter(st)}

/* ============ VARIANT: tech (dark mono) ============ */
html[data-v=tech] h1,html[data-v=tech] h2,html[data-v=tech] h3,html[data-v=tech] h4{font-family:var(--sans);letter-spacing:-.01em}
html[data-v=tech] .pa-u-head{background:color-mix(in srgb,var(--bg) 80%,transparent);border-bottom-color:var(--line)}
html[data-v=tech] .pa-u-chip{background:var(--card)}
html[data-v=tech] .pa-u-feat i{color:var(--acc)}
html[data-v=tech] .pa-u-free{background:var(--card);color:var(--ink);border:1px solid var(--line)}
html[data-v=tech] .pa-u-free h2{color:var(--ink)}
html[data-v=tech] .pa-u-foot a,html[data-v=tech] .pa-u-foot button{color:var(--ink)}
html[data-v=tech] .pa-map{filter:invert(.92) hue-rotate(180deg) saturate(.7)}
html[data-v=tech] .pa-u-step{border-top-color:var(--acc)}

/* ============ VARIANT: clock (light indigo cards) ============ */
html[data-v=clock] h1,html[data-v=clock] h2,html[data-v=clock] h3,html[data-v=clock] h4{font-family:var(--serif);font-weight:600}
html[data-v=clock] .pa-u-free{background:var(--acc);color:var(--acc-ink)}
html[data-v=clock] .pa-u-free h2{color:var(--acc-ink)}
html[data-v=clock] .pa-u-feat{background:var(--card)}

/* signature art shells */
.art-tally{display:grid;gap:14px}
.art-tally .row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line);font-family:var(--sans)}
.art-tally .row:last-child{border-bottom:0}
.art-tally .marks{letter-spacing:3px;color:var(--acc);font-weight:700}
.art-tally .amt{color:var(--mut);font-size:14px}
.art-ring{display:grid;place-items:center;gap:10px;text-align:center;font-family:var(--sans)}
.art-ring .dial{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--acc) var(--p,72%),var(--line) 0)}
.art-ring .dial span{width:140px;height:140px;border-radius:50%;background:var(--bg);display:grid;place-content:center;font-family:var(--serif);font-size:52px;color:var(--ink)}
.art-ring small{color:var(--mut)}
.art-bars{display:flex;align-items:flex-end;gap:10px;height:180px}
.art-bars i{flex:1;background:var(--acc);border-radius:8px 8px 0 0;opacity:.35}
.art-bars i.on{opacity:1}
.art-ledger{font-family:var(--sans);font-size:15px}
.art-ledger .r{display:grid;grid-template-columns:1fr auto auto;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.art-ledger .r.h{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.art-ledger .r:last-child{border-bottom:0}
.art-ledger .due{color:var(--acc);font-weight:700}
.pa-art-num{font-family:var(--serif);font-size:clamp(120px,20vw,200px);line-height:.85;color:var(--acc)}
.pa-art-num small{display:block;font-family:var(--sans);font-size:18px;color:var(--mut);margin-top:10px}
.art-sms{display:grid;gap:10px;font-family:var(--sans)}
.art-sms .b{max-width:85%;padding:12px 16px;border-radius:18px;font-size:15px}
.art-sms .b.them{background:var(--acc);color:var(--acc-ink);border-end-end-radius:5px;justify-self:end}
.art-sms .b.us{background:var(--card);border:1px solid var(--line);border-end-start-radius:5px}

/* gen5 extras: hero layouts + centered footer */
.pa-u-hero.stack{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center;gap:36px}
.pa-u-hero.stack .pa-u-lead{margin-inline:auto}
.pa-u-hero.stack .pa-u-btns,.pa-u-hero.stack .pa-u-trust{justify-content:center}
.pa-u-hero.stack h1{max-width:16ch;margin-inline:auto}
.pa-u-hero.stack .pa-u-art{width:min(560px,100%)}
.pa-u-hero.pa-flip>.pa-u-art{order:-1}
.u-foot-c{text-align:center}
.u-foot-c .pa-u-brand{display:inline-flex;margin:0 auto}
.u-foot-blurb{color:var(--mut);max-width:46ch;margin:14px auto 0}
.u-foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:22px 0 10px;font-size:15px}
.u-foot-nav a,.u-foot-nav button{color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;padding:0;cursor:pointer}
.u-foot-nav a:hover,.u-foot-nav button:hover{color:var(--acc)}
.u-foot-addr{color:var(--mut);font-size:14px}
.u-foot-addr a{color:var(--ink)}
.u-foot-c .pa-u-fine{text-align:center}
.pa-u-head.solid{background:var(--ink);border-bottom:0}
.pa-u-head.solid .pa-u-brand,.pa-u-head.solid .pa-u-nav a{color:var(--bg)}
.pa-u-head.solid .pa-u-nav a:hover,.pa-u-head.solid .pa-u-nav a[aria-current]{color:var(--acc)}
.pa-u-head.center .pa-in{flex-wrap:wrap;justify-content:center}
.pa-u-head.center .pa-u-brand{margin-inline-end:0;width:100%;justify-content:center}
@media(max-width:880px){.pa-u-hero.pa-flip>.pa-u-art{order:0}.pa-u-head.center .pa-u-brand{width:auto;margin-inline-end:auto}.pa-u-head.center .pa-in{justify-content:space-between}}

:root{--bg:#ffffff;--ink:#111111;--mut:#666666;--card:#fafafa;--line:#e6e6e6;--acc:#1b4dd1;--acc-ink:#ffffff;--serif:'Inter',system-ui,sans-serif;--sans:'Inter',system-ui,sans-serif;--maxw:1080px}
