/* Workshop AI — one immersive home, shared by guests and signed-in creators. */
#landing-wrapper {
  --ws-max:1440px;
  --ws-pad:clamp(24px,5.2vw,88px);
  --ws-stage:#10110f;
  --ws-media-radius:var(--ws-r-xl);
  --ws-t1:#f2efe7;
  --ws-t2:#b8b8ac;
  --ws-t3:#9b9b90;
  --ws-line:rgba(242,239,231,.15);
  position:relative; isolation:isolate; width:100%; min-height:100svh;
  overflow:clip; color:var(--ws-t1); background:var(--ws-stage);
  font-family:var(--ws-font); -webkit-font-smoothing:antialiased;
}
#landing-wrapper *, #landing-wrapper *::before, #landing-wrapper *::after { box-sizing:border-box; }
#landing-wrapper [hidden] { display:none; }
#landing-wrapper a { color:inherit; text-decoration:none; }
#landing-wrapper button { font:inherit; cursor:pointer; }
#landing-wrapper :is(a,button,summary):focus-visible { outline:2px solid var(--ws-gold); outline-offset:5px; }
#landing-wrapper :is(section, #studio) { scroll-margin-top:90px; }
#landing-wrapper .ws-shell { width:100%; max-width:var(--ws-max); margin-inline:auto; padding-inline:var(--ws-pad); }
#landing-wrapper .ws-section { padding-block:clamp(80px,10vw,150px); }
#landing-wrapper .ws-section--tight { padding-block:40px 120px; }
#landing-wrapper .ws-feature-icon { width:28px; height:28px; flex-shrink:0; fill:none; stroke:currentColor; }
#landing-wrapper .ws-button-icon { width:21px; height:21px; flex-shrink:0; }
#landing-wrapper .ws-inline-icon { width:18px; height:18px; flex-shrink:0; }
#landing-wrapper .ws-arrow-diagonal { rotate:-45deg; }
#landing-wrapper .ws-list-icon { width:18px; height:18px; flex-shrink:0; color:var(--ws-gold); }
#landing-wrapper .ws-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 26px; color:var(--ws-gold); font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
#landing-wrapper .ws-h2 { margin:0; color:inherit; font:400 clamp(32px,4.25vw,64px)/1.13 var(--ws-display); letter-spacing:-.025em; text-wrap:balance; }
#landing-wrapper :is(.ws-h2,h1,h2) em { color:var(--ws-gold); font-style:normal; }
#landing-wrapper .ws-sub { margin:24px 0 0; max-width:46ch; color:var(--ws-t2); font-size:16px; line-height:1.85; }
#landing-wrapper .ws-section-meta { display:flex; justify-content:space-between; gap:24px; margin-bottom:70px; font-size:10px; font-weight:600; letter-spacing:.13em; color:var(--ws-t3); }
#landing-wrapper .ws-status-dot { width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 14px rgba(var(--ws-gold-rgb),.5); }
#landing-wrapper .ws-progress { position:fixed; z-index:110; left:0; top:0; width:100%; height:2px; background:var(--ws-gold); transform:scaleX(0); transform-origin:left; pointer-events:none; }
#landing-wrapper .ws-skip { position:fixed; z-index:130; top:12px; left:12px; padding:12px 20px; background:var(--ws-gold); color:var(--ws-on-gold); transform:translateY(-160%); }
#landing-wrapper .ws-skip:focus { transform:none; }

/* Minimal navigation; secondary destinations live in an accessible dialog. */
#landing-wrapper .landing-nav { position:fixed; z-index:100; top:0; left:0; width:100%; padding-block:24px; transition:background .3s,padding .3s; }
#landing-wrapper .landing-nav.scrolled { padding-block:14px; background:rgba(16,17,15,.9); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border-bottom:1px solid var(--ws-line); }
#landing-wrapper .landing-nav > .ws-shell { display:flex; align-items:center; justify-content:space-between; gap:30px; }
#landing-wrapper .logo-container { display:inline-flex; align-items:center; gap:12px; flex-shrink:0; }
#landing-wrapper .ws-brand-mark { width:36px; height:36px; object-fit:contain; }
#landing-wrapper .logo-text-main { font:400 15px/1.2 var(--ws-display); letter-spacing:.02em; }
#landing-wrapper .logo-text-main > span { color:var(--ws-gold); }
#landing-wrapper .landing-nav-links { display:flex; gap:36px; margin-left:auto; }
#landing-wrapper .landing-nav-links a { font-size:12px; color:var(--ws-t2); transition:color .2s; }
#landing-wrapper .landing-nav-links a:hover { color:var(--ws-gold); }
#landing-wrapper .landing-nav-cta { display:flex; align-items:center; gap:24px; margin-left:30px; }
#landing-wrapper .btn-landing-login { display:flex; align-items:center; gap:12px; min-height:44px; padding:0; color:var(--ws-t1); background:transparent; border:0; font-size:12px; }
#landing-wrapper .ws-menu-toggle { display:grid; place-content:center; gap:6px; width:44px; height:44px; padding:0; border:1px solid var(--ws-line); border-radius:50%; color:var(--ws-t1); background:transparent; transition:border-color .2s; }
#landing-wrapper .ws-menu-toggle span { width:17px; height:1px; background:currentColor; }
#landing-wrapper .ws-menu-toggle:hover { border-color:var(--ws-gold); }
#landing-wrapper .ws-menu { position:fixed; width:min(680px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:clamp(24px,5vw,54px); border:1px solid var(--ws-line); background:var(--ws-stage); color:var(--ws-t1); }
#landing-wrapper .ws-menu::backdrop { background:rgba(0,0,0,.75); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
#landing-wrapper .ws-menu-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:30px; }
#landing-wrapper .ws-menu-head button { width:44px; height:44px; padding:0; border:1px solid var(--ws-line); border-radius:50%; background:transparent; color:inherit; font-size:30px; }
#landing-wrapper .ws-menu nav { display:grid; margin-bottom:32px; }
#landing-wrapper .ws-menu nav a { display:flex; gap:20px; padding:14px 0; border-bottom:1px solid var(--ws-line); font:400 clamp(22px,4vw,32px)/1.4 var(--ws-display); }
#landing-wrapper .ws-menu nav small { padding-top:5px; color:var(--ws-t3); font:11px/1.5 var(--ws-font); }
#landing-wrapper .ws-menu nav a:hover { color:var(--ws-gold); }

/* Shared call-to-action vocabulary. */
#landing-wrapper :is(.btn-landing-primary,.btn-landing-outline) { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:54px; padding:15px 25px; border:1px solid transparent; border-radius:var(--ws-r-pill); font-size:12px; font-weight:700; line-height:1.4; text-align:center; transition:background .22s,color .22s,transform .22s,border-color .22s; }
#landing-wrapper .btn-landing-primary { color:var(--ws-on-gold); background:var(--ws-gold); }
#landing-wrapper .btn-landing-primary:hover { color:var(--ws-on-gold); background:var(--ws-gold-2); transform:translateY(-2px); }
#landing-wrapper .btn-landing-outline { color:var(--ws-t1); border-color:var(--ws-line-2); background:transparent; }
#landing-wrapper .btn-landing-outline:hover { border-color:var(--ws-gold); color:var(--ws-gold); }
#landing-wrapper .ws-text-link { display:inline-flex; align-items:center; justify-content:flex-start; gap:18px; min-height:44px; padding:0; border:0; color:inherit; background:transparent; font-size:12px; font-weight:600; }
#landing-wrapper .ws-text-link:hover { color:var(--ws-gold); }
#landing-wrapper .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:34px; }

