:root{
  --void:#070B18;
  --deep:#0D1330;
  --panel:#121A3A;
  --line:rgba(140,158,255,.16);
  --plasma:#6C4BF6;
  --plasma-lift:#8A6DFF;
  --ion:#35E1D4;
  --amber:#FFC46B;
  --starlight:#E9ECFB;
  --dust:#939CC6;

  --step--1:clamp(.82rem,.79rem + .14vw,.9rem);
  --step-0:clamp(1rem,.96rem + .2vw,1.09rem);
  --step-1:clamp(1.2rem,1.12rem + .4vw,1.45rem);
  --step-2:clamp(1.5rem,1.34rem + .8vw,2.05rem);
  --step-3:clamp(1.95rem,1.63rem + 1.6vw,3.1rem);
  --step-4:clamp(2.5rem,1.9rem + 3vw,4.4rem);

  --gutter:clamp(1.25rem,4vw,3.5rem);
  --wrap:1220px;
  --radius:14px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--void);
  color:var(--starlight);
  font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:var(--step-0);
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:"Space Grotesk","Space Grotesk Fallback",sans-serif;font-weight:600;line-height:1.08;letter-spacing:-.02em;margin:0}
p{margin:0}
a{color:inherit}
img,svg{max-width:100%}
:focus-visible{outline:2px solid var(--ion);outline-offset:3px;border-radius:4px}

.wrap{width:min(100% - (var(--gutter) * 2),var(--wrap));margin-inline:auto}
.prose{max-width:62ch}

/* ---------- starfield ---------- */
.sky{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.sky::before,.sky::after{
  content:"";position:absolute;inset:-50% -10%;
  background-image:
    radial-gradient(1.5px 1.5px at 20% 30%,rgba(233,236,251,.55),transparent),
    radial-gradient(1.5px 1.5px at 70% 12%,rgba(233,236,251,.4),transparent),
    radial-gradient(1px 1px at 44% 68%,rgba(140,180,255,.5),transparent),
    radial-gradient(1.5px 1.5px at 88% 55%,rgba(233,236,251,.35),transparent),
    radial-gradient(1px 1px at 12% 82%,rgba(53,225,212,.45),transparent),
    radial-gradient(1px 1px at 62% 90%,rgba(233,236,251,.3),transparent);
  background-size:520px 520px;
}
.sky::after{background-size:340px 340px;opacity:.5;animation:drift 220s linear infinite}
@keyframes drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-340px,-340px,0)}}
.glow{
  position:fixed;z-index:0;pointer-events:none;border-radius:50%;filter:blur(90px);
}
.glow-a{top:-14vh;right:-8vw;width:52vw;height:52vw;background:radial-gradient(circle,rgba(108,75,246,.42),transparent 68%)}
.glow-b{top:52vh;left:-18vw;width:44vw;height:44vw;background:radial-gradient(circle,rgba(53,225,212,.16),transparent 66%)}

/* ---------- header ---------- */
.masthead{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.masthead.stuck{background:rgba(7,11,24,.82);border-bottom-color:var(--line)}
.masthead .wrap{display:flex;align-items:center;gap:1.5rem;height:74px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex:0 0 auto}
.brand-name{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:1.22rem;letter-spacing:-.03em}
.brand-name span{color:var(--dust);font-weight:400}
.nav{margin-left:auto;display:flex;align-items:center;gap:1.9rem}
.nav a{text-decoration:none;color:var(--dust);font-size:var(--step--1);transition:color .2s}
.nav a:hover{color:var(--starlight)}
.nav .btn{color:var(--void)}
@media (max-width:860px){.nav a:not(.btn){display:none}}

/* ---------- buttons ---------- */
.btn{
  --sweep:rgba(255,255,255,.55);
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.82rem 1.6rem;border-radius:999px;border:0;cursor:pointer;overflow:hidden;
  font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.005em;
  text-decoration:none;background:linear-gradient(103deg,var(--plasma),var(--plasma-lift) 55%,var(--ion));
  color:#07091a;box-shadow:0 0 0 1px rgba(140,120,255,.35),0 12px 34px -14px rgba(108,75,246,.9);
  transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .25s;
}
.btn::after{
  content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,var(--sweep),transparent);
  transform:skewX(-18deg);transition:left .55s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(180,165,255,.6),0 18px 44px -14px rgba(108,75,246,1)}
