/* Generated by build.mjs. Edit fonts.css, shared.css, growth.css, studio.css, privacy.css. */
/* Source: fonts.css */
/* Self-hosted original Google Fonts WOFF2 subsets for EN / LV / RU.
   Bundled into bright.css at the site root; see assets/fonts/SOURCES.md. */

/* Manrope — cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('assets/fonts/manrope-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Manrope — latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('assets/fonts/manrope-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Manrope — latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('assets/fonts/manrope-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Oswald — cyrillic */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('assets/fonts/oswald-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Oswald — latin-ext */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('assets/fonts/oswald-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Oswald — latin */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('assets/fonts/oswald-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Roboto Condensed — cyrillic */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url('assets/fonts/roboto-condensed-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Roboto Condensed — latin-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url('assets/fonts/roboto-condensed-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Roboto Condensed — latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url('assets/fonts/roboto-condensed-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Source: shared.css */
/* Shared YOLU tokens and semantic controls. Runtime is the canonical token source. */
:root {
  --paper: #f6f5ef; --ink: #171915; --cobalt: #1746ed; --acid: #e2ff54;
  --vermilion: #fa4b30; --white: #ffffff; --error: #a51321;
  --font: 'Manrope', Arial, sans-serif;
  --display: 'Roboto Condensed', 'Arial Narrow', sans-serif;
  --studio-display: 'Oswald', 'Arial Narrow', sans-serif;
  --gutter: clamp(22px, 4.4vw, 84px); --space: 24px; --radius: 4px; --pill: 100px;
  --ease: cubic-bezier(.16, 1, .3, 1);
  --scrollbar-thumb: var(--cobalt); --scrollbar-track: var(--paper);
  --scrollbar-hover: var(--ink); --scrollbar-active: var(--vermilion);
  color: var(--ink); background: var(--paper); font-family: var(--font);
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); scrollbar-width: thin;
  scroll-behavior: smooth;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; }
::selection { color: var(--ink); background: var(--acid); }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: var(--scrollbar-track); }
*::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border: 2px solid var(--scrollbar-track); }
*::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-hover); }
*::-webkit-scrollbar-thumb:active { background: var(--scrollbar-active); }
a { color: inherit; text-decoration: none; text-underline-offset: .25em; }
button, input, textarea { font: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
a, button, summary { cursor: pointer; }
button { color: inherit; }
button:disabled { cursor: not-allowed; opacity: .45; }
:focus-visible { outline: 3px solid currentColor; outline-offset: 6px; }
:target { scroll-margin-top: 28px; }
[hidden] { display: none !important; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { text-wrap: balance; }
p { line-height: 1.65; }
svg { display: block; flex-shrink: 0; }
img { display: block; max-width: 100%; height: auto; }
.icon { width: 24px; height: 24px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: fixed; top: -100px; left: 20px; padding: 16px 24px; background: var(--acid); color: var(--ink); z-index: 100; }
.skip-link:focus { top: 12px; }
header { display: flex; align-items: center; gap: 32px; min-height: 104px; padding: 20px var(--gutter); background: var(--cobalt); color: var(--paper); position: relative; z-index: 20; }
.logo { display: inline-flex; align-items: center; gap: 10px; font-size: 49px; font-weight: 800; line-height: .9; letter-spacing: -.04em; }
.logo svg { width: 27px; height: 27px; align-self: flex-start; }
.logo small { letter-spacing: -.02em; font-size: 12px; font-weight: 600; align-self: flex-end; margin: 0 3px 4px -7px; }
#navigation { display: flex; align-items: center; gap: clamp(18px, 2.3vw, 42px); margin-left: auto; font-size: 13px; font-weight: 600; }
#navigation a { display: inline-flex; align-items: center; gap: 7px; padding: 10px 0; border-bottom: 1px solid transparent; }
#navigation a:hover { border-color: currentColor; }
.header-actions { display: flex; align-items: center; gap: 28px; }
.languages { display: flex; align-items: center; gap: 3px; }
.languages a { display: grid; place-items: center; min-width: 34px; min-height: 44px; font-size: 11px; font-weight: 700; }
.languages a:hover { background: rgb(255 255 255 / .12); }
.languages [aria-current] { text-decoration: underline; text-underline-offset: 8px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 26px; min-height: 54px; padding: 15px 24px; border: 1px solid transparent; border-radius: var(--pill); background: var(--acid); color: var(--ink); font-size: 13px; font-weight: 700; transition: background .2s, color .2s, transform .3s var(--ease); }
.button svg { width: 22px; height: 22px; transition: transform .3s var(--ease); }
.button:hover { background: var(--paper); transform: translateY(-3px); }
.button:hover svg { transform: translate(2px, -2px); }
.button:active { transform: translateY(0) scale(.98); }
.button.dark { background: var(--ink); color: var(--paper); }
.button.dark:hover { background: var(--cobalt); }
.menu-toggle { display: none; align-items: center; gap: 12px; padding: 8px 0 8px 10px; min-height: 44px; border: 0; background: none; font-size: 12px; }
.menu-toggle svg { width: 19px; height: 19px; transition: transform .25s; }
.menu-toggle[aria-expanded=true] svg { transform: rotate(45deg); }
.text-link { display: inline-flex; align-items: center; gap: 18px; font-size: 13px; font-weight: 700; padding: 14px 0; }
.text-link:hover { text-decoration: underline; }
.section { padding: clamp(70px, 8vw, 132px) var(--gutter); }
.contact { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 9vw, 150px); background: var(--acid); color: var(--ink); }
.contact > * { min-width: 0; }
.contact h2 { font-family: var(--display); text-transform: uppercase; font-size: clamp(55px, 6vw, 100px); font-weight: 800; line-height: .98; letter-spacing: -.03em; margin-bottom: 25px; }
.contact-intro > p { max-width: 37ch; font-size: 16px; }
.contact-email { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; margin-top: 28px; font-size: clamp(19px, 2.3vw, 30px); font-weight: 600; letter-spacing: -.04em; }
.contact-email svg { width: 23px; height: 23px; }
.contact-email:hover { text-decoration: underline; text-underline-offset: 6px; }
.form-intro { font-size: 13px; margin-bottom: 32px; max-width: 54ch; }
.fields { display: grid; grid-template-columns: 1fr 1fr; gap: 13px 24px; }
.field.wide { grid-column: 1 / -1; }
.field label { display: flex; gap: 7px; font-size: 12px; font-weight: 600; margin-bottom: 10px; }
.field small { font-size: 10px; font-weight: 400; }
.field input, .field textarea { display: block; background: transparent; color: var(--ink); border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; padding: 9px 0; width: 100%; min-height: 45px; outline-offset: 5px; caret-color: var(--cobalt); }
.field textarea { min-height: 100px; max-height: 320px; resize: none; }
.field [aria-invalid=true] { border-color: var(--error); }
.field-error { display: block; color: var(--error); min-height: 27px; padding-top: 6px; font-size: 11px; }
.form-status { min-height: 44px; font-size: 12px; max-width: 60ch; margin-top: 16px; }
form .button { margin-top: 10px; }
.submit-label { display: grid; }
.submit-label > span { grid-area: 1 / 1; }
.submit-label > [aria-hidden] { visibility: hidden; }
form[aria-busy=true] .button { cursor: progress; }
form[data-state=error] .form-status { color: var(--error); }
footer { background: var(--ink); color: var(--paper); display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 54px var(--gutter) 90px; }
footer p, footer > span, footer > a:last-child { font-size: 11px; }
footer > a:last-child { display: flex; align-items: center; gap: 12px; padding: 10px 0; }
footer > a:last-child:hover { text-decoration: underline; }
footer > a:last-child { display: inline-flex; align-items: center; gap: 12px; }
footer > a:last-child svg { width: 18px; height: 18px; }
.motion-toggle { position: fixed; bottom: 16px; right: 20px; z-index: 50; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--paper); border-radius: var(--pill); background: var(--ink); color: var(--paper); font-size: 13px; }
.motion-toggle .motion-label { position: absolute; right: calc(100% + 10px); width: max-content; max-width: 220px; padding: 9px 13px; border-radius: var(--pill); background: var(--ink); color: var(--paper); font-size: 11px; pointer-events: none; opacity: 0; transition: opacity .2s; }
.motion-toggle:hover .motion-label, .motion-toggle:focus-visible .motion-label { opacity: 1; }
.motion-toggle:hover { background: var(--paper); color: var(--ink); border-color: var(--ink); }
.language-transition { position: fixed; inset: 0; pointer-events: none; z-index: 90; display: flex; flex-direction: column; visibility: hidden; }
.language-transition span { display: flex; justify-content: center; align-items: center; height: 34%; background: var(--acid); color: var(--cobalt); font-size: 16vw; font-weight: 800; letter-spacing: -.04em; transform: translateX(-105%); }
.language-transition span:nth-child(2) { background: var(--cobalt); color: var(--paper); transform: translateX(105%); }
.changing-language .language-transition { visibility: visible; }
.changing-language .language-transition span { transform: translateX(0); transition: transform .3s var(--ease); }
.changing-language .language-transition span:nth-child(2) { transition-delay: 25ms; }
.changing-language .language-transition span:last-child { transition-delay: 50ms; }
.still { scroll-behavior: auto; }
.still *, .tab-hidden * { animation-play-state: paused !important; }
.still *, .still *::before, .still *::after { transition-duration: 0s !important; animation: none !important; }
@media (max-width: 1100px) { header { gap: 20px; } .header-actions { gap: 18px; } .header-actions > .button { display: none; } }
@media (max-width: 850px) {
 header { min-height: 84px; padding-top: 18px; padding-bottom: 18px; }
 .logo { font-size: 39px; } .logo svg { width: 23px; height: 23px; }
 .header-actions { margin-left: auto; gap: 15px; } .languages a { min-width: 30px; }
 .menu-toggle { display: flex; }
 #navigation { display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 18px var(--gutter) 30px; background: inherit; border-bottom: 1px solid currentColor; font-size: 22px; }
 #navigation.is-open { display: grid; gap: 12px; }
 .contact { grid-template-columns: 1fr; gap: 40px; } .contact h2 { max-width: 14ch; }
 footer { flex-wrap: wrap; gap: 25px; } footer p { order: 3; width: 100%; }
}
@media (max-width: 450px) {
 .header-actions { gap: 8px; } header { gap: 8px; } .languages a { min-width: 28px; }
 .logo { font-size: 34px; gap: 5px; } .logo small { font-size: 9px; margin-left: -2px; }
 .logo svg { width: 19px; height: 19px; } .menu-toggle { gap: 5px; font-size: 11px; }
 .fields { grid-template-columns: 1fr; } .field.wide { grid-column: auto; }
 footer { align-items: flex-start; } footer > span { margin-left: auto; } footer > a:last-child { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
 :root { scroll-behavior: auto; }
 *, *::before, *::after { animation: none !important; transition-duration: 0s !important; }
 .language-transition { display: none; }
}
@media (forced-colors: active) { :root { scrollbar-color: auto; } :focus-visible { outline-color: Highlight; } .button { border: 1px solid ButtonText; } }

#navigation svg { width: 15px; height: 15px; }
.route-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.form-fallback { font-size: 13px; margin-top: 20px; }
.studio header { background: var(--studio-blue); color: var(--studio-paper); }
.studio .contact { background: var(--studio-coral); }
.studio .contact h2 { font-family: var(--studio-display); font-weight: 600; }
@media (max-width: 380px) {
 .contact h2 { font-size: clamp(44px, 14vw, 55px); }
}

/* Source: growth.css */
/* Release route: one source, four meaningful changes of context. */
.signal-icon { width: 24px; height: 24px; }
.signal-hero { position: relative; display: grid; grid-template-columns: 1.1fr 1fr; gap: 0 30px; padding: 38px var(--gutter) 0; background: var(--cobalt); color: var(--paper); overflow: clip; }
.signal-intro { position: relative; z-index: 2; padding: 18px 0 70px; }
.signal-intro h1 { width: 112%; font-family: var(--display); font-weight: 800; text-transform: uppercase; font-size: clamp(64px, 6.5vw, 132px); line-height: .94; letter-spacing: -.035em; text-wrap: initial; }
.hero-line { display: block; }
.hero-line.line-1 { color: var(--acid); }
.signal-hero-detail { margin-top: 38px; max-width: 48ch; }
.signal-hero-detail > p { font-size: 14px; max-width: 42ch; }
.signal-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 26px; margin-top: 25px; }
.signal-button { display: inline-flex; justify-content: space-between; align-items: center; gap: 26px; background: var(--acid); color: var(--ink); border: 1px solid transparent; border-radius: var(--pill); padding: 16px 22px; font-size: 12px; font-weight: 700; min-height: 54px; transition: background .2s, color .2s, transform .3s var(--ease); }
.signal-button:hover { transform: translateY(-3px); background: var(--paper); }
.signal-button:active { transform: scale(.98); }
.signal-button .signal-icon { transition: transform .3s var(--ease); }
.signal-button:hover .signal-icon { transform: translate(2px,-2px); }
.signal-text-link { display: inline-flex; align-items: center; gap: 15px; min-height: 44px; font-size: 12px; font-weight: 600; }
.signal-text-link:hover { text-decoration: underline; }
.signal-hero-art { align-self: center; position: relative; width: calc(100% + var(--gutter)); margin: 10px 0 30px; }
.hero-route { position: relative; width: 100%; aspect-ratio: 1.14; }
.hero-route-lines { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: var(--acid); stroke-width: 2; }
.hero-route-lines path { stroke-dasharray: 1800; stroke-dashoffset: 0; }
.hero-source { position: absolute; left: 3%; top: 24%; width: 45%; aspect-ratio: 1.08; transform: rotate(-9deg); z-index: 2; }
.release-tile { background: var(--vermilion); color: var(--ink); width: 100%; height: 100%; display: flex; flex-direction: column; padding: 16px; position: relative; overflow: hidden; }
.release-tile-top { display: flex; align-items: center; justify-content: space-between; font-size: 11px; font-weight: 800; }
.release-tile-top span:first-child { letter-spacing: -.03em; }
.release-tile-top span:last-child { border: 1px solid currentColor; padding: 2px 4px; font-variant-numeric: tabular-nums; }
.release-strips { display: flex; align-items: center; justify-content: center; flex: 1; min-height: 0; padding: 8% 0; }
.release-picture { width: 100%; height: 100%; overflow: visible; }
.release-echo { transform-origin: center; }
.signal-motion-zone.in-view .release-echo { animation: release-resonate 4s ease-in-out infinite alternate; }
.signal-motion-zone:not(.in-view) .release-echo { animation-play-state: paused; }
.release-play { transform-origin: center; }
@keyframes release-resonate { from { transform: scaleX(.7); } to { transform: scaleX(1.14); } }
.release-tile-label { font-size: 10px; font-weight: 700; margin-top: auto; }
.hero-destination { position: absolute; background: var(--acid); color: var(--cobalt); padding: 10px; display: flex; flex-direction: column; }
.hero-destination span { font-size: 10px; font-weight: 700; color: var(--ink); }
.destination-wide { width: 29%; height: 27%; top: 3%; right: 12%; transform: rotate(5deg); }
.destination-square { width: 22%; height: 28%; top: 37%; right: 3%; transform: rotate(-5deg); }
.destination-tall { width: 17%; height: 37%; bottom: 0; right: 21%; transform: rotate(7deg); }
.hero-route-rights { position: absolute; display: flex; align-items: center; gap: 6px; left: 12%; bottom: 6%; font-size: 11px; }
.signal-hero-art figcaption { text-align: left; margin: 26px 0 0 5%; font-size: 10px; }
.signal-motion-zone .hero-source { animation: source-travel 6s var(--ease) infinite alternate; animation-play-state: paused; }
.signal-motion-zone.in-view .hero-source { animation-play-state: running; }
@keyframes source-travel { from { transform: translate(-3%,4%) rotate(-9deg); } to { transform: translate(5%,-3%) rotate(-4deg); } }
.signal-platforms { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 85px; padding-right: 60px; border-top: 1px solid rgb(246 245 239 / .35); }
.signal-platforms > span { font-size: 11px; }
.signal-platforms > div { display: flex; gap: clamp(20px,4vw,70px); font-size: 15px; }
.signal-partners { padding: 28px var(--gutter); display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--acid); }
.signal-partners p { font-size: 11px; }
.signal-partners > div { display: flex; flex-wrap: wrap; gap: 30px; font-size: 13px; font-weight: 600; }
/* The visual source is never replaced; the surrounding context changes. */
.growth-journey { background: var(--paper); }
.journey-pin { padding: 54px var(--gutter) 28px; }
.journey-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 30px; }
.journey-heading h2 { font-family: var(--display); font-size: clamp(44px,5vw,82px); line-height: .95; letter-spacing: -.03em; font-weight: 800; text-transform: uppercase; max-width: 12ch; }
.journey-heading p { max-width: 39ch; font-size: 12px; }
.journey-nav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 28px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.journey-nav button { border: 0; border-radius: 0; background: transparent; padding: 16px 15px; display: flex; align-items: center; gap: 14px; font-size: 14px; font-weight: 700; text-align: left; transition: background .2s, color .2s; min-height: 60px; }
.journey-nav button > span { font-size: 10px; font-weight: 500; font-variant-numeric: tabular-nums; }
.journey-nav button > svg { margin-left: auto; width: 18px; height: 18px; }
.journey-nav [aria-current=step] { color: var(--paper); background: var(--cobalt); }
.journey-nav button:hover:not([aria-current]) { background: var(--acid); }
.journey-layout { display: grid; grid-template-columns: 1.35fr 1fr; gap: clamp(35px,6vw,100px); align-items: center; }
.journey-stage { position: relative; width: 100%; aspect-ratio: 1.45; color: var(--ink); background: var(--acid); overflow: hidden; transition: background .55s var(--ease); }
.stage-registration { position: absolute; width: 17px; height: 17px; z-index: 5; border-color: var(--ink); }
.registration-top { left: 14px; top: 14px; border-top: 1px solid; border-left: 1px solid; }
.registration-bottom { right: 14px; bottom: 30px; border-right: 1px solid; border-bottom: 1px solid; }
.journey-source { position: absolute; z-index: 3; left: 32%; top: 18%; width: 36%; height: 61%; transform: rotate(-8deg); transition: left .8s var(--ease),top .8s var(--ease),width .8s var(--ease),height .8s var(--ease),transform .8s var(--ease); }
.journey-source .release-tile { padding: 12px; }
.journey-source .release-tile-label { font-size: 9px; }
.journey-source .release-tile-top { font-size: 10px; }
.journey-node { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
.journey-node.is-active, .journey-stage:not([data-active]) .journey-node:first-child { opacity: 1; visibility: visible; }
.journey-stage:not(.in-view) .journey-node { animation-play-state: paused; }
.audit-sheet { position: absolute; width: 36%; height: 61%; top: 18%; left: 32%; border: 1px solid var(--ink); background: var(--paper); transition: transform .8s var(--ease); }
.sheet-back { transform: rotate(10deg) translate(12%,-3%); }
.sheet-front { transform: rotate(-17deg) translate(-12%,2%); }
.audit-label { position: absolute; left: 8%; right: 8%; bottom: 10%; display: flex; justify-content: space-between; font-size: 10px; }
.package-shell { position: absolute; left: 16%; right: 16%; top: 9%; bottom: 10%; background: var(--paper); border: 1px solid var(--ink); }
.package-title { display: flex; justify-content: space-between; padding: 12px; font-size: 10px; border-bottom: 1px solid var(--ink); }
.package-title span { font-weight: 800; }
.package-meta { position: absolute; left: 15px; bottom: 8%; width: 42%; }
.package-meta i { display: block; background: var(--ink); height: 3px; width: 100%; margin-top: 5px; }
.package-meta i:nth-child(2) { width: 75%; }
.package-meta i:nth-child(3) { width: 40%; }
.package-publish { display: flex; align-items: center; gap: 4px; position: absolute; right: 10px; bottom: 6%; font-size: 8px; }
.package-publish svg { width: 14px; height: 14px; }
.journey-stage[data-active='1'] { background: var(--cobalt); }
.journey-stage[data-active='1'] .journey-source { left: 23%; top: 23%; width: 54%; height: 45%; transform: rotate(0); }
.journey-stage[data-active='1'] .stage-registration, .journey-stage[data-active='1'] .journey-stage-footer { color: var(--paper); }
.distribution-lines { position: absolute; width: 100%; height: 100%; fill: none; stroke: var(--ink); stroke-width: 1.5; }
.distribution-lines path { stroke-dasharray: 1400; stroke-dashoffset: 1400; transition: stroke-dashoffset 1.1s var(--ease); }
.is-active .distribution-lines path { stroke-dashoffset: 0; }
.distribution-edition { position: absolute; display: flex; flex-direction: column; padding: 8px; background: var(--cobalt); color: var(--acid); }
.distribution-edition span { color: var(--paper); font-size: 8px; }
.edition-one { width: 24%; height: 27%; top: 6%; right: 11%; }
.edition-two { width: 19%; height: 27%; top: 37%; right: 4%; }
.edition-three { width: 15%; height: 31%; bottom: 5%; right: 22%; }
.distribution-rights { display: flex; align-items: center; gap: 6px; position: absolute; left: 13%; bottom: 12%; font-size: 10px; }
.distribution-rights svg { width: 18px; height: 18px; }
.journey-stage[data-active='2'] .journey-source { left: 8%; top: 24%; width: 28%; height: 43%; transform: rotate(-5deg); }
.report-sheet { position: absolute; left: 21%; right: 17%; top: 8%; bottom: 9%; background: var(--paper); color: var(--ink); padding: 18px; transform: rotate(3deg); }
.report-heading { display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 800; border-bottom: 1px solid var(--ink); padding-bottom: 12px; margin-bottom: 17%; }
.report-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 10px; border-bottom: 1px solid var(--ink); padding: 12px 0; }
.report-row i { width: 20%; height: 4px; background: var(--cobalt); }
.report-row:nth-child(3) i { width: 31%; }
.report-decision { display: flex; align-items: center; justify-content: space-between; font-size: 10px; margin-top: 10px; font-weight: 800; }
.journey-stage[data-active='3'] { background: var(--ink); }
.journey-stage[data-active='3'] .journey-source { left: 8%; top: 8%; width: 22%; height: 33%; transform: rotate(-10deg); }
.journey-stage[data-active='3'] .stage-registration,.journey-stage[data-active='3'] .journey-stage-footer { color: var(--paper); }
.journey-stage-footer { position: absolute; bottom: 12px; left: 15px; right: 15px; display: flex; justify-content: space-between; font-size: 9px; font-weight: 700; }
.journey-count { font-variant-numeric: tabular-nums; }
.journey-progress { position: absolute; bottom: 0; height: 4px; width: 100%; background: rgb(255 255 255 / .25); }
.journey-progress i { display: block; height: 100%; width: 100%; transform-origin: left; transform: scaleX(var(--journey-progress,0)); background: var(--vermilion); }
.journey-narrative { min-width: 0; }
.journey-step-label { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 18px; }
.journey-narrative h3 { font-family: var(--display); font-size: clamp(34px,3.8vw,61px); font-weight: 800; text-transform: uppercase; line-height: .98; letter-spacing: -.03em; max-width: 14ch; margin-bottom: 20px; }
.journey-narrative p { font-size: 13px; max-width: 44ch; }
.journey-narrative ul { list-style: none; padding: 0; margin: 22px 0; font-size: 11px; line-height: 1.5; }
.journey-narrative li { display: flex; align-items: flex-start; gap: 10px; margin-top: 10px; }
.journey-narrative li svg { width: 15px; height: 15px; margin-top: 2px; }
.journey-controls { display: flex; gap: 10px; }
.journey-controls button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; background: transparent; border: 1px solid var(--ink); padding: 11px 16px; font-size: 11px; min-height: 44px; border-radius: var(--pill); }
.journey-controls button:hover:enabled { background: var(--ink); color: var(--paper); }
.journey-controls svg { width: 20px; height: 20px; }
.journey-disclaimer { font-size: 9px; margin-top: 20px; }
.journey-narrative article + article { margin-top: 34px; }
.journey-ready .growth-journey.journey-pinned { height: calc(100svh + 2000px); }
.journey-ready .growth-journey:not(.journey-static) .journey-pin { display: flex; flex-direction: column; justify-content: center; }
.journey-ready .growth-journey.journey-pinned .journey-pin { position: sticky; top: 0; min-height: 100svh; }
.journey-ready .growth-journey:not(.journey-static) article + article { margin-top: 0; }
/* Hidden panels reserve their natural height without remaining visible or
   focusable. Step changes keep the artwork and next/previous controls stable. */
