/* =========================================================
   WebKitLab v6 | Cosmos layer
   Moonlight added to the existing night palette. One signature moment (the moon and its orbiting
   products), a living starfield behind every page and a sparkle trail that follows the cursor.
   ========================================================= */
:root{
  --moon:#EFE9D8;
  --moon-2:#C9C2AE;
  --moon-glow:rgba(239,233,216,.22);
}

/* Starfield canvas sits behind all content on every page */
.cosmos{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.2s ease}
.cosmos.on{opacity:1}
.site-footer,.lead-band{z-index:1}

/* Custom cursor (fine pointers only; created by cosmos.js) */
.cur-dot,.cur-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:300;border-radius:50%;opacity:0;transition:opacity .3s,width .25s var(--ease),height .25s var(--ease),margin .25s var(--ease),background .25s,border-color .25s}
.cur-dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--moon);box-shadow:0 0 12px 2px rgba(239,233,216,.7)}
.cur-ring{width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid rgba(239,233,216,.45)}
.cur-on .cur-dot,.cur-on .cur-ring{opacity:1}
.cur-hover .cur-ring{width:58px;height:58px;margin:-29px 0 0 -29px;border-color:rgba(63,224,205,.8);background:rgba(63,224,205,.06)}
.cur-down .cur-ring{width:24px;height:24px;margin:-12px 0 0 -12px}
@media (pointer:fine){html.cur-ready,html.cur-ready a,html.cur-ready button,html.cur-ready summary,html.cur-ready label{cursor:none}html.cur-ready input,html.cur-ready select,html.cur-ready textarea{cursor:text}html.cur-ready select{cursor:pointer}}

/* Brand */
.brand-word{display:flex;flex-direction:column;line-height:1}
.brand-word small{font-family:var(--f-body);font-weight:500;font-size:.62rem;letter-spacing:.02em;color:var(--soft);margin-top:4px}

/* Mega menu */
.sub.mega{width:min(940px,92vw);left:50%;transform:translate(-30%,8px) scale(.98);display:grid;grid-template-columns:repeat(4,1fr);gap:6px 10px;padding:18px}
.has-mega:hover .sub.mega,.has-mega:focus-within .sub.mega{transform:translate(-30%,0)}
.mega-col{padding:8px}
.mega-col ul{list-style:none;margin:6px 0 0;padding:0}
.sub .mega-h{display:flex;align-items:center;gap:9px;padding:6px 8px;color:#fff;font-weight:600;font-size:.95rem}
.mega-h span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(91,102,255,.18);color:var(--cyan);flex:none}
.mega-h svg{width:16px;height:16px}
.sub .mega-col li a{padding:6px 8px 6px 45px;font-size:.9rem}
.mega-all{grid-column:1/-1;margin:4px 0 0;padding:10px 8px 0;border-top:1px solid var(--edge)}
.mega-all a{display:inline-block!important;color:var(--cyan)!important;font-weight:600}
.sub a small{display:block;font-size:.76rem;color:var(--faint);margin-top:2px}
@media (max-width:1020px){
  .sub.mega,.sub.mega.open{width:auto;transform:none;grid-template-columns:1fr 1fr;padding:6px 0}
  .has-mega:hover .sub.mega{transform:none}
  .sub .mega-col li a{padding-left:12px}
}
@media (max-width:640px){.sub.mega,.sub.mega.open{grid-template-columns:1fr}}

