:root {
  color-scheme:dark;
  --bg:#07090e;
  --panel:#0e1119;
  --text:#f2f1f5;
  --muted:#a1a8b8;
  --line:#282c37;
  --lilac:#c084fc;
  --blue:#38bdf8;
  --green:#34d399;
  --font:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR','Segoe UI',sans-serif;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:104px;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-decoration:none;
}
button {
  font:inherit;
}
img,video {
  max-width:100%;
  height:auto;
  display:block;
}
h1,h2,h3,p,figure {
  margin:0;
}
h1,h2,h3 {
  line-height:1.25;
  word-break:keep-all;
  text-wrap:balance;
}
h1,h2 {
  white-space:pre-line;
  letter-spacing:-.055em;
}
h1 {
  font-size:clamp(42px,4.7vw,72px);
  font-weight:650;
}
h2 {
  font-size:clamp(30px,3.3vw,46px);
  font-weight:600;
}
h3 {
  font-size:25px;
  letter-spacing:-.035em;
}
p {
  color:var(--muted);
  word-break:keep-all;
  overflow-wrap:break-word;
}
:is(:lang(zh), :lang(ja)) :is(h1,h2,h3,p) {
  word-break:normal;
}
a,button {
  -webkit-tap-highlight-color:transparent;
}
a:focus-visible,button:focus-visible,video:focus-visible {
  outline:2px solid var(--lilac);
  outline-offset:6px;
}
a:hover {
  color:var(--lilac);
}
::selection {
  background:#7042a1;
  color:white;
}
.shell {
  width:min(1240px,calc(100% - 96px));
  margin-inline:auto;
}
.section {
  padding-block:112px;
  border-top:1px solid var(--line);
}
.skip {
  position:absolute;
  left:20px;
  top:-80px;
  padding:12px;
  background:var(--lilac);
  color:var(--bg);
  z-index:100;
}
.skip:focus {
  top:12px;
}
.site-header {
  position:sticky;
  top:0;
  background:rgba(7,9,14,.94);
  backdrop-filter:blur(16px);
  z-index:30;
  border-bottom:1px solid var(--line);
}
.nav {
  height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
}
.logo {
  display:block;
  flex-shrink:0;
}
.logo img {
  width:205px;
}
.nav nav {
  display:flex;
  gap:30px;
  font-size:14px;
}
.nav-end {
  display:flex;
  gap:26px;
  align-items:center;
}
.lang-sw {
  display:flex;
  gap:2px;
}
.lang-sw button {
  border:0;
  background:none;
  color:var(--muted);
  min-width:32px;
  min-height:40px;
  font-size:11px;
  font-weight:600;
  cursor:pointer;
  padding:5px;
}
.lang-sw button:hover,.lang-sw button.on {
  color:var(--text);
}
.lang-sw button.on {
  box-shadow:inset 0 -2px var(--lilac);
}
.contact-nav {
  font-size:13px;
}
.contact-nav span {
  margin-left:14px;
}
.hero {
  position:relative;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:40px;
  align-items:center;
  min-height:710px;
  padding-top:90px;
  padding-bottom:115px;
}
.hero-kicker {
  font-size:12px;
  letter-spacing:.07em;
  color:var(--muted);
  margin-bottom:32px;
}
.hero h1 {
  white-space:normal;
  font-size:clamp(42px,4.2vw,66px);
  line-height:1.22;
}
.lilac {
  color:var(--lilac);
}
.hero-intro {
  margin-top:28px;
  font-size:17px;
  max-width:560px;
  white-space:pre-line;
  line-height:1.9;
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:28px;
  margin-top:36px;
  flex-wrap:wrap;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  background:var(--lilac);
  border:1px solid var(--lilac);
  color:#12091d;
  padding:14px 22px;
  border-radius:4px;
  font-size:14px;
  font-weight:650;
  transition:background .18s,transform .18s;
}
.button:hover {
  background:#d8b2ff;
  color:#12091d;
  transform:translateY(-2px);
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:20px;
  font-size:14px;
  border-bottom:1px solid #5e6270;
  padding-block:7px;
}
.text-link>span:last-child {
  font-size:19px;
}
.hero-bottom {
  position:absolute;
  bottom:35px;
  left:0;
  right:0;
  display:flex;
  justify-content:space-between;
  color:var(--muted);
  font-size:12px;
  letter-spacing:.04em;
}
.hero-bottom>span:last-child {
  font-size:22px;
}
.hero-art {
  height:460px;
  position:relative;
  margin-left:5px;
  background:radial-gradient(ellipse at 50% 50%,#57218328,transparent 65%);
}
.frame {
  position:absolute;
  border-radius:28px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
.frame-wide {
  width:90%;
  height:43%;
  border:9px solid #752db4;
  box-shadow:inset 0 0 24px #752db42a,0 0 22px #752db417;
  transform:translate(-50%,-50%) rotate(-11deg);
}
.frame-tall {
  width:46%;
  height:77%;
  border:10px solid var(--lilac);
  box-shadow:inset 0 0 22px #c084fc1c,0 0 30px #c084fc10;
  transform:translate(-50%,-50%) rotate(-11deg);
}
.frame-core {
  position:absolute;
  width:35px;
  height:35px;
  border-radius:50%;
  background:#fff;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 0 48px #c084fc65;
}
.art-label {
  position:absolute;
  display:flex;
  justify-content:space-between;
  left:0;
  right:0;
  font-size:11px;
  color:var(--muted);
  letter-spacing:.05em;
}
.art-label.top {
  top:0;
}
.art-label.bottom {
  bottom:0;
}
.art-label span:nth-child(2) {
  color:var(--lilac);
}
.art-cross {
  position:absolute;
  color:#4e425d;
  font-weight:200;
}
.c1 {
  right:2%;
  top:24%;
}
.c2 {
  left:2%;
  bottom:22%;
}
.section-heading {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  margin-bottom:58px;
  align-items:end;
}
.section-heading p {
  max-width:470px;
  font-size:16px;
}
.product {
  position:relative;
  padding:42px;
  background:var(--panel);
}
.product-brand {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
  min-height:48px;
}
.product-brand img {
  width:auto;
  height:44px;
}
.product-type {
  font-size:11px;
  color:var(--blue);
}
.product h3 {
  margin-bottom:20px;
}
.product p {
  font-size:15px;
  line-height:1.9;
}
.product .tags {
  font-size:12px;
  color:#a9b2c7;
  margin-top:26px;
}
.cast-product {
  display:grid;
  grid-template-columns:1fr 1.45fr;
  column-gap:70px;
  padding-bottom:48px;
  border-top:2px solid var(--blue);
}
.cast-product .product-brand {
  display:block;
}
.cast-product .product-type {
  display:block;
  margin-top:14px;
}
.cast-product>div:nth-child(2) {
  position:relative;
  z-index:2;
}
.cast-product .text-link {
  margin-top:25px;
}
.cast-glyph {
  font-size:115px;
  line-height:1;
  position:absolute;
  left:62px;
  bottom:34px;
  font-weight:300;
  color:#38bdf824;
}
.cast-glyph span {
  font-size:36px;
  position:absolute;
  top:40px;
  left:44px;
}
.product-pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
  margin-top:2px;
}
.product-pair .product:first-child {
  border-top:2px solid var(--green);
}
.product-pair .product:last-child {
  border-top:2px solid #9ba7b7;
}
.drop-logo {
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-weight:650;
  letter-spacing:-.04em;
  font-size:27px;
}
.drop-logo>span {
  width:36px;
  border:1px solid #8e99ad;
  border-radius:7px;
  text-align:center;
  line-height:36px;
  font-size:23px;
}
.section-tail {
  display:flex;
  justify-content:flex-end;
  margin-top:26px;
}
.music {
  background:#14101e;
  border-block:1px solid #33223f;
}
.music-grid {
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:90px;
  align-items:center;
}
.tag {
  display:block;
  font-size:12px;
  letter-spacing:.04em;
  color:var(--lilac);
  margin-bottom:24px;
}
.music h2 {
  font-size:clamp(30px,3.2vw,43px);
}
.music p {
  margin-top:26px;
  max-width:600px;
}
.music .tags {
  font-size:12px;
  color:#bbaace;
}
.music .button {
  margin-top:35px;
}
.music-art {
  position:relative;
  min-height:370px;
  display:flex;
  align-items:center;
  flex-direction:column;
  justify-content:center;
}
.record {
  height:275px;
  width:275px;
  border:1px solid #58406c;
  border-radius:50%;
  background:repeating-radial-gradient(circle,#171020 0 3px,#2c1c3e 4px,#171020 5px 8px);
  display:grid;
  place-items:center;
  transform:rotate(-16deg);
}
.record-label {
  width:107px;
  height:107px;
  background:var(--lilac);
  border-radius:50%;
  color:#1e1030;
  text-align:center;
  display:flex;
  justify-content:center;
  flex-direction:column;
  font-size:42px;
  font-weight:750;
  letter-spacing:-.08em;
  line-height:1;
}
.record-label span {
  font-size:8px;
  font-weight:500;
  letter-spacing:0;
  margin-top:6px;
}
.wave {
  display:flex;
  align-items:center;
  justify-content:center;
  height:105px;
  gap:3px;
  width:100%;
  position:relative;
  margin-top:-70px;
  background:linear-gradient(0deg,#14101e,transparent);
}
.wave i {
  display:block;
  width:3px;
  max-width:1%;
  height:var(--h);
  background:var(--lilac);
  border-radius:2px;
  opacity:.7;
}
.music-art p {
  font-size:12px;
  letter-spacing:.12em;
}
.film {
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:64px;
  align-items:center;
}
.film h2 {
  font-size:34px;
}
.film p {
  margin-top:22px;
}
.film-duration {
  font-size:11px;
  color:#7c8393;
  display:block;
  margin-top:40px;
  letter-spacing:.05em;
}
.film video {
  width:100%;
  aspect-ratio:16/9;
  background:#0e1119;
  border:1px solid var(--line);
  border-radius:6px;
}
.film figcaption {
  font-size:11px;
  color:var(--muted);
  margin-top:12px;
}
.flow-list {
  list-style:none;
  margin:50px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-block:1px solid var(--line);
}
.flow-list li {
  padding:28px 24px 30px 0;
  position:relative;
}
.flow-list li+li {
  padding-left:26px;
  border-left:1px solid var(--line);
}
.step {
  color:var(--lilac);
  font-size:12px;
  display:block;
  margin-bottom:22px;
}
.flow-list h3 {
  font-size:18px;
}
.flow-owner {
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-top:12px;
}
.flow-note {
  font-size:14px;
  max-width:850px;
  margin-top:25px;
}
.research-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  margin-bottom:30px;
}
.research-list article {
  padding-block:32px;
  border-top:1px solid var(--line);
}
.research-list img {
  height:40px;
  width:auto;
  margin-bottom:22px;
}
.research-list h3 {
  margin-bottom:25px;
}
.research-list p {
  font-size:15px;
  margin-top:20px;
}
.status {
  display:block;
  color:#b8a5cb;
  font-size:12px;
}
.model-names {
  color:#e2d8ed;
  font-size:24px!important;
  letter-spacing:-.025em;
}
.model-names span {
  color:#51405d;
  margin-inline:12px;
}
.patent {
  display:flex;
  align-items:center;
  gap:38px;
  padding:46px 42px;
  border:1px solid #3b2d47;
  background:#110d17;
  margin-bottom:110px;
}
.patent-mark {
  color:var(--lilac);
  font-size:65px;
  line-height:1;
}
.patent .tag {
  margin-bottom:10px;
}
.patent h2 {
  font-size:25px;
}
.patent p {
  font-size:13px;
  margin-top:12px;
}
.contact {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:45px;
}
.contact p {
  font-size:14px;
  margin-top:24px;
}
.email {
  font-size:clamp(18px,2vw,27px);
  letter-spacing:-.04em;
  border-bottom:1px solid #6b547c;
  padding-bottom:10px;
  white-space:nowrap;
}
.email span {
  margin-left:20px;
  color:var(--lilac);
}
.footer {
  display:flex;
  align-items:center;
  gap:32px;
  flex-wrap:wrap;
  padding:35px 0;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:11px;
}
.footer img {
  width:160px;
}
.footer>div {
  flex:1;
}
.footer p {
  font-size:11px;
}
.footer small {
  font-size:11px;
}
.page-hero {
  padding-block:96px 85px;
}
.page-hero p:last-child {
  white-space:pre-line;
  word-break:keep-all;
  overflow-wrap:anywhere;
  max-width:700px;
  margin-top:32px;
  font-size:18px;
}
.detail-row {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:60px;
  border-top:1px solid var(--line);
  padding-block:38px;
}
.ecosystem>h2 {
  margin-bottom:45px;
}
.detail-row img {
  height:42px;
  width:auto;
}
.detail-row h3 {
  font-size:23px;
}
.detail-row .tags {
  font-size:12px;
  margin-top:16px;
}
.related-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  margin-top:50px;
}
.related-grid article {
  border-top:1px solid var(--line);
  padding-top:30px;
}
.related-grid img {
  height:40px;
  width:auto;
  margin-bottom:20px;
}
.related-grid h3 {
  margin:6px 0 26px;
}
.related-grid p {
  font-size:15px;
  margin-top:20px;
}
.decision-list article {
  display:grid;
  grid-template-columns:1fr 2fr auto;
  gap:48px;
  border-top:1px solid var(--line);
  padding-block:35px;
  align-items:start;
}
.decision-list h3 {
  font-size:32px;
  margin-bottom:12px;
}
.decision-list p {
  font-size:15px;
}
.decision-list .text-link {
  white-space:nowrap;
  font-size:12px;
}
.lab-note {
  font-size:12px;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.principle {
  margin-top:70px;
  padding-left:24px;
  border-left:2px solid var(--lilac);
}
.principle p {
  margin-top:18px;
}
.privacy-page {
  max-width:810px;
  margin:0 auto;
  padding:45px 24px;
}
.privacy-logo {
  display:block;
  margin-bottom:30px;
}
.privacy-logo img {
  width:220px;
}
.privacy-page .lang-sw {
  margin-bottom:40px;
}
.privacy-page h1 {
  font-size:34px;
  margin-bottom:28px;
}
.privacy-page h2 {
  font-size:20px;
  margin:30px 0 12px;
}
.privacy-page p,.privacy-page li {
  font-size:15px;
}
.privacy-page a:not(.privacy-logo) {
  color:var(--lilac);
}
@media(min-width:1600px) {
  .hero {
    min-height:770px;
  }
  .hero h1 {
    font-size:68px;
  }
}
@media(max-width:1100px) {
  .shell {
    width:calc(100% - 64px);
  }
  .nav {
    gap:18px;
  }
  .logo img {
    width:175px;
  }
  .nav nav {
    gap:20px;
  }
  .nav-end {
    gap:12px;
  }
  .contact-nav {
    display:none;
  }
  .hero {
    gap:25px;
    min-height:660px;
  }
  .hero h1 {
    font-size:48px;
  }
  .hero-art {
    height:375px;
  }
  .hero-intro {
    font-size:15px;
  }
  .hero-actions {
    gap:18px;
  }
  .section-heading,.music-grid {
    gap:40px;
  }
  .product {
    padding:32px;
  }
  .cast-product {
    column-gap:36px;
  }
  .product-type {
    max-width:180px;
  }
  .contact {
    align-items:start;
    flex-direction:column;
  }
  .decision-list article {
    gap:30px;
  }
  .film {
    gap:35px;
  }
}
@media(max-width:760px) {
  html {
    scroll-padding-top:122px;
  }
  .shell {
    width:calc(100% - 40px);
  }
  .nav {
    height:auto;
    min-height:104px;
    flex-wrap:wrap;
    gap:5px 12px;
    padding-block:10px;
  }
  .logo img {
    width:172px;
  }
  .nav nav {
    order:3;
    width:100%;
    font-size:12px;
    gap:28px;
    padding-top:4px;
  }
  .nav-end {
    margin-left:auto;
  }
  .lang-sw button {
    min-width:28px;
  }
  .hero {
    grid-template-columns:1fr;
    gap:44px;
    padding-block:55px 95px;
    min-height:0;
  }
  .hero h1 {
    font-size:clamp(36px,7.9vw,54px);
  }
  .hero-kicker {
    font-size:10px;
    margin-bottom:22px;
  }
  .hero-intro {
    font-size:15px;
    margin-top:22px;
    white-space:normal;
  }
  .hero-actions {
    gap:20px;
    margin-top:28px;
  }
  .button {
    font-size:13px;
    padding:12px 18px;
    gap:22px;
  }
  .text-link {
    font-size:13px;
  }
  .hero-art {
    width:min(360px,100%);
    height:320px;
    margin:0 auto;
  }
  .frame-wide {
    border-width:7px;
    border-radius:22px;
  }
  .frame-tall {
    border-width:8px;
    border-radius:22px;
  }
  .frame-core {
    width:26px;
    height:26px;
  }
  .hero-bottom {
    bottom:24px;
    font-size:10px;
  }
  .section {
    padding-block:65px;
  }
  h2 {
    font-size:32px;
  }
  .section-heading {
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:35px;
  }
  .section-heading p {
    font-size:15px;
  }
  .cast-product {
    display:block;
  }
  .product {
    padding:28px 25px;
  }
  .cast-product .product-brand {
    display:flex;
  }
  .cast-product .product-type {
    display:none;
  }
  .cast-glyph {
    display:none;
  }
  .product-pair {
    grid-template-columns:1fr;
  }
  .product h3 {
    font-size:24px;
  }
  .product p {
    font-size:14px;
  }
  .product .tags {
    font-size:11px;
    margin-top:20px;
  }
  .product-brand {
    margin-bottom:26px;
  }
  .product-brand img {
    height:40px;
  }
  .music-grid {
    grid-template-columns:minmax(0,1fr);
    gap:35px;
  }
  .music h2 {
    font-size:31px;
  }
  .music-art {
    min-height:310px;
  }
  .record {
    width:240px;
    height:240px;
  }
  .film {
    grid-template-columns:1fr;
    gap:30px;
  }
  .film h2 {
    font-size:29px;
  }
  .film-duration {
    margin-top:20px;
  }
  .flow-list {
    grid-template-columns:1fr 1fr;
    margin-top:30px;
  }
  .flow-list li {
    padding:24px 12px!important;
  }
  .flow-list li:nth-child(3) {
    border-left:0;
  }
  .flow-list li:nth-child(n+3) {
    border-top:1px solid var(--line);
  }
  .flow-list h3 {
    font-size:16px;
  }
  .flow-owner {
    font-size:10px;
  }
  .flow-note {
    font-size:13px;
  }
  .research-list {
    grid-template-columns:1fr;
    gap:0;
  }
  .patent {
    padding:28px 24px;
    gap:20px;
    margin-bottom:65px;
    align-items:start;
  }
  .patent-mark {
    font-size:35px;
    margin-top:4px;
  }
  .patent h2 {
    font-size:21px;
  }
  .patent p {
    font-size:12px;
  }
  .contact {
    gap:34px;
  }
  .footer {
    gap:22px;
    align-items:start;
  }
  .footer>a:first-child {
    width:100%;
  }
  .footer>div {
    flex-basis:100%;
  }
  .footer small {
    margin-left:auto;
  }
  .page-hero {
    padding-block:55px;
  }
  .page-hero h1 {
    font-size:40px;
  }
  .page-hero p:last-child {
    font-size:16px;
  }
  .detail-row {
    grid-template-columns:1fr;
    gap:24px;
    padding-block:30px;
  }
  .related-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  .decision-list article {
    grid-template-columns:1fr;
    gap:20px;
  }
  .decision-list .text-link {
    justify-self:start;
  }
  .principle {
    margin-top:45px;
  }
  .principle h3 {
    font-size:23px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important;
  }
}

/* Technical detail stays readable as editorial rows, including narrow screens. */
.tech-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-bottom:36px; }
.tech-columns article { border-top:1px solid var(--line); padding-top:26px; }
.tech-tools { font-size:11px; color:var(--green); display:block; margin-bottom:22px; }
.tech-columns h3 { font-size:24px; margin-bottom:18px; }
.tech-columns p { font-size:15px; }
.product .tags + .text-link { margin-top:22px; }
.production-steps { padding:0; margin:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; column-gap:64px; }
.production-steps li { display:flex; gap:24px; padding:30px 0; border-top:1px solid var(--line); }
.production-steps .step { padding-top:4px; }
.production-steps h3 { font-size:23px; margin-bottom:16px; }
.production-steps p { font-size:15px; }
.model-table table { width:100%; border-collapse:collapse; text-align:left; }
.model-table th, .model-table td { border-top:1px solid var(--line); padding:23px 20px 23px 0; vertical-align:top; }
.model-table thead th { color:var(--muted); font-size:12px; font-weight:500; }
.model-table tbody th { font-size:15px; font-weight:600; min-width:110px; }
.model-table td { font-size:14px; }
.model-table td:nth-child(2) { color:var(--green); width:30%; }
.model-table td:nth-child(3) { color:var(--muted); width:50%; }
.build-steps { list-style:none; padding:0; margin:45px 0 0; display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
.build-steps li { border-top:1px solid var(--line); padding-top:25px; }
.build-steps h3 { font-size:21px; margin-bottom:18px; }
.build-steps p { font-size:14px; }
.storage-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px 44px; }
.storage-grid article { border-top:1px solid var(--line); padding-top:26px; }
.storage-grid h3 { font-size:23px; margin-bottom:18px; }
.storage-grid p { font-size:15px; }
@media (max-width:1100px) {
  .nav nav { gap:16px; }
  .nav-end { gap:10px; }
  .build-steps { grid-template-columns:1fr 1fr; }
  .storage-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  .nav nav { gap:24px; }
  .tech-columns, .production-steps, .storage-grid { grid-template-columns:1fr; gap:28px; }
  .production-steps { gap:0; }
  .build-steps { grid-template-columns:1fr; }
  .model-table th, .model-table td { font-size:12px!important; padding:18px 8px 18px 0; word-break:normal; overflow-wrap:anywhere; }
  .model-table tbody th { min-width:0; width:20%; }
  .model-table td:nth-child(2) { width:32%; }
  .model-table td:nth-child(3) { width:48%; }
}

.roadmap-items { display:grid; grid-template-columns:repeat(3,1fr); gap:38px; }
.roadmap-items article { border-top:1px dashed #705782; padding-top:25px; }
.roadmap-items h3 { font-size:24px; margin-bottom:18px; }
.roadmap-items p { font-size:15px; }
.future-loop { border:1px dashed #705782; padding:25px; color:#dac3ed; margin-top:40px; text-align:center; font-size:15px; }
.roadmap .lab-note { border:0; }
@media (max-width:760px) {
  .roadmap-items { grid-template-columns:1fr; gap:30px; }
  .future-loop { padding:20px; font-size:14px; }
}

/* Connections show merges, branches and return routes; node positions own geometry. */
.flow-figure { margin:0; border:1px solid #313440; background:#0b0e15; }
.flow-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 28px; border-bottom:1px solid var(--line); }
.flow-key { display:flex; align-items:center; gap:10px; color:#bfc5d3; font-size:11px; }
.flow-key i { width:7px; height:7px; background:var(--green); border-radius:50%; flex-shrink:0; }
.flow-map { position:relative; padding:30px 32px 65px 24px; }
.flow-nodes { display:grid; gap:42px 36px; position:relative; z-index:1; align-items:stretch; }
.overview-map .flow-nodes { grid-template-columns:repeat(5,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(96px,auto)); }
.flow-node { border:1px solid #414656; background:#131722; padding:20px 12px; border-radius:10px; display:flex; flex-direction:column; justify-content:center; position:relative; }
.flow-node h3 { font-size:17px; font-weight:650; line-height:1.4; }
.flow-node p { font-size:11px; line-height:1.7; margin-top:9px; color:#b3bbcc; }
.flow-node.store { border-color:#7b5495; background:#191222; }
.flow-node.engine { border-color:#2b785e; background:#0b211b; }
.flow-node.engine h3 { color:var(--green); }
.flow-node.cast { border-color:#337696; background:#0c1d29; }
.flow-node.cast h3 { color:var(--blue); }
.flow-node.music { border-color:#72518d; background:#1b1326; }
.flow-node.music h3 { color:#d9b8fb; }
.flow-node.review { border-color:#847049; background:#201b13; }
.flow-node.review h3 { color:#f0c987; }
.flow-node.data { border-color:#344f68; }
.overview-map [data-node="source"] { grid-area:1/1; }
.overview-map [data-node="facts"] { grid-area:3/1; }
.overview-map [data-node="store"] { grid-area:2/2; }
.overview-map [data-node="engine"] { grid-area:1/3; }
.overview-map [data-node="music"] { grid-area:3/3; }
.overview-map [data-node="cast"] { grid-area:2/4; }
.overview-map [data-node="review"] { grid-area:1/5; }
.overview-map [data-node="out"] { grid-area:3/5; }
.flow-connections { width:100%; height:100%; position:absolute; inset:0; overflow:visible; pointer-events:none; }
.connection-line { fill:none; stroke:var(--flow-color); stroke-width:1.3; opacity:.5; }
.connection-pulse { fill:none; stroke:var(--flow-color); stroke-width:3.5; stroke-linecap:round; stroke-dasharray:2 42; animation:flow-current 3.2s linear infinite; }
.connection-return .connection-line { stroke-dasharray:5 6; opacity:.5; }
.connection-return .connection-pulse { stroke-width:2.5; opacity:.7; }
@keyframes flow-current { to { stroke-dashoffset:-88; } }
.motion-paused .connection-pulse { animation-play-state:paused; opacity:0; }
.flow-support { border-top:1px solid var(--line); padding:20px 28px 0; font-size:12px; color:#b5a4c7; }
.flow-figure figcaption { padding:12px 28px 22px; font-size:11px; color:#929aaa; }
.files-map .flow-nodes { grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(108px,auto)); gap:42px 64px; }
.files-map [data-node="api"] { grid-area:1/2; }
.files-map [data-node="web"] { grid-area:3/2; }
.files-map [data-node="media"] { grid-area:1/1; }
.files-map [data-node="data"] { grid-area:2/1; }
.files-map [data-node="convert"] { grid-area:3/1; }
.files-map [data-node="store"] { grid-area:2/2; }
.files-map [data-node="create"] { grid-area:1/3; }
.files-map [data-node="ingest"] { grid-area:2/3; }
.files-map [data-node="transform"] { grid-area:3/3; }
.files-map [data-node="output"] { grid-area:1/4; }
.files-map [data-node="analytics"] { grid-area:2/4; }
.files-map [data-node="download"] { grid-area:3/4; }
.flow-viewport { overflow-x:auto; overscroll-behavior-x:contain; }
.flow-viewport:focus-visible { outline:2px solid var(--lilac); outline-offset:4px; }
.flow-scroll-hint { display:none; }
.file-flow-notes { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:32px; }
.file-flow-notes h3 { font-size:17px; margin-bottom:14px; }
.file-flow-notes p { font-size:13px; }
.grounded { border-top-color:#59436d; }
.grounded-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:42px; }
.grounded-principles article { border-top:1px solid #394737; padding-top:25px; }
.grounded-principles article>span { font-size:12px; color:var(--green); display:block; margin-bottom:22px; }
.grounded-principles h3 { font-size:23px; margin-bottom:18px; }
.grounded-principles p { font-size:15px; }
.grounded .lab-note { margin-top:32px; }
@media(max-width:1100px) {
  .flow-node h3 { font-size:15px; }
  .flow-node p { font-size:10px; }
  .flow-nodes { column-gap:24px; }
  .files-map .flow-nodes { column-gap:36px; }
}
@media(max-width:760px) {
  .flow-toolbar { padding:16px; flex-wrap:wrap; gap:8px; }
  .flow-key { font-size:10px; }
  .flow-map { padding:25px 28px 36px; }
  .overview-map .flow-nodes { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; gap:38px 22px; }
  .overview-map [data-node="source"] { grid-area:1/1; }
  .overview-map [data-node="facts"] { grid-area:1/2; }
  .overview-map [data-node="store"] { grid-area:2/1/3/3; }
  .overview-map [data-node="engine"] { grid-area:3/1; }
  .overview-map [data-node="music"] { grid-area:3/2; }
  .overview-map [data-node="cast"] { grid-area:4/1/5/3; }
  .overview-map [data-node="review"] { grid-area:5/1/6/3; }
  .overview-map [data-node="out"] { grid-area:6/1/7/3; }
  .flow-node { padding:17px 10px; min-height:100px; min-width:0; overflow-wrap:anywhere; }
  .flow-node h3 { font-size:15px; }
  .flow-node p { font-size:11px; }
  .flow-support { padding-inline:16px; font-size:11px; }
  .flow-figure figcaption { padding-inline:16px; font-size:10px; }
  .files-map .flow-nodes { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; gap:38px 22px; }
  .files-map [data-node="media"] { grid-area:1/1/2/3; }
  .files-map [data-node="data"] { grid-area:2/1; }
  .files-map [data-node="convert"] { grid-area:2/2; }
  .files-map [data-node="store"] { grid-area:3/1/4/3; }
  .files-map [data-node="api"] { grid-area:4/1/5/3; }
  .files-map [data-node="web"] { grid-area:5/1/6/3; }
  .files-map [data-node="create"] { grid-area:6/1; }
  .files-map [data-node="output"] { grid-area:6/2; }
  .files-map [data-node="ingest"] { grid-area:7/1; }
  .files-map [data-node="analytics"] { grid-area:7/2; }
  .files-map [data-node="transform"] { grid-area:8/1; }
  .files-map [data-node="download"] { grid-area:8/2; }
  .file-flow-notes,.grounded-principles { grid-template-columns:1fr; gap:28px; }
}
@media(prefers-reduced-motion:reduce) {
  .connection-pulse { animation:none; display:none; }
}

/* Motion guides attention: input → format → work → decisions. */
:root { --ease-out:cubic-bezier(.22,1,.36,1); --header-height:88px; }
.reading-progress { position:absolute; left:0; bottom:0; width:100%; height:2px; background:linear-gradient(90deg,var(--lilac),var(--blue),var(--green)); transform:scaleX(0); transform-origin:left; }
.nav nav a { transition:color .2s; }
.nav nav a[aria-current] { color:var(--lilac); }
.button:active, .text-link:active { transform:scale(.97); transition-duration:80ms; }
.text-link { transition:transform .2s; }
.text-link>span:last-child { transition:transform .25s var(--ease-out); }
.text-link:hover>span:last-child { transform:translate(3px,-3px); }
input:focus-visible { outline:2px solid var(--lilac); outline-offset:5px; }
.hero-scroll { position:relative; }
.motion-enabled .hero-scroll { height:calc(100svh + 480px); }
.motion-enabled .hero { position:sticky; top:var(--header-height); min-height:640px; height:calc(100svh - var(--header-height)); max-height:940px; padding-block:55px 135px; }
.motion-enabled .hero-art .frame-wide { width:46%; height:77%; border-color:#752db4; transform:translate(-50%,-50%) rotate(var(--wide-turn,0deg)) scale(var(--wide-scale,.94)); opacity:var(--wide-opacity,.18); }
.motion-enabled .hero-art .frame-tall { transform:translate(-50%,-50%) rotate(var(--tall-turn,0deg)); }
.motion-enabled .hero-art .frame-core { transform:translate(-50%,-50%) scale(var(--core-scale,.7)); }
.hero-stages { position:absolute; left:0; right:0; bottom:80px; display:flex; gap:28px; max-width:540px; }
.hero-stages>span { flex:1; padding-top:12px; border-top:1px solid #393342; color:var(--muted); font-size:11px; transition:color .3s,border-color .3s; }
.hero-stages>span.is-current { color:var(--lilac); border-color:var(--lilac); }
.motion-enabled .reveal { opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease-out) var(--reveal-delay,0ms),transform .7s var(--ease-out) var(--reveal-delay,0ms); }
.motion-enabled .reveal.is-revealed { opacity:1; transform:none; }
.eyebrow { color:var(--lilac); font-size:11px; letter-spacing:.17em; margin-bottom:24px; }
.selected-work { padding-top:100px; }
.work-grid { display:grid; grid-template-columns:1fr; gap:90px; align-items:start; }
.work-card { min-width:0; }
.work-media { position:relative; background:#11131c; overflow:hidden; border:1px solid var(--line); border-radius:16px; }
.work-media video { width:100%; aspect-ratio:16/9; object-fit:contain; background:#08090c; }
.portrait-media { height:570px; background:radial-gradient(ellipse at center,#35352f,#151719); }
.portrait-media video { height:100%; aspect-ratio:auto; }
.media-tag { position:absolute; top:18px; left:18px; z-index:1; padding:5px 10px; border:1px solid #ffffff24; background:#08090cbf; font-size:10px; letter-spacing:.12em; pointer-events:none; }
.cast-work { padding-top:0; }
.work-copy { padding-top:26px; }
.work-client { color:var(--lilac); font-size:11px; letter-spacing:.1em; }
.work-copy h3 { margin-top:12px; font-size:28px; }
.work-copy p { margin-top:16px; font-size:15px; }
.work-copy .work-note { font-size:11px; color:#818a9c; }
.work-copy .text-link { margin-top:25px; }
.work-card.is-playing .work-media { border-color:var(--lilac); }
.music-examples { padding-block:70px 105px; }
.music-examples .section-heading h3 { font-size:32px; }
.audio-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.audio-card { border:1px solid var(--line); background:linear-gradient(140deg,#17101f,#0a1018); border-radius:16px; padding:32px; min-width:0; }
.audio-card:nth-child(2) { background:linear-gradient(140deg,#121e23,#0b0d14); }
.audio-card h3 { margin-top:20px; font-size:30px; }
.audio-card>p { font-size:12px; margin-top:12px; }
.audio-card audio { display:block; width:100%; height:40px; margin-top:12px; }
.audio-card.is-playing { border-color:var(--lilac); }
.sample-wave { position:relative; height:80px; margin-top:24px; }
.sample-wave>img { width:100%; height:100%; opacity:.25; }
.sample-progress { position:absolute; inset:0; clip-path:inset(0 calc(100% - var(--played,0%)) 0 0); }
.sample-progress img { width:100%; height:100%; }
.media-error { color:#f8a5b5; }
.chapter-nav { position:sticky; top:var(--header-height); z-index:8; display:flex; justify-content:space-between; gap:16px; padding-block:16px; background:#07090ef2; border-block:1px solid var(--line); backdrop-filter:blur(12px); }
.chapter-nav a { font-size:12px; color:var(--muted); transition:color .2s; }
.chapter-nav a[aria-current] { color:var(--lilac); }
.chapter-number { margin-right:12px; opacity:.5; font-size:10px; }
.music-art .record { animation:record-turn 16s linear infinite paused; }
.music-art .wave i { animation:wave-beat .85s ease-in-out infinite alternate paused; transform-origin:center; }
.music-art .wave i:nth-child(3n) { animation-duration:1.1s; animation-delay:-.4s; }
.music-art .wave i:nth-child(3n+1) { animation-duration:.7s; animation-delay:-.65s; }
.music-art .wave i:nth-child(5n) { animation-delay:-1.2s; }
.motion-enabled:not(.document-hidden) .music-art.is-visible .record,
.motion-enabled:not(.document-hidden) .music-art.is-visible .wave i { animation-play-state:running; }
@keyframes record-turn { from { transform:rotate(-16deg); } to { transform:rotate(344deg); } }
@keyframes wave-beat { from { transform:scaleY(.25); opacity:.45; } to { transform:scaleY(1); opacity:.95; } }
.motion-off .connection-pulse { animation-play-state:paused; opacity:0; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .product { transition:border-color .3s,background .3s; }
  .product:hover { border-color:#736084; background:#15111c; }
}
@media(max-width:1050px) {
  .portrait-media { height:470px; }
  .nav nav { gap:20px; }
}
@media(max-width:760px) {
  .motion-enabled .hero-scroll { height:auto; }
  .motion-enabled .hero { position:relative; top:auto; height:auto; min-height:0; max-height:none; padding-block:50px 130px; }
  .hero-stages { bottom:65px; gap:16px; }
  .hero-stages>span { font-size:10px; }
  .nav nav { justify-content:space-between; gap:10px; font-size:11px; }
  .work-grid,.audio-grid { grid-template-columns:1fr; gap:50px; }
  .portrait-media { height:470px; }
  .cast-work { padding-top:0; }
  .work-copy h3 { font-size:25px; }
  .work-copy p { font-size:14px; }
  .audio-card { padding:24px; }
  .music-examples { padding-block:55px 70px; }
  .music-examples .section-heading h3 { font-size:27px; }
  .chapter-nav { gap:8px; padding-block:12px; }
  .chapter-nav a { font-size:11px; }
  .chapter-number { display:none; }
  .selected-work { padding-top:60px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-scroll { height:auto!important; }
  .hero { position:relative!important; top:auto!important; height:auto!important; }
  .reveal { opacity:1!important; transform:none!important; transition:none!important; }
  .hero-art .frame { transition:none; }
  .record,.wave i { animation:none!important; }
  .text-link>span:last-child,.button { transition:none; }
}




.flow-figure:not(.flow-visible) .connection-pulse { animation-play-state:paused; }
html:has(.chapter-nav) { scroll-padding-top:calc(var(--header-height) + 80px); }
[data-section="video-technology"] { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:start; }
[data-section="video-technology"] .section-heading { display:block; position:sticky; top:calc(var(--header-height) + 100px); margin:0; }
[data-section="video-technology"] .section-heading p { margin-top:28px; }
.production-steps { grid-template-columns:1fr; gap:0; margin-top:0; }
.production-steps li { padding:36px 24px; border-left:2px solid transparent; background:transparent; }

@media(max-width:760px) {
  [data-section="video-technology"] { grid-template-columns:1fr; gap:32px; }
  [data-section="video-technology"] .section-heading { position:static; }
  .production-steps li { padding:28px 18px; }
}

/* Technical capabilities, expressed as source-to-result diagrams. */
.line-icon { width:54px; height:54px; color:var(--lilac); flex:none; }
.intake-visual { display:grid; grid-template-columns:1fr .65fr 1.5fr; align-items:center; padding:40px; border:1px solid var(--line); border-radius:20px; background:radial-gradient(ellipse at 75% 50%,#39284c42,transparent 65%),#0c0f16; margin-bottom:40px; }
.intake-inputs { display:grid; gap:16px; }
.intake-inputs>div { display:flex; align-items:center; gap:16px; padding:12px 16px; border:1px solid #3c354d; border-radius:10px; background:#15131e; font-size:14px; }
.intake-inputs .line-icon { width:36px; height:36px; }
.intake-bridge { align-self:stretch; }
.intake-bridge svg { width:100%; height:100%; overflow:visible; }
.intake-bridge path { fill:none; stroke:var(--lilac); stroke-width:1.5; opacity:.6; }
.product-passport { position:relative; background:#121722; padding:28px 32px; border:1px solid #665077; border-radius:16px; }
.product-drawing { display:block; width:100%; max-height:185px; fill:#c084fc12; stroke:#bf9bdb; stroke-width:1.6; }
.product-drawing .scan-ray { stroke:var(--green); stroke-width:2; fill:none; }
.product-passport h3 { font-size:22px; margin-top:18px; }
.product-passport p { font-size:12px; margin-top:10px; }
.passport-lines { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; margin-top:22px; }
.passport-lines i { height:4px; background:var(--green); border-radius:4px; opacity:.65; }
.passport-lines i:nth-child(2) { background:var(--blue); }
.passport-lines i:nth-child(3) { background:var(--lilac); }
.capability-grid,.lab-stages { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.capability-grid article { padding:24px 0; border-top:1px solid var(--line); }
.capability-grid h3,.lab-stages h3 { font-size:20px; margin-top:20px; }
.capability-grid p,.lab-stages p { font-size:14px; margin-top:15px; }
.capability-grid .line-icon { width:42px; height:42px; }
.made-with-cast { display:flex; gap:24px; align-items:center; border:1px solid #375951; border-radius:18px; background:linear-gradient(110deg,#12322b80,#10121a); padding:30px; margin:0 0 48px; color:#b0d6d1; font-size:14px; }
.made-with-cast .line-icon { color:var(--green); width:28px; height:28px; }
.security { border-top-color:#375462; }
.security-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.security-grid article { padding:24px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(160deg,#111b23,#0b1017); }
.security-icon { display:grid; place-items:center; height:150px; margin-bottom:30px; background:radial-gradient(circle,#38bdf818,transparent 65%); }
.security-icon .line-icon { width:95px; height:95px; color:#8dcae2; }
.security-grid h3 { font-size:23px; margin:12px 0 20px; }
.security-grid p { font-size:14px; }
.patent-feature { display:grid; grid-template-columns:.8fr 1.4fr; gap:65px; align-items:center; }
.patent-art { color:var(--lilac); text-align:center; }
.patent-art svg { width:100%; max-width:300px; stroke:var(--lilac); stroke-width:1.8; }
.patent-art rect:first-child { stroke:#5b397b; }
.patent-art rect:nth-child(2) { fill:#10121b; }
.patent-art span { display:block; font-size:11px; letter-spacing:.2em; }
.patent-feature h2 { font-size:36px; }
.patent-topics { display:flex; gap:10px; flex-wrap:wrap; margin-top:28px; }
.patent-topics span { border:1px solid #53405e; color:#ceb6dc; font-size:11px; padding:5px 10px; border-radius:20px; }
.patent-record { margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.patent-record h3 { font-size:21px; line-height:1.6; letter-spacing:-.02em; }
.patent-record .official-en { font-size:11px; margin-top:10px; color:var(--muted); }
.patent-meta { display:flex; gap:35px; margin:20px 0 0; }
.patent-meta div { display:grid; gap:5px; }
.patent-meta dt { font-size:11px; color:var(--muted); }
.patent-meta dd { margin:0; font-size:16px; font-variant-numeric:tabular-nums; }
.model-lifecycle { margin:45px 0 60px; }
.model-lifecycle>h3 { font-size:28px; margin-bottom:35px; }
.lab-stages article { position:relative; border-top:1px solid #5d486c; padding:24px 0; }
.lab-stages .line-icon { display:block; margin-bottom:22px; }
.lab-stages article:not(:last-child)::after { content:'→'; position:absolute; top:37px; right:4px; color:#796287; font-size:22px; }
.lora-panel { display:grid; grid-template-columns:1.05fr 1fr; gap:30px 75px; align-items:center; border:1px solid #53405e; border-radius:18px; padding:45px; background:radial-gradient(ellipse at right,#31214255,transparent 70%),#0f1119; }
.lora-panel h3 { font-size:34px; white-space:pre-line; margin-top:24px; }
.lora-panel p { font-size:15px; margin-top:24px; }
.lora-stack { display:grid; justify-items:stretch; gap:12px; text-align:center; }
.lora-stack>div { display:flex; align-items:center; gap:20px; padding:16px 22px; background:#171923; border:1px solid #414354; border-radius:10px; font-size:13px; }
.lora-stack .line-icon { width:38px; height:38px; }
.lora-stack .adapter-block { margin-inline:16px; border-color:var(--lilac); background:#251632; }
.lora-stack>span { color:var(--lilac); font-size:18px; }
.lora-panel .lab-note { grid-column:1/-1; font-size:12px; border-top:1px solid var(--line); padding-top:22px; margin:0; }
.model-future { margin-block:30px 65px; border-left:2px solid var(--blue); padding:16px 25px; }
.model-future h3 { font-size:19px; margin-bottom:14px; }
.model-future p { font-size:14px; }
.related-grid.related-pair { grid-template-columns:repeat(2,minmax(0,1fr)); }
.motion-enabled .collection.is-visible .scan-ray { animation:source-scan 3s ease-in-out infinite alternate; }
@keyframes source-scan { from { transform:translateY(-50px); opacity:.35; } to { transform:translateY(50px); opacity:1; } }
@media(max-width:1000px) {
  .intake-visual { padding:25px; grid-template-columns:1fr .3fr 1.3fr; }
  .intake-inputs>div { padding:12px; font-size:12px; gap:8px; }
  .capability-grid,.lab-stages { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lab-stages article:nth-child(2)::after { content:none; }
  .lora-panel { gap:30px; padding:30px; }
  .patent-feature { gap:30px; }
}
@media(max-width:760px) {
  .intake-visual { grid-template-columns:1fr; padding:22px; }
  .intake-inputs { grid-template-columns:1fr 1fr; gap:10px; }
  .intake-inputs>div { display:grid; justify-items:center; font-size:11px; padding:14px 8px; text-align:center; }
  .intake-bridge { height:55px; width:2px; justify-self:center; background:var(--lilac); opacity:.6; }
  .intake-bridge svg { display:none; }
  .product-passport { padding:24px; }
  .product-passport h3 { font-size:20px; }
  .capability-grid { gap:20px; }
  .capability-grid h3,.lab-stages h3 { font-size:18px; }
  .capability-grid p,.lab-stages p { font-size:13px; }
  .security-grid { grid-template-columns:1fr; gap:20px; }
  .security-icon { height:90px; margin-bottom:15px; }
  .security-icon .line-icon { width:72px; height:72px; }
  .patent-feature,.lora-panel { grid-template-columns:1fr; }
  .patent-art svg { max-width:190px; }
  .patent-feature h2 { font-size:30px; }
  .patent-record h3 { font-size:19px; }
  .patent-meta { flex-wrap:wrap; gap:20px; }
  .lora-panel { padding:24px; }
  .lora-panel h3 { font-size:29px; }
  .lora-stack>div { gap:12px; padding:14px; }
  .made-with-cast { font-size:12px; }
  .related-grid.related-pair { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .scan-ray { animation:none!important; } }
@media(min-width:761px) {
  .intake-inputs { height:340px; grid-template-rows:repeat(4,64px); gap:28px; }
  .intake-bridge { height:340px; align-self:center; }
}

/* Company story: preserve reading order and the approved copy. */
.about { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:80px; }
.about-heading h2 { white-space:pre-line; font-size:clamp(30px,3vw,44px); line-height:1.35; letter-spacing:-.045em; }
.about-name { margin-top:14px; font-size:13px; letter-spacing:.12em; color:var(--muted); }
.about-symbol { margin-top:36px; opacity:.8; }
.about-story { min-width:0; }
.about-story p { font-size:16px; line-height:1.95; word-break:keep-all; overflow-wrap:anywhere; }
.about-story p+p { margin-top:28px; }
.about-story .about-lead { font-size:clamp(20px,2vw,25px); line-height:1.6; color:var(--lilac); }
.about-story .about-close { border-top:1px solid var(--line); padding-top:28px; color:var(--text); }
.about-close strong { display:block; }
@media(max-width:1200px) and (min-width:761px) { .nav nav { gap:14px; font-size:12px; } }
@media(max-width:760px) {
  .nav nav { flex-wrap:wrap; row-gap:10px; }
  .about { grid-template-columns:minmax(0,1fr); gap:32px; }
  .about-symbol { width:60px; height:60px; margin-top:24px; }
  .about-story p { font-size:15px; line-height:1.9; }
  .about-story .about-lead { font-size:21px; }
}

.about-pronunciation { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 10px; margin-top:8px; font-size:13px; color:var(--muted); }
.about-pronunciation [lang] { color:var(--lilac); letter-spacing:0; }

.ci-stage { padding:48px; background:radial-gradient(ellipse at center,#33203f55,transparent 75%),#0c0e15; border:1px solid var(--line); border-radius:16px; }
.ci-stage h3 { text-align:center; font-size:clamp(23px,3vw,36px); line-height:1.5; white-space:pre-line; }
.ci-diagram { display:grid; grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 40px minmax(0,1fr); align-items:center; max-width:760px; gap:20px; margin:48px auto 0; }
.ci-diagram figure { margin:0; text-align:center; min-width:0; }
.ci-diagram svg,.ci-diagram img { width:100%; max-width:160px; height:auto; aspect-ratio:1; margin:auto; }
.ci-diagram figcaption { color:var(--muted); font-size:12px; margin-top:20px; }
.ci-arrow { text-align:center; color:var(--lilac); font-size:30px; padding-bottom:40px; }
.ci-meanings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-block:48px; }
.ci-meanings h3 { font-size:20px; margin-block:14px; }
.ci-meanings p { font-size:14px; line-height:1.9; }
.ci-lockups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ci-lockups figure { margin:0; padding:48px 24px 24px; background:#0b0e15; border:1px solid var(--line); border-radius:12px; }
.ci-lockups img { width:min(300px,100%); height:auto; margin:auto; }
.ci-lockups figcaption { font-size:11px; color:var(--muted); margin-top:36px; }
.ci-lockups .ci-light { background:#f4f3f7; }
.ci-light figcaption { color:#555166; }
@media(max-width:760px) {
  .ci-stage { padding:28px 14px; }
  .ci-diagram { grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr); gap:6px; margin-top:30px; }
  .ci-arrow { font-size:20px; padding-bottom:36px; }
  .ci-diagram figcaption { font-size:10px; overflow-wrap:anywhere; }
  .ci-meanings,.ci-lockups { grid-template-columns:minmax(0,1fr); gap:28px; }
}

/* Decorative node icons use the existing role colors and leave labels readable. */
.flow-node .flow-icon { width:24px; height:24px; flex-shrink:0; margin-bottom:12px; color:#b3bbcc; }
.flow-node.store .flow-icon,.flow-node.music .flow-icon { color:var(--lilac); }
.flow-node.engine .flow-icon { color:var(--green); }
.flow-node.cast .flow-icon,.flow-node.data .flow-icon { color:var(--blue); }
.flow-node.review .flow-icon { color:#f0c987; }
@media(max-width:760px) { .flow-node .flow-icon { width:22px; height:22px; margin-bottom:9px; } }

/* Cast preview sits directly on the page, without a player frame or transport UI. */
.cast-work .cast-stage { border:0; border-radius:0; background:transparent; }
.cast-stage video { display:block; background:transparent; mix-blend-mode:screen; mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); }

/* Real use case above, full-width creative preview below. */
.brand-work { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:7%; align-items:center; }
.brand-work .work-copy { padding:0; }
.brand-work .portrait-media { height:auto; aspect-ratio:4/5; border:0; border-radius:0; background:transparent; }
.brand-work video { display:block; }
.brand-work h3 { font-size:clamp(28px,3.4vw,46px); line-height:1.25; }
.case-label { display:block; width:fit-content; padding:6px 12px; border:1px solid #386357; border-radius:30px; color:var(--green); font-size:12px; margin-bottom:22px; }
.cast-work .work-copy { max-width:780px; }
.cast-work h3 { font-size:clamp(28px,3.4vw,44px); }
.made-with-cast .line-icon { width:42px; height:42px; flex-shrink:0; }
.made-with-cast h3 { color:var(--text); font-size:clamp(23px,3vw,34px); line-height:1.3; margin:8px 0; }
.made-with-cast p { margin:0; }
.model-research { border-left:2px solid var(--lilac); padding:18px 24px; margin-top:28px; background:#b57cf908; }
.model-research h3 { font-size:18px; margin-bottom:10px; }
@media (max-width:680px) {
  .brand-work { grid-template-columns:1fr; gap:26px; }
  .brand-work .portrait-media { width:min(100%,380px); margin-inline:auto; }
  .made-with-cast { gap:16px; padding:24px 18px; align-items:flex-start; }
  .made-with-cast .line-icon { width:28px; height:28px; }
}

/* Section identity: a visible boundary, a short label, then the content. */
[data-section-tone] { position:relative; isolation:isolate; border-top-color:#374052; padding-block:76px 88px; --section-surface:var(--bg); }
[data-section-tone="tinted"] { --section-surface:#10141e; }
[data-section-tone]::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:var(--section-surface); box-shadow:0 0 0 100vmax var(--section-surface); clip-path:inset(0 -100vmax); }
.section-marker { display:flex; align-items:center; gap:14px; grid-column:1/-1; margin-bottom:36px; }
.section-marker>span { color:var(--lilac); font-size:12px; font-variant-numeric:tabular-nums; padding:5px 10px; border:1px solid #69527f; border-radius:6px; }
.section-marker p { color:#d4c2e7; font-size:13px; font-weight:600; letter-spacing:.04em; }
.section-marker::after { content:""; height:1px; flex:1; background:linear-gradient(90deg,#69527f80,transparent); margin-left:8px; }
[data-section-tone].about,[data-section-tone].patent-feature,[data-section="video-technology"] { row-gap:32px; }
:is(.about,.patent-feature,[data-section="video-technology"])>.section-marker { margin-bottom:0; }
[data-section-tone].patent-feature { padding-inline:32px; }
.work-copy .work-note,.lab-note { color:#a4adbe; font-size:13px; }
.chapter-nav { padding-block:8px; }
.chapter-nav a { display:flex; align-items:center; min-height:44px; border-radius:6px; padding:4px 10px; }
.chapter-nav a[aria-current] { color:#ead8ff; background:#c084fc15; box-shadow:inset 0 -2px var(--lilac); }
.nav nav a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:760px) {
  [data-section-tone] { padding-block:48px 56px; }
  .section-marker { margin-bottom:26px; }
  .section-marker p { font-size:12px; }
  .nav nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 10px; padding:0; }
  .nav nav a { justify-content:center; font-size:12px; }
  .chapter-nav { display:flex; justify-content:flex-start; overflow-x:auto; overscroll-behavior-x:contain; gap:6px; padding-block:4px; scrollbar-width:thin; }
  .chapter-nav a { flex:none; justify-content:center; padding:4px 12px; font-size:12px; text-align:center; white-space:nowrap; }
  html:has(.chapter-nav) { scroll-padding-top:calc(var(--header-height) + 76px); }
  [data-section-tone].patent-feature { padding-inline:18px; }
  .model-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .model-table tbody { display:block; width:100%; }
  .model-table td:nth-child(2),.model-table td:nth-child(3) { width:auto; }
  .model-table tbody tr { display:grid; grid-template-columns:1fr; padding-block:22px; border-top:1px solid var(--line); }
  .model-table tbody :is(th,td) { width:auto; border:0; padding:5px 0; font-size:14px!important; }
  .model-table tbody th { font-size:16px!important; color:var(--text); }
}

@media(max-width:760px) {
  .nav .logo img { width:124px; }
  .nav { column-gap:8px; }
  .nav-end { gap:0; }
  .flow-node p { font-size:12px; }
}

.video-sound { position:absolute; right:16px; bottom:16px; z-index:2; display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:10px 14px; border:1px solid #ffffff45; border-radius:24px; background:#07090ee8; color:#fff; font-size:13px; cursor:pointer; }
.video-sound:hover { background:#242030; border-color:var(--lilac); }
.video-sound svg { width:20px; height:20px; }
.video-sound[data-muted="true"] .sound-on,.video-sound[data-muted="false"] .sound-off { display:none; }
@media(max-width:760px) { .video-sound { right:10px; bottom:10px; font-size:12px; } }

.chapter-nav a { transition:color .18s,background-color .18s,box-shadow .18s; }
.chapter-nav a:hover,.chapter-nav a:focus-visible { color:#f2e6ff; background:#c084fc26; box-shadow:inset 0 0 0 1px #c084fc55; }
.chapter-nav a[aria-current]:hover { box-shadow:inset 0 -2px var(--lilac),inset 0 0 0 1px #c084fc55; }
@media(prefers-reduced-motion:reduce) { .chapter-nav a { transition:none; } }

/* Reading emphasis fades between steps without changing their layout. */
.production-steps li { position:relative; border-left-color:rgb(192 132 252 / calc(var(--step-focus,0) * .8)); }
.production-steps li::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#c084fc18,transparent 85%); opacity:var(--step-focus,0); }
.production-steps li .step { color:rgb(210 179 242 / calc(.55 + var(--step-focus,0) * .45)); }

/* Global navigation identifies the page; the chapter bar tracks the section. */
html { scroll-padding-top:calc(var(--header-height) + 24px); }
html:has(.chapter-nav) { scroll-padding-top:calc(var(--header-height) + var(--chapter-height,62px) + 24px); }
.chapter-nav { top:var(--header-height); background:#11151df5; box-shadow:0 5px 16px #00000024; }
.nav nav a[aria-current="page"] { color:var(--text); box-shadow:inset 0 -2px var(--lilac); }
[data-section="video-technology"] .section-heading { top:calc(var(--header-height) + var(--chapter-height,62px) + 32px); }
@media(max-width:760px) { [data-section="video-technology"] .section-heading { position:static; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* A focused, email-only entry point for Cast access. */
.waitlist-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:28px; }
.waitlist-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,7vw,100px); align-items:center; padding-block:64px 96px; }
.waitlist-intro { min-width:0; }
.waitlist-intro .eyebrow { margin:36px 0 18px; color:var(--lilac); letter-spacing:.16em; }
.waitlist-intro h1 { font-size:clamp(32px,4vw,54px); line-height:1.2; letter-spacing:-.045em; word-break:keep-all; text-wrap:balance; }
.waitlist-intro h1 + p { color:var(--muted); margin-top:24px; max-width:44ch; }
.waitlist-panel { min-width:0; padding:clamp(22px,3vw,40px); border:1px solid var(--line); background:var(--panel); border-radius:24px; }
.waitlist-panel fieldset { padding:0; border:0; margin:0; min-width:0; }
.waitlist-panel input[type=email] { width:100%; min-height:54px; margin:10px 0 24px; padding:12px 16px; border:1px solid #555565; border-radius:10px; background:var(--bg); color:var(--text); font:inherit; }
.waitlist-panel input:focus-visible { outline:2px solid var(--lilac); outline-offset:3px; }
.waitlist-detail { font-size:13px; line-height:1.8; color:var(--muted); word-break:keep-all; }
.waitlist-consent { display:flex; gap:12px; align-items:flex-start; margin-block:22px; font-size:14px; cursor:pointer; min-height:44px; word-break:keep-all; }
.waitlist-consent input { flex-shrink:0; width:20px; height:20px; accent-color:var(--lilac); margin-top:3px; }
#waitlist-verification { min-height:150px; margin-bottom:20px; }
.waitlist-panel .button { width:100%; border:0; border-radius:10px; cursor:pointer; justify-content:space-between; }
.waitlist-panel .button:disabled { opacity:.45; cursor:default; }
#waitlist-status { min-height:3.4em; color:#c9badb; font-size:14px; margin-block:18px; overflow-wrap:anywhere; }
#waitlist-status:focus { outline:2px solid var(--lilac); outline-offset:6px; }
#waitlist-retry { background:none; color:var(--text); cursor:pointer; margin-bottom:20px; }
#waitlist-retry[hidden] { display:none; }
.waitlist-panel .text-link { margin-top:14px; font-size:14px; }
.waitlist-contact { display:block; color:var(--muted); font-size:12px; margin-top:16px; overflow-wrap:anywhere; }
.waitlist-orbit { position:relative; height:180px; width:230px; margin-top:36px; }
.waitlist-orbit span { position:absolute; width:172px; height:94px; left:20px; top:40px; border:2px solid var(--blue); border-radius:22px; transform:rotate(-14deg); opacity:.75; }
.waitlist-orbit span + span { border-color:var(--lilac); transform:rotate(76deg); }
.waitlist-orbit i { position:absolute; left:99px; top:78px; width:18px; height:18px; border-radius:50%; background:var(--text); box-shadow:0 0 42px #c084fc66; }
@media(max-width:760px) {
 .waitlist-layout { grid-template-columns:1fr; padding-top:34px; gap:30px; }
 .waitlist-orbit { display:none; }
 .waitlist-header { flex-wrap:wrap; }
 .waitlist-intro h1 { font-size:36px; }
}