.journey-ready .growth-journey:not(.journey-static) .journey-narrative { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; }
.journey-ready .growth-journey:not(.journey-static) .journey-narrative article { grid-area: 1 / 1; }
.journey-ready .growth-journey:not(.journey-static) .journey-narrative article[hidden] { display: block !important; visibility: hidden; pointer-events: none; }
.journey-ready .growth-journey:not(.journey-static) .journey-controls { grid-row: 2; }
.journey-static .journey-controls, .journey-static .journey-nav { display: none; }
.journey-static .journey-layout { align-items: start; }
.journey-static .journey-stage { position: relative; top: auto; }
@media (min-width: 851px) and (min-height: 701px) {
 .journey-ready .growth-journey:not(.journey-static) .journey-stage { max-height: 48svh; }
}
.signal-services { padding: clamp(70px,8vw,132px) var(--gutter); display: grid; grid-template-columns: .85fr 1.4fr; gap: 8vw; background: var(--cobalt); color: var(--paper); }
.signal-services-heading h2 { font-family: var(--display); font-size: clamp(48px,5vw,80px); line-height: .98; text-transform: uppercase; letter-spacing: -.025em; max-width: 12ch; font-weight: 800; }
.signal-services-heading > p { font-size: 13px; max-width: 36ch; margin-top: 28px; }
.signal-service-list details { border-top: 1px solid rgb(246 245 239 / .4); }
.signal-service-list details:last-child { border-bottom: 1px solid rgb(246 245 239 / .4); }
.signal-service-list summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px 0; list-style: none; }
.signal-service-list summary::-webkit-details-marker { display: none; }
.signal-service-list summary h3 { font-size: clamp(19px,2vw,31px); font-weight: 500; letter-spacing: -.02em; text-align: left; text-wrap: initial; }
.signal-service-list summary svg { width: 21px; height: 21px; transition: transform .3s var(--ease); }
.signal-service-list summary:hover { color: var(--acid); }
.signal-service-list details[open] summary svg { transform: rotate(45deg); }
.signal-service-detail { display: grid; grid-template-columns: .9fr 1.1fr; gap: 24px; padding-bottom: 32px; }
.signal-service-detail p { font-size: 12px; max-width: 28ch; }
.signal-service-detail ul { font-size: 11px; margin: 0; padding-left: 15px; line-height: 1.7; }
.signal-service-detail li + li { margin-top: 8px; }
.signal-expansion { padding: clamp(70px,8vw,132px) var(--gutter); display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; }
.signal-expansion h2 { font-family: var(--display); font-size: clamp(43px,4.7vw,78px); line-height: .98; text-transform: uppercase; letter-spacing: -.025em; max-width: 16ch; }
.signal-expansion p { margin-top: 25px; max-width: 42ch; font-size: 13px; }
.territory-stamps { display: flex; gap: 20px; margin: 15px 0 35px; color: var(--cobalt); }
.territory-stamps span { padding: 10px 20px; border: 1px solid var(--cobalt); font-family: var(--display); font-size: 44px; font-weight: 800; transform: rotate(-6deg); }
.territory-stamps span:nth-child(2) { transform: rotate(7deg); }
.expansion-branch ul { margin: 0; padding: 0; list-style: none; }
.expansion-branch li { display: flex; align-items: flex-start; gap: 13px; font-size: 12px; line-height: 1.6; margin-top: 12px; }
.expansion-branch svg { width: 17px; height: 17px; margin-top: 2px; }
.signal-studio { background: var(--vermilion); color: var(--ink); padding: 90px var(--gutter); display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; overflow: clip; }
.signal-studio h2 { font-family: var(--display); text-transform: uppercase; font-size: clamp(43px,4.8vw,80px); line-height: .98; letter-spacing: -.03em; max-width: 15ch; }
.signal-studio p { font-size: 13px; margin: 25px 0; max-width: 44ch; }
.signal-studio .signal-button { background: var(--ink); color: var(--paper); }
.signal-studio .signal-button:hover { background: var(--cobalt); }
.signal-studio-word { display: block; position: relative; font-family: var(--studio-display); line-height: .83; text-transform: uppercase; width: 90%; padding: 24px; border: 2px solid var(--ink); transform: rotate(-7deg); transition: transform .5s var(--ease); }
.signal-studio-word span { display: block; font-size: clamp(60px,10vw,180px); font-weight: 700; }
.signal-studio-word strong { display: block; font-size: clamp(60px,10vw,180px); font-weight: 700; margin-top: 10px; }
.signal-studio-word svg { position: absolute; top: 24px; right: 24px; width: 50px; height: 50px; }
.signal-studio-word:hover { transform: rotate(0); }
.route-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (min-width: 1600px) { .signal-hero { padding-top: 60px; } .signal-intro h1 { font-size: 6.5vw; } .signal-hero-art { max-width: 800px; } }
@media (max-height: 780px) and (min-width: 851px) { .journey-pin { padding-top: 24px; padding-bottom: 18px; } .journey-heading { margin-bottom: 20px; } .journey-heading h2 { font-size: 48px; max-width: none; } .journey-nav { margin-bottom: 20px; } .journey-narrative h3 { font-size: 39px; } .journey-narrative p { font-size: 12px; } .journey-narrative ul { margin: 16px 0; } }
@media (max-width: 1000px) { .journey-layout { gap: 35px; } .journey-nav button { gap: 8px; font-size: 12px; padding-inline: 10px; } .signal-services { gap: 45px; } }
@media (max-width: 850px) {
 .signal-hero { padding-top: 22px; grid-template-columns: 1fr; }
 .signal-intro { padding: 20px 0 10px; }
 .signal-intro h1 { font-size: clamp(76px,14vw,116px); width: 100%; }
 .signal-hero-detail { max-width: 65ch; margin-top: 28px; display: flex; gap: 30px; align-items: flex-start; }
 .signal-hero-detail > p { font-size: 13px; }
 .signal-actions { margin-top: 0; }
 .signal-hero-art { max-width: 580px; justify-self: end; width: 80%; margin: 25px 0 30px; }
 .signal-platforms { flex-direction: column; align-items: flex-start; padding: 22px 0; gap: 18px; }
 .signal-platforms > div { flex-wrap: wrap; gap: 24px; font-size: 13px; }
 .signal-partners { align-items: flex-start; } .signal-partners > div { gap: 14px 24px; font-size: 11px; }
 .journey-pin { padding-top: 38px; }
 .journey-heading { gap: 25px; align-items: flex-start; }
 .journey-heading h2 { font-size: 43px; max-width: 12ch; }
 .journey-heading p { font-size: 11px; }
 .journey-layout { grid-template-columns: 1fr; gap: 28px; }
 .journey-stage { max-width: 670px; aspect-ratio: 1.75; }
 .journey-narrative h3 { font-size: 40px; max-width: none; }
 .journey-narrative p { max-width: 60ch; }
 .journey-narrative ul { margin-top: 14px; }
 .journey-narrative li { margin-top: 6px; }
 .journey-nav button { font-size: 10px; display: grid; grid-template-columns: 1fr auto; gap: 7px; padding: 10px 7px; }
 .journey-nav button > span { grid-column: 1/-1; font-size: 9px; }
 .journey-nav button svg { width: 13px; height: 13px; }
 .journey-step-label { margin-bottom: 10px; }
 .journey-static .journey-stage { position: relative; top: auto; }
 .journey-static .journey-narrative article { margin-top: 35px; }
 .signal-services { grid-template-columns: 1fr; }
 .signal-services-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }
 .signal-services-heading > p { margin-top: 0; }
 .signal-expansion { gap: 35px; } .territory-stamps { gap: 10px; } .territory-stamps span { font-size: 34px; padding: 8px 14px; }
 .signal-studio { padding-block: 70px; gap: 25px; } .signal-studio-word { padding: 18px; width: 100%; }
 .signal-studio-word svg { top: 16px; right: 16px; width: 30px; height: 30px; }
}
@media (max-width: 560px) {
 .signal-hero-detail { display: block; } .signal-actions { margin-top: 22px; }
 .signal-intro h1 { font-size: clamp(40px,12.5vw,70px); } .signal-hero-detail > p { font-size: 13px; max-width: 43ch; }
 .signal-hero-art { width: calc(100% + 22px); max-width: none; margin: 20px -22px 24px 0; }
 .signal-hero-art figcaption { margin-top: 15px; margin-left: 0; font-size: 9px; }
 .hero-route { aspect-ratio: 1.35; } .hero-destination span { font-size: 9px; }
 .signal-partners { display: block; padding-block: 20px; } .signal-partners > div { margin-top: 10px; font-size: 10px; }
 .journey-heading { display: block; margin-bottom: 22px; }
 .journey-heading h2 { font-size: 43px; max-width: 17ch; }
 .journey-heading p { margin-top: 15px; max-width: 47ch; }
 .journey-nav { margin-bottom: 22px; grid-template-columns: repeat(2,minmax(0,1fr)); }
 .journey-nav button { font-size: 12px; padding: 12px; }
 .journey-stage { aspect-ratio: 1.4; }
 .journey-narrative h3 { font-size: 38px; margin-bottom: 16px; }
 .journey-narrative p { font-size: 12px; }
 .journey-narrative ul { font-size: 10px; }
 .release-tile { padding: 12px; } .release-tile-label { font-size: 9px; }
 .journey-source .release-tile { padding: 9px; } .journey-source .release-tile-top { font-size: 8px; }
 .journey-source .release-tile-label { font-size: 7px; }
 .audit-label { font-size: 8px; } .package-title { font-size: 8px; padding: 7px; }
 .package-publish { font-size: 6px; } .distribution-rights { font-size: 8px; }
 .distribution-edition { padding: 5px; } .distribution-edition span { font-size: 6px; }
 .report-sheet { padding: 11px; } .report-heading { font-size: 10px; padding-bottom: 8px; margin-bottom: 16%; }
 .report-row { font-size: 8px; padding: 8px 0; } .report-decision { font-size: 8px; margin-top: 7px; }
 .report-decision svg { width: 16px; height: 16px; }
 .signal-services-heading { grid-template-columns: 1fr; gap: 22px; }
 .signal-services-heading h2 { font-size: 51px; max-width: 14ch; }
 .signal-service-list summary { padding: 23px 0; }
 .signal-service-detail { grid-template-columns: 1fr; gap: 20px; }
 .signal-service-detail p { max-width: 45ch; }
 .signal-expansion { grid-template-columns: 1fr; }
 .signal-studio { grid-template-columns: 1fr; gap: 65px; }
 .signal-studio-word { width: 85%; justify-self: center; }
 .signal-studio-word span, .signal-studio-word strong { font-size: 24vw; }
}
@media (prefers-reduced-motion: reduce) {
 .journey-ready .growth-journey { height: auto !important; }
 .journey-ready .growth-journey .journey-pin { position: relative !important; top: auto !important; min-height: 0 !important; }
 .journey-nav,.journey-controls { display: none; }
 .journey-stage { position: relative; top: auto; }
 [data-journey-copy] { margin-top: 35px !important; }
}