/* Opening scene: native scrolling, live sculpture and an atmospheric field. */
#landing-wrapper .landing-hero { position:relative; min-height:max(780px,100svh); display:flex; flex-direction:column; justify-content:center; padding-top:112px; padding-bottom:175px; overflow:hidden; }
#landing-wrapper .ws-hero-atmosphere { position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 78% 45%,rgba(var(--ws-gold-rgb),.07),transparent 47%),linear-gradient(145deg,#141613,#0b0c0b 80%); }
#landing-wrapper .ws-hero-grid { position:absolute; inset:0; opacity:.14; background-image:radial-gradient(rgba(243,227,189,.55) .7px,transparent .7px); background-size:28px 28px; mask-image:linear-gradient(90deg,transparent 0%,#000 70%); }
#landing-wrapper .ws-orbit { position:absolute; top:49%; left:76%; width:68vw; height:68vw; max-width:1000px; max-height:1000px; border:1px solid rgba(var(--ws-gold-rgb),.08); border-radius:50%; transform:translate(-50%,-50%) rotate(-24deg) scaleY(.7); }
#landing-wrapper .ws-orbit--two { width:52vw; height:52vw; transform:translate(-50%,-50%) rotate(32deg) scaleY(.75); }
#landing-wrapper .ws-hero-layout { position:relative; z-index:2; display:grid; grid-template-columns:1.15fr 1fr; align-items:center; }
#landing-wrapper .hero-copy { position:relative; z-index:3; padding-block:46px; }
#landing-wrapper .hero-copy h1 { margin:0; font:400 clamp(44px,5.45vw,82px)/1.12 var(--ws-display); letter-spacing:-.035em; }
#landing-wrapper .marketing-lead { margin:28px 0 0; max-width:400px; color:var(--ws-t2); font-size:15px; line-height:1.9; }
#landing-wrapper .hero-anchor { display:flex; align-items:center; gap:12px; margin:20px 0 0; color:var(--ws-t3); font-size:10px; }
#landing-wrapper .hero-anchor > span { color:var(--ws-gold); }
#landing-wrapper .ws-hero-object { position:relative; min-width:0; height:570px; margin-right:-60px; }
#landing-wrapper .hero-logo-scene { position:absolute; inset:-55px -80px 0 -50px; min-height:480px; }
#landing-wrapper .hero-logo-scene canvas { display:block; width:100%; height:100%; opacity:0; transition:opacity .6s ease; }
#landing-wrapper .hero-logo-scene.is-ready canvas { opacity:1; }
#landing-wrapper .ws-hero-access { display:flex; align-items:center; gap:12px; margin:10px 0 0; color:var(--ws-t3); font-size:11px; }
#landing-wrapper .ws-hero-access > span { color:var(--ws-gold); }
#landing-wrapper .ws-hero-wordmark { position:absolute; left:50%; bottom:-.16em; transform:translateX(-50%); font:400 15.7vw/1 var(--ws-display); letter-spacing:-.055em; color:rgba(242,239,231,.045); pointer-events:none; white-space:nowrap; }

#landing-wrapper .ws-gallery-toggle { position:absolute; right:0; bottom:-54px; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--ws-line); border-radius:50%; background:transparent; color:var(--ws-t2); cursor:pointer; }
#landing-wrapper .ws-gallery-toggle:hover { border-color:var(--ws-gold); color:var(--ws-gold); }
#landing-wrapper .ws-gallery-toggle[hidden] { display:none; }
#landing-wrapper .ws-gallery-toggle svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#landing-wrapper .ws-gallery-play-icon { display:none; }
#landing-wrapper .ws-gallery-toggle[aria-pressed="true"] .ws-gallery-pause-icon { display:none; }
#landing-wrapper .ws-gallery-toggle[aria-pressed="true"] .ws-gallery-play-icon { display:block; }

/* Three moving contact sheets reuse every existing gallery work. */
#landing-wrapper :is(.ws-gallery-card,.ws-scene-preview) { border-radius:var(--ws-media-radius); overflow:hidden; }
#landing-wrapper .ws-gallery { padding-block:90px 80px; }
#landing-wrapper .ws-gallery-head { position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-bottom:70px; }
#landing-wrapper .ws-gallery-head .ws-sub { margin:0 0 8px; max-width:30ch; }
#landing-wrapper .ws-gallery-motion { padding-block:18px; overflow:hidden; }
#landing-wrapper .ws-gallery-row { overflow-x:auto; overflow-y:hidden; padding-block:26px; scrollbar-width:thin; scrollbar-color:var(--ws-line) transparent; }
#landing-wrapper .ws-gallery-track { display:flex; width:max-content; }
#landing-wrapper .ws-gallery-set { display:flex; align-items:center; gap:26px; padding-right:26px; }
#landing-wrapper .ws-gallery-card { --ws-art-tilt:-3deg; flex:0 0 auto; position:relative; width:max(210px,17vw); aspect-ratio:4/5; margin:0; background:var(--ws-stage); transform:rotate(var(--ws-art-tilt)); }
#landing-wrapper .ws-gallery-card:nth-child(2n) { --ws-art-tilt:3deg; }
#landing-wrapper .ws-gallery-card:nth-child(3n) { --ws-art-tilt:-1deg; }
#landing-wrapper .ws-gallery-card img { display:block; width:100%; height:100%; object-fit:cover; }
#landing-wrapper .ws-gallery-card figcaption { position:absolute; inset:auto 0 0; padding:38px 20px 20px; background:linear-gradient(transparent,rgba(0,0,0,.8)); color:#f2efe7; font-size:11px; line-height:1.6; }
#landing-wrapper .ws-gallery-card figcaption span { display:block; margin-bottom:7px; color:#d4d3c9; font-size:8px; letter-spacing:.12em; }
#landing-wrapper .ws-gallery-set[aria-hidden="true"] { display:none; }
#landing-wrapper.has-gallery-motion .ws-gallery-row { overflow:hidden; }
#landing-wrapper.has-gallery-motion .ws-gallery-set[aria-hidden="true"] { display:flex; }
#landing-wrapper.has-gallery-motion .ws-gallery-track { animation:wsGalleryTravel 85s linear infinite; }
#landing-wrapper.has-gallery-motion .ws-gallery-row:nth-child(2) .ws-gallery-track { animation-duration:105s; animation-direction:reverse; }
#landing-wrapper.has-gallery-motion .ws-gallery-row:nth-child(3) .ws-gallery-track { animation-duration:95s; }
#landing-wrapper.has-gallery-motion .ws-gallery-card { animation:wsGalleryRock 12s ease-in-out infinite; }
#landing-wrapper.has-gallery-motion .ws-gallery-row:not(.is-gallery-ready) :is(.ws-gallery-track,.ws-gallery-card) { animation:none; }
#landing-wrapper .ws-gallery-card.is-image-unavailable::before { content:'Изображение временно недоступно'; position:absolute; inset:0; display:grid; place-items:center; padding:24px; color:var(--ws-t2); font-size:12px; text-align:center; }
#landing-wrapper .ws-gallery-card:nth-child(2n) { animation-delay:-4s; }
#landing-wrapper .ws-gallery-card:nth-child(3n) { animation-delay:-8s; }
@keyframes wsGalleryTravel { to { transform:translateX(-50%); } }
@keyframes wsGalleryRock { 0%,100% { transform:translateY(0) rotate(var(--ws-art-tilt)); } 50% { transform:translateY(-10px) rotate(calc(var(--ws-art-tilt) + 2deg)); } }
#landing-wrapper.is-gallery-paused :is(.ws-gallery-track,.ws-gallery-card) { animation-play-state:paused !important; }
@media(hover:hover) {
  #landing-wrapper .ws-gallery-row:hover :is(.ws-gallery-track,.ws-gallery-card) { animation-play-state:paused !important; }
}

