/* ═══════════════════════════════════════════════════════════════
   SKYFLEX 2 — one design system.
   Cinematic industrial: real deliverable renders, annotated data,
   restrained precise motion. Tokens drive everything.
   ═══════════════════════════════════════════════════════════════ */

/* ---------- 0. Tokens ---------- */
:root{
  --ink:#0E1726;          /* near-black, blue-biased */
  --ink-2:#3D4C63;        /* muted body on light */
  --paper:#FFFFFF;        /* light section ground */
  --paper-2:#EFF3F8;      /* alt light ground */
  --navy:#0B1322;         /* dark section ground */
  --navy-2:#101B2E;       /* raised dark surface */
  --line:rgba(14,23,38,.12);
  --line-inv:rgba(255,255,255,.10);
  --accent:#2E7FD6;
  --accent-deep:#2368B4;
  --data:#7FC0FF;         /* mono/data text on dark */
  --white:#FFFFFF;
  --text-inv:#E8F0FA;
  --text-inv-2:rgba(216,229,244,.78);
  --elev:linear-gradient(90deg,#2563EB 0%,#22C1A0 34%,#EAB308 67%,#EF4444 100%); /* LiDAR elevation ramp */
  --sans:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --disp:'Space Grotesk',var(--sans);
  --mono:ui-monospace,'SF Mono',SFMono-Regular,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  --r-sm:10px; --r-md:14px; --r-lg:18px;
  --shadow-stage:0 34px 90px -34px rgba(2,8,18,.7);
  --shadow-card:0 14px 44px -18px rgba(10,22,40,.28);
  --wrap:1200px;
  --pad:clamp(20px,4.5vw,44px);
  --header-h:76px;
}

/* ---------- 1. Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
html,body{overflow-x:clip;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{margin:0;font:400 16.5px/1.65 var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-deep);}
button{font:inherit;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--disp);font-weight:600;line-height:1.08;letter-spacing:-.015em;color:var(--ink);margin:0;}
p{margin:0 0 1em;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px;}
[id]{scroll-margin-top:calc(var(--header-h) + 12px);}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.sx-wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}

/* ---------- 2. Type roles ---------- */
.sx-h1{font-size:clamp(2.5rem,1.35rem + 4.2vw,4.4rem);line-height:1.03;}
.sx-h2{font-size:clamp(1.95rem,1.25rem + 2.3vw,2.9rem);}
.sx-h3{font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem);}
.sx-lede{font-size:clamp(1.05rem,.98rem + .4vw,1.24rem);line-height:1.6;color:var(--ink-2);max-width:56ch;}
.sx-label{display:inline-block;font:700 12px/1.4 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);}
.sx-label::after{content:"";display:block;width:30px;height:2px;margin-top:7px;background:var(--elev);border-radius:1px;}
.sx-on-dark .sx-h1,.sx-on-dark .sx-h2,.sx-on-dark .sx-h3{color:var(--white);}
.sx-on-dark .sx-lede{color:var(--text-inv-2);}
.sx-mono{font-family:var(--mono);font-size:.86em;letter-spacing:.01em;}

/* ---------- 3. Buttons ---------- */
.sx-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 27px;
  border-radius:var(--r-sm);border:0;background:var(--accent);color:#fff !important;font:600 15.5px/1.2 var(--sans);
  transition:background .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);}
