/* ══════════════════════════════════════════════════════════════════
   AptaPilot — shared design system  (navy + orange, service-first)
   One stylesheet for the whole mini-site: index / rescue / discovery / characterize.
   To retune the brand, change --navy and --orange here — everything follows.
   ══════════════════════════════════════════════════════════════════ */
:root{
  --navy:#0a2342; --navy-2:#12365f; --cream:#f4efe6;
  --orange:#ee6c2b; --orange-deep:#cf551a; --orange-tint:rgba(238,108,43,.09); --orange-line:rgba(238,108,43,.40);
  --bg:#f6f4f0; --panel:#fff; --line:rgba(12,28,48,.11); --line-2:rgba(12,28,48,.055); --line-3:rgba(12,28,48,.20);
  --fg:#0c1c30; --fg-2:#33414f; --fg-muted:#63707d; --sub:#98a2ab;
  --f-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;
  --f-body:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;
  --f-mono:ui-monospace,"SF Mono","Cascadia Code","Segoe UI Mono",Menlo,Consolas,monospace;
  --ease:cubic-bezier(.16,1,.3,1); --r-card:16px; --r-pill:999px; --r-chip:9px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--f-body);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;line-height:1.5;letter-spacing:-.011em}
a{color:inherit;text-decoration:none} sub{font-size:.72em}
h1,h2,h3{text-wrap:balance} p{text-wrap:pretty}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px}
section{padding:clamp(60px,8vw,108px) 0} .white+.white{border-top:1px solid var(--line-2)}
.eyebrow{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-deep)}
.shead{margin-bottom:52px}
.shead h2{font-family:var(--f-display);font-weight:600;font-size:clamp(28px,4vw,48px);letter-spacing:-.035em;line-height:1.07;color:var(--navy);max-width:24ch;margin-top:14px}
.shead h2 em{font-style:normal;color:var(--orange-deep)}
.lead{font-size:clamp(15px,1.1vw,18px);line-height:1.6;color:var(--fg-2);max-width:62ch}
.pill{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:var(--r-pill);font-size:13.5px;font-weight:600;letter-spacing:-.005em;transition:background .25s var(--ease)}
.pill.solid{background:var(--orange);color:#fff} .pill.solid:hover{background:var(--orange-deep)}
.pill.oncream{background:transparent;color:var(--cream);border:1px solid rgba(244,239,230,.32)} .pill.oncream:hover{border-color:var(--cream)}
.pill.dark{background:var(--navy);color:#fff}

/* ── nav ── */
.nav{position:sticky;top:0;z-index:50;background:rgba(246,244,240,.82);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--line-2)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;padding:13px 32px;font-size:13px;gap:20px}
.nav .brand{display:flex;align-items:center;gap:9px;font-weight:600;color:var(--navy)}
.nav .brand .d{width:17px;height:17px}
.nav .links{display:flex;gap:26px;color:var(--fg-muted)} .nav .links a:hover{color:var(--navy)}
.nav .bc{color:var(--fg-muted)} .nav .bc b{color:var(--navy);font-weight:600}
.nav .back{color:var(--fg-muted)} .nav .back:hover{color:var(--navy)}
@media(max-width:640px){.nav .links{display:none} .nav .bc{display:none}}

/* ── hero (home, centered navy) ── */
.hero{background:var(--navy);color:var(--cream);position:relative;overflow:hidden;padding:120px 32px 98px;text-align:center}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(120% 80% at 50% 0%,#000,transparent 78%);-webkit-mask-image:radial-gradient(120% 80% at 50% 0%,#000,transparent 78%)}
.hero>div{position:relative;max-width:1000px;margin:0 auto}
.hero .mark{width:92px;height:92px;margin:0 auto 28px}
.hero .eyebrow{color:rgba(244,239,230,.62)}
.hero h1{font-family:var(--f-display);font-weight:600;font-size:clamp(58px,11vw,140px);letter-spacing:-.055em;line-height:.9;color:var(--cream);margin-top:20px}
.hero .lede{margin:26px auto 0;max-width:22ch;font-family:var(--f-display);font-weight:300;font-size:clamp(24px,3.2vw,40px);line-height:1.12;letter-spacing:-.03em;color:var(--cream)}
.hero .lede .stop{color:var(--orange)}
.hero .sub{margin:22px auto 0;max-width:56ch;font-size:clamp(15px,1.2vw,18px);line-height:1.6;color:rgba(244,239,230,.72)}
.hero .cta{margin-top:38px;display:inline-flex;flex-wrap:wrap;gap:14px;justify-content:center}
.chips{margin:44px auto 0;display:inline-flex;flex-wrap:wrap;gap:9px;justify-content:center;font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(244,239,230,.6)}
.chips span{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid rgba(244,239,230,.16);border-radius:var(--r-pill)}
.chips span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--orange)}
.chips .arr{border:0;padding:0;color:rgba(244,239,230,.3)} .chips .arr::before{display:none}

