
*,*::before,*::after{box-sizing:border-box}
:root{
--bone:#F5F1EA;--paper:#FFFFFF;--ink:#15161A;--slate:#57534C;--stone:#8B857A;
--orange:#F04E23;--orange-deep:#D93F18;--green:#0E3B2E;--line:#E2DCD1;
--maxw:1200px;--r:14px;
--f:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0}
h1{font-size:clamp(2.4rem,6.4vw,5.1rem)}
h2{font-size:clamp(1.8rem,3.6vw,2.9rem);letter-spacing:-.025em}
h3{font-size:1.18rem;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1rem}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-deep);margin:0 0 18px}
.eyebrow.mut{color:var(--stone)}
.lede{font-size:clamp(1.05rem,1.7vw,1.32rem);color:var(--slate);max-width:64ch;line-height:1.5}
.rule{height:1px;background:var(--line);border:0;margin:0}
section{padding:clamp(56px,7vw,104px) 0}
.sec-head{max-width:70ch;margin-bottom:44px}
/* header */
header.site{position:sticky;top:0;z-index:60;background:rgba(245,241,234,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:28px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:.16em;font-size:.95rem}
.brand svg{width:26px;height:26px;flex:none}
.nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0;align-items:center}
.nav a.nl{text-decoration:none;font-size:.95rem;font-weight:600;color:var(--ink);padding:8px 0;border-bottom:2px solid transparent}
.nav a.nl:hover{border-color:var(--orange)}
.spacer{flex:1}
.btn{white-space:nowrap;display:inline-flex;align-items:center;gap:9px;background:var(--ink);color:var(--bone);text-decoration:none;font-weight:700;font-size:.95rem;padding:12px 20px;border-radius:999px;border:1px solid var(--ink);transition:transform .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px);background:#000}
.btn.orange{background:var(--orange);border-color:var(--orange);color:#fff}
.btn.orange:hover{background:var(--orange-deep);border-color:var(--orange-deep)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--bone)}
.btn.sm{padding:9px 16px;font-size:.88rem}
/* mega menu */
.has-mega{position:relative}
.mega{position:absolute;left:50%;transform:translateX(-50%);top:100%;width:min(940px,92vw);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:none;grid-template-columns:repeat(4,1fr);gap:22px;box-shadow:0 18px 40px rgba(21,22,26,.07)}
.has-mega:hover .mega,.has-mega:focus-within .mega{display:grid}
.mega h4{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);font-weight:700;margin-bottom:12px}
.mega ul{display:block}
.mega li{margin-bottom:9px}
.mega a{text-decoration:none;font-size:.93rem;font-weight:500;color:var(--ink);border-bottom:1px solid transparent}
.mega a:hover{border-color:var(--orange)}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:42px;height:38px;align-items:center;justify-content:center;cursor:pointer}
.burger span,.burger span::before,.burger span::after{display:block;width:17px;height:2px;background:var(--ink);content:'';position:relative}
.burger span::before{position:absolute;top:-6px}
.burger span::after{position:absolute;top:6px}
/* hero */
.hero{padding-top:clamp(48px,7vw,92px);padding-bottom:clamp(40px,6vw,84px)}
.hero h1 span.l{display:block}
.hero .hl{color:var(--orange-deep)}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:end}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-facts{display:grid;gap:14px;border-left:2px solid var(--orange);padding-left:20px}
.hero-facts b{display:block;font-size:.95rem}
.hero-facts span{font-size:.9rem;color:var(--slate)}
/* marquee */
.strip{background:var(--ink);color:var(--bone);overflow:hidden;padding:13px 0}
.strip .track{display:flex;gap:44px;white-space:nowrap;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;animation:slide 36s linear infinite}
.strip i{font-style:normal;color:var(--orange)}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* cards */
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:26px;transition:transform .18s ease,border-color .18s ease}
.card:hover{transform:translateY(-3px);border-color:var(--ink)}
.card p{color:var(--slate);font-size:.96rem;margin:10px 0 0}
.card .k{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);font-weight:700;margin-bottom:12px}
a.card{text-decoration:none;display:block}
.price-tag{font-weight:800;font-size:1.05rem;margin-top:16px;display:inline-block;border-bottom:3px solid var(--orange)}
.steps{counter-reset:s;display:grid;gap:2px;border-top:1px solid var(--line)}
.step{border-bottom:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start}
.step .n{counter-increment:s;font-weight:800;color:var(--orange-deep);font-size:.95rem;letter-spacing:.1em}
.step .n::before{content:'0' counter(s)}
.step p{margin:6px 0 0;color:var(--slate);font-size:.97rem}
/* dark + green blocks */
.dark{background:var(--ink);color:var(--bone)}
.dark .lede,.dark p{color:#C9C3B8}
.dark .card{background:#1D1F25;border-color:#2C2F37}
.dark .card p{color:#B7B1A6}
.green{background:var(--green);color:#EAF3EE}
.green .lede,.green p{color:#BCD3C7}
/* list */
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.ticks li{padding-left:28px;position:relative;color:var(--slate)}
.ticks li::before{content:'';position:absolute;left:0;top:.55em;width:12px;height:2px;background:var(--orange)}
.ticks.on-dark li{color:#C9C3B8}
/* faq */
details.faq{border-bottom:1px solid var(--line);padding:18px 0}
details.faq summary{cursor:pointer;font-weight:700;font-size:1.02rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:'+';color:var(--orange-deep);font-weight:800}
details.faq[open] summary::after{content:'–'}
details.faq p{margin:12px 0 0;color:var(--slate)}
/* pricing table */
.ptable{width:100%;border-collapse:collapse;font-size:.97rem}
.ptable th,.ptable td{text-align:left;padding:15px 12px;border-bottom:1px solid var(--line)}
.ptable th{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.ptable td.p{font-weight:800;white-space:nowrap}
.ptable tr:hover td{background:rgba(240,78,35,.045)}
.ptable a{font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
.ptable a:hover{border-color:var(--orange)}
/* cta band */
.cta{background:var(--orange);color:#fff}
.cta h2{max-width:20ch}
.cta p{color:#FFE7E0}
.cta .btn{background:#fff;color:var(--ink);border-color:#fff}
.cta .btn.ghost{background:transparent;color:#fff;border-color:#fff}
/* footer */
footer.site{background:var(--ink);color:#B7B1A6;padding:64px 0 34px;font-size:.93rem}
footer.site a{color:#E6E1D7;text-decoration:none}
footer.site a:hover{color:#fff;border-bottom:1px solid var(--orange)}
.fgrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
footer h4{color:#fff;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fbot{display:flex;justify-content:space-between;gap:16px;margin-top:44px;padding-top:20px;border-top:1px solid #2C2F37;font-size:.85rem;flex-wrap:wrap}
/* breadcrumbs + article */
.crumbs{font-size:.84rem;color:var(--stone);padding:18px 0 0}
.crumbs a{text-decoration:none;border-bottom:1px solid var(--line)}
.prose h2{margin:44px 0 14px}
.prose h3{margin:26px 0 8px}
.prose p,.prose li{color:var(--slate)}
.two{display:grid;grid-template-columns:1.6fr .9fr;gap:48px;align-items:start}
.side{position:sticky;top:96px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.side .p{font-size:2rem;font-weight:800;letter-spacing:-.03em}
.side .u{color:var(--stone);font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.badge{display:inline-block;background:rgba(240,78,35,.1);color:var(--orange-deep);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 11px;border-radius:999px}
.wa{position:fixed;right:18px;bottom:18px;z-index:70;background:#25D366;color:#fff;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.wa svg{width:28px;height:28px;fill:#fff}
/* motion */
.js .rv{opacity:0;transform:translateY(16px)}
.js .rv.in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.22,.7,.3,1)}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}.strip .track{animation:none}}
@media(max-width:980px){
 .hero-grid,.two{grid-template-columns:1fr;gap:34px}
 .g4{grid-template-columns:repeat(2,1fr)}
 .g3{grid-template-columns:repeat(2,1fr)}
 .fgrid{grid-template-columns:1fr 1fr}
 .side{position:static}
 .nav ul.main{display:none}
 .burger{display:flex}
 .nav.open ul.main{display:flex;position:absolute;left:0;right:0;top:68px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 20px}
 .nav.open ul.main>li{width:100%;border-bottom:1px solid var(--line)}
 .nav.open ul.main>li>a{display:block;padding:14px 0}
 .mega{position:static;transform:none;width:100%;display:grid;grid-template-columns:1fr 1fr;border:0;box-shadow:none;padding:6px 0 14px;background:transparent}
 .has-mega:hover .mega{display:grid}
}
@media(max-width:760px){.nav>.btn{display:none}}
@media(max-width:620px){
 .g2,.g3,.g4,.fgrid{grid-template-columns:1fr}
 body{font-size:16px}
 section{padding:48px 0}
 .mega{grid-template-columns:1fr}
}
