:root{--blue:#1237c9;--deep:#0a2a8a;--sun:#ffd23f;--paper:#f4f7ff;--ink:#0b1440;
--h:"Bricolage Grotesque",Arial Black,sans-serif;--b:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font:400 1.05rem/1.6 var(--b);color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:var(--h);line-height:1.05;letter-spacing:-.02em}
h2{font-size:clamp(1.9rem,4vw,3rem);font-weight:800;margin-bottom:1.5rem}
a{color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:.5rem;z-index:99}
.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:.8rem 5vw;background:var(--blue);color:#fff}
.brand{display:flex;gap:.6rem;align-items:center;font:800 1.4rem var(--h);text-decoration:none}
nav{display:flex;gap:1.6rem;align-items:center}
nav a{text-decoration:none;font-weight:500}
.pill{background:var(--sun);color:var(--ink);padding:.5rem 1.1rem;border-radius:99px;font-weight:700}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer}
.burger span{display:block;height:3px;background:#fff;margin:6px 8px;border-radius:2px}
.btn{display:inline-block;border:0;border-radius:99px;padding:.85rem 1.6rem;font:700 1rem var(--b);cursor:pointer;text-decoration:none;transition:transform .15s}
.btn:active{transform:scale(.96)}
.yellow{background:var(--sun);color:var(--ink)}
.dark{background:var(--ink);color:#fff}
.ghost{border:2px solid #fff;color:#fff}
.hero{background:var(--blue);color:#fff;display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:start;padding:5rem 5vw 0;min-height:88vh;overflow:hidden}
.hero h1{font-size:clamp(3rem,8vw,6.5rem);font-weight:800;margin-bottom:1.2rem;animation:in .9s both}
.hero p{max-width:34ch;font-size:1.2rem;margin-bottom:2rem;opacity:.92}
.cta{display:flex;gap:1rem;flex-wrap:wrap}
.hero-art{display:flex;flex-direction:column;align-items:center}
.roll{width:min(320px,70%);animation:in .9s .15s both}
.ribbon{width:min(240px,55%);height:70vh;margin-top:-14px;overflow:hidden}
.strip{height:100%;transform-origin:top;transform:scaleY(.05);background:
repeating-linear-gradient(#fff 0 46px,#dfe7ff 46px 48px);border-radius:0 0 8px 8px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
@keyframes in{from{opacity:0;transform:translateY(24px)}}
.wrap{padding:5rem 5vw}.narrow{max-width:760px;margin:auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}
.card{background:#fff;border-radius:32px 32px 32px 8px;padding:1.5rem;border-bottom:8px solid var(--c,#1237c9)}
.card img{width:100%;margin-bottom:1rem}
.card h3{font-size:1.8rem;margin-bottom:.4rem}
.card p{margin-bottom:1.2rem}
.calc{background:var(--sun)}
.calc input[type=range]{width:100%;margin:1rem 0;accent-color:var(--blue);height:32px}
.result{font:800 clamp(2rem,6vw,3.6rem) var(--h)}
.result em{display:block;font:500 1.1rem var(--b);font-style:normal}
.why{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.why li{border-left:6px solid var(--blue);padding-left:1rem}
.contact{background:var(--deep);color:#fff}
form{display:grid;gap:1rem;margin-top:1.5rem}
label{display:grid;gap:.3rem;font-weight:500}
input,textarea{font:inherit;padding:.8rem 1rem;border:2px solid transparent;border-radius:14px}
input[aria-invalid=true]{border-color:#ff5a5f}
.msg{min-height:1.5em;font-weight:700}
footer{padding:2rem 5vw;text-align:center;font-size:.9rem}
@media(max-width:760px){
 .burger{display:block}
 nav{position:absolute;top:100%;left:0;right:0;background:var(--blue);flex-direction:column;padding:1rem;display:none}
 nav.open{display:flex}
 .hero{grid-template-columns:1fr;padding-top:3rem}
 .ribbon{height:40vh}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto}.strip{transform:scaleY(1)!important}}