/* Source: studio.css */
/* Studio: one frame, three material possibilities. Shared UI lives in bright.css. */
.studio {
  --studio-blue: #2924ea;
  --studio-coral: #ff684f;
  --studio-yellow: #fff04b;
  --studio-cyan: #a4eaff;
  --studio-ink: #171915;
  --studio-paper: #f7f8f2;
  --studio-ease: cubic-bezier(.16, 1, .3, 1);
  background: var(--studio-yellow);
  color: var(--studio-ink);
}
.studio header { background: var(--studio-yellow); color: var(--studio-ink); }
.studio .header-actions > .button { background: var(--studio-ink); color: var(--studio-yellow); }
.studio .header-actions > .button:hover { background: var(--studio-coral); color: var(--studio-ink); }
.studio .languages a:hover { background: rgb(23 25 21 / 9%); }
.studio .language-transition span { background: var(--studio-yellow); color: var(--studio-ink); }
.studio .language-transition span:nth-child(2) { background: var(--studio-coral); color: var(--studio-ink); }
.studio-arrow { width: 1.5em; height: 1.5em; flex: 0 0 auto; }
.studio-thesis { position: relative; overflow: clip; padding: clamp(48px, 6vw, 88px) var(--gutter, 4vw) 26px; }
.studio-title-wrap { position: relative; z-index: 2; width: 100%; pointer-events: none; }
.studio-thesis h1 { margin: 0; font-family: var(--studio-display); font-size: clamp(72px, 11.5vw, 184px); font-weight: 600; line-height: 1.03; letter-spacing: -.035em; text-transform: uppercase; }
.studio-title-line { display: block; width: max-content; max-width: 100%; }
.studio-title-line.line-1 { text-shadow: .027em .025em 0 var(--studio-coral); }
.studio-title-line.line-2 { margin-left: 7.7%; }
.studio-hero-art { width: 34%; height: 64%; max-height: 490px; position: absolute; top: 24%; right: -1.8%; margin: 0; perspective: 1200px; }
.hero-frame-system { --frame-step-x: 22px; --frame-step-y: 11px; width: 100%; height: 100%; position: relative; transform-style: preserve-3d; transform: translate(var(--hero-x, 0px), var(--hero-y, 0px)) rotate(-13deg); transition: transform 600ms var(--studio-ease); }
.hero-frame { position: absolute; display: block; left: 50%; top: 50%; width: 69%; aspect-ratio: 1; border: clamp(9px, 1.3vw, 20px) solid var(--studio-coral); transform: translate(calc(-50% + (var(--frame) - 2) * var(--frame-step-x)), calc(-50% + (var(--frame) - 2) * var(--frame-step-y))); }
.hero-frame:nth-child(2) { border-color: var(--studio-cyan); }
.hero-frame:nth-child(3) { border-color: var(--studio-ink); }
.hero-frame:nth-child(4) { border-color: var(--studio-paper); }
.hero-frame:nth-child(5) { border-color: var(--studio-coral); }
.hero-frame-core { position: absolute; display: flex; flex-direction: column; justify-content: space-between; width: 50%; aspect-ratio: 1; left: 50%; top: 50%; padding: 14px; transform: translate(-50%, -50%); background: var(--studio-coral); color: var(--studio-ink); }
.hero-frame-core span { font: 600 clamp(40px, 5vw, 80px)/1 var(--studio-display); letter-spacing: -.03em; }
.hero-frame-core svg { width: 43%; align-self: flex-end; }
.hero-frame { animation: studio-frame-fan 8s var(--studio-ease) infinite; animation-delay: calc(var(--frame) * -140ms); }
.hero-frame-core { animation: studio-frame-core 8s var(--studio-ease) infinite; }
.studio-thesis:not(.studio-hero-visible) :is(.hero-frame, .hero-frame-core) { animation-play-state: paused; }
@keyframes studio-frame-fan {
  0%, 14%, 100% { transform: translate(calc(-50% + (var(--frame) - 2) * var(--frame-step-x)), calc(-50% + (var(--frame) - 2) * var(--frame-step-y))) rotate(0deg); }
  44%, 62% { transform: translate(calc(-50% + (var(--frame) - 2) * var(--frame-step-x) * 1.4), calc(-50% + (var(--frame) - 2) * var(--frame-step-y) * 1.5)) rotate(calc((var(--frame) - 2) * 7deg)); }
}
@keyframes studio-frame-core {
  0%, 14%, 100% { transform: translate(-50%, -50%) rotate(0deg); }
  44%, 62% { transform: translate(-50%, -50%) rotate(6deg); }
}
.studio-hero-art figcaption { position: absolute; font-size: 12px; font-weight: 600; bottom: -13px; left: 22%; max-width: 26ch; color: var(--studio-ink); }
.studio-thesis-foot { position: relative; z-index: 3; margin-top: clamp(40px, 5vw, 76px); padding-top: 28px; border-top: 1px solid rgb(23 25 21 / 35%); display: grid; grid-template-columns: 1.1fr .9fr .8fr; align-items: center; gap: 30px; }
.studio-thesis-foot > p { margin: 0; font-size: clamp(15px, 1.3vw, 19px); line-height: 1.55; max-width: 42ch; }
.studio-primary { justify-self: center; background: var(--studio-ink); color: var(--studio-yellow); }
.studio-primary:hover { background: var(--studio-coral); color: var(--studio-ink); }
.studio-lab-link { justify-self: end; max-width: 25ch; display: flex; gap: 18px; align-items: center; font-size: 14px; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: .3em; }
.studio-lab-link svg { width: 28px; min-width: 28px; transition: transform 240ms var(--studio-ease); }
.studio-lab-link:hover svg { transform: translateY(5px); }
.studio-lab-link:active svg { transform: translateY(8px); }
.studio-concept-note { margin: 28px 0 0; padding-right: 54px; font-size: 11px; color: var(--studio-ink); }