.sx-btn:hover{background:var(--accent-deep);}
.sx-btn:active{transform:scale(.97);}
.sx-btn--ghost{background:rgba(10,17,28,.55);border:1px solid rgba(255,255,255,.5);color:#fff !important;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.sx-btn--ghost:hover{background:rgba(10,17,28,.72);border-color:rgba(255,255,255,.72);}
.sx-btn--light{background:#fff;color:var(--ink) !important;}
.sx-btn--light:hover{background:var(--paper-2);}
.sx-btn--line{background:transparent;border:1.5px solid var(--line);color:var(--ink) !important;}
.sx-btn--line:hover{border-color:var(--ink-2);background:#fff;}

/* ---------- 4. Header ---------- */
.sx-header{position:fixed;inset:0 0 auto 0;z-index:60;height:var(--header-h);display:flex;align-items:center;
  background:linear-gradient(180deg,rgba(6,11,20,.72) 0%,rgba(6,11,20,.28) 70%,transparent 100%);
  transition:background .35s var(--ease),box-shadow .35s var(--ease);}
.sx-header.is-solid{background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 1px 0 var(--line),0 14px 40px -26px rgba(10,22,40,.18);}
.sx-header.is-solid .sx-brand{color:var(--ink) !important;}
.sx-header.is-solid .sx-nav a{color:var(--ink-2) !important;}
.sx-header.is-solid .sx-nav a:hover{background:var(--paper-2);color:var(--ink) !important;}
.sx-header.is-solid .sx-nav .current-menu-item > a,.sx-header.is-solid .sx-nav .current_page_item > a{background:var(--paper-2);color:var(--ink) !important;}
.sx-header.is-solid .sx-nav-toggle{border-color:var(--line);background:var(--paper-2);}
.sx-header.is-solid .sx-nav-toggle span{background:var(--ink);}
.sx-header__row{display:flex;align-items:center;gap:26px;width:100%;}
.sx-brand{display:inline-flex;align-items:center;color:#fff !important;font:700 19px/1 var(--disp);letter-spacing:.14em;
  border:2px solid currentColor;border-radius:3px;padding:8px 14px 7px;}
.sx-brand span{transform:translateY(.5px);}
.sx-nav{margin-left:auto;}
.sx-nav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;}
.sx-nav a{display:inline-block;padding:9px 14px;border-radius:9px;color:rgba(228,238,250,.88) !important;font:500 15px/1.2 var(--sans);transition:background .2s var(--ease),color .2s var(--ease);}
.sx-nav a:hover{background:rgba(255,255,255,.1);color:#fff !important;}
.sx-nav .current-menu-item > a,.sx-nav .current_page_item > a{background:rgba(255,255,255,.13);color:#fff !important;}
.sx-nav .sub-menu{display:none;}
.sx-header__cta{flex:none;}
.sx-nav-toggle{display:none;flex:none;width:46px;height:46px;border:1px solid var(--line-inv);border-radius:10px;background:rgba(255,255,255,.06);}
.sx-nav-toggle span{display:block;width:20px;height:2px;margin:4px auto;background:#fff;border-radius:1px;transition:transform .3s var(--ease),opacity .3s var(--ease);}
.sx-mobile{position:fixed;inset:0;z-index:70;background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  display:flex;flex-direction:column;padding:26px;transform:translateX(102%);transition:transform .4s var(--ease);}
.sx-mobile.is-open{transform:none;}
.sx-mobile__top{display:flex;align-items:center;justify-content:space-between;}
.sx-mobile .sx-brand{color:var(--ink) !important;}
.sx-mobile__close{width:46px;height:46px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);font-size:22px;line-height:1;}
.sx-mobile nav{margin-top:34px;}
.sx-mobile ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.sx-mobile a{display:block;padding:15px 10px;border-bottom:1px solid var(--line);color:var(--ink) !important;font:600 21px/1.2 var(--disp);}
.sx-mobile .sx-btn{margin-top:26px;}
@media(max-width:920px){.sx-nav,.sx-header__cta{display:none;}.sx-nav-toggle{display:block;margin-left:auto;}}

/* ---------- 5. Hero ---------- */
.sx-hero{position:relative;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(118deg,#0b131f 0%,#15223a 52%,#2a4266 100%);}
.sx-hero--tall{min-height:max(600px,92svh);}
.sx-hero--page{min-height:clamp(400px,52vh,560px);}
.sx-hero__bg{position:absolute;left:0;right:0;top:-12%;height:124%;z-index:0;background-size:cover;background-position:var(--hero-pos,60% 40%);background-repeat:no-repeat;will-change:transform;}
.sx-hero__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(6,11,20,.62) 0%,rgba(6,11,20,.42) 30%,rgba(6,11,20,.18) 55%,rgba(6,11,20,0) 78%),
             linear-gradient(180deg,rgba(6,11,20,.4) 0%,rgba(6,11,20,0) 22%),
             linear-gradient(180deg,rgba(6,11,20,0) 46%,rgba(6,11,20,.66) 100%);}
.sx-hero__grid{position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:linear-gradient(rgba(125,175,225,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(125,175,225,.05) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:linear-gradient(105deg,#000 0%,rgba(0,0,0,.4) 52%,transparent 82%);
          mask-image:linear-gradient(105deg,#000 0%,rgba(0,0,0,.4) 52%,transparent 82%);}
.sx-hero__inner{position:relative;z-index:2;width:100%;padding-top:calc(var(--header-h) + clamp(30px,7vh,90px));padding-bottom:clamp(28px,5vh,54px);}
.sx-hero .sx-label{color:rgba(210,228,246,.92);text-shadow:0 1px 8px rgba(4,8,14,.6);}
.sx-hero__title{color:#fff;max-width:19ch;margin-top:16px;
  text-shadow:0 1px 2px rgba(4,8,14,.7),0 2px 14px rgba(4,8,14,.5),0 6px 40px rgba(4,8,14,.4);}
.sx-hero__sub{margin:19px 0 0;font-size:clamp(1.04rem,.96rem + .42vw,1.24rem);line-height:1.58;color:#E9F0F9;max-width:47ch;
  text-shadow:0 1px 2px rgba(4,8,14,.62),0 2px 16px rgba(4,8,14,.45);}
.sx-hero__actions{margin-top:29px;display:flex;flex-wrap:wrap;align-items:center;gap:13px 20px;}
.sx-hero__crumb,.sx-hero .breadcrumb{position:relative;z-index:2;font-size:13.5px;color:rgba(212,227,243,.85);}
.sx-hero .breadcrumb a{color:rgba(212,227,243,.85);}
.sx-hero .breadcrumb a:hover{color:#fff;}
.sx-hero .breadcrumb-sep{margin:0 7px;color:rgba(212,227,243,.45);}
/* credential chips (mono, industrial) */
.sx-chips{display:flex;flex-wrap:wrap;gap:9px 22px;margin-top:30px;padding-top:19px;border-top:1px solid rgba(255,255,255,.16);}
.sx-chip{display:inline-flex;align-items:center;gap:8px;font:600 11.5px/1.4 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:rgba(222,234,247,.92);text-shadow:0 1px 6px rgba(4,8,14,.6);}
.sx-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px rgba(90,169,255,.8);}


/* ---------- 6. Reveal system (one, with failsafes) ---------- */
html.sx-anim .sx-r{opacity:0;transform:translateY(24px);transition:opacity .65s var(--ease),transform .65s var(--ease);transition-delay:var(--d,0ms);}
html.sx-anim .sx-r.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){html.sx-anim .sx-r{opacity:1;transform:none;transition:none;}}

/* ---------- 7. Sections ---------- */
.sx-sec{padding:clamp(72px,9.5vw,128px) 0;}
.sx-sec--dark{background:var(--navy);}
.sx-sec--alt{background:var(--paper-2);}
.sx-sec__head{max-width:760px;margin-bottom:clamp(34px,5vw,58px);}
.sx-sec__head .sx-h2{margin-top:13px;}
.sx-sec__head .sx-lede{margin-top:15px;}

/* ---------- 8. Annotated deliverable stage (signature) ---------- */
.sx-stage{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:0 26px 70px -30px rgba(10,22,40,.35);background:#0a1220;}
.sx-stage::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--elev);z-index:5;opacity:.85;}
.sx-stage img{width:100%;height:auto;display:block;}
.sx-stage__scan{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(130,185,240,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(130,185,240,.05) 1px,transparent 1px);background-size:42px 42px;}
.sx-pin{position:absolute;display:flex;align-items:center;z-index:4;transform:translateY(-50%);pointer-events:none;}
.sx-pin--left{flex-direction:row-reverse;}
.sx-pin__dot{position:relative;flex:none;width:11px;height:11px;border-radius:50%;background:#5aa9ff;box-shadow:0 0 0 4px rgba(90,169,255,.22),0 0 14px rgba(90,169,255,.85);
  opacity:0;transform:scale(.35);transition:opacity .3s ease,transform .35s var(--ease);}
.sx-pin__dot::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1px solid rgba(90,169,255,.6);animation:sxPulse 2.6s ease-out infinite;}
.sx-pin__conn{flex:none;height:1.5px;width:0;background:linear-gradient(90deg,rgba(90,169,255,.95),rgba(90,169,255,.35));transition:width .55s var(--ease);}
.sx-pin--right .sx-pin__conn{margin-left:3px;}
.sx-pin--left .sx-pin__conn{margin-right:3px;background:linear-gradient(270deg,rgba(90,169,255,.95),rgba(90,169,255,.35));}
.sx-pin__tag{flex:none;background:rgba(8,13,22,.84);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  border:1px solid rgba(120,170,225,.32);border-radius:9px;padding:7px 12px;white-space:nowrap;
  opacity:0;transform:translateX(-7px);transition:opacity .45s ease,transform .45s var(--ease);}
.sx-pin--left .sx-pin__tag{transform:translateX(7px);text-align:right;}
.sx-pin__tag b{display:block;font:700 11px/1.25 var(--sans);letter-spacing:.03em;color:#fff;}
.sx-pin__tag em{display:block;font-family:var(--mono);font-style:normal;font-size:12px;color:var(--data);margin-top:3px;}
.sx-stage.is-on .sx-pin__dot{opacity:1;transform:none;transition-delay:calc(var(--i,0)*.14s);}
.sx-stage.is-on .sx-pin__conn{width:clamp(30px,3.6vw,58px);transition-delay:calc(var(--i,0)*.14s + .12s);}
.sx-stage.is-on .sx-pin__tag{opacity:1;transform:none;transition-delay:calc(var(--i,0)*.14s + .32s);}
@keyframes sxPulse{0%{transform:scale(1);opacity:.65}100%{transform:scale(2.7);opacity:0}}
.sx-stage__list{display:none;list-style:none;margin:20px 0 0;padding:0;}
@media(prefers-reduced-motion:reduce){.sx-pin__conn{transition:none}.sx-pin__tag,.sx-pin__dot{opacity:1;transform:none}.sx-pin__dot::after{animation:none}}
@media(max-width:820px){
  .sx-pin__conn,.sx-pin__tag{display:none;}
  .sx-pin__dot{opacity:1;transform:none;}
  .sx-stage__list{display:block;border-top:1px solid var(--line-inv);}
  .sx-stage__list li{display:flex;align-items:baseline;gap:11px;padding:12px 2px;border-bottom:1px solid var(--line-inv);}
  .sx-stage__list li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px rgba(90,169,255,.7);transform:translateY(-1px);}
  .sx-stage__list b{font:700 14px/1.3 var(--sans);color:#fff;}
  .sx-stage__list em{font-family:var(--mono);font-style:normal;font-size:13px;color:var(--data);margin-left:auto;text-align:right;}
}
.sx-stage-cap{margin:14px 2px 0;font-size:13.5px;color:var(--ink-2);}
/* Full-bleed parallax stage — WINDOW model: the figure is a fixed-height
   viewport; the unscaled image layer (with its pins, feature-locked) travels
   vertically behind it. No upscaling = native sharpness. */
.sx-stage--bleed{width:100vw;position:relative;left:50%;margin-left:-50vw;border-radius:0;border-left:0;border-right:0;}
@media(min-width:821px){
  .sx-stage--bleed{height:clamp(480px,74vh,780px);}
  .sx-stage--bleed .sx-stage__plx{position:absolute;left:0;right:0;top:0;will-change:transform;}
}
.sx-stage__plx{position:relative;}
.sx-stage--bleed::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;
  box-shadow:inset 0 26px 34px -26px rgba(2,8,18,.55),inset 0 -26px 34px -26px rgba(2,8,18,.55);}
@media(prefers-reduced-motion:reduce){.sx-stage__plx{transform:none !important;}}

/* ---------- 9. Cards ---------- */
.sx-grid{display:grid;gap:24px;grid-template-columns:repeat(12,1fr);}
.sx-grid > *{grid-column:span 4;}
.sx-grid > .is-wide{grid-column:span 6;}
.sx-grid > .is-full{grid-column:1/-1;}
@media(max-width:980px){.sx-grid > *,.sx-grid > .is-wide{grid-column:span 6;}}
@media(max-width:640px){.sx-grid > *,.sx-grid > .is-wide{grid-column:1/-1;}}
.sx-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.sx-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);}
.sx-card:active{transform:scale(.99);}
.sx-card__media{display:block;width:100%;aspect-ratio:16/10;background-size:cover;background-position:center;transition:transform .5s var(--ease);}
.sx-card:hover .sx-card__media{transform:scale(1.05);}
.sx-card__media-clip{overflow:hidden;flex:none;}
.sx-card__body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px;}
.sx-card__title{font-size:19px;color:var(--ink);}
.sx-card__desc{margin:9px 0 16px;font-size:14.5px;line-height:1.6;color:var(--ink-2);flex:1;}
.sx-card__go{display:inline-flex;align-items:center;gap:7px;font:600 14px/1 var(--sans);color:var(--accent);}
.sx-card__go svg{transition:transform .25s var(--ease);}
.sx-card:hover .sx-card__go svg{transform:translateX(3px);}
/* dark photo tile (industries) */
.sx-tile{position:relative;display:flex;align-items:flex-end;min-height:340px;border-radius:var(--r-md);overflow:hidden;
  background-size:cover;background-position:center;transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.sx-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,13,22,.05) 30%,rgba(8,13,22,.82) 100%);}
.sx-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-stage);}
.sx-tile__body{position:relative;z-index:1;display:block;padding:22px 24px;}
.sx-tile__title{display:block;color:#fff;font-size:22px;font-family:var(--disp);font-weight:600;letter-spacing:-.015em;}
.sx-tile__desc{display:block;margin:7px 0 0;font-size:14.5px;line-height:1.55;color:rgba(226,236,248,.88);}

/* ---------- 10. Spec rows / index rows ---------- */
.sx-spec{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--line-inv);}
.sx-spec li{display:flex;gap:16px;align-items:baseline;padding:13px 2px;border-bottom:1px solid var(--line-inv);}
.sx-spec .k{flex:none;width:118px;font:700 11px/1.5 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--data);}
.sx-spec .v{font-size:15.5px;color:var(--text-inv);}
.sx-sec--light .sx-spec{border-color:var(--line);}
.sx-sec--light .sx-spec li{border-color:var(--line);}
.sx-sec--light .sx-spec .k{color:var(--accent);}
.sx-sec--light .sx-spec .v{color:var(--ink);}
.sx-rows{border-top:1px solid var(--line);}
.sx-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr) auto;gap:18px;align-items:center;padding:22px 4px;border-bottom:1px solid var(--line);color:inherit !important;transition:background .2s var(--ease);}
.sx-row:hover{background:#fff;}
.sx-row h3{font-size:20px;}
.sx-row p{margin:0;font-size:14.5px;color:var(--ink-2);}
.sx-row .sx-card__go{justify-self:end;}
@media(max-width:760px){.sx-row{grid-template-columns:1fr;gap:7px;}.sx-row .sx-card__go{justify-self:start;}}

/* ---------- 11. Process (numbered steps) ---------- */
.sx-step{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(26px,4.5vw,64px);align-items:center;
  padding:clamp(28px,4vh,44px) 0;border-top:1px solid var(--line);}
.sx-step:first-of-type{border-top:0;padding-top:0;}
.sx-step__num{position:absolute;top:clamp(18px,3vh,30px);right:0;font:700 clamp(52px,7vw,88px)/1 var(--disp);color:var(--accent);opacity:.14;pointer-events:none;}
.sx-step__media{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-card);}
.sx-step__media img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.sx-step__label{font:700 11.5px/1.4 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--accent);}
.sx-step__title{margin-top:9px;font-size:clamp(20px,2.3vw,27px);color:var(--ink);}
.sx-step__body{margin:11px 0 0;font-size:15.5px;line-height:1.65;color:var(--ink-2);}
.sx-step__tags{margin-top:13px;font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;color:var(--accent-deep);opacity:.9;}
.sx-step:nth-child(even) .sx-step__media{order:2;}
@media(max-width:860px){.sx-step{grid-template-columns:1fr;}.sx-step:nth-child(even) .sx-step__media{order:0;}}

