*{margin:0;padding:0;box-sizing:border-box;}
:root{--blue:#0057e1;--blue-d:#0042ad;--blue-l:#e4edff;--sky:#3d8bff;--sun:#ffb300;--ink:#1f2733;--ink-soft:#54616f;--mute:#8b97a4;--paper:#f4f8ff;--line:#e0e8f5;}
html{scroll-behavior:smooth;}
body{font-family:'Nunito',-apple-system,sans-serif;color:var(--ink);background:#fff;line-height:1.7;font-size:16.5px;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:var(--blue);text-decoration:none;transition:.2s;}a:hover{color:var(--blue-d);}
h1,h2,h3,h4{font-family:'Nunito',sans-serif;font-weight:900;line-height:1.15;color:var(--ink);letter-spacing:-.01em;}
h1{font-size:clamp(2.3rem,5vw,3.7rem);}h2{font-size:clamp(1.8rem,3.2vw,2.6rem);}h3{font-size:1.3rem;}
p{margin:0 0 1rem;}
.wrap{max-width:1140px;margin:0 auto;padding:0 26px;}
.eyebrow{font-size:.85rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:8px;margin-bottom:13px;background:var(--blue-l);padding:6px 14px;border-radius:30px;}
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:1rem;padding:15px 30px;border-radius:40px;transition:.2s;border:3px solid transparent;cursor:pointer;}
.btn-blue{background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(0,87,225,.28);}
.btn-blue:hover{background:var(--blue-d);transform:translateY(-2px);}
.btn-sun{background:var(--sun);color:var(--ink);box-shadow:0 8px 20px rgba(255,179,0,.32);}
.btn-sun:hover{transform:translateY(-2px);filter:brightness(1.05);}
.btn-wht{background:#fff;color:var(--blue);}.btn-wht:hover{transform:translateY(-2px);}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}.btn-ghost:hover{background:#fff;color:var(--blue);}
/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:100;}
.util{background:var(--blue-d);color:#cfe0ff;font-size:.85rem;font-weight:600;}
.util .wrap{display:flex;justify-content:space-between;padding:8px 26px;gap:14px;flex-wrap:wrap;}
.util a{color:#fff;}
.nav{background:#fff;box-shadow:0 2px 18px rgba(0,87,225,.08);}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:82px;}
.brand{display:flex;align-items:center;gap:11px;}
.brand img{height:52px;}
.brand b{font-size:1.4rem;font-weight:900;color:var(--ink);line-height:1;}
.brand b span{color:var(--blue);}
.brand i{display:block;font-style:normal;font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--mute);}
.nav-links{display:flex;list-style:none;align-items:center;gap:4px;}
.nav-links>li>a{display:block;padding:10px 15px;color:var(--ink);font-weight:800;font-size:.93rem;border-radius:30px;}
.nav-links>li>a:hover,.nav-links>li>a.on{background:var(--blue-l);color:var(--blue);}
.nav-cta{margin-left:6px;background:var(--sun)!important;color:var(--ink)!important;padding:11px 22px!important;}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
.burger span{width:26px;height:3px;background:var(--blue);border-radius:3px;}
.spacer{height:120px;}
/* hero */
.hero{background:linear-gradient(160deg,var(--blue) 0%,var(--sky) 100%);color:#fff;position:relative;overflow:hidden;}
.hero::after{content:'';position:absolute;right:-120px;bottom:-120px;width:420px;height:420px;background:rgba(255,255,255,.08);border-radius:50%;}
.hero-in{max-width:1140px;margin:0 auto;padding:70px 26px 80px;display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;position:relative;z-index:2;}
.hero h1{color:#fff;}
.hero h1 .u{color:var(--sun);}
.hero p.l{font-size:1.18rem;color:#e8f0ff;margin:16px 0 26px;}
.hero-cta{display:flex;gap:13px;flex-wrap:wrap;}
.hero-mascot{text-align:center;}
.hero-mascot img{max-width:260px;margin:0 auto;filter:drop-shadow(0 16px 30px rgba(0,0,0,.25));}
.hero-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;}
.hero-trust span{display:flex;align-items:center;gap:7px;font-weight:700;font-size:.92rem;color:#dbe7ff;}
.hero-trust svg{color:var(--sun);}
/* fun callout strip */
.plunger-strip{background:var(--sun);color:var(--ink);text-align:center;padding:18px;font-weight:800;font-size:1.05rem;}
.plunger-strip span{display:inline-flex;align-items:center;gap:10px;}
.plunger-strip img{height:34px;}
/* sections */
.sec{padding:74px 0;}
.sec.soft{background:var(--paper);}
.sec.blue{background:var(--blue);color:#fff;}
.sec.blue h2{color:#fff;}.sec.blue p{color:#dbe7ff;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.split img{border-radius:24px;width:100%;object-fit:cover;box-shadow:0 20px 44px rgba(0,87,225,.18);}
.lead{font-size:1.13rem;color:var(--ink-soft);}
.sec.blue .lead{color:#e8f0ff;}
/* service cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px;}
.card{background:#fff;border:2px solid var(--line);border-radius:24px;padding:30px 28px;transition:.22s;}
.card:hover{transform:translateY(-6px);border-color:var(--sky);box-shadow:0 22px 44px rgba(0,87,225,.16);}
.card .ic{width:58px;height:58px;border-radius:18px;background:var(--blue-l);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.card h3{margin-bottom:7px;}
.card p{font-size:.96rem;color:var(--ink-soft);margin:0;}
/* checklist pills */
.svc-pills{display:flex;flex-wrap:wrap;gap:11px;margin-top:24px;}
.svc-pills span{background:#fff;border:2px solid var(--line);border-radius:30px;padding:9px 18px;font-weight:700;font-size:.92rem;color:var(--ink-soft);}
.sec.soft .svc-pills span{background:#fff;}
/* steps */
.chk{list-style:none;margin:16px 0;}
.chk li{position:relative;padding:8px 0 8px 34px;color:var(--ink-soft);font-weight:600;}
.chk li::before{content:'';position:absolute;left:0;top:11px;width:22px;height:22px;background:var(--sun);border-radius:50%;}
.chk li::after{content:'';position:absolute;left:7.5px;top:15px;width:6px;height:10px;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(42deg);}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;}
.gal figure{margin:0;border-radius:20px;overflow:hidden;aspect-ratio:4/3;border:3px solid #fff;box-shadow:0 12px 30px rgba(0,87,225,.14);}
.gal img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.gal figure:hover img{transform:scale(1.06);}
/* discount banner */
.disc{background:#fff;border:3px dashed var(--sun);border-radius:24px;padding:34px 38px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.disc img{height:120px;}
.disc h3{font-size:1.5rem;margin-bottom:6px;}
.disc p{margin:0;color:var(--ink-soft);}
/* contact */
.cgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start;}
.cform{background:#fff;border:2px solid var(--line);border-radius:24px;padding:34px;}
.fld{margin-bottom:16px;}
.fld label{display:block;font-weight:800;font-size:.85rem;margin-bottom:5px;}
.fld input,.fld textarea{width:100%;border:2px solid var(--line);border-radius:14px;padding:12px 15px;font-family:inherit;font-size:.95rem;}
.fld input:focus,.fld textarea:focus{outline:0;border-color:var(--blue);}
.fld textarea{min-height:120px;resize:vertical;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.cinfo{background:var(--blue);color:#dbe7ff;border-radius:24px;padding:34px;}
.cinfo h3{color:#fff;margin-bottom:16px;}
.cinfo .r{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.14);}
.cinfo .r:last-child{border:0;}
.cinfo .r svg{color:var(--sun);flex-shrink:0;margin-top:3px;}
.cinfo .r a,.cinfo .r span{color:#fff;font-weight:700;}
.cinfo .lbl{font-size:.74rem;color:#a9c4ff;text-transform:uppercase;letter-spacing:.08em;}
.mapwrap{margin-top:40px;border-radius:24px;overflow:hidden;line-height:0;border:3px solid #fff;box-shadow:0 14px 34px rgba(0,87,225,.14);}
.mapwrap iframe{width:100%;height:340px;border:0;}
/* cta */
.ctab{background:var(--sun);color:var(--ink);text-align:center;padding:60px 0;}
.ctab h2{color:var(--ink);}.ctab p{max-width:520px;margin:8px auto 22px;color:#6b5b1f;font-weight:600;}
.ctab .hero-cta{justify-content:center;}
/* footer */
.ft{background:var(--ink);color:#9aa6b3;padding:52px 0 24px;font-size:.92rem;}
.ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1.2fr;gap:38px;}
.ft .brand b{color:#fff;}.ft .brand i{color:#7c8896;}
.ft .brand{margin-bottom:14px;}
.ft h4{color:#fff;font-size:1.02rem;margin-bottom:12px;font-weight:800;}
.ft ul{list-style:none;}.ft li{margin-bottom:7px;}.ft a{color:#9aa6b3;}.ft a:hover{color:var(--sun);}
.ft-bot{margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.84rem;color:#6c7783;}
.pagehero{background:linear-gradient(160deg,var(--blue),var(--sky));color:#fff;padding:54px 0 58px;}
.pagehero .crumb{font-size:.85rem;color:#bcd3ff;font-weight:700;margin-bottom:10px;}
.pagehero .crumb a{color:#bcd3ff;}
.pagehero h1{color:#fff;}.pagehero p{color:#e8f0ff;font-size:1.1rem;margin-top:8px;max-width:600px;}
@media(max-width:900px){
.hero-in{grid-template-columns:1fr;}.hero-mascot{order:-1;}.hero-mascot img{max-width:180px;}
.split,.cgrid{grid-template-columns:1fr;gap:30px;}
.cards{grid-template-columns:1fr;}.gal{grid-template-columns:1fr 1fr;}
.ft-grid{grid-template-columns:1fr;gap:24px;}
.frow{grid-template-columns:1fr;}
.nav-links{position:fixed;top:var(--nt,120px);left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px 16px;gap:4px;display:none;box-shadow:0 18px 30px rgba(0,0,0,.12);}
.nav-links.open{display:flex;}
.nav-cta{margin:6px 0 0;text-align:center;}
.burger{display:flex;}.spacer{height:112px;}
}
@media(max-width:540px){.gal{grid-template-columns:1fr;}.disc{flex-direction:column;text-align:center;}}
