/* ============================================================
   ORBIT — everything in orbit
   Scoped to body.d-orbit. 1rem = 10px.
   ============================================================ */
body.d-orbit{
  --or-bg:#03110f;--or-bg2:#061a17;--or-a:var(--biz-light);--or-b:#818cf8;--or-fg:#e8fbf7;--or-soft:#a7c4be;--or-mute:#7d9892;--or-line:rgba(153,246,228,.1);--or-line2:rgba(153,246,228,.2);
  --bg-primary:var(--or-bg);--bg-secondary:var(--or-bg2);--bg-card:#08201c;--bg-inset:#0b2723;
  --fg-primary:var(--or-fg);--fg-soft:var(--or-soft);--fg-muted:var(--or-mute);--border-color:var(--or-line);--border-strong:var(--or-line2);
  background:var(--or-bg);color:var(--or-fg);font-family:'Sora',system-ui,sans-serif;color-scheme:dark
}
body.d-orbit h1,body.d-orbit h2,body.d-orbit h3{letter-spacing:-.04em;font-weight:600}
.or-grad{background:linear-gradient(90deg,var(--or-a),var(--or-b));-webkit-background-clip:text;background-clip:text;color:transparent}
.or-label{font-size:1.2rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--or-a);margin-bottom:1.6rem}