/* ---------- 12. Content prose + sidebar ---------- */
.sx-content{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(30px,4.5vw,64px);align-items:start;}
@media(max-width:980px){.sx-content{grid-template-columns:1fr;}}
.sx-prose{font-size:16.5px;line-height:1.72;color:var(--ink-2);}
.sx-prose h2{font-size:clamp(1.5rem,1.2rem + 1vw,1.95rem);color:var(--ink);margin:1.9em 0 .6em;padding-top:.2em;}
.sx-prose h2:first-child{margin-top:0;}
.sx-prose h2::after{content:"";display:block;width:38px;height:2.5px;margin-top:10px;background:var(--elev);border-radius:2px;}
.sx-prose h3{font-size:1.2rem;color:var(--ink);margin:1.5em 0 .5em;}
.sx-prose ul{list-style:none;margin:0 0 1.2em;padding:0;}
.sx-prose ul li{position:relative;padding:6px 0 6px 32px;}
.sx-prose ul li::before{content:"";position:absolute;left:2px;top:12px;width:15px;height:15px;border-radius:50%;background:rgba(46,127,214,.12);box-shadow:inset 0 0 0 1.5px var(--accent);}
.sx-prose ul li::after{content:"";position:absolute;left:6.2px;top:16px;width:7px;height:4.5px;border-left:1.8px solid var(--accent);border-bottom:1.8px solid var(--accent);transform:rotate(-45deg);}
.sx-prose ol{padding-left:1.3em;}
.sx-prose strong{color:var(--ink);}
.sx-prose blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:3px solid var(--accent);color:var(--ink);font-family:var(--disp);font-size:1.12em;}
.sx-prose dl{margin:0 0 1.6em;}
.sx-prose dt{font-family:var(--disp);font-weight:600;font-size:1.06em;color:var(--ink);padding:14px 0 4px 16px;position:relative;}
.sx-prose dt::before{content:"";position:absolute;left:0;top:21px;width:7px;height:7px;border-radius:2px;background:var(--accent);}
.sx-prose dd{margin:0 0 6px 16px;padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--ink-2);}
.sx-prose dl:last-of-type dd:last-child{border-bottom:0;}
.sx-side{position:sticky;top:calc(var(--header-h) + 20px);display:flex;flex-direction:column;gap:18px;}
.sx-side__cta{background:var(--navy);border-radius:var(--r-md);padding:26px;color:var(--text-inv);}
.sx-side__cta h3{color:#fff;font-size:20px;}
.sx-side__cta p{margin:9px 0 17px;font-size:14.5px;color:var(--text-inv-2);}
.sx-side__facts{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:24px 26px;}
.sx-side__facts h3{font-size:16px;margin-bottom:9px;}
.sx-side__facts ul{list-style:none;margin:0;padding:0;}
.sx-side__facts li{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14.5px;color:var(--ink-2);border-bottom:1px solid var(--line);}
.sx-side__facts li:last-child{border-bottom:0;}
.sx-side__facts svg{flex:none;stroke:var(--accent);}

/* ---------- 13. CTA band ---------- */
.sx-cta{position:relative;background:var(--paper-2);border-top:1px solid var(--line);padding:clamp(44px,6.5vw,84px) 0;}
.sx-cta__bg{display:none;}
.sx-cta__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,7fr) auto;gap:26px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);
  padding:clamp(34px,5vw,58px) clamp(26px,4vw,56px);overflow:hidden;}
