/* ============ TOKENS ============ */
:root{
  --void:#050910;
  --deep:#0b1524;
  --nephelo:#34a0db;
  --glow:#6fd2ff;
  --aurora:#7c6ff0;
  --mist:#9aaec6;
  --frost:#eef6fd;
  --glass-bg:rgba(255,255,255,.055);
  --glass-bg-strong:rgba(255,255,255,.085);
  --glass-line:rgba(160,210,255,.14);
  --glass-line-bright:rgba(160,210,255,.32);
  --font-display:'Sora',system-ui,sans-serif;
  --font-body:'Instrument Sans',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --rail:min(1180px,92vw);
  --ease-out:cubic-bezier(.22,.84,.36,1);
  /* Hero animation theme tokens — RGB triplets consumed by js/hero-constellation.js */
  --c-primary:52,160,219;
  --c-glow:111,210,255;
  --c-dim:26,58,90;
}

/* Gold theme — alternate hero animation palette (toggle to be wired later) */
:root[data-theme="gold"]{
  --c-primary:245,177,61;
  --c-glow:255,196,81;
  --c-dim:107,74,26;
}

/* ============ RESET / BASE ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background:var(--void);
  color:var(--mist);
  font-family:var(--font-body);
  font-size:1.0625rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
:focus-visible{outline:2px solid var(--glow);outline-offset:3px;border-radius:4px}
::selection{background:rgba(52,160,219,.35);color:var(--frost)}
.skip-link{position:fixed;top:-100px;left:16px;z-index:100;padding:.7rem 1.2rem;border-radius:12px;background:var(--deep);color:var(--frost);transition:top .2s}
.skip-link:focus{top:16px}

h1,h2,h3{font-family:var(--font-display);color:var(--frost);font-weight:600;line-height:1.12;letter-spacing:-.02em}

.rail{width:var(--rail);margin-inline:auto}

/* ============ ATMOSPHERE (orbs the glass refracts) ============ */
.atmosphere{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5}
.orb-a{width:55vmax;height:55vmax;left:-18vmax;top:-12vmax;background:radial-gradient(circle,rgba(52,160,219,.32),transparent 65%)}
.orb-b{width:48vmax;height:48vmax;right:-16vmax;top:34%;background:radial-gradient(circle,rgba(124,111,240,.22),transparent 65%)}
.orb-c{width:50vmax;height:50vmax;left:8vmax;bottom:-22vmax;background:radial-gradient(circle,rgba(111,210,255,.16),transparent 65%)}
@media (prefers-reduced-motion:no-preference){
  .orb-a{animation:drift-a 38s ease-in-out infinite alternate}
  .orb-b{animation:drift-b 46s ease-in-out infinite alternate}
  .orb-c{animation:drift-a 52s ease-in-out infinite alternate-reverse}
  @keyframes drift-a{to{transform:translate(9vmax,6vmax) scale(1.12)}}
  @keyframes drift-b{to{transform:translate(-8vmax,-7vmax) scale(.92)}}
}
.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.35;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ============ GLASS PRIMITIVE ============ */
.glass{
  background:var(--glass-bg);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  backdrop-filter:blur(18px) saturate(150%);
  border:1px solid var(--glass-line);
  border-radius:20px;
  position:relative;
}
.glass::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.12),rgba(255,255,255,0) 38%);
  opacity:.55;
}

/* ============ NAV ============ */
.nav{
  position:fixed;top:18px;left:50%;transform:translateX(-50%);
  width:var(--rail);max-width:1180px;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:.65rem .9rem .65rem 1.15rem;border-radius:999px;
  transition:background .4s,border-color .4s,box-shadow .4s;
}
.nav.scrolled{background:rgba(8,14,26,.72);border-color:var(--glass-line-bright);box-shadow:0 12px 40px rgba(0,0,0,.45)}
.nav-logo img{height:30px;width:auto}
.nav-links{display:flex;gap:.4rem;align-items:center;list-style:none}
.nav-links a{
  font-size:.92rem;font-weight:500;color:var(--mist);
  padding:.45rem .85rem;border-radius:999px;transition:color .25s,background .25s;
}
.nav-links a:hover{color:var(--frost);background:rgba(255,255,255,.07)}
.btn{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-display);font-weight:600;font-size:.95rem;letter-spacing:.01em;
  padding:.78rem 1.5rem;border-radius:999px;transition:transform .3s var(--ease-out),box-shadow .3s,background .3s;
  will-change:transform;
}
.btn-primary{
  background:linear-gradient(120deg,var(--nephelo),#2b7fc4 60%);color:#eaf6ff;
  box-shadow:0 0 0 1px rgba(111,210,255,.35) inset,0 10px 32px rgba(52,160,219,.35);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(111,210,255,.55) inset,0 16px 44px rgba(52,160,219,.5)}
.btn-ghost{
  color:var(--frost);border:1px solid var(--glass-line-bright);
  background:rgba(255,255,255,.04);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.btn-ghost:hover{transform:translateY(-2px);background:rgba(255,255,255,.09)}
.btn .arrow{transition:transform .3s var(--ease-out)}
.btn:hover .arrow{transform:translateX(4px)}
.nav .btn{padding:.55rem 1.2rem;font-size:.88rem}

.nav-burger{display:none;flex-direction:column;gap:5px;padding:.6rem;border-radius:12px}
.nav-burger span{display:block;width:20px;height:2px;background:var(--frost);border-radius:2px;transition:transform .3s,opacity .3s}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-mobile{
  position:fixed;top:84px;left:50%;transform:translateX(-50%) translateY(-12px);
  width:var(--rail);z-index:49;padding:1rem;border-radius:24px;
  background:rgba(8,14,26,.88);
  opacity:0;pointer-events:none;transition:opacity .3s,transform .3s var(--ease-out);
}
.nav-mobile.open{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.nav-mobile a{display:block;padding:.85rem 1rem;border-radius:14px;color:var(--frost);font-weight:500}
.nav-mobile a:hover{background:rgba(255,255,255,.07)}

/* ============ HERO ============ */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:8.5rem 0 5rem}
#nephelo-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero-inner{position:relative;z-index:1}
.eyebrow{
  font-family:var(--font-mono);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--glow);display:inline-flex;align-items:center;gap:.7rem;
}
.eyebrow::before{content:"";width:26px;height:1px;background:linear-gradient(90deg,transparent,var(--glow))}
.hero h1{
  font-size:clamp(2.7rem,7vw,5.4rem);font-weight:700;letter-spacing:-.035em;line-height:1.14;
  margin:1.4rem 0 1.6rem;max-width:13ch;
}
.em{
  font-style:italic;
  background:linear-gradient(95deg,var(--glow) 10%,var(--nephelo) 55%,var(--aurora) 110%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  padding-right:.14em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
}
.hero h1 .em{font-weight:600}
.hero-sub{max-width:54ch;font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--mist)}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.4rem}
.hero-stack{
  display:flex;gap:.6rem;flex-wrap:wrap;margin-top:3.2rem;
}
.chip{
  font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;color:var(--frost);
  padding:.55rem 1.05rem;border-radius:999px;
  background:rgba(255,255,255,.05);border:1px solid var(--glass-line);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  display:inline-flex;align-items:center;gap:.5rem;
}
.chip .dot{width:6px;height:6px;border-radius:50%;background:var(--nephelo);box-shadow:0 0 8px var(--glow)}
.hero-scrollcue{
  position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mist);
  display:flex;flex-direction:column;align-items:center;gap:.6rem;opacity:.7;z-index:1;
}
.hero-scrollcue::after{content:"";width:1px;height:34px;background:linear-gradient(180deg,var(--glow),transparent)}
@media (prefers-reduced-motion:no-preference){
  .hero-scrollcue::after{animation:cue 2.2s ease-in-out infinite}
  @keyframes cue{0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.4}50%{transform:scaleY(1);opacity:1}}
}

/* ============ MARQUEE ============ */
.marquee-section{padding:1.2rem 0 0}
.marquee{
  overflow:hidden;position:relative;padding:1.3rem 0;
  border-top:1px solid rgba(160,210,255,.09);border-bottom:1px solid rgba(160,210,255,.09);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}
.marquee-track{display:flex;gap:3.4rem;width:max-content}
@media (prefers-reduced-motion:no-preference){
  .marquee-track{animation:marquee 42s linear infinite}
  @keyframes marquee{to{transform:translateX(calc(-50% - 1.7rem))}}
}
.marquee-track span{
  font-family:var(--font-mono);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mist);white-space:nowrap;display:flex;align-items:center;gap:3.4rem;
}
.marquee-track span::after{content:"✦";color:var(--nephelo);font-size:.7rem}

/* ============ SECTIONS ============ */
section{padding:7rem 0}
.section-head{max-width:640px;margin-bottom:3.6rem}
.section-head h2{font-size:clamp(1.9rem,4vw,2.9rem);margin:1.1rem 0 1rem;letter-spacing:-.03em;line-height:1.2}
.section-head p{font-size:1.08rem}

/* ============ SERVICES ============ */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.card{
  padding:1.9rem 1.7rem 1.8rem;border-radius:22px;overflow:hidden;
  transition:transform .45s var(--ease-out),border-color .45s;
}
.card:hover{transform:translateY(-6px);border-color:var(--glass-line-bright)}
.card .halo{
  position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .45s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(82,180,235,.16),transparent 65%);
}
.card:hover .halo{opacity:1}
.card-icon{
  width:46px;height:46px;border-radius:14px;display:grid;place-items:center;margin-bottom:1.4rem;
  background:linear-gradient(140deg,rgba(52,160,219,.22),rgba(124,111,240,.14));
  border:1px solid rgba(111,210,255,.25);color:var(--glow);
}
.card-icon svg{width:22px;height:22px}
.card h3{font-size:1.18rem;margin-bottom:.7rem;letter-spacing:-.015em}
.card p{font-size:.97rem;color:var(--mist)}
.card-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}
.card-tags span{
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;color:#bcd9ef;
  padding:.32rem .65rem;border-radius:999px;background:rgba(111,210,255,.08);border:1px solid rgba(111,210,255,.14);
}

/* ============ PRODUCTS ============ */
.products .cards{grid-template-columns:repeat(3,1fr)}
.product-tag{
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--aurora);display:inline-block;margin-bottom:1rem;
  padding:.3rem .7rem;border-radius:999px;border:1px solid rgba(124,111,240,.35);background:rgba(124,111,240,.1);
}
.card .more{
  display:inline-flex;align-items:center;gap:.45rem;margin-top:1.3rem;
  font-family:var(--font-display);font-weight:600;font-size:.88rem;color:var(--glow);
}
.card .more .arrow{transition:transform .3s var(--ease-out)}
.card:hover .more .arrow{transform:translateX(4px)}

/* ============ APPROACH ============ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;counter-reset:step}
.step{padding:1.8rem 1.5rem;border-radius:22px;position:relative}
.step-num{
  font-family:var(--font-mono);font-size:.78rem;letter-spacing:.18em;color:var(--glow);
  display:flex;align-items:center;gap:.8rem;margin-bottom:1.3rem;
}
.step-num::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(111,210,255,.4),transparent)}
.step h3{font-size:1.12rem;margin-bottom:.6rem}
.step p{font-size:.94rem}

/* ============ WHY / STATS ============ */
.why-panel{padding:3.4rem clamp(1.6rem,4vw,3.4rem);border-radius:28px}
.why-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
.why-copy h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:1rem 0 1.1rem;letter-spacing:-.03em}
.why-list{list-style:none;margin-top:1.4rem;display:grid;gap:.85rem}
.why-list li{display:flex;gap:.8rem;align-items:flex-start;font-size:.99rem}
.why-list li::before{
  content:"";flex:0 0 auto;width:18px;height:18px;margin-top:.2rem;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,var(--glow),var(--nephelo));
  box-shadow:0 0 12px rgba(111,210,255,.5);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.stat{padding:1.7rem 1.5rem;border-radius:20px;text-align:left}
.stat b{
  font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,3.4vw,2.7rem);letter-spacing:-.03em;
  background:linear-gradient(120deg,var(--frost),var(--glow));
  -webkit-background-clip:text;background-clip:text;color:transparent;display:block;
}
.stat small{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}

/* ============ CTA ============ */
.cta-panel{
  text-align:center;padding:5rem clamp(1.5rem,5vw,4rem);border-radius:32px;overflow:hidden;
}
.cta-panel::after{
  content:"";position:absolute;inset:-40%;pointer-events:none;
  background:radial-gradient(circle at 50% 120%,rgba(52,160,219,.28),transparent 55%);
}
.cta-panel h2{font-size:clamp(2rem,4.6vw,3.4rem);letter-spacing:-.03em;max-width:18ch;margin-inline:auto}
.cta-panel p{margin:1.2rem auto 2.2rem;max-width:46ch}
.cta-panel .btn{position:relative;z-index:1}

/* ============ FOOTER ============ */
footer{padding:4.5rem 0 2.5rem;border-top:1px solid rgba(160,210,255,.09);margin-top:4rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem}
.footer-brand img{height:34px;width:auto;margin-bottom:1rem}
.footer-brand p{font-size:.92rem;font-style:italic;color:var(--mist)}
.footer-col h4{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--glow);margin-bottom:1.1rem;font-weight:500;
}
.footer-col ul{list-style:none;display:grid;gap:.6rem}
.footer-col a{font-size:.93rem;color:var(--mist);transition:color .25s}
.footer-col a:hover{color:var(--frost)}
.footer-base{
  margin-top:3.2rem;padding-top:1.6rem;border-top:1px solid rgba(160,210,255,.08);
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  font-size:.82rem;color:#6e8199;
}

/* ============ REVEAL DEFAULTS ============ */
.reveal{opacity:0;transform:translateY(28px)}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ============ RESPONSIVE ============ */
@media (max-width:980px){
  .cards,.products .cards{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .glass{-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%)}
  section{padding:4.6rem 0}
  .nav-links{display:none}
  .nav .btn{display:none}
  .nav-burger{display:flex}
  .cards,.products .cards,.steps,.stats{grid-template-columns:1fr}
  .hero{padding-top:7rem}
  .hero-scrollcue{display:none}
  .footer-grid{grid-template-columns:1fr}
  .footer-base{flex-direction:column}
}

/* ======================================================
   SERVICES PAGE
   ====================================================== */
/* ============ SUBHERO ============ */
.subhero{position:relative;padding:11rem 0 4.5rem}
.subhero h1{font-size:clamp(2.5rem,6vw,4.6rem);font-weight:700;letter-spacing:-.035em;margin:1.3rem 0 1.4rem;max-width:14ch}
.subhero p{max-width:56ch;font-size:clamp(1.02rem,1.3vw,1.16rem)}
.crumb{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;color:var(--mist);margin-bottom:1.6rem;display:flex;gap:.6rem;align-items:center}
.crumb a{color:var(--mist);transition:color .25s}
.crumb a:hover{color:var(--glow)}
.crumb span{color:var(--glow)}

