/* Depilot - "Decision in motion" design system.
   Multi-page static site. No framework, no build step.
   Principles: one idea per screen, disciplined whitespace, restrained motion,
   cinematic dark decision moments against quiet light explanatory pages. */
:root{
  --ink:#111318; --muted:#5c616b; --line:#e2e3e8; --paper:#f7f7f5; --white:#fff;
  --signal:#ff4e37; --signal-dark:#65180f; --deep:#090b10; --deep-2:#151820;
  --deep-line:#252a34; --green:#c9ff76; --max:1180px; --prose:44rem;
  --font:"Inter","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:16px;top:-64px;z-index:200;background:var(--deep);color:#fff;padding:10px 18px;border-radius:8px;font-weight:650;text-decoration:none;transition:top .15s}
.skip:focus{top:12px}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--line)}
.site-head.on-dark{position:absolute;inset:0 0 auto;background:transparent;border:0;color:#fff}
.head-in{max-width:var(--max);margin:auto;height:64px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:-.01em;text-decoration:none;font-size:21px}
.logo .dot,.foot-brand .dot{color:#b3402e}
.head-links{display:flex;align-items:center;gap:26px;font-size:13.5px}
.head-links a{text-decoration:none;opacity:.82}
.head-links a:hover{opacity:1}
.head-links a[aria-current="page"]{opacity:1;font-weight:650}
.nav-cta{background:var(--deep);color:#fff!important;border-radius:99px;padding:9px 16px;opacity:1!important;font-weight:650}
.on-dark .nav-cta{background:#fff;color:#0b0d11!important}
.menu-btn{display:none;background:none;border:0;color:inherit;font:inherit;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:10px 0}
.drawer{position:fixed;inset:64px 0 0;background:var(--deep);color:#fff;z-index:99;padding:34px 28px;display:flex;flex-direction:column;gap:4px}
.drawer[hidden]{display:none}
.drawer a{text-decoration:none;font-size:30px;font-weight:620;letter-spacing:-.03em;padding:14px 0;border-bottom:1px solid var(--deep-line)}
.drawer a.drawer-cta{color:var(--signal)}
body.menu-open{overflow:hidden}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:99px;padding:14px 22px;text-decoration:none;font-weight:650;font-size:15px;border:0;cursor:pointer;font-family:inherit}
.btn-solid{background:var(--deep);color:#fff}
.btn-line{background:none;border:1px solid #c7cad0;color:var(--ink)}
.on-dark-btn{background:#fff;color:#0b0d11}
.btn-ghost-light{background:none;border:1px solid #4b505b;color:#fff}

/* ---------- shared type ---------- */
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#9aa0aa}
.kicker{font-size:13px;color:var(--signal);font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.display{font-size:clamp(44px,6.6vw,88px);line-height:.97;letter-spacing:-.058em;margin:18px 0 0;max-width:1050px;font-weight:620}
.sub{font-size:clamp(17px,1.9vw,22px);line-height:1.5;color:var(--muted);max-width:680px;margin-top:26px}

/* ---------- home hero ---------- */
.hero{min-height:100svh;background:var(--deep);color:#fff;display:grid;place-items:center;overflow:hidden;position:relative;padding:130px 28px 76px}
.hero:before{content:"";position:absolute;width:820px;height:820px;left:50%;top:46%;transform:translate(-50%,-50%);background:radial-gradient(circle,#ff503340 0 1px,transparent 2px),radial-gradient(circle at 50% 50%,#fe4d3025,transparent 65%);background-size:34px 34px,100% 100%;-webkit-mask-image:radial-gradient(circle,#000 0 20%,transparent 68%);mask-image:radial-gradient(circle,#000 0 20%,transparent 68%)}
.hero-inner{width:min(1020px,100%);text-align:center;position:relative}
.hero h1{font-size:clamp(46px,6.4vw,96px);line-height:.96;letter-spacing:-.06em;margin:26px auto 30px;max-width:1020px;font-weight:630}
.hero h1 em{font-style:normal;color:var(--signal)}
.hero .lede{max-width:700px;margin:0 auto;color:#c7cad1;font-size:clamp(17px,1.8vw,21px);line-height:1.5;letter-spacing:-.01em}
.hero-actions{display:flex;justify-content:center;gap:14px;margin-top:36px;flex-wrap:wrap}
.hero-fine{max-width:620px;margin:30px auto 0;font-size:13.5px;line-height:1.6;color:#8b9099}
.hero-fine b{color:#d7dae0;font-weight:600}
.scroll-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:11px;color:#818691;letter-spacing:.12em;text-transform:uppercase}

/* ---------- sections ---------- */
.section{padding:104px 28px;position:relative}
.section.center{display:grid;place-items:center;min-height:92svh}
.wrap{width:min(var(--max),100%);margin:0 auto}
.bg-white{background:#fff}
.bg-paper{background:var(--paper)}
.bg-grey{background:#eeeef0}
.bg-deep{background:var(--deep);color:#fff}
.bg-deep .sub{color:#9ea3ad}
.bg-signal{background:var(--signal);color:#0d0f13}
.bg-signal .sub{color:#38130e}
.sec-center{text-align:center}
.sec-center .sub{margin-left:auto;margin-right:auto}

/* ---------- diagnostic lens ---------- */
.lens-stage{margin-top:64px;background:#f2f2ef;border-radius:32px;min-height:340px;padding:42px;position:relative;overflow:hidden}
.track{height:2px;background:#cfd2d8;position:absolute;left:10%;right:10%;top:50%}
.node{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #aeb3bc}
.node:after{content:attr(data-l);position:absolute;top:29px;left:50%;transform:translateX(-50%);white-space:nowrap;color:#6b7079;font-size:12px}
.n1{left:12%}.n2{left:31%}.n3{left:50%}.n4{left:69%}.n5{left:88%}
.lens{position:absolute;width:154px;height:250px;top:50%;left:49%;transform:translate(-50%,-50%);border:2px solid var(--signal);border-radius:77px;box-shadow:0 0 0 999px #f2f2ef99,0 20px 50px #ff4e3724;background:linear-gradient(180deg,#fff8,#fff0)}
.lens:before{content:"FIRST BOTTLENECK";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--signal);white-space:nowrap}
.lens-cap{position:absolute;left:42px;bottom:30px;font-size:14px;color:#6c717a}

/* ---------- verdict planes ---------- */
.planes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:64px;text-align:left}
.plane{min-height:250px;height:100%;border-radius:28px;padding:28px;display:grid;grid-template-rows:auto auto 1fr;gap:20px;background:var(--deep-2);border:1px solid var(--deep-line)}
.plane strong{font-size:42px;letter-spacing:-.05em}
.plane p{color:#959ba7;line-height:1.5;margin:0}
.plane.active{background:var(--signal);color:#090b10;border-color:transparent}
.plane.active p{color:#38130e}
.plane small{text-transform:uppercase;letter-spacing:.14em;font-weight:700}

/* ---------- gate list + memo artifact ---------- */
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:76px;align-items:start}
.gate-list{margin-top:34px}
.gate-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;border-top:1px solid var(--line);min-height:70px;text-decoration:none}
.gate-row:last-child{border-bottom:1px solid var(--line)}
.gate-row span:first-child{color:#9a9fa8;font-variant-numeric:tabular-nums}
.gate-row strong{font-size:17px}
.gate-row i{width:9px;height:9px;background:var(--signal);border-radius:50%}
.artifact{background:var(--deep);color:#fff;border-radius:30px;padding:30px;min-height:520px;box-shadow:0 30px 80px #2222;position:relative;overflow:hidden}
.artifact .meta{color:#858b97;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.artifact h3{font-size:34px;letter-spacing:-.04em;margin:32px 0 12px;line-height:1.05}
.artifact .status{display:inline-block;color:#0b0d11;background:var(--signal);border-radius:99px;padding:8px 12px;font-weight:750;font-size:12px}
.artifact hr{border:0;border-top:1px solid #2c3039;margin:32px 0}
.artifact .row{display:flex;justify-content:space-between;padding:13px 0;color:#aeb3bd;border-bottom:1px solid #232730;font-size:14px}
.artifact .row b{color:#fff}
.artifact .note{margin-top:26px;color:#777e89;font-size:11.5px;line-height:1.5}

/* ---------- operator facts ---------- */
.quote{font-size:clamp(34px,5vw,64px);line-height:1.05;letter-spacing:-.05em;margin:22px 0 36px;font-weight:620}
.quote em{font-style:normal;color:var(--signal)}
.facts{display:grid;gap:1px;background:#d8d9dd;border-radius:24px;overflow:hidden}
.fact{background:#eeeef0;padding:22px 26px}
.fact strong{display:block;font-size:clamp(38px,4.6vw,62px);letter-spacing:-.055em;line-height:1}
.fact span{color:#696e77;font-size:13px;line-height:1.45;display:block;margin-top:8px}
.provenance{font-size:11px;color:#777c85;text-transform:uppercase;letter-spacing:.12em;margin-top:26px}

/* ---------- close band ---------- */
.close{text-align:center}
.close p{margin:26px auto 34px;max-width:600px;font-size:19px;line-height:1.5}

/* ---------- footer ---------- */
.site-foot{background:#0b0d11;color:#8c929c;padding:44px 28px;font-size:13px}
.foot-in{max-width:var(--max);margin:auto;display:grid;gap:22px}
.foot-top{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:start}
.foot-brand b{color:#fff;display:block;letter-spacing:-.01em;font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;font-weight:700}
.foot-links{display:flex;gap:22px;flex-wrap:wrap}
.foot-links a,.foot-contact a{color:#fff;text-decoration:none;opacity:.85}
.foot-links a:hover,.foot-contact a:hover{opacity:1}
.foot-contact{color:#fff}
.foot-fine{border-top:1px solid #1d2129;padding-top:20px;line-height:1.6;max-width:820px}

/* ---------- inner pages ---------- */
.page-hero{padding:130px 28px 70px;background:var(--paper)}
.page-hero.dark{background:var(--deep);color:#fff}
.page-hero.dark .sub{color:#9ea3ad}
.crumbs{font-size:12.5px;color:#9aa0aa;margin-bottom:26px}
.crumbs a{color:inherit;text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.prose{max-width:var(--prose);font-size:17px;line-height:1.68;color:#2a2d33}
.prose h2{font-size:clamp(26px,3vw,34px);letter-spacing:-.035em;line-height:1.15;margin:56px 0 16px;font-weight:640}
.prose h3{font-size:20px;letter-spacing:-.02em;margin:34px 0 10px;font-weight:640}
.prose p{margin:16px 0}
.prose ul{margin:16px 0;padding-left:22px}
.prose li{margin:8px 0}
.prose a{color:var(--ink);text-decoration-color:var(--signal);text-underline-offset:3px}
.callout{border:1px solid var(--line);border-left:4px solid var(--signal);border-radius:14px;padding:22px 24px;margin:30px 0;background:#fff}
.callout .co-k{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:750;color:var(--signal);display:block;margin-bottom:8px}
.callout p{margin:8px 0;font-size:15.5px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:34px 0}
.panel{border:1px solid var(--line);border-radius:20px;padding:26px;background:#fff}
.panel.dark-panel{background:var(--deep);color:#fff;border-color:transparent}
.panel h3{margin-top:0}
.panel ul{margin:0;padding-left:20px;color:var(--muted)}
.panel.dark-panel ul{color:#aeb3bd}
.panel li{margin:8px 0}
.panel .pn-k{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:750;color:var(--signal);display:block;margin-bottom:10px}
.chip{display:inline-block;font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--signal);border:1px solid currentColor;border-radius:99px;padding:5px 11px;text-decoration:none}
a.chip:hover{background:var(--signal);color:#fff}

/* note cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.card{border:1px solid var(--line);border-radius:22px;padding:26px;background:#fff;text-decoration:none;display:flex;flex-direction:column;gap:12px;transition:transform .18s,box-shadow .18s}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #11131814}
.card h3{font-size:21px;letter-spacing:-.025em;line-height:1.2;margin:0}
.card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55;flex:1}
.card .card-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#9aa0aa}
.cards.two{grid-template-columns:repeat(2,1fr)}

/* gate blocks on the review page */
.gate-block{display:grid;grid-template-columns:64px 1fr;gap:26px;border-top:1px solid var(--line);padding:34px 0;scroll-margin-top:90px}
.gate-block:last-of-type{border-bottom:1px solid var(--line)}
.gate-no{font-size:13px;color:#9aa0aa;font-variant-numeric:tabular-nums;padding-top:5px}
.gate-block h3{margin:0 0 10px;font-size:24px;letter-spacing:-.03em}
.gate-block p{margin:8px 0;color:var(--muted);max-width:640px}
.gate-block .stop{font-size:13.5px;color:var(--ink);margin-top:12px}
.gate-block .stop b{color:var(--signal)}

/* CTA band inside pages */
.cta-band{margin-top:90px}
.cta-band .inner{background:var(--deep);color:#fff;border-radius:30px;padding:56px 40px;text-align:center}
.cta-band h2{font-size:clamp(30px,4vw,46px);letter-spacing:-.04em;margin:0 0 14px;line-height:1.05}
.cta-band p{color:#9ea3ad;max-width:560px;margin:0 auto 28px;line-height:1.55}

/* ---------- responsive ---------- */
@media(max-width:960px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr;gap:52px}
}
@media(max-width:760px){
  .head-links{display:none}
  .menu-btn{display:block}
  .hero{min-height:auto;padding:120px 22px 80px}
  .hero h1{font-size:46px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .section{padding:84px 22px}
  .section.center{min-height:auto}
  .page-hero{padding:110px 22px 54px}
  .lens-stage{margin-top:44px;height:470px;padding:24px}
  .track{width:2px;height:auto;left:50%;right:auto;top:10%;bottom:10%}
  .node{left:50%!important;top:auto;transform:translate(-50%,-50%)}
  .n1{top:12%}.n2{top:31%}.n3{top:50%}.n4{top:69%}.n5{top:88%}
  .node:after{top:50%;left:28px;transform:translateY(-50%)}
  .lens{width:220px;height:104px;left:50%;top:50%;border-radius:56px}
  .lens:before{transform:translate(-50%,-50%)}
  .lens-cap{left:24px;bottom:18px;right:24px}
  .planes,.two-col,.cards,.cards.two{grid-template-columns:1fr}
  .plane{min-height:190px}
  .plane.active{transform:none}
  .artifact{min-height:470px}
  .gate-block{grid-template-columns:1fr;gap:8px}
  .scroll-hint{display:none}
  .cta-band .inner{padding:44px 24px}
}
@media(prefers-reduced-motion:no-preference){
  .lens{animation:scan 6s ease-in-out infinite}
  @keyframes scan{0%,100%{left:31%}50%{left:69%}}
}
@media(max-width:760px){
  @media(prefers-reduced-motion:no-preference){
    @keyframes scan{0%,100%{top:31%;left:50%}50%{top:69%;left:50%}}
  }
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
}


/* ---------- PE-backed 60-day campaign page ---------- */
.campaign-hero{min-height:100svh;background:var(--deep);color:#fff;display:grid;place-items:center;position:relative;overflow:hidden;padding:138px 28px 108px}
.campaign-hero:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 72% 38%,#ff4e3724,transparent 24%),linear-gradient(115deg,transparent 0 58%,#ffffff08 58% 58.2%,transparent 58.2%);pointer-events:none}
.campaign-hero-in{width:min(1050px,100%);position:relative;z-index:1}
.campaign-hero h1{font-size:clamp(50px,7.4vw,106px);line-height:.91;letter-spacing:-.064em;margin:26px 0 32px;max-width:1040px;font-weight:630}
.campaign-hero h1 em{font-style:normal;color:var(--signal)}
.campaign-hero .lede{font-size:clamp(18px,2vw,23px);line-height:1.5;color:#b6bbc5;max-width:760px;margin:0}
.campaign-hero .lede strong{color:#fff;font-weight:620}
.campaign-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.campaign-primary{background:var(--signal);color:#0b0d11}
.campaign-dark{background:var(--deep);color:#fff}
.campaign-line-dark{border:1px solid #65180f;color:#260b08;background:transparent}
.campaign-fine,.close-fine{font-size:12.5px;letter-spacing:.02em;margin:26px 0 0;color:#838995}
.campaign-meter{position:absolute;right:28px;bottom:28px;display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.14em;color:#6f7580}
.campaign-meter i{width:42px;height:1px;background:#363b45}
.campaign-meter span:last-child{color:var(--signal)}
.campaign-intro{padding-bottom:118px}
.campaign-split{align-items:start}
.campaign-heading{font-size:clamp(36px,5vw,64px);line-height:1.02;letter-spacing:-.052em;margin:18px 0 0;font-weight:620}
.campaign-copy{font-size:20px;line-height:1.65;color:var(--muted);padding-top:24px}
.campaign-copy p{margin:0 0 22px}
.campaign-signals{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:76px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.campaign-signals>div{background:#fff;padding:34px 30px}
.campaign-signals span,.campaign-weeks>li>span,.fit-card>span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:750;color:var(--signal)}
.campaign-signals strong{display:block;font-size:20px;line-height:1.25;letter-spacing:-.02em;margin:18px 0 10px}
.campaign-signals p{font-size:14px;color:var(--muted);margin:0;line-height:1.55}
.campaign-decision{padding-top:126px;padding-bottom:126px}
.campaign-display{font-size:clamp(44px,6.2vw,82px);line-height:.97;letter-spacing:-.058em;margin:20px auto 0;max-width:980px;font-weight:620}
.campaign-decision .sub,.campaign-close .sub{margin-left:auto;margin-right:auto}
.campaign-planes .plane strong{font-size:clamp(30px,3.5vw,46px);line-height:1.02}
.campaign-review{align-items:start}
.text-arrow{display:inline-block;margin-top:28px;font-weight:650;text-decoration:none;border-bottom:1px solid var(--signal);padding-bottom:3px}
.campaign-weeks{list-style:none;padding:0;margin:0;counter-reset:none}
.campaign-weeks li{border-top:1px solid var(--line);padding:30px 0 32px}
.campaign-weeks li:last-child{border-bottom:1px solid var(--line)}
.campaign-weeks h3{font-size:25px;letter-spacing:-.03em;margin:10px 0 8px}
.campaign-weeks p{margin:0;color:var(--muted);line-height:1.6;max-width:540px}
.campaign-fit{display:grid;grid-template-columns:.72fr 1.28fr;gap:76px;align-items:start}
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fit-card{border:1px solid var(--line);border-radius:24px;padding:30px;background:var(--paper)}
.fit-card.yes{background:var(--deep);color:#fff;border-color:transparent}
.fit-card ul{margin:22px 0 0;padding-left:20px;color:var(--muted)}
.fit-card.yes ul{color:#b3b8c2}
.fit-card li{margin:12px 0;line-height:1.5}
.campaign-proof{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}
.proof-card{background:#fff;border-radius:28px;padding:36px;box-shadow:0 18px 55px #1113180d}
.proof-quote{font-size:clamp(26px,3vw,38px);line-height:1.18;letter-spacing:-.035em;margin:0 0 34px;font-weight:600}
.proof-by{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:20px}
.proof-by span{font-size:13px;color:var(--muted);margin-top:4px}
.proof-note{font-size:11.5px;color:#7b8089;line-height:1.5;margin:22px 0 0}
.campaign-close{padding-top:126px;padding-bottom:126px}
.dark-eye{color:#65180f}
.campaign-close .sub{color:#38130e}
.campaign-close .campaign-actions{justify-content:center}
.close-fine{color:#65180f}
@media(max-width:960px){
  .campaign-signals{grid-template-columns:1fr}
  .campaign-fit,.campaign-proof{grid-template-columns:1fr;gap:52px}
}
@media(max-width:760px){
  .campaign-hero{min-height:auto;padding:120px 22px 92px}
  .campaign-hero h1{font-size:52px}
  .campaign-actions{flex-direction:column;align-items:stretch}
  .campaign-actions .btn{width:100%}
  .campaign-meter{display:none}
  .campaign-intro{padding-bottom:84px}
  .campaign-copy{font-size:18px;padding-top:0}
  .campaign-signals{margin-top:52px}
  .campaign-signals>div{padding:28px 22px}
  .campaign-decision,.campaign-close{padding-top:92px;padding-bottom:92px}
  .campaign-display{font-size:46px}
  .campaign-review{gap:52px}
  .fit-grid{grid-template-columns:1fr}
  .proof-card{padding:28px 24px}
}