.btn:hover::after{left:130%}
.btn:active{transform:translateY(0)}
.btn-ghost{
  background:transparent;color:var(--starlight);box-shadow:inset 0 0 0 1px var(--line);
}
.btn-ghost:hover{box-shadow:inset 0 0 0 1px rgba(53,225,212,.6);transform:translateY(-2px)}
.btn-lg{padding:1.05rem 2.1rem;font-size:var(--step-0)}
.btn-pulse::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  box-shadow:0 0 0 0 rgba(108,75,246,.7);animation:pulse 3.4s cubic-bezier(.25,.9,.4,1) infinite;
}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(108,75,246,.55)}70%{box-shadow:0 0 0 20px rgba(108,75,246,0)}100%{box-shadow:0 0 0 0 rgba(108,75,246,0)}}

/* ---------- sections ---------- */
main{position:relative;z-index:1}
.band{padding-block:clamp(4.5rem,9vw,8rem)}
.band-tight{padding-block:clamp(3rem,5vw,4.5rem)}
.lede{font-size:var(--step-1);color:var(--dust);line-height:1.55;max-width:56ch}
.kicker{color:var(--ion);font-family:"Space Grotesk",sans-serif;font-size:var(--step--1);font-weight:500;margin-bottom:.9rem;display:block}
h2{font-size:var(--step-3)}
h3{font-size:var(--step-1)}