.sx-cta__inner::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--elev);opacity:.9;}
.sx-cta__title{color:var(--ink);font-size:clamp(1.8rem,1.3rem + 2vw,2.7rem);max-width:22ch;}
.sx-cta__sub{margin:12px 0 0;color:var(--ink-2);font-size:16px;max-width:52ch;}
.sx-cta__actions{display:flex;flex-wrap:wrap;gap:13px;}
.sx-cta .sx-btn--light{background:var(--accent);color:#fff !important;}
.sx-cta .sx-btn--light:hover{background:var(--accent-deep);}
.sx-cta .sx-btn--ghost{background:#fff;border:1.5px solid var(--line);color:var(--ink) !important;-webkit-backdrop-filter:none;backdrop-filter:none;text-shadow:none;}
.sx-cta .sx-btn--ghost:hover{border-color:var(--ink-2);background:#fff;}
@media(max-width:860px){.sx-cta__inner{grid-template-columns:1fr;}}

/* ---------- 14. Footer ---------- */
.sx-footer{background:#fff;color:var(--ink-2);border-top:1px solid var(--line);}
.sx-footer__grid{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2.6fr));gap:34px;padding:clamp(52px,7vw,84px) 0 clamp(36px,5vw,60px);}
@media(max-width:980px){.sx-footer__grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.sx-footer__grid{grid-template-columns:1fr;}}
.sx-footer__brand img{max-width:210px;}
.sx-footer__brand p{margin:16px 0 0;font-size:14.5px;line-height:1.6;max-width:34ch;}
.sx-footer__meta{margin-top:18px;font-size:14.5px;display:flex;flex-direction:column;gap:7px;}
.sx-footer__meta a{color:var(--ink);}
.sx-footer h2{color:var(--ink);font:700 12px/1.4 var(--sans);letter-spacing:.13em;text-transform:uppercase;margin-bottom:16px;}
.sx-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.sx-footer ul a{color:var(--ink-2);font-size:14.5px;}
.sx-footer ul a:hover{color:var(--ink);}
.sx-footer__badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;}
.sx-badge{display:inline-block;padding:7px 13px;border-radius:999px;border:1px solid rgba(46,127,214,.35);background:rgba(46,127,214,.08);color:var(--accent-deep);font:600 12px/1.3 var(--sans);}
.sx-footer__legal{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;padding:20px 0 26px;border-top:1px solid var(--line);font-size:13.5px;}
.sx-footer__legal a{color:var(--ink-2);}
.sx-footer__legal a:hover{color:var(--ink);}
.sx-social{display:flex;gap:9px;margin-top:18px;}
.sx-social a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);color:var(--ink-2);transition:background .2s var(--ease),color .2s var(--ease);}
.sx-social a:hover{background:var(--paper-2);color:var(--ink);}

