/* ================================================
   MARS · Interactivity Layer (overrides + additions)
   ================================================ */

/* ---------- Global shader canvas (behind everything) ---------- */
#bg-shader{
  position:fixed; inset:0; z-index:-2; pointer-events:none;
  width:100vw; height:100vh;
}
#bg-vignette{
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 100%, transparent 0%, var(--scrim) 55%, var(--scrim) 100%),
    radial-gradient(circle at 50% 50%, transparent 40%, var(--scrim) 100%);
}

/* ---------- Custom cursor ---------- */
.cursor{
  position:fixed; top:0; left:0; width:28px; height:28px;
  border:1px solid rgba(228,79,57,.6); border-radius:50%;
  transform:translate(-50%,-50%); pointer-events:none; z-index:9999;
  transition:width .25s ease, height .25s ease, border-color .2s, background .2s;
}
.cursor-dot{
  position:fixed; top:0; left:0; width:5px; height:5px;
  background:#E44F39; border-radius:50%;
  transform:translate(-50%,-50%); pointer-events:none; z-index:9999;
  box-shadow:0 0 12px #E44F39;
}
.cursor.hover{ width:40px; height:40px; background:transparent; border-color:#E44F39; mix-blend-mode:normal; }
@media (hover:none){ .cursor, .cursor-dot{ display:none; } }

/* ---------- Scroll progress ---------- */
.scroll-progress{
  position:fixed; top:0; left:0; height:2px; width:0%;
  background:linear-gradient(90deg, #E44F39, #E44F39);
  box-shadow:0 0 12px rgba(228,79,57,.85);
  z-index:200; transition:width .08s linear;
}

/* ---------- Nav rebuild (pill, centered, magnetic) ---------- */
.hud.scrolled{
  background:rgba(8,5,4,0.68) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.45);
}
.hud-inner{
  grid-template-columns: auto 1fr auto !important;
  padding:0 28px !important;
  align-items:center;
}
.brand{ display:flex; align-items:center; gap:14px; text-decoration:none; }
.brand-logo{ height:22px; width:auto; display:block; }
.brand .brand-sub{
  font-family:'JetBrains Mono', monospace; font-size:9px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--ink-faint);
  padding-left:14px; border-left:1px solid rgba(228,79,57,.35);
  line-height:1;
}
@media (max-width:760px){ .brand .brand-sub{ display:none; } }