/* ── service-page hero (left-aligned, with meta) ── */
.shero{background:var(--navy);color:var(--cream);position:relative;overflow:hidden;padding:80px 32px 70px}
.shero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(120% 90% at 18% 0%,#000,transparent 80%);-webkit-mask-image:radial-gradient(120% 90% at 18% 0%,#000,transparent 80%)}
.shero .wrap{position:relative}
.shero .eyebrow{color:var(--orange)}
.shero h1{font-family:var(--f-display);font-weight:600;font-size:clamp(44px,7vw,82px);letter-spacing:-.045em;line-height:.98;color:var(--cream);margin:16px 0 0;max-width:16ch}
.shero .sub{margin-top:22px;max-width:54ch;font-size:clamp(15px,1.2vw,18px);line-height:1.6;color:rgba(244,239,230,.74)}
.shero .cta{margin-top:32px;display:inline-flex;flex-wrap:wrap;gap:14px}
.shero .meta{margin-top:40px;display:flex;flex-wrap:wrap;border-top:1px solid rgba(244,239,230,.16);max-width:660px}
.shero .meta div{flex:1;min-width:145px;padding:18px 22px 0 0}
.shero .meta .k{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,230,.5)}
.shero .meta .v{font-family:var(--f-display);font-size:19px;font-weight:600;color:var(--cream);margin-top:6px}

/* ── system bar ── */
.sysbar{display:flex;align-items:center;justify-content:space-between;padding:11px 18px;border:1px solid var(--line);border-radius:var(--r-chip);background:var(--panel);font-family:var(--f-mono);font-size:11px;color:var(--sub);margin-bottom:48px;flex-wrap:wrap;gap:10px}
.sysbar .grp{display:flex;gap:18px;flex-wrap:wrap} .sysbar .grp span{display:inline-flex;align-items:center;gap:8px}
.sysbar .dot{width:6px;height:6px;border-radius:50%;background:var(--orange);animation:pulse 2.2s var(--ease) infinite}
@keyframes pulse{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.06)}}

/* ── services grid (home) ── */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}@media(max-width:860px){.svc-grid{grid-template-columns:1fr}}
.svc{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);padding:32px 30px 28px;display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.svc:hover{transform:translateY(-4px)}
.svc.flag{border:1px solid var(--orange-line);box-shadow:0 24px 60px -34px rgba(238,108,43,.5)}
.svc .tag{position:absolute;top:0;left:30px;transform:translateY(-50%);font-family:var(--f-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:var(--orange);padding:5px 11px;border-radius:var(--r-pill)}
.svc .sn{font-family:var(--f-mono);font-size:11px;letter-spacing:.24em;color:var(--orange-deep);margin-bottom:16px}
.svc h3{font-family:var(--f-display);font-weight:600;font-size:26px;letter-spacing:-.03em;color:var(--navy);margin-bottom:8px}
.svc .sll{font-size:13.5px;line-height:1.5;color:var(--fg);font-weight:600;margin-bottom:14px}
.svc p{font-size:13.5px;line-height:1.62;color:var(--fg-muted);flex:1}
.svc .deliver{margin-top:20px;padding-top:16px;border-top:1px solid var(--line-2);font-size:12.5px;line-height:1.55;color:var(--fg-2)}
.svc .deliver b{color:var(--navy);font-weight:600}
.svc .foot{margin-top:16px;display:flex;align-items:center;justify-content:space-between}
.svc .who{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sub)}
.svc .go{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-deep)}
.closing{margin-top:46px;font-family:var(--f-display);font-weight:300;font-size:clamp(21px,2.5vw,32px);line-height:1.25;letter-spacing:-.03em;color:var(--fg-2)}
.closing em{font-style:normal;color:var(--orange-deep);font-weight:400}