/* ============ SUBNAV (scrollspy tabs) ============ */
.subnav-wrap{position:sticky;top:86px;z-index:40;margin-bottom:1rem}
.subnav{
  display:flex;gap:.35rem;padding:.45rem;border-radius:999px;width:max-content;max-width:100%;
  overflow-x:auto;scrollbar-width:none;
}
.subnav::-webkit-scrollbar{display:none}
.subnav a{
  font-family:var(--font-display);font-size:.88rem;font-weight:600;white-space:nowrap;
  padding:.55rem 1.15rem;border-radius:999px;color:var(--mist);
  transition:color .25s,background .25s,box-shadow .25s;
}
.subnav a:hover{color:var(--frost)}
.subnav a.active{
  color:#eaf6ff;background:linear-gradient(120deg,rgba(52,160,219,.85),rgba(43,127,196,.85));
  box-shadow:0 6px 22px rgba(52,160,219,.35);
}

/* ============ SERVICES HONEYCOMB ============ */
.svc.svc-launcher{padding-top:1.25rem}
@property --rf{ syntax:"<number>"; initial-value:0; inherits:true; }
.svc-honeycomb{
  display:flex;align-items:center;justify-content:center;isolation:isolate;
  --hcw:184px;--hch:159px;
  position:relative;padding:2.6rem 0 3.5rem;overflow:visible;
}
.svc-honeycomb::before{
  content:"";position:absolute;inset:4% 10%;pointer-events:none;
  background:radial-gradient(closest-side at 50% 48%,rgba(52,160,219,.18),rgba(124,111,240,.05) 55%,transparent 72%);
  filter:blur(24px);
}
.svc-col{display:flex;flex-direction:column}
.svc-col + .svc-col{margin-left:calc(var(--hcw) * -0.245)}
.svc-hex,.svc-fill{
  position:relative;width:var(--hcw);height:var(--hch);padding:0;border:0;
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
  background:var(--glass-line-bright);color:var(--mist);outline:none;z-index:1;
  transition:filter .3s var(--ease-out),background .5s var(--ease-out),transform .6s var(--ease-out);
  -webkit-tap-highlight-color:transparent;
}
.svc-hex{cursor:pointer}
.svc-fill{background:var(--glass-line);cursor:default}
.svc-hex:hover{filter:brightness(1.18);z-index:3}
.svc-hex:focus-visible,.svc-fill:focus-visible{outline:none;z-index:4}
.svc-hex-inner,.svc-fill-inner{
  position:absolute;inset:1.5px;clip-path:inherit;padding:0 12%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.28rem;text-align:center;
  background:linear-gradient(158deg,rgba(255,255,255,.07),rgba(11,21,36,.9) 58%);
  -webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);
  transition:background .3s var(--ease-out),box-shadow .3s var(--ease-out),transform .3s var(--ease-out);
}
.svc-fill-inner{background:linear-gradient(158deg,rgba(255,255,255,.045),rgba(11,21,36,.66) 60%)}
.svc-fill-inner::after{content:"";width:5px;height:5px;border-radius:50%;background:rgba(154,174,198,.28)}
.svc-hex:hover .svc-hex-inner{transform:scale(.985)}
.svc-hex:focus-visible .svc-hex-inner{box-shadow:inset 0 0 0 2px var(--glow)}
.svc-hex.is-active{
  background:linear-gradient(150deg,var(--glow),var(--nephelo) 62%,var(--aurora));
  filter:drop-shadow(0 14px 26px rgba(52,160,219,.3));z-index:4;
}
.svc-hex.is-active .svc-hex-inner{
  background:linear-gradient(150deg,rgba(52,160,219,.3),rgba(11,21,36,.94) 58%,rgba(124,111,240,.18));
}

/* glow-sweep ripple (distance-based, fired on click + on first view) */
.svc-honeycomb.is-rippling{pointer-events:none}
.svc-honeycomb.is-rippling .svc-hex,
.svc-honeycomb.is-rippling .svc-fill{
  animation-name:svc-ripple-glow;
  animation-duration:max(var(--svc-dur,.5s), calc(var(--svc-dur,.5s) * var(--rf) / 100));
  animation-delay:calc(var(--rf) * var(--svc-dur,.5s) * 0.014);
  animation-timing-function:ease-in-out;animation-fill-mode:both;transform-origin:center;
}
@keyframes svc-ripple-glow{
  0%{transform:scale(1);filter:brightness(1)}
  50%{transform:scale(1.06);filter:brightness(1.95) drop-shadow(0 0 16px var(--glow))}
  100%{transform:scale(1);filter:brightness(1)}
}
@media (prefers-reduced-motion:reduce){
  .svc-honeycomb.is-rippling .svc-hex,.svc-honeycomb.is-rippling .svc-fill{animation:none}
}

/* roaming spotlight — ambient light that walks the honeycomb (desktop only).
   The glow element glides between hexes on transform/opacity only; the lit hex
   gets a gleam overlay (opacity) and a small lift (transform). All cheap. */
.svc-roam-glow{
  position:absolute;left:0;top:0;width:300px;height:300px;pointer-events:none;z-index:0;opacity:0;
  background:radial-gradient(circle,rgba(111,210,255,.20),rgba(52,160,219,.07) 45%,transparent 68%);
  transition:transform .9s var(--ease-out),opacity .6s var(--ease-out);
  will-change:transform,opacity;
}
.svc-hex-inner::before,.svc-fill-inner::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:radial-gradient(130% 100% at 50% 0%,rgba(111,210,255,.26),transparent 58%),
             linear-gradient(158deg,rgba(255,255,255,.15),rgba(52,160,219,.05) 62%);
  transition:opacity .55s var(--ease-out);
}
.svc-hex.is-lit:not(.is-active),.svc-fill.is-lit{z-index:2;transform:translateY(-5px)}
.svc-hex.is-lit:not(.is-active){background:rgba(190,235,255,.5)}
.svc-fill.is-lit{background:rgba(160,210,255,.34)}
.svc-hex.is-lit:not(.is-active) .svc-hex-inner::before,
.svc-fill.is-lit .svc-fill-inner::before{opacity:1}
@media (prefers-reduced-motion:reduce){
  .svc-roam-glow{display:none}
  .svc-hex.is-lit:not(.is-active),.svc-fill.is-lit{transform:none}
}
.svc-hex-icon{
  width:44px;height:44px;margin-bottom:.2rem;border-radius:13px;display:grid;place-items:center;
  color:var(--glow);background:rgba(111,210,255,.09);border:1px solid rgba(111,210,255,.24);
}
.svc-hex-icon svg{width:22px;height:22px}
.svc-hex-kicker{
  font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
  color:#7d92ab;
}
.svc-hex-label{
  max-width:12ch;font-family:var(--font-display);font-weight:600;font-size:.82rem;
  line-height:1.25;letter-spacing:-.01em;color:var(--frost);
}
.svc-hex.is-active .svc-hex-kicker{color:var(--glow)}
.svc-service-list{position:relative}
.svc-service-item{display:block}
.svc-service-panel{
  padding-top:3rem;border-top:1px solid var(--glass-line-bright);scroll-margin-top:120px;
}
.svc-service-panel[hidden]{display:none!important}
.svc-mobile-toggle{display:none}

/* ============ SERVICE SECTIONS ============ */
.svc{padding:5.5rem 0;scroll-margin-top:150px}
.svc-head{display:flex;align-items:baseline;gap:1.4rem;margin-bottom:2.4rem;flex-wrap:wrap}
.svc-head .svc-no{
  font-family:var(--font-mono);font-size:.8rem;letter-spacing:.2em;color:var(--glow);
  padding:.45rem .9rem;border:1px solid rgba(111,210,255,.25);border-radius:999px;background:rgba(111,210,255,.07);
}
.svc-head h2{font-size:clamp(1.85rem,3.8vw,2.8rem);letter-spacing:-.03em}
.svc-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:1.2rem;align-items:start}
.svc-lede{padding:2.1rem 2rem;border-radius:24px}
.svc-lede h3{font-size:1.25rem;margin-bottom:.8rem;letter-spacing:-.015em}
.svc-lede p{font-size:1rem}
.svc-lede p + h3{margin-top:1.8rem}
.tiles{display:grid;gap:.9rem}
.tile{padding:1.25rem 1.35rem;border-radius:18px;display:flex;gap:1rem;align-items:flex-start}
.tile-icon{
  flex:0 0 auto;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(140deg,rgba(52,160,219,.22),rgba(124,111,240,.14));
  border:1px solid rgba(111,210,255,.25);color:var(--glow);
}
.tile-icon svg{width:18px;height:18px}
.tile b{display:block;font-family:var(--font-display);font-weight:600;font-size:.99rem;color:var(--frost);margin-bottom:.25rem;letter-spacing:-.01em}
.tile p{font-size:.91rem;line-height:1.55}

/* verticals chips */
.verticals{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}
.vertical{
  font-family:var(--font-mono);font-size:.76rem;letter-spacing:.05em;color:var(--frost);
  padding:.55rem 1rem;border-radius:999px;background:rgba(255,255,255,.05);
  border:1px solid var(--glass-line);display:inline-flex;gap:.55rem;align-items:center;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.vertical .dot{width:6px;height:6px;border-radius:50%;background:var(--nephelo);box-shadow:0 0 8px var(--glow)}

/* journey list inside implementation */
.journey{display:grid;gap:.7rem;margin-top:1.5rem}
.journey li{
  list-style:none;display:flex;gap:.9rem;align-items:flex-start;font-size:.95rem;
  padding:.85rem 1rem;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(160,210,255,.1);
}
.journey b{color:var(--frost);font-weight:600}
.journey .j-dot{
  flex:0 0 auto;margin-top:.45rem;width:8px;height:8px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,var(--glow),var(--nephelo));box-shadow:0 0 10px rgba(111,210,255,.6);
}

/* ============ ENGAGEMENT TIMELINE ============ */
.timeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:3rem}
.timeline::before{
  content:"";position:absolute;top:24px;left:4%;right:4%;height:1px;z-index:0;
  background:linear-gradient(90deg,transparent,rgba(111,210,255,.45) 12%,rgba(111,210,255,.45) 88%,transparent);
}
.phase{position:relative;z-index:1;padding:0 .2rem;text-align:center}
.phase .node{
  width:48px;height:48px;margin:0 auto 1.1rem;border-radius:50%;display:grid;place-items:center;
  background:rgba(10,20,36,.9);border:1px solid var(--glass-line-bright);
  font-family:var(--font-mono);font-size:.78rem;color:var(--glow);
  box-shadow:0 0 22px rgba(52,160,219,.25);
}
.phase b{display:block;font-family:var(--font-display);font-weight:600;font-size:.97rem;color:var(--frost);margin-bottom:.35rem;letter-spacing:-.01em}
.phase p{font-size:.85rem;color:var(--mist);line-height:1.5}

/* ============ CONTACT PANEL ============ */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.2rem;align-items:stretch}
.contact-card{padding:2.3rem 2.1rem;border-radius:24px;display:flex;flex-direction:column;justify-content:center}
.contact-card h2{font-size:clamp(1.8rem,3.4vw,2.5rem);letter-spacing:-.03em;margin:.9rem 0 1rem}
.contact-list{display:grid;gap:1.05rem;margin-top:.6rem}
.contact-list a,.contact-list address{
  display:flex;gap:1rem;align-items:flex-start;font-style:normal;font-size:.98rem;color:var(--mist);
  transition:color .25s;
}
.contact-list a:hover{color:var(--frost)}
.c-icon{
  flex:0 0 auto;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:rgba(111,210,255,.08);border:1px solid rgba(111,210,255,.2);color:var(--glow);
}
.c-icon svg{width:18px;height:18px}
.contact-list small{display:block;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#7d92ab;margin-bottom:.15rem}
.contact-list b{color:var(--frost);font-weight:600}

@media (max-width:980px){
  .svc-grid,.contact-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr;gap:1.4rem;margin-top:2.4rem}
  .timeline::before{top:0;bottom:0;left:23px;right:auto;width:1px;height:auto;
    background:linear-gradient(180deg,transparent,rgba(111,210,255,.45) 10%,rgba(111,210,255,.45) 90%,transparent)}
  .phase{display:grid;grid-template-columns:48px 1fr;gap:1.1rem;text-align:left;align-items:start}
  .phase .node{margin:0}
}
@media (max-width:680px){
  .subhero{padding:8.5rem 0 3.2rem}
  .svc{padding:3.8rem 0;scroll-margin-top:120px}
  .subnav-wrap{top:78px}
}
@media (max-width:980px){
  .svc-honeycomb{--hcw:150px;--hch:130px;padding-bottom:3rem}
  .svc-hex-icon{width:40px;height:40px}
  .svc-hex-label{font-size:.72rem}
}
@media (max-width:760px){
  .svc.svc-launcher{padding-top:.4rem}
  .svc-honeycomb{display:none}
  .svc-service-list{display:grid;grid-template-columns:1fr;gap:.85rem}
  .svc-service-item{display:contents}
  .svc-service-item:nth-child(1) .svc-mobile-toggle{grid-row:1}
  .svc-service-item:nth-child(2) .svc-mobile-toggle{grid-row:2}
  .svc-service-item:nth-child(3) .svc-mobile-toggle{grid-row:3}
  .svc-service-item:nth-child(4) .svc-mobile-toggle{grid-row:4}
  .svc-mobile-toggle{
    width:100%;padding:1rem 1.05rem;display:grid;grid-template-columns:44px 1fr 22px;
    gap:.9rem;align-items:center;text-align:left;border:1px solid var(--glass-line);border-radius:18px;
    background:var(--glass-bg);color:var(--frost);font-family:var(--font-display);font-weight:600;
    transition:background .25s,border-color .25s,box-shadow .25s;
    -webkit-backdrop-filter:blur(16px) saturate(145%);backdrop-filter:blur(16px) saturate(145%);
  }
  .svc-mobile-toggle:hover{border-color:var(--glass-line-bright);background:var(--glass-bg-strong)}
  .svc-mobile-toggle:focus-visible{border-radius:18px}
  .svc-mobile-icon{
    width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:var(--glow);
    background:rgba(111,210,255,.08);border:1px solid rgba(111,210,255,.2);
  }
  .svc-mobile-icon svg{width:22px;height:22px}
  .svc-mobile-chevron{width:20px;height:20px;color:var(--mist);transition:transform .25s var(--ease-out)}
  .svc-service-item.is-active .svc-mobile-toggle{
    border-color:var(--glass-line-bright);background:linear-gradient(120deg,rgba(52,160,219,.16),rgba(124,111,240,.08));
    box-shadow:0 14px 34px rgba(0,0,0,.22);
  }
  .svc-service-item.is-active .svc-mobile-chevron{transform:rotate(180deg);color:var(--glow)}
  .svc-service-panel{grid-row:5;padding:1.5rem 0 2.5rem;margin-top:.5rem;border-top:0;scroll-margin-top:100px}
  .svc-service-panel .svc-head{margin-bottom:1.7rem}
}

