:root{
  --bg:#02040b;
  --bg-alt:#050913;
  --ink:#8fb1bd;
  --ink-soft:#6f7f8c;
  --text:#c4d0d8;
  --blue:#1c78d6;
  --blue-glow:rgba(28,120,214,.45);
  --ember:#ff7a2f;
  --line:rgba(143,177,189,.15);
  --serif:'Cormorant Garamond','Times New Roman',serif;
  --sans:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;line-height:1.7;overflow-x:hidden}
a{color:inherit;text-decoration:none}
::selection{background:var(--blue);color:#fff}

/* Letterbox bars */
.bar{position:fixed;left:0;right:0;height:4vh;min-height:24px;background:#000;z-index:1030;pointer-events:none}
.bar-top{top:0}.bar-bottom{bottom:0}
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--blue),var(--ember));z-index:1040}

/* Nav */
.site-nav{position:fixed;top:4vh;left:0;right:0;z-index:1035;display:flex;justify-content:space-between;align-items:center;padding:1rem 2.5rem;transition:background .4s,backdrop-filter .4s}
.site-nav.scrolled{background:rgba(2,4,11,.75);backdrop-filter:blur(10px)}
.nav-logo{font-family:var(--serif);letter-spacing:.5em;color:var(--ink);font-size:1.1rem}
.theme-toggle{display:flex;align-items:center;gap:.45rem;background:transparent;border:1px solid var(--line);color:var(--ink-soft);padding:.4rem .7rem;border-radius:2rem;font:inherit;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;transition:.3s}
.theme-toggle:hover{border-color:var(--ember);color:#fff}
.theme-icon{font-size:1rem;line-height:1}
.nav-links{display:flex;gap:2.2rem;list-style:none;margin:0;padding:0}
.nav-links a{display:block;padding:.45rem .65rem;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);transition:color .3s;position:relative}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;height:1px;width:0;background:var(--ember);transition:width .3s}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-toggle{display:none;background:none;border:0;width:32px;height:20px;position:relative}
.nav-toggle span{position:absolute;left:0;right:0;height:1px;background:var(--ink);transition:.3s}
.nav-toggle span:first-child{top:6px}.nav-toggle span:last-child{top:13px}
.nav-toggle.open span:first-child{top:9px;transform:rotate(45deg)}
.nav-toggle.open span:last-child{top:9px;transform:rotate(-45deg)}