/* ---------- 15. Contact / quote form ---------- */
#skyflex-quote-form label{display:block;font:600 13px/1.4 var(--sans);letter-spacing:.02em;color:var(--ink);margin:0 0 6px;}
#skyflex-quote-form input:not([type=checkbox]):not([type=radio]),#skyflex-quote-form select,#skyflex-quote-form textarea{
  width:100%;padding:13px 15px;margin-bottom:16px;border:1.5px solid var(--line);border-radius:var(--r-sm);
  background:#fff;font:400 15.5px/1.4 var(--sans);color:var(--ink);transition:border-color .2s var(--ease),box-shadow .2s var(--ease);}
#skyflex-quote-form input:focus,#skyflex-quote-form select:focus,#skyflex-quote-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(46,127,214,.16);}
#skyflex-quote-form textarea{min-height:130px;resize:vertical;}
#skyflex-quote-form button[type=submit]{min-height:52px;padding:0 27px;border-radius:var(--r-sm);border:0;background:var(--accent);color:#fff;font:600 15.5px/1.2 var(--sans);transition:background .25s var(--ease),transform .25s var(--ease);}
#skyflex-quote-form button[type=submit]:hover{background:var(--accent-deep);}
#skyflex-quote-form button[type=submit]:active{transform:scale(.97);}
#skyflex-quote-form.is-pending button[type=submit]{opacity:.6;pointer-events:none;}
#skyflex-quote-form.is-submitted .qf-fields{display:none;}
.qf-error{background:#FDECEC;border:1px solid #F3B8B8;color:#8C2626;border-radius:var(--r-sm);padding:12px 15px;margin-bottom:16px;font-size:14.5px;}
.qf-success{background:#EAF7F0;border:1px solid #B5E0C8;color:#1C6B43;border-radius:var(--r-md);padding:22px 24px;font-size:15.5px;}
/* honeypot */
#skyflex-quote-form [name=company_url]{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0;}

/* ---------- 16. 404 + utilities ---------- */
.sx-404{min-height:70vh;display:flex;align-items:center;text-align:left;}
.sx-404 .sx-mono{color:var(--accent);}
.sx-divider{height:1px;background:var(--line);border:0;margin:0;}
.sx-fig-graphic{display:block;margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-card);padding:clamp(12px,2.2vw,28px);}
.sx-fig-graphic img{width:100%;height:auto;display:block;}
@media(max-width:700px){.sx-hide-sm{display:none !important;}}
.sx-center{text-align:center;}
.sx-mt-0{margin-top:0!important}


/* ============ SERVICES MEGA-MENU ============ */
.sx-has-mega{position:static;}
.sx-has-mega > a{position:relative;}
.sx-has-mega > a::after{content:"";display:inline-block;width:.42em;height:.42em;margin-left:.5em;vertical-align:middle;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.15em) rotate(45deg);
  transition:transform .22s var(--ease);opacity:.85;}