/* ======================================================
   CONTACT PAGE
   ====================================================== */
.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:1.2rem;align-items:start}
.form-card{padding:2.4rem 2.2rem;border-radius:26px}
.form-title{font-size:clamp(1.7rem,3vw,2.3rem);letter-spacing:-.03em;margin:.9rem 0 1.6rem}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.field{display:flex;flex-direction:column;gap:.45rem}
.field-wide{grid-column:1 / -1}
.field label{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mist);font-weight:500;
}
.field label i{color:var(--glow);font-style:normal}
.field input,.field textarea{
  font:inherit;color:var(--frost);
  background:rgba(255,255,255,.045);
  border:1px solid var(--glass-line);border-radius:14px;
  padding:.85rem 1.05rem;
  transition:border-color .25s,background .25s,box-shadow .25s;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  resize:vertical;min-width:0;
}
.field input::placeholder,.field textarea::placeholder{color:#62768f}
.field input:focus,.field textarea:focus{
  outline:none;border-color:rgba(111,210,255,.55);background:rgba(255,255,255,.07);
  box-shadow:0 0 0 3px rgba(52,160,219,.18),0 0 24px rgba(52,160,219,.12);
}
.field input.input-validation-error,.field textarea.input-validation-error{border-color:rgba(255,120,140,.55)}
.field-error{font-size:.82rem;color:#ff9aac;min-height:1em}
.form-submit{margin-top:1.4rem}
.form-note{
  padding:1rem 1.2rem;border-radius:14px;margin-bottom:1.4rem;font-size:.95rem;
  border:1px solid;
}
.form-note b{display:block;font-family:var(--font-display);font-weight:600;margin-bottom:.15rem}
.form-note a{color:var(--glow);text-decoration:underline;text-underline-offset:3px}
.form-note-ok{background:rgba(82,220,160,.08);border-color:rgba(82,220,160,.35);color:#bfe9d6}
.form-note-ok b{color:#7be3b3}
.form-note-err{background:rgba(255,120,140,.07);border-color:rgba(255,120,140,.35);color:#f3c6cf}
.form-note-err b{color:#ff9aac}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.detail-stack{display:grid;gap:1.2rem}
.recaptcha-wrap{margin-top:1.35rem;display:grid;gap:.55rem;justify-items:start}
.recaptcha-wrap .g-recaptcha{max-width:100%}
.recaptcha-error{display:block;min-height:0}
.recaptcha-config-note{margin:0;max-width:100%}
.form-submit:disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}
.form-submit:disabled:hover{transform:none;box-shadow:none}
.map-frame{border-radius:26px;overflow:hidden;padding:.5rem;min-height:316px}
.contact-map-canvas,.contact-map-fallback,.map-frame iframe{
  display:block;width:100%;height:300px;border:0;border-radius:20px;
}
.contact-map-canvas{background:#07111f;overflow:hidden}
.contact-map-fallback{position:relative;overflow:hidden;background:#07111f}
.contact-map-fallback iframe{
  filter:grayscale(.65) invert(92%) contrast(88%) hue-rotate(178deg) saturate(1.65) brightness(.72);
}
.contact-map-tint{
  position:absolute;inset:0;pointer-events:none;border-radius:20px;
  background:
    linear-gradient(145deg,rgba(52,160,219,.18),rgba(124,111,240,.1)),
    radial-gradient(circle at 70% 30%,rgba(111,210,255,.14),transparent 42%);
  mix-blend-mode:screen;
}
@media (max-width:980px){
  .contact-layout{grid-template-columns:1fr}
}
@media (max-width:680px){
  .field-grid{grid-template-columns:1fr}
  .form-card{padding:1.8rem 1.4rem}
}

/* ======================================================
   PROJECTS / PROCESS / PRODUCTS / RESOURCES / LEGAL
   ====================================================== */
/* alternating feature rows (Projects) */
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:stretch;margin-bottom:1.2rem}
.feature-copy{padding:2.1rem 2rem;border-radius:24px}
.feature-copy h3{font-size:clamp(1.25rem,2.2vw,1.6rem);letter-spacing:-.02em;margin-bottom:.9rem}
.feature-copy p{font-size:.98rem}
.feature-copy p + p{margin-top:.9rem}
.feature-side{
  border-radius:24px;padding:2rem;display:flex;flex-direction:column;justify-content:center;gap:1rem;
  background:linear-gradient(150deg,rgba(52,160,219,.1),rgba(124,111,240,.06));
}
.feature-side .platform{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--glow);
}
.feature-side h4{font-family:var(--font-display);font-weight:700;font-size:clamp(1.3rem,2.4vw,1.8rem);color:var(--frost);letter-spacing:-.02em;line-height:1.2}
.feature-row:nth-child(even) .feature-copy{order:2}
.feature-row:nth-child(even) .feature-side{order:1}

/* process: the 4 E's */
.e-track{display:grid;gap:1.4rem;position:relative}
.e-phase{padding:2.2rem 2.1rem 2.1rem;border-radius:26px;display:grid;grid-template-columns:auto 1fr;gap:1.8rem;overflow:hidden}
.e-glyph{
  font-family:var(--font-display);font-weight:700;font-size:clamp(3rem,6vw,4.6rem);line-height:1;
  background:linear-gradient(160deg,var(--glow),var(--nephelo) 60%,var(--aurora));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:-.04em;
}
.e-phase .e-kicker{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--glow);margin-bottom:.45rem}
.e-phase h3{font-size:clamp(1.3rem,2.4vw,1.7rem);letter-spacing:-.02em;margin-bottom:.9rem}
.e-phase ul{list-style:none;display:grid;gap:.65rem}
.e-phase li{display:flex;gap:.8rem;align-items:flex-start;font-size:.96rem}
.e-phase li::before{
  content:"";flex:0 0 auto;width:7px;height:7px;margin-top:.5rem;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,var(--glow),var(--nephelo));box-shadow:0 0 8px rgba(111,210,255,.5);
}
.e-phase .e-watermark{
  position:absolute;right:-1rem;bottom:-2.4rem;font-family:var(--font-display);font-weight:700;
  font-size:11rem;line-height:1;color:rgba(111,210,255,.045);pointer-events:none;user-select:none;letter-spacing:-.05em;
}

/* products */
.product-hero-card{padding:2.2rem 2rem;border-radius:26px;display:flex;flex-direction:column}
.product-hero-card h3{font-size:1.45rem;letter-spacing:-.02em;margin-bottom:.7rem}
.product-hero-card>p{font-size:.97rem;margin-bottom:1.2rem}
.product-feats{list-style:none;display:grid;gap:.55rem;margin-top:auto}
.product-feats li{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;color:var(--mist)}
.product-feats li::before{
  content:"";flex:0 0 auto;width:14px;height:14px;margin-top:.25rem;
  background:radial-gradient(circle at 35% 35%,var(--glow),var(--nephelo));
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.draft-banner{
  display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.6rem;
  font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  color:#ffd28a;padding:.5rem 1rem;border-radius:999px;
  background:rgba(255,190,90,.08);border:1px solid rgba(255,190,90,.3);
}

/* resources */
.res-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}
.res-meta{display:flex;gap:.9rem;align-items:center;margin-bottom:1rem}
.res-meta span{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--glow)}
.res-meta time{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;color:#7d92ab}
.newsletter{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center;padding:2.6rem 2.4rem;border-radius:28px}
.newsletter h2{font-size:clamp(1.5rem,2.8vw,2.1rem);letter-spacing:-.025em;margin:.8rem 0 .6rem}

/* legal prose */
.legal-prose{max-width:76ch;padding:2.6rem clamp(1.4rem,4vw,3rem);border-radius:28px}
.legal-updated{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#7d92ab;margin-bottom:2rem;display:block}
.legal-prose h2{font-size:1.35rem;letter-spacing:-.02em;margin:2.2rem 0 .8rem}
.legal-prose h2:first-of-type{margin-top:0}
.legal-prose p{font-size:.99rem;margin-bottom:.9rem}
.legal-prose ul{margin:0 0 1rem 1.2rem;display:grid;gap:.55rem}
.legal-prose li{font-size:.97rem}
.legal-prose li b{color:var(--frost)}
.legal-prose a{color:var(--glow);text-decoration:underline;text-underline-offset:3px}

@media (max-width:980px){
  .feature-row{grid-template-columns:1fr}
  .feature-row:nth-child(even) .feature-copy{order:1}
  .feature-row:nth-child(even) .feature-side{order:2}
  .newsletter{grid-template-columns:1fr}
}
@media (max-width:680px){
  .e-phase{grid-template-columns:1fr;gap:.8rem;padding:1.7rem 1.4rem}
  .e-watermark{display:none}
}

/* ======================================================
   PROJECTS PAGE — alternating technology timeline
   ====================================================== */
.project-timeline{
  position:relative;
  display:grid;
  gap:0;
  padding:1.5rem 0 2rem;
}
.project-timeline::before{
  position:absolute;
  top:54px;
  bottom:54px;
  left:50%;
  width:2px;
  content:"";
  transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(111,210,255,.08),rgba(111,210,255,.68) 14%,rgba(124,111,240,.52) 52%,rgba(111,210,255,.68) 86%,rgba(111,210,255,.08));
  box-shadow:0 0 18px rgba(52,160,219,.18);
}
.project-timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);
  column-gap:clamp(2.25rem,4.5vw,5rem);
  align-items:start;
  min-height:360px;
  padding:3.1rem 0 4.3rem;
}
.project-timeline-item:last-child{padding-bottom:2.6rem}
.project-tech-node{
  --project-brand:#34a0db;
  --project-brand-soft:rgba(52,160,219,.34);
  position:relative;
  z-index:2;
  grid-column:2;
  width:84px;
  height:84px;
  display:grid;
  place-items:center;
  justify-self:center;
  border:1px solid color-mix(in srgb,var(--project-brand) 62%,white 10%);
  border-radius:25px;
  color:#f7fbff;
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.2),transparent 36%),
    linear-gradient(145deg,var(--project-brand),color-mix(in srgb,var(--project-brand) 45%,#07121f));
  box-shadow:
    0 0 0 10px var(--void),
    0 0 34px var(--project-brand-soft),
    inset 0 1px 0 rgba(255,255,255,.22);
}
.project-tech-node::before{
  position:absolute;
  inset:-8px;
  content:"";
  border:1px solid color-mix(in srgb,var(--project-brand) 24%,transparent);
  border-radius:30px;
}
.project-tech-node::after{
  position:absolute;
  top:50%;
  right:-15px;
  width:8px;
  height:8px;
  content:"";
  border-radius:50%;
  background:var(--project-brand);
  box-shadow:0 0 14px var(--project-brand);
  transform:translateY(-50%);
}
.project-timeline-item:nth-child(even) .project-tech-node::after{right:auto;left:-15px}
.project-tech-node svg{width:48px;height:48px;filter:drop-shadow(0 5px 12px rgba(0,0,0,.24))}
.project-tech-node--dynamics{--project-brand:#1976d2;--project-brand-soft:rgba(25,118,210,.35)}
.project-tech-node--business-central{--project-brand:#08a5a5;--project-brand-soft:rgba(8,165,165,.3)}
.project-tech-node--power-platform{--project-brand:#7657d6;--project-brand-soft:rgba(118,87,214,.34)}
.project-tech-node--sharepoint{--project-brand:#038f8f;--project-brand-soft:rgba(3,143,143,.3)}
.project-tech-node--azure{--project-brand:#168bd4;--project-brand-soft:rgba(22,139,212,.34)}

.project-timeline-content{
  position:relative;
  grid-column:3;
  width:min(100%,520px);
  padding-top:.25rem;
}
.project-timeline-item:nth-child(even) .project-timeline-content{
  grid-column:1;
  grid-row:1;
  justify-self:end;
}
.project-timeline-content::before{
  position:absolute;
  top:41px;
  left:calc(-1 * clamp(2.25rem,4.5vw,5rem));
  width:clamp(2.25rem,4.5vw,5rem);
  height:1px;
  content:"";
  background:linear-gradient(90deg,rgba(111,210,255,.7),rgba(111,210,255,.08));
  box-shadow:0 0 10px rgba(52,160,219,.18);
}
.project-timeline-item:nth-child(even) .project-timeline-content::before{
  right:calc(-1 * clamp(2.25rem,4.5vw,5rem));
  left:auto;
  background:linear-gradient(90deg,rgba(111,210,255,.08),rgba(111,210,255,.7));
}
.project-timeline-content .eyebrow{margin-bottom:1rem}
.project-timeline-content h3{
  max-width:30ch;
  margin-bottom:1.1rem;
  font-size:clamp(1.35rem,2.35vw,1.85rem);
  line-height:1.25;
  letter-spacing:-.025em;
}
.project-timeline-content > p:not(.eyebrow){font-size:.99rem;line-height:1.72}
.project-timeline-content > p:not(.eyebrow) + p{margin-top:.9rem}
.proj-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.5rem}
.proj-meta span{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em;color:#bcd9ef;
  padding:.36rem .75rem;border-radius:999px;background:rgba(111,210,255,.08);border:1px solid rgba(111,210,255,.16);
}
.why-points{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:2.6rem}

@media (max-width:980px){
  .project-timeline{padding-top:.5rem}
  .project-timeline::before{top:42px;bottom:42px;left:34px;transform:none}
  .project-timeline-item{
    grid-template-columns:68px minmax(0,1fr);
    column-gap:1.65rem;
    min-height:0;
    padding:2.6rem 0 3.8rem;
  }
  .project-tech-node,
  .project-timeline-item:nth-child(even) .project-tech-node{
    grid-column:1;
    grid-row:1;
    width:68px;
    height:68px;
    border-radius:21px;
  }
  .project-tech-node::before{inset:-7px;border-radius:26px}
  .project-tech-node::after,
  .project-timeline-item:nth-child(even) .project-tech-node::after{right:-13px;left:auto}
  .project-tech-node svg{width:39px;height:39px}
  .project-timeline-content,
  .project-timeline-item:nth-child(even) .project-timeline-content{
    grid-column:2;
    grid-row:1;
    width:min(100%,700px);
    justify-self:start;
    padding-top:0;
  }
  .project-timeline-content::before,
  .project-timeline-item:nth-child(even) .project-timeline-content::before{
    top:34px;
    right:auto;
    left:-1.65rem;
    width:1.65rem;
    background:linear-gradient(90deg,rgba(111,210,255,.7),rgba(111,210,255,.08));
  }
  .why-points{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .project-timeline::before{left:27px}
  .project-timeline-item{grid-template-columns:54px minmax(0,1fr);column-gap:1.15rem;padding:2.2rem 0 3.2rem}
  .project-tech-node,
  .project-timeline-item:nth-child(even) .project-tech-node{width:54px;height:54px;border-radius:17px;box-shadow:0 0 0 7px var(--void),0 0 25px var(--project-brand-soft),inset 0 1px 0 rgba(255,255,255,.2)}
  .project-tech-node::before{inset:-5px;border-radius:21px}
  .project-tech-node::after,
  .project-timeline-item:nth-child(even) .project-tech-node::after{right:-10px;width:6px;height:6px}
  .project-tech-node svg{width:32px;height:32px}
  .project-timeline-content::before,
  .project-timeline-item:nth-child(even) .project-timeline-content::before{top:27px;left:-1.15rem;width:1.15rem}
  .project-timeline-content .eyebrow{font-size:.68rem;letter-spacing:.14em;margin-bottom:.8rem}
  .project-timeline-content h3{font-size:1.18rem;line-height:1.3}
  .project-timeline-content > p:not(.eyebrow){font-size:.93rem;line-height:1.68}
  .proj-meta{gap:.4rem;margin-top:1.25rem}
  .proj-meta span{font-size:.64rem;padding:.32rem .62rem}
  .why-points{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.project-tech-node{box-shadow:0 0 0 10px var(--void),inset 0 1px 0 rgba(255,255,255,.22)}}

/* ======================================================
   PROCESS PAGE — sticky editorial chapters
   ====================================================== */
.process-editorial{
  display:grid;
  grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);
  gap:clamp(3.5rem,8vw,8rem);
  align-items:stretch;
  position:relative;
}
.process-editorial-aside{min-width:0}
.process-editorial-sticky{
  position:sticky;
  top:8.2rem;
  min-height:calc(100vh - 10rem);
  display:flex;
  flex-direction:column;
  padding:1.2rem 0 2rem;
}
.process-editorial-sticky h2{
  font-size:clamp(1.65rem,3vw,2.5rem);
  letter-spacing:-.035em;
  margin:1rem 0 1.4rem;
}
.process-stage-visuals{position:relative;min-height:230px;margin:.2rem 0 1.4rem}
.process-stage-visual{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:110px 1fr;
  grid-template-rows:1fr auto;
  align-items:center;
  opacity:0;
  transform:translateY(14px);
  pointer-events:none;
  transition:opacity .42s var(--ease-out),transform .42s var(--ease-out);
}
.process-stage-visual.is-active{opacity:1;transform:none}
.process-stage-letter{
  grid-column:1/-1;
  grid-row:1/-1;
  align-self:center;
  font-family:var(--font-display);
  font-size:clamp(9rem,18vw,15rem);
  font-weight:700;
  font-style:italic;
  line-height:.72;
  letter-spacing:-.08em;
  color:rgba(111,210,255,.055);
  user-select:none;
}
.process-stage-icon{
  grid-column:1;
  grid-row:1;
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  border:1px solid var(--glass-line-bright);
  border-radius:28px;
  color:var(--glow);
  background:linear-gradient(145deg,rgba(52,160,219,.13),rgba(124,111,240,.05));
  box-shadow:0 20px 55px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.08);
}
.process-stage-icon svg{width:48px;height:48px}
.process-stage-word{
  grid-column:2;
  grid-row:1;
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--frost);
  align-self:center;
}
.process-index{
  position:relative;
  display:grid;
  gap:.2rem;
  margin-top:auto;
  padding-left:1.4rem;
}
.process-index::before,
.process-index::after{
  content:"";
  position:absolute;
  left:4px;
  top:20px;
  bottom:20px;
  width:1px;
}
.process-index::before{background:var(--glass-line)}
.process-index::after{
  background:linear-gradient(180deg,var(--glow),var(--aurora));
  transform:scaleY(var(--process-progress));
  transform-origin:top;
  transition:transform .5s var(--ease-out);
  box-shadow:0 0 12px rgba(111,210,255,.45);
}
.process-index a{
  position:relative;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:.7rem;
  align-items:center;
  min-height:43px;
  color:#71859c;
  transition:color .25s,transform .25s var(--ease-out);
}
.process-index a::before{
  content:"";
  position:absolute;
  left:-1.4rem;
  top:50%;
  width:9px;
  height:9px;
  border:2px solid var(--void);
  border-radius:50%;
  background:#40536a;
  transform:translate(-1px,-50%);
  transition:background .25s,box-shadow .25s,transform .25s;
}
.process-index a:hover{color:var(--frost);transform:translateX(3px)}
.process-index a.is-active{color:var(--frost)}
.process-index a.is-active::before{
  background:var(--glow);
  box-shadow:0 0 0 4px rgba(111,210,255,.12),0 0 15px rgba(111,210,255,.65);
  transform:translate(-1px,-50%) scale(1.12);
}
.process-index a span{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;color:var(--glow)}
.process-index a b{font-family:var(--font-display);font-size:.92rem;font-weight:600}
.process-chapters{min-width:0;position:relative}
.process-chapter{
  position:relative;
  min-height:min(78vh,760px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(5rem,10vh,8rem) 0;
  border-top:1px solid var(--glass-line);
  overflow:hidden;
  scroll-margin-top:7.5rem;
}
.process-chapter:last-child{border-bottom:1px solid var(--glass-line)}
.process-chapter::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:66px;
  height:1px;
  background:linear-gradient(90deg,var(--glow),transparent);
}
.process-chapter .eyebrow{margin-bottom:1.2rem}
.process-chapter h3{
  font-size:clamp(2.45rem,6vw,5rem);
  letter-spacing:-.055em;
  margin-bottom:.75rem;
}
.process-chapter-sub{
  display:block;
  font-family:var(--font-mono);
  font-size:.76rem;
  letter-spacing:.15em;
  line-height:1.55;
  text-transform:uppercase;
  color:var(--glow);
  margin-bottom:2rem;
}
.process-chapter ul{list-style:none;display:grid;gap:1rem;max-width:66ch}
.process-chapter li{
  position:relative;
  padding-left:1.35rem;
  font-size:clamp(.98rem,1.25vw,1.08rem);
  line-height:1.72;
}
.process-chapter li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%,var(--glow),var(--nephelo));
  box-shadow:0 0 9px rgba(111,210,255,.5);
}
.process-watermark{
  position:absolute;
  right:-.04em;
  top:50%;
  transform:translateY(-50%);
  font-family:var(--font-display);
  font-size:clamp(9rem,19vw,17rem);
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:-.08em;
  color:rgba(111,210,255,.035);
  pointer-events:none;
  user-select:none;
}
.process-chapter-marker{display:none}
@media (max-width:980px){
  .process-editorial{grid-template-columns:1fr;gap:0}
  .process-editorial-aside{display:none}
  .process-chapters{padding-left:88px}
  .process-chapters::before{
    content:"";
    position:absolute;
    left:31px;
    top:56px;
    bottom:56px;
    width:1px;
    background:linear-gradient(180deg,rgba(111,210,255,.08),rgba(111,210,255,.58) 10%,rgba(124,111,240,.48) 90%,rgba(111,210,255,.08));
  }
  .process-chapter{min-height:auto;padding:5.4rem 0 6.3rem;overflow:visible}
  .process-chapter-marker{
    display:grid;
    place-items:center;
    position:absolute;
    left:-88px;
    top:5rem;
    width:62px;
    height:62px;
    border-radius:20px;
    color:var(--glow);
    background:linear-gradient(145deg,rgba(52,160,219,.14),rgba(124,111,240,.06)),var(--void);
    border:1px solid var(--glass-line-bright);
    box-shadow:0 0 0 8px var(--void),0 15px 38px rgba(0,0,0,.35);
  }
  .process-chapter-marker svg{width:34px;height:34px}
  .process-watermark{font-size:clamp(8rem,28vw,14rem)}
}
@media (max-width:680px){
  .process-page{padding-top:.5rem!important}
  .process-chapters{padding-left:66px}
  .process-chapters::before{left:23px;top:44px;bottom:44px}
  .process-chapter{padding:4.2rem 0 5rem;scroll-margin-top:6.5rem}
  .process-chapter-marker{left:-66px;top:4rem;width:47px;height:47px;border-radius:15px;box-shadow:0 0 0 6px var(--void),0 12px 28px rgba(0,0,0,.32)}
  .process-chapter-marker svg{width:27px;height:27px}
  .process-chapter h3{font-size:clamp(2.1rem,12vw,3.2rem)}
  .process-chapter-sub{font-size:.68rem;letter-spacing:.11em;margin-bottom:1.5rem}
  .process-chapter li{font-size:.94rem;line-height:1.65;padding-left:1.05rem}
  .process-watermark{right:-.08em;font-size:8rem}
}
@media (prefers-reduced-motion:reduce){
  .process-stage-visual,.process-index::after,.process-index a,.process-index a::before{transition:none}
}

/* ======================================================
   PRODUCTS / RESOURCES
   ====================================================== */
.feature-list{list-style:none;display:grid;gap:.55rem;margin-top:1.1rem}
.feature-list li{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem;color:var(--mist)}
.feature-list li::before{
  content:"";flex:0 0 auto;width:14px;height:14px;margin-top:.25rem;
  background:radial-gradient(circle at 35% 35%,var(--glow),var(--nephelo));
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.soon-tag{
  font-family:var(--font-mono);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--mist);padding:.3rem .7rem;border-radius:999px;border:1px dashed rgba(160,210,255,.35);
  display:inline-block;margin-bottom:1rem;
}

/* ======================================================
   LEGAL PAGES (Privacy / Terms)
   ====================================================== */
.legal{max-width:820px;margin-inline:auto;padding:2.6rem clamp(1.4rem,4vw,3rem);border-radius:26px}
.legal .updated{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);margin-bottom:2rem;display:block}
.legal h2{font-size:1.35rem;letter-spacing:-.015em;margin:2.2rem 0 .8rem;display:flex;gap:.8rem;align-items:baseline}
.legal h2:first-of-type{margin-top:0}
.legal h2 .lnum{font-family:var(--font-mono);font-size:.78rem;color:var(--glow);font-weight:400;letter-spacing:.1em}
.legal p{font-size:.97rem;margin-bottom:.9rem}
.legal ul{margin:0 0 .9rem 1.2rem;display:grid;gap:.5rem}
.legal li{font-size:.95rem}
.legal li b{color:var(--frost)}
.legal a{color:var(--glow);text-decoration:underline;text-underline-offset:3px}
.draft-note{
  padding:1rem 1.2rem;border-radius:14px;margin-bottom:2rem;font-size:.92rem;
  background:rgba(124,111,240,.08);border:1px solid rgba(124,111,240,.3);color:#cfc8f5;
}

/* ======================================================
   LIQUID-GLASS CAROUSEL (home) — all scoped under .lg
   ====================================================== */
.lg{position:relative}
.lg .lg-carousel{position:relative;height:610px;user-select:none;perspective:1700px;touch-action:pan-y}
.lg .lg-stage{position:absolute;inset:16px 0 104px;display:grid;place-items:center;transform-style:preserve-3d}
.lg .lg-stage::before{position:absolute;content:"";top:47%;left:50%;width:min(860px,84vw);height:220px;border-radius:50%;background:radial-gradient(ellipse,rgba(52,160,219,.16),transparent 67%);filter:blur(30px);transform:translate(-50%,-50%)}
.lg .card-shell{position:absolute;width:340px;height:450px;border:0;padding:0;color:inherit;background:transparent;cursor:pointer;transform-style:preserve-3d;will-change:transform,opacity}
.lg .card-layer{position:absolute;inset:0;display:block;overflow:hidden;padding:28px;border:1px solid rgba(164,230,255,.26);border-radius:34px;text-align:left;background:radial-gradient(circle at 12% 0%,rgba(137,229,255,.19),transparent 35%),radial-gradient(circle at 88% 86%,rgba(20,113,181,.23),transparent 44%),linear-gradient(145deg,rgba(17,53,82,.8),rgba(4,18,32,.76));box-shadow:0 36px 90px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(64,188,242,.11);transform:translateZ(0)}
.lg .card-layer::before{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(118deg,transparent 18%,rgba(255,255,255,.14) 40%,transparent 54%),repeating-linear-gradient(108deg,transparent 0 45px,rgba(120,214,255,.04) 46px 47px);transform:translateX(-35%)}
.lg .card-layer::after{position:absolute;inset:1px;content:"";pointer-events:none;border:1px solid rgba(190,239,255,.11);border-radius:33px;box-shadow:inset 0 0 32px rgba(83,190,234,.07)}
.lg .card-base{z-index:1;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}
.lg .card-crystal{z-index:4;pointer-events:none;opacity:0;clip-path:circle(0% at 50% 50%);will-change:clip-path,opacity}
.lg .ripple-ring{position:absolute;z-index:6;top:50%;left:50%;width:90px;height:90px;pointer-events:none;border:1px solid rgba(190,241,255,.74);border-radius:50%;opacity:0;box-shadow:0 0 16px rgba(96,215,255,.55),inset 0 0 12px rgba(105,221,255,.24);transform:translate(-50%,-50%) scale(.25)}
.lg .ripple-ring::before,.lg .ripple-ring::after{position:absolute;inset:-18px;content:"";border:1px solid rgba(124,221,255,.32);border-radius:inherit}
.lg .ripple-ring::after{inset:-38px;border-color:rgba(103,202,245,.16)}
.lg .card-icon{position:relative;z-index:2;width:54px;height:54px;display:grid;place-items:center;color:#dff8ff;border:1px solid rgba(163,229,255,.22);border-radius:18px;background:linear-gradient(135deg,rgba(112,217,255,.17),rgba(8,52,83,.14));box-shadow:inset 0 1px rgba(255,255,255,.14),0 8px 30px rgba(0,108,169,.2)}
.lg .card-icon svg{width:25px;height:25px}
.lg .card-content{position:relative;z-index:2;display:flex;flex-direction:column;margin-top:64px}
.lg .card-label{margin-bottom:12px;color:#65d4ff;font-size:.71rem;font-weight:730;letter-spacing:.14em;text-transform:uppercase}
.lg .card-title{font-family:var(--font-display);color:var(--frost);font-size:3rem;font-weight:550;letter-spacing:-.055em;line-height:1}
.lg .card-description{margin-top:18px;color:#9db4c6;font-size:.93rem;line-height:1.62}
.lg .card-footer{position:absolute;z-index:2;right:28px;bottom:26px;left:28px;display:flex;align-items:center;justify-content:space-between;color:#7894aa;font-size:.75rem}
.lg .card-arrow{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(161,227,255,.2);border-radius:50%;color:#dff7ff;background:rgba(17,72,107,.5)}
.lg .lg-controls{position:absolute;z-index:20;bottom:36px;left:50%;display:flex;align-items:center;gap:16px;transform:translateX(-50%)}
.lg .control-button{min-width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid rgba(144,218,250,.2);border-radius:999px;color:#daf5ff;background:rgba(10,37,59,.74);box-shadow:inset 0 1px rgba(255,255,255,.07);cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.lg .control-button:hover{border-color:rgba(135,226,255,.38);background:rgba(19,99,145,.72);transform:translateY(-2px)}
.lg .control-button svg{width:19px;height:19px}
.lg .lg-dots{display:flex;align-items:center;gap:7px;margin:0 3px}
.lg .dot{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:rgba(155,214,244,.27);cursor:pointer;transition:width .22s ease,background .22s ease}
.lg .dot.active{width:25px;background:#66d3ff;box-shadow:0 0 12px rgba(102,211,255,.58)}
.lg .lg-hint{margin:16px 0 0;color:#5f7a8f;text-align:center;font-size:.72rem;letter-spacing:.04em}
@media (max-width:760px){
  .lg .lg-carousel{height:560px}
  .lg .lg-stage{inset:16px 0 112px}
  .lg .card-shell{width:294px;height:410px}
  .lg .card-layer{padding:24px;border-radius:30px}
  .lg .card-layer::after{border-radius:29px}
  .lg .card-content{margin-top:52px}
  .lg .card-title{font-size:2.52rem}
  .lg .card-description{font-size:.86rem}
  .lg .card-footer{right:24px;bottom:22px;left:24px}
  .lg .lg-controls{bottom:44px;gap:9px}
}
@media (prefers-reduced-motion:reduce){
  .lg .card-crystal,.lg .ripple-ring{display:none}
}

/* ============ CURSOR GLOW (all pages, desktop only) ============ */
.cursor-glow{position:fixed;top:0;left:0;width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle,rgba(var(--c-glow),.10),transparent 60%);
  pointer-events:none;z-index:1;transform:translate(-50%,-50%);mix-blend-mode:screen;opacity:0;
  transition:opacity .4s ease;will-change:left,top}
.cursor-glow.on{opacity:1}
@media (pointer:coarse){.cursor-glow{display:none}}

/* ======================================================
   TESTIMONIALS + CUSTOMER LOGOS (home)
   Auto-scrolling marquees that pause on hover.
   ====================================================== */
#testimonials{padding-block:5.5rem}
.quote-marquee{width:var(--rail);margin:2.4rem auto 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.quote-track{display:flex;gap:2rem;width:max-content;padding:.4rem 1rem}
@media (prefers-reduced-motion:no-preference){
  .quote-track{animation:quote-scroll 56s linear infinite}
  .quote-marquee:hover .quote-track{animation-play-state:paused}
}
@keyframes quote-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.quote{flex:0 0 clamp(320px,34vw,440px);display:flex;flex-direction:column;padding:0 1.6rem;border-left:1px solid var(--glass-line)}
.quote-mark{font-family:var(--font-display);font-size:3.4rem;line-height:.7;color:var(--nephelo);opacity:.8;margin-bottom:.4rem}
.quote blockquote{color:var(--frost);font-size:1.02rem;line-height:1.6;font-style:normal}
.quote figcaption{margin-top:1.3rem;display:flex;flex-direction:column;gap:.15rem}
.quote figcaption b{color:var(--frost);font-family:var(--font-display);font-weight:600;font-size:.98rem}
.quote figcaption span{color:var(--mist);font-size:.85rem}
.quote-logo{margin-top:1.05rem;height:28px;max-width:130px;width:auto;object-fit:contain;opacity:.92;display:block}
.quote-logo--placeholder{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:26px;min-width:88px;padding:0 12px;border:1px dashed var(--glass-line-bright);border-radius:8px;color:var(--mist);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;opacity:.55;filter:none}

.logo-strip-label{margin:3.4rem auto 1.3rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);opacity:.75}
.logo-marquee{position:relative;width:var(--rail);margin-inline:auto;overflow:hidden;
  background:#fbfdff;border:1px solid rgba(255,255,255,.55);border-radius:18px;
  box-shadow:0 18px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.85)}
.logo-marquee::before,.logo-marquee::after{content:"";position:absolute;top:0;bottom:0;width:9%;z-index:2;pointer-events:none}
.logo-marquee::before{left:0;background:linear-gradient(90deg,#fbfdff,transparent)}
.logo-marquee::after{right:0;background:linear-gradient(270deg,#fbfdff,transparent)}
.logo-track{display:flex;align-items:center;gap:1rem;width:max-content;padding:1.1rem 1.4rem}
@media (prefers-reduced-motion:no-preference){
  .logo-track{animation:logo-scroll 48s linear infinite}
  .logo-marquee:hover .logo-track{animation-play-state:paused}
}
@keyframes logo-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.logo-tile{flex:0 0 auto;display:grid;place-items:center;height:46px;padding:0 14px;
  filter:grayscale(100%);opacity:.6;transition:filter .3s ease,opacity .3s ease}
.logo-tile:hover{filter:none;opacity:1}
.logo-tile img{max-height:40px;max-width:140px;width:auto;object-fit:contain;display:block}
@media (prefers-reduced-motion:reduce){
  .quote-marquee,.logo-marquee{overflow-x:auto}
  .quote-track,.logo-track{animation:none}
}
@media (max-width:640px){
  #testimonials{padding-block:4rem}
  .quote{flex-basis:80vw}
  .logo-tile{height:40px;padding:0 10px}
  .logo-tile img{max-height:32px;max-width:118px}
}

/* ======================================================
   PURPOSE — vertical strategy timeline (Mission/Vision/Approach)
   ====================================================== */
.strategy-section{position:relative;overflow:hidden}
.strategy-section::before{position:absolute;top:6%;right:-60px;width:520px;height:520px;content:"";pointer-events:none;border:1px solid rgba(104,207,249,.08);border-radius:50%;box-shadow:0 0 0 72px rgba(72,178,226,.025),0 0 0 144px rgba(72,178,226,.018)}
.strategy-section::after{position:absolute;top:18%;right:3%;width:420px;height:420px;content:"";pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(36,166,226,.10),transparent 68%);filter:blur(28px)}
.strategy-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(56px,7vw,120px);align-items:start}
.strategy-intro{position:sticky;top:96px;max-width:430px}
.strategy-intro h2{margin:.6rem 0 1.1rem;font-size:clamp(2rem,3.6vw,3.3rem);line-height:1.08;letter-spacing:-.04em}
.strategy-intro p{max-width:400px;color:var(--mist);line-height:1.75}
.strategy-caption{display:inline-flex;align-items:center;gap:9px;margin-top:1.6rem;color:var(--mist);opacity:.8;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em}
.strategy-caption::before{width:6px;height:6px;content:"";border-radius:50%;background:var(--glow);box-shadow:0 0 14px rgba(105,213,255,.72)}
.strategy-timeline{position:relative;display:flex;flex-direction:column}
.strategy-rail{position:absolute;top:18px;bottom:30px;left:36px;width:1px;overflow:hidden;background:rgba(137,215,250,.13)}
.strategy-rail-progress{display:block;width:100%;height:100%;background:linear-gradient(180deg,transparent,rgba(101,211,255,.88) 15%,rgba(43,143,205,.52) 72%,transparent);transform-origin:top;animation:strategyPulse 5s ease-in-out infinite}
@keyframes strategyPulse{0%,100%{opacity:.45;transform:scaleY(.78)}50%{opacity:1;transform:scaleY(1)}}
.strategy-item{position:relative;display:grid;grid-template-columns:74px minmax(0,1fr);gap:30px;min-height:150px;padding:12px 0 52px}
.strategy-item:not(:last-child)::after{position:absolute;right:0;bottom:26px;left:108px;height:1px;content:"";background:linear-gradient(90deg,rgba(126,211,247,.17),rgba(126,211,247,.03),transparent)}
.strategy-marker{position:relative;z-index:2;width:74px;height:74px;display:grid;place-items:center;border:1px solid rgba(126,218,255,.26);border-radius:50%;color:rgba(220,247,255,.76);background:radial-gradient(circle,rgba(41,150,202,.24),rgba(5,24,39,.9));box-shadow:0 0 0 9px rgba(56,171,222,.025),0 0 34px rgba(66,189,239,.13),inset 0 1px 0 rgba(255,255,255,.11)}
.strategy-marker::after{position:absolute;width:7px;height:7px;content:"";border-radius:50%;background:var(--glow);box-shadow:0 0 13px rgba(98,211,255,.92)}
.strategy-marker span{position:absolute;top:-7px;right:-4px;padding:4px 6px;border-radius:999px;color:var(--glow);background:#071827;font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.09em}
.strategy-content{max-width:650px;padding-top:6px}
.strategy-meta{display:flex;align-items:center;gap:11px;margin-bottom:18px;color:var(--glow);font-family:var(--font-mono);font-size:.84rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.strategy-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(116,211,250,.17);border-radius:12px;background:rgba(12,70,102,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.strategy-icon svg{width:21px;height:21px}
.strategy-content h3{max-width:620px;margin:0;font-size:clamp(1.15rem,1.85vw,1.5rem);font-weight:550;line-height:1.28;letter-spacing:-.02em}
@media (max-width:900px){
  .strategy-layout{grid-template-columns:1fr;gap:48px}
  .strategy-intro{position:static;max-width:650px}
}
@media (max-width:600px){
  .strategy-rail{left:24px}
  .strategy-item{grid-template-columns:50px minmax(0,1fr);gap:20px;min-height:auto;padding-bottom:48px}
  .strategy-marker{width:50px;height:50px}
  .strategy-marker span{top:-11px;right:-8px}
  .strategy-item:not(:last-child)::after{left:72px}
  .strategy-meta{margin-bottom:14px}
  .strategy-icon{width:34px;height:34px}
}
@media (prefers-reduced-motion:reduce){.strategy-rail-progress{animation:none}}

/* ======================================================
   APPROACH — horizontal delivery timeline (Discover → Drive)
   ====================================================== */
.delivery-section{position:relative;overflow:hidden}
.delivery-section::before{position:absolute;top:8%;left:-190px;width:470px;height:470px;content:"";pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(26,144,205,.11),transparent 68%);filter:blur(32px)}
.delivery-section::after{position:absolute;right:0;bottom:4%;width:360px;height:360px;content:"";pointer-events:none;border:1px solid rgba(104,207,249,.06);border-radius:50%;box-shadow:0 0 0 58px rgba(72,178,226,.018),0 0 0 116px rgba(72,178,226,.012)}
.delivery-header{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,.7fr);gap:clamp(40px,7vw,100px);align-items:end}
.delivery-header h2{margin:.6rem 0 0;font-size:clamp(2rem,4vw,3.3rem);line-height:1.06;letter-spacing:-.04em}
.delivery-header p{max-width:530px;margin:0 0 .4rem;color:var(--mist);line-height:1.75}
.delivery-timeline{position:relative;z-index:2;margin-top:5rem;padding:0 16px}
.delivery-rail{position:absolute;top:84px;right:42px;left:42px;height:2px;background:rgba(126,213,250,.13)}
.delivery-rail::before{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(75,193,240,.15),rgba(104,221,255,.88),rgba(66,122,255,.58),rgba(75,193,240,.15));background-size:220% 100%;filter:drop-shadow(0 0 8px rgba(85,207,255,.48));animation:deliveryFlow 5.5s linear infinite}
.delivery-rail::after{position:absolute;top:50%;right:-2px;width:9px;height:9px;content:"";border-top:1px solid rgba(117,220,255,.76);border-right:1px solid rgba(117,220,255,.76);transform:translateY(-50%) rotate(45deg);filter:drop-shadow(0 0 6px rgba(95,207,255,.72))}
@keyframes deliveryFlow{from{background-position:200% 0}to{background-position:-20% 0}}
.delivery-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3.5vw,56px)}
.delivery-step{position:relative;min-width:0;text-align:left}
.delivery-step-label{min-height:46px;display:flex;align-items:flex-start;justify-content:center;color:var(--glow);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-align:center;text-transform:uppercase}
.delivery-node-wrap{position:relative;height:68px;display:grid;place-items:center}
.delivery-node{position:relative;z-index:3;width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(133,224,255,.34);border-radius:50%;color:#ddf8ff;background:radial-gradient(circle at 35% 30%,rgba(134,226,255,.26),transparent 34%),linear-gradient(145deg,rgba(16,73,106,.94),rgba(5,22,37,.96));box-shadow:0 0 0 9px rgba(63,181,229,.026),0 0 30px rgba(70,194,242,.22),inset 0 1px 0 rgba(255,255,255,.13)}
.delivery-node::before{position:absolute;inset:-8px;content:"";border:1px solid rgba(100,205,247,.10);border-radius:inherit}
.delivery-node svg{width:21px;height:21px}
.delivery-step:nth-child(2) .delivery-node,.delivery-step:nth-child(4) .delivery-node{border-color:rgba(126,159,255,.34);box-shadow:0 0 0 9px rgba(79,107,231,.025),0 0 30px rgba(74,124,240,.20),inset 0 1px 0 rgba(255,255,255,.13)}
.delivery-content{position:relative;padding-top:28px}
.delivery-content::before{position:absolute;top:0;left:0;width:34px;height:1px;content:"";background:linear-gradient(90deg,rgba(106,214,255,.58),transparent);box-shadow:0 0 9px rgba(86,200,247,.28)}
.delivery-content h3{margin:0 0 12px;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:570;line-height:1.18;letter-spacing:-.03em}
.delivery-content p{margin:0;color:var(--mist);font-size:.92rem;line-height:1.7}
@media (max-width:900px){
  .delivery-header{grid-template-columns:1fr;gap:1.4rem;align-items:start}
  .delivery-timeline{margin-top:3rem;padding:0}
  .delivery-rail{top:0;bottom:0;left:26px;right:auto;width:2px;height:auto}
  .delivery-rail::before{background:linear-gradient(180deg,rgba(75,193,240,.15),rgba(104,221,255,.88),rgba(66,122,255,.58),rgba(75,193,240,.15));background-size:100% 220%;animation-name:deliveryFlowV}
  .delivery-rail::after{top:auto;bottom:-2px;right:auto;left:50%;transform:translateX(-50%) rotate(135deg)}
  @keyframes deliveryFlowV{from{background-position:0 200%}to{background-position:0 -20%}}
  .delivery-steps{grid-template-columns:1fr;gap:0}
  .delivery-step{display:grid;grid-template-columns:54px minmax(0,1fr);gap:22px;align-items:start;padding-bottom:34px;text-align:left}
  .delivery-step-label{grid-column:2;min-height:0;justify-content:flex-start;margin-bottom:6px}
  .delivery-node-wrap{height:auto}
  .delivery-content{padding-top:6px}
  .delivery-content::before{display:none}
}
@media (prefers-reduced-motion:reduce){.delivery-rail::before{animation:none}}

/* ======================================================
   ABOUT PAGE — editorial overview + connected principles
   ====================================================== */
.about-editorial{padding-top:1.5rem}
.about-overview{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);
  gap:clamp(3.5rem,7vw,7.5rem);
  padding:2.2rem 0 5.25rem;
  border-bottom:1px solid rgba(160,210,255,.16);
}
.about-overview::after{
  position:absolute;
  right:0;
  bottom:-1px;
  width:min(36%,420px);
  height:1px;
  content:"";
  background:linear-gradient(90deg,transparent,rgba(111,210,255,.58));
  box-shadow:0 0 14px rgba(52,160,219,.2);
}
.about-narrative{display:grid;align-content:start;gap:clamp(2rem,4vw,3.25rem)}
.about-copy-block{position:relative;max-width:610px;padding-top:1.15rem}
.about-copy-block::before{
  position:absolute;
  top:0;
  left:0;
  width:42px;
  height:1px;
  content:"";
  background:linear-gradient(90deg,var(--glow),rgba(111,210,255,.08));
}
.about-copy-block h3{
  margin:0 0 .85rem;
  font-size:clamp(1.28rem,2vw,1.62rem);
  letter-spacing:-.025em;
}
.about-copy-block p{font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.78}
.about-copy-block a{
  color:var(--glow);
  text-decoration:underline;
  text-decoration-color:rgba(111,210,255,.5);
  text-underline-offset:4px;
  transition:color .25s,text-decoration-color .25s;
}
.about-copy-block a:hover{color:var(--frost);text-decoration-color:var(--glow)}

.about-facts{display:grid;align-content:start}
.about-fact{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:1.35rem;
  align-items:start;
  padding:1.55rem 0;
  border-top:1px solid rgba(160,210,255,.15);
}
.about-fact:last-child{border-bottom:1px solid rgba(160,210,255,.15)}
.about-fact-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border:1px solid rgba(111,210,255,.22);
  border-radius:17px;
  color:var(--glow);
  background:linear-gradient(145deg,rgba(14,68,105,.86),rgba(7,31,54,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 28px rgba(0,0,0,.2),0 0 24px rgba(52,160,219,.08);
}
.about-fact-icon svg{width:25px;height:25px}
.about-fact h3{
  margin:.15rem 0 .4rem;
  font-size:clamp(1.12rem,1.7vw,1.42rem);
  letter-spacing:-.025em;
}
.about-fact p{max-width:49ch;font-size:.98rem;line-height:1.65}

.about-principles-head{max-width:760px;margin-top:5rem}
.about-principles-head h2{
  margin:1rem 0 0;
  font-size:clamp(2rem,4vw,3.1rem);
  line-height:1.08;
  letter-spacing:-.04em;
}
.about-principles{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(1.4rem,3vw,3rem);
  margin-top:3.4rem;
}
.about-principles::before{
  position:absolute;
  top:28px;
  right:12.5%;
  left:12.5%;
  height:2px;
  content:"";
  background:linear-gradient(90deg,rgba(111,210,255,.1),rgba(111,210,255,.72) 18%,rgba(124,111,240,.58) 82%,rgba(111,210,255,.1));
  box-shadow:0 0 13px rgba(52,160,219,.16);
}
.about-principle{position:relative;z-index:1;min-width:0}
.about-principle-node{
  position:relative;
  z-index:2;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin-inline:auto;
  border:1px solid rgba(111,210,255,.4);
  border-radius:50%;
  color:var(--glow);
  background:radial-gradient(circle at 35% 28%,rgba(111,210,255,.2),transparent 35%),linear-gradient(145deg,rgba(16,62,92,.98),rgba(7,22,38,.98));
  box-shadow:0 0 0 8px var(--void),0 0 30px rgba(52,160,219,.2),inset 0 1px 0 rgba(255,255,255,.13);
}
.about-principle-node svg{
  width:24px;
  height:24px;
  filter:drop-shadow(0 0 7px rgba(111,210,255,.26));
}
.about-principle-copy{padding-top:1.6rem;text-align:left}
.about-principle-copy::before{
  display:block;
  width:32px;
  height:1px;
  margin-bottom:1rem;
  content:"";
  background:linear-gradient(90deg,rgba(111,210,255,.68),transparent);
}
.about-principle h3{
  min-height:2.7em;
  margin:0 0 .65rem;
  font-size:clamp(1.08rem,1.65vw,1.35rem);
  line-height:1.26;
  letter-spacing:-.025em;
}
.about-principle p{font-size:.94rem;line-height:1.65}
.about-cta{margin-top:5rem}

@media (max-width:980px){
  .about-overview{grid-template-columns:1fr;gap:3.5rem;padding-bottom:4.25rem}
  .about-copy-block{max-width:760px}
  .about-facts{max-width:760px}
  .about-principles{
    grid-template-columns:1fr;
    gap:0;
    margin-top:3rem;
    padding-left:0;
  }
  .about-principles::before{
    top:28px;
    bottom:28px;
    left:28px;
    right:auto;
    width:2px;
    height:auto;
    background:linear-gradient(180deg,rgba(111,210,255,.1),rgba(111,210,255,.72) 18%,rgba(124,111,240,.58) 82%,rgba(111,210,255,.1));
  }
  .about-principle{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:1.5rem;
    align-items:start;
    padding-bottom:2.6rem;
  }
  .about-principle:last-child{padding-bottom:0}
  .about-principle-node{margin:0;box-shadow:0 0 0 8px var(--void),0 0 30px rgba(52,160,219,.2),inset 0 1px 0 rgba(255,255,255,.13)}
  .about-principle-copy{padding-top:.35rem}
  .about-principle-copy::before{display:none}
  .about-principle h3{min-height:0}
}

@media (max-width:680px){
  .about-editorial{padding-top:.5rem}
  .about-overview{gap:2.8rem;padding:1.5rem 0 3.5rem}
  .about-narrative{gap:2.25rem}
  .about-copy-block{padding-top:1rem}
  .about-copy-block p{font-size:1rem;line-height:1.72}
  .about-fact{grid-template-columns:52px minmax(0,1fr);gap:1rem;padding:1.25rem 0}
  .about-fact-icon{width:52px;height:52px;border-radius:15px}
  .about-fact-icon svg{width:21px;height:21px}
  .about-fact h3{margin-top:.05rem;font-size:1.08rem}
  .about-fact p{font-size:.92rem}
  .about-principles-head{margin-top:4rem}
  .about-principles{margin-top:2.5rem}
  .about-principles::before{left:24px;top:24px;bottom:24px}
  .about-principle{grid-template-columns:50px minmax(0,1fr);gap:1.15rem;padding-bottom:2.3rem}
  .about-principle-node{width:50px;height:50px;box-shadow:0 0 0 7px var(--void),0 0 24px rgba(52,160,219,.18),inset 0 1px 0 rgba(255,255,255,.12)}
  .about-principle-node svg{width:21px;height:21px}
  .about-principle-copy{padding-top:.15rem}
  .about-principle h3{font-size:1.08rem}
  .about-principle p{font-size:.92rem}
  .about-cta{margin-top:4rem}
}


/* ======================================================
   PRODUCTS PAGE — flowing ribbon journey
   ====================================================== */
.products-ribbon-page{position:relative;overflow:hidden}
.products-ribbon-head{max-width:62ch;margin-bottom:1.25rem}
.products-ribbon-head h2{font-size:clamp(1.9rem,3.6vw,3rem);letter-spacing:-.03em;margin:.9rem 0 1rem}
.products-ribbon-head p{font-size:1rem;max-width:58ch}
.products-ribbon-flow{
  position:relative;
  padding:2rem 0 1.5rem;
  display:grid;
  gap:6rem;
}
.products-ribbon-svg{
  position:absolute;
  inset:2.6rem 0 2rem;
  width:100%;
  height:calc(100% - 4.6rem);
  pointer-events:none;
}
.product-ribbon-item{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 140px minmax(0,1fr);
  align-items:center;
  column-gap:clamp(1.5rem,3vw,3.3rem);
  min-height:430px;
}
.product-ribbon-item-left .product-ribbon-card{grid-column:1;grid-row:1}
.product-ribbon-item-left .product-ribbon-node{grid-column:2;grid-row:1}
.product-ribbon-item-right .product-ribbon-card{grid-column:3;grid-row:1}
.product-ribbon-item-right .product-ribbon-node{grid-column:2;grid-row:1}
.product-ribbon-node{
  display:grid;
  place-items:center;
  position:relative;
  z-index:2;
}
.product-ribbon-node::before{
  content:"";
  position:absolute;
  inset:14px;
  border-radius:50%;
  background:radial-gradient(circle,var(--product-accent-glow),transparent 72%);
  filter:blur(16px);
  opacity:.9;
}
.product-ribbon-node-shell{
  position:relative;
  width:120px;
  height:120px;
  border-radius:38px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 28% 24%,rgba(255,255,255,.22),transparent 36%),
    linear-gradient(145deg,color-mix(in srgb,var(--product-accent) 74%,white 8%),rgba(6,14,24,.98));
  border:1px solid color-mix(in srgb,var(--product-accent) 52%,white 10%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 0 0 10px rgba(5,9,16,.95),
    0 22px 42px rgba(0,0,0,.34),
    0 0 26px var(--product-accent-soft);
}
.product-ribbon-node-shell svg{width:66px;height:66px;display:block}
.product-ribbon-node-kilnor{background:
    radial-gradient(circle at 28% 24%,rgba(255,255,255,.12),transparent 38%),
    linear-gradient(145deg,rgba(242,107,31,.18),rgba(18,10,8,.96) 64%,rgba(194,96,60,.24));}
.product-ribbon-node-pitch{background:
    radial-gradient(circle at 28% 24%,rgba(255,255,255,.16),transparent 38%),
    linear-gradient(145deg,rgba(74,107,130,.34),rgba(14,18,24,.98) 58%,rgba(255,107,0,.16));}
.product-ribbon-node-property{background:
    radial-gradient(circle at 28% 24%,rgba(255,255,255,.16),transparent 38%),
    linear-gradient(145deg,rgba(52,160,219,.3),rgba(8,16,28,.98) 62%,rgba(124,111,240,.14));}
.product-ribbon-card{
  padding:2.3rem 2.25rem;
  border-radius:28px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04)),
    linear-gradient(155deg,rgba(5,9,16,.86),rgba(11,21,36,.9) 72%);
  box-shadow:0 24px 56px rgba(0,0,0,.2);
}
.product-ribbon-card::after{
  content:"";
  position:absolute;
  inset:auto auto 1.15rem 2.25rem;
  width:56px;
  height:2px;
  background:linear-gradient(90deg,var(--product-accent),transparent);
  border-radius:999px;
  opacity:.9;
}
.product-ribbon-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
  align-items:center;
  margin-bottom:1.1rem;
}
.product-status,
.product-label{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.48rem .92rem;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.product-status-dev{
  color:#ffd7a7;
  background:rgba(242,107,31,.1);
  border:1px solid rgba(242,107,31,.32);
}
.product-status-live{
  color:#dff7ff;
  background:rgba(52,160,219,.12);
  border:1px solid rgba(52,160,219,.34);
}
.product-label{
  color:var(--frost);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.product-ribbon-card h3{font-size:clamp(1.55rem,2.8vw,2.1rem);letter-spacing:-.03em;margin-bottom:.85rem}
.product-ribbon-tagline{font-size:1rem;color:var(--mist);max-width:58ch}
.product-ribbon-points{list-style:none;display:grid;gap:.72rem;margin:1.35rem 0 0}
.product-ribbon-points li{display:flex;gap:.8rem;align-items:flex-start;font-size:.96rem;color:var(--mist)}
.product-ribbon-points li::before{
  content:"";
  width:15px;
  height:15px;
  flex:0 0 auto;
  margin-top:.26rem;
  background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--product-accent) 30%,white 25%),var(--product-accent));
  box-shadow:0 0 12px color-mix(in srgb,var(--product-accent) 48%,transparent);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.product-ribbon-points strong{color:var(--frost);font-weight:600}
.product-ribbon-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.6rem}
.product-ribbon-actions .btn{padding:.82rem 1.45rem}

@media (max-width:980px){
  .products-ribbon-flow{gap:4rem}
  .product-ribbon-item{
    grid-template-columns:90px minmax(0,1fr);
    column-gap:1.15rem;
    min-height:0;
    align-items:start;
  }
  .products-ribbon-svg{
    left:0;
    width:160px;
    height:calc(100% - 4rem);
  }
  .product-ribbon-item-left .product-ribbon-card,
  .product-ribbon-item-right .product-ribbon-card{grid-column:2}
  .product-ribbon-item-left .product-ribbon-node,
  .product-ribbon-item-right .product-ribbon-node{grid-column:1}
  .product-ribbon-node{justify-self:start}
  .product-ribbon-node-shell{width:86px;height:86px;border-radius:28px;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 0 8px rgba(5,9,16,.95),0 16px 32px rgba(0,0,0,.28),0 0 18px var(--product-accent-soft)}
  .product-ribbon-node-shell svg{width:48px;height:48px}
  .product-ribbon-card{padding:1.8rem 1.4rem 1.8rem 1.45rem}
  .product-ribbon-card::after{left:1.45rem}
}

@media (max-width:640px){
  .products-ribbon-head h2{font-size:clamp(1.7rem,8vw,2.25rem)}
  .products-ribbon-flow{gap:3rem}
  .products-ribbon-svg{width:120px;inset:2rem auto 1rem 0;height:calc(100% - 3rem)}
  .product-ribbon-item{grid-template-columns:74px minmax(0,1fr)}
  .product-ribbon-node-shell{width:72px;height:72px;border-radius:24px}
  .product-ribbon-node-shell svg{width:40px;height:40px}
  .product-ribbon-meta{gap:.6rem}
  .product-ribbon-card h3{font-size:1.45rem}
  .product-ribbon-tagline,.product-ribbon-points li{font-size:.93rem}
}

/* Products ribbon spotlight */
.products-ribbon-motion-path{opacity:.7}
.products-ribbon-sweep,
.products-ribbon-spotlight{pointer-events:none}
.products-ribbon-sweep{opacity:.48;mix-blend-mode:screen}
.products-ribbon-spotlight{opacity:.72;mix-blend-mode:screen}
.products-ribbon-spotlight-halo{opacity:.58}
.products-ribbon-spotlight-ring{opacity:.48}
.products-ribbon-spotlight-core{filter:drop-shadow(0 0 11px rgba(111,210,255,.72))}
.product-ribbon-node-shell,
.product-ribbon-card{
  transition:transform .55s var(--ease-out),border-color .55s var(--ease-out),box-shadow .55s var(--ease-out),background .55s var(--ease-out);
}
.product-ribbon-item.is-spotlit .product-ribbon-node-shell{
  transform:scale(1.08);
  border-color:color-mix(in srgb,var(--product-accent) 72%,white 20%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    0 0 0 10px rgba(5,9,16,.94),
    0 26px 48px rgba(0,0,0,.36),
    0 0 42px color-mix(in srgb,var(--product-accent) 62%,transparent);
}
.product-ribbon-item.is-spotlit .product-ribbon-card{
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--product-accent) 44%,var(--glass-line));
  box-shadow:0 28px 68px rgba(0,0,0,.28),0 0 34px var(--product-accent-glow);
}
@media (prefers-reduced-motion:reduce){
  .products-ribbon-sweep,
  .products-ribbon-spotlight{display:none}
  .product-ribbon-node-shell,
  .product-ribbon-card{transition:none}
}

@media (max-width:360px){
  .recaptcha-wrap{transform:scale(.9);transform-origin:left top;margin-bottom:-.45rem}
}

/* ======================================================
   PROPERTY FOR DYNAMICS — direct-access product pages
   ====================================================== */
.pd-updated{
  display:inline-flex;margin-top:1.4rem;padding:.48rem .9rem;border-radius:999px;
  border:1px solid var(--glass-line);background:rgba(255,255,255,.035);
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mist)
}
.pd-access-page,.pd-product-page{position:relative}
.pd-access-intro{padding-top:2.5rem}
.pd-access-layout{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.7fr);gap:clamp(3rem,7vw,7rem);align-items:start}
.pd-access-aside{position:sticky;top:132px;padding-bottom:2rem}
.pd-access-mark{
  width:96px;height:96px;margin-bottom:1.7rem;display:grid;place-items:center;border-radius:30px;
  color:var(--glow);background:linear-gradient(145deg,rgba(52,160,219,.2),rgba(124,111,240,.08));
  border:1px solid var(--glass-line-bright);box-shadow:0 20px 50px rgba(0,0,0,.24),0 0 36px rgba(52,160,219,.12)
}
.pd-access-mark svg{width:56px;height:56px}
.pd-access-aside h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:.9rem 0 .8rem}
.pd-access-aside>p:last-child{max-width:30ch}
.pd-access-content{display:grid;gap:0}
.pd-access-section{padding:0 0 4rem;border-bottom:1px solid var(--glass-line);margin-bottom:4rem}
.pd-access-section:last-child{border-bottom:0;margin-bottom:0}
.pd-access-section h2{font-size:clamp(1.65rem,3vw,2.45rem);margin:.85rem 0 1.2rem}
.pd-access-section>p{max-width:68ch}
.pd-access-section>p+p{margin-top:1rem}
.pd-access-section a{color:var(--glow);text-decoration:underline;text-underline-offset:4px}
.pd-access-steps{list-style:none;display:grid;margin:2.2rem 0 2.4rem;counter-reset:none}
.pd-access-steps li{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);gap:1.15rem;padding:1.45rem 0;border-top:1px solid var(--glass-line)}
.pd-access-steps li:last-child{border-bottom:1px solid var(--glass-line)}
.pd-access-step-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:var(--glow);background:rgba(52,160,219,.08);border:1px solid rgba(111,210,255,.22)}
.pd-access-step-icon svg{width:24px;height:24px}
.pd-access-step-number{display:block;margin-bottom:.35rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.18em;color:var(--glow)}
.pd-access-steps p{max-width:62ch;color:var(--frost)}
.pd-contact-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.pd-contact-details>div{min-width:0;padding:1.35rem 1.2rem;border-top:1px solid var(--glass-line-bright);background:linear-gradient(180deg,rgba(255,255,255,.04),transparent)}
.pd-contact-icon{width:38px;height:38px;margin-bottom:1rem;display:grid;place-items:center;border-radius:12px;color:var(--glow);background:rgba(52,160,219,.08)}
.pd-contact-icon svg{width:20px;height:20px}
.pd-contact-details span+div>span,.pd-contact-details div>div>span{display:block;margin-bottom:.35rem;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#7d92ab}
.pd-contact-details a,.pd-contact-details p{font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}

.pd-product-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:3rem;align-items:center}
.pd-product-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.pd-product-hero-mark{
  justify-self:end;width:min(330px,100%);aspect-ratio:1;display:grid;place-items:center;border-radius:42% 58% 52% 48% / 48% 42% 58% 52%;
  color:var(--glow);background:
    radial-gradient(circle at 35% 28%,rgba(111,210,255,.22),transparent 35%),
    linear-gradient(145deg,rgba(52,160,219,.16),rgba(124,111,240,.08));
  border:1px solid var(--glass-line);box-shadow:0 30px 80px rgba(0,0,0,.28),0 0 70px rgba(52,160,219,.1)
}
.pd-product-hero-mark svg{width:55%;height:55%;filter:drop-shadow(0 0 22px rgba(111,210,255,.24))}
.pd-product-intro{padding:2rem 0 4.5rem}
.pd-product-lead{max-width:74ch;padding-left:clamp(1.4rem,4vw,3rem);border-left:2px solid var(--glow)}
.pd-product-lead p{font-size:clamp(1.12rem,1.8vw,1.35rem);line-height:1.75;color:var(--frost)}
.pd-feature-journey{padding-top:2.5rem}
.pd-feature-journey>.rail{display:grid;gap:0}
.pd-feature-row{position:relative;display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(3rem,8vw,8rem);align-items:center;padding:5.2rem 0;border-top:1px solid var(--glass-line)}
.pd-feature-row:last-child{border-bottom:1px solid var(--glass-line)}
.pd-feature-row-reverse .pd-feature-visual{order:2}
.pd-feature-row-reverse .pd-feature-copy{order:1}
.pd-feature-visual{position:relative;min-height:280px;display:grid;place-items:center;color:var(--glow)}
.pd-feature-visual::before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(52,160,219,.16),transparent 68%);filter:blur(4px)}
.pd-feature-visual::after{content:"";position:absolute;width:190px;height:190px;border:1px solid var(--glass-line-bright);border-radius:38% 62% 56% 44% / 45% 40% 60% 55%;transform:rotate(10deg)}
.pd-feature-visual svg{position:relative;z-index:2;width:96px;height:96px;filter:drop-shadow(0 0 22px rgba(111,210,255,.22))}
.pd-feature-index{position:absolute;z-index:1;right:8%;bottom:0;font-family:var(--font-display);font-size:8rem;font-weight:700;line-height:1;color:rgba(111,210,255,.045)}
.pd-feature-copy h2{font-size:clamp(1.75rem,3.5vw,2.7rem);margin:.85rem 0 1.1rem}
.pd-feature-copy p+p{margin-top:1rem}
.pd-product-conclusion{padding-top:5rem}
.pd-conclusion-panel{max-width:920px;margin-inline:auto;padding:clamp(2rem,5vw,4rem);text-align:center;border-radius:32px}
.pd-conclusion-panel h2{font-size:clamp(1.8rem,4vw,3rem);margin:1rem auto 1.2rem;max-width:20ch}
.pd-conclusion-panel p{max-width:70ch;margin-inline:auto}
.pd-conclusion-panel p+p{margin-top:1rem}
.pd-conclusion-panel .btn{margin-top:2rem}