/* Form select */
.field select{width:100%;font:inherit;font-size:1rem;padding:15px 44px 15px 16px;border:1px solid var(--edge-2);border-radius:14px;background:rgba(0,0,0,.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%233FE0CD' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center/18px;color:#fff;appearance:none;-webkit-appearance:none}
.field select:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 4px rgba(63,224,205,.14)}
.field select option{background:#0E0E12;color:#fff}

/* ===================== Lunar hero ===================== */
.lunar{min-height:min(100svh,980px);display:flex;flex-direction:column;justify-content:center}
.lunar-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(28px,4vw,64px);align-items:center}
.lunar-org{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;padding:7px 14px 7px 10px;border-radius:999px;border:1px solid rgba(239,233,216,.22);background:rgba(239,233,216,.05);color:var(--moon);font-size:.9rem;font-weight:500}
.lunar-dot{width:9px;height:9px;border-radius:50%;background:var(--moon);box-shadow:0 0 10px 2px rgba(239,233,216,.6)}
.lunar h1{font-size:clamp(2.2rem,5vw,4.3rem);line-height:1.04;max-width:14ch}
.lunar .lede{max-width:54ch}
.lunar-proof{list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;margin:34px 0 0;padding:22px 0 0;border-top:1px solid var(--edge);color:var(--faint);font-size:.95rem}
.lunar-proof b{display:block;font-family:var(--f-display);font-weight:500;font-size:1.35rem;color:#fff;letter-spacing:-.02em}

.moon-stage{--s:min(500px,40vw);position:relative;width:var(--s);height:var(--s);margin-inline:auto;display:grid;place-items:center;transform:translate3d(var(--px,0),var(--py,0),0);transition:transform .8s var(--ease)}
.moon{position:relative;z-index:2;width:64%;height:auto;overflow:visible;filter:brightness(1.12) drop-shadow(0 0 46px rgba(239,233,216,.5)) drop-shadow(0 0 140px rgba(160,170,255,.3));animation:moonFloat 9s ease-in-out infinite}
.moon-surface{transform-origin:200px 200px;animation:moonTurn 240s linear infinite}
.moon-halo{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle,rgba(239,233,216,.26) 0%,rgba(150,160,255,.12) 38%,transparent 66%);animation:halo 7s ease-in-out infinite;z-index:1}
@keyframes moonFloat{0%,100%{transform:translateY(-6px)}50%{transform:translateY(8px)}}
@keyframes moonTurn{to{transform:rotate(360deg)}}
@keyframes halo{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}
.moon-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.orbits{position:absolute;inset:0;z-index:3;transform:rotate(-16deg) scaleY(.38);pointer-events:none}
.orbit-ring{position:absolute;left:50%;top:50%;border-radius:50%;border:1px dashed rgba(239,233,216,.18);animation:ring var(--t,40s) linear infinite;animation-delay:var(--dl,0s)}
.orbit-ring.r0{--d:80%;--t:34s;--dl:-4s}
.orbit-ring.r1{--d:92%;--t:46s;--dl:-27s;border-color:rgba(63,224,205,.16)}
.orbit-ring.r2{--d:104%;--t:58s;--dl:-12s}
.orbit-ring.r3{--d:114%;--t:72s;--dl:-50s;border-color:rgba(91,102,255,.22)}
.orbit-ring{width:var(--d);height:var(--d);margin:calc(var(--d) / -2) 0 0 calc(var(--d) / -2)}
.sat{position:absolute;left:50%;top:0;width:0;height:0;animation:satDepth var(--t,40s) linear infinite;animation-delay:var(--dl,0s)}
.orbit-ring .sat{--t:inherit;--dl:inherit}
.sat-dot{position:absolute;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:var(--moon);box-shadow:0 0 14px 4px rgba(239,233,216,.55);animation:counter var(--t,40s) linear infinite;animation-delay:var(--dl,0s)}
.r1 .sat-dot{background:var(--cyan);box-shadow:0 0 14px 4px rgba(63,224,205,.55)}
.r3 .sat-dot{background:#A9B0FF;box-shadow:0 0 14px 4px rgba(120,130,255,.6)}
.sat-label{position:absolute;left:0;top:0;white-space:nowrap;font-size:.8rem;font-weight:600;color:#fff;padding:5px 11px;border-radius:999px;background:rgba(10,10,13,.72);border:1px solid rgba(239,233,216,.2);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transform-origin:0 0;animation:counterLabel var(--t,40s) linear infinite;animation-delay:var(--dl,0s)}
@keyframes ring{to{transform:rotate(360deg)}}
@keyframes counter{from{transform:rotate(0) scaleY(2.6316) rotate(16deg)}to{transform:rotate(-360deg) scaleY(2.6316) rotate(16deg)}}
@keyframes counterLabel{from{transform:rotate(0) scaleY(2.6316) rotate(16deg) translate(12px,-50%)}to{transform:rotate(-360deg) scaleY(2.6316) rotate(16deg) translate(12px,-50%)}}
@keyframes satDepth{0%{opacity:.28}25%{opacity:.75}50%{opacity:1}75%{opacity:.75}100%{opacity:.28}}

.scroll-cue{position:absolute;left:50%;bottom:28px;width:26px;height:42px;margin-left:-13px;border:1px solid rgba(239,233,216,.35);border-radius:14px;z-index:3}
.scroll-cue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--moon);animation:cue 2s var(--ease) infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

.marquee-tech span::after{background:var(--moon)!important;box-shadow:0 0 8px rgba(239,233,216,.8)}

/* ===================== Group constellation ===================== */
.constellation{position:relative;display:grid;grid-template-columns:1fr 1.05fr 1fr;grid-template-rows:auto auto;gap:22px 28px;align-items:center}
.const-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.const-lines path{fill:none;stroke:rgba(239,233,216,.22);stroke-width:1.2;stroke-dasharray:4 7;vector-effect:non-scaling-stroke;animation:dash 30s linear infinite}
@keyframes dash{to{stroke-dashoffset:-400}}
.const-core{grid-column:2;grid-row:1/3;position:relative;z-index:1;text-align:center;padding:34px 26px;border-radius:50%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,rgba(239,233,216,.12),rgba(10,10,13,.7) 70%);border:1px solid rgba(239,233,216,.25);box-shadow:0 0 80px -20px rgba(239,233,216,.35)}
.const-core h3{font-size:1.2rem;margin:14px 0 8px}
.const-core p{color:var(--soft);font-size:.95rem;max-width:26ch;margin:0}
.const-moon{width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 36% 32%,#FFFDF4,#E5DFCB 50%,#A49D89);box-shadow:0 0 30px 6px rgba(239,233,216,.35)}
.const-node{position:relative;z-index:1;display:block;padding:24px;border-radius:var(--r-lg);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));border:1px solid var(--edge);color:var(--text);text-decoration:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .3s,transform .5s var(--ease),box-shadow .3s}
.const-node:hover{color:var(--text);border-color:rgba(239,233,216,.45);transform:translateY(-4px);box-shadow:0 24px 50px -24px rgba(239,233,216,.35)}
.const-node h3{margin:6px 0 6px;font-size:1.12rem}
.const-node p{margin:0;color:var(--soft);font-size:.95rem}
.const-node.n0{grid-column:1;grid-row:1}.const-node.n1{grid-column:3;grid-row:1}.const-node.n2{grid-column:1;grid-row:2}.const-node.n3{grid-column:3;grid-row:2}
.const-kind{display:inline-block;font-size:.78rem;font-weight:600;color:var(--moon);background:rgba(239,233,216,.08);border:1px solid rgba(239,233,216,.2);border-radius:999px;padding:3px 10px;margin:0}
.group-more{margin:40px 0 0;text-align:center}