.sx-has-mega:hover > a::after,.sx-has-mega:focus-within > a::after{transform:translateY(.05em) rotate(225deg);}
.sx-mega{position:absolute;top:100%;left:50%;width:min(940px,95vw);text-align:left;
  transform:translateX(-50%) translateY(10px);
  background:#fff;border:1px solid var(--line);border-radius:16px;
  box-shadow:0 34px 70px -26px rgba(11,19,34,.42),0 6px 16px rgba(11,19,34,.08);
  padding:22px;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s var(--ease),transform .2s var(--ease);z-index:65;}
.sx-mega::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px;}
.sx-mega::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:16px 16px 0 0;background:var(--elev);opacity:.9;}
.sx-has-mega:hover .sx-mega,.sx-has-mega:focus-within .sx-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.sx-mega__inner{display:grid;grid-template-columns:repeat(4,1fr) 1.2fr;gap:14px 24px;}
.sx-mega__h{display:block;font:700 10.5px/1 var(--disp);letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent-deep);margin-bottom:11px;padding-bottom:9px;border-bottom:1px solid var(--line);}
.sx-mega__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:stretch;gap:1px;}
.sx-header .sx-mega__col a{display:block;padding:7px 9px;border-radius:8px;color:var(--ink-2) !important;
  font:500 13.5px/1.3 var(--sans);transition:background .16s var(--ease),color .16s var(--ease);}