@media (max-width:980px){
  .pd-access-layout{grid-template-columns:1fr;gap:2.5rem}
  .pd-access-aside{position:relative;top:auto;display:grid;grid-template-columns:auto 1fr;column-gap:1.4rem;align-items:center}
  .pd-access-mark{grid-row:1 / span 3;margin:0}
  .pd-access-aside .eyebrow,.pd-access-aside h2,.pd-access-aside>p:last-child{grid-column:2}
  .pd-access-aside h2{margin:.35rem 0}
  .pd-product-hero-grid{grid-template-columns:1fr}
  .pd-product-hero-mark{justify-self:start;width:min(240px,65vw)}
  .pd-feature-row{grid-template-columns:220px minmax(0,1fr);gap:2.5rem}
  .pd-feature-row-reverse .pd-feature-visual{order:1}
  .pd-feature-row-reverse .pd-feature-copy{order:2}
}
@media (max-width:720px){
  .pd-contact-details{grid-template-columns:1fr}
  .pd-contact-details>div{display:grid;grid-template-columns:42px 1fr;gap:.8rem;align-items:start}
  .pd-contact-icon{margin:0}
  .pd-feature-row{grid-template-columns:1fr;gap:1.2rem;padding:3.4rem 0}
  .pd-feature-visual{min-height:190px;justify-content:start}
  .pd-feature-visual::before{width:170px;height:170px;left:0}
  .pd-feature-visual::after{width:145px;height:145px;left:12px}
  .pd-feature-visual svg{width:76px;height:76px;margin-left:48px}
  .pd-feature-index{right:auto;left:130px;font-size:6rem}
}
@media (max-width:520px){
  .pd-access-aside{display:block}
  .pd-access-mark{width:78px;height:78px;margin-bottom:1.2rem}
  .pd-access-mark svg{width:44px;height:44px}
  .pd-access-steps li{grid-template-columns:44px minmax(0,1fr);gap:.85rem}
  .pd-access-step-icon{width:42px;height:42px}
  .pd-product-hero-actions .btn,.pd-conclusion-panel .btn{width:100%;justify-content:center;text-align:center}
}