/* ── why-us proof strip ── */
.proof{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
@media(max-width:860px){.proof{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.proof{grid-template-columns:1fr}}
.proof .p{background:var(--panel);padding:28px 26px}
.proof .pk{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-deep);margin-bottom:16px}
.proof .pv{font-family:var(--f-display);font-weight:600;font-size:clamp(23px,2.4vw,30px);letter-spacing:-.03em;line-height:1;color:var(--navy)}
.proof .pd{margin-top:12px;font-size:13px;line-height:1.55;color:var(--fg-muted)}

/* ── business model (hierarchical) ── */
.core{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:18px;align-items:stretch}
@media(max-width:860px){.core{grid-template-columns:1fr}}
.blk{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:30px 28px;display:flex;flex-direction:column}
.blk .lab{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.blk .lab .num{width:26px;height:26px;border-radius:50%;background:var(--orange);color:#fff;font-family:var(--f-mono);font-size:12px;font-weight:600;display:grid;place-items:center;flex:none}
.blk .lab .cap{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-deep)}
.blk h3{font-family:var(--f-display);font-weight:600;font-size:22px;letter-spacing:-.025em;color:var(--navy);margin-bottom:16px}
.blk ul{list-style:none;margin:0;padding:0}
.blk li{font-size:14px;line-height:1.5;color:var(--fg-2);padding:9px 0 9px 17px;position:relative}
.blk li+li{border-top:1px solid var(--line-2)}
.blk li::before{content:"";position:absolute;left:0;top:16px;width:5px;height:5px;border-radius:50%;background:var(--line-3)}
.blk li b{color:var(--navy);font-weight:600}
.blk.hero-blk{background:var(--navy);border-color:var(--navy)}
.blk.hero-blk .lab .cap{color:var(--orange)}
.blk.hero-blk h3{color:#fff} .blk.hero-blk li{color:rgba(244,239,230,.92);border-color:rgba(255,255,255,.1)} .blk.hero-blk li::before{background:var(--orange)} .blk.hero-blk li b{color:#fff}
.blk.money{background:var(--orange-tint);border-color:var(--orange-line)}
.blk.money li::before{background:var(--orange)} .blk.money li b{color:var(--orange-deep)}
.eng-lab{margin:44px 0 18px;display:flex;align-items:center;gap:14px;font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--sub)}
.eng-lab::after{content:"";flex:1;height:1px;background:var(--line)}
.eng{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:860px){.eng{grid-template-columns:1fr 1fr}}@media(max-width:520px){.eng{grid-template-columns:1fr}}
.sblk{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px 22px}
.sblk .cap{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:13px}
.sblk ul{list-style:none;margin:0;padding:0}
.sblk li{font-size:13px;line-height:1.5;color:var(--fg-2);padding:5px 0 5px 15px;position:relative}
.sblk li::before{content:"";position:absolute;left:0;top:12px;width:4px;height:4px;border-radius:50%;background:var(--line-3)}
.sblk li.moat{color:var(--orange-deep);font-weight:500} .sblk li.moat::before{background:var(--orange)}
.flyw{margin-top:34px;display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.flyw span{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2);padding:9px 13px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--panel)}
.flyw span.hot{color:#fff;background:var(--navy);border-color:var(--navy)}
.flyw .arr{border:0;background:none;padding:0 2px;color:var(--orange)}

/* ── service page: problem cards ── */
.plist{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}@media(max-width:820px){.plist{grid-template-columns:1fr}}
.pcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);padding:26px 26px;border-top:3px solid var(--orange)}
.pcard h3{font-family:var(--f-display);font-size:18px;font-weight:600;color:var(--navy);letter-spacing:-.02em;margin-bottom:8px}
.pcard p{font-size:13.5px;line-height:1.6;color:var(--fg-muted)}

/* ── service page: steps ── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr;border-top:none} .step{border-top:1px solid var(--line);padding:22px 0} .step::after{display:none}}@media(max-width:520px){.steps{grid-template-columns:1fr}}
.step{padding:26px 26px 26px 0;position:relative}
.step .n{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;color:var(--orange-deep);margin-bottom:12px}
.step h3{font-family:var(--f-display);font-size:18px;font-weight:600;color:var(--navy);letter-spacing:-.02em;margin-bottom:7px}
.step p{font-size:13px;line-height:1.55;color:var(--fg-muted)}
.step:not(:last-child)::after{content:"→";position:absolute;right:18px;top:24px;color:var(--line-3)}

/* ── service page: deliverable ── */
.deliv{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}@media(max-width:820px){.deliv{grid-template-columns:1fr;gap:28px}}
.deliv ul{list-style:none;margin:18px 0 0;padding:0}
.deliv li{font-size:14.5px;line-height:1.5;color:var(--fg-2);padding:11px 0 11px 26px;position:relative;border-bottom:1px solid var(--line-2)}
.deliv li::before{content:"✓";position:absolute;left:0;top:11px;color:var(--orange-deep);font-weight:700}
.deliv .doccard{background:var(--navy);color:var(--cream);border-radius:var(--r-card);padding:30px}
.deliv .doccard .k{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,230,.55)}
.deliv .doccard .doc{margin-top:14px;border:1px solid rgba(244,239,230,.18);border-radius:10px;padding:18px;font-family:var(--f-mono);font-size:12px;color:rgba(244,239,230,.85);line-height:1.9}
.deliv .doccard .doc b{color:var(--orange)}