.nav{
  justify-self:center;
  background:transparent;
  border:none;
  border-radius:999px;
  padding:6px !important;
  gap:2px !important;
  box-shadow:none;
  position:relative;
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
.hud.scrolled .nav{
  background:transparent;
  border:none;
}
.nav a{
  font-family:'Poppins', sans-serif !important;
  font-size:12px !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
  padding:9px 16px !important;
  border-radius:999px !important;
  color:var(--ink-dim) !important;
  position:relative; z-index:2;
  transition:color .3s;
}
.nav a:hover{ color:var(--ink) !important; background:transparent !important; }
.nav a.pill-on{ color:#fff !important; font-weight:600 !important; }
.nav a.active::after{ display:none !important; }
.nav .nav-pill{
  position:absolute; top:6px; left:0; height:calc(100% - 12px);
  background:#E44F39;
  border-radius:999px; z-index:1;
  box-shadow:0 4px 14px rgba(228,79,57,.45), inset 0 1px 0 rgba(255,255,255,.18);
  transition:left .45s cubic-bezier(.6,0,.25,1), width .45s cubic-bezier(.6,0,.25,1);
  box-shadow:none;
  opacity:0;
}
.nav.ready .nav-pill{ opacity:1; }

.cta-btn{
  border-radius:999px !important;
  padding:11px 22px !important;
  font-family:'Poppins', sans-serif !important;
  font-size:12px !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
  border:1px solid #E44F39 !important;
  background:#E44F39 !important;
  color:#fff !important;
  box-shadow:none;
  transition:transform .3s, background .3s;
}
.cta-btn:hover{ transform:translateY(-2px); background:#c83e2a !important; }

/* ---------- Hero parallax layers ---------- */
.hero-grid{ will-change:transform; }
#terrain{ will-change:transform; }
.hero-inner > *{ will-change:transform; }

/* Hero title split-letter reveal */
.hero-title .word{ display:inline-block; overflow:visible; vertical-align:top; white-space:nowrap; }
.hero-title .char{
  display:inline-block;
  transform:translateY(110%) rotate(6deg);
  opacity:0;
  animation:charIn .9s cubic-bezier(.2,.7,.2,1) forwards;
  animation-delay:var(--d, 0s);
}
@keyframes charIn{ to{ transform:translateY(0) rotate(0); opacity:1; } }

/* blinking caret at end of title */
.caret{
  display:inline-block; width:.08em; height:.72em;
  background:#E44F39; margin-left:.12em;
  animation:blink 1.05s steps(2) infinite;
  box-shadow:0 0 18px #E44F39;
}
@keyframes blink{ 50%{ opacity:0; } }

/* Mini planet: now orbiting with satellite */
.mini-planet{ animation:float 6s ease-in-out infinite; }
@keyframes float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }
.mini-planet::before{
  content:""; position:absolute; top:-8px; left:-8px; right:-8px; bottom:-8px;
  border-radius:50%;
  background:
    conic-gradient(from 0deg, transparent 0 85%, rgba(228,79,57,.9) 90%, transparent 92%);
  animation:rotate 6s linear infinite;
}

/* ---------- Reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(40px); transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:translateY(0); }
.reveal-stagger > *{ opacity:0; transform:translateY(30px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal-stagger.in > *{ opacity:1; transform:translateY(0); }
.reveal-stagger.in > *:nth-child(1){ transition-delay:.05s; }
.reveal-stagger.in > *:nth-child(2){ transition-delay:.15s; }
.reveal-stagger.in > *:nth-child(3){ transition-delay:.25s; }
.reveal-stagger.in > *:nth-child(4){ transition-delay:.35s; }

/* ---------- Section dividers: animated lines ---------- */
section{ border-top:none !important; }
section::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(228,79,57,.4) 20%, rgba(228,79,57,.4) 80%, transparent);
  transform:scaleX(0); transform-origin:left;
  transition:transform 1.2s cubic-bezier(.2,.7,.2,1);
}
section.in-view::before{ transform:scaleX(1); }