/* Property for Dynamics — direct-access Terms of Use */
.pd-terms-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);
  gap:3rem;
  align-items:center;
}
.pd-terms-hero-mark{
  width:min(300px,28vw);
  aspect-ratio:1;
  justify-self:end;
  display:grid;
  place-items:center;
  color:var(--glow);
  border:1px solid var(--glass-line-bright);
  border-radius:38% 62% 54% 46% / 44% 40% 60% 56%;
  background:radial-gradient(circle at 35% 30%,rgba(111,210,255,.16),rgba(52,160,219,.055) 58%,transparent 74%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 56px rgba(52,160,219,.12);
  transform:rotate(4deg);
}
.pd-terms-hero-mark svg{
  width:52%;
  height:52%;
  filter:drop-shadow(0 0 22px rgba(111,210,255,.22));
  transform:rotate(-4deg);
}
.pd-terms-page{position:relative}
.pd-terms-document{max-width:900px}
.pd-terms-document>.eyebrow{margin-bottom:.8rem}
.pd-terms-document .pd-terms-intro-title{
  display:block;
  margin:.2rem 0 1rem;
  font-size:clamp(1.75rem,3vw,2.4rem);
}
.pd-terms-document .pd-terms-intro-title::before{display:none}

@media (max-width:900px){
  .pd-terms-hero-grid{grid-template-columns:1fr}
  .pd-terms-hero-mark{justify-self:start;width:min(220px,60vw)}
}

/* ======================================================
   RESOURCES PAGE — adapted sticky editorial watchlist
   ====================================================== */
.resources-subhero{padding-bottom:3.5rem}
.resources-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1.7rem;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--mist);
}
.resources-meta-pulse{
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--glow);
  box-shadow:0 0 12px rgba(111,210,255,.85);
}
.resources-meta-sep{color:rgba(154,174,198,.38)}