.sx-header .sx-mega__col a:hover{background:var(--paper-2);color:var(--ink) !important;}
.sx-mega__rail{background:var(--navy);border-radius:12px;padding:17px 17px 18px;display:flex;flex-direction:column;gap:9px;}
.sx-mega__eyebrow{font:700 10.5px/1.3 var(--disp);letter-spacing:.12em;text-transform:uppercase;color:var(--data);}
.sx-mega__rail p{margin:0;font:400 12.5px/1.55 var(--sans);color:rgba(228,238,250,.82);}
.sx-header .sx-mega__rail a.sx-mega__cta{margin-top:auto;display:inline-block;padding:9px 14px;border-radius:9px;
  background:var(--accent);color:#fff !important;font:600 13px/1 var(--sans);text-align:center;transition:background .2s var(--ease);}
.sx-header .sx-mega__rail a.sx-mega__cta:hover{background:var(--accent-deep);}

/* mobile services accordion */
.sx-has-msub > a{position:relative;}
.sx-has-msub > a::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font:400 22px/1 var(--sans);color:var(--ink-2);}
.sx-has-msub.is-open > a::after{content:"\2013";}
.sx-msub{display:none;padding:4px 0 12px 14px;margin:2px 0 4px;border-left:2px solid var(--line);}
.sx-has-msub.is-open .sx-msub{display:block;}
.sx-msub__h{display:block;font:700 10px/1 var(--disp);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);margin:13px 0 3px;}
.sx-mobile .sx-msub a{display:block;padding:7px 4px;color:var(--ink-2) !important;font:500 15px/1.25 var(--sans);}
.sx-mobile .sx-msub a.sx-msub__all{color:var(--accent-deep) !important;font-weight:700;margin-top:10px;}
@media(min-width:921px){.sx-msub{display:none !important;}}
