/* Anvesan Sherpa: the landing page at /sherpa (docs/SCOPE-SHERPA.md).
   The tokens, the buttons, the header, the hero, the bands, the cards, the FAQ
   and the footer are anvesan.org's landing page system, as app/index.html
   carries it (read from anvesan-site-V3/index.html on 2026-09-14). The regime
   cards follow api/_regime/index.css in the site's bundle. Sherpa adds the
   ladder, the pathfinder window, the fit lists and the dark advisory panel,
   and no palette of its own. */

:root{
  --bg:#ffffff; --fg:#101010; --muted:#f5f5f3; --muted-fg:#4a4b55; --border:#dddcd6;
  --primary:#1b3a5c; --primary-hover:#142c47; --primary-fg:#f4f7fb; --accent:#1b3a5c;
  --radius:7px; --radius-lg:10px; --container:1152px;
  --g1:#070b12; --g2:#0e1a2b; --g3:#1b3a5c; --g4:#3c6da3; --glow:rgba(96,150,210,.25);
  --tint:#E7F3EC; --tint-fg:#177E54; --sel-bg:#e6ecf3; --sel-fg:#0d1826;
  --warn-bg:#FBF3E1; --warn-fg:#9A6B15; --inf-bg:#e8ebf8; --inf-fg:#3b4cb0; --neg-bg:#f8e9e6; --neg-fg:#b3352c;
  --mono:ui-monospace,"SF Mono",Menlo,monospace;
  --font:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;color-scheme:light}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--font);background:var(--bg);color:var(--fg);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--sel-bg);color:var(--sel-fg)}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
[hidden]{display:none!important}
.container{max-width:var(--container);margin-inline:auto;padding-inline:24px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;color:var(--primary);font-size:13px;font-weight:600;padding:12px 18px}
.skip:focus{left:0}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font);font-size:14.5px;
  font-weight:500;line-height:1;border-radius:var(--radius);border:1px solid transparent;padding:11px 18px;cursor:pointer;
  white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.btn svg{width:14px;height:14px;flex:none}