.resources-editorial{
  display:grid;
  grid-template-columns:minmax(285px,.76fr) minmax(0,1.24fr);
  gap:clamp(3.6rem,8vw,8.4rem);
  align-items:stretch;
  position:relative;
}
.resources-editorial-aside{min-width:0}
.resources-editorial-sticky{
  position:sticky;
  top:8.1rem;
  min-height:calc(100vh - 9.8rem);
  display:flex;
  flex-direction:column;
  padding:1.1rem 0 2rem;
}
.resources-editorial-sticky h2{
  max-width:12ch;
  margin:1rem 0 1.25rem;
  font-size:clamp(1.7rem,3vw,2.55rem);
  letter-spacing:-.04em;
}
.resource-category-visuals{
  position:relative;
  min-height:225px;
  margin:.15rem 0 .85rem;
}
.resource-category-visual{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  grid-template-rows:1fr auto;
  align-items:center;
  opacity:0;
  transform:translateY(14px);
  pointer-events:none;
  transition:opacity .42s var(--ease-out),transform .42s var(--ease-out);
}
.resource-category-visual.is-active{opacity:1;transform:none}
.resource-category-watermark{
  grid-column:1/-1;
  grid-row:1/-1;
  align-self:center;
  font-family:var(--font-display);
  font-size:clamp(8.4rem,17vw,14rem);
  font-weight:700;
  font-style:italic;
  line-height:.74;
  letter-spacing:-.08em;
  color:rgba(111,210,255,.045);
  user-select:none;
}
.resource-category-icon{
  grid-column:1;
  grid-row:1;
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  border:1px solid var(--glass-line-bright);
  border-radius:28px;
  color:var(--glow);
  background:linear-gradient(145deg,rgba(52,160,219,.14),rgba(124,111,240,.055));
  box-shadow:0 20px 55px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.08);
}
.resource-category-icon svg{width:47px;height:47px}
.resource-category-word{
  grid-column:2;
  grid-row:1;
  max-width:18ch;
  align-self:center;
  font-family:var(--font-mono);
  font-size:.72rem;
  line-height:1.55;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--frost);
}
.resources-stats{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem .85rem;
  margin:.15rem 0 1.2rem;
  padding:.85rem 0;
  border-top:1px solid rgba(160,210,255,.09);
  border-bottom:1px solid rgba(160,210,255,.09);
  font-family:var(--font-mono);
  font-size:.64rem;
  line-height:1.5;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#71859c;
}
.resources-stats span{display:inline-flex;align-items:baseline;gap:.35rem}
.resources-stats b{font-size:.8rem;color:var(--glow);font-weight:500}
.resources-index{
  position:relative;
  display:grid;
  gap:.18rem;
  margin-top:auto;
  padding-left:1.4rem;
}
.resources-index::before,
.resources-index::after{
  content:"";
  position:absolute;
  left:4px;
  top:20px;
  bottom:20px;
  width:1px;
}
.resources-index::before{background:var(--glass-line)}
.resources-index::after{
  background:linear-gradient(180deg,var(--glow),var(--aurora));
  transform:scaleY(var(--resources-progress));
  transform-origin:top;
  transition:transform .5s var(--ease-out);
  box-shadow:0 0 12px rgba(111,210,255,.45);
}
.resources-index a{
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:.7rem;
  align-items:center;
  min-height:43px;
  color:#71859c;
  transition:color .25s,transform .25s var(--ease-out);
}
.resources-index a::before{
  content:"";
  position:absolute;
  left:-1.4rem;
  top:50%;
  width:9px;
  height:9px;
  border:2px solid var(--void);
  border-radius:50%;
  background:#40536a;
  transform:translate(-1px,-50%);
  transition:background .25s,box-shadow .25s,transform .25s;
}
.resources-index a:hover{color:var(--frost);transform:translateX(3px)}
.resources-index a.is-active{color:var(--frost)}
.resources-index a.is-active::before{
  background:var(--glow);
  box-shadow:0 0 0 4px rgba(111,210,255,.12),0 0 15px rgba(111,210,255,.65);
  transform:translate(-1px,-50%) scale(1.12);
}
.resources-index a span{
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.12em;
  color:var(--glow);
}
.resources-index a b{
  font-family:var(--font-display);
  font-size:.88rem;
  font-weight:600;
}