/* ── service page: pricing ── */
.price{display:grid;grid-template-columns:1fr 1fr;gap:22px}@media(max-width:760px){.price{grid-template-columns:1fr}}
.pr{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);padding:30px}
.pr.flag{border:1px solid var(--orange-line)}
.pr .k{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-deep);margin-bottom:10px}
.pr .amt{font-family:var(--f-display);font-weight:600;font-size:34px;letter-spacing:-.03em;color:var(--navy)}
.pr .amt small{font-size:14px;color:var(--fg-muted);font-weight:400}
.pr p{margin-top:10px;font-size:13.5px;line-height:1.6;color:var(--fg-muted)}

/* ── service page: faq ── */
.faq{max-width:760px}
.qa{padding:22px 0;border-bottom:1px solid var(--line-2)}
.qa h3{font-family:var(--f-display);font-size:17px;font-weight:600;color:var(--navy);letter-spacing:-.02em;margin-bottom:8px}
.qa p{font-size:14px;line-height:1.6;color:var(--fg-muted)}

/* ── CTA band + footer ── */
.cta-band{background:var(--navy);color:var(--cream);text-align:center;padding:clamp(68px,9vw,112px) 32px}
.cta-band h2{font-family:var(--f-display);font-weight:600;font-size:clamp(28px,4.4vw,52px);letter-spacing:-.04em;line-height:1.04;color:var(--cream);max-width:22ch;margin:0 auto}
.cta-band h2 em{font-style:italic;font-weight:400;color:var(--orange)}
.cta-band .cta{margin-top:30px;display:inline-flex;flex-wrap:wrap;gap:14px;justify-content:center}
.cta-band .em{display:inline-block;margin-top:28px;font-family:var(--f-display);font-weight:600;font-size:clamp(20px,3.2vw,32px);letter-spacing:-.03em;color:var(--cream);border-bottom:2px solid var(--orange);padding-bottom:4px}
.foot{padding:30px 0;border-top:1px solid rgba(244,239,230,.12);margin-top:30px}
.foot .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--f-mono);font-size:11px;color:rgba(244,239,230,.5)}
.foot .wrap a:hover{color:var(--cream)}

/* ── stat band (proof) ── */
.statband{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;background:var(--navy);color:var(--cream);border-radius:var(--r-card);padding:32px 36px}
@media(max-width:600px){.statband{grid-template-columns:1fr;gap:14px;padding:28px 26px}}
.statband .big{font-family:var(--f-display);font-weight:600;font-size:clamp(42px,6.5vw,64px);letter-spacing:-.04em;color:var(--orange);line-height:.95;white-space:nowrap}
.statband .txt{font-size:14.5px;line-height:1.62;color:rgba(244,239,230,.85)} .statband .txt b{color:#fff;font-weight:600}

/* ── small-screen polish ── */
@media(max-width:600px){
  .wrap{padding:0 22px}
  .nav .wrap{padding:12px 22px}
  .hero{padding:92px 24px 72px}
  .shero{padding:66px 24px 56px}
  .shero .meta div{min-width:130px;padding:16px 16px 0 0}
  .cta-band{padding:64px 24px}
  .core,.eng,.svc-grid{gap:14px}
}

/* ══ merged content: demo video · tools · QR (added on integration) ══ */
.video-wrap{max-width:940px;margin:0 auto}
.video-frame{position:relative;aspect-ratio:16/9;border-radius:var(--r-card);overflow:hidden;border:1px solid var(--line);background:var(--navy);box-shadow:0 30px 70px -32px rgba(12,28,48,.42)}
.video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;display:block}
.video-cap{margin-top:14px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub)}
.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:760px){.tool-grid{grid-template-columns:1fr}}
.tcard{display:flex;align-items:center;gap:16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);padding:20px 22px;transition:transform .3s var(--ease),border-color .3s var(--ease)}
.tcard:hover{transform:translateY(-3px);border-color:var(--orange-line)}
.tcard img{width:46px;height:46px;border-radius:11px;flex:none}
.tcard>div{flex:1;min-width:0}
.tcard h3{font-family:var(--f-display);font-weight:600;font-size:17px;letter-spacing:-.02em;color:var(--navy);margin-bottom:3px}
.tcard p{font-size:12.5px;line-height:1.5;color:var(--fg-muted)}
.tcard .go{font-family:var(--f-mono);font-size:15px;color:var(--orange-deep);flex:none}
.qr-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:760px){.qr-row{grid-template-columns:1fr}}
.qr-card{display:flex;align-items:center;gap:24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);padding:26px 28px}
@media(max-width:520px){.qr-card{flex-direction:column;text-align:center}}
.qr-card img{width:132px;height:132px;flex:none;background:#fff;border:1px solid var(--line);border-radius:12px;padding:7px}
.qr-card .qk{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-deep);margin-bottom:8px}
.qr-card h3{font-family:var(--f-display);font-weight:600;font-size:19px;letter-spacing:-.02em;color:var(--navy);margin-bottom:7px}
.qr-card p{font-size:13px;line-height:1.55;color:var(--fg-muted)}