/* ONDA / warm signal system — shared visual layer */
:root {
  --acid: #ff693d;
  --ink: #0d0908;
  --panel: #17100e;
  --soft: #b8a9a2;
  --line: rgba(255, 239, 230, .16);
  --line-acid: rgba(255, 105, 61, .5);
  --ember: #ff8a62;
  --paper: #f5e2d4;
}

html, body { background: var(--ink); }
.site-head {
  background: rgba(13, 9, 8, .86);
  border-bottom-color: rgba(255, 183, 148, .14);
}
.site-footer { background: #100b09; }
.brand-bee, .brand-mascot, .mascot-float, .mascot-flyby, .factory-bee-stage, .direction-mascot img { filter: hue-rotate(300deg) saturate(1.45) drop-shadow(0 10px 18px rgba(255,105,61,.16)); }
.page-hero, .studio-hero, .academy-hero, .create-hero {
  background: radial-gradient(circle at 76% 29%, rgba(255,105,61,.2), transparent 24%), linear-gradient(128deg, #0d0908 0%, #110b09 57%, #28120d 100%);
}
.page-hero:before, .factory-hero-new:before {
  background-image: linear-gradient(rgba(255,105,61,.065) 1px, transparent 1px), linear-gradient(90deg, rgba(255,105,61,.065) 1px, transparent 1px);
}
.hero-orbits:after { border-color: rgba(255,105,61,.32); }
.hero-orbits video, .create-film article { border-color: rgba(255,105,61,.58); }
.card, .controls, .result, .package, .brief-form, .brief-aside { background: linear-gradient(145deg, #1b100d, #100b09); }
.split-list article:hover, .program-list li:hover { background: rgba(255,105,61,.09); }
.package:hover { border-color: rgba(255,105,61,.7); }
.package.active, .duration button.active, .duration button:hover { background: rgba(255,105,61,.1); }
.academy-marquee { color: #ffc6ae; border-color: rgba(255,105,61,.33); }
.academy-hero:before { border-color: rgba(255,105,61,.38); box-shadow: 0 0 0 60px rgba(255,105,61,.035), 0 0 0 130px rgba(255,105,61,.018); }
.academy-hero { background: radial-gradient(circle at 82% 21%, rgba(255,105,61,.18), transparent 24%), linear-gradient(135deg, #0d0908 50%, #21100c); }
#enrollment-form input:focus { box-shadow: 0 0 0 3px rgba(255,105,61,.13); }
.academy-price-card, .modal-panel { border-color: rgba(255,105,61,.6); background: rgba(23, 13, 10, .86); box-shadow: 16px 16px 0 rgba(255,105,61,.1); }
.academy-button-ghost:hover { background: rgba(255,105,61,.1); }
.factory-page { background: #100b09; color: #ffece2; }
.factory-page .site-head { background: rgba(16, 11, 9, .9); border-color: rgba(255,105,61,.25); }
.factory-page .site-footer { background: #100b09; }
.factory-page {
  --factory-ink: #100b09;
  --factory-paper: #f5e2d4;
  --factory-acid: #ff693d;
  --factory-moss: #2b1510;
  --factory-deep: #180e0b;
  --factory-coral: #c94c30;
}
.factory-hero-new { background: radial-gradient(circle at 77% 38%, rgba(255,105,61,.25), transparent 22%), #100b09; }
.factory-hero-copy>p:not(.factory-kicker) { color: #e3c7ba; }
.factory-button { box-shadow: 5px 5px 0 rgba(201,76,48,.62); }
.factory-button:hover { box-shadow: 2px 2px 0 rgba(201,76,48,.62); }
.factory-button.alt { background: #f0b59d; border-color: #f0b59d; }
.factory-screen-main, .factory-case-copy, .factory-case-metrics { background: #1b0e0b; }
.factory-screen-main:after { background: linear-gradient(130deg,rgba(16,11,9,.16),rgba(16,11,9,.04) 55%,rgba(255,105,61,.2)); }
.factory-screen-bottom i:nth-child(2), .factory-screen-bottom i:nth-child(4) { background: #c94c30; }
.factory-section, .factory-system { background: #f5e2d4; color: #100b09; }
.factory-section .eyebrow, .factory-section .section-title em, .factory-system h2 em { color: #b43d25; }
.factory-section .lead, .factory-system>div>p { color: #503027; }
.factory-packages .package { background: #e9bfad; }
.factory-calculator, .factory-calculator .controls { background: #f1d9cc; }
.factory-calculator .duration small, .factory-calculator .publish small, .factory-calculator .result dt, .factory-calculator .price-note { color: #815f55; }
.factory-cases { background: #160d0a; }
.factory-cases-top p, .factory-case-copy p { color: #e2c2b4; }
.factory-case-stage { border-color: rgba(255,105,61,.6); background: rgba(255,105,61,.26); }
.factory-case-metrics { background: rgba(255,105,61,.18); }
.factory-case-metrics div { background: #24120e; }
.factory-case-metrics dt { color: #d6a995; }
.factory-case-tabs button { border-color: rgba(255,105,61,.55); }
.brief-form, .brief-aside { border-color: rgba(255,235,224,.18); }
.direction-picker input:checked + span { background: rgba(255,105,61,.1); }
.brief-fields input:focus, .brief-fields textarea:focus, .brief-fields select:focus { box-shadow: 0 0 0 3px rgba(255,105,61,.12); }
.brief-estimate { background: rgba(255,105,61,.1); }
.brief-submit:hover { background: #ff8b64; }
.onda-reveal { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity .72s ease, transform .82s cubic-bezier(.22,.61,.36,1); }
.onda-reveal.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }

/* Scroll-led ONDA experience */
#trail { display: none !important; }
.cursor-dot, .cursor-ring { display: none !important; }
#onda-fluid-cursor {
  position: fixed;
  z-index: 45;
  inset: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  opacity: 1;
  mix-blend-mode: normal;
  filter: saturate(1.08) contrast(1.02);
  image-rendering: auto;
}
.onda-motion-stage {
  position: relative;
  z-index: 2;
  height: 310vh;
  border-block: 1px solid rgba(255, 222, 205, .14);
  background: radial-gradient(circle at 50% 42%, rgba(255,105,61,.11), transparent 31%), #0d0908;
  color: #fff4ee;
}
.onda-motion-sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 620px;
  overflow: hidden;
  isolation: isolate;
}
.onda-morph-canvas {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .92;
  pointer-events: none;
}
.onda-motion-copy {
  position: absolute;
  z-index: 3;
  top: clamp(86px, 12vh, 150px);
  left: clamp(18px, 4vw, 62px);
  pointer-events: none;
}
.onda-motion-copy p {
  margin: 0 0 16px;
  color: var(--acid);
  font: 700 .72rem "Space Grotesk", monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.onda-motion-copy h2 {
  max-width: 820px;
  margin: 0;
  color: rgba(255,244,238,.96);
  font: 600 clamp(3rem, 7.4vw, 8rem)/.82 "Space Grotesk", sans-serif;
  letter-spacing: -.1em;
  text-transform: uppercase;
}
.onda-motion-copy h2 span { color: transparent; -webkit-text-stroke: 1px rgba(255,244,238,.58); }
.onda-scroll-thread {
  position: absolute;
  z-index: 2;
  inset: 9% 12% 4% auto;
  width: min(58vw, 830px);
  height: 84%;
  pointer-events: none;
  overflow: visible;
  filter: drop-shadow(0 0 14px rgba(255,105,61,.28));
}
.onda-scroll-thread path {
  fill: none;
  stroke: url(#ondaThreadGradient);
  stroke-width: 2.4;
  vector-effect: non-scaling-stroke;
}
.onda-motion-chapters {
  position: absolute;
  z-index: 4;
  right: clamp(18px, 3vw, 44px);
  top: 50%;
  display: grid;
  gap: 12px;
  transform: translateY(-50%);
  color: rgba(255,236,227,.38);
  font: 700 .65rem "Space Grotesk", monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.onda-motion-chapters span { display: flex; align-items: center; justify-content: flex-end; gap: 10px; transition: color .35s, transform .35s; }
.onda-motion-chapters span:after { width: 18px; height: 1px; background: currentColor; content: ""; transition: width .35s; }
.onda-motion-chapters span.active { color: #ff9a74; transform: translateX(-8px); }
.onda-motion-chapters span.active:after { width: 38px; }
.onda-partners {
  position: absolute;
  z-index: 5;
  right: clamp(20px, 5vw, 78px);
  bottom: clamp(42px, 8vh, 94px);
  left: clamp(20px, 5vw, 78px);
  opacity: 0;
  transform: translateY(34px);
  pointer-events: none;
}
.onda-partners p {
  margin: 0 0 14px;
  color: rgba(255,232,222,.55);
  font: 600 .62rem/1.35 "Space Grotesk", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.onda-partners div { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,232,222,.32); border-bottom: 1px solid rgba(255,232,222,.32); }
.onda-partners span {
  min-height: 92px;
  display: grid;
  place-items: center;
  border-right: 1px solid rgba(255,232,222,.2);
  color: rgba(255,244,238,.9);
  font: 600 clamp(1.15rem, 2.5vw, 2.4rem) "Space Grotesk", sans-serif;
  letter-spacing: -.05em;
}
.onda-partners span:last-child { border-right: 0; }
.onda-motion-hint {
  position: absolute;
  z-index: 4;
  bottom: 22px;
  left: 50%;
  margin: 0;
  color: rgba(255,236,227,.46);
  font: 600 .6rem "Space Grotesk", monospace;
  letter-spacing: .09em;
  text-transform: uppercase;
  transform: translateX(-50%);
}
.onda-sound-toggle {
  position: fixed;
  z-index: 220;
  right: 18px;
  top: 84px;
  display: grid;
  grid-template-columns: 21px auto auto;
  gap: 7px;
  align-items: center;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid rgba(255,222,205,.26);
  border-radius: 999px;
  background: rgba(13,9,8,.74);
  backdrop-filter: blur(13px);
  color: #fff0e9;
  cursor: pointer;
  font-family: "Space Grotesk", monospace;
  text-transform: uppercase;
}
.onda-sound-toggle > span { position: relative; width: 20px; height: 10px; }
.onda-sound-toggle > span:before, .onda-sound-toggle > span:after {
  position: absolute;
  top: 50%;
  width: 2px;
  height: 5px;
  background: var(--acid);
  content: "";
  transform: translateY(-50%);
  transition: height .25s;
}
.onda-sound-toggle > span:before { left: 5px; }
.onda-sound-toggle > span:after { right: 5px; }
.onda-sound-toggle.active > span:before { height: 13px; animation: onda-meter .7s ease-in-out infinite alternate; }
.onda-sound-toggle.active > span:after { height: 9px; animation: onda-meter .52s .13s ease-in-out infinite alternate; }
.onda-sound-toggle b, .onda-sound-toggle small { font-size: .58rem; letter-spacing: .08em; }
.onda-sound-toggle small { color: var(--acid); }
@keyframes onda-meter { to { height: 3px; } }

@media (max-width: 760px) {
  .site-head { background: rgba(13, 9, 8, .96); }
  #onda-fluid-cursor { display: none; }
  .onda-motion-stage { height: 260vh; }
  .onda-motion-sticky { min-height: 560px; }
  .onda-motion-copy { top: 88px; }
  .onda-motion-copy h2 { font-size: clamp(2.7rem, 13vw, 5rem); }
  .onda-scroll-thread { inset: 15% -18% 8% auto; width: 104vw; opacity: .7; }
  .onda-motion-chapters { top: auto; right: 14px; bottom: 132px; }
  .onda-partners { right: 14px; bottom: 50px; left: 14px; }
  .onda-partners p { max-width: 310px; }
  .onda-partners div { grid-template-columns: repeat(2, 1fr); }
  .onda-partners span { min-height: 48px; font-size: .9rem; }
  .onda-partners span:nth-child(2) { border-right: 0; }
  .onda-partners span:nth-child(-n+2) { border-bottom: 1px solid rgba(255,232,222,.2); }
  .onda-sound-toggle { top: auto; right: 11px; bottom: 79px; }
}

@media (prefers-reduced-motion: reduce) {
  .onda-reveal { opacity: 1; transform: none; transition: none; }
  #onda-fluid-cursor { display: none; }
  .onda-motion-stage { height: auto; }
  .onda-motion-sticky { position: relative; height: 720px; }
  .onda-motion-chapters, .onda-motion-hint { display: none; }
  .onda-partners { opacity: 1 !important; transform: none !important; }
}