.resource-chapters{min-width:0;position:relative}
.resource-chapter{
  position:relative;
  min-height:min(82vh,820px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(5.4rem,10vh,8.5rem) 0;
  border-top:1px solid var(--glass-line);
  overflow:hidden;
  scroll-margin-top:7.5rem;
}
.resource-chapter:last-child{border-bottom:1px solid var(--glass-line)}
.resource-chapter::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:72px;
  height:1px;
  background:linear-gradient(90deg,var(--glow),transparent);
}
.resource-chapter>.eyebrow{margin-bottom:1.05rem}
.resource-chapter>h3{
  max-width:12ch;
  margin-bottom:1.1rem;
  font-size:clamp(2.25rem,5.4vw,4.65rem);
  letter-spacing:-.055em;
}
.resource-chapter-intro{
  max-width:62ch;
  margin-bottom:2.8rem;
  font-size:clamp(.98rem,1.2vw,1.07rem);
  line-height:1.72;
  color:var(--mist);
}
.resource-chapter-watermark{
  position:absolute;
  right:-.04em;
  top:18%;
  font-family:var(--font-display);
  font-size:clamp(8rem,18vw,16rem);
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:-.08em;
  color:rgba(111,210,255,.028);
  pointer-events:none;
  user-select:none;
}
.resource-chapter-marker{display:none}
.resource-list{
  position:relative;
  display:grid;
  border-top:1px solid rgba(160,210,255,.13);
}
.resource-entry{
  position:relative;
  display:grid;
  grid-template-columns:128px minmax(0,1fr);
  gap:clamp(1.4rem,3vw,2.4rem);
  padding:2.25rem 0 2.4rem;
  border-bottom:1px solid rgba(160,210,255,.13);
  isolation:isolate;
}
.resource-entry::before{
  content:"";
  position:absolute;
  inset:0 -1.35rem;
  z-index:-1;
  border-radius:18px;
  background:linear-gradient(100deg,rgba(52,160,219,.08),rgba(124,111,240,.035) 58%,transparent);
  opacity:0;
  transform:translateX(-10px);
  transition:opacity .35s var(--ease-out),transform .35s var(--ease-out);
}
.resource-entry:hover::before{opacity:1;transform:none}
.resource-entry-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.6rem;
  padding-top:.2rem;
}
.resource-entry-meta span{
  font-family:var(--font-display);
  font-size:2.25rem;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:-.06em;
  color:rgba(111,210,255,.28);
}
.resource-entry-meta b{
  font-family:var(--font-mono);
  font-size:.64rem;
  font-weight:500;
  line-height:1.55;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--aurora);
}
.resource-entry-copy{min-width:0}
.resource-entry-copy h4{
  margin:0 0 .8rem;
  font-family:var(--font-display);
  font-size:clamp(1.18rem,2vw,1.45rem);
  font-weight:600;
  line-height:1.3;
  letter-spacing:-.025em;
  color:var(--frost);
}
.resource-entry-copy p{
  max-width:66ch;
  font-size:.98rem;
  line-height:1.72;
  color:var(--mist);
}
.resource-source{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.35rem .55rem;
  width:max-content;
  max-width:100%;
  margin-top:1.25rem;
  font-family:var(--font-display);
  font-size:.88rem;
  font-weight:600;
  color:var(--glow);
}
.resource-source .arrow{transition:transform .3s var(--ease-out)}
.resource-source:hover .arrow{transform:translateX(4px)}
.resource-source small{
  font-family:var(--font-mono);
  font-size:.67rem;
  font-weight:400;
  line-height:1.5;
  letter-spacing:.02em;
  color:#71859c;
  overflow-wrap:anywhere;
}
.resource-source small::before{content:"·";margin-right:.55rem;color:rgba(154,174,198,.35)}
.resources-meta-link{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  color:var(--glow);
  transition:color .25s,transform .25s var(--ease-out);
}
.resources-meta-link:hover{color:var(--frost);transform:translateX(2px)}
.resources-subhero-archive .resources-meta{color:#7f91a7}
.resource-entry-takeaway{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:.9rem;
  max-width:66ch;
  margin-top:1.15rem;
  padding-top:1.05rem;
  border-top:1px solid rgba(160,210,255,.1);
}
.resource-entry-copy .resource-entry-takeaway b{
  font-family:var(--font-mono);
  font-size:.65rem;
  font-weight:500;
  line-height:1.6;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--glow);
}
.resource-entry-copy .resource-entry-takeaway span{
  font-size:.9rem;
  line-height:1.65;
  color:#b3c3d5;
}
.resources-previous{
  margin-top:clamp(5rem,10vw,9rem);
  padding-top:clamp(3rem,5vw,4.6rem);
  border-top:1px solid var(--glass-line);
}
.resources-previous-head,
.resources-archive-intro{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(280px,1.15fr);
  gap:clamp(2rem,7vw,7rem);
  align-items:end;
  margin-bottom:2.5rem;
}
.resources-previous-head h2,
.resources-archive-intro h2{
  margin-top:.9rem;
  font-size:clamp(2rem,4.4vw,3.4rem);
  letter-spacing:-.04em;
}
.resources-archive-all{
  justify-self:end;
  align-self:end;
  display:inline-flex;
  gap:.5rem;
  font-family:var(--font-display);
  font-size:.9rem;
  font-weight:600;
  color:var(--glow);
}
.resources-archive-list{
  display:grid;
  border-top:1px solid rgba(160,210,255,.14);
}
.resources-archive-row{
  position:relative;
  display:grid;
  grid-template-columns:minmax(130px,.55fr) minmax(260px,1.5fr) minmax(170px,.7fr) auto auto;
  gap:1.25rem;
  align-items:center;
  min-height:96px;
  padding:1.35rem .25rem;
  border-bottom:1px solid rgba(160,210,255,.14);
  transition:padding .3s var(--ease-out),background .3s,color .3s;
}
.resources-archive-row::before{
  content:"";
  position:absolute;
  inset:7px -1rem;
  z-index:-1;
  border-radius:16px;
  background:linear-gradient(100deg,rgba(52,160,219,.08),rgba(124,111,240,.035),transparent);
  opacity:0;
  transition:opacity .3s;
}
.resources-archive-row:hover{padding-left:.75rem;padding-right:.75rem}
.resources-archive-row:hover::before{opacity:1}
.resources-archive-row time{
  font-family:var(--font-display);
  font-size:1.08rem;
  font-weight:600;
  color:var(--frost);
}
.resources-archive-row>span{
  font-size:.94rem;
  line-height:1.6;
  color:var(--mist);
}
.resources-archive-row small{
  font-family:var(--font-mono);
  font-size:.65rem;
  line-height:1.55;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#71859c;
}
.resources-archive-row em{
  padding:.35rem .65rem;
  border:1px solid rgba(111,210,255,.22);
  border-radius:999px;
  background:rgba(111,210,255,.07);
  font-family:var(--font-mono);
  font-size:.62rem;
  font-style:normal;
  line-height:1;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--glow);
  white-space:nowrap;
}
.resources-archive-row>b{
  font-size:1.2rem;
  font-weight:400;
  color:var(--glow);
  transition:transform .3s var(--ease-out);
}
.resources-archive-row:hover>b{transform:translateX(4px)}
.resources-edition-nav{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:1.25rem;
  align-items:center;
  margin-top:clamp(4rem,8vw,7rem);
  padding:1.4rem 0;
  border-top:1px solid var(--glass-line);
  border-bottom:1px solid var(--glass-line);
}
.resources-edition-nav>div:last-child{text-align:right}
.resources-edition-nav a{display:inline-grid;gap:.25rem}
.resources-edition-nav small{
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#71859c;
}
.resources-edition-nav b{
  font-family:var(--font-display);
  font-size:.9rem;
  font-weight:600;
  color:var(--frost);
}
.resources-edition-latest{text-align:center}
.resources-archive-hero{padding-bottom:4rem}
.resources-archive-page{position:relative}
.resources-archive-intro>p{
  max-width:62ch;
  justify-self:end;
  font-size:1.02rem;
  line-height:1.72;
}
.resources-archive-years{display:grid;gap:4.5rem}
.resources-archive-year>h2{
  margin-bottom:1rem;
  font-family:var(--font-mono);
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.18em;
  color:var(--glow);
}
.resources-archive-note{
  display:flex;
  gap:1.25rem;
  align-items:flex-start;
  margin-top:3rem;
  padding:1.5rem 1.6rem;
}
.resources-archive-note-icon{
  width:42px;
  height:42px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:1px solid rgba(111,210,255,.22);
  border-radius:13px;
  background:rgba(111,210,255,.07);
  color:var(--glow);
}
.resources-archive-note h3{font-size:1rem;margin-bottom:.3rem}
.resources-archive-note p{font-size:.9rem;line-height:1.6}
.resources-cta{margin-top:clamp(4.8rem,9vw,8rem)}