.frame-laboratory { background: var(--studio-ink); color: var(--studio-paper); padding: 110px var(--gutter, 4vw) 64px; }
.studio-lab-heading { display: grid; grid-template-columns: 1.4fr .7fr; align-items: end; gap: 5vw; margin-bottom: 48px; }
.studio-lab-heading h2, .studio-production-heading h2, .studio-growth-copy h2 { margin: 0; font-family: var(--studio-display); font-weight: 600; font-size: clamp(54px, 6.8vw, 112px); line-height: 1.08; letter-spacing: -.025em; }
.studio-lab-heading h2 span, .studio-production-heading h2 span, .studio-growth-copy h2 span { display: block; }
.studio-lab-heading h2 span:last-child { color: var(--studio-coral); }
.studio-lab-heading > p { margin: 0 0 8px; font-size: 16px; line-height: 1.65; max-width: 43ch; }
.lab-scroll { position: relative; }
.lab-pin { position: relative; }
.lab-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-bottom: 22px; }
.lab-mode-controls { display: flex; gap: 8px; flex-wrap: wrap; }
.lab-mode-controls button { display: flex; align-items: center; gap: 13px; min-height: 49px; padding: 11px 22px; border: 1px solid rgb(247 248 242 / 40%); border-radius: var(--pill, 100px); background: transparent; color: var(--studio-paper); font: 700 14px/1.3 var(--font); cursor: pointer; transition: background-color 200ms var(--studio-ease), color 200ms var(--studio-ease), border-color 200ms var(--studio-ease), transform 200ms var(--studio-ease); }
.lab-mode-controls button:hover { border-color: var(--studio-cyan); background: rgb(164 234 255 / 13%); transform: translateY(-2px); }
.lab-mode-controls button:active { transform: translateY(1px); }
.lab-mode-controls button[aria-pressed="true"] { background: var(--studio-yellow); border-color: var(--studio-yellow); color: var(--studio-ink); }
.lab-mode-controls button:focus-visible { outline: 3px solid var(--studio-cyan); outline-offset: 5px; }
.lab-mode-controls button:disabled { cursor: not-allowed; opacity: .5; transform: none; }
.lab-mode-symbol { display: inline-block; width: 14px; height: 14px; border: 1.5px solid currentColor; }
.symbol-motion { transform: rotate(-12deg); }
.symbol-depth { transform: skewY(-12deg); box-shadow: 3px 3px 0 -1px var(--studio-ink), 3px 3px 0 0 currentColor; }
.symbol-spatial { border-bottom: 0; height: 15px; }
.lab-progress { width: min(25vw, 340px); height: 2px; display: none; background: rgb(247 248 242 / 25%); }
.lab-progress i { display: block; width: 100%; height: 100%; background: var(--studio-yellow); transform: scaleX(var(--lab-progress, 0)); transform-origin: left; }
.lab-stage-layout { display: grid; grid-template-columns: 1.45fr .8fr; gap: clamp(30px, 4vw, 64px); }
.lab-viewport { position: relative; overflow: hidden; min-width: 0; aspect-ratio: 1.24; background: var(--studio-coral); color: var(--studio-ink); transition: background-color 700ms var(--studio-ease), color 700ms var(--studio-ease); }
.lab-stage-labels { position: absolute; left: 22px; top: 20px; z-index: 4; font-size: 12px; font-weight: 700; }
.lab-stage-labels span { display: none; }
[data-frame-state="motion"] [data-lab-caption="motion"], [data-frame-state="depth"] [data-lab-caption="depth"], [data-frame-state="spatial"] [data-lab-caption="spatial"] { display: block; }
.lab-form { position: absolute; inset: 0; perspective: 1100px; transform-style: preserve-3d; transform: rotate(var(--lab-turn, 0deg)); transition: transform 800ms var(--studio-ease); }
.lab-frame { position: absolute; left: 50%; top: 47%; width: 47%; aspect-ratio: 1.12; border: clamp(10px, 1.2vw, 20px) solid var(--studio-ink); transform: translate(calc(-50% + (var(--frame) - 3) * 16px), calc(-50% + (var(--frame) - 3) * 6px)) rotate(-16deg); transform-style: preserve-3d; transition: transform 900ms var(--studio-ease), width 900ms var(--studio-ease), border-color 700ms var(--studio-ease), border-width 700ms var(--studio-ease), clip-path 900ms var(--studio-ease); }
.lab-frame:nth-child(even) { border-color: var(--studio-yellow); }
.lab-frame:nth-child(3n) { border-color: var(--studio-blue); }
.lab-aperture { position: absolute; left: 50%; top: 47%; width: 35%; aspect-ratio: 1.12; display: flex; align-items: center; justify-content: center; background: var(--studio-yellow); color: var(--studio-ink); transform: translate(-50%, -50%) rotate(-16deg); transition: transform 900ms var(--studio-ease), background-color 700ms var(--studio-ease), clip-path 900ms var(--studio-ease); clip-path: inset(0); }
.lab-aperture span { font-family: var(--studio-display); font-weight: 600; font-size: clamp(40px, 6.4vw, 102px); letter-spacing: -.025em; line-height: 1.1; }
.lab-timeline { position: absolute; bottom: 30px; left: 22px; right: 22px; height: 25px; display: flex; align-items: stretch; gap: 4px; transform-origin: left; transform: scaleX(1); transition: transform 700ms var(--studio-ease), clip-path 700ms var(--studio-ease); clip-path: inset(0); }
.lab-timeline i { display: block; flex: 1; background: var(--studio-ink); transform: scaleY(calc(.45 + mod(var(--cut), 3) * .22)); transform-origin: bottom; }
.lab-timeline i:nth-child(3n) { flex: 1.5; background: var(--studio-blue); }
.lab-timeline i:nth-child(4n) { background: var(--studio-yellow); }
.lab-space-plane { position: absolute; inset: 0; transform: translateY(40%); opacity: 0; transition: transform 900ms var(--studio-ease), opacity 600ms var(--studio-ease); }
.lab-space-plane svg { width: 100%; height: 100%; }
.lab-corner { position: absolute; width: 20px; height: 20px; border: 1px solid currentColor; }
.corner-a { top: 20px; right: 22px; border-left: 0; border-bottom: 0; }
.corner-b { bottom: 20px; left: 22px; border-top: 0; border-right: 0; }
.lab-shutter { position: absolute; inset: 0; z-index: 5; background: var(--studio-yellow); clip-path: inset(0 100% 0 0); pointer-events: none; }
.lab-switching .lab-shutter { animation: studio-frame-wipe 760ms var(--studio-ease) both; }
@keyframes studio-frame-wipe { 0% { clip-path: inset(0 100% 0 0); } 35% { clip-path: inset(0 0 0 0); } 100% { clip-path: inset(0 0 0 100%); } }
.lab-viewport[data-frame-state="depth"] { background: var(--studio-blue); color: var(--studio-paper); }
[data-frame-state="depth"] .lab-frame { width: 44%; transform: translate(-50%, -50%) rotateX(18deg) rotateY(-34deg) rotateZ(10deg) translateZ(calc((var(--frame) - 3) * 31px)); border-color: var(--studio-coral); }
[data-frame-state="depth"] .lab-frame:nth-child(even) { border-color: var(--studio-cyan); }
[data-frame-state="depth"] .lab-frame:nth-child(3n) { border-color: var(--studio-yellow); }
[data-frame-state="depth"] .lab-aperture { transform: translate(-50%, -50%) rotateX(18deg) rotateY(-34deg) rotateZ(10deg) translateZ(102px); background: var(--studio-cyan); clip-path: inset(0 0 0 13%); }
[data-frame-state="depth"] .lab-timeline { clip-path: inset(0 100% 0 0); transform: scaleX(.7); }
.lab-viewport[data-frame-state="spatial"] { background: var(--studio-cyan); }
[data-frame-state="spatial"] .lab-frame { width: 55%; border-width: 9px; border-color: var(--studio-blue); transform: translate(-50%, -50%) perspective(900px) rotateY(-25deg) scale(calc(1.4 - var(--frame) * .13)); }
[data-frame-state="spatial"] .lab-frame:nth-child(even) { border-color: var(--studio-ink); }
[data-frame-state="spatial"] .lab-frame:nth-child(3n) { border-color: var(--studio-coral); }
[data-frame-state="spatial"] .lab-aperture { transform: translate(-50%, -50%) perspective(900px) rotateY(-25deg) scale(.66); background: var(--studio-coral); clip-path: inset(0); }
[data-frame-state="spatial"] .lab-space-plane { transform: translateY(0); opacity: .7; }
[data-frame-state="spatial"] .lab-timeline { clip-path: inset(100% 0 0 0); transform: scaleX(.35); }
.lab-descriptions { align-self: center; min-width: 0; }
.lab-description { padding: 32px 0; border-top: 1px solid rgb(247 248 242 / 30%); }
.lab-description:first-child { border-top: 0; padding-top: 0; }
.lab-description h3 { margin: 0 0 24px; font-family: var(--studio-display); font-weight: 500; font-size: clamp(36px, 3.9vw, 64px); letter-spacing: -.015em; line-height: 1.14; color: var(--studio-yellow); }
.lab-description p { font-size: 16px; line-height: 1.7; margin: 0; max-width: 41ch; }
.lab-output { padding-top: 24px; margin-top: 24px; border-top: 1px solid rgb(247 248 242 / 28%); font-size: 12px; font-weight: 600; line-height: 1.7; color: var(--studio-cyan); }
.lab-note { margin: 22px 0 0; max-width: 90ch; color: var(--studio-cyan); font-size: 11px; line-height: 1.6; }
@media (min-width: 901px) and (min-height: 700px) {
  .lab-enhanced .lab-scroll { height: 230svh; }
  .lab-enhanced .lab-pin { position: sticky; top: 96px; min-height: 570px; height: calc(100svh - 114px); display: flex; flex-direction: column; justify-content: center; }
  .lab-enhanced .lab-pin > * { flex-shrink: 0; }
  .lab-enhanced .lab-stage-layout { min-height: 0; align-items: center; }
  .lab-enhanced .lab-viewport { max-height: calc(100svh - 250px); width: 100%; aspect-ratio: 1.24; }
  .lab-enhanced .lab-descriptions { min-height: 340px; display: grid; align-items: center; }
  .lab-enhanced .lab-description { grid-area: 1 / 1; border: 0; padding: 0; }
  .lab-enhanced .lab-description:not(.is-active) { visibility: hidden; }
  .lab-enhanced .lab-progress { display: block; }
}