/* A visual tool selector keeps the overview short and the examples tangible. */
#landing-wrapper .ws-tools-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:48px; }
#landing-wrapper .ws-tools-intro .ws-sub { max-width:26ch; margin:0; }
#landing-wrapper .ws-tool-showcase { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:48px; align-items:center; }
#landing-wrapper .ws-tool-list { display:grid; gap:8px; min-width:0; }
#landing-wrapper .ws-tool-tab { position:relative; display:grid; grid-template-columns:22px minmax(0,1fr) 28px; align-items:center; gap:14px; width:100%; height:104px; padding:18px 20px; border:1px solid var(--ws-line); border-radius:var(--ws-r-sm); color:var(--ws-t1); background:transparent; text-align:left; transition:background .25s,color .25s; }
#landing-wrapper .ws-tool-tab[aria-selected="true"] { border-color:rgba(var(--ws-gold-rgb),.35); background:rgba(var(--ws-gold-rgb),.045); }
#landing-wrapper .ws-tool-tab::before { content:''; position:absolute; inset:24px auto 24px 0; width:2px; background:var(--ws-gold); transform:scaleY(0); transition:transform .3s var(--ws-ease); }
#landing-wrapper .ws-tool-tab[aria-selected="true"]::before { transform:scaleY(1); }
#landing-wrapper .ws-tool-number { color:var(--ws-t3); font-size:10px; }
#landing-wrapper .ws-tool-heading { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:0 14px; }
#landing-wrapper .ws-tool-mode-icon { display:block; width:48px; height:48px; grid-row:1 / span 2; align-self:center; object-fit:contain; border-radius:50%; overflow:hidden; }
#landing-wrapper .ws-tool-heading strong { grid-column:2; font:400 clamp(16px,1.25vw,20px)/1.4 var(--ws-display); }
#landing-wrapper .ws-tool-description { grid-column:2; margin-top:6px; color:var(--ws-t2); font-size:12px; line-height:1.5; }
#landing-wrapper .ws-tool-arrow { color:var(--ws-t3); transition:color .25s,transform .25s; }
#landing-wrapper .ws-tool-arrow svg { width:22px; height:22px; }
#landing-wrapper .ws-tool-tab:is(:hover,[aria-selected="true"]) .ws-tool-arrow { color:var(--ws-gold); transform:translate(2px,-2px); }
#landing-wrapper .ws-tool-stage { position:relative; min-width:0; height:520px; border:1px solid transparent; border-radius:var(--ws-media-radius); overflow:visible; background:transparent; }
#landing-wrapper .ws-tool-stage.is-framed { border-color:var(--ws-line); overflow:hidden; background:var(--ws-stage); }
#landing-wrapper .ws-tool-stage [hidden] { display:none; }
#landing-wrapper .ws-tool-panel { position:absolute; inset:0; flex-direction:column; justify-content:flex-end; }
#landing-wrapper .ws-tool-panel:not([hidden]) { display:flex; animation:wsToolReveal .5s var(--ws-ease) both; }
#landing-wrapper .ws-tool-panel-caption { position:relative; z-index:3; display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:20px; padding:24px; background:transparent; }
#landing-wrapper .is-framed .ws-tool-panel-caption { background:linear-gradient(0deg,rgba(8,9,8,.95),rgba(8,9,8,.76)); }
#landing-wrapper .ws-tool-panel-caption > span { color:var(--ws-t2); font-size:10px; letter-spacing:.08em; }
#landing-wrapper .ws-tool-art { position:absolute; inset:0; overflow:visible; background:transparent; }
#landing-wrapper .ws-tool-shot { position:absolute; width:42%; aspect-ratio:3/4; height:auto; object-fit:cover; border:1px solid var(--ws-line); border-radius:var(--ws-r-md); box-shadow:var(--ws-sh-3); transform:rotate(var(--shot-angle)); animation:wsToolFloat 8s ease-in-out infinite; animation-play-state:paused; }
#landing-wrapper .ws-tool-shot--one { --shot-angle:-12deg; top:15%; left:5%; }
#landing-wrapper .ws-tool-shot--two { --shot-angle:6deg; z-index:1; top:8%; left:34%; animation-delay:-3s; }
#landing-wrapper .ws-tool-shot--three { --shot-angle:14deg; top:28%; left:60%; width:32%; animation-delay:-5s; }
#landing-wrapper .ws-tool-video > video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
#landing-wrapper .ws-tool-motion { position:absolute; z-index:3; top:20px; right:20px; }
#landing-wrapper .ws-tool-sound { position:absolute; z-index:3; top:20px; right:76px; }
#landing-wrapper .ws-tool-tracks { display:grid; gap:12px; margin:auto 0; padding:24px 0; }
#landing-wrapper .ws-tool-track { display:grid; grid-template-columns:116px minmax(0,1fr); gap:0; align-items:stretch; min-height:124px; margin:0; padding:3px; overflow:hidden; border:1px solid var(--border-color,var(--ws-line)); border-radius:var(--ws-r-md); background:linear-gradient(135deg,color-mix(in srgb,var(--bg-card,var(--ws-stage)) 97%,white 3%),var(--bg-card,var(--ws-stage))); }
#landing-wrapper .ws-tool-track .creative-audio-card__cover { width:116px; height:116px; aspect-ratio:1; border-radius:calc(var(--ws-r-md) - 4px); overflow:hidden; display:grid; place-items:center; align-self:center; background:rgba(var(--ws-gold-rgb),.06); color:var(--ws-gold); }
#landing-wrapper .ws-tool-track .creative-audio-card__cover img { display:block; width:100%; height:100%; object-fit:cover; }
#landing-wrapper .ws-tool-track .creative-audio-card__cover svg { width:32px; height:32px; }
#landing-wrapper .ws-tool-track .creative-audio-card__player { display:grid; align-content:center; gap:14px; min-width:0; padding:12px 16px; }
#landing-wrapper .ws-tool-track .ws-tool-track-meta { display:grid; min-width:0; gap:4px; }
#landing-wrapper .ws-tool-track strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
#landing-wrapper .ws-tool-track small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ws-t3); font-size:10px; margin:0; text-transform:uppercase; }
#landing-wrapper .ws-tool-track .creative-track-controls { display:grid; grid-template-columns:44px 30px minmax(30px,1fr) 30px; gap:8px; align-items:center; }
#landing-wrapper .ws-tool-track .creative-audio-toggle { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid transparent; border-radius:50%; background:var(--surface-control,var(--ws-stage)); color:var(--ws-t1); box-shadow:none; transition:background .2s,color .2s; }
#landing-wrapper .ws-tool-track .creative-audio-toggle:not(:disabled):hover { background:var(--surface-control-hover); color:var(--ws-gold); }
#landing-wrapper .ws-tool-track .creative-audio-toggle svg { width:18px; height:18px; fill:currentColor; }
#landing-wrapper .ws-tool-track .icon-pause { display:none; }
#landing-wrapper .ws-tool-track .is-playing .icon-play { display:none; }
#landing-wrapper .ws-tool-track .is-playing .icon-pause { display:block; fill:none; stroke:currentColor; stroke-width:2; }
#landing-wrapper .ws-tool-track button:disabled { opacity:.35; cursor:default; }
#landing-wrapper .ws-tool-track time { display:block; font-size:10px; font-variant-numeric:tabular-nums; color:var(--ws-t2); }
#landing-wrapper .ws-tool-track input { width:100%; min-width:0; min-height:44px; accent-color:var(--ws-gold); }
#landing-wrapper .ws-tool-models { margin-bottom:auto; padding:36px; }
#landing-wrapper .ws-tool-models > small { font-size:10px; letter-spacing:.1em; color:var(--ws-t3); }
#landing-wrapper .ws-tool-models h3 { margin:22px 0 28px; font:400 clamp(22px,2vw,30px)/1.4 var(--ws-display); }
#landing-wrapper .ws-tool-models h3 em { color:var(--ws-gold); font-style:normal; }
#landing-wrapper .ws-tool-model-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#landing-wrapper .ws-tool-model { display:flex; align-items:center; gap:12px; min-height:72px; padding:14px; border:1px solid var(--ws-line); border-radius:var(--ws-r-sm); background:rgba(255,255,255,.025); }
#landing-wrapper .ws-tool-model strong { min-width:0; font-size:13px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
#landing-wrapper .ws-tool-model-mark { display:grid; place-items:center; flex:0 0 28px; color:var(--ws-t1); font-size:24px; }
#landing-wrapper .ws-tool-model-mark img { width:24px; height:24px; }
#landing-wrapper .ws-tool-models > p { margin:22px 0 0; color:var(--ws-t2); font-size:13px; line-height:1.7; }
#landing-wrapper .ws-tool-showcase.is-visible .is-active .ws-tool-shot { animation-play-state:running; }
#landing-wrapper.is-paused .ws-tool-showcase .is-active .ws-tool-shot { animation-play-state:paused; }
@keyframes wsToolReveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes wsToolFloat { 0%,100% { transform:translateY(0) rotate(var(--shot-angle)); } 50% { transform:translateY(-12px) rotate(calc(var(--shot-angle) + 2deg)); } }
/* A diagonal ribbon connects the tools to the cinematic scene. */
#landing-wrapper .ws-tools { padding-bottom:0; }
#landing-wrapper .ws-model-transition { position:relative; z-index:3; margin-top:64px; }
#landing-wrapper .ws-model-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:32px; color:var(--ws-t3); font-size:10px; letter-spacing:.1em; }
#landing-wrapper .ws-model-marquee { overflow:hidden; width:106%; margin:0 -3% -38px; padding-block:24px; color:var(--ws-on-gold); background:var(--app-logo-text,var(--ws-gold)); transform:rotate(-2deg); transform-origin:center; }
#landing-wrapper .ws-marquee-track { display:flex; width:max-content; animation:wsModelTravel 100s linear infinite; }
#landing-wrapper .ws-marquee-set { display:flex; align-items:center; gap:40px; padding-right:40px; flex-shrink:0; }
#landing-wrapper .ws-marquee-set > span { display:flex; align-items:center; gap:40px; color:var(--ws-on-gold); font:400 clamp(16px,1.4vw,22px)/1.4 var(--ws-display); white-space:nowrap; }
#landing-wrapper .ws-marquee-set > span::after { content:'✦'; font:20px/1 var(--ws-font); }
@keyframes wsModelTravel { to { transform:translateX(-50%); } }
#landing-wrapper .ws-model-marquee:hover .ws-marquee-track { animation-play-state:paused; }