/* ---------- hero ---------- */
.hero{padding-top:clamp(3rem,7vw,6rem);padding-bottom:clamp(3rem,6vw,5rem)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
@media (max-width:960px){.hero .wrap{grid-template-columns:1fr}.orbit-stage{order:-1}}
.hero h1{font-size:var(--step-4);max-width:15ch;font-weight:700}
.hero h1 em{font-style:normal;background:linear-gradient(96deg,var(--starlight) 30%,var(--ion));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{margin-top:1.4rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem}
.hero-note{margin-top:1.2rem;font-size:var(--step--1);color:var(--dust)}

.reveal{opacity:0;transform:translateY(14px)}
.loaded .reveal{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.loaded .r1{transition-delay:.05s}
.loaded .r2{transition-delay:.18s}
.loaded .r3{transition-delay:.31s}
.loaded .r4{transition-delay:.44s}

/* ---------- orbit ---------- */
.orbit-stage{position:relative;aspect-ratio:1;max-width:520px;margin-inline:auto;width:100%}
.orbit-svg{width:100%;height:100%;overflow:visible}
.orbit-ring{fill:none;stroke:var(--line);stroke-width:1}
.orbit-arc{fill:none;stroke-linecap:round;stroke-width:2}
.spin{transform-origin:250px 250px;animation:spin 46s linear infinite}
.spin-slow{transform-origin:250px 250px;animation:spin 78s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.node circle{transition:r .3s}
.node text{font-family:"IBM Plex Sans",sans-serif;font-size:13px;fill:var(--dust)}
.core-label{font-family:"Space Grotesk",sans-serif;font-size:15px;font-weight:600;fill:var(--starlight)}
.core-sub{font-family:"IBM Plex Mono",monospace;font-size:11px;fill:var(--ion)}
.sweep-dot{animation:trace 12s linear infinite}
@keyframes trace{to{offset-distance:100%}}

/* ---------- credential strip ---------- */
.strip{border-block:1px solid var(--line);background:linear-gradient(180deg,rgba(18,26,58,.6),rgba(13,19,48,.25))}
.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.strip .cell{background:var(--void);padding:1.6rem clamp(1rem,2vw,1.8rem)}
.strip .num{font-family:"Space Grotesk",sans-serif;font-size:var(--step-2);font-weight:600;color:var(--starlight);display:block;line-height:1.1}
.strip .cap{font-size:var(--step--1);color:var(--dust);margin-top:.35rem;display:block}
@media (max-width:760px){.strip .wrap{grid-template-columns:1fr 1fr}}

/* ---------- services ---------- */
.svc-head{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;margin-bottom:3rem}
@media (max-width:760px){.svc-head{grid-template-columns:1fr}}
.svc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.25rem}
.svc{
  grid-column:span 2;position:relative;padding:1.9rem 1.7rem;
  background:linear-gradient(168deg,rgba(18,26,58,.85),rgba(10,15,36,.7));
  border:1px solid var(--line);border-radius:var(--radius);
}
.svc-feature{grid-column:span 3;padding:2.4rem 2.2rem;border-radius:22px;border-color:rgba(108,75,246,.45);
  background:linear-gradient(150deg,rgba(46,32,110,.75),rgba(12,18,44,.85))}
@media (max-width:1000px){.svc-grid{grid-template-columns:repeat(2,1fr)}.svc,.svc-feature{grid-column:span 1}}
@media (max-width:620px){.svc-grid{grid-template-columns:1fr}}
.svc h3{margin-bottom:.6rem}
.svc-feature h3{font-size:var(--step-2)}
.svc p{color:var(--dust);font-size:var(--step--1)}
.svc-icon{display:block;margin-bottom:1.1rem;color:var(--ion)}
.svc-feature .svc-icon{color:var(--amber)}
.svc ul{margin:1.1rem 0 0;padding:0;list-style:none;display:grid;gap:.45rem}
.svc li{font-size:var(--step--1);color:var(--dust);padding-left:1.3rem;position:relative}
.svc li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--ion)}

/* ---------- process ---------- */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:3rem;border-top:1px solid var(--line)}
@media (max-width:900px){.process{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.process{grid-template-columns:1fr}}
.step{padding:2rem 1.6rem 2.2rem;border-right:1px solid var(--line);position:relative}
.process .step:last-child{border-right:0}
.step::before{
  content:"";position:absolute;top:-1px;left:0;height:2px;width:0;
  background:linear-gradient(90deg,var(--plasma),var(--ion));transition:width 1.1s ease
}
.process.lit .step::before{width:100%}
.process.lit .step:nth-child(2)::before{transition-delay:.25s}
.process.lit .step:nth-child(3)::before{transition-delay:.5s}
.process.lit .step:nth-child(4)::before{transition-delay:.75s}
.step .day{font-family:"IBM Plex Mono",monospace;font-size:var(--step--1);color:var(--ion);display:block;margin-bottom:.9rem}
.step h3{font-size:var(--step-1);margin-bottom:.6rem}
.step p{color:var(--dust);font-size:var(--step--1)}

/* ---------- console / stack ---------- */
.stack{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
@media (max-width:900px){.stack{grid-template-columns:1fr}}
.console{
  border:1px solid var(--line);border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,rgba(18,26,58,.9),rgba(8,12,30,.95));
  box-shadow:0 40px 80px -50px rgba(0,0,0,.9)
}
.console-bar{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);background:rgba(9,13,32,.7)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--line)}
.dot.live{background:var(--ion);box-shadow:0 0 10px var(--ion);animation:blink 2.6s ease-in-out infinite}
@keyframes blink{50%{opacity:.35}}
.console-bar span{font-family:"IBM Plex Mono",monospace;font-size:.78rem;color:var(--dust);margin-left:auto}
.console-body{padding:1.15rem 1.2rem;font-family:"IBM Plex Mono",monospace;font-size:.82rem;line-height:1.95;color:var(--dust)}
.console-body b{color:var(--starlight);font-weight:500}
.console-body .ok{color:var(--ion)}
.console-body .warn{color:var(--amber)}
.stack-list{margin:2rem 0 0;padding:0;list-style:none;display:grid;gap:1.15rem}
.stack-list li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}
.stack-list strong{display:block;font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:var(--step-0)}
.stack-list p{color:var(--dust);font-size:var(--step--1)}
.tick{width:22px;height:22px;margin-top:2px;color:var(--ion);flex:0 0 auto}