.studio-production { background: var(--studio-paper); color: var(--studio-ink); padding: 110px var(--gutter, 4vw) 80px; }
.studio-production-heading { display: grid; grid-template-columns: 1.8fr 1fr; gap: 7vw; align-items: end; margin-bottom: 72px; }
.studio-production-heading h2 { font-size: clamp(48px, 5.4vw, 88px); }
.studio-production-heading > p { margin: 0 0 4px; font-size: 16px; line-height: 1.65; max-width: 42ch; }
.studio-production-group { display: grid; grid-template-columns: 1fr 3fr; border-top: 1px solid var(--studio-ink); column-gap: 42px; padding-top: 28px; }
.studio-production-group > h3 { margin: 0; font-size: 14px; font-weight: 800; color: var(--studio-blue); }
.studio-service-row { display: grid; grid-template-columns: 1fr 1fr; gap: 5vw; padding: 0 0 34px; }
.studio-service-row + .studio-service-row { padding-top: 25px; border-top: 1px solid rgb(23 25 21 / 22%); }
.studio-service-row h4 { font-family: var(--studio-display); font-size: clamp(27px, 2.6vw, 41px); font-weight: 500; letter-spacing: -.015em; line-height: 1.23; margin: 0; }
.studio-service-row p { font-size: 14px; line-height: 1.75; max-width: 48ch; margin: 0; }
.studio-production-foot { padding-top: 28px; border-top: 1px solid var(--studio-ink); display: grid; grid-template-columns: 1fr 1fr; gap: 12vw; align-items: start; }
.studio-production-foot > p { margin: 0; font-size: 13px; line-height: 1.7; max-width: 50ch; }
.studio-production-cta { display: flex; gap: 32px; align-items: center; justify-content: space-between; font-weight: 800; font-size: 18px; line-height: 1.5; color: var(--studio-blue); text-decoration-thickness: 1px; text-underline-offset: .3em; }
.studio-production-cta svg { transition: transform 260ms var(--studio-ease); }
.studio-production-cta:hover svg { transform: translate(4px, -4px); }
.studio-production-cta:active svg { transform: translate(6px, -6px); }