/* ===================== Flagship systems ===================== */
.flagship{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.flag{position:relative;display:flex;flex-direction:column;padding:26px;border-radius:var(--r-lg);background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015));border:1px solid var(--edge);color:var(--text);text-decoration:none;overflow:hidden;transition:border-color .3s,transform .5s var(--ease)}
.flag:hover{color:var(--text);border-color:rgba(63,224,205,.45);transform:translateY(-4px)}
.flag h3{margin:18px 0 6px}
.flag p{color:var(--soft);margin:0 0 16px}
.flag .more{margin-top:auto;color:var(--cyan);font-weight:600;font-size:.95rem}
.vignette{height:96px;border-radius:16px;background:rgba(0,0,0,.55);border:1px solid var(--edge);padding:14px;display:flex;flex-direction:column;justify-content:center;gap:9px;overflow:hidden}
.flag-school .vignette i{display:block;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--indigo),var(--cyan));width:0;animation:fill 2.6s var(--ease) infinite alternate}
.flag-school .vignette i:nth-child(1){--w:72%}.flag-school .vignette i:nth-child(2){animation-delay:.2s}.flag-school .vignette i:nth-child(3){animation-delay:.4s}.flag-school .vignette i:nth-child(4){animation-delay:.6s}
@keyframes fill{to{width:var(--w)}}
.flag-erp .vignette{flex-direction:row;align-items:flex-end;gap:8px}
.flag-erp .vignette b{flex:1;border-radius:6px 6px 2px 2px;background:linear-gradient(0deg,rgba(91,102,255,.4),var(--cyan));height:30%;animation:bar 3s ease-in-out infinite}
.flag-erp .vignette b:nth-child(2){animation-delay:-.4s}.flag-erp .vignette b:nth-child(3){animation-delay:-.8s}.flag-erp .vignette b:nth-child(4){animation-delay:-1.2s}.flag-erp .vignette b:nth-child(5){animation-delay:-1.6s}.flag-erp .vignette b:nth-child(6){animation-delay:-2s}.flag-erp .vignette b:nth-child(7){animation-delay:-2.4s}
@keyframes bar{0%,100%{height:28%}50%{height:92%}}
.flag-hotel .vignette{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.flag-hotel .vignette u{border-radius:6px;background:rgba(255,255,255,.06);border:1px solid var(--edge);text-decoration:none}
.flag-hotel .vignette u.on{background:rgba(63,224,205,.25);border-color:rgba(63,224,205,.5);animation:blinkRoom 4s steps(1) infinite}
.flag-hotel .vignette u.on:nth-child(4){animation-delay:-1s}.flag-hotel .vignette u.on:nth-child(8){animation-delay:-2s}
@keyframes blinkRoom{0%,70%{background:rgba(63,224,205,.25)}71%,100%{background:rgba(91,102,255,.3)}}
.flag-bank .vignette svg{width:100%;height:64px}
.flag-bank .vignette path{fill:none;stroke:var(--cyan);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:260;stroke-dashoffset:260;animation:draw 3.2s var(--ease) infinite}
@keyframes draw{60%,100%{stroke-dashoffset:0}}
.flag-ai .vignette em{align-self:flex-end;font-style:normal;font-size:.85rem;padding:7px 12px;border-radius:12px 12px 4px 12px;background:var(--grad);color:#fff}
.flag-ai .vignette em.typing{align-self:flex-start;background:rgba(255,255,255,.08);border-radius:12px 12px 12px 4px;display:flex;gap:5px}
.typing span{width:6px;height:6px;border-radius:50%;background:var(--moon);animation:typing 1.2s infinite}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes typing{0%,60%,100%{opacity:.25;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.flag-app .vignette{align-items:center}
.flag-app .vignette s{display:grid;grid-template-columns:repeat(3,14px);gap:6px;padding:10px 12px;width:68px;height:84px;border-radius:14px;border:1.5px solid rgba(239,233,216,.4);text-decoration:none;align-content:start;margin-top:22px}
.flag-app .vignette s span{height:14px;border-radius:4px;background:var(--grad);animation:pop 2.4s var(--ease) infinite}
.flag-app .vignette s span:nth-child(2){animation-delay:.2s}.flag-app .vignette s span:nth-child(3){animation-delay:.4s}
@keyframes pop{0%,100%{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}

/* ===================== Explorer ===================== */
.explorer-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:28px;scrollbar-width:thin}
.ex-tab{flex:none;display:inline-flex;align-items:center;gap:9px;font:600 .95rem var(--f-body);color:var(--soft);background:var(--glass);border:1px solid var(--edge);border-radius:999px;padding:10px 16px 10px 10px;transition:color .25s,border-color .25s,background .25s}
.ex-tab span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(91,102,255,.18);color:var(--cyan)}
.ex-tab svg{width:15px;height:15px}
.ex-tab small{font-size:.75rem;color:var(--faint);background:rgba(255,255,255,.06);border-radius:999px;padding:2px 7px}
.ex-tab:hover{color:#fff;border-color:var(--edge-2)}
.ex-tab[aria-selected="true"]{color:#fff;border-color:rgba(239,233,216,.45);background:rgba(239,233,216,.08)}
.ex-panel{margin-bottom:40px}
.js .ex-panel{display:none;margin:0}
.js .ex-panel.is-on{display:block;animation:rise .6s var(--ease) both}
.ex-title{font-size:1.4rem;margin-bottom:6px}
.ex-intro{color:var(--soft);margin-bottom:22px;max-width:62ch}
.ex-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ex-list a{display:block;height:100%;padding:18px 20px;border-radius:var(--r-md);background:var(--glass);border:1px solid var(--edge);text-decoration:none;transition:border-color .25s,background .25s,transform .35s var(--ease)}
.ex-list a:hover{border-color:rgba(63,224,205,.45);background:rgba(63,224,205,.05);transform:translateY(-2px)}
.ex-list b{display:block;color:#fff;font-weight:600;margin-bottom:4px}
.ex-list span{display:block;color:var(--soft);font-size:.92rem;line-height:1.5}

/* ===================== Healthcare division ===================== */
.dev-cat{display:inline-flex;align-items:center;gap:10px;margin:0 0 16px;color:var(--moon);font-weight:600;font-size:.95rem}
.dev-cat-icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(239,233,216,.08);border:1px solid rgba(239,233,216,.22);color:var(--cyan)}
.dev-cat-icon svg{width:18px;height:18px}
.health-tags{margin-top:22px}
.health-tags li{padding:0}
.health-tags a{display:block;padding:9px 16px;color:var(--text);text-decoration:none}
.health-tags a:hover{color:#fff}
.health-visual svg{width:100%;height:auto}
.hv-card{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.12)}
.hv-ecg{fill:none;stroke:url(#hg);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:520;stroke-dashoffset:520;animation:draw 3.6s var(--ease) infinite}
.hv-pin{fill:rgba(63,224,205,.12);stroke:var(--cyan);stroke-width:1.5}
.hv-plus{stroke:var(--cyan);stroke-width:2.4;stroke-linecap:round}
.hv-bar{fill:rgba(91,102,255,.5)}.hv-bar2{fill:rgba(255,255,255,.12)}

/* ===================== Dev pages, hubs, products ===================== */
.dev-hero h1{max-width:22ch}
.spec-card h3{font-size:1rem;margin:22px 0 12px}
.spec-card h3:first-child{margin-top:0}
.tags-tech li{border-color:rgba(239,233,216,.2);color:var(--moon)}
.cat-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px;animation:rise 1s var(--ease) .4s both}
.cat-jump a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:999px;border:1px solid var(--edge);background:var(--glass);color:var(--text);text-decoration:none;font-weight:500;font-size:.93rem}
.cat-jump a:hover{border-color:rgba(239,233,216,.45);color:#fff}
.cat-jump span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(91,102,255,.18);color:var(--cyan)}
.cat-jump svg{width:14px;height:14px}
.prod-list{display:grid;gap:22px}
.prod{display:grid;grid-template-columns:150px 1fr;gap:clamp(22px,4vw,48px);align-items:start;padding:clamp(26px,4vw,44px);border-radius:var(--r-xl);background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.012));border:1px solid var(--edge);scroll-margin-top:110px}
.prod:target{border-color:rgba(239,233,216,.5);box-shadow:0 0 60px -20px rgba(239,233,216,.4)}
.prod h2{margin:10px 0 10px}
.prod-mark{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,rgba(239,233,216,.28),rgba(91,102,255,.18) 55%,rgba(10,10,13,.6));border:1px solid rgba(239,233,216,.25);box-shadow:0 0 60px -14px rgba(239,233,216,.35)}
.prod-mark span{font-family:var(--f-display);font-size:3.4rem;color:var(--moon)}
.monogram{width:min(320px,100%);aspect-ratio:4/5;border-radius:var(--r-xl);display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,rgba(239,233,216,.2),rgba(91,102,255,.16) 50%,rgba(10,10,13,.7));border:1px solid rgba(239,233,216,.22)}
.monogram span{font-family:var(--f-display);font-size:5rem;color:var(--moon);letter-spacing:-.04em}

/* Footer with more columns */
.footer-grid{grid-template-columns:1.6fr repeat(6,1fr);gap:32px}
.site-footer ul li{margin-bottom:2px}

/* ===================== Responsive ===================== */
@media (max-width:1100px){
  .footer-grid{grid-template-columns:repeat(3,1fr)}
  .footer-brand{grid-column:1/-1}
}
@media (max-width:1020px){
  .lunar{min-height:auto}
  .lunar-grid{grid-template-columns:1fr;text-align:center}
  .lunar h1,.lunar .lede{margin-inline:auto}
  .lunar .hero-actions,.lunar-proof{justify-content:center}
  .moon-stage{--s:min(440px,78vw);margin-top:10px}
  .scroll-cue{display:none}
  .constellation{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .const-core{grid-column:1/-1;grid-row:1;max-width:340px;margin-inline:auto}
  .const-node.n0,.const-node.n1,.const-node.n2,.const-node.n3{grid-column:auto;grid-row:auto}
  .const-lines{display:none}
  .flagship,.ex-list{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .lunar-org{font-size:.8rem}
  .lunar-proof{gap:14px 20px}
  .lunar-proof li{flex:1 1 40%}
  .sat-label{font-size:.7rem;padding:4px 8px}
  .constellation,.flagship,.ex-list{grid-template-columns:1fr}
  .const-node,.flag,.ex-list a,.prod{text-align:center}
  .flag{align-items:center}
  .vignette{width:100%}
  .explorer-tabs{margin-inline:-16px;padding-inline:16px}
  .ex-intro{margin-inline:auto;text-align:center}
  .ex-title{text-align:center}
  .prod{grid-template-columns:1fr;justify-items:center}
  .prod .tags,.health-tags,.cat-jump,.spec-card .tags{justify-content:center}
  .prod-mark{width:110px;height:110px}
  .monogram{margin-inline:auto;max-width:240px}
  .dev-cat{justify-content:center}
  .footer-grid{grid-template-columns:1fr}
  .health-visual{max-width:360px;margin:10px auto 0}
}
@media (prefers-reduced-motion:reduce){
  .cosmos,.cur-dot,.cur-ring{display:none}
  .moon,.moon-surface,.moon-halo,.orbit-ring,.sat,.sat-dot,.sat-label,.const-lines path{animation:none!important}
  .flag-school .vignette i{width:var(--w)}
  .js .ex-panel.is-on{animation:none}
}

/* ===================== v6.1: one-screen hero with a real 3D moon ===================== */
.lunar{height:100svh;min-height:560px;max-height:1080px;padding:calc(80px + 2vh) 0 4vh;box-sizing:border-box;justify-content:center;overflow:hidden}
.lunar-grid{grid-template-columns:minmax(0,640px);gap:0}
.lunar-copy{position:relative;z-index:3}
.lunar h1{font-size:clamp(2rem,min(4.5vw,7.4vh),4.1rem);line-height:1.02;max-width:15ch;margin-bottom:.5em}
.lunar .lede{font-size:clamp(1rem,min(1.3vw,2.3vh),1.2rem);max-width:50ch;margin-bottom:clamp(18px,3.4vh,34px)}
.lunar-org{margin-bottom:clamp(12px,2.4vh,22px)}
.lunar-proof{margin-top:clamp(16px,3.4vh,34px);padding-top:clamp(12px,2.4vh,22px)}

.moon3d{--mw:min(72vw,calc((100svh - 90px) * 1.22),1150px);position:absolute;z-index:1;top:88px;right:calc(var(--mw) * -0.32);width:var(--mw);aspect-ratio:1;pointer-events:none}
.moon-gl{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.6s ease}
.moon3d.gl .moon-gl{opacity:1}
.moon3d-glow{position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(circle at 46% 48%,rgba(239,233,216,.16) 0%,rgba(150,160,255,.08) 34%,transparent 58%)}
.moon-fallback{position:absolute;inset:1.5%;width:97%;height:97%;animation:none;filter:none}
.moon3d.gl .moon-fallback{display:none}
/* keep the copy readable where it meets the moon */
.lunar::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.35) 34%,transparent 52%)}
.lunar .scroll-cue{z-index:4}

