.vigil-home{
  color-scheme:dark;
  --bg:#080807;
  --bg-deep:#050505;
  --surface:#0e0e0d;
  --surface-2:#13110e;
  --surface-3:#18140e;
  --ivory:#f1eadc;
  --copy:#c9bdac;
  --muted:#938778;
  --dim:#6f6558;
  --amber:#e39a2d;
  --amber-light:#f1b24b;
  --amber-deep:#a86616;
  --teal:#70a99a;
  --line:rgba(211,153,62,.20);
  --line-soft:rgba(241,234,220,.10);
  --line-strong:rgba(227,154,45,.72);
  --shadow:0 26px 70px rgba(0,0,0,.48);
  --display:"Chakra Petch","Arial Narrow",sans-serif;
  --body:"Barlow Condensed","Arial Narrow",sans-serif;
  --mono:"IBM Plex Mono",Consolas,monospace;
  --header-height:92px;
  --radius:6px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ivory);font-family:var(--body);font-size:20px;line-height:1.48;overflow-x:hidden;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(circle at 76% 12%,rgba(227,154,45,.045),transparent 31%),radial-gradient(circle at 18% 74%,rgba(227,154,45,.028),transparent 33%),var(--bg)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0}
button,a{touch-action:manipulation}
::selection{background:var(--amber);color:#080807}

.site-shell{width:min(1320px,calc(100% - 64px));margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-80px;z-index:300;background:var(--amber);color:#080807;padding:12px 18px;font-family:var(--mono);font-size:13px;font-weight:600;transition:top .2s}
.skip-link:focus{top:12px}
.scroll-progress{position:fixed;left:0;top:0;height:2px;width:0;background:var(--amber);box-shadow:0 0 10px rgba(227,154,45,.7);z-index:250}

.site-header{height:var(--header-height);position:fixed;inset:0 0 auto;z-index:200;border-bottom:1px solid var(--line-soft);background:rgba(7,7,6,.92);backdrop-filter:blur(18px)}
.header-inner{height:100%;display:flex;align-items:center;gap:30px}
.brand{display:inline-flex;align-items:center;gap:14px;flex:none}
.brand-mark{width:50px;height:50px;position:relative;display:grid;place-items:center;border:1px solid rgba(227,154,45,.45);border-radius:50%;box-shadow:0 0 0 4px rgba(227,154,45,.035),inset 0 0 18px rgba(227,154,45,.06)}
.brand-mark::before,.brand-mark::after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(227,154,45,.32);inset:5px}
.brand-mark::after{inset:-5px;border-color:rgba(227,154,45,.15)}
.brand-mark img{width:31px;height:31px;object-fit:contain;filter:sepia(1) saturate(1.3) hue-rotate(352deg) brightness(1.08)}
.brand-name{display:flex;gap:18px;align-items:baseline;font-family:var(--display);font-weight:700;line-height:1;letter-spacing:.035em;white-space:nowrap}
.brand-name strong{font-size:25px;color:var(--ivory)}
.brand-name b{font-size:25px;color:var(--amber);font-weight:700}
.primary-navigation{margin-left:auto;display:flex;align-items:center;gap:clamp(18px,2.3vw,38px)}
.primary-navigation>a:not(.button){font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.07em;color:var(--copy);position:relative;white-space:nowrap;transition:color .25s}
.primary-navigation>a:not(.button)::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:1px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.primary-navigation>a:hover,.primary-navigation>a:focus-visible{color:var(--ivory)}
.primary-navigation>a:hover::after,.primary-navigation>a:focus-visible::after{transform:scaleX(1)}
.menu-button{display:none;margin-left:auto;width:48px;height:44px;border:1px solid var(--line-strong);background:transparent;border-radius:var(--radius);align-items:center;justify-content:center;flex-direction:column;gap:6px;cursor:pointer}
.menu-button span{width:24px;height:2px;background:var(--amber);transition:transform .25s,opacity .25s}

.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:13px 25px;border:1px solid transparent;border-radius:var(--radius);font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.065em;text-align:center;transition:transform .22s,background .22s,border-color .22s,color .22s,box-shadow .22s}
.button:hover{transform:translateY(-2px)}
.button:focus-visible,.wheel-node:focus-visible,.wheel-core-link:focus-visible,summary:focus-visible,.menu-button:focus-visible{outline:2px solid var(--amber-light);outline-offset:4px}
.button-primary{color:#090806;background:linear-gradient(135deg,var(--amber-light),var(--amber));box-shadow:0 16px 34px -22px rgba(227,154,45,.95)}
.button-primary:hover{background:linear-gradient(135deg,#f8c261,#e99b27);box-shadow:0 20px 38px -20px rgba(227,154,45,.95)}
.button-outline{border-color:var(--line-strong);background:rgba(227,154,45,.025);color:var(--ivory)}
.button-outline:hover{background:rgba(227,154,45,.08);border-color:var(--amber)}
.nav-cta{min-height:48px;padding-inline:22px;color:#090806!important}

.hero{min-height:100svh;padding:calc(var(--header-height) + 48px) 0 58px;position:relative;display:grid;align-items:center;border-bottom:1px solid var(--line-soft);overflow:hidden}
.hero::before{content:"";position:absolute;width:78vw;height:78vw;right:-30vw;top:3vh;border-radius:50%;background:radial-gradient(circle,rgba(227,154,45,.055),rgba(227,154,45,.015) 38%,transparent 67%);pointer-events:none}
.hero-stars{position:absolute;inset:0;pointer-events:none;opacity:.72;background-image:radial-gradient(circle at 8% 18%,rgba(227,154,45,.6) 0 1px,transparent 1.8px),radial-gradient(circle at 19% 71%,rgba(241,234,220,.35) 0 1px,transparent 1.6px),radial-gradient(circle at 34% 13%,rgba(227,154,45,.45) 0 1px,transparent 1.7px),radial-gradient(circle at 51% 68%,rgba(241,234,220,.32) 0 1px,transparent 1.6px),radial-gradient(circle at 68% 18%,rgba(227,154,45,.5) 0 1px,transparent 1.6px),radial-gradient(circle at 84% 76%,rgba(241,234,220,.3) 0 1px,transparent 1.6px),radial-gradient(circle at 93% 24%,rgba(227,154,45,.48) 0 1px,transparent 1.7px)}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(540px,.98fr);gap:clamp(30px,4vw,78px);align-items:center}
.hero-copy{position:relative;z-index:2;padding-top:12px}
.hero h1{font-family:var(--display);font-size:clamp(56px,4.55vw,68px);font-weight:700;letter-spacing:-.045em;line-height:.92;text-transform:uppercase;max-width:none;text-wrap:balance;text-shadow:0 7px 28px rgba(0,0,0,.5)}
.hero h1 span,.hero h1 em{display:block;font-style:normal;white-space:nowrap}
.hero h1 em{color:var(--amber);background:linear-gradient(180deg,var(--amber-light),var(--amber-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy>p{max-width:30em;margin-top:27px;color:var(--copy);font-size:22px;line-height:1.48}
.hero-body-mobile{display:none}
.hero-actions{display:flex;gap:16px;margin-top:31px;flex-wrap:wrap}
.proof-row{list-style:none;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);display:flex;align-items:center;gap:0;color:var(--copy);font-family:var(--mono);font-size:10px;letter-spacing:.06em}
.proof-row li{display:flex;align-items:center;gap:10px;padding:0 21px;border-right:1px solid var(--line-soft);white-space:nowrap}
.proof-row li:first-child{padding-left:0}
.proof-row li:last-child{border-right:0}
.proof-row svg{width:24px;height:24px;fill:none;stroke:var(--amber);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.wheel-stage{perspective:1200px;position:relative;z-index:1;display:grid;place-items:center}
.wheel-tilt{width:min(100%,690px);will-change:transform;transition:transform .1s linear}
.vigil-wheel{width:100%;overflow:visible}
.wheel-orbits circle{fill:none;stroke:rgba(227,154,45,.16);stroke-width:1.2}
.wheel-orbits circle:first-child{stroke-dasharray:2 8;stroke-width:2.4;stroke:rgba(227,154,45,.45)}
.wheel-spokes path{fill:none;stroke:rgba(227,154,45,.32);stroke-width:1.7}
.wheel-spokes circle{fill:var(--bg);stroke:rgba(227,154,45,.55);stroke-width:1.7}
.wheel-node{cursor:pointer;color:var(--amber);outline:none}
.wheel-node>g>circle:first-child{fill:rgba(10,10,9,.98);stroke:rgba(227,154,45,.82);stroke-width:2;transition:fill .25s,stroke .25s,filter .25s}
.wheel-node .node-ring{fill:none;stroke:rgba(227,154,45,.28);stroke-width:1}
.wheel-node use{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.wheel-node text{fill:var(--ivory);font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:.08em;transition:fill .25s;pointer-events:none}
.wheel-node-side text{font-size:13px}
.wheel-node:hover>g>circle:first-child,.wheel-node:focus-visible>g>circle:first-child,.wheel-node.is-active>g>circle:first-child{fill:rgba(227,154,45,.11);stroke:var(--amber-light);filter:url(#wheelGlow)}
.wheel-node:hover text,.wheel-node:focus-visible text,.wheel-node.is-active text{fill:var(--amber-light)}
.wheel-core-link{outline:none}
.wheel-core{transform-box:fill-box;transform-origin:center}
.core-halo{fill:rgba(227,154,45,.055);stroke:rgba(227,154,45,.22);stroke-width:1}
.core-teeth{fill:none;stroke:var(--amber);stroke-width:14;stroke-dasharray:24 12;filter:drop-shadow(0 0 8px rgba(227,154,45,.28))}
.core-teeth{transform-box:fill-box;transform-origin:center;animation:core-turn 22s linear infinite}
@keyframes core-turn{to{transform:rotate(360deg)}}
.core-ring{fill:#11100e;stroke:rgba(241,178,75,.72);stroke-width:2}
.core-face{fill:rgba(227,154,45,.04);stroke:rgba(227,154,45,.25);stroke-width:1}
.core-v{fill:none;stroke:var(--amber);stroke-width:10;stroke-linecap:square;stroke-linejoin:miter}
.wheel-core-link:hover .core-teeth,.wheel-core-link:focus-visible .core-teeth{stroke:var(--amber-light);filter:drop-shadow(0 0 12px rgba(227,154,45,.5))}
.wheel-instruction{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:-10px;font-family:var(--mono);font-size:11px;letter-spacing:.13em;color:var(--copy)}
.wheel-instruction i{width:11px;height:11px;border:2px solid var(--amber);border-radius:50%;box-shadow:0 0 9px rgba(227,154,45,.38)}

.section{padding:clamp(92px,9vw,140px) 0;position:relative}
.wide-heading{max-width:900px;margin-bottom:clamp(45px,6vw,78px)}
.wide-heading h2,.section-intro h2,.security-band h2,.pricing h2,.closing-band h2{font-family:var(--display);font-weight:700;letter-spacing:-.035em;line-height:.98;text-transform:uppercase}
.wide-heading h2{font-size:clamp(50px,5vw,76px)}
.wide-heading h2 span,.wide-heading h2 em,.section-intro h2 span,.section-intro h2 em,.security-band h2 span,.security-band h2 em,.pricing h2 span,.pricing h2 em{display:block;font-style:normal}
.wide-heading h2 em,.section-intro h2 em,.security-band h2 em,.pricing h2 em{color:var(--amber)}
.wide-heading>p{max-width:38em;margin-top:16px;color:var(--copy);font-size:22px}

.outcomes{border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,#090908,var(--bg-deep))}
.outcomes::before{content:"";position:absolute;top:0;left:0;right:0;height:160px;background:radial-gradient(ellipse at 72% 0,rgba(227,154,45,.055),transparent 55%);pointer-events:none}
.outcomes-grid{display:grid;grid-template-columns:minmax(330px,.74fr) minmax(620px,1.26fr);gap:clamp(48px,6vw,95px);align-items:start}
.section-intro{position:sticky;top:calc(var(--header-height) + 40px)}
.section-intro h2{font-size:clamp(50px,4.3vw,70px)}
.section-intro>p:not(.scope-note){margin-top:25px;color:var(--copy);font-size:22px;max-width:28em}
.section-intro>.button{margin-top:34px}
.scope-note{display:flex;gap:11px;margin-top:44px;color:var(--muted);font-size:16px;max-width:30em;line-height:1.45}
.scope-note i{font-family:var(--mono);font-style:normal;font-size:11px;width:24px;height:24px;border:1px solid var(--amber);color:var(--amber);border-radius:50%;display:grid;place-items:center;flex:none}
.outcome-rails{border-top:1px solid var(--line-strong)}
.outcome-rail{min-height:220px;display:grid;grid-template-columns:118px minmax(210px,.8fr) minmax(260px,1fr);gap:28px;align-items:center;border-bottom:1px solid var(--line-strong);position:relative;padding:25px 0}
.outcome-rail::after{content:"";position:absolute;right:0;top:-5px;width:10px;height:10px;border-radius:50%;border:2px solid var(--amber);background:var(--bg)}
.outcome-icon{width:96px;height:96px;border:1px solid rgba(227,154,45,.56);border-radius:50%;display:grid;place-items:center;position:relative}
.outcome-icon::before,.outcome-icon::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(227,154,45,.14);inset:-10px}
.outcome-icon::after{inset:10px;border-color:rgba(227,154,45,.22)}
.outcome-icon svg{width:39px;height:39px;fill:none;stroke:var(--amber);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.folder-flow{display:flex;align-items:center;justify-content:space-evenly;font-family:var(--display);color:var(--amber)}
.folder-flow span{width:23px;height:17px;border:1.5px solid var(--amber);border-radius:2px;position:relative}
.folder-flow span::before{content:"";position:absolute;left:2px;top:-6px;width:10px;height:6px;border:1.5px solid var(--amber);border-bottom:0;border-radius:2px 2px 0 0}
.folder-flow b{width:31px;height:31px;border:1px solid var(--amber);border-radius:50%;display:grid;place-items:center;font-size:16px}
.outcome-title h3{font-family:var(--display);font-size:23px;line-height:1.1;color:var(--amber);letter-spacing:.02em}
.outcome-title p{margin-top:14px;color:var(--copy);font-size:20px}
.outcome-rail ul{list-style:none;border-left:1px dashed rgba(227,154,45,.48)}
.outcome-rail li{position:relative;padding:12px 0 12px 31px;color:var(--copy);font-size:18px}
.outcome-rail li::before{content:"";position:absolute;width:11px;height:11px;border:2px solid var(--amber);border-radius:50%;left:-6px;top:20px;background:var(--bg)}

.services{border-bottom:1px solid var(--line-soft);background:var(--bg)}
.service-board{display:grid;grid-template-columns:1.35fr .78fr .78fr;border:1px solid var(--line-strong);border-radius:18px 18px 0 0;overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(180deg,rgba(227,154,45,.02),transparent)}
.service-lane{min-height:560px;padding:42px 34px 32px;display:flex;flex-direction:column;align-items:center;text-align:center;border-left:1px solid var(--line-strong);position:relative}
.service-lane::before{content:"";position:absolute;top:-7px;width:13px;height:13px;border:2px solid var(--amber);background:var(--bg);border-radius:50%;box-shadow:0 0 0 8px rgba(227,154,45,.05)}
.service-lane-primary{align-items:flex-start;text-align:left;border-left:0;padding-inline:48px}
.service-lane h3{font-family:var(--display);font-size:36px;line-height:1;color:var(--amber);letter-spacing:-.02em}
.service-lane>p{color:var(--copy);font-size:20px;line-height:1.45;max-width:27em;margin-top:11px}
.service-lane:not(.service-lane-primary)>p{max-width:18em;margin-inline:auto;margin-top:25px}
.service-lane>.button{margin-top:auto;width:100%}
.lane-icon{width:86px;height:86px;border:2px solid var(--amber);border-radius:50%;display:grid;place-items:center;margin:28px 0 31px}
.lane-icon svg{width:39px;height:39px;fill:none;stroke:var(--amber);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mini-flow{width:100%;flex:1;min-height:245px;margin:24px 0 20px;display:grid;grid-template-columns:1fr 86px 1fr;align-items:center;position:relative}
.mini-flow::before,.mini-flow::after{content:"";position:absolute;top:50%;height:1px;background:repeating-linear-gradient(90deg,var(--amber) 0 4px,transparent 4px 9px);width:38%;z-index:0}
.mini-flow::before{left:14%}.mini-flow::after{right:14%}
.flow-inputs,.flow-outputs{display:grid;gap:27px;z-index:1}
.flow-inputs span,.flow-outputs span{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:10px;letter-spacing:.05em;line-height:1.5;color:var(--ivory)}
.flow-inputs svg,.flow-outputs svg{width:42px;height:42px;padding:9px;border:1px solid var(--amber);border-radius:50%;fill:none;stroke:var(--amber);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.flow-review{width:74px;height:74px;border:2px solid var(--amber);border-radius:50%;display:grid;place-items:center;background:var(--surface);font-family:var(--display);font-size:34px;color:var(--amber);z-index:2;box-shadow:0 0 0 8px rgba(227,154,45,.03),0 0 0 9px rgba(227,154,45,.22)}
.service-standards{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line-strong);border-top:0;padding:27px 0}
.service-standards li{display:flex;align-items:center;justify-content:center;gap:15px;border-left:1px solid var(--line-strong);font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.07em;color:var(--copy)}
.service-standards li:first-child{border-left:0}
.service-standards svg{width:31px;height:31px;fill:none;stroke:var(--amber);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.journey{padding-bottom:105px;background:linear-gradient(180deg,var(--bg-deep),#090908)}
.journey-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.journey-steps::before{content:"";position:absolute;top:73px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--amber),var(--amber),transparent);opacity:.5}
.journey-steps li{text-align:center;position:relative;padding:0 28px}
.step-number{position:absolute;top:-17px;left:50%;margin-left:-10px;width:21px;height:21px;border:1px solid var(--amber);border-radius:50%;display:grid;place-items:center;background:var(--bg);color:var(--amber);font-family:var(--mono);font-size:10px;z-index:2}
.step-icon{position:relative;z-index:1;width:92px;height:92px;margin:10px auto 25px;border:2px solid var(--amber);border-radius:50%;display:grid;place-items:center;background:var(--surface);box-shadow:0 0 0 6px rgba(227,154,45,.03)}
.step-icon svg{width:39px;height:39px;fill:none;stroke:var(--amber-light);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.journey-steps h3{font-family:var(--display);font-size:23px;color:var(--amber);letter-spacing:.025em}
.journey-steps p{margin-top:9px;color:var(--copy);font-size:19px;line-height:1.45}

.security-band{padding:75px 0 86px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:linear-gradient(110deg,#0d0c0a,#10100e 48%,#0b0b0a);position:relative;overflow:hidden}
.security-band::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 80%,rgba(227,154,45,.06),transparent 36%);pointer-events:none}
.security-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:34px 85px;align-items:center}
.security-band h2{font-size:clamp(48px,4.6vw,70px)}
.security-grid>div:nth-child(2) p{color:var(--copy);font-size:23px;max-width:29em}
.security-proofs{grid-column:1/-1;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:23px 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
.security-proofs li{display:flex;align-items:center;justify-content:center;gap:14px;border-left:1px solid var(--line-strong);font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--copy)}
.security-proofs li:first-child{border-left:0}
.security-proofs svg{width:34px;height:34px;fill:none;stroke:var(--amber);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.security-grid>.button{grid-column:1/-1;justify-self:start;min-width:380px}

.pricing{padding-bottom:0}
.pricing-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;align-items:center;padding-bottom:78px}
.pricing .wide-heading{margin:0}
.pricing h2{font-size:clamp(52px,4.8vw,74px)}
.pricing .wide-heading p{font-size:23px}
.offer-rail{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
.offer-rail article{min-height:330px;padding:35px 28px 28px;text-align:center;border-left:1px solid var(--line-strong);display:flex;flex-direction:column;align-items:center;position:relative}
.offer-rail article:first-child{border-left:0}
.offer-rail .featured{background:linear-gradient(180deg,rgba(227,154,45,.06),transparent)}
.offer-icon{width:78px;height:78px;border:2px solid var(--amber);border-radius:50%;display:grid;place-items:center;margin-bottom:25px}
.featured .offer-icon{border-style:dashed;box-shadow:0 0 0 8px rgba(227,154,45,.035)}
.offer-icon svg{width:34px;height:34px;fill:none;stroke:var(--amber);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.offer-rail h3{font-family:var(--display);font-size:19px;letter-spacing:.055em}
.offer-rail p{color:var(--copy);font-size:18px;line-height:1.4;margin-top:10px}
.offer-rail strong{margin-top:auto;font-family:var(--display);font-size:24px;letter-spacing:.035em;color:var(--amber)}

.faq{padding:56px 0 80px;border-top:1px solid var(--line-soft)}
.faq>h2{font-family:var(--display);font-size:19px;letter-spacing:.14em;color:var(--amber);margin-bottom:20px}
.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 42px}
.faq details{border-bottom:1px solid var(--line-strong)}
.faq summary{list-style:none;cursor:pointer;min-height:72px;padding:22px 44px 18px 0;position:relative;font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.055em;color:var(--ivory)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:8px;top:18px;color:var(--amber);font-family:var(--body);font-size:29px;font-weight:300;transition:transform .22s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 42px 23px 0;color:var(--copy);font-size:19px}

.closing-band{padding:49px 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-soft);background:linear-gradient(90deg,rgba(227,154,45,.02),transparent 50%)}
.closing-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.closing-band h2{font-size:clamp(42px,4vw,62px)}
.closing-band p{color:var(--copy);font-size:21px;margin-top:5px}
.closing-actions{display:flex;gap:18px}
.closing-actions .button{min-width:220px}

.site-footer{padding:48px 0 24px;background:#060605}
.footer-top{display:grid;grid-template-columns:1.45fr repeat(4,1fr);gap:36px}
.footer-brand .brand-name strong,.footer-brand .brand-name b{font-size:20px}
.footer-brand .brand-mark{width:42px;height:42px}
.footer-brand .brand-mark img{width:27px;height:27px}
.footer-brand>p{color:var(--muted);font-size:17px;max-width:24em;margin-top:18px}
.footer-top h2{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--amber);margin-bottom:15px}
.footer-top ul{list-style:none;display:grid;gap:8px}
.footer-top li,.footer-top a{color:var(--muted);font-size:16px;line-height:1.35}
.footer-top a:hover{color:var(--ivory)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:42px;padding-top:20px;border-top:1px solid var(--line-soft);color:var(--dim);font-family:var(--mono);font-size:10px;letter-spacing:.06em}

.reveal{opacity:1;transform:none}
.has-js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.has-js .reveal.is-visible{opacity:1;transform:none}
.has-js .hero .reveal{opacity:1;transform:none}

@media (max-width:1180px){
  .vigil-home{--header-height:84px}
  .site-shell{width:min(100% - 44px,1120px)}
  .brand-name{gap:10px}.brand-name strong,.brand-name b{font-size:20px}
  .primary-navigation{gap:17px}.primary-navigation>a:not(.button){font-size:11px}.nav-cta{padding-inline:16px}
  .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(490px,.95fr);gap:28px}
  .hero h1{font-size:clamp(50px,4.8vw,60px)}
  .proof-row{font-size:9px}.proof-row li{padding-inline:12px}
  .outcomes-grid{grid-template-columns:.78fr 1.22fr;gap:48px}.outcome-rail{grid-template-columns:90px 200px 1fr;gap:20px}.outcome-icon{width:78px;height:78px}
  .service-lane-primary{padding-inline:34px}.service-lane{padding-inline:26px}.service-lane h3{font-size:31px}
  .pricing-layout{grid-template-columns:.62fr 1.38fr;gap:38px}
  .offer-rail article{padding-inline:18px}
  .footer-top{grid-template-columns:1.3fr repeat(4,1fr);gap:22px}
}

@media (max-width:1080px){
  .menu-button{display:flex}
  .site-header.is-open .menu-button span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .site-header.is-open .menu-button span:nth-child(2){opacity:0}
  .site-header.is-open .menu-button span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .primary-navigation{position:absolute;top:var(--header-height);left:0;right:0;display:grid;gap:0;padding:12px 22px 22px;background:rgba(7,7,6,.98);border-bottom:1px solid var(--line-strong);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s,transform .2s,visibility .2s}
  .site-header.is-open .primary-navigation{opacity:1;visibility:visible;transform:none}
  .primary-navigation>a:not(.button){padding:14px 6px;font-size:13px;border-bottom:1px solid var(--line-soft)}
  .primary-navigation>a:not(.button)::after{display:none}
  .primary-navigation .button{margin-top:14px}
  .hero{padding-top:calc(var(--header-height) + 62px)}
  .hero-grid{grid-template-columns:1fr;max-width:780px}
  .hero h1{font-size:clamp(56px,8vw,72px);max-width:none}
  .hero-copy>p{max-width:35em}
  .wheel-tilt{width:min(100%,680px);margin-top:20px}
  .outcomes-grid{grid-template-columns:1fr}.section-intro{position:static;max-width:700px}.outcome-rail{grid-template-columns:110px .85fr 1fr}
  .service-board{grid-template-columns:1fr 1fr}.service-lane-primary{grid-column:1/-1;min-height:480px}.service-lane{min-height:480px}.service-lane:nth-child(2){border-left:0;border-top:1px solid var(--line-strong)}.service-lane:nth-child(3){border-top:1px solid var(--line-strong)}
  .journey-steps{grid-template-columns:repeat(2,1fr);gap:54px 0}.journey-steps::before{display:none}
  .security-grid{gap:32px}.security-proofs{grid-template-columns:repeat(2,1fr);gap:0}.security-proofs li{padding:18px;border-bottom:1px solid var(--line-strong)}.security-proofs li:nth-child(odd){border-left:0}.security-proofs li:nth-last-child(-n+2){border-bottom:0}
  .pricing-layout{grid-template-columns:1fr}.pricing .wide-heading{max-width:650px}.offer-rail{max-width:900px}
  .closing-grid{grid-template-columns:1fr}.closing-actions{justify-content:flex-start}
  .footer-top{grid-template-columns:2fr repeat(2,1fr)}.footer-brand{grid-column:1/-1}.footer-top>div:nth-child(4),.footer-top>div:nth-child(5){margin-top:12px}
}

@media (max-width:640px){
  .vigil-home{--header-height:76px}
  .site-shell{width:calc(100% - 30px)}
  body{font-size:18px}
  .site-header{background:rgba(6,6,5,.97)}
  .brand{gap:9px}.brand-mark{width:41px;height:41px}.brand-mark img{width:26px;height:26px}.brand-name{gap:8px}.brand-name strong,.brand-name b{font-size:16px}.menu-button{width:44px;height:40px}
  .hero{display:block;min-height:auto;padding:calc(var(--header-height) + 50px) 0 48px}
  .hero-grid{display:block}
  .hero h1{font-size:clamp(35px,9vw,52px);line-height:.98;letter-spacing:-.055em;max-width:100%}
  .hero-copy>p{font-size:20px;line-height:1.5;margin-top:27px}
  .hero-body-desktop{display:none}.hero-body-mobile{display:inline}
  .hero-actions{display:grid;gap:12px;margin-top:30px}.hero-actions .button{width:100%;min-height:58px}
  .proof-row{display:none}
  .wheel-stage{margin-top:30px}
  .wheel-tilt{width:calc(100% + 16px);margin-left:-8px}
  .vigil-wheel{overflow:visible}
  .wheel-node text{font-size:15px}
  .wheel-node-side[href="/construction"] text{transform:translateX(40px)}
  .wheel-instruction{margin-top:-5px;font-size:10px}
  .section{padding:82px 0}
  .wide-heading{margin-bottom:42px}.wide-heading h2,.section-intro h2,.security-band h2,.pricing h2{font-size:clamp(43px,12vw,58px)}.wide-heading>p,.section-intro>p:not(.scope-note){font-size:20px}
  .section-intro>.button{width:100%}.scope-note{margin-top:30px}
  .outcome-rail{grid-template-columns:82px 1fr;gap:18px;padding:28px 0}.outcome-icon{width:70px;height:70px}.outcome-icon svg{width:31px;height:31px}.outcome-title h3{font-size:20px}.outcome-title p{font-size:18px}.outcome-rail ul{grid-column:1/-1;margin-left:41px}.outcome-rail li{font-size:17px;padding-block:9px}.outcome-rail li::before{top:16px}
  .service-board{display:block;border-radius:12px 12px 0 0}.service-lane,.service-lane-primary{min-height:auto;padding:35px 24px;border:0;border-top:1px solid var(--line-strong);align-items:flex-start;text-align:left}.service-lane:first-child{border-top:0}.service-lane::before{left:28px}.service-lane h3{font-size:30px}.service-lane:not(.service-lane-primary)>p{margin:14px 0 30px;max-width:100%}.lane-icon{margin:30px 0 24px}.mini-flow{min-height:220px;grid-template-columns:1fr 64px 1fr}.mini-flow::before,.mini-flow::after{width:34%}.flow-review{width:58px;height:58px;font-size:27px}.flow-inputs span,.flow-outputs span{font-size:8px;gap:7px}.flow-inputs svg,.flow-outputs svg{width:35px;height:35px;padding:7px}.service-lane>.button{margin-top:20px}
  .service-standards{grid-template-columns:1fr;padding:0}.service-standards li{justify-content:flex-start;padding:18px 24px;border-left:0;border-top:1px solid var(--line-strong)}.service-standards li:first-child{border-top:0}
  .journey-steps{display:block}.journey-steps li{text-align:left;padding:0 0 45px 90px;min-height:130px}.journey-steps li::before{content:"";position:absolute;left:37px;top:81px;bottom:0;width:1px;background:var(--line-strong)}.journey-steps li:last-child::before{display:none}.step-number{left:37px;top:-10px}.step-icon{position:absolute;left:0;top:10px;width:74px;height:74px;margin:0}.step-icon svg{width:31px;height:31px}.journey-steps h3{font-size:20px}.journey-steps p{font-size:18px}
  .security-band{padding:72px 0}.security-grid{grid-template-columns:1fr;gap:25px}.security-grid>div:nth-child(2) p{font-size:20px}.security-proofs{grid-column:auto;grid-template-columns:1fr;padding:0}.security-proofs li{justify-content:flex-start;border:0;border-bottom:1px solid var(--line-strong)!important;padding:16px 8px}.security-proofs li:last-child{border-bottom:0!important}.security-grid>.button{grid-column:auto;width:100%;min-width:0}
  .pricing-layout{padding-bottom:55px}.offer-rail{display:block;border-bottom:0}.offer-rail article{min-height:auto;padding:30px 18px;border-left:0;border-bottom:1px solid var(--line-strong)}.offer-icon{width:68px;height:68px}.offer-rail strong{margin-top:22px}
  .faq{padding:45px 0 65px}.faq-grid{grid-template-columns:1fr}.faq details{grid-column:1}.faq summary{font-size:14px;line-height:1.4}.faq details p{font-size:18px}
  .closing-band{padding:45px 0}.closing-band h2{font-size:clamp(42px,11vw,55px)}.closing-band p{font-size:19px}.closing-actions{display:grid;gap:12px}.closing-actions .button{width:100%}
  .footer-top{grid-template-columns:1fr 1fr;gap:30px 22px}.footer-brand{grid-column:1/-1}.footer-top>div:nth-child(4),.footer-top>div:nth-child(5){margin-top:0}.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{align-items:flex-start;flex-direction:column}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

@media (forced-colors:active){
  .button,.wheel-node>g>circle:first-child,.step-icon,.offer-icon,.lane-icon{border:1px solid ButtonText}
}
