:root{--navy:#0b2a5b;--red:#c41e3a;--ink:#1b2433;--bg:#f3f5f9}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 "Segoe UI",system-ui,sans-serif;color:var(--ink)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.narrow{max-width:760px;padding-top:40px;padding-bottom:40px}
header{background:#fff;border-bottom:4px solid var(--red);position:sticky;top:0;z-index:5}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;padding-bottom:8px}
nav{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}nav a{color:var(--navy);text-decoration:none;font-weight:600;font-size:15px}
nav a:hover,a:focus-visible{color:var(--red)}.navcta{background:var(--red);color:#fff!important;padding:6px 14px;border-radius:4px}
.hero{background:linear-gradient(120deg,var(--navy) 55%,#7a1226);color:#fff;padding:90px 0}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.1;max-width:14em;margin:0 0 16px}.hero p{max-width:34em;font-size:1.15rem}
h1,h2,h3{color:var(--navy);line-height:1.2}.hero h1{color:#fff}h2{margin-top:40px}
.btn{display:inline-block;background:var(--red);color:#fff;padding:12px 24px;border:0;border-radius:4px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.btn.alt{background:transparent;border:2px solid #fff}.btn:hover{filter:brightness(1.1)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:48px}
.card{display:block;background:var(--bg);border-left:5px solid var(--navy);padding:18px 20px;text-decoration:none;color:var(--ink)}
.card h3{margin:0 0 6px}.card p{margin:0}.card:hover{border-color:var(--red)}.soon{border-color:#999}
.band{background:var(--navy);color:#fff;padding:48px 0}.band h2{color:#fff;margin-top:0}
.lead{font-size:1.2rem}li{margin:4px 0}.shot{max-width:100%;height:auto;margin:16px 0}
label{display:block;font-weight:600;margin-bottom:14px}input,textarea{display:block;width:100%;padding:10px;font:inherit;border:1px solid #9aa4b5;border-radius:4px;margin-top:4px}
.hp{position:absolute;left:-9999px}.ok{background:#e6f4ea;padding:12px}.err{background:#fde8ea;padding:12px}
footer{background:var(--bg);padding:28px 0;font-size:15px;border-top:1px solid #d9deea}
@media(prefers-reduced-motion:no-preference){.card,.btn{transition:.15s}}
.spider{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding-top:48px;padding-bottom:48px}.spider img{width:100%;height:auto}@media(max-width:700px){.spider{grid-template-columns:1fr}}

/* motion */
body{animation:fin .6s ease both}@keyframes fin{from{opacity:0}}
header{transition:box-shadow .3s}header img{height:56px;width:auto;transition:height .3s}
header.scrolled{box-shadow:0 6px 24px rgba(11,42,91,.18)}header.scrolled img{height:40px}
nav a{position:relative}nav a:not(.navcta)::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:2px;background:var(--red);transition:right .25s}
nav a:not(.navcta):hover::after{right:0}
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#071c40,var(--navy),#7a1226,var(--navy));background-size:300% 300%;animation:flow 14s ease-in-out infinite}
@keyframes flow{50%{background-position:100% 50%}}
.hero::before{content:"";position:absolute;width:60vw;height:60vw;max-width:800px;max-height:800px;right:-10%;top:-30%;background:radial-gradient(circle,rgba(255,140,40,.55),rgba(255,80,30,.18) 45%,transparent 70%);filter:blur(30px);animation:heat 7s ease-in-out infinite alternate}
@keyframes heat{to{transform:translate(-8%,12%) scale(1.15);opacity:.7}}
.hero::after{content:"";position:absolute;top:0;bottom:0;right:22%;width:90px;background:rgba(196,30,58,.35);transform:skewX(-22deg);animation:slash 1.2s .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes slash{from{transform:translateX(120vw) skewX(-22deg)}}
.hero .wrap{position:relative;z-index:1}
.hero h1,.hero p{animation:up .9s cubic-bezier(.2,.8,.2,1) both}.hero p:nth-of-type(1){animation-delay:.2s}.hero p:nth-of-type(2){animation-delay:.4s}
@keyframes up{from{opacity:0;transform:translateY(32px)}}
.btn{position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.btn::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg)}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(196,30,58,.4)}.btn:hover::after{left:140%;transition:left .6s}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-top:-36px;position:relative;z-index:2}
.stats>div{background:#fff;box-shadow:0 10px 30px rgba(11,42,91,.15);border-top:4px solid var(--red);padding:18px;text-align:center}
.stats b{display:block;font-size:2.3rem;color:var(--navy);line-height:1.1}.stats span{font-size:.9rem;color:#556}
.card{transition:transform .3s,box-shadow .3s,border-color .3s,background .3s}
.card:hover{transform:translateY(-6px);background:#fff;box-shadow:0 14px 30px rgba(11,42,91,.18)}
.spider img{transition:transform .6s}.spider:hover img{transform:scale(1.04)}
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
.js .rv.in{opacity:1;transform:none}
.js .card.rv.in{transition:opacity .7s,transform .3s,box-shadow .3s,border-color .3s,background .3s}
@media(prefers-reduced-motion:reduce){*,::before,::after{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}}
.soonpage{text-align:center}.soonpage img{max-width:100%;height:auto;margin-bottom:8px}
.eqc img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:10px}.price{font-weight:700;color:var(--red)}.sold{opacity:.65}
.eqd{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}.eqd .shot{width:100%;margin:0}.th img{height:70px;margin:8px 8px 0 0;cursor:pointer;border:2px solid transparent}.th img:hover{border-color:var(--red)}@media(max-width:760px){.eqd{grid-template-columns:1fr}}