/* ---------- Agent cards: hover magnetism + glow ---------- */
.agent{
  cursor:pointer; transition:background .4s, transform .4s;
  transform-style:preserve-3d;
}
.agent::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%), rgba(228,79,57,.20), transparent 60%);
  opacity:0; transition:opacity .4s;
}
.agent:hover::after{ opacity:1; }
.agent:hover{ background:var(--bg-2); }
.agent h3{ transition:color .3s, transform .4s; }
.agent:hover h3{ color:#E44F39; transform:translateX(6px); }

/* Pillars interactive bar */
.pillar{ cursor:pointer; transition:background .3s, padding .3s; padding-left:0 !important; }
.pillar::before{ transition:width .5s cubic-bezier(.2,.7,.2,1); }
.pillar:hover::before{ width:100% !important; height:1px !important; }
.pillar:hover{ padding-left:12px !important; }
.pillar:hover .pname{ color:#E44F39; }
.pname{ transition:color .3s; }

/* Horizon cards */
.horizon{ cursor:pointer; }
.horizon::after{
  content:""; position:absolute; inset:auto 0 0 0; height:2px;
  background:linear-gradient(90deg, #E44F39, transparent);
  transform:scaleX(0); transform-origin:left;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.horizon:hover::after{ transform:scaleX(1); }
.horizon .hn .n{ transition:transform .5s cubic-bezier(.2,.7,.2,1), color .3s; }
.horizon:hover .hn .n{ transform:translateY(-4px) scale(1.05); color:#E44F39; }

/* Testimonial card float */
.tcard{ transition:transform .5s cubic-bezier(.2,.7,.2,1), border-color .3s, background .3s; }
.tcard:hover{ transform:translateY(-6px); background:var(--card-hover); border-color:#E44F39 !important; }

/* Mission section: planet now rotates */
.mission::before{
  animation:drift 12s ease-in-out infinite;
  will-change:transform;
}
@keyframes drift{ 0%,100%{ transform:translateY(-50%) scale(1); } 50%{ transform:translateY(-53%) scale(1.03); } }
.mission::after{ animation:rotate 80s linear infinite; }

/* Marquee: hover pause, color shift on halves */
.marquee-wrap:hover .marquee{ animation-play-state:paused; }
.marquee{ animation-duration:30s !important; }

/* ---------- Way rows: animated line  ---------- */
.contact-l .way{ position:relative; }
.contact-l .way::before{
  content:""; position:absolute; left:0; bottom:-1px; height:1px; width:0;
  background:linear-gradient(90deg, #E44F39, transparent);
  transition:width .5s cubic-bezier(.2,.7,.2,1);
}
.contact-l .way:hover::before{ width:100%; }
.contact-l .way .arr{ transition:transform .3s; display:inline-block; }
.contact-l .way:hover .arr{ transform:translateX(10px); }

/* opt cards */
.opt{ position:relative; overflow:hidden; }
.opt::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(228,79,57,.22), transparent);
  opacity:0; transition:opacity .3s;
}
.opt:hover::before{ opacity:1; }
.opt > *{ position:relative; z-index:1; }

/* ---------- Floating badges (stars) ---------- */
.floaty{
  position:absolute; pointer-events:none;
  font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:.12em;
  color:rgba(228,79,57,.5); text-transform:uppercase;
}

/* ---------- Body global font override to Poppins ---------- */
body{ font-family:'Poppins', system-ui, sans-serif; }
.hero-title, .sec-title, .display, .brand-name,
.agent h3, .pname, .horizon h4, .tcard .q, .tcard .wn,
.mission h2, .contact-l h2, .foot-col a, .belt-cell .v,
.about-big, .about-quote, .contact-r .cbox h3, .opt .on{
  font-family:'Outfit', system-ui, sans-serif !important;
}

/* ---------- Hero restructure ---------- */
.hero-topline{ display:flex; justify-content:space-between; align-items:center; }
.hero-topline-meta{ font-size:11px; color:var(--ink-faint); letter-spacing:.18em; }
.hero-head{ grid-template-columns: minmax(0,1fr) auto !important; gap:60px !important; align-items:start !important; margin-top:56px !important; }
.hero-head-l{ display:flex; flex-direction:column; gap:28px; max-width:900px; }
.hero-eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--brand); display:inline-flex; align-items:center; gap:10px;
}
.hero-eyebrow span{ color:rgba(228,79,57,.5); }
.hero-title{ font-size:clamp(64px, 11vw, 168px) !important; }
.hero-lede{
  font-family:'Outfit', sans-serif !important;
  font-size:clamp(19px, 1.7vw, 24px) !important; font-weight:300;
  color:var(--ink-dim); line-height:1.35; max-width:580px;
}
.hero-lede em{ font-style:normal; color:var(--brand); font-weight:400; }
.hero-ctas{ justify-content:flex-start !important; margin-top:4px; }
.hero-meta{
  padding:20px 24px; border:1px solid rgba(228,79,57,.18); border-radius:16px;
  background:var(--glass-soft); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  min-width:240px !important;
}
.hero-meta-row{ font-size:11px !important; padding:6px 0; border-top:1px dashed rgba(228,79,57,.12); justify-content:space-between; width:100%; }
.hero-meta-row:nth-of-type(1){ border-top:none; }
.hero-meta-row b{ font-family:'JetBrains Mono', monospace; }
.mini-planet{ margin:0 auto 14px; }

/* Belt polish */
.hero-belt{ border:1px solid rgba(228,79,57,.18) !important; border-radius:12px; overflow:hidden; background:var(--glass-soft); backdrop-filter:blur(10px); }
.belt-cell{ background:transparent !important; padding:22px 24px !important; }
.belt-cell .k{ color:var(--brand) !important; }
.belt-cell .v{ font-size:22px !important; font-weight:500 !important; }
.belt-cell .d{ font-family:'Poppins', sans-serif !important; text-transform:none !important; letter-spacing:0 !important; color:var(--ink-dim) !important; font-size:13px !important; }

/* HUD mobile nav */
/* ---------- Mobile nav ---------- */
@media (max-width:960px){
  .nav{ display:none !important; }
  .hud-inner{ grid-template-columns: auto 1fr auto !important; gap:8px !important; padding:0 14px !important; }
  .brand{ grid-column:1; justify-self:start; min-width:0; }
  .brand-logo{ height:24px !important; }
  .hud-right{ grid-column:3; justify-self:end; gap:8px !important; }
  .hud-right > span{ display:none !important; }
  .cta-btn{ display:none !important; }
  .cta-btn-icon{ display:inline-flex !important; }
  .nav-toggle{ display:flex !important; }
  .lang-switch button{ padding:4px 7px; font-size:9.5px; letter-spacing:.04em; }
  .hero-head{ grid-template-columns:1fr !important; }
  .hero-meta{ min-width:0 !important; }
}
.nav-toggle{
  display:none; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:999px;
  border:1px solid rgba(228,79,57,.35); cursor:pointer;
  background:rgba(228,79,57,.08);
  transition:background .2s;
}
.nav-toggle:hover{ background:rgba(228,79,57,.18); }
.nav-toggle span{ width:16px; height:1.5px; background:var(--ink); position:relative; }
.nav-toggle span::before, .nav-toggle span::after{ content:""; position:absolute; left:0; width:16px; height:1.5px; background:var(--ink); }
.nav-toggle span::before{ top:-5px; }
.nav-toggle span::after{ top:5px; }

.cta-btn-icon{
  display:none;
  width:40px; height:40px; border-radius:999px;
  align-items:center; justify-content:center;
  background:#E44F39; color:#fff;
  border:1px solid #E44F39;
  transition:transform .2s, background .2s;
}
/* ---------- Schedule block under contact-l ways ---------- */
.contact-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:start;
  margin-top:8px;
}
.contact-row .ways{ display:flex; flex-direction:column; }
.schedule-block{
  padding:24px;
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:14px;
  display:flex; flex-direction:column; gap:18px;
}
.schedule-block .opts{
  display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:8px;
}
.schedule-block .cbox h3{ font-size:22px !important; margin-bottom:6px !important; }
.schedule-block .cbox p{ font-size:13px !important; }
@media (max-width:960px){
  .contact-row{ grid-template-columns:1fr; gap:32px; }
}
@media (max-width:720px){
  .schedule-block .opts{ grid-template-columns:1fr; }
}
[data-theme="light"] .hs-form-wrap{
  background:transparent;
  border:none;
  box-shadow:none;
}
[data-theme="light"] .hs-form-wrap input[type="text"],
[data-theme="light"] .hs-form-wrap input[type="email"],
[data-theme="light"] .hs-form-wrap input[type="tel"],
[data-theme="light"] .hs-form-wrap input[type="number"],
[data-theme="light"] .hs-form-wrap select,
[data-theme="light"] .hs-form-wrap textarea{
  background:#fdfaf5 !important;
  border-color:var(--line) !important;
  color:var(--ink) !important;
}
[data-theme="light"] .hs-form-wrap input:focus,
[data-theme="light"] .hs-form-wrap select:focus,
[data-theme="light"] .hs-form-wrap textarea:focus{
  background:#ffffff !important;
  border-color:#E44F39 !important;
}
.hs-form-wrap{
  position:relative;
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
  min-height:120px;
}
.hs-form-wrap::before{
  content:"Carregando formulário…";
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--ink-faint);
  pointer-events:none;
}
.hs-form-wrap:has(form)::before,
.hs-form-wrap:has(iframe)::before{ display:none; }

/* Style HubSpot's injected form to match Mars */
.hs-form-wrap form,
.hs-form-wrap .hs-form{
  font-family:'Poppins', sans-serif !important;
  color:var(--ink) !important;
}
.hs-form-wrap label,
.hs-form-wrap .hs-form-field > label{
  display:block !important;
  font-family:'JetBrains Mono', monospace !important;
  font-size:10px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:var(--ink-faint) !important;
  margin-bottom:8px !important;
}
.hs-form-wrap input[type="text"],
.hs-form-wrap input[type="email"],
.hs-form-wrap input[type="tel"],
.hs-form-wrap input[type="number"],
.hs-form-wrap select,
.hs-form-wrap textarea{
  width:100% !important;
  background:var(--panel) !important;
  border:1px solid var(--line-2) !important;
  border-radius:8px !important;
  padding:12px 14px !important;
  font-family:'Poppins', sans-serif !important;
  font-size:14px !important;
  color:var(--ink) !important;
  transition:border-color .2s, background .2s !important;
  outline:none !important;
}
.hs-form-wrap input:focus,
.hs-form-wrap select:focus,
.hs-form-wrap textarea:focus{
  border-color:#E44F39 !important;
  background:var(--bg-2) !important;
  box-shadow:0 0 0 3px rgba(228,79,57,.18) !important;
}
.hs-form-wrap textarea{ min-height:90px !important; resize:vertical !important; }
.hs-form-wrap .hs-form-field{ margin-bottom:14px !important; }
.hs-form-wrap .hs-error-msg,
.hs-form-wrap .hs-error-msgs li{
  color:#E44F39 !important;
  font-family:'JetBrains Mono', monospace !important;
  font-size:11px !important;
  margin-top:6px !important;
}
.hs-form-wrap .hs-submit{ margin-top:8px !important; }
.hs-form-wrap input[type="submit"],
.hs-form-wrap .hs-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#E44F39 !important;
  color:#fff !important;
  border:1px solid #E44F39 !important;
  border-radius:999px !important;
  padding:12px 26px !important;
  font-family:'Poppins', sans-serif !important;
  font-size:13px !important;
  font-weight:500 !important;
  letter-spacing:.02em !important;
  cursor:pointer !important;
  transition:background .2s, transform .2s !important;
  box-shadow:none !important;
}
.hs-form-wrap input[type="submit"]:hover,
.hs-form-wrap .hs-button:hover{
  background:#c83e2a !important;
  transform:translateY(-1px) !important;
}
.hs-form-wrap .legal-consent-container,
.hs-form-wrap .hs-richtext{
  font-size:12px !important;
  color:var(--ink-dim) !important;
  line-height:1.5 !important;
}
.hs-form-wrap .legal-consent-container a{
  color:#E44F39 !important; text-decoration:underline !important;
}
.hs-form-wrap input[type="checkbox"]{
  accent-color:#E44F39 !important;
}
.hs-form-wrap .submitted-message{
  font-family:'Outfit', sans-serif !important;
  font-size:18px !important;
  color:var(--ink) !important;
  padding:24px 0 !important;
  text-align:center !important;
}
.hs-form-wrap .submitted-message *,
.hs-form-wrap .submitted-message h1,
.hs-form-wrap .submitted-message h2,
.hs-form-wrap .submitted-message h3,
.hs-form-wrap .submitted-message h4,
.hs-form-wrap .submitted-message p,
.hs-form-wrap .submitted-message div,
.hs-form-wrap .submitted-message span{
  color:var(--ink) !important;
}