.studio-growth-link { display: grid; grid-template-columns: 1.1fr 1fr; gap: 6vw; padding: 96px var(--gutter, 4vw); overflow: clip; background: var(--studio-coral); color: var(--studio-ink); }
.studio-growth-copy { position: relative; z-index: 1; }
.studio-growth-copy h2 { font-size: clamp(54px, 7vw, 112px); }
.studio-growth-copy > p { max-width: 47ch; font-size: 16px; line-height: 1.65; margin: 32px 0; }
.studio-growth-art { min-width: 0; position: relative; align-self: center; aspect-ratio: 1.13; }
.studio-growth-frame { position: absolute; width: 76%; aspect-ratio: 1.3; top: 20%; left: 12%; display: flex; flex-direction: column; justify-content: space-between; padding: 22px; background: var(--studio-yellow); border: 12px solid var(--studio-ink); transform: rotate(-12deg); color: var(--studio-ink); z-index: 1; }
.studio-growth-frame span { font-family: var(--display); font-size: clamp(45px, 5vw, 86px); font-weight: 900; line-height: 1; letter-spacing: -.04em; }
.studio-growth-frame svg { width: 34%; align-self: end; margin-top: -8%; }
.studio-growth-route { position: absolute; width: 72%; height: 62%; top: 10%; left: 38%; border: 2px solid var(--studio-ink); transform: rotate(-12deg); }
.studio-growth-route::after { content: ''; position: absolute; width: 30%; height: 60%; background: var(--studio-blue); top: 53%; left: 57%; }