/* Hero */
.hero{position:relative;height:100vh;min-height:620px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 50% 55%,#031026 0%,var(--bg) 70%)}
#orbCanvas{position:absolute;inset:0;width:100%;height:100%}
.hero-text{position:relative;text-align:center;z-index:2;padding:0 1rem;pointer-events:none}
.hero-name{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,4.6vw,4.2rem);letter-spacing:.3em;margin:0 -.3em 0 0;text-transform:uppercase;color:#7fa3ae;text-shadow:0 0 30px rgba(120,180,200,.35);opacity:0;animation:fadeUp 1.8s .4s forwards}
.hero-sub{margin-top:1rem;font-size:clamp(.55rem,1vw,.85rem);letter-spacing:.5em;text-transform:uppercase;color:var(--ink-soft);opacity:0;animation:fadeUp 1.8s .9s forwards}
.hero-sub i{font-style:normal;margin:0 1em;color:#4a5865}
.hero-tag{margin-top:1.4rem;font-family:var(--serif);font-style:italic;font-size:clamp(1rem,1.8vw,1.45rem);color:var(--ink);opacity:0;animation:fadeUp 1.8s 1.1s forwards}
.hero-menu{position:absolute;bottom:calc(4vh + 3.2rem);left:0;right:0;z-index:2;display:flex;justify-content:center;gap:clamp(1.2rem,6vw,6.5rem);list-style:none;padding:0;margin:0;opacity:0;animation:fadeUp 1.8s 1.4s forwards}
.hero-menu a{font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;color:#7c8791;transition:color .3s,text-shadow .3s}
.hero-menu a:hover{color:#fff;text-shadow:0 0 14px var(--blue)}
.scroll-hint{position:absolute;bottom:calc(4vh + .8rem);left:50%;transform:translateX(-50%);z-index:2;width:22px;height:36px;border:1px solid var(--ink-soft);border-radius:12px}
.scroll-hint span{position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;background:var(--ember);border-radius:2px;animation:wheel 1.8s infinite}
@keyframes wheel{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(14px)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* Marquee */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.1rem 0;background:var(--bg-alt)}
.marquee-track{display:flex;width:max-content;gap:2.5rem;animation:scrollx 32s linear infinite;font-family:var(--serif);font-size:1.5rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}
.marquee-track i{font-style:normal;color:var(--ember);font-size:.8rem;align-self:center}
@keyframes scrollx{to{transform:translateX(-33.333%)}}

/* Sections */
.section{padding:8rem 0;position:relative}
.section-alt{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.eyebrow{font-size:.72rem;letter-spacing:.45em;text-transform:uppercase;color:var(--ember);margin-bottom:.8rem}
.section-title{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,4.5vw,3.6rem);color:#a9c4cc;margin-bottom:3rem;letter-spacing:.04em;line-height:1.15}
.lead-text{font-family:var(--serif);font-size:1.6rem;color:#b9ced5;line-height:1.4;margin-bottom:1.2rem}
.note{margin-top:2.5rem;font-size:.82rem;color:var(--ink-soft);max-width:760px}

/* Reveal */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}

/* Filters */
.filters{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-bottom:2.5rem}
.filter{background:none;border:0;border-bottom:1px solid transparent;color:var(--ink-soft);font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;padding:.3rem 0;transition:.3s}
.filter:hover{color:#fff}
.filter.active{color:#fff;border-color:var(--ember)}

/* Work cards */
.work-item{transition:opacity .4s,transform .4s}
.work-item.hide{display:none}
.card-work{cursor:pointer;position:relative;border:1px solid var(--line);overflow:hidden;background:#04070f;transition:transform .4s,box-shadow .4s,border-color .4s}
.card-work:hover{transform:translateY(-6px);border-color:rgba(28,120,214,.5);box-shadow:0 18px 50px -12px var(--blue-glow)}
.thumb{aspect-ratio:16/10;position:relative;transition:transform .8s}
.card-work:hover .thumb{transform:scale(1.06)}
.thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(2,4,11,.85),transparent 55%)}
.t1{background:radial-gradient(circle at 30% 30%,#ff7a2f,transparent 40%),radial-gradient(circle at 75% 70%,#1c78d6,transparent 50%),#050913}
.t2{background:conic-gradient(from 200deg at 50% 50%,#0b1d3a,#6fa8c7,#0b1d3a,#1c78d6,#0b1d3a)}
.t3{background:linear-gradient(180deg,#0a1530 0%,#1a3a5c 45%,#ff7a2f 46%,#2b1408 60%,#02040b 100%)}
.t4{background:linear-gradient(135deg,#1c78d6,#7a2cff 55%,#ff7a2f)}
.t5{background:radial-gradient(circle at 50% 60%,#ffb347,#ff5e1a 30%,transparent 55%),#0a0f1c}
.t6{background:linear-gradient(120deg,#02040b,#0f3b66 50%,#02040b),#000}
.play{position:absolute;z-index:2;top:50%;left:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border:1px solid rgba(255,255,255,.6);border-radius:50%;opacity:0;transform:scale(.7);transition:.4s}
.play::after{content:"+";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.6rem;font-weight:200}
.card-work:hover .play{opacity:1;transform:none}
.meta{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:1.2rem 1.4rem}
.meta h3{font-family:var(--serif);font-size:1.5rem;color:#fff;margin:0}
.meta span{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink)}

/* Services */
.service{padding:2.2rem;border:1px solid var(--line);height:100%;transition:.4s;background:rgba(255,255,255,.01)}
.service:hover{border-color:rgba(28,120,214,.5);background:rgba(28,120,214,.05);transform:translateY(-4px)}
.service .num{font-family:var(--serif);font-size:2.2rem;color:var(--ember)}
.service h3{font-family:var(--serif);font-size:1.6rem;color:#b9ced5;margin:.4rem 0 .8rem}
.service p{color:var(--ink-soft);font-size:.92rem;margin:0}
.tools{margin-top:5rem}
.chips{display:flex;flex-wrap:wrap;gap:.7rem}
.chips span{border:1px solid var(--line);padding:.55rem 1.3rem;font-size:.75rem;letter-spacing:.15em;color:var(--ink);border-radius:30px;transition:.3s}
.chips span:hover{border-color:var(--ember);color:#fff}

/* Platforms & models */
.platform{padding:2rem;border:1px solid var(--line);height:100%;transition:.4s;background:rgba(255,255,255,.01);text-align:center}
.platform:hover{border-color:rgba(255,122,47,.5);transform:translateY(-4px);box-shadow:0 18px 50px -16px rgba(255,122,47,.35)}
.wordmark{font-family:var(--serif);font-size:2.2rem;letter-spacing:.12em;color:#c9dde3;margin-bottom:.8rem;text-shadow:0 0 24px rgba(28,120,214,.4)}
.platform p,.model p{color:var(--ink-soft);font-size:.9rem;margin:0}
.model{padding:1.6rem 0;border-top:1px solid var(--line);height:100%}
.model h4{font-family:var(--serif);font-size:1.4rem;color:#b9ced5}

/* Process */
.step{position:relative;padding:2rem 1.6rem 1.6rem;border-left:1px solid var(--line);height:100%}
.step-num{font-family:var(--serif);font-size:3.2rem;color:var(--ember);line-height:1;display:block;margin-bottom:.6rem}
.step h3{font-family:var(--serif);font-size:1.5rem;color:#b9ced5}
.step p{color:var(--ink-soft);font-size:.9rem;margin:0}

/* Testimonials */
.quote{margin:0;padding:2rem;border:1px solid var(--line);height:100%}
.quote p{font-family:var(--serif);font-size:1.3rem;color:#b9ced5;line-height:1.5}
.quote footer{font-size:.75rem;letter-spacing:.15em;color:var(--ink-soft)}
.quote footer span{display:block;color:var(--ember);text-transform:uppercase;letter-spacing:.3em;font-size:.65rem;margin-top:.3rem}

/* About */
.portrait{aspect-ratio:4/5;max-width:380px;border:1px solid var(--line);background:radial-gradient(circle at 50% 40%,#0d3a6e,#02040b 70%);display:flex;align-items:center;justify-content:center;position:relative;margin:0 auto}
.portrait::before{content:"";position:absolute;inset:-12px 12px 12px -12px;border:1px solid rgba(255,122,47,.4);z-index:-1}
.portrait span{font-family:var(--serif);font-size:6rem;letter-spacing:.2em;color:#7fa3ae;text-shadow:0 0 30px var(--blue-glow)}
.stats{margin-top:2.5rem}
.stats strong{display:block;font-family:var(--serif);font-size:3rem;color:#fff;font-weight:500;line-height:1}
.stats strong::after{content:"+";color:var(--ember)}
.stats span{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-soft)}

/* Contact */
.contact-list{list-style:none;padding:0;margin:2rem 0 0}
.contact-list li{padding:.9rem 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem}
.contact-list span{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft)}
.contact-list a{color:var(--text);transition:color .3s}
.contact-list a:hover{color:var(--ember)}
.form-control{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:#fff;padding:.9rem 0;font-weight:300}
.form-control:focus{background:transparent;color:#fff;box-shadow:none;border-color:var(--blue)}
.form-control::placeholder{color:var(--ink-soft)}
select.form-control option{background:#050913;color:#fff}
.form-control.is-invalid{border-color:#e5484d;background-image:none}
.btn-glow{background:transparent;border:1px solid var(--blue);color:#fff;padding:.9rem 2.4rem;letter-spacing:.3em;text-transform:uppercase;font-size:.75rem;transition:.4s}
.btn-glow:hover{background:var(--blue);box-shadow:0 0 30px var(--blue-glow);color:#fff}
.form-status{margin-left:1.2rem;font-size:.85rem;color:var(--ink)}

.site-footer{padding:3rem 0 calc(4vh + 2rem);text-align:center;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.78rem;letter-spacing:.15em}
.site-footer p{margin:0 auto;padding:0 1rem}

/* Modal */
.modal-content{background:#050913;border:1px solid var(--line);color:var(--text)}
.modal-title{font-family:var(--serif);font-size:1.8rem;color:#fff}
.modal-visual{aspect-ratio:16/9;margin-bottom:1.2rem;border:1px solid var(--line)}
.modal-cat{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ember)}

/* Responsive */
@media (max-width:1199px){
  .site-nav{padding:1rem 1.4rem}
  .nav-toggle{display:block}
  .nav-links{position:fixed;inset:0;background:rgba(2,4,11,.97);flex-direction:column;justify-content:center;align-items:center;gap:2rem;opacity:0;pointer-events:none;transition:opacity .4s}
  .nav-links.open{opacity:1;pointer-events:auto}
  .nav-links a{font-size:1rem}
  .nav-toggle{z-index:2}
  .hero-menu{flex-wrap:wrap;gap:1rem 1.8rem;padding:0 1rem}
  .hero-sub{letter-spacing:.25em;line-height:2}
  .hero-sub i{margin:0 .4em}
  .section{padding:5.5rem 0}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

/* Day view: the alternate neumorphic design remains opt-in while night stays default. */
[data-theme="light"]{
  --bg:#e4e8ef;
  --bg-alt:#e4e8ef;
  --ink:#2f3a56;
  --ink-soft:#7d889f;
  --text:#4b566e;
  --blue:#4f6bed;
  --blue-glow:rgba(79,107,237,.25);
  --ember:#ff8a5c;
  --line:transparent;
  --sh-dark:#bcc3d1;
  --sh-light:#fff;
  --raised:8px 8px 18px var(--sh-dark),-8px -8px 18px var(--sh-light);
  --raised-sm:5px 5px 11px var(--sh-dark),-5px -5px 11px var(--sh-light);
  --inset:inset 6px 6px 12px var(--sh-dark),inset -6px -6px 12px var(--sh-light);
  --inset-sm:inset 3px 3px 7px var(--sh-dark),inset -3px -3px 7px var(--sh-light);
}
[data-theme="light"] body,
[data-theme="light"] .section,
[data-theme="light"] .section-alt,
[data-theme="light"] .marquee{background:var(--bg);color:var(--text)}
[data-theme="light"] .marquee{border:0;box-shadow:var(--inset-sm)}
[data-theme="light"] .bar{display:none}
[data-theme="light"] .site-nav{top:16px;left:50%;width:min(980px,calc(100% - 28px));transform:translateX(-50%);padding:.7rem 1.4rem;border-radius:60px;background:var(--bg);box-shadow:var(--raised-sm)}
[data-theme="light"] .site-nav.scrolled{background:var(--bg);backdrop-filter:none}
[data-theme="light"] .theme-toggle{border:0;box-shadow:var(--raised-sm);color:var(--blue)}
[data-theme="light"] .theme-toggle:hover{color:var(--ink)}
[data-theme="light"] .nav-links{gap:.5rem}
[data-theme="light"] .nav-links a{padding:.65rem 1.1rem;border-radius:30px}
[data-theme="light"] .nav-links a:hover{color:var(--ink);box-shadow:var(--raised-sm)}
[data-theme="light"] .nav-links a.active{color:var(--blue);box-shadow:var(--inset-sm)}
[data-theme="light"] .hero{background:var(--bg)}
[data-theme="light"] #orbCanvas{opacity:1;filter:none}
[data-theme="light"] .hero-name{color:var(--ink);text-shadow:3px 3px 6px rgba(188,195,209,.9),-3px -3px 6px #fff}
[data-theme="light"] .hero-sub,
[data-theme="light"] .hero-tag{color:var(--ink-soft)}
[data-theme="light"] .hero-menu a{color:var(--text);padding:.8rem 1.6rem;border-radius:40px;background:var(--bg);box-shadow:var(--raised-sm)}
[data-theme="light"] .hero-menu a:hover{color:var(--blue);text-shadow:none}
[data-theme="light"] .scroll-hint{background:var(--bg);box-shadow:var(--inset-sm);border:0}
[data-theme="light"] .eyebrow{color:var(--blue);padding:.45rem 1.2rem;border-radius:30px;box-shadow:var(--inset-sm);display:inline-block}
[data-theme="light"] .section-title,
[data-theme="light"] .lead-text,
[data-theme="light"] .wordmark,
[data-theme="light"] .model h4,
[data-theme="light"] .step h3,
[data-theme="light"] .quote p{color:var(--ink);text-shadow:none}
[data-theme="light"] .filter{padding:.7rem 1.5rem;border:0;border-radius:30px;background:var(--bg);box-shadow:var(--raised-sm);color:var(--ink-soft)}
[data-theme="light"] .filter.active{color:var(--blue);box-shadow:var(--inset-sm)}
[data-theme="light"] .card-work,
[data-theme="light"] .service,
[data-theme="light"] .platform,
[data-theme="light"] .quote{padding:16px;border:0;border-radius:26px;background:var(--bg);box-shadow:var(--raised)}
[data-theme="light"] .service,
[data-theme="light"] .platform,
[data-theme="light"] .quote{padding:2rem}
[data-theme="light"] .card-work:hover,
[data-theme="light"] .service:hover,
[data-theme="light"] .platform:hover{border:0;box-shadow:var(--raised);transform:translateY(-5px);background:var(--bg)}
[data-theme="light"] .model,
[data-theme="light"] .step{border:0;padding:1.6rem;border-radius:22px;box-shadow:var(--inset-sm)}
[data-theme="light"] .thumb{border-radius:18px;box-shadow:var(--inset-sm)}
[data-theme="light"] .t1{background:linear-gradient(135deg,#c9d2f7,#8ea1f0)}
[data-theme="light"] .t2{background:linear-gradient(135deg,#dfe4ee,#aab6d4)}
[data-theme="light"] .t3{background:linear-gradient(180deg,#bcc9f2 0%,#8ea1f0 55%,#f0b79d 56%,#d98f72 100%)}
[data-theme="light"] .t4{background:linear-gradient(135deg,#8ea1f0,#4f6bed)}
[data-theme="light"] .t5{background:radial-gradient(circle at 50% 60%,#ffc9ae,#ff8a5c 38%,#d7dcf0 70%)}
[data-theme="light"] .t6{background:linear-gradient(120deg,#d7dcf0,#6f86ef 60%,#4f6bed)}
[data-theme="light"] .thumb::after{background:none}
[data-theme="light"] .play{background:var(--bg);box-shadow:var(--raised-sm);border:0}
[data-theme="light"] .play::after{color:var(--blue)}
[data-theme="light"] .meta{position:static;display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;padding:1.1rem .5rem .3rem}
[data-theme="light"] .meta h3,
[data-theme="light"] .service h3,
[data-theme="light"] .modal-title{color:var(--ink)}
[data-theme="light"] .meta h3{font-size:1.45rem;font-weight:600;line-height:1.15;flex:1 1 10rem}
[data-theme="light"] .meta span{font-size:.66rem;font-weight:500;letter-spacing:.22em;color:var(--ink-soft);line-height:1.3}
[data-theme="light"] .service p,
[data-theme="light"] .contact-list a{color:var(--text)}
[data-theme="light"] .service .num,
[data-theme="light"] .modal-cat,
[data-theme="light"] .step-num{color:var(--blue)}
[data-theme="light"] .chips span{padding:.6rem 1.3rem;background:var(--bg);box-shadow:var(--raised-sm);border:0;color:var(--text)}
[data-theme="light"] .portrait,
[data-theme="light"] #contactForm{background:var(--bg);border:0;border-radius:26px;box-shadow:var(--inset)}
[data-theme="light"] #contactForm{padding:1.6rem!important}
[data-theme="light"] .portrait{padding:18px}
[data-theme="light"] .portrait::before{inset:18px;border:0;border-radius:18px;box-shadow:var(--inset)}
[data-theme="light"] .portrait span,
[data-theme="light"] .stats strong{color:var(--ink);text-shadow:3px 3px 6px rgba(188,195,209,.9),-3px -3px 6px #fff}
[data-theme="light"] .stats>div>div,
[data-theme="light"] .stats>div{padding:1.1rem .3rem}
[data-theme="light"] .contact-list li{padding:1rem 1.3rem;margin-bottom:1.1rem;border:0;border-radius:18px;background:var(--bg);box-shadow:var(--inset-sm)}
[data-theme="light"] .form-control{background:var(--bg);border:0;border-radius:16px;color:var(--ink);padding:.95rem 1.2rem;box-shadow:var(--inset-sm)}
[data-theme="light"] .form-control:focus{background:var(--bg);color:var(--ink);box-shadow:var(--inset),0 0 0 2px rgba(79,107,237,.35)}
[data-theme="light"] select.form-control option{background:#e4e8ef;color:#2f3a56}
[data-theme="light"] .btn-glow{background:var(--bg);border:0;color:var(--blue);border-radius:40px;box-shadow:var(--raised-sm)}
[data-theme="light"] .site-footer{padding:2.6rem 0 3rem;background:var(--bg);border:0;color:var(--ink-soft)}
[data-theme="light"] .site-footer p{padding:.7rem 1.8rem;border-radius:30px;box-shadow:var(--inset-sm);display:inline-block}
[data-theme="light"] .modal-content{background:var(--bg);color:var(--text);border:0;border-radius:26px;box-shadow:var(--raised)}
[data-theme="light"] .modal-visual{border:0;border-radius:18px;box-shadow:var(--inset-sm)}
[data-theme="light"] .btn-close-white{filter:none}
[data-theme="light"] .modal-backdrop.show{opacity:.45}

@media (max-width:1199px){
  .theme-toggle{margin-left:auto;margin-right:.7rem}
  .site-nav{padding:.8rem 1rem}
  .nav-logo,.theme-toggle,.nav-toggle{position:relative;z-index:2}
  .theme-toggle{flex-shrink:0}
  .theme-label{display:none}
  .nav-links{z-index:1;visibility:hidden;padding:5rem 1.5rem 2rem;gap:1.5rem;row-gap:1.5rem}
  .nav-links.open{visibility:visible}
  .nav-links li{display:block;flex:0 0 auto;margin:0}
  .nav-links a{display:block;position:static;width:max-content;color:var(--ink);font-size:1rem;line-height:1.2;letter-spacing:.24em;padding:.65rem 2rem}
  [data-theme="light"] .site-nav{left:14px;right:14px;width:auto;transform:none}
  [data-theme="light"] .nav-links{gap:1.5rem;row-gap:1.5rem;border-radius:0;background:var(--bg)}
  [data-theme="light"] .nav-links a{box-shadow:var(--raised-sm)}
}

/* ===== Ecom Growth Station additions ===== */
.nav-links{gap:1.2rem}
.nav-links a{font-size:.66rem;letter-spacing:.2em;padding:.45rem .4rem}
.nav-links a.nav-cta{border:1px solid var(--ember);padding:.45rem 1rem;color:#fff}
.nav-links a.nav-cta::after{display:none}
.nav-links a.nav-cta:hover{background:var(--ember);color:#000}
.nav-logo{letter-spacing:.35em;display:flex;flex-direction:column;line-height:1.1}
.nav-logo small{font-family:var(--sans);font-size:.5rem;letter-spacing:.35em;color:var(--ink-soft);text-transform:uppercase;margin-top:2px}
.hero-name{font-size:clamp(1.5rem,4.6vw,4.2rem);letter-spacing:.26em;margin-right:-.26em}

.btn-solid{display:inline-block;background:var(--ember);color:#000;border:1px solid var(--ember);padding:.9rem 2.2rem;letter-spacing:.25em;text-transform:uppercase;font-size:.72rem;font-weight:500;transition:.4s}
.btn-solid:hover{background:transparent;color:#fff;box-shadow:0 0 30px rgba(255,122,47,.35)}
.btn-ghost{display:inline-block;background:transparent;color:#fff;border:1px solid var(--blue);padding:.9rem 2.2rem;letter-spacing:.25em;text-transform:uppercase;font-size:.72rem;transition:.4s}
.btn-ghost:hover{background:var(--blue);box-shadow:0 0 30px var(--blue-glow);color:#fff}
.cta-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}

/* Inner page hero */
.page-hero{position:relative;min-height:62vh;padding:calc(4vh + 8rem) 0 5rem;display:flex;align-items:center;overflow:hidden;background:radial-gradient(ellipse at 80% 50%,#031026 0%,var(--bg) 70%)}
.page-hero canvas{position:absolute;inset:0;width:100%;height:100%}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,5vw,4.2rem);color:#a9c4cc;max-width:760px;line-height:1.1;letter-spacing:.03em;margin-bottom:1.2rem}
.page-hero .lead{max-width:600px;color:var(--ink);font-size:1.05rem}
@media (max-width:767px){.page-hero canvas{opacity:.3}}

/* Feature block */
.feature{border:1px solid var(--line);padding:3rem;background:linear-gradient(135deg,rgba(28,120,214,.09),transparent 60%)}
.tick-list{list-style:none;padding:0;margin:0}
.tick-list li{padding:.4rem 0 .4rem 1.6rem;position:relative;color:var(--ink);font-size:.95rem}
.tick-list li::before{content:"◆";position:absolute;left:0;top:.75rem;color:var(--ember);font-size:.55rem}
.badge-main{display:inline-block;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:#000;background:var(--ember);padding:.25rem .8rem;margin-bottom:1rem}

/* Link cards */
a.service{display:block;color:inherit}
.service .arrow{display:inline-block;margin-top:1.2rem;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ember)}
.service .arrow::after{content:" →";transition:margin .3s}
.service:hover .arrow::after{margin-left:.5rem}

/* Tracks, team, forms */
.track{padding:2rem;border:1px solid var(--line);height:100%;transition:.4s;background:rgba(255,255,255,.01)}
.track:hover{border-color:rgba(255,122,47,.5);transform:translateY(-4px)}
.track .wordmark{margin-bottom:1rem}
.member{padding:2rem;border:1px solid var(--line);text-align:center;height:100%}
.avatar{width:96px;height:96px;border-radius:50%;margin:0 auto 1.2rem;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.8rem;letter-spacing:.1em;color:#7fa3ae;border:1px solid rgba(28,120,214,.5);background:radial-gradient(circle at 50% 40%,#0d3a6e,#02040b 75%);box-shadow:0 0 28px var(--blue-glow)}
.member h3{font-family:var(--serif);font-size:1.5rem;color:#b9ced5;margin:0 0 .2rem}
.member span{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ember)}
.member p{color:var(--ink-soft);font-size:.9rem;margin:.9rem 0 0}
.form-card{border:1px solid var(--line);padding:2.4rem;background:rgba(255,255,255,.01)}
textarea.form-control{resize:vertical}
.callout{border-left:2px solid var(--ember);padding:1rem 1.4rem;color:var(--ink);background:rgba(255,122,47,.05);font-size:.92rem}
.models-table{width:100%;border-collapse:collapse}
.models-table td,.models-table th{padding:1rem .8rem;border-bottom:1px solid var(--line);vertical-align:top;font-size:.92rem}
.models-table th{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ember);font-weight:400}
.models-table td:first-child{font-family:var(--serif);font-size:1.25rem;color:#b9ced5;white-space:nowrap}

/* FAQ */
.faq .accordion-item{background:transparent;border:0;border-bottom:1px solid var(--line)}
.faq .accordion-button{background:transparent;color:#b9ced5;font-family:var(--serif);font-size:1.3rem;box-shadow:none;padding:1.3rem 0}
.faq .accordion-button:not(.collapsed){background:transparent;color:#fff;box-shadow:none}
.faq .accordion-button::after{filter:invert(1) brightness(.8)}
.faq .accordion-body{color:var(--ink-soft);padding:0 0 1.4rem}

/* CTA band + footer */
.cta-band{text-align:center;padding:6.5rem 0;background:radial-gradient(ellipse at 50% 110%,rgba(28,120,214,.28),transparent 60%);border-top:1px solid var(--line)}
.cta-band .section-title{margin-bottom:1.2rem}
.cta-band p{max-width:620px;margin:0 auto}
.cta-band .cta-row{justify-content:center}
.site-footer{text-align:left;padding:4rem 0 calc(4vh + 2rem)}
.site-footer h5{font-size:.68rem;letter-spacing:.35em;text-transform:uppercase;color:var(--ember);margin-bottom:1rem;font-weight:400}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{padding:.25rem 0;letter-spacing:.05em;font-size:.85rem}
.site-footer a:hover{color:#fff}
.footer-brand{font-family:var(--serif);font-size:1.4rem;letter-spacing:.25em;color:var(--ink);text-transform:uppercase;margin-bottom:.8rem}
.footer-bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.72rem;letter-spacing:.1em;line-height:1.7}

/* Light (day) view for the additions */
[data-theme="light"] .nav-links a.nav-cta{border:0;color:var(--blue);box-shadow:var(--raised-sm)}
[data-theme="light"] .nav-links a.nav-cta:hover{background:var(--bg);color:var(--ink)}
[data-theme="light"] .btn-solid{background:var(--bg);color:var(--ember);border:0;border-radius:40px;box-shadow:var(--raised-sm)}
[data-theme="light"] .btn-solid:hover{box-shadow:var(--inset-sm);color:var(--ember)}
[data-theme="light"] .btn-ghost{background:var(--bg);color:var(--blue);border:0;border-radius:40px;box-shadow:var(--raised-sm)}
[data-theme="light"] .btn-ghost:hover{background:var(--bg);box-shadow:var(--inset-sm);color:var(--blue)}
[data-theme="light"] .page-hero{background:var(--bg)}
[data-theme="light"] .page-hero h1{color:var(--ink)}
[data-theme="light"] .page-hero .lead{color:var(--ink-soft)}
[data-theme="light"] .feature{border:0;border-radius:26px;background:var(--bg);box-shadow:var(--raised)}
[data-theme="light"] .badge-main{background:var(--bg);color:var(--ember);box-shadow:var(--inset-sm);border-radius:30px;padding:.4rem 1.1rem}
[data-theme="light"] .tick-list li{color:var(--text)}
[data-theme="light"] .track,
[data-theme="light"] .member,
[data-theme="light"] .form-card{border:0;border-radius:26px;background:var(--bg);box-shadow:var(--raised)}
[data-theme="light"] .form-card{box-shadow:var(--inset)}
[data-theme="light"] .track:hover{border:0;transform:translateY(-5px)}
[data-theme="light"] .nav-logo small{color:var(--ink-soft)}
[data-theme="light"] .avatar{background:var(--bg);color:var(--ink);border:0;box-shadow:var(--raised-sm)}
[data-theme="light"] .member h3{color:var(--ink)}
[data-theme="light"] .member span,[data-theme="light"] .site-footer h5,[data-theme="light"] .models-table th,[data-theme="light"] .service .arrow{color:var(--blue)}
[data-theme="light"] .callout{border-left-color:var(--blue);background:var(--bg);box-shadow:var(--inset-sm);border-radius:0 18px 18px 0;color:var(--text)}
[data-theme="light"] .models-table td:first-child{color:var(--ink)}
[data-theme="light"] .faq .accordion-button{color:var(--ink)}
[data-theme="light"] .faq .accordion-button::after{filter:none}
[data-theme="light"] .faq .accordion-item{border-bottom:1px solid rgba(125,136,159,.25)}
[data-theme="light"] .cta-band{background:var(--bg);border:0}
[data-theme="light"] .footer-brand{color:var(--ink)}
[data-theme="light"] .site-footer a:hover{color:var(--blue)}
[data-theme="light"] .footer-bottom{border-top:1px solid rgba(125,136,159,.25)}

@media (max-width:767px){
  .feature{padding:1.8rem}
  .form-card{padding:1.5rem}
  .models-table td:first-child{white-space:normal}
}
@media (max-width:1199px){
  .nav-links a.nav-cta{padding:.65rem 2rem}
}

/* ===== fixes ===== */
.page-hero .container{width:100%}
[data-theme="light"] .site-nav{width:min(1240px,calc(100% - 28px))}
[data-theme="light"] .nav-logo{white-space:nowrap}
[data-theme="light"] .nav-logo small{white-space:nowrap;letter-spacing:.25em}
[data-theme="light"] .nav-links{gap:.2rem}
[data-theme="light"] .nav-links a{white-space:nowrap;padding:.6rem .8rem;letter-spacing:.16em}
[data-theme="light"] .theme-toggle{white-space:nowrap}
[data-theme="light"] .hero-menu{bottom:calc(4vh + 4.8rem)}
@media (max-width:1199px){
  [data-theme="light"] .site-nav{width:auto}
  [data-theme="light"] .nav-links a{padding:.65rem 2rem;letter-spacing:.24em}
  [data-theme="light"] .hero-menu{bottom:calc(4vh + 4.2rem)}
}
@media (max-width:991px){.g-5,.gx-5{--bs-gutter-x:1.5rem}}
select.form-control:required:invalid{color:var(--ink-soft)}

/* ===== media ===== */
.video-frame{position:relative;aspect-ratio:16/9;border:1px solid var(--line);background:#000;overflow:hidden}
.video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.media-card{display:block;position:relative;overflow:hidden;border:1px solid var(--line);background:#04070f;transition:transform .4s,box-shadow .4s,border-color .4s}
.media-card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .8s}
.media-card:hover{transform:translateY(-5px);border-color:rgba(28,120,214,.5);box-shadow:0 18px 50px -12px var(--blue-glow)}
.media-card:hover img{transform:scale(1.06)}
.media-card .cap{position:absolute;left:0;right:0;bottom:0;padding:1.2rem 1.2rem .9rem;background:linear-gradient(to top,rgba(2,4,11,.9),transparent);font-family:var(--serif);font-size:1.35rem;color:#fff}
.gal-note{margin:.7rem 0 0;font-size:.85rem;color:var(--ink-soft)}
code{color:var(--ember);font-size:.85em}
[data-theme="light"] .video-frame{border:0;border-radius:26px;box-shadow:var(--raised)}
[data-theme="light"] .media-card{border:0;border-radius:26px;box-shadow:var(--raised)}
[data-theme="light"] .media-card:hover{border:0;box-shadow:var(--raised)}
[data-theme="light"] .media-card .cap{color:#fff}
[data-theme="light"] code{color:var(--blue)}