/* Catch-all text color override for HubSpot's injected/iframe content */
.hs-form-wrap,
.hs-form-wrap *{
  color:var(--ink) !important;
}

/* Force browser to render iframe content in matching color scheme */
.hs-form-wrap{ color-scheme:dark light; }
[data-theme="dark"] .hs-form-wrap,
[data-theme="dark"] .hs-form-wrap iframe{ color-scheme:dark !important; }
[data-theme="light"] .hs-form-wrap,
[data-theme="light"] .hs-form-wrap iframe{ color-scheme:light !important; }
.hs-form-wrap input,
.hs-form-wrap select,
.hs-form-wrap textarea{
  color:var(--ink) !important;
  -webkit-text-fill-color:var(--ink) !important;
}
.hs-form-wrap ::placeholder{
  color:var(--ink-faint) !important;
  opacity:1 !important;
}
.hs-form-wrap input:-webkit-autofill,
.hs-form-wrap input:-webkit-autofill:hover,
.hs-form-wrap input:-webkit-autofill:focus,
.hs-form-wrap textarea:-webkit-autofill{
  -webkit-text-fill-color:var(--ink) !important;
  -webkit-box-shadow:0 0 0 1000px var(--panel) inset !important;
  caret-color:var(--ink) !important;
}
.book-modal{
  position:fixed; inset:0; z-index:1500;
  background:rgba(8,5,4,0.7); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  display:none; align-items:center; justify-content:center;
  padding:24px;
  opacity:0; transition:opacity .3s ease;
}
.book-modal.open{ display:flex; opacity:1; }
.book-modal-card{
  position:relative;
  width:100%; max-width:980px; height:min(88vh, 760px);
  background:var(--panel);
  border:1px solid var(--line-2);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.5);
  display:flex; flex-direction:column;
  transform:translateY(20px) scale(.98);
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.book-modal.open .book-modal-card{ transform:translateY(0) scale(1); }
.book-modal-head{
  display:flex; align-items:center; gap:18px;
  padding:18px 24px;
  border-bottom:1px solid var(--line);
  background:var(--bg-2);
}
.book-modal-brand{ display:flex; align-items:center; flex:0 0 auto; }
.book-logo{ height:22px; width:auto; display:block; }
.book-logo-light{ display:var(--logo-light-display, block); }
.book-logo-dark{ display:var(--logo-dark-display, none); }
.book-modal-head .t{
  flex:1; min-width:0;
  font-family:'Outfit', sans-serif; font-size:16px; font-weight:500; color:var(--ink);
  border-left:1px solid var(--line);
  padding-left:18px;
}
.book-modal-head .t small{
  display:block; font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--ink-faint); margin-top:4px;
}
.book-modal-close{
  width:36px; height:36px; border-radius:999px;
  border:1px solid var(--line-2); background:transparent;
  color:var(--ink); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  font-size:18px; line-height:1;
  transition:background .2s, transform .2s;
}
.book-modal-close:hover{ background:rgba(228,79,57,.12); transform:rotate(90deg); }
.book-modal-body{
  flex:1; min-height:0; position:relative;
  background:var(--panel);
}
.book-modal-body iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0;
}
.book-modal-loading{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:var(--ink-faint); font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:.18em;
  text-transform:uppercase;
}
.book-modal-loading::before{
  content:""; width:12px; height:12px; border-radius:50%;
  background:#E44F39; margin-right:10px;
  animation:pulse 1s ease-in-out infinite;
}
@media (max-width:720px){
  .book-modal{ padding:12px; }
  .book-modal-card{ height:92vh; border-radius:14px; }
  .book-modal-head{ padding:14px 18px; }
  .book-modal-head .t{ font-size:16px; }
}

