/* ===== Stockwell Priority — site styles ===== */
/* Self-hosted fonts — no external dependency */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300;font-display:swap;src:url('../assets/fonts/montserrat-latin-300-normal.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:italic;font-weight:300;font-display:swap;src:url('../assets/fonts/montserrat-latin-300-italic.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/montserrat-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('../assets/fonts/montserrat-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('../assets/fonts/montserrat-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/montserrat-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:normal;font-weight:300;font-display:swap;src:url('../assets/fonts/lato-latin-300-normal.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/lato-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/lato-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:normal;font-weight:900;font-display:swap;src:url('../assets/fonts/lato-latin-900-normal.woff2') format('woff2');}
:root{
  --sky:#38B6FF; --steel:#2C79B5; --navy:#0E1152; --navy2:#171B5E;
  --ink:#171B33; --slate:#5C6580; --cloud:#F2F5FA; --line:#E4E9F2; --white:#fff;
  --maxw:1180px; --r:14px;
  --shadow:0 18px 50px rgba(14,17,82,.10);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Lato',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,.disp{font-family:'Montserrat',sans-serif;color:var(--navy);line-height:1.1;letter-spacing:-.01em;}
a{color:inherit;text-decoration:none;}
img,svg{display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.eyebrow{font-family:'Montserrat';font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;color:var(--steel);}
.bar-accent{display:inline-block;width:22px;height:22px;background:var(--sky);transform:skewX(-18deg);}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Montserrat';font-weight:600;font-size:.95rem;
  padding:13px 26px;border-radius:40px;cursor:pointer;border:2px solid transparent;transition:.18s;white-space:nowrap;}
.btn-primary{background:var(--sky);color:var(--navy);}
.btn-primary:hover{background:#19a7ff;transform:translateY(-2px);}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35);}
.btn-ghost:hover{border-color:var(--sky);color:var(--sky);}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--navy2);transform:translateY(-2px);}
.arrow{font-size:1.05em;line-height:1;}

/* ===== countdown bar ===== */
#countbar{background:var(--navy);color:#fff;font-family:'Montserrat';font-size:.86rem;
  display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 16px;text-align:center;}
#countbar .dot{width:8px;height:8px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 0 rgba(56,182,255,.6);animation:pulse 1.8s infinite;}
#countbar .clock{font-weight:700;color:var(--sky);font-variant-numeric:tabular-nums;}
#countbar.closed .dot{background:#8893b5;animation:none;}
#countbar.closed .clock{color:#aeb6d6;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(56,182,255,.55);}70%{box-shadow:0 0 0 9px rgba(56,182,255,0);}100%{box-shadow:0 0 0 0 rgba(56,182,255,0);}}

/* ===== header / nav ===== */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;height:104px;}
.nav .logo{height:66px;}
.nav ul{display:flex;gap:30px;list-style:none;align-items:center;}
.nav ul a{font-family:'Lato',sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.01em;color:var(--ink);transition:.15s;}
.nav ul a:hover,.nav ul a.active{color:var(--steel);}
.nav .cta-wrap{display:flex;align-items:center;gap:18px;}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
.burger span{width:24px;height:2.5px;background:var(--navy);border-radius:2px;transition:.2s;}

/* ===== hero ===== */
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden;}
.hero .mesh{position:absolute;inset:0;background:
  radial-gradient(900px 500px at 85% -10%, rgba(44,121,181,.55), transparent 60%),
  radial-gradient(600px 400px at 110% 60%, rgba(56,182,255,.30), transparent 55%);}