@media (max-width:980px){
  .resources-editorial{grid-template-columns:1fr;gap:0}
  .resources-editorial-aside{display:none}
  .resource-chapters{padding-left:88px}
  .resource-chapters::before{
    content:"";
    position:absolute;
    left:31px;
    top:56px;
    bottom:56px;
    width:1px;
    background:linear-gradient(180deg,rgba(111,210,255,.08),rgba(111,210,255,.58) 10%,rgba(124,111,240,.48) 90%,rgba(111,210,255,.08));
  }
  .resource-chapter{
    min-height:auto;
    padding:5.4rem 0 6.5rem;
    overflow:visible;
  }
  .resource-chapter-marker{
    display:grid;
    place-items:center;
    position:absolute;
    left:-88px;
    top:5rem;
    width:62px;
    height:62px;
    border-radius:20px;
    color:var(--glow);
    background:linear-gradient(145deg,rgba(52,160,219,.14),rgba(124,111,240,.06)),var(--void);
    border:1px solid var(--glass-line-bright);
    box-shadow:0 0 0 8px var(--void),0 15px 38px rgba(0,0,0,.35);
  }
  .resource-chapter-marker svg{width:34px;height:34px}
  .resource-chapter-watermark{font-size:clamp(8rem,28vw,14rem)}
  .resources-previous-head,.resources-archive-intro{grid-template-columns:1fr;gap:1.25rem;align-items:start}
  .resources-archive-all{justify-self:start}
  .resources-archive-row{grid-template-columns:minmax(120px,.55fr) minmax(0,1.45fr) auto}
  .resources-archive-row small{grid-column:2}
  .resources-archive-row em{grid-column:3;grid-row:1}
  .resources-archive-row>b{grid-column:3;grid-row:2}
}

@media (max-width:680px){
  .resources-subhero{padding-bottom:2.4rem}
  .resources-page{padding-top:.5rem!important}
  .resources-meta{gap:.48rem;font-size:.65rem;letter-spacing:.1em}
  .resource-chapters{padding-left:66px}
  .resource-chapters::before{left:23px;top:44px;bottom:44px}
  .resource-chapter{padding:4.2rem 0 5.2rem;scroll-margin-top:6.5rem}
  .resource-chapter-marker{
    left:-66px;
    top:4rem;
    width:47px;
    height:47px;
    border-radius:15px;
    box-shadow:0 0 0 6px var(--void),0 12px 28px rgba(0,0,0,.32);
  }
  .resource-chapter-marker svg{width:27px;height:27px}
  .resource-chapter>h3{font-size:clamp(2rem,11vw,3.15rem)}
  .resource-chapter-intro{font-size:.94rem;margin-bottom:2.2rem}
  .resource-chapter-watermark{right:-.08em;top:17%;font-size:8rem}
  .resource-entry{grid-template-columns:1fr;gap:.85rem;padding:1.9rem 0 2.1rem}
  .resource-entry::before{inset:0 -.75rem}
  .resource-entry-meta{flex-direction:row;align-items:center;gap:.75rem;padding:0}
  .resource-entry-meta span{font-size:1.55rem}
  .resource-entry-meta b{font-size:.61rem}
  .resource-entry-copy h4{font-size:1.12rem}
  .resource-entry-copy p{font-size:.92rem;line-height:1.68}
  .resource-source{font-size:.84rem;align-items:baseline}
  .resource-source small{flex-basis:100%;font-size:.63rem}
  .resource-source small::before{display:none}
  .resource-entry-takeaway{grid-template-columns:1fr;gap:.35rem}
  .resources-archive-row{grid-template-columns:1fr auto;gap:.45rem 1rem;min-height:0;padding:1.35rem 0}
  .resources-archive-row time,.resources-archive-row>span,.resources-archive-row small{grid-column:1}
  .resources-archive-row em{grid-column:2;grid-row:1}
  .resources-archive-row>b{grid-column:2;grid-row:2/5;align-self:center}
  .resources-edition-nav{grid-template-columns:1fr 1fr}
  .resources-edition-latest{grid-column:1/-1;grid-row:2;text-align:center}
  .resources-edition-nav-next{text-align:right}
}

@media (prefers-reduced-motion:no-preference){
  .resources-meta-pulse{animation:resources-pulse 2.6s ease-in-out infinite}
  @keyframes resources-pulse{
    0%,100%{opacity:.35;transform:scale(.8)}
    50%{opacity:1;transform:scale(1.18)}
  }
}
@media (prefers-reduced-motion:reduce){
  .resource-category-visual,.resources-index::after,.resources-index a,.resources-index a::before,.resource-entry::before,.resource-source .arrow{transition:none}
}