html[lang="ru"] .studio-thesis h1 { font-size: clamp(72px, 11.5vw, 184px); }
html[lang="ru"] .studio-title-line.line-2 { margin-left: 0; }
html[lang="ru"] .studio-hero-art { top: 19%; right: 3%; width: 34%; height: 56%; }
html[lang="ru"] .studio-lab-heading h2 { font-size: clamp(54px, 6.1vw, 102px); }
html[lang="ru"] .lab-description h3 { font-size: clamp(34px, 3.4vw, 54px); }
html[lang="lv"] .studio-production-heading h2, html[lang="ru"] .studio-production-heading h2 { font-size: clamp(44px, 4.4vw, 74px); }

@media (max-width: 1100px) {
  .studio-thesis { padding-top: 54px; }
  .studio-thesis-foot { grid-template-columns: 1.2fr 1fr; }
  .studio-primary { justify-self: end; }
  .studio-lab-link { grid-column: 1 / -1; justify-self: start; max-width: none; }
  .studio-hero-art { width: 32%; }
  .studio-lab-heading { grid-template-columns: 1.4fr .8fr; gap: 32px; }
  .lab-stage-layout { grid-template-columns: 1.2fr 1fr; gap: 28px; }
  .lab-mode-controls button { padding-inline: 18px; }
  .studio-production-heading { grid-template-columns: 1.5fr 1fr; gap: 36px; }
  .studio-production-group { grid-template-columns: 1fr 4fr; gap: 30px; }
  .studio-service-row { gap: 30px; }
}
@media (max-width: 900px) {
  .studio-thesis { padding-top: 42px; }
  .studio-hero-art { top: 22%; height: 41%; right: -1%; }
  .studio-hero-art figcaption { display: none; }
  .hero-frame-system { --frame-step-x: 12px; --frame-step-y: 7px; }
  .studio-thesis-foot { margin-top: 46px; }
  .frame-laboratory { padding-top: 78px; }
  .studio-lab-heading { grid-template-columns: 1fr; gap: 24px; }
  .studio-lab-heading > p { max-width: 58ch; }
  .lab-stage-layout { grid-template-columns: 1fr; gap: 34px; }
  .lab-viewport { max-height: 560px; aspect-ratio: 1.2; }
  .lab-frame { border-width: 15px; }
  .lab-aperture span { font-size: clamp(72px, 13vw, 115px); }
  .lab-description { display: grid; grid-template-columns: 1fr 1.1fr; gap: 24px; }
  .lab-description h3 { margin: 0; font-size: clamp(34px, 5.7vw, 48px); }
  .lab-description p { max-width: 46ch; font-size: 15px; }
  .lab-output { grid-column: 2; margin-top: -6px; padding-top: 18px; }
  .studio-production { padding-top: 78px; }
  .studio-production-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 52px; }
  .studio-production-heading > p { max-width: 58ch; }
  .studio-production-group { grid-template-columns: 1fr 3.6fr; gap: 24px; }
  .studio-service-row { grid-template-columns: 1fr; gap: 12px; }
  .studio-service-row p { max-width: 60ch; }
  .studio-production-foot { gap: 44px; }
  .studio-growth-link { grid-template-columns: 1.3fr .8fr; padding-block: 72px; }
  .studio-growth-frame { width: 100%; left: 0; padding: 14px; border-width: 8px; }
  html[lang="ru"] .studio-hero-art { top: 14%; height: 37%; }
  html[lang="ru"] .lab-description h3 { font-size: clamp(32px, 5vw, 46px); }
}
@media (max-width: 560px) {
  .studio-thesis { padding-top: 40px; }
  .studio-thesis h1 { font-size: clamp(41px, 12vw, 67px); line-height: 1.06; letter-spacing: -.03em; }
  .studio-title-line.line-2 { margin-left: 0; }
  .studio-hero-art { position: relative; top: auto; right: auto; width: 83%; height: 272px; margin: -7px 0 -9px auto; }
  .hero-frame-system { transform: translate(var(--hero-x, 0px), var(--hero-y, 0px)) rotate(-13deg); }
  .hero-frame { width: 63%; border-width: 10px; }
  .hero-frame-core { width: 43%; padding: 12px; }
  .hero-frame-core span { font-size: 42px; }
  .studio-hero-art figcaption { display: block; bottom: 3px; left: -15%; width: 16ch; font-size: 10px; }
  .studio-thesis-foot { margin-top: 22px; padding-top: 24px; grid-template-columns: 1fr; gap: 23px; }
  .studio-thesis-foot > p { font-size: 15px; max-width: 40ch; }
  .studio-primary { justify-self: start; }
  .studio-lab-link { font-size: 13px; margin-top: 3px; }
  .studio-concept-note { font-size: 10px; line-height: 1.6; margin-top: 27px; }
  .frame-laboratory { padding-top: 64px; padding-bottom: 52px; }
  .studio-lab-heading { margin-bottom: 28px; }
  .studio-lab-heading h2 { font-size: clamp(39px, 9.6vw, 54px); }
  .studio-lab-heading > p { font-size: 15px; line-height: 1.65; }
  .lab-toolbar { margin-bottom: 18px; }
  .lab-mode-controls { gap: 6px; width: 100%; }
  .lab-mode-controls button { min-height: 46px; padding: 11px 13px; font-size: 12px; gap: 8px; }
  .lab-mode-symbol { width: 11px; height: 11px; }
  .lab-viewport { aspect-ratio: 1; }
  .lab-stage-labels { left: 16px; top: 16px; font-size: 10px; }
  .lab-frame { width: 48%; border-width: 10px; transform: translate(calc(-50% + (var(--frame) - 3) * 10px), calc(-50% + (var(--frame) - 3) * 4px)) rotate(-16deg); }
  .lab-aperture { width: 38%; }
  .lab-aperture span { font-size: clamp(44px, 14vw, 76px); }
  [data-frame-state="depth"] .lab-frame { transform: translate(-50%, -50%) rotateX(18deg) rotateY(-34deg) rotateZ(10deg) translateZ(calc((var(--frame) - 3) * 20px)); }
  [data-frame-state="depth"] .lab-aperture { transform: translate(-50%, -50%) rotateX(18deg) rotateY(-34deg) rotateZ(10deg) translateZ(68px); }
  [data-frame-state="spatial"] .lab-frame { border-width: 6px; }
  .lab-timeline { left: 16px; right: 16px; bottom: 24px; height: 18px; }
  .corner-a { top: 16px; right: 16px; }
  .corner-b { bottom: 16px; left: 16px; }
  .lab-description { grid-template-columns: 1fr; gap: 16px; padding: 28px 0; }
  .lab-description h3 { font-size: 35px; max-width: 19ch; }
  .lab-description p { font-size: 15px; line-height: 1.7; }
  .lab-output { grid-column: auto; font-size: 11px; margin-top: 0; padding-top: 15px; }
  .lab-note { font-size: 10px; margin-top: 8px; }
  .studio-production { padding-top: 64px; padding-bottom: 56px; }
  .studio-production-heading h2 { font-size: clamp(35px, 8.4vw, 49px); }
  .studio-production-heading > p { font-size: 15px; }
  .studio-production-group { grid-template-columns: 1fr; gap: 24px; padding-top: 20px; }
  .studio-production-group > h3 { font-size: 12px; }
  .studio-service-row h4 { font-size: 30px; }
  .studio-service-row p { font-size: 14px; }
  .studio-production-foot { grid-template-columns: 1fr; gap: 28px; }
  .studio-production-foot > p { font-size: 12px; }
  .studio-production-cta { font-size: 16px; max-width: 35ch; }
  .studio-growth-link { grid-template-columns: 1fr; padding-block: 64px 42px; gap: 18px; }
  .studio-growth-copy h2 { font-size: clamp(52px, 12vw, 72px); }
  .studio-growth-copy > p { font-size: 15px; margin-block: 24px; }
  .studio-growth-art { width: 82%; aspect-ratio: 1.4; justify-self: end; margin-top: 28px; }
  .studio-growth-frame { width: 78%; top: 8%; left: 0; }
  .studio-growth-route { top: 0; }
  html[lang="ru"] .studio-thesis h1 { font-size: clamp(43px, 12.5vw, 70px); }
  html[lang="ru"] .studio-hero-art { top: auto; width: 83%; height: 272px; right: auto; }
  html[lang="ru"] .studio-lab-heading h2 { font-size: clamp(35px, 8.4vw, 48px); }
  html[lang="ru"] .lab-mode-controls button { font-size: 11px; padding-inline: 11px; gap: 6px; }
  html[lang="ru"] .lab-description h3 { font-size: 33px; }
  html[lang="lv"] .studio-lab-heading h2 { font-size: clamp(33px, 8.1vw, 46px); }
  html[lang="lv"] .studio-production-heading h2, html[lang="ru"] .studio-production-heading h2 { font-size: clamp(29px, 6.9vw, 40px); }
}