.hero .ico{position:absolute;right:-90px;bottom:-80px;width:520px;opacity:.10;}
.hero .inner{position:relative;padding:92px 0 104px;max-width:760px;}
.hero h1{color:#fff;font-size:clamp(2.4rem,5.4vw,4rem);font-weight:700;}
.hero h1 .hl{color:var(--sky);}
.hero .lead{font-size:1.2rem;color:#CDD4EC;margin:22px 0 14px;max-width:620px;}
.hero .tag{font-family:'Montserrat';font-style:italic;font-weight:300;color:var(--sky);font-size:1.15rem;margin-bottom:30px;}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero .bars{display:flex;gap:7px;margin-bottom:26px;}
.hero .bars i{display:block;height:12px;transform:skewX(-18deg);border-radius:2px;animation:slidein .7s both;}
.hero .bars i:nth-child(1){width:78px;background:var(--sky);animation-delay:.05s;}
.hero .bars i:nth-child(2){width:64px;background:var(--steel);animation-delay:.2s;}
.hero .bars i:nth-child(3){width:50px;background:#0a0e44;border:1px solid rgba(255,255,255,.18);animation-delay:.35s;}
@keyframes slidein{from{opacity:0;transform:skewX(-18deg) translateX(-26px);}to{opacity:1;transform:skewX(-18deg) translateX(0);}}

/* ===== sections ===== */
section{padding:78px 0;}
section.alt{background:var(--cloud);}
.sec-head{max-width:680px;margin-bottom:42px;}
.sec-head h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:700;margin:10px 0 12px;}
.sec-head p{color:var(--slate);font-size:1.08rem;}
.center{text-align:center;margin-left:auto;margin-right:auto;}

/* cards grid */
.grid{display:grid;gap:20px;}
.g4{grid-template-columns:repeat(4,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g2{grid-template-columns:repeat(2,1fr);}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;transition:.2s;}
.card:hover{box-shadow:var(--shadow);transform:translateY(-4px);border-color:transparent;}
.card .ic{width:58px;height:58px;border-radius:13px;background:var(--cloud);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--steel);}
.card .ic svg{width:31px;height:31px;}
.card h3{font-size:1.18rem;margin-bottom:8px;}
.card p{color:var(--slate);font-size:.97rem;}

/* steps / process */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;position:relative;overflow:hidden;}
.step::before{counter-increment:s;content:"0" counter(s);position:absolute;top:8px;right:14px;font-family:'Montserrat';font-weight:700;font-size:2.6rem;color:#EAEFF7;}
.step .top{height:5px;width:46px;background:var(--sky);border-radius:3px;margin-bottom:18px;}
.step h3{font-size:1.12rem;margin-bottom:7px;}
.step p{color:var(--slate);font-size:.94rem;}

/* stat band */
.band{background:var(--navy);color:#fff;border-radius:20px;padding:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;overflow:hidden;}
.band .ico{position:absolute;right:-50px;bottom:-60px;width:260px;opacity:.10;}
.stat .n{font-family:'Montserrat';font-weight:700;font-size:2.5rem;color:#fff;line-height:1;}
.stat .n .plus{color:var(--sky);}
.stat .l{color:#AEB6D6;font-size:.82rem;margin-top:8px;letter-spacing:.02em;}

/* pricing */
.price{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.pcard{border:1px solid var(--line);border-radius:var(--r);padding:30px;}
.pcard.dark{background:var(--navy);color:#fff;border-color:var(--navy);}
.pcard .tag{font-family:'Montserrat';font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);}
.pcard.dark .tag{color:var(--sky);}
.pcard h3{font-size:1.5rem;margin:6px 0 14px;}
.pcard.dark h3{color:#fff;}
.pcard ul{list-style:none;}
.pcard li{padding:8px 0 8px 26px;position:relative;color:var(--slate);}
.pcard.dark li{color:#CDD4EC;}
.pcard li::before{content:"";position:absolute;left:0;top:14px;width:11px;height:11px;background:var(--sky);transform:skewX(-18deg);border-radius:2px;}

/* CTA strip */
.ctastrip{background:linear-gradient(110deg,var(--navy),var(--navy2));color:#fff;border-radius:22px;padding:54px;text-align:center;position:relative;overflow:hidden;}
.ctastrip h2{color:#fff;font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:12px;}
.ctastrip p{color:#CDD4EC;max-width:560px;margin:0 auto 26px;}
.ctastrip .ico{position:absolute;left:-60px;top:-50px;width:240px;opacity:.10;}

/* ===== footer ===== */
footer.site{background:var(--navy);color:#fff;padding:56px 0 26px;}
footer .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:34px;margin-bottom:36px;}
footer .logo{height:38px;margin-bottom:16px;}
footer p.desc{color:#AEB6D6;font-size:.92rem;max-width:280px;}
footer h4{color:#fff;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;font-weight:600;}
footer ul{list-style:none;}
footer ul li{margin-bottom:4px;}
footer ul a{color:#CDD4EC;font-size:.94rem;transition:.15s;display:inline-block;padding:4px 0;}
footer ul a:hover{color:var(--sky);}
footer .tag{font-family:'Montserrat';font-style:italic;font-weight:300;color:var(--sky);}
footer .bottom{border-top:1px solid #262a66;padding-top:20px;display:flex;justify-content:space-between;color:#8893b5;font-size:.82rem;flex-wrap:wrap;gap:8px;}

/* ===== partner form ===== */
.formwrap{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;}
.formhead{background:var(--navy);color:#fff;padding:28px 34px;}
.formhead h2{color:#fff;font-size:1.5rem;}
.formhead p{color:#AEB6D6;font-size:.95rem;margin-top:4px;}
.progress{display:flex;gap:8px;margin-top:20px;}
.progress .seg{flex:1;height:5px;border-radius:3px;background:rgba(255,255,255,.18);transition:.3s;}
.progress .seg.on{background:var(--sky);}
.formbody{padding:34px;}
.fstep{display:none;animation:fade .3s both;}
.fstep.active{display:block;}
@keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.fstep h3{font-size:1.15rem;margin-bottom:18px;}
.field{margin-bottom:18px;}
.field label{display:block;font-family:'Montserrat';font-weight:500;font-size:.86rem;color:var(--navy);margin-bottom:6px;}
.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;
  font-family:'Lato';font-size:.97rem;color:var(--ink);transition:.15s;background:#fff;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px rgba(56,182,255,.15);}
.field.two{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.field .err{color:#C0392B;font-size:.8rem;margin-top:4px;display:none;}
.field.invalid input,.field.invalid select{border-color:#E0A9A2;}
.field.invalid .err{display:block;}
.chips{display:flex;flex-wrap:wrap;gap:10px;}
.chip{padding:9px 16px;border:1.5px solid var(--line);border-radius:30px;font-family:'Montserrat';font-size:.88rem;cursor:pointer;transition:.15s;user-select:none;}
.chip.sel{background:var(--navy);color:#fff;border-color:var(--navy);}
.formnav{display:flex;justify-content:space-between;margin-top:26px;gap:12px;}
.formnav .btn-back{background:none;border:0;color:var(--slate);font-family:'Montserrat';font-weight:600;cursor:pointer;padding:13px 8px;}
.formnav .btn-back:hover{color:var(--navy);}
.success{display:none;text-align:center;padding:30px 10px;}
.success.show{display:block;animation:fade .4s both;}
.success .badge{width:74px;height:74px;border-radius:50%;background:var(--cloud);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--steel);}
.success h3{font-size:1.5rem;margin-bottom:10px;}
.success p{color:var(--slate);max-width:420px;margin:0 auto;}
.note{font-size:.8rem;color:var(--slate);background:var(--cloud);border-radius:8px;padding:10px 14px;margin-top:18px;}

/* page hero (interior) */
.phero{background:var(--navy);color:#fff;padding:64px 0;position:relative;overflow:hidden;}
.phero .ico{position:absolute;right:-70px;top:-50px;width:360px;opacity:.10;}
.phero h1{color:#fff;font-size:clamp(2rem,4.4vw,3rem);}
.phero p{color:#CDD4EC;font-size:1.1rem;margin-top:14px;max-width:560px;}

/* contact */
.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.cinfo .row{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line);}
.cinfo .row .ic{width:46px;height:46px;border-radius:12px;background:var(--cloud);display:flex;align-items:center;justify-content:center;color:var(--steel);flex:none;}
.cinfo .row h4{font-size:1.02rem;margin-bottom:3px;}
.cinfo .row a,.cinfo .row span{color:var(--slate);}

/* utility */
.mt0{margin-top:0;}.mb0{margin-bottom:0;}
.lead-sky{color:var(--sky);}

/* ===== responsive ===== */
@media(max-width:880px){
  .nav ul,.nav .cta-wrap .btn{display:none;}
  .burger{display:flex;}
  .nav .cta-wrap{gap:0;}
  .nav.open ul{display:flex;position:absolute;top:104px;left:0;right:0;background:#fff;flex-direction:column;
    padding:18px 24px;gap:6px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);}
  .nav.open ul a{padding:10px 0;display:block;}
  .g4{grid-template-columns:1fr 1fr;}
  .steps{grid-template-columns:1fr 1fr;}
  .band{grid-template-columns:1fr 1fr;}
  footer .cols{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
  .g4,.g3,.g2,.price,.steps,.contactgrid,.field.two{grid-template-columns:1fr;}
  /* force every stat band to a single column on mobile, overriding inline 2-col styles */
  .band{grid-template-columns:1fr !important;gap:22px;}
  .hero .inner{padding:60px 0 70px;}
  section{padding:54px 0;}
  .ctastrip,.band{padding:34px 24px;}
  footer .cols{grid-template-columns:1fr;}
  #countbar{font-size:.76rem;}
  /* full-width stacked CTAs on mobile for easier tapping */
  .hero .actions{flex-direction:column;align-items:stretch;}
  .hero .actions .btn{width:100%;justify-content:center;}
}
