:root{
  --ink:#0a2944;
  --ink-2:#163e5b;
  --muted:#607c92;
  --sky:#66d9ff;
  --aqua:#23d5d5;
  --ocean:#1888e8;
  --blue:#2b63ff;
  --violet:#7b39ff;
  --coral:#ff7e70;
  --sun:#ffd56e;
  --sand:#fff4df;
  --foam:#f5fcff;
  --white:#fff;
  --line:rgba(10,41,68,.10);
  --shadow:0 18px 46px rgba(18,94,145,.13);
  --shell:1020px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#fff}
body{
  margin:0;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#fff;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
.shell{width:min(var(--shell),calc(100% - 42px));margin-inline:auto}

/* HEADER */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:#06192d;
  backdrop-filter:none;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-nav{
  min-height:62px;
  display:flex;
  align-items:center;
  gap:22px;
}
.site-logo{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
}
.site-logo img{
  width:168px;
  height:50px;
  object-fit:contain;
}
.site-links{
  display:flex;
  align-items:center;
  gap:21px;
  margin-left:auto;
  color:#d7e8f4;
  font-size:12px;
  font-weight:850;
}
.site-links a{position:relative;padding:10px 0}
.site-links a:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:3px;
  height:2px;
  border-radius:99px;
  transform:scaleX(0);
  background:linear-gradient(90deg,var(--aqua),var(--ocean),var(--violet));
  transition:transform .18s ease;
}
.site-links a:hover:after,.site-links a[aria-current="page"]:after{transform:scaleX(1)}
.header-action{margin-left:4px}

/* BUTTONS */
.btn{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:900;
  letter-spacing:-.01em;
  white-space:nowrap;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  color:#fff;
  background:linear-gradient(105deg,var(--ocean),var(--blue) 48%,var(--violet));
  box-shadow:0 13px 32px rgba(45,99,255,.22);
}
.btn-secondary{
  color:var(--ink-2);
  background:rgba(255,255,255,.94);
  border-color:rgba(10,41,68,.12);
  box-shadow:0 9px 24px rgba(18,94,145,.08);
}

/* FULL-BLEED HERO */
.masthead{
  position:relative;
  min-height:360px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
}
.masthead-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-3;
}
.masthead-scrim{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(5,31,48,.08) 0%,rgba(5,31,48,.25) 36%,rgba(5,31,48,.72) 100%),
    linear-gradient(90deg,rgba(5,31,48,.55) 0%,rgba(5,31,48,.20) 58%,rgba(5,31,48,.02) 100%);
}
.masthead:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:14px;
  background:linear-gradient(180deg,transparent,#fff);
  pointer-events:none;
}
.masthead-content{
  width:100%;
  padding:80px 0 40px;
  color:#fff;
}
.eyebrow{
  margin:0 0 12px;
  color:#d7f7ff;
  font-size:10px;
  font-weight:950;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.masthead h1{
  max-width:650px;
  margin:0 0 16px;
  font-size:clamp(38px,5vw,62px);
  line-height:.92;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.masthead h1 .accent{
  background:linear-gradient(90deg,#90edff 0%,#82d1ff 40%,#c7a7ff 78%,#ffd0c6 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.masthead p{
  max-width:650px;
  margin:0;
  color:rgba(255,255,255,.93);
  font-size:clamp(16px,1.7vw,20px);
  line-height:1.55;
  text-shadow:0 2px 14px rgba(0,0,0,.14);
}
.masthead-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}
.masthead .btn-secondary{
  color:#fff;
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.34);
  backdrop-filter:blur(12px);
}

/* EDITORIAL STORY */
.story-section{padding:58px 0}
.story-section.soft{
  background:
    radial-gradient(circle at 90% 5%,rgba(255,213,110,.19),transparent 22rem),
    linear-gradient(180deg,#f4fcff 0%,#fff 75%);
}
.story-section.sand{
  background:
    radial-gradient(circle at 8% 85%,rgba(35,213,213,.14),transparent 22rem),
    linear-gradient(155deg,#f1fbff 0%,#fff8eb 100%);
}
.prose{max-width:800px}
.prose .eyebrow{color:#1583a7}
.prose h2,.editorial-copy h2,.footer-cta h2{
  margin:10px 0 18px;
  font-size:clamp(32px,3.7vw,48px);
  line-height:.98;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.gradient-text{
  background:linear-gradient(90deg,#149fc2 0%,var(--ocean) 34%,var(--violet) 72%,#ef67c9 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.prose p,.editorial-copy p,.legal-copy p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:16.5px;
  line-height:1.7;
}
.prose .lead{
  color:#315b74;
  font-size:clamp(19px,2vw,23px);
  line-height:1.55;
  letter-spacing:-.02em;
}
.emphasis{
  color:var(--ink)!important;
  font-size:19px!important;
  line-height:1.5!important;
  font-weight:900;
  letter-spacing:-.02em;
}
.editorial{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
}
.editorial.reverse .editorial-media{order:2}
.editorial.reverse .editorial-copy{order:1}
.editorial-media{
  min-height:420px;
  position:relative;
  overflow:hidden;
  border-radius:26px;
  box-shadow:var(--shadow);
  background:#dff7ff;
}
.editorial-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.editorial-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 58%,rgba(5,31,48,.45));
  pointer-events:none;
}
.editorial-caption{
  position:absolute;
  z-index:2;
  left:22px;right:22px;bottom:20px;
  color:#fff;
  font-weight:900;
  font-size:21px;
  line-height:1.1;
  text-shadow:0 2px 12px rgba(0,0,0,.22);
}
.editorial-copy .eyebrow{color:#1583a7}

/* SIMPLE JOURNEY */
.journey{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
  margin-top:34px;
  padding-top:24px;
  border-top:2px solid rgba(24,136,232,.12);
}
.journey-step{position:relative}
.journey-step strong{
  display:block;
  margin-bottom:10px;
  font-size:28px;
  letter-spacing:-.035em;
}
.journey-step p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}
.journey-step:not(:last-child):after{
  content:"→";
  position:absolute;
  right:-21px;
  top:3px;
  color:#4bb9cf;
  font-size:22px;
  font-weight:900;
}

/* MANIFESTO */
.manifesto{
  padding:72px 0 82px;
  text-align:center;
  background:linear-gradient(180deg,#f4fcff 0%,#eefaff 52%,#fff5e5 100%);
}
.manifesto p{
  margin:0;
  font-size:clamp(38px,5.3vw,64px);
  line-height:.94;
  letter-spacing:-.06em;
  font-weight:950;
}

/* LEGAL */
.legal-copy{max-width:800px}
.legal-copy h2{
  margin:34px 0 10px;
  font-size:clamp(26px,3vw,38px);
  line-height:1.04;
  letter-spacing:-.035em;
}
.legal-copy h2:first-child{margin-top:0}

/* CLAIM */
.claim-main{
  background:
    radial-gradient(circle at 8% 10%,rgba(102,217,255,.18),transparent 24rem),
    radial-gradient(circle at 92% 90%,rgba(255,213,110,.22),transparent 22rem),
    linear-gradient(180deg,#f6fdff,#fff);
  padding:54px 0 70px;
}
.claim-layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:32px;
  align-items:start;
}
.claim-side h2{
  margin:12px 0 18px;
  font-size:clamp(32px,3.8vw,48px);
  letter-spacing:-.045em;
  line-height:.98;
}
.claim-side p{
  color:var(--muted);
  font-size:15.5px;
  line-height:1.7;
}
.claim-logo{
  width:210px;
  height:auto;
  margin-bottom:22px;
}
.claim-panel{
  padding:28px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.progress{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-bottom:24px;
}
.progress i{
  height:4px;
  border-radius:99px;
  background:#dcebf3;
}
.progress i.on{background:linear-gradient(90deg,var(--aqua),var(--ocean),var(--violet))}
.claim-step{display:none}
.claim-step.on{display:block}
.claim-step h2{
  margin:0 0 8px;
  font-size:30px;
  line-height:1.02;
  letter-spacing:-.035em;
}
.claim-step>p{margin:0 0 24px;color:var(--muted);line-height:1.6}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
}
.field{
  display:block;
  color:#365a72;
  font-size:10px;
  font-weight:900;
}
.field.full{grid-column:1/-1}
.input{
  width:100%;
  height:50px;
  margin-top:8px;
  padding:0 16px;
  border-radius:15px;
  border:1px solid #d9e7ef;
  outline:none;
  background:#fbfeff;
  color:var(--ink);
}
.input:focus{
  border-color:#64d6f4;
  box-shadow:0 0 0 4px rgba(102,217,255,.14);
}
.check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:8px 0;
  color:#4d6b82;
  font-size:12px;
  line-height:1.5;
}
.check input{margin-top:2px;accent-color:var(--ocean)}
.form-status{
  min-height:21px;
  margin:10px 0;
  font-size:12px;
  color:#6f899d;
}
.form-status.good{color:#21835d}
.form-status.bad{color:#cb4055}
.handle-preview{
  margin:18px 0;
  padding:15px 17px;
  border-left:4px solid var(--aqua);
  background:#f1fbff;
}
.handle-preview small{
  display:block;
  color:#6d8ba0;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}
.handle-preview strong{
  display:block;
  margin-top:4px;
  font-size:26px;
}
.success{text-align:center;padding:22px 0}
.success-mark{
  width:64px;height:64px;
  display:grid;place-items:center;
  margin:0 auto 18px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--aqua),var(--ocean));
  color:#fff;
  font-size:28px;
  font-weight:950;
}

/* FOOTER */
.footer{
  background:#06192d;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:40px 0;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.footer-cta>div{max-width:650px}
.footer-cta .eyebrow{color:#75ddff}
.footer-cta h2{font-size:clamp(30px,3.5vw,44px);margin-bottom:12px}
.footer-cta p{margin:0;color:#a9c0d0;font-size:14px;line-height:1.6}
.footer-grid{
  display:grid;
  grid-template-columns:1.45fr repeat(3,.8fr);
  gap:28px;
  padding:30px 0 38px;
  color:#9db4c5;
  font-size:10px;
}
.footer-brand img{
  width:168px;
  height:auto;
  margin-bottom:10px;
}
.footer-brand p{max-width:310px;line-height:1.55}
.footer h4{margin:0 0 12px;color:#dceaf3;font-size:11px}
.footer a{display:block;margin:8px 0}
.footer a:hover{color:var(--ocean)}
.footer span{display:block;margin-top:8px}

/* IMAGE BEHAVIOR / CLICK SAFETY */
.masthead-scrim,.masthead:after,.editorial-media:after{pointer-events:none}

/* RESPONSIVE */
@media(max-width:980px){
  .site-links{display:none}
  .header-action{margin-left:auto}
  .masthead{min-height:380px}
  .editorial,.claim-layout{grid-template-columns:1fr}
  .editorial.reverse .editorial-media,.editorial.reverse .editorial-copy{order:initial}
  .editorial-media{min-height:330px}
  .journey{grid-template-columns:1fr 1fr}
  .journey-step:after{display:none}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}
  .footer-grid>div:last-child{grid-column:2/4}
}
@media(max-width:700px){
  .shell{width:calc(100% - 26px)}
  .site-nav{min-height:58px}
  .site-logo img{width:150px;height:50px}
  .header-action{display:none}
  .masthead{min-height:340px}
  .masthead-content{padding:68px 0 32px}
  .masthead h1{font-size:36px}
  .masthead p{font-size:15.5px;line-height:1.52}
  .masthead-actions{margin-top:18px}
  .masthead-actions .btn{width:100%}
  .story-section{padding:44px 0}
  .prose h2,.editorial-copy h2{font-size:31px}
  .prose p,.editorial-copy p,.legal-copy p{font-size:15.5px;line-height:1.67}
  .prose .lead{font-size:18px}
  .emphasis{font-size:17.5px!important}
  .editorial{gap:26px}
  .editorial-media{min-height:270px;border-radius:20px}
  .editorial-caption{font-size:18px;left:18px;right:18px;bottom:17px}
  .journey{grid-template-columns:1fr;gap:20px;margin-top:26px}
  .manifesto{padding:54px 0 62px}
  .manifesto p{font-size:38px}
  .claim-main{padding:38px 0 54px}
  .claim-layout{gap:24px}
  .claim-panel{padding:20px 16px;border-radius:20px}
  .claim-logo{width:180px;margin-bottom:16px}
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .footer-cta{display:block;padding:30px 0}
  .footer-cta .btn{width:100%;margin-top:16px}
  .footer-grid{grid-template-columns:1fr 1fr;padding:24px 0 30px}
  .footer-brand{grid-column:1/-1}
  .footer-grid>div:last-child{grid-column:auto}
}