/* Edge-to-edge motion, with the copy and audio controls on the same scene. */
#landing-wrapper .ws-cinema { position:relative; isolation:isolate; display:flex; min-height:max(720px,100svh); background:var(--ws-stage); }
#landing-wrapper .ws-showreel-screen { position:absolute; inset:0; overflow:hidden; }
#landing-wrapper .ws-showreel-screen::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.42) 42%,rgba(0,0,0,.12) 78%),linear-gradient(0deg,rgba(0,0,0,.78),transparent 36%,transparent 78%,rgba(0,0,0,.25)); }
#landing-wrapper .ws-showreel-screen video { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
#landing-wrapper .ws-cinema-content { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding-block:140px 44px; }
#landing-wrapper .ws-cinema-head { display:flex; flex-direction:column; align-items:flex-start; gap:28px; margin-top:auto; }
#landing-wrapper .ws-cinema-head .ws-eyebrow { margin-bottom:26px; }
#landing-wrapper .ws-cinema-head .ws-h2 { font-size:clamp(40px,5.6vw,84px); }
#landing-wrapper .ws-cinema-head .ws-sub { max-width:34ch; margin:0; color:var(--ws-t1); }
#landing-wrapper .ws-cinema-actions { margin-top:32px; }
#landing-wrapper .ws-cinema-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; margin-top:auto; padding-top:64px; }
#landing-wrapper .ws-cinema-footer p { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:0; color:var(--ws-t1); font-size:12px; }
#landing-wrapper .ws-cinema-footer .ws-status-dot { color:var(--ws-gold); box-shadow:none; }
#landing-wrapper .ws-cinema-model { padding-left:12px; border-left:1px solid var(--ws-line); }
#landing-wrapper .ws-showreel-controls { display:flex; align-items:center; gap:12px; }
#landing-wrapper :is(.ws-showreel-motion,.ws-showreel-sound) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; color:var(--ws-t1); background:rgba(0,0,0,.55); border:1px solid var(--ws-line-2); border-radius:var(--ws-r-pill); transition:border-color .22s,color .22s; }
#landing-wrapper .ws-showreel-motion { width:44px; padding:0; flex:none; }
#landing-wrapper .ws-showreel-sound { padding:10px 18px; gap:10px; font-size:12px; white-space:nowrap; }
#landing-wrapper :is(.ws-showreel-motion,.ws-showreel-sound):hover { color:var(--ws-gold); border-color:var(--ws-gold); }
#landing-wrapper :is(.ws-showreel-motion,.ws-showreel-sound) svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#landing-wrapper :is(.ws-showreel-pause-icon,.ws-showreel-sound-icon) { display:none; }
#landing-wrapper .ws-showreel-motion.is-playing .ws-showreel-play-icon,#landing-wrapper .ws-showreel-sound[aria-pressed="true"] .ws-showreel-muted-icon { display:none; }
#landing-wrapper .ws-showreel-motion.is-playing .ws-showreel-pause-icon,#landing-wrapper .ws-showreel-sound[aria-pressed="true"] .ws-showreel-sound-icon { display:block; }
#landing-wrapper .ws-showreel-progress { position:absolute; z-index:2; left:0; bottom:0; display:block; width:100%; height:2px; border:0; appearance:none; background:transparent; color:var(--ws-gold); }
#landing-wrapper .ws-showreel-progress::-webkit-progress-bar { background:transparent; }
#landing-wrapper .ws-showreel-progress::-webkit-progress-value { background:var(--ws-gold); }
#landing-wrapper .ws-showreel-progress::-moz-progress-bar { background:var(--ws-gold); }
#landing-wrapper :is(.ws-video-dialog,.ws-reference-dialog) { position:fixed; width:min(1100px,calc(100vw - 24px)); max-width:none; max-height:calc(100dvh - 24px); padding:54px 12px 12px; border:1px solid var(--ws-line); border-radius:var(--ws-r-lg); background:#090a08; color:var(--ws-t1); }
#landing-wrapper :is(.ws-video-dialog,.ws-reference-dialog)::backdrop { background:rgba(0,0,0,.9); }
#landing-wrapper .ws-video-dialog { width:fit-content; max-width:calc(100vw - 24px); }
#landing-wrapper .ws-video-dialog video { display:block; width:auto; height:auto; max-width:min(1074px,calc(100vw - 50px)); max-height:calc(100dvh - 100px); object-fit:contain; background:#000; }
#landing-wrapper .ws-video-dialog__close { position:absolute; top:4px; right:8px; width:44px; height:44px; border:0; background:transparent; color:inherit; font-size:30px; }

/* A real Production case connects reference sheets to the finished film. */
#landing-wrapper .ws-production { position:relative; min-height:720px; padding-block:90px 80px; overflow:hidden; background:var(--ws-stage); }
#landing-wrapper .ws-production-image { position:absolute; inset:0; }
#landing-wrapper .ws-production-background { display:block; width:100%; height:100%; object-fit:cover; object-position:center 42%; }
#landing-wrapper .ws-production::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,var(--ws-stage),rgba(16,17,15,.72) 28%,transparent 70%),linear-gradient(90deg,rgba(8,10,8,.92),rgba(8,10,8,.5) 48%,rgba(8,10,8,.18)); }
#landing-wrapper .ws-production-content { position:relative; z-index:2; }
#landing-wrapper .ws-production-story { display:grid; grid-template-columns:1.1fr .9fr; gap:8%; align-items:center; min-height:430px; }
#landing-wrapper .ws-production-content .ws-h2 { max-width:17ch; }
#landing-wrapper .ws-production-content .ws-sub { color:#d5d5c8; max-width:40ch; margin-bottom:34px; }
#landing-wrapper .ws-production-result { display:grid; justify-items:center; gap:30px; text-align:center; }
#landing-wrapper .ws-production-result-label { font-size:9px; letter-spacing:.15em; color:#e3e1d6; }
#landing-wrapper .ws-production-play { display:flex; align-items:center; gap:22px; padding:0; border:0; color:var(--ws-t1); background:transparent; text-align:left; }
#landing-wrapper .ws-production-play-icon { display:grid; place-items:center; width:90px; height:90px; border:1px solid rgba(242,239,231,.6); border-radius:50%; background:rgba(16,17,15,.3); backdrop-filter:blur(8px); transition:background .25s,border-color .25s; }
#landing-wrapper .ws-production-play-icon svg { width:34px; height:34px; }
#landing-wrapper .ws-production-play:hover .ws-production-play-icon { background:var(--ws-gold); border-color:var(--ws-gold); color:var(--ws-on-gold); }
#landing-wrapper .ws-production-play b { display:block; font-size:16px; font-weight:500; }
#landing-wrapper .ws-production-play small { display:block; margin-top:8px; font-size:11px; color:#d5d5c8; }
#landing-wrapper .ws-production-materials { margin-top:64px; padding:26px; border:1px solid var(--ws-line); border-radius:var(--ws-r-xl); background:rgba(16,17,15,.82); backdrop-filter:blur(12px); }
#landing-wrapper .ws-production-materials-head { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:22px; }
#landing-wrapper .ws-production-materials-head h3 { margin:0; font-size:16px; font-weight:500; }
#landing-wrapper .ws-production-materials-head p { margin:0; color:var(--ws-t2); font-size:11px; line-height:1.7; }
#landing-wrapper .ws-production-assets { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
#landing-wrapper .ws-production-asset { min-width:0; padding:0; overflow:hidden; text-align:left; color:var(--ws-t1); background:rgba(255,255,255,.035); border:1px solid var(--ws-line); border-radius:var(--ws-r-md); transition:border-color .25s,transform .25s; }
#landing-wrapper .ws-production-asset:hover { border-color:var(--ws-gold); transform:translateY(-4px); }
#landing-wrapper .ws-production-asset img { display:block; width:100%; aspect-ratio:16/9; height:auto; object-fit:contain; background:#777; }
#landing-wrapper .ws-production-asset > span { position:relative; display:block; padding:15px 34px 15px 14px; }
#landing-wrapper .ws-production-asset b { display:block; font-size:12px; font-weight:500; }
#landing-wrapper .ws-production-asset small { display:block; margin-top:5px; font-size:9px; color:var(--ws-t2); }
#landing-wrapper .ws-production-asset svg { position:absolute; top:17px; right:12px; width:15px; height:15px; color:var(--ws-gold); }
#landing-wrapper .ws-reference-dialog h3 { position:absolute; top:19px; left:24px; right:60px; margin:0; font-size:14px; font-weight:500; }
#landing-wrapper .ws-reference-dialog > img { display:block; width:100%; max-height:calc(100dvh - 150px); object-fit:contain; border-radius:var(--ws-r-sm); }
#landing-wrapper .ws-reference-dialog > p { margin:14px 12px 6px; color:var(--ws-t2); font-size:11px; line-height:1.7; }

