@font-face{font-family:'Space Grotesk';src:url('fonts/spacegrotesk-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('fonts/spacegrotesk-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('fonts/spacegrotesk-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('fonts/spacegrotesk-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('fonts/sourcesans3-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('fonts/sourcesans3-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('fonts/sourcesans3-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('fonts/sourcesans3-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--ink9:#1C0F42;--ink8:#2A1760;--ind7:#3B2274;--ind6:#4C2F8F;--ind5:#5F41A8;--ind2:#C9BDE6;--ind1:#E5DFF4;--ind05:#F3F0FA;
--org:#F97316;--org6:#E05A0C;--amb:#FFC400;--blu:#55A9F1;--paper:#FBFAF7;--paper2:#F4F2ED;--line:#E4E0D8;
--body:#3A3442;--mut:#6E6A75;--inv:#F5F2FB;--invm:#B8ADD6;
--fd:'Space Grotesk',system-ui,sans-serif;--fb:'Source Sans 3',system-ui,sans-serif;
--rad:8px;--shadow:0 1px 3px rgba(28,15,66,.08),0 1px 2px rgba(28,15,66,.05);--shadow-up:0 6px 20px rgba(28,15,66,.12);
--ease:cubic-bezier(.2,0,0,1)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{font-family:var(--fb);color:var(--body);background:var(--paper);line-height:1.55;font-size:16px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
/* nav */
.nav{position:fixed;top:0;left:0;right:0;background:rgba(251,250,247,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:50}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
.nav img{height:62px;display:block}
.nav ul{display:flex;gap:26px;list-style:none;align-items:center}
.nav a{font-family:var(--fd);font-size:14px;font-weight:500;color:var(--ind7);text-decoration:none;transition:color 150ms var(--ease)}
.nav a:hover{color:var(--org6)}
.nav .cta{background:var(--org);color:#fff;padding:9px 20px;border-radius:6px;font-weight:600;transition:background 150ms var(--ease)}
.nav .cta:hover{background:var(--org6);color:#fff}
.burger{display:none;background:none;border:none;font-size:26px;color:var(--ind7);cursor:pointer}
/* hero */
.hero{background:var(--ink9);color:var(--inv);padding:150px 0 70px}
.eyebrow{font-family:var(--fd);font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--org6)}
.hero .eyebrow{color:var(--amb)}
.hero h1{font-family:var(--fd);font-size:clamp(34px,5vw,58px);font-weight:700;line-height:1.08;margin:18px 0 20px;max-width:900px}
.hero p{font-size:20px;color:var(--invm);max-width:640px}
.ticks{height:14px;margin:48px 0 40px;background:repeating-linear-gradient(90deg,var(--ind6) 0,var(--ind6) 1px,transparent 1px,transparent 14px);position:relative}
.ticks:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ind6)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.stat .rule{width:28px;border-top:3px solid var(--org);margin-bottom:10px}
.stat .rule.amb{border-color:var(--amb)}.stat .rule.blu{border-color:var(--blu)}
.stat .n{font-family:var(--fd);font-size:52px;font-weight:700;line-height:1;color:var(--inv)}
.stat .l{font-family:var(--fd);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--invm);margin-top:8px}
/* sections */
section{padding:78px 0}
section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
h2{font-family:var(--fd);font-size:clamp(26px,3.2vw,36px);font-weight:700;color:var(--ink8);line-height:1.15;margin:12px 0 8px}
.sub{font-size:17px;color:var(--mut);max-width:720px;margin-bottom:42px}
.grid{display:grid;gap:22px}
.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--org);border-radius:var(--rad);box-shadow:var(--shadow);padding:26px;transition:box-shadow 200ms var(--ease),border-color 200ms var(--ease)}
.card:hover{box-shadow:var(--shadow-up);border-color:var(--ind2);border-top-color:var(--org)}
section.alt .card{background:var(--paper)}
.chead{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.icircle{width:46px;height:46px;border-radius:9px;background:var(--ind05);display:flex;align-items:center;justify-content:center;flex:none}
.icircle img{width:26px;height:26px}
.card h3{font-family:var(--fd);font-size:18px;font-weight:700;color:var(--ink8);line-height:1.2}
.card p{font-size:15px;color:var(--body)}
.card .eg{font-size:14px;font-style:italic;color:var(--ind6);margin-top:10px}
.stepnum{font-family:var(--fd);font-size:34px;font-weight:700;color:var(--ind5);line-height:1}
.tick{list-style:none;margin-top:6px}
.tick li{position:relative;padding-left:18px;margin-bottom:7px;font-size:15px}
.tick li:before{content:'·';position:absolute;left:4px;color:var(--org6);font-weight:700;font-size:20px;line-height:1.1}
.band{background:var(--ink8);border-radius:var(--rad);padding:34px 38px;color:var(--inv)}
.band .eyebrow{color:var(--amb);margin-bottom:12px;display:block}
.band .geo{font-family:var(--fd);font-size:clamp(17px,2.4vw,24px);font-weight:600}
.lightbox{background:var(--ind05);border-radius:var(--rad);padding:28px 32px}
.lightbox .eyebrow{font-size:11px;display:block;margin-bottom:10px}
/* footer / contact */
.contact{background:var(--ink9);color:var(--inv);padding:84px 0 40px}
.contact h2{color:var(--inv)}
.contact .eyebrow{color:var(--amb)}
.contact .sub{color:var(--invm)}
.contact a{color:var(--inv);text-decoration:none;border-bottom:1px solid var(--ind6);transition:color 150ms var(--ease)}
.contact a:hover{color:var(--amb)}
.cgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}
.logocard{background:#fff;border-radius:var(--rad);padding:20px 26px;width:fit-content}
.logocard img{width:190px;display:block}
.foot{border-top:1px solid var(--ind6);margin-top:64px;padding-top:22px;display:flex;justify-content:space-between;gap:12px;font-family:var(--fd);font-size:13px;color:var(--invm);flex-wrap:wrap}
/* reveal */
.rv{opacity:0;transform:translateY(14px);transition:opacity 480ms var(--ease),transform 480ms var(--ease)}
.rv.vis{opacity:1;transform:none}
/* product pages */
.phero{background:var(--ink9);color:var(--inv);padding:130px 0 48px}
.phero h1{font-family:var(--fd);font-size:clamp(30px,4vw,44px);font-weight:700}
.prod{display:grid;grid-template-columns:440px 1fr;gap:44px;align-items:start}
.pimg{background:#fff;border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--shadow);padding:16px}
.pimg img{width:100%;border-radius:5px;display:block}
.badges{font-family:var(--fd);font-size:15px;font-weight:500;color:var(--ind6);margin:6px 0 26px}
table.spec{width:100%;border-collapse:collapse;font-size:14.5px}
table.spec td{border:1px solid var(--line);padding:10px 14px}
table.spec td:first-child{font-family:var(--fd);font-weight:600;color:var(--ink8);width:32%}
table.spec tr:nth-child(even) td{background:var(--ind05)}
table.spec tr:nth-child(odd) td{background:#fff}
.note{font-size:13.5px;font-style:italic;color:var(--mut);margin-top:14px}
@media(max-width:960px){.g4{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr 1fr}.prod{grid-template-columns:1fr}.cgrid{grid-template-columns:1fr}}
@media(max-width:720px){.nav ul{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;padding:18px 24px;gap:16px;align-items:flex-start}
.nav ul.open{display:flex}.burger{display:block}
.g2,.g3,.g4{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr;gap:26px}
section{padding:56px 0}.hero{padding:120px 0 56px}}

.btnrow{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.btn{font-family:var(--fd);font-size:15px;font-weight:600;text-decoration:none;border-radius:6px;padding:13px 26px;transition:all 150ms var(--ease);display:inline-block}
.btn-primary{background:var(--org);color:#fff}
.btn-primary:hover{background:var(--org6)}
.btn-ghost{border:1px solid var(--ind5);color:var(--inv)}
.btn-ghost:hover{border-color:var(--amb);color:var(--amb)}