/* ---------- Language switcher ---------- */
.lang-switch{
  display:inline-flex; align-items:center;
  border:1px solid rgba(228,79,57,.28);
  border-radius:999px;
  padding:3px;
  gap:0;
  background:rgba(228,79,57,.06);
}
.lang-switch button{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:.08em;
  padding:5px 10px;
  border-radius:999px;
  color:var(--ink-dim);
  border:none; background:transparent; cursor:pointer;
  transition:color .2s, background .2s;
}
.lang-switch button:hover{ color:var(--ink); }
.lang-switch button.active{
  background:#E44F39; color:#fff; font-weight:600;
}
@media (max-width:720px){
  .lang-switch{ display:inline-flex !important; }
  .lang-switch button{ padding:3px 6px; font-size:9px; letter-spacing:.02em; }
}

/* ---------- Theme toggle ---------- */
.theme-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:999px;
  border:1px solid rgba(228,79,57,.32);
  background:rgba(228,79,57,.08);
  color:var(--ink); cursor:pointer;
  transition:background .2s, transform .2s, color .2s;
}
.theme-toggle:hover{ background:rgba(228,79,57,.18); transform:rotate(15deg); }
.theme-toggle .icon-sun{ display:none; }
.theme-toggle .icon-moon{ display:block; }
[data-theme="light"] .theme-toggle .icon-sun{ display:block; }
[data-theme="light"] .theme-toggle .icon-moon{ display:none; }

