/* vibe v1: same palette (--blue #1f4fd8, --teal #0c8f86, --ink #142033, --sand #f6f1e7, --line #e3e9f2) */
.hero{position:relative;isolation:isolate;padding-top:40px}
.hero::before{content:"";position:absolute;inset:-12px -14px 0;z-index:-1;border-radius:28px;background:radial-gradient(60% 70% at 15% 0%,#1f4fd81f,transparent 70%),radial-gradient(50% 60% at 95% 10%,#0c8f861a,transparent 70%),linear-gradient(180deg,#f6f1e7 0,#fff 85%)}
.hero h1{font-size:clamp(30px,5.6vw,52px);line-height:1.05;letter-spacing:-.025em}
main h2{position:relative;letter-spacing:-.02em;font-size:clamp(23px,3.4vw,32px);padding-bottom:10px}
main h2::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:4px;border-radius:4px;background:linear-gradient(90deg,#1f4fd8,#0c8f86)}
main section{padding-block:clamp(14px,3vw,30px)}
main section:nth-of-type(even)>.wrap,main section.assure{background-image:linear-gradient(180deg,#f6f1e766,transparent)}
.btn{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.btn:not(.ghost){background-image:linear-gradient(135deg,#1f4fd8,#1f4fd8 55%,#0c8f86)}
.card,.plan,.rv-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.plan-lead{font-weight:500}
.grid3{align-items:stretch}
.plan ul li{margin:4px 0}
@media (hover:hover){.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px -12px #1f4fd8aa}.card:hover,.plan:hover,.rv-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px -22px #14203366;border-color:#c9d7f5}}
@media(prefers-reduced-motion:no-preference){.hero h1,.hero p,.hero .actions{animation:vb-up .7s cubic-bezier(.22,1,.36,1) both}.hero p{animation-delay:.08s}.hero .actions{animation-delay:.16s}@keyframes vb-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){.btn,.card,.plan,.rv-card{transition:none}.btn:hover,.card:hover,.plan:hover{transform:none}}
@media(max-width:700px){.grid3{grid-template-columns:1fr;gap:14px}}
/* premium background: faint dot grid + soft brand glows (CSS only) */
body{background-color:#fff;background-image:radial-gradient(#1f4fd814 1px,transparent 1.2px);background-size:22px 22px;background-attachment:scroll}
body::before{content:"";position:fixed;inset:-20vmax;z-index:-1;pointer-events:none;background:radial-gradient(28vmax 28vmax at 12% 18%,#1f4fd81a,transparent 70%),radial-gradient(26vmax 26vmax at 88% 30%,#0c8f8617,transparent 70%),radial-gradient(30vmax 30vmax at 50% 95%,#f6f1e7cc,transparent 70%)}
body{position:relative;isolation:isolate}
main section .card,main section .plan{background-color:#fff}
@media(prefers-reduced-motion:no-preference){body::before{animation:vb-drift 28s ease-in-out infinite alternate;will-change:transform}@keyframes vb-drift{to{transform:translate3d(3vmax,-2vmax,0) scale(1.06)}}}