/* Portraits: an editorial contact sheet. */
#landing-wrapper .ws-portraits-heading { display:flex; justify-content:space-between; align-items:center; gap:40px; margin-bottom:64px; }
#landing-wrapper .ws-portraits-heading .ws-sub { margin-top:0; margin-bottom:18px; }
#landing-wrapper .ws-portraits-copy { max-width:48ch; }
#landing-wrapper .ws-photoshoot-modes { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0 0 24px; }
#landing-wrapper .ws-photoshoot-modes li { padding:8px 12px; border:1px solid var(--ws-line); border-radius:999px; color:var(--ws-t2); font-size:12px; line-height:1.5; }
#landing-wrapper .ws-photoshoot-series-note { margin:0 0 24px; color:var(--ws-t2); font-size:13px; line-height:1.7; }
#landing-wrapper .ws-portrait-gallery { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; align-items:start; }
#landing-wrapper .ws-portrait { margin:0; min-width:0; }
#landing-wrapper .ws-portrait:nth-child(even) { margin-top:64px; }
#landing-wrapper .ws-portrait img { width:100%; height:auto; aspect-ratio:9/16; object-fit:cover; display:block; border-radius:var(--ws-media-radius); }
#landing-wrapper .ws-portrait figcaption { margin-top:16px; color:var(--ws-t3); font-size:9px; letter-spacing:.1em; }

/* Existing 3D scene and prompt controls, presented as part of the same story. */
#landing-wrapper .ws-workbench-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:6%; align-items:center; }
#landing-wrapper .ws-workbench-grid .btn-landing-outline { margin-top:32px; }
#landing-wrapper .ws-access-note { display:block; margin-top:12px; color:var(--ws-t3); font-size:10px; }
#landing-wrapper .ws-scene-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; min-width:0; }
#landing-wrapper .ws-scene-preview { position:relative; min-width:0; margin:0; border:1px solid var(--ws-line); background:#090a08; }
#landing-wrapper .ws-scene-preview img { display:block; width:100%; height:auto; aspect-ratio:9/16; object-fit:contain; }
#landing-wrapper .ws-scene-preview figcaption { display:grid; align-content:start; gap:8px; min-height:90px; padding:16px; border-top:1px solid var(--ws-line); }
#landing-wrapper .ws-scene-preview figcaption small { color:var(--ws-gold); font-size:9px; letter-spacing:.1em; }
#landing-wrapper .ws-scene-preview figcaption strong { font-size:13px; font-weight:600; line-height:1.5; }
#landing-wrapper .ws-prompt-demo { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:6%; margin-top:100px; padding-top:54px; border-top:1px solid var(--ws-line); align-items:center; }
#landing-wrapper .ws-prompt-demo h3 { margin:0; font:400 clamp(24px,2.5vw,36px)/1.4 var(--ws-display); }
#landing-wrapper .ws-prompt-demo h3 em { color:var(--ws-gold); font-style:normal; }
#landing-wrapper .ws-prompt-intro > p:last-of-type { max-width:32ch; margin:22px 0; color:var(--ws-t2); font-size:14px; line-height:1.8; }
#landing-wrapper .ws-prompt-example { display:inline-flex; align-items:center; gap:8px; color:var(--ws-t3); font-size:9px; letter-spacing:.1em; }
#landing-wrapper .ws-prompt-example::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--ws-gold); }
#landing-wrapper .ws-prompt-board { overflow:hidden; border:1px solid var(--ws-line); border-radius:var(--ws-media-radius); background:linear-gradient(135deg,rgba(var(--ws-gold-rgb),.035),transparent 55%); }
#landing-wrapper .ws-prompt-board-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 24px; border-bottom:1px solid var(--ws-line); }
#landing-wrapper .ws-prompt-board-head > span { display:flex; align-items:center; gap:10px; color:var(--ws-t2); font-size:10px; letter-spacing:.08em; }
#landing-wrapper .ws-prompt-board-head svg { width:18px; height:18px; color:var(--ws-gold); }
#landing-wrapper .ws-prompt-board-head small { color:var(--ws-gold); font-size:11px; white-space:nowrap; }
#landing-wrapper .ws-prompt-settings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding:28px 24px; }
#landing-wrapper .ws-prompt-group { min-width:0; padding:0; margin:0; border:0; }
#landing-wrapper .ws-prompt-group legend { float:none; width:auto; margin:0 0 16px; padding:0; color:var(--ws-t1); font-size:13px; }
#landing-wrapper .ws-prompt-group legend > span { margin-right:8px; font-size:10px; color:var(--ws-t3); }
#landing-wrapper .ws-chipwall { display:flex; flex-wrap:wrap; gap:8px; }
#landing-wrapper .ws-chip { min-height:44px; padding:9px 12px; background:transparent; border:1px solid var(--ws-line); border-radius:var(--ws-r-sm); color:var(--ws-t2); font-size:11px; text-align:left; transition:background .2s,border-color .2s,color .2s; }
#landing-wrapper .ws-chip[aria-pressed="true"] { background:rgba(var(--ws-gold-rgb),.08); border-color:rgba(var(--ws-gold-rgb),.5); color:var(--ws-gold); }
#landing-wrapper .ws-prompt-result { border-top:1px solid var(--ws-line); padding:18px 24px 22px; background:rgba(0,0,0,.15); }
#landing-wrapper .ws-prompt-result-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
#landing-wrapper .ws-prompt-result-head > span { color:var(--ws-t3); font-size:9px; letter-spacing:.1em; }
#landing-wrapper .ws-prompt-copy { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:11px; }
#landing-wrapper .ws-prompt-copy svg { width:16px; height:16px; }
#landing-wrapper #ws-prompt-out { margin:14px 0 0; min-height:96px; color:var(--ws-t1); font-size:clamp(18px,1.6vw,23px); line-height:1.8; }
#landing-wrapper #ws-prompt-out span { color:var(--ws-gold); }
#landing-wrapper .ws-prompt-feedback { display:block; min-height:18px; margin-top:12px; color:var(--ws-t3); font-size:11px; }