body.d-orbit .bx-nav{background:rgba(3,17,15,.55)}
body.d-orbit .bx-nav.scrolled{border-bottom-color:var(--or-line);box-shadow:none}
body.d-orbit .bx-brand-mark{border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(var(--biz-rgb),.35)}
body.d-orbit .bx-brand-txt small{color:var(--or-mute)}
body.d-orbit .bx-nav-links a{color:var(--or-soft);font-weight:400;font-size:1.25rem}
body.d-orbit .bx-nav-links a:hover,body.d-orbit .bx-nav-links a.active{color:#fff}
body.d-orbit .bx-nav-links a::after{background:var(--or-a);height:2px;border-radius:2px}
body.d-orbit .bx-nav-cta{background:linear-gradient(90deg,var(--biz),#6366f1);border-radius:999px}
body.d-orbit .burger span{background:#fff}
body.d-orbit .mobile-menu{background:var(--or-bg)}
body.d-orbit .mobile-menu-links a{color:#fff}

/* hero */
.or-hero{position:relative;overflow:hidden;padding:calc(var(--nav-h) + 6rem) 3rem 6rem;isolation:isolate}
.or-aurora{position:absolute;inset:0;z-index:-2;filter:blur(60px);opacity:.75}
.or-aurora i{position:absolute;border-radius:50%;mix-blend-mode:screen;animation:or-drift 18s ease-in-out infinite alternate}
.or-aurora i:nth-child(1){width:55vw;height:40vw;left:-10vw;top:-10vw;background:radial-gradient(closest-side,rgba(var(--biz-rgb),.55),transparent)}
.or-aurora i:nth-child(2){width:45vw;height:45vw;right:-10vw;top:0;background:radial-gradient(closest-side,rgba(99,102,241,.45),transparent);animation-delay:-6s}
.or-aurora i:nth-child(3){width:50vw;height:30vw;left:25vw;bottom:-15vw;background:radial-gradient(closest-side,rgba(45,212,191,.35),transparent);animation-delay:-12s}
@keyframes or-drift{to{transform:translate(6vw,4vw) scale(1.15)}}
.or-stars{position:absolute;inset:0;z-index:-1;background-image:radial-gradient(1px 1px at 20% 30%,#fff,transparent),radial-gradient(1px 1px at 70% 20%,#fff,transparent),radial-gradient(1.5px 1.5px at 40% 70%,#fff,transparent),radial-gradient(1px 1px at 85% 60%,#fff,transparent),radial-gradient(1px 1px at 10% 80%,#fff,transparent),radial-gradient(1px 1px at 55% 45%,#fff,transparent);background-size:400px 400px;opacity:.35}
.or-hero-in{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.or-eyebrow{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.9rem;padding:.8rem 1.6rem;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--or-line2);font-size:1.25rem;color:var(--or-soft);backdrop-filter:blur(10px);margin-bottom:2.8rem}
.or-eyebrow>i{color:var(--or-a)}
.or-eyebrow .bh-open{padding:.15rem .8rem;font-size:1rem}
.or-hero h1{font-size:clamp(6rem,10vw,13rem);line-height:.9;letter-spacing:-.07em;font-weight:700;background:linear-gradient(180deg,#fff 30%,rgba(232,251,247,.55));-webkit-background-clip:text;background-clip:text;color:transparent}
.or-tag{font-size:clamp(1.9rem,2.2vw,2.5rem);font-weight:500;margin-top:2rem;background:linear-gradient(90deg,var(--or-a),var(--or-b));-webkit-background-clip:text;background-clip:text;color:transparent}
.or-lede{font-size:1.65rem;line-height:1.7;color:var(--or-soft);margin-top:2rem;max-width:50ch;font-weight:300}
.or-actions{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:3.4rem}
.or-btn{display:inline-flex;align-items:center;gap:1rem;padding:1.5rem 2.6rem;border-radius:999px;font-size:1.4rem;font-weight:500;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.or-btn-main{background:linear-gradient(90deg,var(--biz),#6366f1);color:#fff;box-shadow:0 12px 40px rgba(var(--biz-rgb),.45)}
.or-btn-main:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(var(--biz-rgb),.6)}
.or-btn-glass{background:rgba(255,255,255,.06);border:1px solid var(--or-line2);color:#fff;backdrop-filter:blur(10px)}
.or-btn-glass:hover{background:rgba(255,255,255,.12)}

/* the system */
.or-system{position:relative;width:min(520px,100%);aspect-ratio:1;margin:0 auto;--r1:31%;--r2:46%}
.or-orbit{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid var(--or-line2);transform:translate(-50%,-50%)}
.or-orbit-1{width:62%;height:62%}
.or-orbit-2{width:92%;height:92%;border-style:dashed;border-color:rgba(153,246,228,.14)}
.or-orbit-3{width:36%;height:36%;background:radial-gradient(circle,rgba(var(--biz-rgb),.25),transparent 70%);border:0}
.or-core{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 0 0 10px rgba(var(--biz-rgb),.12),0 0 0 22px rgba(var(--biz-rgb),.06),0 0 80px rgba(var(--biz-rgb),.6);z-index:2}
.or-core img{width:78%;height:78%;object-fit:contain}
.or-core span{font-size:4.4rem;font-weight:700;color:var(--biz-deep)}
.or-ring{position:absolute;inset:0;animation:or-spin 60s linear infinite}
.or-ring-2{animation-duration:90s;animation-direction:reverse}
.or-sat{position:absolute;left:50%;top:50%;width:0;height:0}
.or-ring-1 .or-sat{transform:rotate(calc(360deg / var(--n) * var(--i))) translateY(-161px)}
.or-ring-2 .or-sat{transform:rotate(calc(360deg / var(--n) * var(--i) + 60deg)) translateY(-239px)}
.or-sat-in{position:absolute;left:-26px;top:-26px;width:52px;height:52px;border-radius:16px;background:rgba(8,32,28,.85);border:1px solid var(--or-line2);display:flex;align-items:center;justify-content:center;color:var(--or-a);font-size:1.9rem;backdrop-filter:blur(8px);box-shadow:0 10px 30px rgba(0,0,0,.4);animation:or-spin-back 60s linear infinite}
/* Each satellite cancels its ring angle statically and the ring spin with the rotate property, so icons stay upright. */
.or-ring-1 .or-sat-in{transform:rotate(calc(-360deg / var(--n) * var(--i)))}
.or-ring-2 .or-sat-in{animation-duration:90s;transform:rotate(calc(-360deg / var(--n) * var(--i) - 60deg))}
@keyframes or-spin{to{transform:rotate(360deg)}}
.or-ring-2 .or-sat-in{animation-name:or-spin-fwd}
@keyframes or-spin-back{from{rotate:0deg}to{rotate:-360deg}}
@keyframes or-spin-fwd{from{rotate:0deg}to{rotate:360deg}}

.or-facts{max-width:var(--max-w);margin:6rem auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1.2rem}
.or-facts li{padding:2.2rem 2.4rem;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid var(--or-line);backdrop-filter:blur(10px)}
.or-facts b{display:block;font-size:3.4rem;font-weight:600;letter-spacing:-.04em}
.or-facts span{font-size:1.2rem;color:var(--or-mute);text-transform:uppercase;letter-spacing:.14em}

/* sections */
.or-sec{padding:10rem 3rem 0}
.or-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.or-head{margin-bottom:5rem}
.or-head-c{text-align:center}
.or-sec h2{font-size:clamp(3.2rem,4.8vw,5.8rem);line-height:1.02}

.or-about{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.or-about h2{font-size:clamp(2.8rem,3.4vw,4.2rem);line-height:1.15}
.or-about-copy p{font-size:1.6rem;line-height:1.8;color:var(--or-soft);font-weight:300}
.or-about-copy p+p{margin-top:1.6rem}
.or-banner{margin-top:6rem;border-radius:28px;overflow:hidden;border:1px solid var(--or-line2);box-shadow:0 40px 100px rgba(0,0,0,.5),0 0 60px rgba(var(--biz-rgb),.15);transition:transform .3s var(--ease)}
.or-banner img{width:100%;max-height:560px;object-fit:cover}

.or-svc{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.or-card{position:relative;overflow:hidden;padding:3rem;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--or-line);transition:transform .35s var(--ease),border-color .35s}
.or-card::before{content:'';position:absolute;inset:0;background:radial-gradient(380px circle at var(--mx,50%) var(--my,-30%),rgba(var(--biz-rgb),.18),transparent 50%);pointer-events:none}
.or-card:hover{transform:translateY(-6px);border-color:rgba(var(--biz-rgb),.5)}
.or-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:3.6rem}
.or-card-ico{width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--or-a),var(--biz-deep));display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;box-shadow:0 0 30px rgba(var(--biz-rgb),.5)}
.or-card-n{font-size:1.3rem;color:var(--or-mute)}
.or-card h3{font-size:2.2rem}
.or-card p{font-size:1.4rem;line-height:1.65;color:var(--or-soft);margin-top:1rem;font-weight:300}

.or-hl{display:grid;grid-template-columns:.9fr 1.1fr;gap:6rem;align-items:start;padding:5rem;border-radius:32px;background:linear-gradient(135deg,rgba(var(--biz-rgb),.14),rgba(99,102,241,.1));border:1px solid var(--or-line2)}
.or-hl .or-head{margin:0}
.or-hl-list{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.or-hl-list li{display:flex;gap:1.4rem;align-items:center;padding:1.8rem;border-radius:18px;background:rgba(3,17,15,.5);border:1px solid var(--or-line)}
.or-hl-list span{width:44px;height:44px;border-radius:12px;background:rgba(var(--biz-rgb),.2);color:var(--or-a);display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex-shrink:0}
.or-hl-list b{font-size:1.45rem;font-weight:500}
.or-hl-list small{display:block;font-size:1.2rem;color:var(--or-mute)}

.or-gal{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(340px,38%);gap:1.6rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1.6rem;scrollbar-width:thin;scrollbar-color:var(--or-line2) transparent}
.or-gal-item{scroll-snap-align:start;aspect-ratio:4/3;border-radius:24px;overflow:hidden;padding:0;cursor:zoom-in;border:1px solid var(--or-line)}
.or-gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.or-gal-item:hover img{transform:scale(1.06)}

.or-rev{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem}
.or-rev-card{position:relative;overflow:hidden;padding:3rem;border-radius:24px;background:rgba(255,255,255,.035);border:1px solid var(--or-line)}
.or-rev-card::before{content:'';position:absolute;inset:0;background:radial-gradient(300px circle at var(--mx,50%) var(--my,0),rgba(129,140,248,.14),transparent 55%);pointer-events:none}
.or-stars-row{color:#fcd34d;font-size:1.2rem;display:flex;gap:.3rem;margin-bottom:1.8rem}
.or-rev-card blockquote{font-size:1.55rem;line-height:1.65;font-weight:300}
.or-rev-card figcaption{display:flex;align-items:center;gap:1rem;margin-top:2.2rem;font-size:1.3rem;font-weight:500}
.or-rev-card figcaption span{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--biz),#6366f1);display:flex;align-items:center;justify-content:center;font-weight:700}

body.d-orbit .hours-card{max-width:none}
body.d-orbit .hours-row{background:rgba(255,255,255,.035);border-color:var(--or-line);border-radius:14px}
body.d-orbit .hours-row .ht{color:var(--or-soft)}
body.d-orbit .hours-row.is-today{border-color:var(--or-a);background:rgba(var(--biz-rgb),.12)}
body.d-orbit .hours-row .ht.closed{color:#fca5a5}

.or-contact{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:5rem;border-radius:32px;background:rgba(255,255,255,.03);border:1px solid var(--or-line2)}
.or-contact-lede{font-size:1.6rem;color:var(--or-soft);margin:1.6rem 0 3rem;font-weight:300}
body.d-orbit .ci{background:rgba(255,255,255,.035);border-color:var(--or-line);border-radius:16px}
body.d-orbit .ci-ico{background:rgba(var(--biz-rgb),.18);color:var(--or-a)}
body.d-orbit .contact-form{background:rgba(3,17,15,.6);border-color:var(--or-line2);border-radius:24px}
body.d-orbit .contact-form h3{font-size:2.2rem;font-weight:600;margin-bottom:2rem}
body.d-orbit .cf-field input,body.d-orbit .cf-field textarea{background:rgba(255,255,255,.04);border-color:var(--or-line2);color:#fff;border-radius:12px}
body.d-orbit .btn-onbiz{background:linear-gradient(90deg,var(--biz),#6366f1);border-radius:999px}
.or-map{margin-top:3rem}
body.d-orbit .biz-map{border-radius:24px;border-color:var(--or-line2);filter:invert(.9) hue-rotate(180deg) saturate(.5)}
.or-share{max-width:var(--max-w);margin:6rem auto 0;padding:0 3rem}
body.d-orbit .biz-share-btn{border-color:var(--or-line2);color:var(--or-soft)}

body.d-orbit .bx-foot{background:#020c0b;border-top-color:var(--or-line);margin-top:4rem}
body.d-orbit .bx-foot-col h2{color:var(--or-a)}
body.d-orbit .bx-foot .btn-onbiz{background:linear-gradient(90deg,var(--biz),#6366f1)}
body.d-orbit .btn-outline{border-color:var(--or-line2);color:#fff}
body.d-orbit .fx-cursor-ring{border-color:var(--or-a)}
body.d-orbit .fx-cursor-dot{background:#fff}

@media (max-width:1080px){
  .or-system{width:440px}
  .or-ring-1 .or-sat{transform:rotate(calc(360deg / var(--n) * var(--i))) translateY(-136px)}
  .or-ring-2 .or-sat{transform:rotate(calc(360deg / var(--n) * var(--i) + 60deg)) translateY(-202px)}
}
@media (max-width:980px){
  .or-hero-in,.or-about,.or-hl,.or-contact{grid-template-columns:1fr}
  .or-svc{grid-template-columns:1fr 1fr}
  .or-hl,.or-contact{padding:3rem}
}
@media (max-width:640px){
  .or-hero{padding:calc(var(--nav-h) + 4rem) 1.6rem 4rem}
  .or-sec{padding:7rem 1.6rem 0}
  .or-system{width:320px}
  .or-core{width:88px;height:88px;margin:-44px 0 0 -44px}
  .or-sat-in{width:40px;height:40px;left:-20px;top:-20px;font-size:1.5rem;border-radius:12px}
  .or-ring-1 .or-sat{transform:rotate(calc(360deg / var(--n) * var(--i))) translateY(-99px)}
  .or-ring-2 .or-sat{transform:rotate(calc(360deg / var(--n) * var(--i) + 60deg)) translateY(-147px)}
  .or-svc,.or-hl-list{grid-template-columns:1fr}
  .or-gal{grid-auto-columns:85%}
  .or-hl,.or-contact{padding:2rem;border-radius:24px}
  .or-share{padding:0 1.6rem}
}
@media (prefers-reduced-motion:reduce){.or-ring,.or-sat-in,.or-aurora i{animation:none}}
