:root{--ink:#0f1f33;--water:#1560bd;--deep:#0a2a52;--sig:#ff7a1a;--bg:#f3f7fc;--line:#d5e0ee;color-scheme:light}
*{box-sizing:border-box}body{margin:0;font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{font-family:Rockwell,"Roboto Slab",Georgia,serif;line-height:1.2;color:var(--deep)}h1{font-size:clamp(1.9rem,4.5vw,3rem)}h2{font-size:1.6rem;margin-top:2rem}
a{color:var(--water)}.wrap{max-width:1040px;margin:0 auto;padding:1.5rem 1.2rem}.prose{max-width:760px}
.top{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;align-items:center;justify-content:space-between;padding:.8rem 1.2rem;background:var(--deep);position:sticky;top:0;z-index:5}
.top a{color:#fff;text-decoration:none}.logo{font:700 1.2rem Rockwell,Georgia,serif}.top nav{display:flex;gap:1.1rem;flex-wrap:wrap}.top .call{background:var(--sig);color:var(--ink);padding:.5rem 1rem;border-radius:4px;font-weight:700}
.hero{background:linear-gradient(135deg,var(--deep),var(--water));color:#fff}.hero h1{color:#fff;max-width:18ch}.lead{font-size:1.2rem}.hero .lead{max-width:60ch}.addr{opacity:.85}
.btn{display:inline-block;background:var(--sig);color:var(--ink);padding:.7rem 1.3rem;border-radius:4px;font-weight:700;text-decoration:none;border:0;font-size:1rem;cursor:pointer}.btn.alt{background:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.card{display:block;background:#fff;border:1px solid var(--line);border-left:5px solid var(--water);padding:1rem 1.1rem;text-decoration:none;color:var(--ink)}.card h3{margin:.1rem 0 .4rem;font-size:1.1rem}.card p{margin:0;font-size:.95rem}.card:hover,.card:focus-visible{border-left-color:var(--sig)}
.chips a{display:inline-block;margin:.2rem .3rem .2rem 0;padding:.3rem .7rem;border:1px solid var(--line);background:#fff;border-radius:99px;text-decoration:none;font-size:.95rem}
.bc{max-width:1040px;margin:0 auto;padding:.8rem 1.2rem 0;font-size:.9rem}details{background:#fff;border:1px solid var(--line);padding:.7rem 1rem;margin:.5rem 0}summary{font-weight:600;cursor:pointer}
.cta{background:var(--deep);color:#fff;text-align:center}.cta h2{color:#fff;margin-top:0}.cta a{color:var(--sig)}
footer{background:#07182f;color:#cfe0e8;padding:1.5rem 0 1rem;font-size:.92rem}footer a{color:#cfe0e8}footer ul{list-style:none;padding:0;margin:.4rem 0}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.copy{text-align:center;opacity:.7}
form{display:grid;gap:.8rem;max-width:480px}label{display:grid;gap:.25rem;font-weight:600}input,select,textarea{padding:.6rem;font:inherit;border:1px solid var(--line)}address{font-style:normal}
:focus-visible{outline:3px solid var(--sig);outline-offset:2px}
@media(max-width:640px){body{font-size:16px}.top{position:static}}

.herogrid{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:center}.heroimg{width:100%;height:auto;border-radius:12px;border:3px solid rgba(255,255,255,.25)}
.strip{background:var(--sig);color:var(--ink)}.strip ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem 1.2rem}.strip .wrap{padding:.9rem 1.2rem}
.card img{display:block;margin-bottom:.5rem;border-radius:10px}figure{margin:1.2rem 0}figure img{width:100%;height:auto;border-radius:12px;display:block}
.steps .card{border-left-color:var(--sig)}
@media(max-width:760px){.herogrid{grid-template-columns:1fr}}

.dd{position:relative;display:flex;align-items:center;gap:.15rem}.ddb{background:none;border:0;color:#fff;font-size:1rem;cursor:pointer;padding:.2rem .35rem;line-height:1}
.ddm{display:none;position:absolute;top:100%;left:0;min-width:270px;max-height:70vh;overflow:auto;margin:0;padding:.4rem 0;list-style:none;background:#fff;border:1px solid var(--line);border-top:4px solid var(--sig);box-shadow:0 10px 24px rgba(0,0,0,.18);z-index:20}
.dd:hover .ddm,.dd:focus-within .ddm,.dd.open .ddm{display:block}.top .ddm a{display:block;color:var(--ink);padding:.5rem 1rem;font-size:.95rem}.top .ddm a:hover,.top .ddm a:focus-visible{background:var(--bg);color:var(--water)}
.dd.open .ddb{transform:rotate(180deg)}
@media(max-width:640px){.ddm{position:fixed;left:.6rem;right:.6rem;top:auto;min-width:0}}
.hero{border-bottom:6px solid var(--sig);background:radial-gradient(circle at 85% 20%,#1d7be0 0,transparent 45%),linear-gradient(135deg,#071d3d,var(--deep) 45%,var(--water))}
.top{border-bottom:3px solid var(--sig)}.top .call{box-shadow:0 2px 0 #c75300}.btn{box-shadow:0 3px 0 #c75300}.btn.alt{box-shadow:0 3px 0 #b9c7dc}
.prose h2{border-left:6px solid var(--sig);padding-left:.7rem}.card{transition:transform .15s,box-shadow .15s}.card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(10,42,82,.15)}
.strip b{color:var(--deep)}.cta{background:linear-gradient(135deg,var(--deep),var(--water));border-top:6px solid var(--sig)}
@media(prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}

.herovid{position:relative;overflow:hidden}.bgvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,29,61,.93),rgba(10,42,82,.65) 55%,rgba(10,42,82,.3))}
.herotxt{position:relative;padding:4.5rem 1.2rem;min-height:420px;display:flex;align-items:center}.herotxt h1{max-width:20ch}
@media(prefers-reduced-motion:reduce){.bgvid{display:none}}

.heroart{border-radius:20px;overflow:hidden;border:4px solid #fff;box-shadow:0 18px 40px rgba(0,0,0,.35)}.heroart svg{display:block;width:100%;height:auto}
.clog{animation:clr 8s ease-in infinite}@keyframes clr{0%,30%{transform:scale(1);opacity:1}55%{transform:scale(.3);opacity:.5}62%,100%{transform:scale(0);opacity:0}}
.jet{animation:jt 8s linear infinite}.jet path{animation:dsh .5s linear infinite}@keyframes jt{0%,5%{opacity:0}12%,50%{opacity:1}62%,100%{opacity:0}}@keyframes dsh{to{stroke-dashoffset:-22}}
.flow{animation:fl 8s linear infinite}.flow path{animation:dsh 1s linear infinite}@keyframes fl{0%,55%{opacity:0}65%,95%{opacity:1}100%{opacity:0}}
.bub circle{animation:bb 3s ease-in-out infinite}.bub circle:nth-child(2){animation-delay:1s}.bub circle:nth-child(3){animation-delay:2s}@keyframes bb{50%{transform:translateY(-14px)}}
.badge{animation:bd 8s ease infinite;transform-box:fill-box;transform-origin:center}@keyframes bd{0%,60%{opacity:0;transform:scale(.8)}70%,92%{opacity:1;transform:scale(1)}100%{opacity:0}}
.ddb{color:var(--sig);font-size:1.15rem;font-weight:700}.dd>a::after{content:""}
.js .rev{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.js .rev.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.clog,.jet,.jet path,.flow,.flow path,.bub circle,.badge{animation:none}.clog{opacity:0}.badge{opacity:1}.flow{opacity:1}}