.btn-primary{background:linear-gradient(180deg,#25496f 0%,var(--primary) 100%);color:var(--primary-fg);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 1px 2px rgba(7,11,18,.25)}
.btn-primary:hover{background:linear-gradient(180deg,#1f3f63 0%,var(--primary-hover) 100%)}
.btn:active{transform:translateY(1px)}
.btn-outline{background:transparent;color:var(--fg);border-color:var(--border)}
.btn-outline:hover{border-color:#cfcec7;background:#fafafa}
.btn-light{background:#fff;color:var(--fg)}
.btn-light:hover{background:#e8eef6}
.btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.34)}
.btn-line:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6)}
:is(a,button,summary,select):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.textlink{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:550;color:var(--accent)}
.textlink:hover{text-decoration:underline;text-underline-offset:3px}
.textlink svg{width:13px;height:13px}

/* ---------- header ---------- */
.nav{position:fixed;inset-inline:0;top:0;z-index:50;height:72px;background:rgba(255,255,255,.9);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .2s ease}
.nav.scrolled{border-bottom-color:var(--border)}
.nav-inner{height:100%;display:flex;align-items:center;gap:32px}
.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;letter-spacing:-.2px;white-space:nowrap}
.brand-mark{width:26px;height:26px;border-radius:6px;background:var(--primary);color:#fff;font-family:Georgia,"Times New Roman",serif;
  font-size:18px;font-weight:400;display:flex;align-items:center;justify-content:center;padding-bottom:1px}
.brand-sub{font-weight:450;color:var(--muted-fg);margin-left:-3px}
.nav-links{display:flex;align-items:center;gap:4px;font-size:16px;color:#3d3d3d}
.nav-links a{padding:8px 12px;border-radius:6px;transition:background-color .15s ease,color .15s ease}
.nav-links a:hover{background:var(--muted);color:var(--fg)}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:8px}
.nav-cta .btn{font-size:16.5px}
.nav-burger{display:none;width:38px;height:38px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;cursor:pointer;
  position:relative;flex:none;padding:0}
.nav-burger span{position:absolute;left:11px;right:11px;height:2px;background:var(--fg);border-radius:2px;top:14px;transition:transform .2s ease,top .2s ease}
.nav-burger span + span{top:22px}
.nav.open .nav-burger span{top:18px;transform:rotate(45deg)}
.nav.open .nav-burger span + span{transform:rotate(-45deg)}
@media (max-width:980px){
  .nav-links{display:none}
  .nav-burger{display:block}
  .nav.open .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:2px;position:absolute;left:0;right:0;top:72px;
    padding:10px 16px 14px;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 18px 40px -24px rgba(7,11,18,.25)}
  .nav.open .nav-links a{padding:12px;font-size:17px}
  .nav.open{border-bottom-color:var(--border)}
}
@media (max-width:400px){.nav .brand{font-size:16.5px}.nav-cta .btn{font-size:15px;padding:10px 14px}}

/* ---------- hero ----------
   Words on paper at the left, the route at the right. No slab, no gradient, no floating card: those
   are the site's landing page. The route is the one drawing on the page and the one thing that moves. */
.hero-wrap{padding-top:72px;background:#fff;overflow:hidden}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);column-gap:32px;align-items:stretch;min-height:640px}
.hero-copy{align-self:center;padding-block:72px 88px}
.hero-name{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:16px}
.hero h1{text-wrap:balance;font-size:clamp(38px,4.9vw,66px);font-weight:420;letter-spacing:-.03em;line-height:1.03;max-width:12.5ch}
.hero-sub{margin-top:26px;max-width:500px;font-size:18px;line-height:1.55;color:var(--muted-fg)}
.hero-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}
.hero-acts .btn{font-size:15.5px;padding:13px 20px}

.hero-route{position:relative;min-width:0;align-self:stretch;margin-right:-24px}
.hero-route svg{position:absolute;right:0;bottom:22px;width:100%;height:calc(100% - 40px);overflow:visible}
.rt-contours path{stroke:#e2e1db;stroke-width:1}
.rt-contours path.idx{stroke:#cfcec7;stroke-width:1.15}
.rt-line{stroke:var(--primary);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.rt-pt circle{fill:#fff;stroke:var(--primary);stroke-width:1.7}
.rt-pt circle.c{fill:var(--primary);stroke:none}
.rt-pt text{font-family:var(--font);font-size:11.5px;font-weight:600;letter-spacing:.085em;text-transform:uppercase;fill:#2b2b2b}
.rt-top text{fill:var(--primary)}
.rt-top .pole{stroke:var(--primary);stroke-width:1.7;stroke-linecap:round}
.rt-top .flag{fill:var(--primary)}
@media (prefers-reduced-motion:no-preference){
  .rt-line{animation:rt-draw 2.1s cubic-bezier(.45,.05,.25,1) .25s both}
  .rt-pt{opacity:0;animation:rt-in .45s ease both;animation-delay:calc(.45s + var(--i) * .24s)}
  @keyframes rt-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
  @keyframes rt-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
}
@media (max-width:940px){
  .hero{grid-template-columns:minmax(0,1fr);min-height:0}
  .hero-copy{padding-block:56px 60px}
  .hero-route{display:none}
}

/* ---------- the three levels: understand, prepare, execute ----------
   A band under the hero, ruled off above and below, with the three levels side by side and a chevron
   on each divider because the order is the point. */
.ladder-wrap{border-block:1px solid var(--border);background:#fff}
.ladder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-inline:-30px}
.rung{position:relative;padding:34px 30px 32px;display:flex;flex-direction:column;gap:6px;min-width:0;text-align:left;
  transition:background-color .15s ease}
.rung + .rung{border-left:1px solid var(--border)}
.rung:hover{background:#fafaf8}
.rung-step{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--primary)}
.rung-step i{font-style:normal;font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--muted-fg);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.rung h3{font-size:21px;font-weight:520;letter-spacing:-.3px;margin-top:10px}
.rung-price{font-size:14px;font-weight:550;color:var(--fg)}
.rung p{margin-top:4px;font-size:14.5px;line-height:1.55;color:var(--muted-fg);max-width:34ch}
/* Each level ends on a button, the paid one filled. The whole card is the link, so the button is a span. */
.rung .rung-cta{margin-top:auto;align-self:flex-start;font-size:14.5px;padding:11px 16px}
.rung p{margin-bottom:22px}
.rung:hover .btn-outline{border-color:#b9b8b1;background:#fff}
.rung:hover .btn-primary{background:linear-gradient(180deg,#1f3f63 0%,var(--primary-hover) 100%)}
.rung + .rung::before{content:"";position:absolute;left:-10px;top:32px;width:19px;height:19px;border-radius:99px;background:#fff;
  border:1px solid var(--border);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231b3a5c' stroke-width='1.8'%3E%3Cpath d='M6 4l4 4-4 4'/%3E%3C/svg%3E");
  background-size:11px;background-position:center;background-repeat:no-repeat}
@media (max-width:860px){
  .ladder{grid-template-columns:1fr;margin-inline:0}
  .rung{padding:26px 0 24px}
  .rung + .rung{border-left:0;border-top:1px solid var(--border)}
  .rung + .rung::before{left:0;top:-10px;transform:rotate(90deg)}
}

/* ---------- sections ---------- */
section.band{border-top:1px solid var(--border);padding-block:96px;scroll-margin-top:72px}
section.band.first{border-top:0}
section.band.tone{background:#fafaf8}
.eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:14px}
.sec-head{max-width:660px;margin-bottom:52px}
.sec-head.wide{max-width:760px}
.sec-head h2{font-size:clamp(28px,3vw,36px);font-weight:400;letter-spacing:-.5px;line-height:1.12;text-wrap:balance}
.sec-head p{margin-top:14px;font-size:17px;line-height:1.55;color:var(--muted-fg)}
.sec-head p + p{margin-top:12px}
.sec-head p.pull{margin-top:26px;padding-left:16px;border-left:2px solid var(--primary);font-size:21px;line-height:1.35;letter-spacing:-.2px;color:var(--fg);font-weight:450}
.sec-cta{display:flex;gap:10px;margin-top:36px;flex-wrap:wrap;align-items:center}
@media (max-width:760px){section.band{padding-block:72px}.sec-head{margin-bottom:36px}}

.tag{display:inline-flex;align-items:center;font-size:11px;font-weight:550;padding:3px 8px;border-radius:99px;background:var(--tint);color:var(--tint-fg);white-space:nowrap}
.tag.gray{background:#f1f0ec;color:#6b6a64}
.tag.amber{background:var(--warn-bg);color:var(--warn-fg)}
.tag.navy{background:var(--sel-bg);color:#27496f}
.tag.inf{background:var(--inf-bg);color:var(--inf-fg)}
.tag.neg{background:var(--neg-bg);color:var(--neg-fg)}

/* ---------- the problem ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.split .sec-head{margin-bottom:0}
.panel{position:relative;z-index:1;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);
  box-shadow:0 1px 2px rgba(10,10,10,.04),0 12px 32px -18px rgba(10,10,10,.12);padding:22px;font-size:14px}
.panel-visual{position:relative;min-width:0}
.panel-visual::before{content:"";position:absolute;inset:-28px;z-index:0;pointer-events:none;
  background-image:radial-gradient(#0a0a0a 1px,transparent 1px);background-size:18px 18px;opacity:.05;
  -webkit-mask-image:radial-gradient(ellipse 75% 75% at 50% 50%,#000,transparent 78%);
  mask-image:radial-gradient(ellipse 75% 75% at 50% 50%,#000,transparent 78%)}
.ask{font-size:18px;line-height:1.6;letter-spacing:-.1px;padding:4px 4px 16px}
.ask .slot{display:inline-block;padding:1px 9px;border-radius:6px;background:var(--sel-bg);color:#27496f;font-weight:550;border:1px dashed #b9c8da}
.qrow{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:14px;padding:12px 4px;border-top:1px solid #f0efe9}
.qrow .tag{justify-self:start}
/* The shape of an answer with nothing in it: the page never shows a made-up one. */
.qrow .ph{display:block;height:8px;border-radius:4px;background:#ebeae4}
.qrow .ph.w4{width:40%}.qrow .ph.w5{width:52%}.qrow .ph.w6{width:64%}.qrow .ph.w7{width:76%}.qrow .ph.w8{width:88%}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:36px}}

/* ---------- the pathfinder ---------- */
.chainline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px;margin-bottom:26px;font-size:12.5px;font-weight:550;color:#3d3d3d}
.chainline span{padding:5px 10px;border:1px solid var(--border);border-radius:99px;background:#fff;white-space:nowrap}
.chainline i{width:14px;height:14px;flex:none;color:#a9a8a1;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23a9a8a1' stroke-width='1.8'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4'/%3E%3C/svg%3E") center/13px no-repeat}
.pf{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;
  box-shadow:0 1px 2px rgba(7,11,18,.05),0 24px 60px -30px rgba(7,11,18,.30),0 50px 100px -50px rgba(27,58,92,.30)}
.pf-ask{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:22px 24px;background:#fafaf8;border-bottom:1px solid var(--border)}
.pf-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.pf-field label{font-size:13.5px;font-weight:600;letter-spacing:-.1px}
.pf-field select{appearance:none;-webkit-appearance:none;width:100%;font-family:var(--font);font-size:16px;font-weight:500;color:var(--fg);
  padding:12px 40px 12px 14px;border:1px solid #cfcec7;border-radius:8px;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%234a4b55' stroke-width='1.8'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") right 13px center/14px no-repeat;
  box-shadow:0 1px 2px rgba(7,11,18,.05);transition:border-color .15s ease}
.pf-field select:hover{border-color:#b3b2aa}
.pf-field small{font-size:12.5px;color:var(--muted-fg);min-height:18px}
.pf-out{padding:24px;transition:opacity .15s ease}
.pf-out.busy{opacity:.45}
.pf-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pf-kick{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-fg)}
.pf-title{font-size:23px;font-weight:500;letter-spacing:-.3px;line-height:1.2;margin-top:6px;text-wrap:balance}
.pf-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--muted-fg)}
.pf-sum{margin-top:12px;font-size:15.5px;line-height:1.6;color:#2b2b2b;max-width:820px}
.pf-rows{margin-top:20px;border-top:1px solid var(--border)}
.pf-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;padding:15px 0;border-bottom:1px solid #eceae4}
.pf-row:last-child{border-bottom:0}
.pf-k{font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-fg);padding-top:3px;
  display:flex;align-items:baseline;gap:8px}
.pf-k b{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:0;color:var(--primary);background:var(--sel-bg);border-radius:5px;padding:1px 6px}
.pf-v{min-width:0;font-size:15px;line-height:1.55}
.pf-v strong{font-weight:600}
.pf-v .sub{display:block;margin-top:3px;font-size:13.5px;color:var(--muted-fg)}
.pf-v .lic + .lic{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}
.pf-titles{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.pf-titles li{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:1.3;padding:5px 10px 5px 8px;border:1px solid var(--border);
  border-radius:7px;background:#fff;color:#2b2b2b}
.pf-titles li::before{content:"";width:11px;height:11px;flex:none;opacity:.55;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%234a4b55' stroke-width='1.7'%3E%3Crect x='3' y='7' width='10' height='7' rx='1.6'/%3E%3Cpath d='M5.5 7V5a2.5 2.5 0 015 0v2'/%3E%3C/svg%3E") center/11px no-repeat}
/* A way in is shown in full, so it carries no lock. */
.pf-titles.plain li{padding-left:10px}
.pf-titles.plain li::before{display:none}
.pf-foot{display:flex;align-items:center;justify-content:flex-end;gap:16px 24px;flex-wrap:wrap;padding:18px 24px;border-top:1px solid var(--border);background:#fafaf8}
.pf-empty{padding:8px 0 4px;font-size:15px;line-height:1.6;color:#2b2b2b;max-width:720px}
.pf-skel{height:12px;border-radius:4px;background:#efeee9;max-width:340px}
.pf-skel.s{max-width:180px}
.pf-note{margin-top:18px;font-size:13px;line-height:1.55;color:var(--muted-fg);max-width:820px}
@media (max-width:760px){
  .pf-ask{grid-template-columns:1fr;padding:18px 16px}
  .pf-out{padding:20px 16px}
  .pf-row{grid-template-columns:1fr;gap:8px}
  .pf-foot{padding:16px}
  .pf-foot .btn{width:100%}
  .pf-title{font-size:20px}
}

/* ---------- regime grid ---------- */
.jx{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.jc{--rc:#1b3a5c;--rt:#e6ecf3;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:20px 18px 18px;background:#fff;
  border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 2px rgba(16,16,16,.03),0 10px 30px -18px rgba(16,16,16,.10);
  transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}
.jc.r-am{--rc:#14603f;--rt:#e7f3ec}
.jc.r-ap{--rc:#2a3c8f;--rt:#e8ebf8}
.jc.r-me{--rc:#9f7310;--rt:#fbf3e1}
.jc::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--rc)}
.jc:hover{transform:translateY(-1px);border-color:var(--rc);box-shadow:0 1px 2px rgba(16,16,16,.05),0 14px 34px -18px rgba(16,16,16,.34)}
.jc-region{display:block;margin-bottom:9px;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--rc)}
.jc-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.jc-name{font-size:15.5px;font-weight:600;letter-spacing:-.012em;line-height:1.25}
.jc:hover .jc-name{color:var(--rc)}
.jc-num{font-size:23px;font-weight:450;letter-spacing:-.02em;font-variant-numeric:tabular-nums;flex:none;color:var(--rc)}
.jc-fw{display:block;margin-top:7px;font-size:12px;line-height:1.45;color:#66655f;min-height:2.9em;overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.jc-bar{display:block;height:3px;border-radius:99px;background:var(--rt);overflow:hidden;margin:10px 0 8px}
.jc-bar i{display:block;height:100%;background:var(--rc);border-radius:inherit;min-width:3px}
.jc-lic{display:block;font-size:11.5px;color:#66655f;font-variant-numeric:tabular-nums}
.jc.plain{padding:16px 18px}
.jc.plain .jc-region{margin-bottom:5px}
.jx-foot{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-top:28px}
.jx-foot p{font-size:14px;color:var(--muted-fg)}
@media (max-width:1080px){.jx{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.jx{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.jx{grid-template-columns:1fr}}

/* ---------- intelligence ---------- */
.two{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:start}
.feat{list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--border)}
.feat li{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 2px;border-bottom:1px solid var(--border)}
.feat li div{min-width:0}
.feat b{display:block;font-size:16px;font-weight:550;letter-spacing:-.1px}
.feat span.d{display:block;margin-top:3px;font-size:14.5px;line-height:1.55;color:var(--muted-fg)}
.feat .tag{margin-top:3px}
.price{position:sticky;top:104px;border:1px solid var(--primary);border-radius:var(--radius-lg);padding:28px;background:#fff;
  box-shadow:0 0 0 1px var(--primary),0 18px 40px -24px rgba(27,58,92,.4)}
.price .eyebrow{margin-bottom:0}
.price .amt{margin-top:14px;font-size:34px;font-weight:420;letter-spacing:-.02em;line-height:1.1}
.price .amt small{font-size:17px;font-weight:450;color:var(--muted-fg);letter-spacing:0}
.price p{margin-top:12px;font-size:14.5px;line-height:1.55;color:var(--muted-fg)}
.price-term{display:flex;align-items:center;gap:12px;margin-top:22px}
.price-term[hidden]{display:none}
.price-term[hidden] + .btn{margin-top:22px}
.price-term label{font-size:14px;font-weight:550;white-space:nowrap}
.price-term select{appearance:none;-webkit-appearance:none;flex:1;min-width:0;font-family:var(--font);font-size:15px;font-weight:500;color:var(--fg);
  padding:10px 36px 10px 12px;border:1px solid #cfcec7;border-radius:8px;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%234a4b55' stroke-width='1.8'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") right 11px center/13px no-repeat}
.price .btn{margin-top:14px;width:100%}
.price .btn[aria-busy="true"]{opacity:.6;pointer-events:none}
@media (max-width:920px){.two{grid-template-columns:1fr;gap:36px}.price{position:static}}

/* ---------- advisory: the dark panel ---------- */
.adv{background:var(--g2);color:#fff;border-radius:24px;padding:56px;position:relative;overflow:hidden}
.adv::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:22px 22px;
  -webkit-mask-image:radial-gradient(ellipse 50% 70% at 100% 0%,#000 0%,transparent 100%);
  mask-image:radial-gradient(ellipse 50% 70% at 100% 0%,#000 0%,transparent 100%)}
.adv > *{position:relative}
.adv .eyebrow{color:#9db9d8}
.adv-head{max-width:720px}
.adv-head h2{font-size:clamp(28px,3vw,36px);font-weight:400;letter-spacing:-.5px;line-height:1.12}
.adv-head p{margin-top:14px;font-size:17px;line-height:1.6;color:rgba(255,255,255,.78)}
/* What an engagement is, in four parts, before what it can cover: four across, then two by two, then one column. */
.adv-run{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:40px;border-block:1px solid rgba(255,255,255,.14)}
.adv-run > div{padding:26px 24px 28px 0}
.adv-run > div + div{padding-left:24px;border-left:1px solid rgba(255,255,255,.14)}
@media (max-width:1100px){
  .adv-run{grid-template-columns:repeat(2,minmax(0,1fr))}
  .adv-run > div:nth-child(odd){padding-left:0;border-left:0}
  .adv-run > div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14)}
}
.adv .adv-run h3{font-size:17px;font-weight:550;letter-spacing:-.1px;text-transform:none;color:#fff;margin-bottom:8px}
.adv-run p{font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.78)}
@media (max-width:920px){
  .adv-run{grid-template-columns:1fr}
  .adv-run > div{padding:22px 0}
  .adv-run > div + div{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.14)}
}
.adv-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;margin-top:44px}
.adv h3{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:14px}
.adv-scope{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.adv-scope li{position:relative;padding-left:18px;font-size:14.5px;line-height:1.45;color:rgba(255,255,255,.88)}
.adv-scope li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:2px;background:#6f9bcb}
.fit{border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-lg);padding:20px 22px;background:rgba(255,255,255,.04)}
.fit + .fit{margin-top:14px}
.fit ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.fit li{position:relative;padding-left:24px;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.9)}
.fit li::before{content:"";position:absolute;left:0;top:3px;width:15px;height:15px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%237fd1a8' stroke-width='2'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E") center/15px no-repeat}
/* "Better starting point" sends a company to an earlier level. An arrow, never a cross. */
.fit.start li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%239db9d8' stroke-width='1.9'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4'/%3E%3C/svg%3E")}
.fit-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.fit-links a{font-size:13.5px;font-weight:550;color:#fff;padding:7px 12px;border:1px solid rgba(255,255,255,.28);border-radius:var(--radius);transition:background-color .15s ease,border-color .15s ease}
.fit-links a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.55)}
.adv-foot{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;margin-top:40px;padding-top:28px;
  border-top:1px solid rgba(255,255,255,.14)}
.adv-foot p{font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.72);max-width:600px}
@media (max-width:920px){.adv{padding:36px 24px;border-radius:18px}.adv-grid{grid-template-columns:1fr;gap:32px}}
@media (max-width:560px){.adv-scope{grid-template-columns:1fr}}

/* ---------- who, how ---------- */
.cards2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.card{position:relative;border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px;display:flex;flex-direction:column;background:#fff;
  box-shadow:0 1px 2px rgba(16,16,16,.03),0 10px 30px -18px rgba(16,16,16,.10)}
a.card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
a.card:hover{transform:translateY(-2px);border-color:#cfcec7;box-shadow:0 1px 2px rgba(16,16,16,.04),0 18px 44px -20px rgba(16,16,16,.16)}
.card .kick{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-fg);margin-bottom:12px}
.card .kick i{width:8px;height:8px;border-radius:2px;background:var(--primary);opacity:.85}
.card h3{font-size:19px;font-weight:550;letter-spacing:-.2px}
.card > p{margin-top:9px;font-size:14.5px;line-height:1.55;color:var(--muted-fg)}
.card .date{margin-top:auto;padding-top:16px;font-size:12.5px;color:var(--muted-fg)}
.step-chip{min-width:32px;width:max-content;padding:0 7px;height:28px;font-variant-numeric:tabular-nums;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;
  font-size:13.5px;font-weight:500;color:var(--muted-fg);margin-bottom:16px}
@media (max-width:920px){.cards3{grid-template-columns:1fr}}
@media (max-width:820px){.cards2{grid-template-columns:1fr}}

/* ---------- atlas, research ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:8px;padding-top:32px;border-top:1px solid var(--border)}
.stats b{display:block;font-size:28px;font-weight:450;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;min-height:28px}
.stats span{display:block;margin-top:8px;font-size:13px;line-height:1.4;color:var(--muted-fg)}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:26px}}
.devs{margin-top:44px}
.devs h3{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-fg);margin-bottom:6px}
.devs ol{list-style:none;border-top:1px solid var(--border)}
.devs li{border-bottom:1px solid #eceae4}
.devs a{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr) auto;gap:20px;align-items:baseline;padding:14px 2px}
.devs a:hover{background:#fafaf8}
.devs .d{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.devs .t{font-size:15px;font-weight:550;letter-spacing:-.01em;line-height:1.35}
.devs .g{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:760px){.devs a{grid-template-columns:1fr;gap:5px}.devs .g{justify-content:flex-start}}

/* ---------- faq ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
.faq-grid .sec-head{margin-bottom:0;position:sticky;top:120px}
.faq details{border-bottom:1px solid var(--border)}
.faq details:first-child{border-top:1px solid var(--border)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 2px;
  font-size:16px;font-weight:500;letter-spacing:-.1px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ind{position:relative;width:14px;height:14px;flex:none;color:var(--muted-fg)}
.faq summary .ind::before,.faq summary .ind::after{content:"";position:absolute;background:currentColor;transition:transform .2s ease}
.faq summary .ind::before{left:0;top:6px;width:14px;height:2px}
.faq summary .ind::after{left:6px;top:0;width:2px;height:14px}
.faq details[open] summary .ind::after{transform:scaleY(0)}
.faq .a{padding:0 2px 20px;font-size:15px;line-height:1.62;color:var(--muted-fg);max-width:600px}
@media (max-width:820px){.faq-grid{grid-template-columns:1fr;gap:32px}.faq-grid .sec-head{position:static}}

/* ---------- close ---------- */
#talk{position:relative;text-align:center;padding-block:120px;overflow:hidden}
#talk::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#0a0a0a 1px,transparent 1px);
  background-size:20px 20px;opacity:.05;
  -webkit-mask-image:radial-gradient(ellipse 55% 65% at 50% 45%,#000,transparent 80%);
  mask-image:radial-gradient(ellipse 55% 65% at 50% 45%,#000,transparent 80%)}
#talk > .container{position:relative}
#talk .eyebrow{margin-bottom:16px}
#talk h2{font-size:clamp(30px,3.6vw,44px);font-weight:400;letter-spacing:-.5px;line-height:1.1;text-wrap:balance}
#talk .lead{margin:16px auto 0;max-width:560px;font-size:17px;color:var(--muted-fg);line-height:1.55}
#talk .sec-cta{justify-content:center;margin-top:32px}
#talk .status{margin:34px auto 0;max-width:600px;font-size:14px;line-height:1.6;color:var(--muted-fg)}
#talk .status b{color:var(--fg);font-weight:600}

/* ---------- footer ---------- */
footer.site{border-top:1px solid var(--border);padding:72px 0 40px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:48px}
.foot-brand p{margin-top:14px;font-size:14.5px;line-height:1.6;color:var(--muted-fg);max-width:340px}
.foot-brand .mail{margin-top:10px;font-size:14px}
.foot-brand .mail a:hover{color:var(--accent)}
.foot-col h4{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-fg);margin-bottom:14px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:14.5px}
.foot-col a:hover{color:var(--accent)}
.foot-bottom{margin-top:56px;padding-top:22px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:13px;color:var(--muted-fg)}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr;gap:36px}}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.no-js .reveal{opacity:1;transform:none}

/* ---------- the checkout page (app/sherpa/checkout.html) ----------
   The order at the left, the payment card at the right, both ruled like the three levels' band. The card is
   the pricing card's own frame, so the buyer arrives at the thing they pressed. */
.co-body{background:#fafaf8}
.co{padding:136px 0 104px;min-height:calc(100vh - 66px)}
.co-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:112px;align-items:start}
.co-order .eyebrow{margin-bottom:0}
.co-order h1{margin-top:14px;font-size:clamp(34px,4.2vw,50px);font-weight:420;letter-spacing:-.028em;line-height:1.05;text-wrap:balance}
.co-lede{margin-top:18px;max-width:44ch;font-size:17px;line-height:1.55;color:var(--muted-fg)}
.co-items{list-style:none;margin-top:40px;border-top:1px solid var(--border)}
.co-items li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--border);font-size:15.5px;font-weight:500}
.co-card{position:sticky;top:104px;border:1px solid var(--primary);border-radius:var(--radius-lg);padding:28px;background:#fff;
  box-shadow:0 0 0 1px var(--primary),0 18px 40px -24px rgba(27,58,92,.4)}
.co-term{display:flex;align-items:center;justify-content:space-between;gap:16px}
.co-term label{font-size:14px;font-weight:550}
.co-term select{appearance:none;-webkit-appearance:none;width:170px;font-family:var(--font);font-size:15px;font-weight:500;color:var(--fg);
  padding:10px 36px 10px 12px;border:1px solid #cfcec7;border-radius:8px;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%234a4b55' stroke-width='1.8'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") right 12px center/14px no-repeat}
.co-term select:disabled{opacity:.6;cursor:default}
.co-sum{margin-top:20px;border-top:1px solid var(--border)}
.co-sum > div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--border);font-size:14.5px}
.co-sum dt{color:var(--muted-fg)}
.co-sum dd{font-weight:550;font-variant-numeric:tabular-nums}
.co-sum .co-total dt{color:var(--fg);font-weight:550}
.co-sum .co-total dd{font-size:22px;font-weight:450;letter-spacing:-.01em}
.co-terms{margin-top:18px;font-size:13px;line-height:1.55;color:var(--muted-fg)}
.co-links{display:flex;gap:14px;margin-top:8px;font-size:12.5px}
.co-links a{color:var(--muted-fg);text-decoration:underline;text-underline-offset:3px}
.co-links a:hover{color:var(--fg)}
.co-card .btn{margin-top:20px;width:100%;font-size:15px;padding:13px 18px}
.co-card .btn[aria-busy="true"]{opacity:.6;pointer-events:none}
.co-closed{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}
.co-closed p{font-size:14.5px;font-weight:550}
.co-closed .btn{margin-top:12px}
.co-note{margin-top:12px;font-size:13px;line-height:1.5;color:var(--muted-fg)}
.co-note:empty{display:none}
.co-note.err{color:var(--neg-fg)}
.co-note a{text-decoration:underline;text-underline-offset:3px}
.co-done h2{margin-top:14px;font-size:28px;font-weight:450;letter-spacing:-.02em;line-height:1.15}
.co-done .eyebrow{margin-bottom:0}
.co-done p{margin-top:12px;font-size:15px;line-height:1.55;color:var(--muted-fg)}
.co-foot{border-top:1px solid var(--border);padding:22px 0;background:#fff;font-size:13px;color:var(--muted-fg)}
.co-foot .container{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}
.co-foot a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:920px){
  .co{padding:112px 0 72px}
  .co-grid{grid-template-columns:1fr;gap:40px}
  .co-card{position:static}
  .co-items{margin-top:28px}
}
@media (max-width:420px){.co-card{padding:22px}.co-term select{width:150px}}
