/* Waypoint shared stylesheet — Slate & Signal. Used by service/landing pages. */
:root{
  --ink:#0A1019; --navy:#0F1B2D; --navy-2:#16273E; --navy-3:#1D3048;
  --blue:#2F6BFF; --blue-bright:#5C8BFF; --blue-soft:rgba(47,107,255,.14);
  --signal:#34D399; --signal-bright:#5EE3B0; --signal-soft:rgba(52,211,153,.15);
  --paper:#EFEADF; --paper-2:#F8F5EE; --paper-line:rgba(20,32,46,.10);
  --on-dark:#EAF0FB; --muted-dark:#92A4C2; --faint-dark:#5E7191;
  --on-paper:#13202F; --muted-paper:#566273;
  --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.14);
  --r:10px; --r-lg:18px; --maxw:1180px; --grid:rgba(255,255,255,.045);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif; background:var(--navy); color:var(--on-dark); line-height:1.62; -webkit-font-smoothing:antialiased;}
a{color:inherit; text-decoration:none;}
h1,h2,h3,h4{font-family:'Bricolage Grotesque',sans-serif; font-weight:700; letter-spacing:-.02em; line-height:1.06;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
.kicker{font-family:'Space Mono',monospace; font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; display:inline-flex; align-items:center; gap:12px; color:var(--blue-bright);}
.kicker.on-paper{color:#1c8a64;}
.kicker .idx{opacity:.55;} .kicker .ln{width:34px; height:1px; background:currentColor; opacity:.5;}
.btn{display:inline-flex; align-items:center; gap:9px; font-weight:600; font-size:15px; padding:14px 24px; border-radius:var(--r); border:1.5px solid transparent; cursor:pointer; transition:.18s;}
.btn svg{width:17px; height:17px;}
.btn-primary{background:var(--blue); color:#fff;} .btn-primary:hover{background:var(--blue-bright); transform:translateY(-2px);}
.btn-signal{background:var(--signal); color:#053524;} .btn-signal:hover{background:var(--signal-bright); transform:translateY(-2px);}
.btn-ghost{border-color:rgba(255,255,255,.22); color:var(--on-dark);} .btn-ghost:hover{border-color:var(--signal-bright); color:var(--signal-bright);}
.card-more{display:inline-flex; align-items:center; gap:6px; margin-top:14px; font-weight:600; font-size:14px; color:var(--signal-bright); text-decoration:none; letter-spacing:.01em;}
.card-more svg{width:15px; height:15px; transition:transform .18s ease;}
.card-more:hover svg{transform:translateX(4px);}

header.nav{position:sticky; top:0; z-index:60; background:rgba(10,16,25,.82); backdrop-filter:blur(12px); border-bottom:1px solid rgba(255,255,255,.07);}
.nav-in{display:flex; align-items:center; justify-content:space-between; height:74px;}
.logo{display:flex; align-items:center; gap:11px; font-family:'Bricolage Grotesque'; font-weight:800; font-size:22px;}
.logo .mk{width:26px; height:26px; flex:none;}
.nav-mid{display:flex; gap:30px;}
.nav-mid a{color:var(--muted-dark); font-size:14.5px; font-weight:500; transition:.15s;}
.nav-mid a:hover{color:var(--on-dark);}
.nav-r{display:flex; align-items:center; gap:20px;}
.nav-coord{color:var(--faint-dark); font-size:12.5px;}
@media(max-width:900px){ .nav-mid,.nav-coord{display:none;} }

section{padding:84px 0;}
.dark{background:var(--navy);} .ink{background:var(--ink);} .paper{background:var(--paper); color:var(--on-paper);}
.paper h1,.paper h2,.paper h3,.paper h4{color:var(--on-paper);}
.sec-head{max-width:64ch;} .sec-head.center{margin:0 auto; text-align:center;}
.sec-head h2{font-size:clamp(1.9rem,4vw,2.8rem); font-weight:700; margin:18px 0 0;}
.sec-head p{font-size:1.1rem; margin-top:18px;}
.dark .sec-head p,.ink .sec-head p{color:var(--muted-dark);} .paper .sec-head p{color:var(--muted-paper);}
.sec-head.center .kicker{justify-content:center;}

/* page hero */
.shero{position:relative; background:var(--ink); background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px); background-size:46px 46px; border-bottom:1px solid rgba(255,255,255,.06);}
.shero-in{padding:74px 0 78px; max-width:46rem;}
.shero h1{font-size:clamp(2.3rem,5vw,3.7rem); font-weight:800; margin:20px 0 0;}
.shero h1 em{font-style:normal; color:var(--blue-bright);} .shero h1 .ul{color:var(--signal-bright);}
.shero .lede{color:var(--muted-dark); font-size:clamp(1.05rem,1.8vw,1.2rem); margin:22px 0 28px; max-width:52ch;}
.shero-cta{display:flex; gap:14px; flex-wrap:wrap;}
.crumbs{font-family:'Space Mono'; font-size:12px; color:var(--faint-dark); letter-spacing:.04em;}
.crumbs a:hover{color:var(--signal-bright);}

/* feature cards */
.feat{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:8px;}
.fcard{background:var(--navy-2); border:1px solid var(--line); border-radius:var(--r-lg); padding:26px 24px;}
.fcard .fi{width:42px; height:42px; border-radius:11px; background:var(--blue-soft); color:var(--blue-bright); display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.fcard .fi svg{width:21px; height:21px;}
.fcard h3{font-size:1.18rem; margin-bottom:9px;}
.fcard p{color:var(--muted-dark); font-size:.97rem;}
@media(max-width:820px){ .feat{grid-template-columns:1fr;} }

/* checklist on paper */
.checklist{display:grid; grid-template-columns:1fr 1fr; gap:14px 30px; margin-top:26px;}
.checklist li{list-style:none; display:flex; gap:12px; align-items:flex-start; color:var(--muted-paper); font-size:1.02rem;}
.checklist li b{color:var(--on-paper);}
.checklist .ck{width:24px; height:24px; border-radius:7px; background:var(--signal-soft); color:#1c8a64; display:flex; align-items:center; justify-content:center; flex:none; margin-top:1px;}
.checklist .ck svg{width:14px; height:14px;}
@media(max-width:760px){ .checklist{grid-template-columns:1fr;} }

/* steps */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:10px;}
.step{background:var(--navy-2); border:1px solid var(--line); border-radius:var(--r-lg); padding:26px 24px;}
.step .pin{font-family:'Space Mono'; font-size:13px; color:var(--signal-bright); margin-bottom:12px;}
.step h3{font-size:1.15rem; margin-bottom:8px;} .step p{color:var(--muted-dark); font-size:.96rem;}
@media(max-width:820px){ .steps{grid-template-columns:1fr;} }

/* CTA band */
.ctaband{background:var(--ink); border-top:1px solid var(--line);}
.ctaband .in{text-align:center; max-width:46rem; margin:0 auto;}
.ctaband h2{font-size:clamp(1.7rem,3.6vw,2.5rem);}
.ctaband p{color:var(--muted-dark); margin:16px 0 26px; font-size:1.08rem;}
.ctaband .row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

footer{background:var(--ink); border-top:1px solid var(--line); padding:54px 0 40px;}
.foot-top{display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; padding-bottom:26px; border-bottom:1px solid var(--line);}
.foot-top p{color:var(--muted-dark); font-size:.95rem; margin-top:12px; max-width:42ch;}
.foot-links{display:flex; gap:18px; flex-wrap:wrap; align-items:center;}
.foot-links a{color:var(--muted-dark); font-size:14px;} .foot-links a:hover{color:var(--on-dark);}
.foot-base{display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-top:22px; color:var(--faint-dark); font-size:13px;}
.foot-base a:hover{color:var(--signal-bright);}

/* ===== MOBILE PASS (phones) ===== */
@media(max-width:600px){
  .wrap{padding:0 26px;}
  section{padding:60px 0;}
  .nav-in{height:62px;}
  .shero-in{padding:40px 0 46px;}
  .shero h1{font-size:clamp(2rem,8.4vw,2.6rem);}
  .shero .lede{font-size:1.04rem; margin:18px 0 24px; max-width:none;}
  .shero-cta{flex-direction:column; align-items:stretch; gap:10px;}
  .shero-cta .btn{justify-content:center; width:100%;}
  .sec-head h2{font-size:clamp(1.65rem,6.8vw,2.1rem);}
  .sec-head p{font-size:1.02rem;}
  .feat{margin-top:24px;} .fcard{padding:22px 20px;}
  .checklist{margin-top:22px; gap:12px;}
  .steps{margin-top:24px;} .step{padding:22px 20px;}
  .ctaband .row{flex-direction:column; align-items:stretch;}
  .ctaband .row .btn{width:100%; justify-content:center;}
  .foot-top{gap:20px;}
}