@media (max-height:780px) and (min-width:1021px){
  .lunar-proof{display:none}
  .scroll-cue{display:none}
}
@media (max-width:1020px){
  .lunar{height:auto;min-height:0;max-height:none;padding:calc(80px + 22px) 0 24px;justify-content:flex-start}
  .lunar-grid{grid-template-columns:1fr}
  .moon3d{--mw:min(88vw,480px);position:relative;top:auto;right:auto;transform:none;width:var(--mw);margin:clamp(20px,5vw,36px) auto 0;z-index:1}
  .lunar::after{display:none}
  .lunar h1{font-size:clamp(1.9rem,8.4vw,3rem);max-width:none}
  .lunar .lede{font-size:1rem}
  .lunar-proof{display:none}
}
@media (max-width:640px){
  .lunar{padding-top:calc(72px + 18px)}
  .lunar .hero-actions{gap:10px}
  .lunar .hero-actions .btn{padding:14px 20px}
}

/* v6.1 fixes: hero text above the shade layer */
.lunar .lunar-grid{z-index:3}
.office-address{font-style:normal;line-height:1.75;color:var(--soft);margin:0 0 1em}

/* v6.2: astronomical black everywhere */
html,body{background:#000}
body::after{opacity:.18}
.section-white{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008));border-block-color:rgba(255,255,255,.06)}
.lead-band{background:linear-gradient(180deg,transparent,rgba(255,255,255,.03) 30%,rgba(255,255,255,.03) 70%,transparent)}
.lead-band::before{opacity:.35}
.site-footer{background:#000}
.site-header.scrolled{background:rgba(0,0,0,.78)}
.aurora,.page-hero .aurora{opacity:.3}
.moon3d-glow{background:radial-gradient(circle at 46% 48%,rgba(239,233,216,.12) 0%,rgba(239,233,216,.04) 34%,transparent 58%)}