/* ---------- pricing ---------- */
.terms{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.6rem}
@media (max-width:820px){.terms{grid-template-columns:1fr}}
.term{padding:1.8rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(18,26,58,.4)}
.term .fig{font-family:"Space Grotesk",sans-serif;font-size:var(--step-2);font-weight:600;display:block;margin-bottom:.4rem}
.term p{color:var(--dust);font-size:var(--step--1)}
.term-lead{border-color:rgba(53,225,212,.4);background:linear-gradient(160deg,rgba(20,60,70,.5),rgba(12,18,44,.7))}
.term-lead .fig{color:var(--ion)}

/* ---------- faq ---------- */
.faq{margin-top:2.5rem;border-top:1px solid var(--line);max-width:78ch}
details{border-bottom:1px solid var(--line)}
summary{
  cursor:pointer;list-style:none;padding:1.35rem 2.5rem 1.35rem 0;position:relative;
  font-family:"Space Grotesk",sans-serif;font-weight:500;font-size:var(--step-1);color:var(--starlight)
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"";position:absolute;right:.4rem;top:50%;width:11px;height:11px;
  border-right:2px solid var(--ion);border-bottom:2px solid var(--ion);
  transform:translateY(-70%) rotate(45deg);transition:transform .25s
}
details[open] summary::after{transform:translateY(-20%) rotate(225deg)}
details p{padding:0 0 1.5rem;color:var(--dust);max-width:70ch}
details[open] p{animation:open .35s ease}
@keyframes open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- contact ---------- */
.contact{background:linear-gradient(170deg,rgba(24,18,66,.85),rgba(7,11,24,.4));border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.5rem)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
form{display:grid;gap:1.1rem}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media (max-width:560px){.row{grid-template-columns:1fr}}
label{display:block;font-size:var(--step--1);color:var(--dust);margin-bottom:.45rem}
input,select,textarea{
  width:100%;padding:.85rem 1rem;border-radius:10px;
  background:rgba(7,11,24,.6);border:1px solid var(--line);color:var(--starlight);
  font-family:inherit;font-size:var(--step-0);transition:border-color .2s,box-shadow .2s
}
textarea{resize:vertical;min-height:130px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ion);box-shadow:0 0 0 3px rgba(53,225,212,.15)}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ion) 50%),linear-gradient(135deg,var(--ion) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:.82rem;color:var(--dust)}
.status{font-size:var(--step--1);min-height:1.4em}
.status.err{color:var(--amber)}
.status.ok{color:var(--ion)}
.direct{margin-top:2.4rem;display:grid;gap:1rem}
.direct a{color:var(--ion);text-decoration:none;font-family:"Space Grotesk",sans-serif;font-size:var(--step-1);font-weight:500}
.direct a:hover{text-decoration:underline}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding-block:2.6rem;font-size:var(--step--1);color:var(--dust)}
.foot{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;align-items:center}
.foot nav{display:flex;flex-wrap:wrap;gap:1.4rem}
.foot a{text-decoration:none}
.foot a:hover{color:var(--starlight)}
.serving{margin-top:1.6rem;max-width:80ch;line-height:1.8;font-size:.82rem;color:#6f78a0}

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

/* ---------- multi-page additions ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:100;padding:.6rem 1rem;background:var(--ion);color:var(--void);border-radius:0 0 8px 0}
.skip:focus{left:0}
.nav a[aria-current="page"]{color:var(--starlight)}
.hero-eyebrow{display:block;font-size:var(--step--1);font-weight:500;letter-spacing:0;color:var(--ion);margin-bottom:1rem}

.crumbs{padding-top:1.6rem;font-size:var(--step--1);color:var(--dust)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.crumbs li+li::before{content:"/";margin-right:.5rem;color:var(--line)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--starlight)}

.page-hero{padding-top:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(2rem,4vw,3rem)}
.page-hero h1{font-size:var(--step-4);max-width:20ch;font-weight:700}
.page-hero .lede{margin-top:1.3rem}
.page-hero .hero-actions{margin-top:2rem}

.cols{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (max-width:900px){.cols{grid-template-columns:1fr}}
.copy h2{font-size:var(--step-2);margin:2.6rem 0 1rem}
.copy h2:first-child{margin-top:0}
.copy p{color:var(--dust);margin-bottom:1rem;max-width:66ch}
.copy p strong{color:var(--starlight);font-weight:500}
.copy ul.dots{margin:0 0 1.2rem;padding:0;list-style:none;display:grid;gap:.6rem;max-width:66ch}
.copy ul.dots li{color:var(--dust);padding-left:1.4rem;position:relative}
.copy ul.dots li::before{content:"";position:absolute;left:0;top:.66em;width:6px;height:6px;border-radius:50%;background:var(--ion)}
.copy ul.dots li strong{color:var(--starlight);font-weight:500}

.aside{position:sticky;top:96px;padding:1.8rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(168deg,rgba(18,26,58,.85),rgba(10,15,36,.7))}
.aside h2{font-size:var(--step-1);margin-bottom:.8rem}
.aside p{color:var(--dust);font-size:var(--step--1);margin-bottom:1.2rem}
.aside ul{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;gap:.55rem}
.aside li a{color:var(--dust);text-decoration:none;font-size:var(--step--1)}
.aside li a:hover,.aside li a[aria-current="page"]{color:var(--ion)}

.svc h3 a,.svc-link{text-decoration:none}
.svc h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.svc:hover{border-color:rgba(53,225,212,.45)}
.svc-more{display:inline-block;margin-top:1rem;font-size:var(--step--1);color:var(--ion);font-family:"Space Grotesk",sans-serif;font-weight:500}

.more-link{display:inline-block;margin-top:2rem;color:var(--ion);text-decoration:none;font-family:"Space Grotesk",sans-serif;font-weight:500}
.more-link:hover{text-decoration:underline}

.cta-band{border-top:1px solid var(--line);background:linear-gradient(170deg,rgba(24,18,66,.85),rgba(7,11,24,.4))}
.cta-band .wrap{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:space-between}
.cta-band h2{font-size:var(--step-2);max-width:24ch}
.cta-band p{color:var(--dust);margin-top:.7rem;max-width:52ch}

.foot-cols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem;margin-bottom:2rem}
@media (max-width:760px){.foot-cols{grid-template-columns:1fr}}
.foot-cols h2{font-size:var(--step-0);color:var(--starlight);margin-bottom:.8rem}
.foot-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.foot-cols a{text-decoration:none}
.foot-cols a:hover{color:var(--starlight)}

.notfound{min-height:60vh;display:grid;align-content:center}

/* ---------- higher-contrast buttons (same palette) ---------- */
.btn{
  background:linear-gradient(103deg,#5B3CE6,#3E3AB8 50%,#0E7470);
  color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:.84rem;
  box-shadow:0 0 0 1px rgba(160,140,255,.55),0 12px 34px -12px rgba(108,75,246,1);
}
.btn-lg{font-size:.92rem;padding:1.05rem 2rem}
.btn-ghost{background:rgba(7,11,24,.55);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(140,158,255,.55)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ion)}
.nav .btn{padding:.72rem 1.3rem;color:#fff}

/* ---------- header CTA on small screens ---------- */
.nav .btn{white-space:nowrap}
.lbl-short{display:none}
@media (max-width:860px){
  .masthead .wrap{gap:.75rem;height:64px}
  .nav .btn{padding:.6rem 1rem;font-size:.74rem;letter-spacing:.05em}
}
@media (max-width:480px){
  .lbl-full{display:none}
  .lbl-short{display:inline}
  .brand{gap:.55rem}
  .brand svg{width:32px;height:32px}
  .brand-name span{display:none}
}

/* ---------- Turnstile widget ---------- */
.ts-widget{min-height:65px}

/* ---------- guides build-out (October 2026) ---------- */
[hidden]{display:none!important}

/* six text links need ~900px; hide them below 1000px (measured with Pillow, see PROGRESS.md) */
@media (max-width:1000px){.nav a:not(.btn){display:none}}
@media (max-width:1100px){.nav{gap:1.5rem}}

.foot-cols{grid-template-columns:1.3fr 1fr 1fr 1fr}
@media (max-width:1000px){.foot-cols{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-cols{grid-template-columns:1fr}}
.foot-cols > div{min-width:0}
.cols > *{min-width:0}
.more-link-2{margin-left:1.6rem}
@media (max-width:560px){.more-link-2{margin-left:0;display:block;margin-top:1rem}}

.guide-meta{margin-top:1.2rem;font-size:var(--step--1);color:var(--dust)}
.guide-meta a{color:var(--ion)}
.print-hint{margin-top:.6rem;font-size:var(--step--1);color:var(--dust)}
.copy h3{font-size:var(--step-1);margin:2rem 0 .8rem}
.copy a{color:var(--ion)}
.copy ol.steps{margin:0 0 1.4rem;padding-left:1.4rem;display:grid;gap:.75rem;max-width:66ch;color:var(--dust)}
.copy ol.steps li::marker{color:var(--ion);font-family:"Space Grotesk",sans-serif;font-weight:600}
.copy ol.steps li strong{color:var(--starlight);font-weight:500}

.callout{border:1px solid rgba(53,225,212,.4);border-radius:var(--radius);padding:1.4rem 1.5rem;margin:0 0 2.2rem;
  background:linear-gradient(160deg,rgba(20,60,70,.45),rgba(12,18,44,.7));max-width:70ch}
.copy .callout h2{font-size:var(--step-1);margin:0 0 .6rem}
.copy .callout p{margin:0;color:var(--starlight)}

.table-wrap{overflow-x:auto;margin:0 0 1.4rem;max-width:100%;-webkit-overflow-scrolling:touch}
table.data{border-collapse:collapse;width:100%;min-width:480px;font-size:var(--step--1)}
table.data caption{text-align:left;color:var(--dust);padding-bottom:.6rem;font-size:.82rem}
table.data th,table.data td{border-top:1px solid var(--line);padding:.75rem .9rem .75rem 0;text-align:left;vertical-align:top}
table.data thead th{color:var(--ion);font-family:"Space Grotesk",sans-serif;font-weight:500;border-top:0}
table.data tbody th{color:var(--starlight);font-weight:500;width:34%}
table.data td{color:var(--dust)}

.sources{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}
.copy .sources h2{margin-top:0}
.source-list{margin:0;padding-left:1.2rem;display:grid;gap:.45rem;font-size:var(--step--1);color:var(--dust)}
.source-list a{color:var(--ion);overflow-wrap:anywhere}

.guide-aside h2 + ul{margin-bottom:1.6rem}
.mini-toc ul{list-style:none;margin:0 0 2rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem .9rem;font-size:var(--step--1)}
.mini-toc a{color:var(--ion)}

.checklist{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.7rem;max-width:68ch}
.checklist li{position:relative;padding-left:2rem;color:var(--dust)}
.checklist li::before{content:"";position:absolute;left:0;top:.2em;width:1.05rem;height:1.05rem;border:1.5px solid var(--ion);border-radius:4px}

.aside ul.facts li{color:var(--dust);font-size:var(--step--1)}
.aside ul.facts strong{color:var(--starlight);font-weight:500}

.guide-grid .svc{grid-column:span 2}
@media (max-width:1000px){.guide-grid .svc{grid-column:span 1}}

/* ---------- tenant self-check ---------- */
.sc-privacy{border-left:2px solid var(--ion);padding-left:1rem}
.selfcheck{display:block;margin-top:1.5rem}
.copy h2.sc-area{margin:2.4rem 0 .4rem;font-size:var(--step-2)}
.sc-q{border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem 1rem;margin:1rem 0 0;min-width:0;
  background:rgba(18,26,58,.35)}
.sc-q legend{padding:0 .4rem;margin-left:-.4rem;font-family:"Space Grotesk",sans-serif;font-weight:500;font-size:var(--step-0);color:var(--starlight);max-width:100%;white-space:normal}
.sc-num{color:var(--ion)}
.sc-opts{display:flex;flex-wrap:wrap;gap:.5rem .6rem;margin:.8rem 0}
.sc-opt{display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:.45rem .9rem;border:1px solid var(--line);border-radius:999px;
  color:var(--starlight);font-size:var(--step--1);cursor:pointer}
.sc-opt input{width:1rem;height:1rem;margin:0;padding:0;border:0;background:none;box-shadow:none;accent-color:#35E1D4}
.sc-opt:has(input:checked){border-color:var(--ion);background:rgba(53,225,212,.1)}
.sc-opt:has(input:focus-visible){outline:2px solid var(--ion);outline-offset:2px}
.copy .sc-q p{font-size:var(--step--1);margin-bottom:.5rem}
.copy .sc-fix{margin-bottom:0}
.copy .sc-guide{margin:.5rem 0 0;font-size:var(--step--1);color:var(--dust)}
.sc-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
.sc-results{margin-top:2.4rem;padding:1.6rem 1.5rem;border:1px solid rgba(53,225,212,.45);border-radius:var(--radius);
  background:linear-gradient(160deg,rgba(20,60,70,.5),rgba(12,18,44,.8))}
.copy .sc-results h2{margin-top:0}
.sc-results h2:focus{outline:none}
.sc-tier{margin-top:1.6rem}
.copy .sc-tier h3{margin:0 0 .3rem}
.copy .sc-tier-note{font-size:var(--step--1)}
.sc-list{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.9rem}
.sc-list li{border-top:1px solid var(--line);padding-top:.8rem}
.copy .sc-item-head{color:var(--starlight);font-weight:500;margin-bottom:.3rem}
.copy .sc-list p{margin-bottom:.2rem}
.sc-tag{display:inline-block;font-family:"Space Grotesk",sans-serif;font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
  padding:.1rem .5rem;border-radius:6px;border:1px solid var(--amber);color:var(--amber);vertical-align:.1em}
.copy .sc-cta{margin-top:1.6rem;color:var(--starlight)}
.copy .sc-skipped{font-size:var(--step--1)}

/* ---------- print (handover checklist and self-check) ---------- */
@media print{
  .sky,.glow,.masthead,footer,.cta-band,.crumbs,.aside,.no-print,.skip,.sc-actions{display:none!important}
  body{background:#fff!important;color:#000!important;font-size:11pt}
  .page-hero,.band,.band-tight{padding-block:.6rem!important}
  .page-hero h1{font-size:20pt;max-width:none}
  .lede,.guide-meta,.copy p,.copy li,.checklist li,.source-list,table.data td,table.data th,.sc-q p{color:#000!important}
  .copy h2,.copy h3,.kicker,.sc-q legend,.sc-num,.sc-opt{color:#000!important}
  .copy a,.source-list a{color:#000!important;text-decoration:underline}
  .cols{display:block}
  .checklist li{break-inside:avoid}
  .checklist li::before{border-color:#000}
  .callout,.sc-q,.sc-results{background:none!important;border-color:#999!important}
  .copy h2{break-after:avoid}
}

/* ---------- endpoint specialist repositioning (October 2026) ---------- */
.core-grid .svc-feature{grid-column:span 6}
.core-grid .svc-feature ul{grid-template-columns:1fr 1fr;column-gap:2rem}
.support-grid .svc{grid-column:span 3}
.support-head{margin:3.2rem 0 1.4rem}
.support-head h3{font-size:var(--step-1)}
.support-head p{color:var(--dust);font-size:var(--step--1);max-width:60ch;margin-top:.5rem}
@media (max-width:1000px){.core-grid .svc-feature,.support-grid .svc{grid-column:span 1}.core-grid .svc-feature ul{grid-template-columns:1fr}}
@media (min-width:621px) and (max-width:1000px){.core-grid .svc-feature{grid-column:span 2}}

/* ---------- enquiry form: field errors (shared validator in jinba.FORM_JS) ---------- */
input.field-error,select.field-error,textarea.field-error{border-color:var(--amber)!important;box-shadow:0 0 0 2px var(--amber)!important}
.field-msg{margin:.35rem 0 0;font-size:.85rem;font-weight:600;line-height:1.35;color:var(--amber)}
.field-msg:empty{display:none}