.still .lab-scroll { height: auto !important; }
.still .lab-pin { position: relative !important; top: auto !important; height: auto !important; min-height: 0 !important; }
.still .lab-enhanced .lab-descriptions { display: block; min-height: 0; }
.still .lab-enhanced .lab-description { display: block; padding: 28px 0; visibility: visible; }
.still .lab-enhanced .lab-description + .lab-description { border-top: 1px solid rgb(247 248 242 / 30%); }
.still .lab-progress { display: none; }
.still .hero-frame-system { transform: rotate(-13deg) !important; }
.still .lab-form { transform: none !important; }
.still .studio :is(.lab-frame, .lab-aperture, .lab-viewport, .lab-space-plane, .lab-timeline, .hero-frame-system, .hero-frame, .hero-frame-core, .lab-shutter, .lab-mode-controls button, .studio-lab-link svg, .studio-production-cta svg) { animation: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  .lab-scroll { height: auto !important; }
  .lab-pin { position: relative !important; top: auto !important; height: auto !important; min-height: 0 !important; }
  .lab-enhanced .lab-descriptions { display: block; min-height: 0; }
  .lab-enhanced .lab-description { display: block; padding: 28px 0; }
  .lab-enhanced .lab-description:not(.is-active) { visibility: visible; }
  .lab-enhanced .lab-description + .lab-description { border-top: 1px solid rgb(247 248 242 / 30%); }
  .lab-progress { display: none; }
  .hero-frame-system { transform: rotate(-13deg) !important; }
  .lab-form { transform: none !important; }
  .studio :is(.lab-frame, .lab-aperture, .lab-viewport, .lab-space-plane, .lab-timeline, .hero-frame-system, .hero-frame, .hero-frame-core, .lab-shutter, .lab-mode-controls button, .studio-lab-link svg, .studio-production-cta svg) { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
  .lab-mode-controls button[aria-pressed="true"] { outline: 2px solid Highlight; }
  .lab-frame, .hero-frame { border-color: CanvasText; }
  .lab-aperture, .hero-frame-core { border: 1px solid CanvasText; }
}

/* Compact and calm layouts tell the entire story beside its matching form. */
.lab-story-scene { display: none; }
.frame-laboratory:not(.lab-enhanced) .lab-toolbar,
.frame-laboratory:not(.lab-enhanced) .lab-stage-layout > .lab-viewport { display: none; }
.frame-laboratory:not(.lab-enhanced) .lab-stage-layout { display: block; }
.frame-laboratory:not(.lab-enhanced) .lab-description {
  display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(30px, 5vw, 80px);
  align-items: start; padding-block: 42px;
}
.frame-laboratory:not(.lab-enhanced) .lab-description:first-child { padding-top: 0; }
.frame-laboratory:not(.lab-enhanced) .lab-story-scene {
  display: block; grid-column: 1; grid-row: 1 / 4; aspect-ratio: 1.2;
}
.frame-laboratory:not(.lab-enhanced) .lab-description h3,
.frame-laboratory:not(.lab-enhanced) .lab-description p,
.frame-laboratory:not(.lab-enhanced) .lab-output { grid-column: 2; }
@media (max-width: 600px) {
  .frame-laboratory:not(.lab-enhanced) .lab-description { grid-template-columns: 1fr; gap: 18px; }
  .frame-laboratory:not(.lab-enhanced) .lab-story-scene { grid-column: 1; grid-row: auto; aspect-ratio: 1.1; margin-bottom: 8px; }
  .frame-laboratory:not(.lab-enhanced) .lab-description h3,
  .frame-laboratory:not(.lab-enhanced) .lab-description p,
  .frame-laboratory:not(.lab-enhanced) .lab-output { grid-column: 1; }
}

/* Source: privacy.css */
/* Legal reading surface inherits the shared YOLU identity. */
.form-privacy { max-width: 60ch; margin: 10px 0 14px; font-size: 12px; line-height: 1.7; }
.form-privacy a { text-decoration: underline; font-weight: 700; }
.form-privacy a:hover { text-decoration-thickness: 2px; }
.footer-legal { display: flex; flex-wrap: wrap; align-items: center; column-gap: 24px; row-gap: 4px; }
.footer-legal a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; text-decoration: underline; }
.footer-legal a:hover { color: var(--acid); }
.legal-intro { padding: clamp(56px,7vw,110px) var(--gutter) 56px; color: var(--paper); background: var(--cobalt); }
.legal-intro h1 { max-width: 18ch; font-family: var(--display); font-size: clamp(44px,6.4vw,88px); line-height: 1.04; font-weight: 800; letter-spacing: -.025em; overflow-wrap: anywhere; }
.legal-intro > p { max-width: 66ch; margin-top: 24px; font-size: 17px; }
.legal-intro .legal-date { font-size: 12px; }
.legal-layout { display: grid; grid-template-columns: minmax(180px,1fr) minmax(0,3fr); gap: clamp(40px,6vw,100px); max-width: 1500px; margin-inline: auto; padding: 64px var(--gutter) 100px; }
.legal-layout > * { min-width: 0; }
.legal-contents nav { position: sticky; top: 32px; }
.legal-contents h2 { font-size: 14px; line-height: 1.5; margin-bottom: 14px; }
.legal-contents ul { list-style: none; margin: 0; padding: 0; }
.legal-contents a { display: block; min-height: 44px; padding: 10px 0; font-size: 13px; line-height: 1.5; text-decoration: underline; }
.legal-contents a:hover { color: var(--cobalt); }
.legal-reading { max-width: 72ch; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.legal-reading > section + section { margin-top: 52px; padding-top: 32px; border-top: 1px solid currentColor; }
.legal-reading h2 { font-size: clamp(24px,2.3vw,30px); line-height: 1.25; letter-spacing: -.02em; margin-bottom: 20px; text-wrap: pretty; }
.legal-reading h3 { font-size: 17px; margin-bottom: 18px; line-height: 1.4; }
.legal-reading p + p { margin-top: 18px; }
.legal-reading ul { padding-left: 22px; margin: 20px 0; }
.legal-reading li + li { margin-top: 12px; }
.legal-reading a { text-decoration: underline; text-decoration-thickness: 1px; }
.legal-reading a:hover { color: var(--cobalt); text-decoration-thickness: 2px; }
.legal-details,.legal-storage dl { margin: 24px 0 0; }
.legal-details > div,.legal-storage dl > div { display: grid; grid-template-columns: minmax(130px,1fr) minmax(0,2fr); gap: 20px; padding: 13px 0; border-bottom: 1px solid currentColor; }
.legal-reading dt { font-size: 13px; font-weight: 700; }
.legal-reading dd { margin: 0; }
.legal-storage { background: var(--white); padding: 28px; margin: 28px 0; border-radius: var(--radius); }
.legal-storage dl { margin-top: 0; }
.legal-storage dl > div { display: block; }
.legal-storage dt { margin-bottom: 7px; }
.legal-storage dl > div:last-child { border: 0; padding-bottom: 0; }
.legal-sources { font-size: 14px; }
@media (max-width: 1100px) {
 footer { flex-wrap: wrap; }
 .footer-legal { margin-left: auto; }
}
@media (max-width: 850px) {
 .legal-layout { grid-template-columns: 1fr; gap: 40px; padding-top: 36px; }
 .legal-contents nav { position: static; }
 .legal-contents ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
 .legal-intro { padding-bottom: 42px; }
 .legal-intro > p { font-size: 16px; }
 .footer-legal { margin-left: 0; width: 100%; }
}
@media (max-width: 500px) {
 .legal[data-lang="ru"] .legal-intro h1 { font-size: clamp(28px,8.3vw,38px); }
 .legal-contents ul { grid-template-columns: 1fr; }
 .legal-details > div { grid-template-columns: 1fr; gap: 5px; }
 .legal-reading { font-size: 16px; }
 .legal-storage { padding: 22px; }
}
@media print {
 .legal header,.legal footer,.legal-contents,.legal .motion-toggle,.legal .skip-link { display: none; }
 .legal-intro { padding: 0 0 24px; color: #000; background: #fff; }
 .legal-intro h1 { font-size: 30pt; }
 .legal-layout { display: block; padding: 0; }
 .legal-reading { max-width: none; font-size: 11pt; }
 .legal-reading h2 { break-after: avoid; }
 .legal-reading a { color: inherit; }
 .legal-storage { border: 1px solid #000; }
}