/* ============ Theme: LIGHT mode adjustments ============ */

/* Body / atmosphere */
[data-theme="light"] body{
  background:
    radial-gradient(1200px 700px at 80% -10%, rgba(228,79,57,0.10), transparent 60%),
    radial-gradient(900px 600px at -10% 40%, rgba(228,79,57,0.04), transparent 55%),
    var(--bg) !important;
}
[data-theme="light"] body::before{
  opacity:.10 !important;
  mix-blend-mode:multiply !important;
}

/* Hide dark-themed canvases & vignettes */
[data-theme="light"] #bg-shader,
[data-theme="light"] #bg-vignette,
[data-theme="light"] #terrain{ display:none !important; }

/* Hero in light: Mars in daylight */
[data-theme="light"] .hero{
  background:
    radial-gradient(ellipse at 50% 110%, rgba(228,79,57,.22), transparent 55%),
    radial-gradient(ellipse at 20% 30%, rgba(255,200,170,.30), transparent 55%),
    linear-gradient(180deg, #fbf6ee, #f0e6d5);
}
[data-theme="light"] .hero-grid{ opacity:.45; }
[data-theme="light"] .hero::after{
  /* hide scanline overlay in light mode */
  display:none;
}

/* Header */
[data-theme="light"] .hud{
  background:var(--hud-bg) !important;
  border-bottom-color:rgba(228,79,57,0.18) !important;
}
[data-theme="light"] .hud.scrolled{
  background:var(--hud-bg-scrolled) !important;
  box-shadow:0 8px 30px rgba(160,90,40,.12) !important;
}

/* Nav links in light mode: branded hover + clearer idle */
[data-theme="light"] .nav a{ color:#5a4a3f !important; }
[data-theme="light"] .nav a:hover{ color:#E44F39 !important; }
[data-theme="light"] .nav a.pill-on{ color:#fff !important; }
[data-theme="light"] .nav .nav-pill{
  box-shadow:0 6px 18px rgba(228,79,57,.35), inset 0 1px 0 rgba(255,255,255,.25);
}
[data-theme="light"] .brand .brand-sub{
  color:var(--ink-faint);
  border-left-color:rgba(228,79,57,.4);
}

/* Mobile burger lines + close button */
[data-theme="light"] .nav-toggle span,
[data-theme="light"] .nav-toggle span::before,
[data-theme="light"] .nav-toggle span::after{ background:var(--ink); }
[data-theme="light"] .nav-toggle{ background:rgba(228,79,57,.08); border-color:rgba(228,79,57,.32); }
[data-theme="light"] .mobile-nav{ background:var(--mobile-nav-bg); }
[data-theme="light"] .mobile-nav a{ color:var(--ink); }
[data-theme="light"] .mobile-nav .close{ color:var(--ink); border-color:rgba(228,79,57,.32); background:rgba(228,79,57,.08); }

/* Cursor */
[data-theme="light"] .cursor{ border-color:rgba(228,79,57,.9) !important; mix-blend-mode:normal; }

/* Hero meta + belt: white glass instead of dark glass */
[data-theme="light"] .hero-meta{
  background:var(--glass);
  border-color:var(--line);
  box-shadow:var(--shadow-card);
}
[data-theme="light"] .hero-belt{
  background:var(--glass) !important;
  border-color:var(--line) !important;
  box-shadow:var(--shadow-card);
}
[data-theme="light"] .belt-cell{ background:transparent !important; }

/* Cards: solid white panels with soft shadows */
[data-theme="light"] .agent,
[data-theme="light"] .tcard,
[data-theme="light"] .horizon{
  background:var(--panel);
  box-shadow:var(--shadow-card);
}
[data-theme="light"] .agent:hover,
[data-theme="light"] .tcard:hover,
[data-theme="light"] .horizon:hover{
  background:var(--card-hover);
}

/* Pillars */
[data-theme="light"] .pillar{ border-top-color:var(--line); }

/* Footer */
[data-theme="light"] footer{
  background:var(--bg-deep);
  color:#f4ebe0;
}
[data-theme="light"] footer .foot-col a{ color:#f4ebe0; }
[data-theme="light"] footer .foot-col a:hover{ color:#E44F39; }
[data-theme="light"] footer .foot-col h4{ color:rgba(255,255,255,.55); }
[data-theme="light"] footer .foot-brand p{ color:rgba(255,255,255,.72); }
[data-theme="light"] footer .foot-bot{ color:rgba(255,255,255,.4); border-top-color:rgba(255,255,255,.08); }

/* Mission section (orange gradient stays — bridge for both themes) */
[data-theme="light"] .mission{
  background:
    radial-gradient(ellipse at 70% 50%, rgba(228,79,57,0.3), transparent 60%),
    linear-gradient(180deg, var(--bg), var(--bg-2));
}

/* Status dot stays bright */
[data-theme="light"] .status-dot{ box-shadow:0 0 6px rgba(127,224,151,.7); }

/* Brand-sub border consistency */
.brand .brand-sub{ border-left-color:rgba(228,79,57,.3); }

.mobile-nav{
  position:fixed; inset:0; background:var(--mobile-nav-bg); backdrop-filter:blur(16px);
  display:none; flex-direction:column; align-items:center; justify-content:center;
  z-index:600; gap:18px;
}
.mobile-nav.open{ display:flex; }
.mobile-nav a{ font-family:'Outfit', sans-serif; font-size:28px; font-weight:300; color:var(--ink); }
.mobile-nav a:hover{ color:#E44F39; }
.mobile-nav .close{
  position:absolute; top:20px; right:20px;
  width:44px; height:44px; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  font-size:22px; color:var(--ink); cursor:pointer;
  border:1px solid rgba(228,79,57,.3); background:rgba(228,79,57,.08);
}