/* The sound stage reuses the vinyl asset and mark from Neuro Radio. */
#landing-wrapper .ws-audio { border-top:1px solid var(--ws-line); background:radial-gradient(ellipse at 25% 60%,rgba(var(--ws-gold-rgb),.055),transparent 60%); }
#landing-wrapper .ws-audio-grid { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; }
#landing-wrapper .ws-record-art { position:relative; display:flex; flex-direction:column; align-items:center; min-width:0; }
#landing-wrapper .ws-turntable-deck { --ws-platter-x:44.2%; --ws-platter-y:45.2%; --ws-arm-pivot-x:81.85%; --ws-arm-pivot-y:16.55%; position:relative; width:100%; aspect-ratio:1; isolation:isolate; }
#landing-wrapper .ws-turntable-body { display:block; width:100%; height:100%; object-fit:contain; transform:translate(-2.3%,-1.8%) scale(.96); filter:drop-shadow(0 20px 25px rgba(0,0,0,.45)); pointer-events:none; }
#landing-wrapper .ws-record { position:absolute; z-index:1; width:64%; aspect-ratio:1; left:calc(var(--ws-platter-x) - 32%); top:calc(var(--ws-platter-y) - 32%); border-radius:50%; overflow:hidden; background:#090909; transform-origin:50% 50%; animation:wsVinylPlay 5s linear infinite; animation-play-state:paused; }
/* Normalize the 1254px photo around its spindle, including the hole's optical center. */
#landing-wrapper .ws-record img { position:absolute; display:block; width:110.777%; height:112.165%; max-width:none; left:-5.07%; top:-5.672%; object-fit:fill; pointer-events:none; }
#landing-wrapper .ws-turntable-arm { position:absolute; z-index:2; top:calc(var(--ws-arm-pivot-y) - 9.557%); left:calc(var(--ws-arm-pivot-x) - 8.9%); width:19.288%; height:auto; aspect-ratio:220 / 730; padding:0; border:0; background:transparent; transform-origin:45.455% 14.932%; transform:rotate(var(--ws-arm-angle,0deg)); touch-action:none; cursor:grab; transition:transform .35s var(--ws-ease); }
#landing-wrapper .ws-turntable-arm img { width:100%; height:100%; object-fit:fill; pointer-events:none; user-select:none; }
#landing-wrapper .ws-turntable-arm:active { cursor:grabbing; }
#landing-wrapper .ws-turntable-arm.is-dragging { transition:none; }
#landing-wrapper .ws-turntable-arm:focus-visible { outline:2px solid var(--ws-gold); outline-offset:4px; border-radius:var(--ws-r-sm); }
#landing-wrapper .ws-record-art.is-playing .ws-record { animation-play-state:running; }
#landing-wrapper .ws-turntable-caption { text-align:center; padding:20px 12px 0; max-width:46ch; }
#landing-wrapper .ws-turntable-caption p { color:var(--ws-t2); font-size:12px; line-height:1.7; margin:0 0 12px; }
#landing-wrapper .ws-turntable-caption strong { display:block; font-size:14px; color:var(--ws-t1); }
#landing-wrapper .ws-turntable-caption small { display:block; min-height:32px; margin-top:6px; color:var(--ws-t3); font-size:11px; line-height:1.6; }
@keyframes wsVinylPlay { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { #landing-wrapper .ws-record { animation:none; } #landing-wrapper .ws-turntable-arm { transition:none; } }

#landing-wrapper .ws-audio-copy .ws-eyebrow { font-size:9px; letter-spacing:.12em; }
#landing-wrapper .ws-audio-copy .ws-h2 { margin-block:24px 30px; }
#landing-wrapper .ws-audio-models { display:flex; flex-wrap:wrap; gap:8px; margin:26px 0 34px; color:var(--ws-t2); font-size:10px; }
#landing-wrapper .ws-audio-models span { padding:9px 12px; border:1px solid var(--ws-line); border-radius:999px; background:rgba(255,255,255,.025); }
#landing-wrapper .ws-audio-actions { display:flex; flex-wrap:wrap; gap:12px; }
#landing-wrapper .ws-radio-link { display:flex; align-items:center; gap:14px; margin-top:24px; color:var(--ws-t2); }

/* Prices remain driven by the live subscription catalog. */
#landing-wrapper #pricing { border-top:1px solid var(--ws-line); }
#landing-wrapper .ws-head { max-width:850px; margin-bottom:60px; }
#landing-wrapper .ws-price-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; align-items:stretch; }
#landing-wrapper .ws-plan { --ws-plan-glow:0; position:relative; display:flex; flex-direction:column; padding:30px 24px; border:1px solid rgba(var(--ws-gold-rgb),calc(.1 + var(--ws-plan-glow) * .18)); border-radius:var(--radius-lg,6px); background:radial-gradient(ellipse at 50% 0%,rgba(var(--ws-gold-rgb),calc(.018 + var(--ws-plan-glow) * .07)),transparent 65%),linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),rgba(16,17,15,.72); backdrop-filter:blur(18px) saturate(115%); -webkit-backdrop-filter:blur(18px) saturate(115%); box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 12px 40px rgba(0,0,0,.15),0 0 38px rgba(var(--ws-gold-rgb),calc(.006 + var(--ws-plan-glow) * .065)); }
#landing-wrapper .ws-plan-flag { position:absolute; top:-12px; left:22px; padding:5px 10px; background:var(--ws-gold); color:var(--ws-on-gold); font-size:9px; font-weight:700; }
#landing-wrapper .ws-plan h3 { margin:0 0 14px; font:400 22px/1.3 var(--ws-display); }
#landing-wrapper .ws-plan > p { color:var(--ws-t2); font-size:11px; line-height:1.8; }
#landing-wrapper .ws-plan > p:first-of-type { min-height:40px; }
#landing-wrapper .ws-plan-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; margin:18px 0 8px; }
#landing-wrapper .ws-plan-price b { font-size:34px; font-weight:600; letter-spacing:-.04em; }
#landing-wrapper .ws-plan-price span { font-size:10px; color:var(--ws-t3); }
#landing-wrapper .ws-plan .ws-list { flex:1; }
#landing-wrapper .ws-list { display:grid; align-content:start; gap:12px; list-style:none; margin:22px 0 30px; padding:0; }
#landing-wrapper .ws-list li { display:flex; gap:10px; align-items:flex-start; font-size:11px; color:var(--ws-t2); line-height:1.7; }
#landing-wrapper .ws-price-foot { margin:26px 0 0; color:var(--ws-t3); font-size:11px; }
#landing-wrapper .ws-price-unavailable { padding:26px; margin:0; border:1px solid var(--ws-line); color:var(--ws-t2); font-size:14px; line-height:1.8; }
#landing-wrapper .ws-faq { border-top:1px solid var(--ws-line); }
#landing-wrapper .ws-faq details { border-bottom:1px solid var(--ws-line); }
#landing-wrapper .ws-faq summary { position:relative; padding:24px 45px 24px 0; font-size:15px; list-style:none; cursor:pointer; }
#landing-wrapper .ws-faq summary::-webkit-details-marker { display:none; }
#landing-wrapper .ws-faq summary::after { content:'+'; position:absolute; right:4px; top:20px; font-size:26px; color:var(--ws-gold); }
#landing-wrapper .ws-faq details[open] summary::after { content:'−'; }
#landing-wrapper .ws-faq-body { max-width:75ch; padding:0 45px 26px 0; color:var(--ws-t2); font-size:13px; line-height:1.9; }
#landing-wrapper .ws-faq-body a { color:var(--ws-gold); text-decoration:underline; text-underline-offset:4px; }

/* Final invitation and footer. */
#landing-wrapper .ws-final { padding-block:100px 80px; background:var(--ws-stage); color:var(--ws-t1); }
#landing-wrapper .ws-final .ws-eyebrow { color:var(--ws-gold); }
#landing-wrapper .ws-final h2 { margin:0; font:400 clamp(45px,8.2vw,120px)/1.12 var(--ws-display); letter-spacing:-.03em; }
#landing-wrapper .ws-final h2 em { color:var(--ws-gold); }
#landing-wrapper .ws-final-bottom { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:60px; padding-top:30px; border-top:1px solid var(--ws-line); }
#landing-wrapper .ws-final-bottom p { margin:0; color:var(--ws-t2); font-size:12px; line-height:1.9; }
#landing-wrapper .ws-final-button { display:flex; align-items:center; gap:32px; min-height:70px; padding:0; border:0; background:transparent; color:var(--ws-t1); font-size:15px; }
#landing-wrapper .ws-final-button > svg { width:70px; height:70px; padding:18px; border:1px solid var(--ws-gold); color:var(--ws-gold); border-radius:50%; transition:background .25s,color .25s; }
#landing-wrapper .ws-final-button:hover > svg { background:var(--ws-gold); color:var(--ws-on-gold); }
#landing-wrapper .landing-footer { padding-block:54px 24px; }
#landing-wrapper .ws-footer-top { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-bottom:44px; }
#landing-wrapper .ws-footer-top > p { margin:0; color:var(--ws-t3); font-size:11px; line-height:1.9; }
#landing-wrapper .ws-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:24px; border-top:1px solid var(--ws-line); color:var(--ws-t3); font-size:9px; }
#landing-wrapper .ws-footer-bottom > div { display:flex; flex-wrap:wrap; gap:20px; }
#landing-wrapper .ws-footer-bottom a:hover { color:var(--ws-gold); }
#landing-wrapper .ws-mobile-cta { display:none; }

/* Motion adds depth without making content dependent on it. */
#landing-wrapper.has-motion .ws-reveal { opacity:0; transform:translateY(28px); transition:opacity .8s var(--ws-ease),transform .8s var(--ws-ease); }
#landing-wrapper.has-motion .ws-reveal.is-in { opacity:1; transform:none; }
#landing-wrapper.is-paused :is(.ws-marquee-track,.ws-gallery-track,.ws-gallery-card) { animation-play-state:paused !important; }

@media(min-width:1600px) {
  #landing-wrapper .ws-hero-wordmark { font-size:250px; }
}
@media(max-width:1100px) {
  #landing-wrapper .hero-copy h1 { font-size:clamp(43px,5.6vw,62px); }
  #landing-wrapper .ws-hero-object { height:480px; margin-right:-20px; }
  #landing-wrapper .hero-logo-scene { inset:-50px -40px 0 -40px; }
  #landing-wrapper .ws-tool-showcase { gap:28px; }
  #landing-wrapper .ws-tool-tab { padding-inline:12px; gap:10px; }
  #landing-wrapper .ws-tool-panel-caption { align-items:flex-start; flex-direction:column; gap:14px; }
  #landing-wrapper .ws-workbench-grid { gap:5%; }
}
@media(max-width:800px) {
  #landing-wrapper { --ws-pad:28px; }
  #landing-wrapper .landing-nav-links { display:none; }
  #landing-wrapper .landing-nav-cta { margin-left:auto; }
  #landing-wrapper .landing-hero { min-height:900px; padding-block:115px 135px; }
  #landing-wrapper .ws-hero-layout { grid-template-columns:1fr; }
  #landing-wrapper .hero-copy { padding-block:0; max-width:620px; }
  #landing-wrapper .hero-copy h1 { font-size:clamp(48px,8.7vw,68px); }
  #landing-wrapper .marketing-lead { max-width:42ch; }
  #landing-wrapper .ws-hero-object { height:360px; margin:64px 0 20px; }
  #landing-wrapper .hero-logo-scene { inset:-100px 0 -60px 10%; min-height:420px; }
  #landing-wrapper .ws-orbit { top:66%; left:60%; width:100vw; height:100vw; }
  #landing-wrapper .ws-orbit--two { width:85vw; height:85vw; }
  #landing-wrapper .ws-gallery-head,#landing-wrapper .ws-tools-intro,#landing-wrapper .ws-portraits-heading { align-items:flex-start; flex-direction:column; gap:28px; }
  #landing-wrapper .ws-gallery-head .ws-sub { max-width:none; }
  #landing-wrapper .ws-tool-showcase { grid-template-columns:1fr; gap:24px; }
  #landing-wrapper .ws-tool-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  #landing-wrapper .ws-tool-tab { height:92px; padding:16px 12px; grid-template-columns:minmax(0,1fr); }
  #landing-wrapper .ws-tool-tab::before { inset:12px auto 12px 0; }
  #landing-wrapper .ws-tool-number,#landing-wrapper .ws-tool-arrow { display:none; }
  #landing-wrapper .ws-tool-description { display:none; }
  #landing-wrapper .ws-tool-stage { height:480px; }
  #landing-wrapper .ws-tool-panel-caption { align-items:center; flex-direction:row; }
  #landing-wrapper .ws-cinema { min-height:max(680px,100svh); }
  #landing-wrapper .ws-cinema-content { padding-block:120px 36px; }
  #landing-wrapper .ws-cinema-head { gap:22px; }
  #landing-wrapper .ws-production-story { grid-template-columns:1fr; gap:45px; }
  #landing-wrapper .ws-production-result { justify-items:start; text-align:left; gap:18px; }
  #landing-wrapper .ws-production-assets { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #landing-wrapper .ws-production-materials-head { flex-direction:column; gap:10px; }
  #landing-wrapper .ws-portrait-gallery { gap:12px; }
  #landing-wrapper .ws-portrait:nth-child(even) { margin-top:35px; }
  #landing-wrapper .ws-workbench-grid { grid-template-columns:1fr; gap:45px; }
  #landing-wrapper .ws-scene-comparison { width:100%; max-width:720px; margin-inline:auto; }
  #landing-wrapper .ws-prompt-demo { grid-template-columns:1fr; gap:28px; margin-top:65px; }
  #landing-wrapper .ws-audio-grid { grid-template-columns:1fr; gap:42px; }
  #landing-wrapper .ws-record-art { min-height:0; width:min(100%,520px); justify-self:center; }
  #landing-wrapper .ws-footer-top { flex-wrap:wrap; }
  #landing-wrapper .ws-footer-bottom { flex-wrap:wrap; }
}
@media(max-width:520px) {
  #landing-wrapper { --ws-pad:22px; --ws-media-radius:var(--ws-r-lg); }
  #landing-wrapper .landing-nav { padding-block:14px; }
  #landing-wrapper .landing-nav > .ws-shell { gap:12px; }
  #landing-wrapper .logo-text-main { font-size:12px; }
  #landing-wrapper .ws-brand-mark { width:29px; height:29px; }
  #landing-wrapper .logo-container { gap:8px; }
  #landing-wrapper .landing-nav-cta { gap:18px; }
  #landing-wrapper .btn-landing-login { font-size:11px; }
  #landing-wrapper .btn-landing-login > svg { display:none; }
  #landing-wrapper .ws-menu-toggle { width:44px; height:44px; }
  #landing-wrapper .landing-hero { min-height:850px; padding-block:114px 100px; }
  #landing-wrapper .hero-copy h1 { font-size:clamp(32px,9.1vw,47px); letter-spacing:-.035em; }
  #landing-wrapper .ws-eyebrow { font-size:9px; gap:8px; margin-bottom:22px; }
  #landing-wrapper .marketing-lead { margin-top:24px; font-size:13px; line-height:1.9; max-width:35ch; }
  #landing-wrapper .hero-actions { gap:14px; margin-top:26px; }
  #landing-wrapper .hero-actions > .ws-text-link { font-size:10px; gap:8px; }
  #landing-wrapper .btn-landing-primary { padding:14px 20px; gap:14px; font-size:11px; }
  #landing-wrapper .hero-anchor { font-size:9px; gap:8px; }
  #landing-wrapper .ws-hero-object { height:290px; margin-block:64px 10px; }
  #landing-wrapper .hero-logo-scene { inset:-110px -60px -80px -30px; }
  #landing-wrapper .ws-section,#landing-wrapper .ws-gallery { padding-block:64px; }
  #landing-wrapper .ws-section--tight { padding-top:15px; }
  #landing-wrapper .ws-section-meta { margin-bottom:38px; font-size:8px; letter-spacing:.08em; gap:16px; }
  #landing-wrapper .ws-section-meta > span:last-child { text-align:right; max-width:38%; }
  #landing-wrapper .ws-h2 { font-size:clamp(26px,7vw,36px); line-height:1.2; }
  #landing-wrapper .ws-sub { font-size:13px; line-height:1.85; }
  #landing-wrapper .ws-gallery-head { margin-bottom:38px; gap:22px; }
  #landing-wrapper .ws-gallery-row { padding-block:20px; }
  #landing-wrapper .ws-gallery-card { width:185px; }
  #landing-wrapper .ws-gallery-set { gap:18px; padding-right:18px; }
  #landing-wrapper.has-gallery-motion .ws-gallery-track { animation-duration:110s; }
  #landing-wrapper.has-gallery-motion .ws-gallery-row:nth-child(2) .ws-gallery-track { animation-duration:130s; }
  #landing-wrapper.has-gallery-motion .ws-gallery-row:nth-child(3) .ws-gallery-track { animation-duration:120s; }
  #landing-wrapper .ws-tools-intro { margin-bottom:35px; }
  #landing-wrapper .ws-tool-tab { height:76px; padding:12px 10px; }
  #landing-wrapper .ws-tool-heading { grid-template-columns:28px minmax(0,1fr); gap:8px; }
  #landing-wrapper .ws-tool-mode-icon { width:28px; height:28px; }
  #landing-wrapper .ws-tool-heading strong { font-size:13px; }
  #landing-wrapper .ws-tool-stage { height:400px; }
  #landing-wrapper .ws-tool-stage[data-tool-active="text"] { height:500px; }
  #landing-wrapper .ws-tool-models { padding:22px 20px; }
  #landing-wrapper .ws-tool-models h3 { font-size:22px; margin:18px 0 22px; }
  #landing-wrapper .ws-tool-model-grid { gap:8px; }
  #landing-wrapper .ws-tool-model { flex-direction:column; align-items:flex-start; min-height:88px; gap:8px; padding:12px; }
  #landing-wrapper .ws-tool-model strong { font-size:12px; }
  #landing-wrapper .ws-tool-panel-caption { padding:20px; align-items:flex-start; flex-direction:column; gap:14px; }
  #landing-wrapper .ws-tool-panel-caption .btn-landing-primary { width:100%; }
  #landing-wrapper .ws-tool-panel-caption > span { font-size:9px; }
  #landing-wrapper .ws-tool-tracks { padding:12px 0; gap:12px; }
  #landing-wrapper .ws-tool-track { grid-template-columns:80px minmax(0,1fr); min-height:106px; }
  #landing-wrapper .ws-tool-track .creative-audio-card__cover { width:80px; height:98px; aspect-ratio:auto; }
  #landing-wrapper .ws-tool-track .creative-audio-card__player { padding:10px 8px; gap:8px; }
  #landing-wrapper .ws-tool-track .creative-track-controls { gap:4px; }
    #landing-wrapper .ws-section.ws-tools { padding-bottom:0; }
  #landing-wrapper .ws-model-transition { margin-top:40px; }
  #landing-wrapper .ws-model-heading { font-size:9px; padding-bottom:24px; gap:12px; }
  #landing-wrapper .ws-model-marquee { padding-block:18px; margin-bottom:-28px; }
  #landing-wrapper .ws-marquee-set,#landing-wrapper .ws-marquee-set > span { gap:24px; }
  #landing-wrapper .ws-marquee-set { padding-right:24px; }
  #landing-wrapper .ws-cinema { min-height:max(640px,100svh); }
  #landing-wrapper .ws-cinema-content { padding-block:104px max(28px,env(safe-area-inset-bottom)); }
  #landing-wrapper .ws-cinema-head .ws-h2 { font-size:clamp(32px,9vw,46px); }
  #landing-wrapper .ws-showreel-screen video { object-position:54% center; }
  #landing-wrapper .ws-cinema-footer { align-items:flex-start; flex-direction:column; gap:24px; padding-top:56px; }
  #landing-wrapper .ws-cinema-footer p { gap:10px; font-size:11px; }
  #landing-wrapper .ws-showreel-sound { font-size:12px; }
  #landing-wrapper .ws-production { padding-block:64px; }
  #landing-wrapper .ws-production-image { bottom:32%; }
  #landing-wrapper .ws-production-background { object-position:55% center; }
  #landing-wrapper .ws-production-content .ws-h2 { max-width:19ch; }
  #landing-wrapper .ws-production-play-icon { width:64px; height:64px; }
  #landing-wrapper .ws-production-play b { font-size:14px; }
  #landing-wrapper .ws-production-materials { margin-top:42px; padding:18px; border-radius:var(--ws-r-lg); }
  #landing-wrapper .ws-production-assets { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  #landing-wrapper .ws-production-asset > span { padding:13px 27px 13px 10px; }
  #landing-wrapper .ws-production-asset b { font-size:11px; }
  #landing-wrapper .ws-production-asset svg { right:9px; width:13px; }
  #landing-wrapper .ws-portraits-heading { margin-bottom:36px; }
  #landing-wrapper .ws-portrait-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; }
  #landing-wrapper .ws-portrait:nth-child(even) { margin-top:30px; }
  #landing-wrapper .ws-portrait:last-child { grid-column:1 / -1; width:calc((100% - 12px) / 2); justify-self:center; }
  #landing-wrapper .ws-portrait figcaption { margin-top:12px; font-size:8px; }
  #landing-wrapper .ws-prompt-board-head { padding:16px; }
  #landing-wrapper .ws-prompt-settings { grid-template-columns:1fr; gap:18px; padding:20px 16px; }
  #landing-wrapper .ws-prompt-group legend { margin-bottom:10px; }
  #landing-wrapper .ws-prompt-result { padding:14px 16px 18px; }
  #landing-wrapper .ws-prompt-demo h3 { font-size:21px; }
  #landing-wrapper .ws-audio-actions > button { flex:1 1 160px; }
  #landing-wrapper .ws-head { margin-bottom:34px; }
  #landing-wrapper .ws-price-grid { grid-template-columns:1fr; gap:24px; }
  #landing-wrapper .ws-plan { padding:28px 24px; }
  #landing-wrapper .ws-faq summary { font-size:13px; padding-block:22px; }
  #landing-wrapper .ws-faq-body { font-size:12px; padding-right:15px; }
  #landing-wrapper .ws-final { padding-block:70px 50px; }
  #landing-wrapper .ws-final h2 { font-size:clamp(36px,9.5vw,51px); }
  #landing-wrapper .ws-final-bottom { flex-direction:column; align-items:flex-start; margin-top:36px; gap:22px; }
  #landing-wrapper .ws-final-button { justify-content:space-between; width:100%; font-size:14px; }
  #landing-wrapper .ws-final-button > svg { width:58px; height:58px; padding:15px; }
  #landing-wrapper .landing-footer { padding-block:38px max(120px,calc(100px + env(safe-area-inset-bottom))); }
  #landing-wrapper .ws-footer-top { flex-direction:column; align-items:flex-start; gap:22px; margin-bottom:30px; }
  #landing-wrapper .ws-footer-bottom { align-items:flex-start; flex-direction:column; gap:18px; }
  #landing-wrapper .ws-footer-bottom > div { gap:14px; }
  #landing-wrapper .ws-mobile-cta { position:fixed; z-index:80; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 10px 10px 16px; border:1px solid var(--ws-line); border-radius:var(--ws-r-pill); color:var(--ws-t1); background:rgba(16,17,15,.95); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); transform:translateY(160%); visibility:hidden; transition:transform .35s,visibility .35s; }
  #landing-wrapper .ws-mobile-cta.is-in { transform:none; visibility:visible; }
  #landing-wrapper .ws-mobile-cta > div { display:grid; gap:3px; }
  #landing-wrapper .ws-mobile-cta b { font-size:10px; }
  #landing-wrapper .ws-mobile-cta small { font-size:8px; color:var(--ws-t3); }
  #landing-wrapper .ws-mobile-cta .btn-landing-primary { min-height:44px; padding:12px 20px; }
}
@media(prefers-reduced-motion:reduce) {
  #landing-wrapper .hero-logo-scene canvas { transition:none; }
  #landing-wrapper *,#landing-wrapper *::before,#landing-wrapper *::after { animation:none !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  #landing-wrapper.has-motion .ws-reveal { opacity:1; transform:none; }
  #landing-wrapper [data-parallax] img { transform:none; }
  #landing-wrapper.has-gallery-motion .ws-gallery-row { overflow-x:auto; }
  #landing-wrapper.has-gallery-motion .ws-gallery-set[aria-hidden="true"] { display:none; }
  #landing-wrapper .ws-model-marquee { overflow-x:auto; }
  #landing-wrapper .ws-marquee-set[aria-hidden="true"] { display:none; }
}
@media(prefers-contrast:more) {
  #landing-wrapper { --ws-t2:#deded0; --ws-t3:#c0c0b3; --ws-line:rgba(242,239,231,.4); }
}

@media (max-width:360px) {
  #landing-wrapper .ws-tool-heading strong { font-size:10px; }
}

@media (max-width:520px) {
  #landing-wrapper .ws-scene-comparison { gap:10px; }
  #landing-wrapper .ws-scene-preview figcaption { min-height:94px; padding:12px 10px; }
  #landing-wrapper .ws-scene-preview figcaption strong { font-size:12px; }
}
