@font-face{font-family:"GeologicaX";src:url(fonts/Geologica-Variable.woff) format("woff");font-weight:400 600;font-display:swap}@font-face{font-family:"OnestX";src:url(fonts/Onest-Variable.woff) format("woff");font-weight:400 600;font-display:swap}:root{--font-geologica:"GeologicaX";--font-onest:"OnestX"}/*
 * Game Acquisition — design system (approved handoff 2026-10-29, "Day cycle" variant).
 * Generated from the handoff's tokens.css + components.css by scripts/trim-handoff-css.py.
 * Do not edit by hand: site-specific additions live in ga-site.css.
 */
:root, [data-theme="moonrise"] { --sky-top: #0b121c; --sky-mid: #0f1a2b; --sky-horizon: #1b2a40; --horizon-glow: #2a3e5c; --surface: #080d15; --surface-raised: #0f1622; --header-solid: #080d15e6; --scrim: #03060bb3; --line: #1c2533; --line-strong: #5b6a80; --ink: #eaf0f7; --ink-muted: #a1adbd; --accent: #0a66ff; --accent-hover: #0057e0; --on-accent: #ffffff; --accent-text: #6cb2ff; --focus: #8cc8ff; --danger: #ff8a7a; --moon: #eef3fa; --moon-glow: #9fc4ff; --ridge-far: #1a2638; --ridge-mid: #111b2a; --ridge-near: #0c131f; --ridge-line: #9fb7d62e; --fog: #3a4f6e; --cloud: #24324a; --cloud-rim: #c9d8ee; --star: #ffffff; --band: #0f1622; --on-band: #eaf0f7; --on-band-muted: #a1adbd; --focus-on-band: #8cc8ff; --shadow-moon: 0 0 60px 10px #9fc4ff40, 0 0 220px 60px #9fc4ff1f; --shadow-panel: 0 40px 120px -20px #000000b3; }
:root { --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px; --space-9: 96px; --space-10: 160px; --radius-none: 0px; --radius-sm: 8px; --radius-lg: 20px; --radius-pill: 999px; --font-display-moonrise: var(--font-geologica, "Geologica"), var(--font-cjk, "Geologica"), "Hiragino Sans", "Yu Gothic", "Noto Sans CJK JP", "Apple SD Gothic Neo", "Malgun Gothic", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; --font-text-moonrise: var(--font-onest, "Onest"), var(--font-cjk, "Onest"), "Hiragino Sans", "Yu Gothic", "Noto Sans CJK JP", "Apple SD Gothic Neo", "Malgun Gothic", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; }
:root, [data-theme="moonrise"] { --ga-display: var(--font-display-moonrise); --ga-text: var(--font-text-moonrise); --ga-label-font: var(--font-text-moonrise); --ga-display-weight: 600; --ga-display-track: -0.045em; --ga-hero-size: clamp(46px, 8.4vw, 120px); --ga-hero-lh: 0.94; --ga-h2-weight: 600; --ga-h2-track: -0.035em; --ga-h3-font: var(--font-display-moonrise); --ga-h3-weight: 500; --ga-figure-weight: 600; --ga-figure-color: var(--accent-text); --ga-btn-radius: var(--radius-pill); --ga-ctl-radius: var(--radius-sm); --ga-panel-radius: var(--radius-lg); --ga-label-track: 0.08em; --ga-moon-size: clamp(112px, 21vw, 340px); --ga-moon-top: 13%; --ga-moon-right: 6%; --ga-glow-opacity: 0.35; --ga-glow-x: 80%; --ga-glow-y: 30%; --ga-rim-y: 3px; --ga-ridge-far-h: 46%; --ga-ridge-mid-h: 33%; --ga-ridge-near-h: 21%; }
.ga { font-family: var(--ga-text); color: var(--ink); background: var(--surface); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
.ga *, .ga *::before, .ga *::after { box-sizing: border-box; }
.ga p { margin: 0; }
:where(.ga) :where(a) { color: inherit; }
.ga-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; padding: 0; margin: -1px; }
.ga-wrap { width: 100%; max-width: 1440px; margin-inline: auto; padding-inline: clamp(20px, 5.5vw, 80px); }
.ga-muted { color: var(--ink-muted); }
.ga-nowrap { white-space: nowrap; }
.ga :lang(ja), .ga :lang(zh), .ga :lang(ko), .ga:lang(ja), .ga:lang(zh), .ga:lang(ko) { letter-spacing: 0 !important; line-break: strict; }
.ga :lang(ko), .ga:lang(ko) { word-break: keep-all; }
.ga :lang(de), .ga :lang(ru), .ga:lang(de), .ga:lang(ru) { hyphens: auto; overflow-wrap: break-word; }
.ga-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; font-family: var(--ga-label-font); font-size: 13px; line-height: 1.3; font-weight: 500; letter-spacing: var(--ga-label-track); text-transform: uppercase; color: var(--ink-muted); }
.ga-eyebrow__num { color: var(--accent-text); font-variant-numeric: tabular-nums; }
.ga-h2 { margin: 0; font-family: var(--ga-display); font-weight: var(--ga-h2-weight); font-size: clamp(34px, 4vw, 58px); line-height: 1.03; letter-spacing: var(--ga-h2-track); text-wrap: balance; }
.ga-h3 { margin: 0; font-family: var(--ga-h3-font); font-weight: var(--ga-h3-weight); font-size: clamp(20px, 1.7vw, 24px); line-height: 1.22; letter-spacing: -0.012em; }
.ga-lead { font-size: clamp(18px, 1.55vw, 22px); line-height: 1.45; font-weight: 500; color: var(--ink-muted); text-wrap: pretty; }
.ga-body { font-size: 17px; line-height: 1.6; color: var(--ink-muted); text-wrap: pretty; }
.ga-small { font-size: 14px; line-height: 1.5; color: var(--ink-muted); }
.ga-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 56px; padding: 0 30px; margin: 0; border: 1px solid var(--accent); border-radius: var(--ga-btn-radius); background: var(--accent); color: var(--on-accent); font-family: var(--ga-text); font-size: 16px; font-weight: 600; line-height: 1; letter-spacing: 0.005em; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .3s cubic-bezier(.2,.8,.2,1); }
.ga-btn:hover, .ga-btn.is-hover { background: var(--accent-hover); border-color: var(--accent-hover); transform: translateY(-1px); }
.ga-btn:active, .ga-btn.is-active { transform: translateY(0) scale(.98); }
.ga-btn:focus-visible, .ga-btn.is-focus { outline: 2px solid var(--focus); outline-offset: 3px; }
.ga-btn__arrow { display: inline-block; transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.ga-btn:hover .ga-btn__arrow, .ga-btn.is-hover .ga-btn__arrow { transform: translateX(3px); }
.ga-btn--sm { height: 44px; padding: 0 20px; font-size: 15px; }
.ga-btn--block { width: 100%; }
.ga-btn--ghost { background: transparent; color: var(--ink); border-color: var(--line-strong); }
.ga-btn--ghost:hover, .ga-btn--ghost.is-hover { background: transparent; border-color: var(--ink-muted); }
.ga-btn[disabled], .ga-btn.is-disabled { opacity: .45; cursor: not-allowed; transform: none; }
.ga-textlink { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0; margin: 0; background: none; border: 0; cursor: pointer; font-family: var(--ga-text); font-size: 16px; font-weight: 500; color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-decoration-color: var(--line-strong); text-underline-offset: 7px; transition: text-decoration-color .25s ease, color .25s ease; }
.ga-textlink:hover, .ga-textlink.is-hover { text-decoration-color: var(--ink); }
.ga-textlink:focus-visible, .ga-textlink.is-focus { outline: 2px solid var(--focus); outline-offset: 4px; border-radius: 2px; }
.ga-textlink__arrow { display: inline-block; transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.ga-textlink:hover .ga-textlink__arrow, .ga-textlink.is-hover .ga-textlink__arrow { transform: translateY(3px); }
.ga-link { color: var(--accent-text); text-decoration: underline; text-underline-offset: 3px; }
.ga-link:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.ga-logo { display: block; flex: none; width: 184px; aspect-ratio: 1625 / 380; overflow: hidden; mix-blend-mode: lighten; border-radius: 2px; }
.ga-logo img { display: block; width: 118.77%; max-width: none; height: auto; margin-left: -9.231%; margin-top: -13.846%; }
.ga-logo--lg { width: 260px; }
.ga-logo:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
.ga-header { position: sticky; top: 0; z-index: 50; height: 76px; margin-bottom: -76px; border-bottom: 1px solid transparent; background: transparent; transition: background-color .35s ease, border-color .35s ease, backdrop-filter .35s ease; }
.ga-header:not(.is-solid) { mix-blend-mode: lighten; }
.ga-header.is-solid { background: var(--header-solid); border-bottom-color: var(--line); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%); }
.ga-header__bar { display: flex; align-items: center; gap: 28px; height: 100%; }
.ga-nav { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.ga-nav a { position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; font-size: 15px; font-weight: 500; color: var(--ink-muted); text-decoration: none; transition: color .25s ease; }
.ga-nav a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 9px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.ga-nav a:hover, .ga-nav a.is-hover { color: var(--ink); }
.ga-nav a:hover::after, .ga-nav a.is-hover::after { transform: scaleX(1); }
.ga-nav a:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
.ga-lang { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 10px; border: 0; background: none; color: var(--ink-muted); font-family: var(--ga-text); font-size: 14px; font-weight: 500; letter-spacing: .04em; cursor: pointer; transition: color .25s ease; }
.ga-lang:hover { color: var(--ink); }
.ga-lang:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
.ga-lang svg, .ga-burger svg { display: block; }
.ga-burger { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--line-strong); border-radius: var(--ga-btn-radius); background: transparent; color: var(--ink); cursor: pointer; }
.ga-burger:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.ga-hero { position: relative; isolation: isolate; height: clamp(740px, 62.5vw, 940px); overflow: hidden; background: var(--surface); }
.ga-hero__content { position: relative; z-index: 6; display: flex; flex-direction: column; justify-content: center; height: 100%; padding-top: 76px; padding-bottom: 14%; }
.ga-hero__title { margin: 0; max-width: 940px; font-family: var(--ga-display); font-weight: var(--ga-display-weight); font-size: var(--ga-hero-size); line-height: var(--ga-hero-lh); letter-spacing: var(--ga-display-track); color: var(--ink); text-wrap: balance; }
.ga-hero__title:lang(ru), .ga-hero__title:lang(de) { font-size: calc(var(--ga-hero-size) * .8); }
.ga-hero__title:lang(ja), .ga-hero__title:lang(zh), .ga-hero__title:lang(ko) { font-size: calc(var(--ga-hero-size) * .72); line-height: 1.15; }
.ga-hero__sub { max-width: 620px; margin-top: clamp(20px, 2.2vw, 32px); }
.ga-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: clamp(28px, 3vw, 44px); }
.ga-hero__note { margin-top: 20px; font-size: 14px; color: var(--ink-muted); }
.ga-sky { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; background: linear-gradient(180deg, var(--sky-top) 0%, var(--sky-mid) 46%, var(--sky-horizon) 74%, var(--surface) 100%); }
.ga-sky__glow { position: absolute; inset: 0; opacity: var(--ga-glow-opacity); background: radial-gradient(55% 45% at var(--ga-glow-x) var(--ga-glow-y), var(--horizon-glow), transparent 72%); }
.ga-stars { position: absolute; left: 0; right: 0; top: 0; height: 72%; }
.ga-stars > * { position: absolute; inset: 0; width: 100%; height: 100%; will-change: opacity; animation: ga-twinkle 4.6s ease-in-out infinite alternate; }
.ga-stars svg circle { fill: var(--star); }
.ga-star { position: absolute; border-radius: 50%; background: var(--star); }
.ga-stars > :nth-child(2) { animation-duration: 6.2s; animation-delay: -2.1s; }
.ga-stars > :nth-child(3) { animation-duration: 3.4s; animation-delay: -1.3s; }
.ga-stars > :nth-child(4) { animation-duration: 8.4s; animation-delay: -4.6s; }
.ga-moon { position: absolute; z-index: 2; top: var(--ga-moon-top); right: var(--ga-moon-right); width: var(--ga-moon-size); aspect-ratio: 1; will-change: transform; }
.ga-moon__disc { position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(ellipse 22% 18% at 36% 42%, #0000000f, transparent), radial-gradient(ellipse 14% 12% at 60% 30%, #0000000b, transparent), radial-gradient(ellipse 26% 20% at 62% 63%, #0000000d, transparent), radial-gradient(ellipse 12% 10% at 38% 72%, #00000009, transparent), var(--moon); box-shadow: var(--shadow-moon), inset -22px -18px 56px #00000024; }
.ga-moon__engr { position: absolute; inset: 0; width: 100%; height: 100%; display: none; overflow: visible; }
.ga-moon__engr .ga-moon__ring { fill: none; stroke: var(--moon); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ga-moon__engr .ga-moon__orbit { fill: none; stroke: var(--ridge-line); stroke-width: 1; stroke-dasharray: 2 7; vector-effect: non-scaling-stroke; transform-origin: 100px 100px; animation: ga-spin 120s linear infinite; }
.ga-moon__engr .ga-moon__hatch line, .ga-moon__engr pattern line { stroke: var(--moon); stroke-width: .6; opacity: .55; }
.ga-moon__engr .ga-moon__hatchgroup { transform-origin: 100px 100px; animation: ga-spin 240s linear infinite; }
.ga-moon__clouds { position: absolute; inset: 0; }
.ga-moon__clouds .ga-cloud { animation: ga-sway 22s ease-in-out infinite alternate; }
.ga-moon__clouds .ga-cloud:nth-child(2) { animation-duration: 30s; animation-delay: -9s; }
.ga-clouds { position: absolute; left: 0; width: 100%; will-change: transform; }
.ga-clouds__track { position: absolute; inset: 0; width: 200%; display: flex; animation: ga-drift var(--ga-drift, 120s) linear infinite; will-change: transform; }
.ga-clouds__tile { position: relative; flex: 0 0 50%; height: 100%; }
.ga-clouds--far { top: 16%; height: 16%; z-index: 1; opacity: .38; --ga-drift: 190s; }
.ga-clouds--mid { top: 50%; height: 14%; z-index: 4; opacity: .6; --ga-drift: 120s; }
.ga-clouds--near { top: 66%; height: 12%; z-index: 5; opacity: .45; --ga-drift: 75s; }
.ga-cloud { position: absolute; filter: blur(3px); }
.ga-moon__clouds .ga-cloud { filter: blur(2px); opacity: .9; }
.ga-puff { position: absolute; border-radius: 50%; background: radial-gradient(closest-side, var(--cloud) 68%, transparent); }
.ga-clouds.is-lit .ga-puff, .ga-moon__clouds .ga-puff { background: var(--cloud); box-shadow: inset 0 var(--ga-rim-y) 6px -2px var(--cloud-rim); }
.ga-cloudlines { display: none; position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.ga-cloudlines line { stroke: var(--cloud); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ga-ridge { position: absolute; left: -3%; width: 106%; bottom: 0; will-change: transform; }
.ga-ridge svg { display: block; width: 100%; height: 100%; overflow: visible; }
.ga-ridge path { stroke: var(--ridge-line); stroke-width: 1.25; vector-effect: non-scaling-stroke; }
.ga-ridge--far { height: var(--ga-ridge-far-h); z-index: 3; }
.ga-ridge--far path { fill: var(--ridge-far); }
.ga-ridge--mid { height: var(--ga-ridge-mid-h); z-index: 4; }
.ga-ridge--mid path { fill: var(--ridge-mid); }
.ga-ridge--near { height: var(--ga-ridge-near-h); z-index: 5; }
.ga-ridge--near path { fill: var(--ridge-near); }
.ga-fog { position: absolute; left: 0; right: 0; height: 22%; pointer-events: none; background: linear-gradient(to top, transparent 0%, var(--fog) 50%, transparent 100%); opacity: .3; animation: ga-mist 14s ease-in-out infinite alternate; will-change: opacity; }
.ga-fog--1 { bottom: 26%; z-index: 3; }
.ga-fog--2 { bottom: 9%; z-index: 4; animation-duration: 19s; animation-delay: -6s; }
.ga-sky__fade { position: absolute; left: 0; right: 0; bottom: 0; height: 18%; z-index: 6; background: linear-gradient(to bottom, transparent, var(--surface)); }
.ga-section { position: relative; padding-block: clamp(96px, 11vw, 160px); }
.ga-section + .ga-section { border-top: 1px solid var(--line); }
.ga-hero + main > .ga-section:first-child, .ga-hero + .ga-section { padding-top: clamp(40px, 4vw, 64px); }
.ga-section__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: end; margin-bottom: clamp(48px, 5vw, 80px); }
.ga-section__head > :first-child { grid-column: 1 / span 7; }
.ga-section__head > :nth-child(2) { grid-column: 8 / span 5; }
.ga-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(24px, 3vw, 48px); }
.ga-step { padding-top: 28px; border-top: 1px solid var(--line-strong); }
.ga-step__num { display: block; margin-bottom: 40px; font-family: var(--ga-display); font-weight: var(--ga-display-weight); font-size: clamp(44px, 4.4vw, 64px); line-height: 1; letter-spacing: -0.04em; color: var(--ink-muted); font-variant-numeric: tabular-nums; }
.ga-step .ga-h3 { margin-bottom: 12px; }
.ga-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.ga-item { padding: clamp(28px, 3vw, 44px) clamp(24px, 3vw, 48px) clamp(28px, 3vw, 44px) 0; border-bottom: 1px solid var(--line); }
.ga-item:nth-child(even) { padding-left: clamp(24px, 3vw, 48px); padding-right: 0; border-left: 1px solid var(--line); }
.ga-item .ga-h3 { margin-bottom: 12px; }
.ga-fineprint { max-width: 760px; margin-top: 32px; }
.ga-offer { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: start; }
.ga-offer__figure { grid-column: 1 / span 5; }
.ga-offer__copy { grid-column: 7 / span 6; }
.ga-figure { display: block; font-family: var(--ga-display); font-weight: var(--ga-figure-weight); font-size: clamp(150px, 19vw, 280px); line-height: .8; letter-spacing: -0.06em; color: var(--ga-figure-color); font-variant-numeric: tabular-nums; }
.ga-figure__label { display: block; margin-top: 24px; max-width: 280px; font-size: 18px; line-height: 1.4; color: var(--ink-muted); }
.ga-offer__copy .ga-h2 { margin-bottom: 24px; }
.ga-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--line); }
.ga-points .ga-h3 { font-size: 19px; margin-bottom: 8px; }
.ga-points .ga-small { font-size: 15px; }
.ga-formsec { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: start; }
.ga-formsec__intro { grid-column: 1 / span 5; position: sticky; top: 120px; }
.ga-formsec__intro .ga-body { margin-top: 20px; max-width: 420px; }
.ga-formsec__form { grid-column: 7 / span 6; }
.ga-form { position: relative; background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--ga-panel-radius); padding: clamp(24px, 3.4vw, 48px); }
.ga-form__pane { display: flex; flex-direction: column; gap: 28px; animation: ga-pane-in .45s cubic-bezier(.2,.8,.2,1) both; }
.ga-form__title { margin: 0; font-family: var(--ga-display); font-weight: var(--ga-h2-weight); font-size: 28px; line-height: 1.15; letter-spacing: var(--ga-h2-track); }
.ga-field { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; border: 0; min-width: 0; }
fieldset.ga-field > legend { margin-bottom: 10px; }
.ga-field__label { display: block; padding: 0; font-size: 15px; font-weight: 500; line-height: 1.4; color: var(--ink); }
.ga-field__opt { color: var(--ink-muted); font-weight: 400; }
.ga-input { display: block; width: 100%; height: 56px; padding: 0 16px; margin: 0; background: var(--surface); color: var(--ink); border: 1px solid var(--line-strong); border-radius: var(--ga-ctl-radius); font-family: var(--ga-text); font-size: 16px; line-height: 1.4; transition: border-color .2s ease, outline-color .2s ease; }
.ga-input::placeholder { color: var(--ink-muted); opacity: 1; }
.ga-input:hover, .ga-input.is-hover { border-color: var(--ink-muted); }
.ga-input:focus, .ga-input.is-focus { outline: 2px solid var(--focus); outline-offset: 2px; border-color: var(--focus); }
.ga-input[aria-invalid="true"], .ga-input.is-error { border-color: var(--danger); }
.ga-input[aria-invalid="true"]:focus { outline-color: var(--danger); }
textarea.ga-input { height: auto; min-height: 112px; padding: 14px 16px; resize: vertical; }
.ga-field__msg { display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 1.4; color: var(--danger); animation: ga-pane-in .3s ease both; }
.ga-field__msg svg { flex: none; }
.ga-field__hint { display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 1.4; color: var(--accent-text); animation: ga-pane-in .3s ease both; }
.ga-field__hint::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.ga-seg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ga-form { container-type: inline-size; }
@container (max-width: 440px) {
  .ga-seg { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ga-seg__btn { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 8px 10px; margin: 0; background: transparent; color: var(--ink); border: 1px solid var(--line-strong); border-radius: var(--ga-ctl-radius); font-family: var(--ga-text); font-size: 15px; font-weight: 500; line-height: 1.2; text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; cursor: pointer; transition: background-color .25s ease, border-color .25s ease, color .25s ease; }
.ga-seg__btn:hover, .ga-seg__btn.is-hover { border-color: var(--ink-muted); background: var(--surface); }
.ga-seg__btn:focus-visible, .ga-seg__btn.is-focus { outline: 2px solid var(--focus); outline-offset: 2px; }
.ga-seg__btn[aria-pressed="true"], .ga-seg__btn.is-selected { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.ga-seg.is-error .ga-seg__btn { border-color: var(--danger); }
.ga-check { position: relative; display: flex; align-items: flex-start; gap: 14px; min-height: 44px; padding: 10px 0; cursor: pointer; font-size: 15px; line-height: 1.5; color: var(--ink); }
.ga-check input { position: absolute; opacity: 0; width: 22px; height: 22px; margin: 11px 0 0; cursor: pointer; }
.ga-check__box { flex: none; display: grid; place-items: center; width: 22px; height: 22px; margin-top: 1px; border: 1.5px solid var(--line-strong); border-radius: 5px; background: var(--surface); color: var(--on-accent); transition: background-color .2s ease, border-color .2s ease; }
.ga-check__box svg { opacity: 0; transform: scale(.6); transition: opacity .2s ease, transform .25s cubic-bezier(.2,.8,.2,1); }
.ga-check:hover .ga-check__box, .ga-check__box.is-hover { border-color: var(--ink-muted); }
.ga-check input:focus-visible + .ga-check__box, .ga-check__box.is-focus { outline: 2px solid var(--focus); outline-offset: 2px; }
.ga-check input:checked + .ga-check__box, .ga-check__box.is-checked { background: var(--accent); border-color: var(--accent); }
.ga-check input:checked + .ga-check__box svg, .ga-check__box.is-checked svg { opacity: 1; transform: none; }
.ga-check.is-error .ga-check__box { border-color: var(--danger); }
.ga-turnstile { display: flex; align-items: center; gap: 12px; width: 300px; max-width: 100%; height: 65px; padding: 0 16px; border: 1px dashed var(--line-strong); border-radius: 4px; font-size: 13px; color: var(--ink-muted); }
.ga-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding-bottom: 20px; border-bottom: 1px solid var(--line); font-size: 14px; color: var(--ink-muted); }
.ga-summary strong { color: var(--ink); font-weight: 500; }
.ga-summary .ga-textlink { min-height: 32px; font-size: 14px; margin-left: auto; text-underline-offset: 4px; }
.ga-success { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; padding-block: 12px; }
.ga-success__icon circle, .ga-success__icon path { fill: none; stroke: var(--accent-text); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.ga-success__icon circle { stroke-dasharray: 152; animation: ga-draw .7s cubic-bezier(.65,0,.35,1) both; }
.ga-success__icon path { stroke-dasharray: 30; animation: ga-draw .45s .55s cubic-bezier(.65,0,.35,1) both; }
.ga-faq { border-top: 1px solid var(--line); }
.ga-faq__item { border-bottom: 1px solid var(--line); }
.ga-faq__q { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; min-height: 80px; padding: 22px 0; margin: 0; background: none; border: 0; text-align: left; cursor: pointer; color: var(--ink); font-family: var(--ga-h3-font); font-weight: var(--ga-h3-weight); font-size: clamp(19px, 1.6vw, 23px); line-height: 1.3; letter-spacing: -0.01em; transition: color .25s ease, padding-left .35s cubic-bezier(.2,.8,.2,1); }
.ga-faq__q:hover, .ga-faq__q.is-hover { padding-left: 8px; }
.ga-faq__q:focus-visible, .ga-faq__q.is-focus { outline: 2px solid var(--focus); outline-offset: 2px; }
.ga-faq__icon { position: relative; flex: none; width: 36px; height: 36px; border: 1px solid var(--line-strong); border-radius: 50%; transition: border-color .25s ease, transform .45s cubic-bezier(.2,.8,.2,1); }
.ga-faq__icon::before, .ga-faq__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.5px; margin: -0.75px 0 0 -6px; background: var(--ink); transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.ga-faq__icon::after { transform: rotate(90deg); }
.ga-faq__q:hover .ga-faq__icon, .ga-faq__q.is-hover .ga-faq__icon { border-color: var(--ink); }
.ga-faq__item.is-open .ga-faq__icon { transform: rotate(180deg); }
.ga-faq__item.is-open .ga-faq__icon::after { transform: rotate(0deg); }
.ga-faq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s cubic-bezier(.2,.8,.2,1); }
.ga-faq__item.is-open .ga-faq__a { grid-template-rows: 1fr; }
.ga-faq__a > div { overflow: hidden; }
.ga-faq__a p { max-width: 760px; padding: 0 60px 30px 0; color: var(--ink-muted); opacity: 0; transform: translateY(-6px); transition: opacity .35s ease, transform .45s cubic-bezier(.2,.8,.2,1); }
.ga-faq__item.is-open .ga-faq__a p { opacity: 1; transform: none; transition-delay: .08s; }
.ga-cta { position: relative; overflow: hidden; }
.ga-cta__title { margin: 0; max-width: 980px; font-family: var(--ga-display); font-weight: var(--ga-h2-weight); font-size: clamp(40px, 6vw, 92px); line-height: 1; letter-spacing: var(--ga-display-track); text-wrap: balance; }
.ga-cta .ga-body { margin-top: 28px; max-width: 560px; font-size: 19px; }
.ga-cta .ga-btn { margin-top: 40px; }
.ga-cta__arc { position: absolute; right: -12%; top: -30%; width: 58%; aspect-ratio: 1; border: 1px solid var(--line); border-radius: 50%; pointer-events: none; }
.ga-cta__arc::after { content: ""; position: absolute; inset: 12%; border: 1px solid var(--line); border-radius: 50%; }
.ga-footer { padding-block: 72px 40px; border-top: 1px solid var(--line); font-size: 14px; color: var(--ink-muted); }
.ga-footer__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 32px 24px; }
.ga-footer__brand { grid-column: 1 / span 5; display: flex; flex-direction: column; gap: 20px; }
.ga-footer__brand p { font-size: 17px; color: var(--ink); }
.ga-footer__col { grid-column: span 3; display: flex; flex-direction: column; gap: 6px; }
.ga-footer__col:last-child { grid-column: 10 / span 3; }
.ga-footer__title { margin-bottom: 8px; font-family: var(--ga-label-font); font-size: 12px; letter-spacing: var(--ga-label-track); text-transform: uppercase; color: var(--ink-muted); }
.ga-footer a { color: var(--ink); text-decoration: none; }
.ga-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ga-footer a:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.ga-footer__legal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 28px; margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--line); }
.ga-footer__legal a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink-muted); }
.ga-footer__legal span:last-child { margin-left: auto; }
.ga-overlay { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 24px; background: var(--scrim); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); animation: ga-fade .35s ease both; }
.ga-overlay--panel { justify-content: flex-end; align-items: stretch; padding: 0; }
.ga-modal { position: relative; width: min(580px, 100%); max-height: calc(100% - 16px); overflow: auto; padding: clamp(24px, 3vw, 40px); background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--ga-panel-radius); box-shadow: var(--shadow-panel); animation: ga-modal-in .5s cubic-bezier(.2,.8,.2,1) both; }
.ga-panel { position: relative; width: min(540px, 100%); height: 100%; overflow: auto; padding: 32px clamp(24px, 3vw, 44px) 40px; background: var(--surface-raised); border-left: 1px solid var(--line); box-shadow: var(--shadow-panel); animation: ga-panel-in .55s cubic-bezier(.2,.8,.2,1) both; }
.ga-modal .ga-form, .ga-panel .ga-form { padding: 0; border: 0; background: none; }
.ga-overlay__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 28px; }
.ga-overlay__head .ga-body { margin-top: 8px; font-size: 16px; }
.ga-close { flex: none; display: grid; place-items: center; width: 44px; height: 44px; margin: -6px -6px 0 0; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); cursor: pointer; transition: border-color .25s ease, transform .35s cubic-bezier(.2,.8,.2,1); }
.ga-close:hover { border-color: var(--line-strong); transform: rotate(90deg); }
.ga-close:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.ga-reveal { transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); transition-delay: calc(var(--i, 0) * 90ms); }
.ga-reveal.is-pending { opacity: 0; transform: translate3d(0, 24px, 0); }
.ga-hero__content > * { animation: ga-rise 1s cubic-bezier(.2,.7,.2,1) both; animation-delay: calc(var(--i, 0) * 120ms + 150ms); }
@property --sky-top { syntax: "<color>"; inherits: true; initial-value: #0b121c; }
@property --sky-mid { syntax: "<color>"; inherits: true; initial-value: #0f1a2b; }
@property --sky-horizon { syntax: "<color>"; inherits: true; initial-value: #1b2a40; }
@property --horizon-glow { syntax: "<color>"; inherits: true; initial-value: #2a3e5c; }
@property --ridge-far { syntax: "<color>"; inherits: true; initial-value: #1a2638; }
@property --ridge-mid { syntax: "<color>"; inherits: true; initial-value: #111b2a; }
@property --ridge-near { syntax: "<color>"; inherits: true; initial-value: #0c131f; }
@property --ridge-line { syntax: "<color>"; inherits: true; initial-value: #9fb7d62e; }
@property --fog { syntax: "<color>"; inherits: true; initial-value: #3a4f6e; }
@property --cloud { syntax: "<color>"; inherits: true; initial-value: #24324a; }
@property --cloud-rim { syntax: "<color>"; inherits: true; initial-value: #c9d8ee; }
@property --moon { syntax: "<color>"; inherits: true; initial-value: #eef3fa; }
@property --moon-glow { syntax: "<color>"; inherits: true; initial-value: #9fc4ff; }
@property --star { syntax: "<color>"; inherits: true; initial-value: #ffffff; }
@property --gc-figure { syntax: "<color>"; inherits: true; initial-value: #6cb2ff; }
@property --gc-dune { syntax: "<color>"; inherits: true; initial-value: #101a29; }
@property --surface { syntax: "<color>"; inherits: true; initial-value: #080d15; }
@property --surface-raised { syntax: "<color>"; inherits: true; initial-value: #0f1622; }
@property --header-solid { syntax: "<color>"; inherits: true; initial-value: #080d15e6; }
@property --scrim { syntax: "<color>"; inherits: true; initial-value: #03060bb3; }
@property --line { syntax: "<color>"; inherits: true; initial-value: #1c2533; }
@property --line-strong { syntax: "<color>"; inherits: true; initial-value: #5b6a80; }
@property --ink { syntax: "<color>"; inherits: true; initial-value: #eaf0f7; }
@property --ink-muted { syntax: "<color>"; inherits: true; initial-value: #a1adbd; }
@property --accent { syntax: "<color>"; inherits: true; initial-value: #0a66ff; }
@property --accent-hover { syntax: "<color>"; inherits: true; initial-value: #0057e0; }
@property --accent-text { syntax: "<color>"; inherits: true; initial-value: #6cb2ff; }
@property --focus { syntax: "<color>"; inherits: true; initial-value: #8cc8ff; }
@property --danger { syntax: "<color>"; inherits: true; initial-value: #ff8a7a; }
@property --band { syntax: "<color>"; inherits: true; initial-value: #0f1622; }
@property --on-band { syntax: "<color>"; inherits: true; initial-value: #eaf0f7; }
@property --on-band-muted { syntax: "<color>"; inherits: true; initial-value: #a1adbd; }
@property --ga-glow-opacity { syntax: "<number>"; inherits: true; initial-value: .35; }
@property --ga-glow-x { syntax: "<percentage>"; inherits: true; initial-value: 80%; }
@property --ga-glow-y { syntax: "<percentage>"; inherits: true; initial-value: 30%; }
@property --ga-rim-y { syntax: "<length>"; inherits: true; initial-value: 3px; }
.ga.ga-cycle { animation: ga-day var(--gc-dur, 20s) cubic-bezier(.45,0,.55,1) infinite; }
@keyframes ga-day {
  0%, 15%, 100% { --sky-top: #0b121c; --sky-mid: #0f1a2b; --sky-horizon: #1b2a40; --horizon-glow: #2a3e5c; --ridge-far: #1a2638; --ridge-mid: #111b2a; --ridge-near: #0c131f; --ridge-line: #9fb7d62e; --fog: #3a4f6e; --cloud: #24324a; --cloud-rim: #c9d8ee; --moon: #eef3fa; --moon-glow: #9fc4ff; --star: #ffffff; --gc-figure: #6cb2ff; --gc-dune: #101a29; --surface: #080d15; --surface-raised: #0f1622; --header-solid: #080d15e6; --scrim: #03060bb3; --line: #1c2533; --line-strong: #5b6a80; --ink: #eaf0f7; --ink-muted: #a1adbd; --accent: #0a66ff; --accent-hover: #0057e0; --accent-text: #6cb2ff; --focus: #8cc8ff; --danger: #ff8a7a; --band: #0f1622; --on-band: #eaf0f7; --on-band-muted: #a1adbd; --ga-glow-opacity: .35; --ga-glow-x: 80%; --ga-glow-y: 30%; --ga-rim-y: 3px; }
  25%, 40% { --sky-top: #0e1533; --sky-mid: #262a5c; --sky-horizon: #6b4a86; --horizon-glow: #c9849a; --ridge-far: #3a3466; --ridge-mid: #262650; --ridge-near: #171a3a; --ridge-line: #f0a98f2e; --fog: #8a6fa8; --cloud: #3d3870; --cloud-rim: #f0a98f; --moon: #f8ecd8; --moon-glow: #ffd9a8; --star: #fff6e8; --gc-figure: #f8ecd8; --gc-dune: #2c2856; --surface: #0c1024; --surface-raised: #141a36; --header-solid: #0c1024e6; --scrim: #060818b3; --line: #252c4d; --line-strong: #6a73a0; --ink: #f3eefa; --ink-muted: #b3adc9; --accent: #1f5fe6; --accent-hover: #1850c8; --accent-text: #8ab8ff; --focus: #a9c8ff; --danger: #ff9a85; --band: #141a36; --on-band: #f3eefa; --on-band-muted: #b3adc9; --ga-glow-opacity: .75; --ga-glow-x: 76%; --ga-glow-y: 66%; --ga-rim-y: -4px; }
  50%, 65% { --sky-top: #22170e; --sky-mid: #5c3f26; --sky-horizon: #b48450; --horizon-glow: #ffd79a; --ridge-far: #d2a56e; --ridge-mid: #b2814f; --ridge-near: #6e4a2c; --ridge-line: #fff0cc59; --fog: #f2d3a0; --cloud: #8a6440; --cloud-rim: #f2cf96; --moon: #fff6e2; --moon-glow: #ffd27a; --star: #fff6e8; --gc-figure: #e8b06a; --gc-dune: #9a6c40; --surface: #1a130c; --surface-raised: #241a11; --header-solid: #1a130ce6; --scrim: #0d0905b3; --line: #3a2c1e; --line-strong: #8a7458; --ink: #f8f0e3; --ink-muted: #cdbca3; --accent: #2563e0; --accent-hover: #1b50c0; --accent-text: #93bcff; --focus: #a9c8ff; --danger: #ff9a7a; --band: #241a11; --on-band: #f8f0e3; --on-band-muted: #cdbca3; --ga-glow-opacity: .8; --ga-glow-x: 86%; --ga-glow-y: 36%; --ga-rim-y: 3px; }
  75%, 90% { --sky-top: #1a1029; --sky-mid: #4e2434; --sky-horizon: #c85a2a; --horizon-glow: #ffad5c; --ridge-far: #8a3f3a; --ridge-mid: #5a2633; --ridge-near: #2e1622; --ridge-line: #ffb2704d; --fog: #e07a4a; --cloud: #6a2c3c; --cloud-rim: #ffb069; --moon: #ffc27a; --moon-glow: #ff8a3d; --star: #fff6e8; --gc-figure: #ff9a4d; --gc-dune: #8a4634; --surface: #1a0e10; --surface-raised: #261418; --header-solid: #1a0e10e6; --scrim: #0d0608b3; --line: #3d2228; --line-strong: #8f6a74; --ink: #fbeee6; --ink-muted: #d6b9ad; --accent: #2563e0; --accent-hover: #1b50c0; --accent-text: #9cc0ff; --focus: #a9c8ff; --danger: #ffa08a; --band: #261418; --on-band: #fbeee6; --on-band-muted: #d6b9ad; --ga-glow-opacity: .9; --ga-glow-x: 78%; --ga-glow-y: 70%; --ga-rim-y: -5px; }
}
@keyframes ga-cyc-stars {
  0%, 15%, 100% { opacity: 1; }
  25%, 40% { opacity: .55; }
  50%, 65% { opacity: 0; }
  75%, 90% { opacity: .35; }
}
@keyframes ga-cyc-sun {
  0%, 15%, 100% { opacity: 0; }
  25%, 40% { opacity: .5; }
  50%, 65% { opacity: 1; }
  75%, 90% { opacity: 1; }
}
@keyframes ga-cyc-scrim {
  0%, 15%, 100% { opacity: 0; }
  25%, 40% { opacity: .75; }
  50%, 65% { opacity: .95; }
  75%, 90% { opacity: .9; }
}
@keyframes ga-cyc-moon {
  0%, 15%, 100% { translate: 0 0%; scale: 1; }
  25%, 40% { translate: 0 86%; scale: 1.14; }
  50%, 65% { translate: 0 16%; scale: 1.06; }
  75%, 90% { translate: 0 88%; scale: 1.24; }
}
@keyframes ga-cyc-moon-m {
  0%, 15%, 100% { translate: 0 0%; scale: 1; }
  25%, 40% { translate: 0 6.02%; scale: 1; }
  50%, 65% { translate: 0 1.12%; scale: 1; }
  75%, 90% { translate: 0 6.16%; scale: 1; }
}
@keyframes ga-cyc-sh-short {
  0%, 15%, 100% { opacity: .2; }
  25%, 40% { opacity: 0; }
  50%, 65% { opacity: .42; }
  75%, 90% { opacity: 0; }
}
@keyframes ga-cyc-sh-long {
  0%, 15%, 100% { opacity: 0; }
  25%, 40% { opacity: .3; }
  50%, 65% { opacity: 0; }
  75%, 90% { opacity: .5; }
}
.ga.ga-cycle { --ga-figure-color: var(--gc-figure); }
.ga-cycle .ga-stars { animation: ga-cyc-stars var(--gc-dur, 20s) cubic-bezier(.45,0,.55,1) infinite; }
.ga-cycle .ga-header:not(.is-solid) .ga-nav a, .ga-cycle .ga-header:not(.is-solid) .ga-lang { color: var(--ink); }
.ga-cycle .ga-sky__glow { -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 22%); mask-image: linear-gradient(to bottom, transparent 0, #000 22%); }
.ga-cycle .ga-hero__sub, .ga-cycle .ga-hero__actions .ga-textlink { text-shadow: 0 0 16px color-mix(in oklab, var(--surface) 80%, transparent), 0 1px 2px color-mix(in oklab, var(--surface) 60%, transparent); }
.ga-cycle .ga-moon { will-change: transform, translate, scale; animation: ga-cyc-moon var(--gc-dur, 20s) cubic-bezier(.45,0,.55,1) infinite; }
.ga-cycle .ga-moon__disc { box-shadow: 0 0 64px 12px color-mix(in oklab, var(--moon-glow) 30%, transparent), 0 0 180px 40px color-mix(in oklab, var(--moon-glow) 16%, transparent), inset -22px -18px 56px #00000024; }
.ga-cycle .ga-moon__disc::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle at 42% 40%, color-mix(in oklab, var(--moon), #ffffff 35%), var(--moon) 72%); opacity: 0; will-change: opacity; animation: ga-cyc-sun var(--gc-dur, 20s) cubic-bezier(.45,0,.55,1) infinite; }
.ga-cycle .ga-hero__content::before { content: ""; position: absolute; z-index: -1; left: -14%; top: 4%; width: 96%; height: 92%; pointer-events: none; background: radial-gradient(closest-side, color-mix(in oklab, var(--surface) 80%, transparent) 0%, color-mix(in oklab, var(--surface) 62%, transparent) 55%, transparent 100%); opacity: 0; will-change: opacity; animation: ga-cyc-scrim var(--gc-dur, 20s) cubic-bezier(.45,0,.55,1) infinite; }
.ga-dunes { display: none; position: absolute; left: -3%; width: 106%; bottom: 0; height: 26%; z-index: 5; will-change: transform; pointer-events: none; }
.ga-cycle .ga-dunes { display: block; }
.ga-dunes svg { display: block; width: 100%; height: 100%; overflow: visible; }
.ga-dune-fill { fill: var(--gc-dune); }
.ga-dune-crest { fill: none; stroke: var(--ridge-line); stroke-width: 1.25; vector-effect: non-scaling-stroke; }
.ga-cv-fig { fill: color-mix(in oklab, var(--ridge-near) 40%, #05060a); color: color-mix(in oklab, var(--ridge-near) 40%, #05060a); }
.ga-cv-line { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.ga-cv-sh { fill: #000000; color: #000000; }
.ga-cv-sh--short { opacity: .2; }
.ga-cv-sh--long { opacity: 0; }
.ga-cycle .ga-cv-sh--short { animation: ga-cyc-sh-short var(--gc-dur, 20s) cubic-bezier(.45,0,.55,1) infinite; }
.ga-cycle .ga-cv-sh--long { animation: ga-cyc-sh-long var(--gc-dur, 20s) cubic-bezier(.45,0,.55,1) infinite; }
.ga-cv-leg { transform-box: fill-box; transform-origin: 50% 0; animation: ga-step 1.1s ease-in-out infinite alternate; }
.ga-cv-leg--b { animation-delay: -1.1s; }
.ga-cv-camel { animation: ga-bob 1.1s ease-in-out infinite alternate; }
.ga-cv-camel--2, .ga-cv-camel--2 .ga-cv-leg { animation-delay: -.4s; }
.ga-cv-camel--2 .ga-cv-leg--b { animation-delay: -1.5s; }
.ga-cv-camel--3, .ga-cv-camel--3 .ga-cv-leg { animation-delay: -.8s; }
.ga-cv-camel--3 .ga-cv-leg--b { animation-delay: -1.9s; }
.ga-cv-camel--4, .ga-cv-camel--4 .ga-cv-leg { animation-delay: -.2s; }
.ga-cv-camel--4 .ga-cv-leg--b { animation-delay: -1.3s; }
.ga-cv-camel--5, .ga-cv-camel--5 .ga-cv-leg { animation-duration: .8s; animation-delay: -.6s; }
.ga-cv-camel--5 .ga-cv-leg--b { animation-delay: -1.4s; }
.ga-cv-walk .ga-cv-leg { animation-duration: .7s; }
.ga-cv-walk .ga-cv-leg--b { animation-delay: -.7s; }
.ga-cv-walk--2 .ga-cv-leg { animation-delay: -.3s; }
.ga-cv-walk--2 .ga-cv-leg--b { animation-delay: -1s; }
.ga-cv-scarf { stroke-width: 1.2; transform-box: fill-box; transform-origin: 100% 50%; animation: ga-scarf 1.6s ease-in-out infinite alternate; }
.ga-cv-neck { animation: ga-nod 1.1s ease-in-out infinite alternate; }
.ga-cv-camel--2 .ga-cv-neck { animation-delay: -.4s; }
.ga-cv-camel--3 .ga-cv-neck { animation-delay: -.8s; }
.ga-cv-camel--4 .ga-cv-neck { animation-delay: -.2s; }
.ga-cv-camel--5 .ga-cv-neck { animation-duration: .8s; animation-delay: -.6s; }
.ga-cv-arm { animation: ga-swing .7s ease-in-out infinite alternate; }
.ga-cv-walk--2 .ga-cv-arm { animation-delay: -.3s; }
.ga-cv-staff { stroke-width: 1.4; }
.ga-cv-armline { stroke-width: 1.8; }
@keyframes ga-nod { from { transform: rotate(-6deg); } to { transform: rotate(5deg); } }
@keyframes ga-swing { from { transform: rotate(-10deg); } to { transform: rotate(9deg); } }
@keyframes ga-step { from { transform: skewX(-12deg); } to { transform: skewX(12deg); } }
@keyframes ga-bob { from { transform: translateY(0); } to { transform: translateY(-0.8px); } }
@keyframes ga-scarf { to { transform: rotate(-10deg); } }
@media (max-width: 640px) {
  .ga-cycle .ga-moon { animation-name: ga-cyc-moon-m; }
  .ga-cycle .ga-hero__content::before { left: -40%; top: 20%; width: 180%; height: 82%; }
}
@media (prefers-reduced-motion: reduce) {
  .ga.ga-cycle, .ga-cycle .ga-stars, .ga-cycle .ga-moon, .ga-cycle .ga-moon__disc::after, .ga-cycle .ga-hero__content::before, .ga-cycle .ga-cv-sh { animation: none; }
}
.ga.ga-cycle[data-motion="off"], .ga-cycle[data-motion="off"] .ga-stars, .ga-cycle[data-motion="off"] .ga-moon, .ga-cycle[data-motion="off"] .ga-moon__disc::after, .ga-cycle[data-motion="off"] .ga-hero__content::before, .ga-cycle[data-motion="off"] .ga-cv-sh { animation: none; }
@keyframes ga-twinkle { from { opacity: 1; } to { opacity: .42; } }
@keyframes ga-drift { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }
@keyframes ga-sway { from { transform: translate3d(-14px, 0, 0); } to { transform: translate3d(18px, 0, 0); } }
@keyframes ga-mist { from { opacity: .22; } to { opacity: .4; } }
@keyframes ga-spin { to { transform: rotate(360deg); } }
@keyframes ga-breathe { from { transform: scale(1); } to { transform: scale(1.025); } }
@keyframes ga-fade { from { opacity: 0; } }
@keyframes ga-rise { from { opacity: 0; transform: translate3d(0, 28px, 0); } }
@keyframes ga-pane-in { from { opacity: 0; transform: translate3d(0, 12px, 0); } }
@keyframes ga-modal-in { from { opacity: 0; transform: translate3d(0, 28px, 0) scale(.98); } }
@keyframes ga-panel-in { from { transform: translate3d(100%, 0, 0); } }
@keyframes ga-draw { from { stroke-dashoffset: 152; } to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .ga *, .ga *::before, .ga *::after { animation: none !important; transition: none !important; }
  .ga-reveal.is-pending { opacity: 1; transform: none; }
  .ga [data-depth] { transform: none !important; }
}
.ga[data-motion="off"] *, .ga[data-motion="off"] *::before, .ga[data-motion="off"] *::after { animation: none !important; transition: none !important; }
.ga[data-motion="off"] .ga-reveal.is-pending { opacity: 1; transform: none; }
.ga[data-motion="off"] [data-depth] { transform: none !important; }
@media (max-width: 1100px) {
  .ga-nav { display: none; }
  .ga-burger { display: inline-flex; }
  .ga-header__bar { gap: 12px; }
  .ga-lang { margin-left: auto; }
}
@media (max-width: 900px) {
  .ga-section__head > :first-child, .ga-section__head > :nth-child(2) { grid-column: 1 / -1; }
  .ga-steps { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .ga-step__num { margin-bottom: 20px; }
  .ga-items { grid-template-columns: minmax(0, 1fr); }
  .ga-item, .ga-item:nth-child(even) { padding-left: 0; padding-right: 0; border-left: 0; }
  .ga-offer__figure, .ga-offer__copy, .ga-formsec__intro, .ga-formsec__form { grid-column: 1 / -1; }
  .ga-formsec__intro { position: static; }
  .ga-offer__figure { margin-bottom: 40px; }
  .ga-points { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .ga-footer__brand, .ga-footer__col, .ga-footer__col:last-child { grid-column: 1 / -1; }
  .ga-footer__legal span:last-child { margin-left: 0; width: 100%; }
}
@media (max-width: 640px) {
  .ga-header { height: 64px; margin-bottom: -64px; }
  .ga-header .ga-btn { display: none; }
  .ga-logo { width: 150px; }
  .ga-hero { height: 740px; }
  .ga-hero__content { justify-content: flex-start; padding-top: 232px; padding-bottom: 0; }
  .ga-hero__title { font-size: 48px; line-height: .98; }
  .ga-hero__title:lang(ru), .ga-hero__title:lang(de) { font-size: 40px; }
  .ga-hero__sub { font-size: 18px; margin-top: 18px; }
  .ga-hero__actions { margin-top: 26px; gap: 4px 24px; }
  .ga-hero__note { margin-top: 12px; font-size: 13px; }
  .ga-moon { --ga-moon-size: 116px; top: 84px; right: auto; left: 20px; }
  .ga-sky { --ga-ridge-far-h: 26%; --ga-ridge-mid-h: 18%; --ga-ridge-near-h: 11%; }
  .ga-clouds--far { top: 8%; }
  .ga-clouds--mid { top: 70%; }
  .ga-clouds--near { top: 82%; }
  .ga-fog--1 { bottom: 14%; height: 14%; }
  .ga-fog--2 { bottom: 4%; height: 12%; }
  .ga-seg { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ga-figure { font-size: 168px; }
  .ga-faq__a p { padding-right: 0; }
  .ga-cta__arc { width: 120%; right: -60%; top: -10%; }
}
.ga:is(.ga-cycle, [data-theme="moonrise"]) main { position: relative; isolation: isolate; }
.ga:is(.ga-cycle, [data-theme="moonrise"]) main > .ga-range--fill, .ga:is(.ga-cycle, [data-theme="moonrise"]) main > .ga-range--line { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; -webkit-mask-repeat: repeat-y; mask-repeat: repeat-y; -webkit-mask-position: 50% 0, 50% 0; mask-position: 50% 0, 50% 0; -webkit-mask-size: 100% 1100px, 100% 1550px; mask-size: 100% 1100px, 100% 1550px; }
.ga:is(.ga-cycle, [data-theme="moonrise"]) main > .ga-range--fill { background: color-mix(in oklab, var(--ridge-far) var(--ga-range-mix, 22%), var(--surface)); -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 1100' preserveAspectRatio='none'><defs><linearGradient id='g' x1='0' y1='480' x2='0' y2='1100' gradientUnits='userSpaceOnUse'><stop offset='0' stop-color='%23000' stop-opacity='0.8'/><stop offset='1' stop-color='%23000' stop-opacity='0'/></linearGradient></defs><path d='M0 605.6 L63 573.0 L125 534.5 L188 488.4 L251 457.9 L309 501.7 L368 538.6 L426 571.3 L485 606.2 L549 590.1 L612 565.9 L676 546.2 L740 535.2 L801 551.3 L861 560.5 L922 578.0 L982 598.1 L1056 581.1 L1129 564.8 L1202 557.5 L1275 544.7 L1316 566.2 L1358 594.1 L1399 611.9 L1440 634.0 L1440 1100 L0 1100 Z' fill='url%28%23g%29'/></svg>"), url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 1550' preserveAspectRatio='none'><defs><linearGradient id='g' x1='0' y1='930' x2='0' y2='1550' gradientUnits='userSpaceOnUse'><stop offset='0' stop-color='%23000' stop-opacity='1'/><stop offset='1' stop-color='%23000' stop-opacity='0'/></linearGradient></defs><path d='M0 1067.4 L53 1024.5 L106 987.2 L159 941.5 L212 900.5 L263 940.0 L313 987.9 L364 1031.7 L414 1077.1 L467 1051.2 L520 1018.0 L573 982.9 L626 957.2 L707 998.1 L789 1031.4 L870 1072.9 L951 1111.3 L1009 1075.1 L1066 1045.6 L1124 1018.6 L1181 982.3 L1235 996.0 L1288 1012.7 L1341 1026.3 L1394 1036.1 L1406 1011.2 L1417 986.0 L1429 956.4 L1440 931.8 L1440 1550 L0 1550 Z' fill='url%28%23g%29'/></svg>"); mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 1100' preserveAspectRatio='none'><defs><linearGradient id='g' x1='0' y1='480' x2='0' y2='1100' gradientUnits='userSpaceOnUse'><stop offset='0' stop-color='%23000' stop-opacity='0.8'/><stop offset='1' stop-color='%23000' stop-opacity='0'/></linearGradient></defs><path d='M0 605.6 L63 573.0 L125 534.5 L188 488.4 L251 457.9 L309 501.7 L368 538.6 L426 571.3 L485 606.2 L549 590.1 L612 565.9 L676 546.2 L740 535.2 L801 551.3 L861 560.5 L922 578.0 L982 598.1 L1056 581.1 L1129 564.8 L1202 557.5 L1275 544.7 L1316 566.2 L1358 594.1 L1399 611.9 L1440 634.0 L1440 1100 L0 1100 Z' fill='url%28%23g%29'/></svg>"), url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 1550' preserveAspectRatio='none'><defs><linearGradient id='g' x1='0' y1='930' x2='0' y2='1550' gradientUnits='userSpaceOnUse'><stop offset='0' stop-color='%23000' stop-opacity='1'/><stop offset='1' stop-color='%23000' stop-opacity='0'/></linearGradient></defs><path d='M0 1067.4 L53 1024.5 L106 987.2 L159 941.5 L212 900.5 L263 940.0 L313 987.9 L364 1031.7 L414 1077.1 L467 1051.2 L520 1018.0 L573 982.9 L626 957.2 L707 998.1 L789 1031.4 L870 1072.9 L951 1111.3 L1009 1075.1 L1066 1045.6 L1124 1018.6 L1181 982.3 L1235 996.0 L1288 1012.7 L1341 1026.3 L1394 1036.1 L1406 1011.2 L1417 986.0 L1429 956.4 L1440 931.8 L1440 1550 L0 1550 Z' fill='url%28%23g%29'/></svg>"); }
.ga:is(.ga-cycle, [data-theme="moonrise"]) main > .ga-range--line { background: var(--ridge-line); opacity: var(--ga-range-line, .7); -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 1100' preserveAspectRatio='none'><defs></defs><path d='M0 605.6 L63 573.0 L125 534.5 L188 488.4 L251 457.9 L309 501.7 L368 538.6 L426 571.3 L485 606.2 L549 590.1 L612 565.9 L676 546.2 L740 535.2 L801 551.3 L861 560.5 L922 578.0 L982 598.1 L1056 581.1 L1129 564.8 L1202 557.5 L1275 544.7 L1316 566.2 L1358 594.1 L1399 611.9 L1440 634.0' fill='none' stroke='%23000' stroke-width='1.4' stroke-linejoin='round'/></svg>"), url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 1550' preserveAspectRatio='none'><defs></defs><path d='M0 1067.4 L53 1024.5 L106 987.2 L159 941.5 L212 900.5 L263 940.0 L313 987.9 L364 1031.7 L414 1077.1 L467 1051.2 L520 1018.0 L573 982.9 L626 957.2 L707 998.1 L789 1031.4 L870 1072.9 L951 1111.3 L1009 1075.1 L1066 1045.6 L1124 1018.6 L1181 982.3 L1235 996.0 L1288 1012.7 L1341 1026.3 L1394 1036.1 L1406 1011.2 L1417 986.0 L1429 956.4 L1440 931.8' fill='none' stroke='%23000' stroke-width='1.4' stroke-linejoin='round'/></svg>"); mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 1100' preserveAspectRatio='none'><defs></defs><path d='M0 605.6 L63 573.0 L125 534.5 L188 488.4 L251 457.9 L309 501.7 L368 538.6 L426 571.3 L485 606.2 L549 590.1 L612 565.9 L676 546.2 L740 535.2 L801 551.3 L861 560.5 L922 578.0 L982 598.1 L1056 581.1 L1129 564.8 L1202 557.5 L1275 544.7 L1316 566.2 L1358 594.1 L1399 611.9 L1440 634.0' fill='none' stroke='%23000' stroke-width='1.4' stroke-linejoin='round'/></svg>"), url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 1550' preserveAspectRatio='none'><defs></defs><path d='M0 1067.4 L53 1024.5 L106 987.2 L159 941.5 L212 900.5 L263 940.0 L313 987.9 L364 1031.7 L414 1077.1 L467 1051.2 L520 1018.0 L573 982.9 L626 957.2 L707 998.1 L789 1031.4 L870 1072.9 L951 1111.3 L1009 1075.1 L1066 1045.6 L1124 1018.6 L1181 982.3 L1235 996.0 L1288 1012.7 L1341 1026.3 L1394 1036.1 L1406 1011.2 L1417 986.0 L1429 956.4 L1440 931.8' fill='none' stroke='%23000' stroke-width='1.4' stroke-linejoin='round'/></svg>"); }
@media (max-width: 1280px) {
  .ga:is(.ga-cycle, [data-theme="moonrise"]) main > .ga-range--fill, .ga:is(.ga-cycle, [data-theme="moonrise"]) main > .ga-range--line { -webkit-mask-size: 1280px 1100px, 1280px 1550px; mask-size: 1280px 1100px, 1280px 1550px; }
}

/* Generated by scripts/build-phase-css.py from the ga-day / ga-cyc-* keyframes in ga.css. Do not edit by hand. */

.ga-ph--night { --sky-top: #0b121c; --sky-mid: #0f1a2b; --sky-horizon: #1b2a40; --horizon-glow: #2a3e5c; --ridge-far: #1a2638; --ridge-mid: #111b2a; --ridge-near: #0c131f; --ridge-line: #9fb7d62e; --fog: #3a4f6e; --cloud: #24324a; --cloud-rim: #c9d8ee; --moon: #eef3fa; --moon-glow: #9fc4ff; --star: #ffffff; --gc-figure: #6cb2ff; --gc-dune: #101a29; --surface: #080d15; --surface-raised: #0f1622; --header-solid: #080d15e6; --scrim: #03060bb3; --line: #1c2533; --line-strong: #5b6a80; --ink: #eaf0f7; --ink-muted: #a1adbd; --accent: #0a66ff; --accent-hover: #0057e0; --accent-text: #6cb2ff; --focus: #8cc8ff; --danger: #ff8a7a; --band: #0f1622; --on-band: #eaf0f7; --on-band-muted: #a1adbd; --ga-glow-opacity: .35; --ga-glow-x: 80%; --ga-glow-y: 30%; --ga-rim-y: 3px; }
.ga-ph--dawn { --sky-top: #0e1533; --sky-mid: #262a5c; --sky-horizon: #6b4a86; --horizon-glow: #c9849a; --ridge-far: #3a3466; --ridge-mid: #262650; --ridge-near: #171a3a; --ridge-line: #f0a98f2e; --fog: #8a6fa8; --cloud: #3d3870; --cloud-rim: #f0a98f; --moon: #f8ecd8; --moon-glow: #ffd9a8; --star: #fff6e8; --gc-figure: #f8ecd8; --gc-dune: #2c2856; --surface: #0c1024; --surface-raised: #141a36; --header-solid: #0c1024e6; --scrim: #060818b3; --line: #252c4d; --line-strong: #6a73a0; --ink: #f3eefa; --ink-muted: #b3adc9; --accent: #1f5fe6; --accent-hover: #1850c8; --accent-text: #8ab8ff; --focus: #a9c8ff; --danger: #ff9a85; --band: #141a36; --on-band: #f3eefa; --on-band-muted: #b3adc9; --ga-glow-opacity: .75; --ga-glow-x: 76%; --ga-glow-y: 66%; --ga-rim-y: -4px; }
.ga-ph--day { --sky-top: #22170e; --sky-mid: #5c3f26; --sky-horizon: #b48450; --horizon-glow: #ffd79a; --ridge-far: #d2a56e; --ridge-mid: #b2814f; --ridge-near: #6e4a2c; --ridge-line: #fff0cc59; --fog: #f2d3a0; --cloud: #8a6440; --cloud-rim: #f2cf96; --moon: #fff6e2; --moon-glow: #ffd27a; --star: #fff6e8; --gc-figure: #e8b06a; --gc-dune: #9a6c40; --surface: #1a130c; --surface-raised: #241a11; --header-solid: #1a130ce6; --scrim: #0d0905b3; --line: #3a2c1e; --line-strong: #8a7458; --ink: #f8f0e3; --ink-muted: #cdbca3; --accent: #2563e0; --accent-hover: #1b50c0; --accent-text: #93bcff; --focus: #a9c8ff; --danger: #ff9a7a; --band: #241a11; --on-band: #f8f0e3; --on-band-muted: #cdbca3; --ga-glow-opacity: .8; --ga-glow-x: 86%; --ga-glow-y: 36%; --ga-rim-y: 3px; }
.ga-ph--sunset { --sky-top: #1a1029; --sky-mid: #4e2434; --sky-horizon: #c85a2a; --horizon-glow: #ffad5c; --ridge-far: #8a3f3a; --ridge-mid: #5a2633; --ridge-near: #2e1622; --ridge-line: #ffb2704d; --fog: #e07a4a; --cloud: #6a2c3c; --cloud-rim: #ffb069; --moon: #ffc27a; --moon-glow: #ff8a3d; --star: #fff6e8; --gc-figure: #ff9a4d; --gc-dune: #8a4634; --surface: #1a0e10; --surface-raised: #261418; --header-solid: #1a0e10e6; --scrim: #0d0608b3; --line: #3d2228; --line-strong: #8f6a74; --ink: #fbeee6; --ink-muted: #d6b9ad; --accent: #2563e0; --accent-hover: #1b50c0; --accent-text: #9cc0ff; --focus: #a9c8ff; --danger: #ffa08a; --band: #261418; --on-band: #fbeee6; --on-band-muted: #d6b9ad; --ga-glow-opacity: .9; --ga-glow-x: 78%; --ga-glow-y: 70%; --ga-rim-y: -5px; }

.ga-cycle .ga-ph--night .ga-stars { animation: none; opacity: 1; }
.ga-cycle .ga-ph--dawn .ga-stars { animation: none; opacity: .55; }
.ga-cycle .ga-ph--day .ga-stars { animation: none; opacity: 0; }
.ga-cycle .ga-ph--sunset .ga-stars { animation: none; opacity: .35; }
.ga-cycle .ga-ph--night .ga-moon__disc::after { animation: none; opacity: 0; }
.ga-cycle .ga-ph--dawn .ga-moon__disc::after { animation: none; opacity: .5; }
.ga-cycle .ga-ph--day .ga-moon__disc::after { animation: none; opacity: 1; }
.ga-cycle .ga-ph--sunset .ga-moon__disc::after { animation: none; opacity: 1; }

@keyframes ga-ph-dawn { 0%, 15% { opacity: 0; } 25%, 50% { opacity: 1; } 50.2%, 100% { opacity: 0; } }
@keyframes ga-ph-day { 0%, 40% { opacity: 0; } 50%, 75% { opacity: 1; } 75.2%, 100% { opacity: 0; } }
@keyframes ga-ph-sunset { 0%, 65% { opacity: 0; } 75%, 90% { opacity: 1; } 100% { opacity: 0; } }

.ga-ph--dawn, .ga-ph--day, .ga-ph--sunset { opacity: 0; }
.ga-cycle .ga-ph--dawn { animation: ga-ph-dawn var(--gc-dur, 32s) cubic-bezier(.45,0,.55,1) var(--gc-delay, 0s) infinite; }
.ga-cycle .ga-ph--day { animation: ga-ph-day var(--gc-dur, 32s) cubic-bezier(.45,0,.55,1) var(--gc-delay, 0s) infinite; }
.ga-cycle .ga-ph--sunset { animation: ga-ph-sunset var(--gc-dur, 32s) cubic-bezier(.45,0,.55,1) var(--gc-delay, 0s) infinite; }
/* The page root no longer animates the palette; the moon keeps its own movement. */
.ga.ga-cycle { animation: none; }
.ga-cycle .ga-hero__content::before { content: none; }

@keyframes ga-ph-front { 0%, 15%, 100% { --gc-dune: #101a29; --ridge-line: #9fb7d62e; --ridge-near: #0c131f; --surface: #080d15; } 25%, 40% { --gc-dune: #2c2856; --ridge-line: #f0a98f2e; --ridge-near: #171a3a; --surface: #0c1024; } 50%, 65% { --gc-dune: #9a6c40; --ridge-line: #fff0cc59; --ridge-near: #6e4a2c; --surface: #1a130c; } 75%, 90% { --gc-dune: #8a4634; --ridge-line: #ffb2704d; --ridge-near: #2e1622; --surface: #1a0e10; } }
.ga-cycle .ga-skyfront { animation: ga-ph-front var(--gc-dur, 32s) cubic-bezier(.45,0,.55,1) var(--gc-delay, 0s) infinite; }
.ga-cycle .ga-skyfront .ga-sky__scrim { opacity: 0; animation: ga-cyc-scrim var(--gc-dur, 32s) cubic-bezier(.45,0,.55,1) var(--gc-delay, 0s) infinite; }
.ga-cycle .ga-cv-sh--short, .ga-cycle .ga-cv-sh--long { animation-delay: var(--gc-delay, 0s); }

@keyframes ga-ph-figure { 0%, 15%, 100% { --gc-figure: #6cb2ff; } 25%, 40% { --gc-figure: #f8ecd8; } 50%, 65% { --gc-figure: #e8b06a; } 75%, 90% { --gc-figure: #ff9a4d; } }
.ga-cycle .ga-figure { color: var(--gc-figure); animation: ga-ph-figure var(--gc-dur, 32s) cubic-bezier(.45,0,.55,1) var(--gc-delay, 0s) infinite; }


/*
 * Site additions on top of the design system (ga.css).
 * Everything here uses the same tokens, so it follows the day cycle too.
 * Covers what the handoff left undesigned: language menu, mobile menu,
 * legal pages, cookie banner, language suggestion, 404.
 */

html {
  background: #080d15;
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 96px;
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
body { margin: 0; min-height: 100vh; }
/* ---------- Day cycle without repaints ----------
   The palette changes by cross-fading pre-painted phase layers (.ga-ph--*, see ga-phases.css),
   so nothing on the page is restyled or repainted while the time of day changes.
   --gc-dur (32 s) is set on <body> and --gc-delay in <head> (components/ga/cycle.ts): a new
   page resumes the cycle where the previous one left it. */
.ga-cycle .ga-moon { animation-delay: var(--gc-delay, 0s); }

/* A stack of four phase layers filling its container. */
.ga-phases { position: absolute; inset: 0; z-index: -1; border-radius: inherit; overflow: hidden; pointer-events: none; }
.ga-phases > .ga-ph { position: absolute; inset: 0; will-change: opacity; }
.ga-phases--surface > .ga-ph { background: var(--surface); }
.ga-phases--raised > .ga-ph { background: var(--surface-raised); }
.ga-phases--header > .ga-ph { background: var(--header-solid); }
.ga-phases--range-fill > .ga-ph { background: color-mix(in oklab, var(--ridge-far) var(--ga-range-mix, 22%), var(--surface)); }
.ga-phases--range-line > .ga-ph { background: var(--ridge-line); }

/* Page background behind everything below the hero. */
.ga.ga-cycle { background: transparent; }
.ga-pagebg { position: fixed; z-index: -1; }

/* Hero: four full copies of the scene, one per phase; moving parts run identically in each. */
.ga-skystack { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.ga-skystack > .ga-sky { z-index: auto; }
.ga-skystack > .ga-ph { will-change: opacity; }
/* Front of the hero, drawn once above the phase copies: dune + caravan, fade, text scrim. */
.ga-skyfront { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; }
/* Text scrim under the hero copy (was .ga-hero__content::before). */
.ga-sky__scrim { position: absolute; z-index: 7; top: 0; bottom: 0; left: 50%; width: min(100%, 1440px); transform: translateX(-50%); pointer-events: none; }
.ga-sky__scrim::before { content: ""; position: absolute; left: -14%; top: 4%; width: 96%; height: 92%; background: radial-gradient(closest-side, color-mix(in oklab, var(--surface) 80%, transparent) 0%, color-mix(in oklab, var(--surface) 62%, transparent) 55%, transparent 100%); }
@media (max-width: 640px) { .ga-sky__scrim::before { left: -40%; top: 20%; width: 180%; height: 82%; } }
.ga-cycle .ga-hero__sub, .ga-cycle .ga-hero__actions .ga-textlink { text-shadow: 0 0 16px rgb(8 7 8 / .7), 0 1px 2px rgb(8 7 8 / .5); }

/* Mountains behind the sections: the masked containers hold the phase layers. */
.ga main > .ga-range { background: none; }

/* Panels get their colour from phase layers instead of an animated background. */
.ga-header .ga-phases { opacity: 0; transition: opacity .35s ease; }
.ga-header.is-solid { background: transparent; }
.ga-header.is-solid .ga-phases { opacity: 1; }
.ga-form, .ga-modal, .ga-panel, .ga-consent, .ga-langmenu__list, .ga-suggest { background: transparent; isolation: isolate; }
.ga-form, .ga-modal, .ga-panel, .ga-suggest { position: relative; }
.ga-modal .ga-form, .ga-panel .ga-form { isolation: auto; }
.ga-modal .ga-form > .ga-phases, .ga-panel .ga-form > .ga-phases { display: none; }

/* Hairlines, borders and field backgrounds are translucent, so they sit right on every phase. */
.ga.ga-cycle { --line: rgb(150 175 210 / .15); --line-strong: rgb(150 175 210 / .57); }
.ga-input, .ga-check__box { background: rgb(0 0 0 / .26); }
.ga-seg__btn:hover, .ga-seg__btn.is-hover, .ga-langmenu__list a:hover { background: rgb(0 0 0 / .22); }

/* The hero copy rises in on the first page of a visit only. */
.ga-seen .ga-hero__content > * { animation: none; }
/* Cross-fade between pages of the site (Chrome/Edge/Safari 18+), instead of a hard cut. */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  ::view-transition-old(root), ::view-transition-new(root) { animation-duration: .28s; }
}
.ga ::selection { background: color-mix(in oklab, var(--accent) 45%, transparent); }
.ga h1, .ga h2, .ga h3, .ga ul, .ga ol { margin: 0; }
.ga ul, .ga ol { padding: 0; list-style: none; }
.ga img { max-width: 100%; }
/* `.ga p { margin: 0 }` outranks single-class margins in the handoff CSS; restore the intended ones. */
.ga .ga-hero__sub { margin-top: clamp(20px, 2.2vw, 32px); }
.ga .ga-fineprint { margin-top: 32px; }

.ga-skip { position: absolute; left: 12px; top: -80px; z-index: 200; padding: 12px 18px; border-radius: var(--radius-sm); background: var(--accent); color: var(--on-accent); font-weight: 600; text-decoration: none; }
.ga-skip:focus { top: 12px; outline: 2px solid var(--focus); outline-offset: 2px; }

/* The site uses a transparent derivative of the supplied logo, so it needs no crop and no blend. */
.ga-logo { mix-blend-mode: normal; aspect-ratio: 1624 / 382; border-radius: 0; }
.ga-logo img { width: 100%; margin: 0; }
.ga-header:not(.is-solid) { mix-blend-mode: normal; }
.ga-header--page { margin-bottom: 0; }

/* Revenue ranges whose localized labels are long (e.g. "10.000–100.000 $") always use 2 × 2. */
.ga-seg--long { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ga-seg__btn { padding-inline: 6px; }

.ga-turnstile-slot { min-height: 65px; }
.ga-form__error { display: flex; align-items: center; gap: 8px; font-size: 15px; line-height: 1.45; color: var(--danger); }
.ga-form__error svg { flex: none; }
.ga-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.ga-btn[aria-busy="true"] { cursor: progress; }

/* ---------- language menu (popover under the globe) ---------- */
.ga-langmenu { position: relative; }
.ga-langmenu > summary { list-style: none; }
.ga-langmenu > summary::-webkit-details-marker { display: none; }
.ga-langmenu__list {
  position: absolute; right: 0; top: calc(100% + 10px); z-index: 60;
  width: 248px; max-height: min(70vh, 520px); overflow: auto; padding: 8px;
  border: 1px solid var(--line); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-panel);
  animation: ga-pane-in .3s cubic-bezier(.2,.8,.2,1) both;
}
.ga-langmenu--up .ga-langmenu__list { top: auto; bottom: calc(100% + 10px); left: 0; right: auto; }
.ga-langmenu__list a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 44px; padding: 0 14px; border-radius: var(--radius-sm);
  color: var(--ink-muted); font-size: 15px; font-weight: 500; text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
.ga-langmenu__list a:hover { color: var(--ink); }
.ga-langmenu__list a:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
.ga-langmenu__list a[aria-current="true"] { color: var(--ink); }
.ga-langmenu__list a[aria-current="true"]::after { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--accent-text); }
.ga-footer .ga-langmenu .ga-lang { padding: 0; margin-top: 8px; }

/* ---------- mobile menu (side panel, same surface as the offer panel) ---------- */
.ga-menu { display: flex; flex-direction: column; gap: 32px; }
.ga-menu__nav a {
  display: flex; align-items: center; justify-content: space-between; min-height: 64px;
  border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none;
  font-family: var(--ga-display); font-weight: 500; font-size: 26px; letter-spacing: -0.02em;
}
.ga-menu__nav a::after { content: "→"; font-family: var(--ga-text); font-size: 18px; color: var(--ink-muted); transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.ga-menu__nav a:hover::after { transform: translateX(4px); }
.ga-menu__nav a:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.ga-menu__langs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px; }
.ga-menu__langs a { display: flex; align-items: center; min-height: 44px; color: var(--ink-muted); font-size: 15px; text-decoration: none; }
.ga-menu__langs a[aria-current="true"] { color: var(--ink); font-weight: 600; }
.ga-menu__langs a:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
.ga-menu__label { font-size: 12px; letter-spacing: var(--ga-label-track); text-transform: uppercase; color: var(--ink-muted); margin-bottom: 8px; }

/* ---------- language suggestion bar ---------- */
.ga-suggest { position: relative; z-index: 60; border-bottom: 1px solid var(--line); font-size: 14px; }
.ga-suggest .ga-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; min-height: 52px; }
.ga-suggest .ga-textlink { min-height: 36px; font-size: 14px; text-underline-offset: 5px; }

/* ---------- cookie banner ---------- */
.ga-consent {
  position: fixed; right: 20px; bottom: 20px; z-index: 90; width: min(420px, calc(100% - 40px));
  padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-panel); animation: ga-modal-in .5s cubic-bezier(.2,.8,.2,1) both;
}
.ga-consent__title { margin: 0 0 8px; font-family: var(--ga-display); font-weight: 600; font-size: 20px; letter-spacing: -0.02em; }
.ga-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
@media (max-width: 640px) { .ga-consent { right: 12px; bottom: 12px; width: calc(100% - 24px); } }

/* ---------- legal pages ---------- */
.ga-legal { padding-block: clamp(56px, 7vw, 112px) clamp(96px, 11vw, 160px); }
.ga-legal__inner { max-width: 820px; }
.ga-legal__title { margin: 0; font-family: var(--ga-display); font-weight: 600; font-size: clamp(40px, 5.4vw, 76px); line-height: 1; letter-spacing: var(--ga-display-track); text-wrap: balance; }
.ga .ga-legal__meta { margin-top: 20px; font-size: 14px; color: var(--ink-muted); }
.ga-legal__notice { margin-top: 28px; padding: 14px 18px; border: 1px solid var(--line); border-left: 2px solid var(--accent-text); border-radius: var(--radius-sm); font-size: 14px; color: var(--ink-muted); }
.ga-legal__notice p + p { margin-top: 4px; }
.ga .ga-legal__intro { margin-top: 40px; }
.ga-legal section { padding-top: 40px; margin-top: 40px; border-top: 1px solid var(--line); }
.ga-legal section .ga-h3 { margin-bottom: 14px; }
.ga-legal section .ga-body { max-width: 70ch; }
.ga-legal dl { margin: 20px 0 0; border-top: 1px solid var(--line); }
.ga-legal dl > div { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 4px 24px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.ga-legal dt { font-size: 14px; color: var(--ink-muted); }
.ga-legal dd { margin: 0; color: var(--ink); }
@media (max-width: 640px) { .ga-legal dl > div { grid-template-columns: minmax(0, 1fr); } }

/* ---------- 404 ---------- */
.ga-404 { min-height: 70vh; display: flex; align-items: center; padding-block: 140px 96px; }
.ga-404 .ga-eyebrow { margin-bottom: 16px; }

/* CJK: the Onest/Geologica stacks fall back to system CJK fonts; keep display sizes calm. */
.ga:lang(ja) .ga-legal__title, .ga:lang(ko) .ga-legal__title, .ga:lang(zh) .ga-legal__title { font-size: clamp(32px, 4vw, 56px); line-height: 1.2; }
.ga:lang(ja) .ga-cta__title, .ga:lang(ko) .ga-cta__title, .ga:lang(zh) .ga-cta__title { line-height: 1.2; }
.ga:lang(ja) .ga-h2, .ga:lang(ko) .ga-h2, .ga:lang(zh) .ga-h2 { line-height: 1.25; }
.ga:lang(ja) { word-break: auto-phrase; }
