/* OD-LAYOUT-PRIMITIVES v1 — structure only. */
@layer od-layout {
  [hidden]:not([hidden="until-found" i]) { display: none !important; }
  dialog:not([open]) { display: none !important; }
  :where(.od-stack,.od-row,.od-row-top,.od-cluster,.od-grid,.od-field,.od-stat,.od-cell,.od-tile)>:where(*) { min-width:0; }
  .od-stack { display:flex; flex-direction:column; gap:var(--od-gap,8px); }
  .od-row { display:flex; align-items:center; gap:var(--od-gap,8px); }
  .od-row-top { display:flex; align-items:flex-start; gap:var(--od-gap,8px); }
  .od-cluster { display:flex; flex-wrap:wrap; align-items:center; gap:var(--od-gap,8px); }
  .od-fill { flex:1 1 0; min-width:0; }
  .od-fixed { flex:none; }
  .od-grid { display:grid; gap:var(--od-gap,12px); grid-template-columns:repeat(var(--od-cols,3),minmax(0,1fr)); }
  .od-stat,.od-field,.od-cell { display:grid; gap:var(--od-gap,2px); }
  :where(.od-stat,.od-field,.od-cell)>:where(*) { display:block; }
  .od-tile { display:grid; grid-template-rows:auto 1fr; }
  :where(.od-tile)>:where(*) { display:block; }
  .od-media { display:block; width:100%; height:auto; aspect-ratio:var(--od-ratio,auto); }
  .od-media-cover { object-fit:cover; }
  .od-icon { display:inline-block; inline-size:var(--od-icon-size,1em); block-size:var(--od-icon-size,1em); flex:none; }
  .od-truncate { display:block; max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .od-clamp-2,.od-clamp-3 { display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
  .od-clamp-2 { -webkit-line-clamp:2; }
  .od-clamp-3 { -webkit-line-clamp:3; }
  .od-lines-2 { min-height:calc(2 * 1.4em); }
  .od-nowrap { white-space:nowrap; }
  .od-keep { word-break:keep-all; overflow-wrap:anywhere; }
  .od-screen { display:grid; grid-template-rows:auto minmax(0,1fr) auto; height:100%; }
  .od-scroll { overflow-y:auto; overscroll-behavior:contain; min-height:0; }
  .od-rail { display:flex; gap:var(--od-gap,8px); overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; padding-inline:var(--od-rail-pad,16px); scroll-padding-inline:var(--od-rail-pad,16px); }
  .od-rail::-webkit-scrollbar { display:none; }
  :where(.od-rail)>:where(*) { flex:none; scroll-snap-align:start; }
  :where(.od-rail)>:where(:last-child) { margin-inline-end:var(--od-rail-pad,16px); }
  .od-spacer { flex:none; visibility:hidden; pointer-events:none; }
  .od-touch { min-width:44px; min-height:44px; }
}
:root [hidden]:where(:not([hidden="until-found" i])) { display:none; }
/* /OD-LAYOUT-PRIMITIVES v1 */

:root {
  color-scheme:dark;
  --black:#08090b;
  --graphite:#121417;
  --white:#f5f6f7;
  --gray:#9299a5;
  --silver:#c8d0d8;
  --blue:#8ad8ff;
  --paper:#f3f3ef;
  --ink:#121417;
  --ink-muted:#5e646c;
  --line-dark:rgba(200,208,216,.23);
  --line-light:rgba(18,20,23,.22);
  --font:"Helvetica Neue","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --gutter:clamp(24px,5.6vw,112px);
  --content:1728px;
  --header:88px;
  --section:clamp(112px,10vw,192px);
  --title:clamp(64px,6.7vw,128px);
  --heading:clamp(48px,5.5vw,104px);
  --body:18px;
  --s1:8px;
  --s2:16px;
  --s3:24px;
  --s4:32px;
  --s5:40px;
  --s6:48px;
  --s8:64px;
  --s10:80px;
  --s12:96px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --ease-in:cubic-bezier(.6,0,.8,.4);
  --micro:280ms;
  --entry:900ms;
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header) + var(--s3)); }
body { margin:0; background:var(--black); color:var(--white); font-family:var(--font); font-size:var(--body); font-weight:400; line-height:1.75; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body:has(dialog[open]) { overflow:hidden; }
::selection { color:var(--black); background:var(--blue); }
h1,h2,h3,h4,p { margin:0; }
h1,h2,h3,h4 { font-weight:500; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
button,a,input { -webkit-tap-highlight-color:transparent; }
button { color:inherit; }
button:disabled { opacity:.5; cursor:not-allowed; }
button:focus-visible,a:focus-visible { outline:2px solid var(--blue); outline-offset:8px; }
[data-tone="light"] button:focus-visible,[data-tone="light"] a:focus-visible { outline-color:#145473; }
section:focus,main:focus { outline:none; }
.od-icon { --od-icon-size:24px; vertical-align:middle; fill:none; stroke:currentColor; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.wrap { width:min(100%,calc(var(--content) + var(--gutter) * 2)); padding-inline:var(--gutter); margin-inline:auto; }
.section-space { padding-block:var(--section); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:100; inset:16px auto auto 16px; background:var(--white); color:var(--black); padding:12px 24px; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
.reading-progress { position:fixed; top:0; left:0; width:100%; height:2px; background:var(--blue); transform:scaleX(0); transform-origin:left; z-index:70; pointer-events:none; }
.site-header { position:fixed; z-index:50; top:0; left:0; width:100%; color:var(--white); background:rgba(8,9,11,.9); transition:background var(--micro),color var(--micro); }
.header-inner { width:min(100%,calc(var(--content) + var(--gutter) * 2)); height:var(--header); margin:auto; padding-inline:var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:var(--s4); position:relative; }
.header-inner::after { content:""; position:absolute; bottom:0; left:var(--gutter); right:var(--gutter); height:1px; background:currentColor; opacity:.2; }
.site-header.light { color:var(--ink); background:rgba(243,243,239,.94); }
.wordmark { display:inline-flex; align-items:baseline; min-height:44px; font-size:40px; font-weight:500; line-height:1.2; letter-spacing:-.075em; }
.brand-period { color:var(--blue); font-size:.72em; margin-left:2px; }
.site-header .wordmark { animation:logo-reveal 800ms var(--ease) both; }
.primary-nav { display:flex; gap:var(--s6); align-items:center; }
.primary-nav a { display:flex; align-items:center; min-height:48px; font-size:16px; position:relative; }
.primary-nav a::after { content:""; position:absolute; left:0; bottom:7px; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform var(--micro) var(--ease); }
.primary-nav a[aria-current]::after { transform:scaleX(1); transform-origin:left; }
.menu-toggle { display:none; }

.hero { min-height:100svh; padding-top:var(--header); display:flex; flex-direction:column; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:center; flex:1; padding-block:var(--s6) var(--s4); gap:var(--s4); }
.hero-copy { position:relative; z-index:2; }
.eyebrow { font-size:16px; letter-spacing:.16em; }
.hero-intro { color:var(--silver); margin-bottom:var(--s5); animation:logo-reveal var(--entry) .1s var(--ease) both; }
.hero-title { font-size:var(--title); font-weight:500; line-height:1.18; letter-spacing:-.055em; }
.title-mask { display:block; overflow:clip; }
.title-mask>span { display:block; animation:title-reveal var(--entry) .12s var(--ease) both; }
.title-mask:nth-child(2)>span { animation-delay:.25s; }
.ice-dot { color:var(--blue); }
.hero-description { color:var(--silver); font-size:18px; line-height:1.8; margin-top:var(--s5); animation:logo-reveal var(--entry) .45s var(--ease) both; }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s5); }
.hero-actions { margin-top:var(--s5); animation:logo-reveal var(--entry) .6s var(--ease) both; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:56px; border:1px solid transparent; border-radius:40px; padding:0 var(--s4); font-size:16px; line-height:1.4; font-weight:500; white-space:nowrap; transition:background var(--micro),color var(--micro),border-color var(--micro); }
.button-primary { color:var(--black); background:var(--white); }
.magnetic-inner { display:flex; align-items:center; justify-content:center; gap:var(--s3); min-height:56px; transition:transform var(--micro) var(--ease); }
.text-link { display:inline-flex; align-items:center; gap:var(--s2); padding:12px 0; min-height:48px; font-size:16px; line-height:1.5; border:0; border-bottom:1px solid var(--line-dark); background:transparent; white-space:nowrap; transition:border-color var(--micro),color var(--micro); }
.text-link .od-icon { transition:transform var(--micro) var(--ease); }
.hero-art { min-width:0; position:relative; animation:object-reveal 1100ms .1s var(--ease) both; }
.hero-art::after { content:""; position:absolute; width:88%; height:16%; left:6%; bottom:4%; background:radial-gradient(ellipse,rgba(200,208,216,.15),transparent 70%); filter:blur(16px); pointer-events:none; }
.sculpture-stage { display:grid; position:relative; isolation:isolate; aspect-ratio:1; width:100%; }
.sculpture-stage>* { grid-area:1 / 1; display:block; width:100%; height:100%; min-width:0; min-height:0; }
.sculpture-stage canvas { opacity:0; transition:opacity 600ms; }
.sculpture-stage .sculpture-fallback { opacity:1; transition:opacity 600ms; }
.sculpture-stage.is-rendered canvas { opacity:1; }
.sculpture-stage.is-rendered .sculpture-fallback { opacity:0; pointer-events:none; }
.object-caption { display:flex; align-items:center; justify-content:flex-end; gap:var(--s2); font-size:12px; letter-spacing:.16em; color:var(--gray); padding-right:var(--s3); }
.tiny-line { display:block; width:32px; height:1px; background:var(--gray); }
.hero-foot { display:flex; align-items:center; justify-content:space-between; gap:var(--s4); padding-bottom:var(--s4); min-height:88px; }
.hero-signature { color:var(--gray); font-size:13px; letter-spacing:.12em; }
.scroll-cue { display:flex; align-items:center; gap:var(--s3); min-height:44px; font-size:13px; letter-spacing:.12em; }
.scroll-cue .od-icon { color:var(--blue); animation:scroll-drift 2.8s var(--ease) infinite; }
.mobile-break { display:none; }

.section-meta { display:flex; align-items:center; gap:var(--s3); font-size:13px; line-height:1.5; letter-spacing:.12em; color:var(--gray); margin-bottom:var(--s8); }
.section-meta>span { display:block; }
.meta-rule { height:1px; background:currentColor; opacity:.35; flex:1; }
.display-heading { font-size:var(--heading); font-weight:500; line-height:1.25; letter-spacing:-.05em; text-wrap:balance; }
.pin-section { min-height:190svh; }
.philosophy-sticky { position:sticky; top:var(--header); min-height:calc(100svh - var(--header)); padding-block:var(--s6); display:flex; flex-direction:column; justify-content:center; }
.philosophy-sticky>.section-meta { margin-bottom:var(--s5); }
.philosophy-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:var(--s4); align-items:center; }
.philosophy-text { border-left:1px solid var(--line-dark); padding-left:var(--s5); }
.philosophy-text .display-heading { font-size:clamp(48px,5.2vw,96px); }
.manifesto-lines { margin-top:var(--s5); display:grid; gap:var(--s1); }
.manifesto-lines p { font-size:clamp(28px,3.1vw,56px); line-height:1.6; letter-spacing:-.02em; color:var(--silver); opacity:calc(.36 + var(--line-progress,1) * .64); transform:translateY(calc((1 - var(--line-progress,1)) * 16px)); }
.manifesto-lines .manifesto-human { color:var(--white); }
.manifesto-human::after { content:""; display:inline-block; width:8px; height:8px; background:var(--blue); border-radius:50%; margin-left:var(--s2); vertical-align:middle; }
.philosophy-orbit { display:block; width:100%; height:auto; color:var(--silver); opacity:.25; transform:rotate(calc(var(--chapter-progress,0) * 18deg)); transform-origin:center; }
.philosophy-note { color:var(--gray); font-size:16px; padding-left:var(--s5); margin-top:var(--s4); max-width:55ch; }

.section-heading { justify-content:space-between; align-items:flex-end; gap:var(--s6); margin-bottom:var(--s12); }
.section-intro { max-width:30ch; color:var(--gray); font-size:16px; line-height:1.8; padding-bottom:var(--s1); }
.project { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr); align-items:center; gap:var(--s8); padding-block:var(--s8); border-top:1px solid var(--line-dark); }
.project:last-of-type { border-bottom:1px solid var(--line-dark); }
.project-copy { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.project-index { display:flex; align-items:center; gap:var(--s2); font-size:12px; letter-spacing:.12em; color:var(--gray); margin-bottom:var(--s4); }
.index-line { display:block; width:32px; height:1px; background:var(--gray); }
.project h3 { font-size:clamp(28px,3.1vw,56px); letter-spacing:-.06em; line-height:1.2; }
.project h3>span { color:var(--silver); }
.project-tagline { font-size:22px; line-height:1.6; margin-top:var(--s3); }
.project-description { color:var(--gray); font-size:16px; line-height:1.8; margin-block:var(--s3) var(--s4); }
.project-status { display:flex; align-items:center; gap:var(--s1); color:var(--silver); font-size:13px; margin-bottom:var(--s2); }
.project-status>span { display:block; width:5px; height:5px; border-radius:50%; background:var(--blue); }
.project-preview { display:block; min-width:0; width:100%; padding:0; border:0; background:transparent; text-align:left; color:var(--white); perspective:1200px; border-radius:8px; }
.tilt-inner { display:block; width:100%; min-width:0; border:1px solid rgba(200,208,216,.25); border-radius:8px; overflow:clip; background:var(--graphite); transform-style:preserve-3d; transition:transform 400ms var(--ease),border-color 280ms,box-shadow 400ms; }
.mockup-top { display:flex; align-items:center; gap:var(--s3); min-height:64px; padding:var(--s2) var(--s4); border-bottom:1px solid rgba(200,208,216,.15); }
.mockup-brand { display:block; font-size:18px; font-weight:500; letter-spacing:-.035em; }
.mockup-caption { display:block; font-size:11px; color:var(--gray); margin-left:auto; }
.mockup-dots { font-size:24px; line-height:1; }
.digital-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:center; gap:var(--s4); min-height:288px; padding:var(--s5) var(--s4); }
.mockup-overline { display:block; font-size:12px; color:var(--gray); letter-spacing:.12em; margin-bottom:var(--s1); }
.mockup-title { display:block; font-size:clamp(28px,2.7vw,48px); line-height:1.35; font-weight:400; letter-spacing:-.04em; }
.mockup-small { display:block; font-size:13px; color:var(--gray); margin-top:var(--s1); }
.mockup-action { display:flex; align-items:center; justify-content:space-between; gap:var(--s3); width:max-content; max-width:100%; padding:var(--s1) var(--s2); color:var(--black); background:var(--blue); border-radius:4px; font-size:13px; margin-top:var(--s2); }
.digital-object { display:grid; place-items:center; aspect-ratio:1; perspective:800px; transition:transform 600ms var(--ease); }
.digital-object>span { display:block; grid-area:1 / 1; width:76%; aspect-ratio:1.2; background:linear-gradient(140deg,#171e26 8%,#e2e9ee 40%,#657681 58%,#242c34 70%,#8d9ca9); transform:rotateX(58deg) rotateZ(-35deg); border:1px solid rgba(245,246,247,.4); border-radius:1px; box-shadow:24px 24px 32px rgba(0,0,0,.3); }
.digital-object>span:nth-child(1) { transform:translateY(-40px) rotateX(58deg) rotateZ(-35deg); }
.digital-object>span:nth-child(2) { transform:translateY(0) rotateX(58deg) rotateZ(-35deg); }
.digital-object>span:nth-child(3) { transform:translateY(40px) rotateX(58deg) rotateZ(-35deg); }
.digital-bottom { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(200,208,216,.15); }
.digital-bottom>span { display:flex; align-items:center; justify-content:space-between; padding:var(--s2) var(--s3); font-size:12px; color:var(--silver); }
.digital-bottom>span+span { border-left:1px solid rgba(200,208,216,.15); }
.digital-bottom .od-icon { --od-icon-size:16px; }
.preview-novel { color:var(--ink); }
.preview-novel .tilt-inner { background:#e9eae7; border-color:#d5d8d9; }
.preview-novel .mockup-top { border-color:var(--line-light); }
.preview-novel .mockup-caption,.preview-novel .mockup-overline { color:var(--ink-muted); }
.novel-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr); gap:var(--s4); align-items:center; padding:var(--s5) var(--s4); min-height:288px; }
.novel-message { --od-gap:16px; }
.mock-search { display:flex; align-items:center; gap:var(--s1); border:1px solid #a9aeb0; border-radius:32px; padding:12px 16px; font-size:12px; color:var(--ink-muted); margin-top:var(--s1); }
.mock-search .od-icon { --od-icon-size:16px; }
.mock-search>span:last-child { margin-left:auto; }
.type-art { display:grid; padding:var(--s3) 0 var(--s3) var(--s3); border-left:1px solid var(--line-light); min-height:224px; position:relative; }
.type-art-words { display:block; color:#313b42; font-family:"Noto Serif SC","Songti SC","SimSun",serif; font-size:clamp(40px,5vw,88px); line-height:1.15; letter-spacing:.08em; }
.type-art-line { display:block; width:32px; height:1px; background:var(--ink); margin-bottom:var(--s2); }
.type-art-number { display:block; text-align:right; font-size:10px; margin-top:var(--s2); letter-spacing:.12em; }
.novel-bottom { display:flex; align-items:center; justify-content:space-between; gap:var(--s2); padding:var(--s2) var(--s4); border-top:1px solid var(--line-light); font-size:11px; color:var(--ink-muted); }
.preview-studio .tilt-inner { background:#0e1013; }
.studio-layout { display:grid; grid-template-columns:88px minmax(0,1fr); min-height:320px; }
.studio-side { display:flex; flex-direction:column; gap:var(--s3); border-right:1px solid var(--line-dark); padding:var(--s4) var(--s2); font-size:12px; color:var(--gray); }
.studio-side>span { display:block; padding:var(--s1); }
.studio-side .is-selected { color:var(--white); border-left:1px solid var(--blue); background:rgba(200,208,216,.06); }
.studio-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:var(--s1) var(--s2); padding:var(--s4); }
.studio-content>.mockup-overline { grid-column:1 / -1; }
.studio-shape { display:grid; aspect-ratio:1; align-items:center; justify-items:center; transform:rotate(-16deg); }
.studio-shape>span { grid-area:1 / 1; display:block; width:78%; height:72%; border:1px solid var(--silver); border-radius:46% 54% 38% 62%; transform:rotate(0deg); }
.studio-shape>span:nth-child(2) { transform:rotate(45deg); opacity:.75; }
.studio-shape>span:nth-child(3) { transform:rotate(90deg); opacity:.45; }
.studio-shape>span:nth-child(4) { transform:rotate(135deg); opacity:.2; }
.studio-prompt { display:flex; align-items:center; justify-content:space-between; gap:var(--s3); grid-column:1 / -1; border:1px solid var(--line-dark); border-radius:32px; padding:var(--s1) var(--s2); color:var(--gray); font-size:12px; margin-top:var(--s2); }
.studio-prompt .od-icon { --od-icon-size:16px; color:var(--blue); }
.studio-bottom { display:flex; justify-content:flex-end; gap:var(--s3); padding:var(--s2) var(--s4); border-top:1px solid var(--line-dark); font-size:11px; color:var(--gray); }
.work-footnote { color:var(--gray); font-size:13px; margin-top:var(--s4); max-width:65ch; }

.chapter-bridge { height:clamp(80px,10vw,192px); }
.bridge-to-light { background:linear-gradient(to bottom,var(--black),#26282b 35%,#aaaba9 78%,var(--paper)); }
.bridge-to-dark { background:linear-gradient(to bottom,var(--paper),#a5a6a4 25%,#27292c 70%,var(--black)); }
.light-zone { background:var(--paper); color:var(--ink); color-scheme:light; }
.light-zone .section-meta { color:var(--ink-muted); }
.values { padding-top:var(--s12); }
.values-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:var(--s12); }
.value { min-width:0; padding-inline:var(--s5); }
.value:first-child { padding-left:0; }
.value:last-child { padding-right:0; }
.value+.value { border-left:1px solid var(--line-light); }
.value-label { display:flex; align-items:baseline; gap:var(--s3); }
.value-label>span { display:block; color:var(--ink-muted); font-size:16px; }
.value-label h3 { font-size:24px; letter-spacing:-.04em; line-height:1.4; }
.value-art { width:100%; aspect-ratio:1.2; margin-block:var(--s4); }
.value-art canvas { display:block; width:100%; height:100%; }
.value-english { color:var(--ink-muted); font-size:13px; letter-spacing:.08em; margin-bottom:var(--s1); }
.value-text h4 { font-size:clamp(20px,1.8vw,32px); line-height:1.5; letter-spacing:-.04em; }
.value-text>p:last-child { color:var(--ink-muted); font-size:16px; margin-top:var(--s2); line-height:1.85; max-width:28ch; }
.lab { border-top:1px solid var(--line-light); }
.lab-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr); gap:var(--s10); align-items:center; }
.lab-intro { font-size:22px; line-height:1.7; margin-top:var(--s4); }
.lab-controls { margin-top:var(--s6); border-top:1px solid var(--line-light); }
.lab-controls button { display:flex; align-items:center; width:100%; gap:var(--s3); min-height:80px; padding:var(--s2) 0; border:0; border-bottom:1px solid var(--line-light); background:transparent; text-align:left; font-size:24px; line-height:1.4; color:var(--ink); }
.lab-controls button>.od-icon { margin-left:auto; transition:transform var(--micro) var(--ease); }
.lab-select-dot { display:block; flex:none; width:16px; height:16px; border:1px solid var(--ink-muted); border-radius:50%; position:relative; }
.lab-select-dot::after { content:""; position:absolute; width:6px; height:6px; top:4px; left:4px; border-radius:50%; background:var(--ink); transform:scale(0); transition:transform var(--micro); }
.lab-controls button[aria-pressed="true"] .lab-select-dot { background:var(--blue); border-color:#69b3d7; box-shadow:0 0 0 5px rgba(138,216,255,.18); }
.lab-controls button[aria-pressed="true"] .lab-select-dot::after { transform:scale(1); }
.lab-description { color:var(--ink-muted); font-size:16px; margin-top:var(--s3); min-height:calc(3 * 1.75em); max-width:30ch; }
.lab-visual { min-width:0; width:100%; }
#lab-canvas { display:block; width:100%; aspect-ratio:1; cursor:crosshair; touch-action:pan-y; }
.lab-visual-caption { display:flex; align-items:center; justify-content:space-between; gap:var(--s2); color:var(--ink-muted); font-size:11px; letter-spacing:.06em; padding-top:var(--s3); border-top:1px solid var(--line-light); }
.about { padding-top:var(--s8); }
.about .section-meta { margin-bottom:var(--s8); }
.about .display-heading { font-size:clamp(56px,7.8vw,144px); font-weight:400; }
.about-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:var(--s12); margin-top:var(--s12); }
.about-perspective { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; column-gap:var(--s3); }
.outline-numeral { display:block; grid-column:1; font-size:clamp(120px,20vw,320px); font-weight:200; line-height:1; letter-spacing:-.08em; color:transparent; -webkit-text-stroke:1px var(--ink); }
.about-perspective>p { grid-column:1 / -1; font-size:14px; color:var(--ink-muted); letter-spacing:.12em; padding-top:var(--s3); }
.about-orbit { display:block; grid-column:2; grid-row:1; width:100%; height:auto; color:var(--ink-muted); animation:orbit-turn 18s ease-in-out infinite alternate; }
.about-story { padding-left:var(--s8); border-left:1px solid var(--line-light); }
.about-story p { font-size:18px; line-height:1.9; color:var(--ink-muted); max-width:33ch; }
.about-story p+p { margin-top:var(--s3); }
.about-story .about-lead { font-size:28px; line-height:1.7; color:var(--ink); margin-bottom:var(--s5); letter-spacing:-.02em; }
.about-story .about-note { color:var(--ink); margin-top:var(--s5); }

.finale { min-height:110svh; padding-top:var(--s3); }
.finale-inner { display:flex; flex-direction:column; align-items:center; }
.finale-symbol { width:100%; display:grid; place-items:center; min-height:240px; position:relative; }
.convergence-lines { display:block; grid-area:1 / 1; width:100%; height:240px; color:var(--silver); opacity:.3; transform:scaleX(calc(1.15 - var(--converge,0) * .15)); transform-origin:50% 45%; }
.convergence-lines path:nth-child(2) { stroke:var(--blue); opacity:.7; }
.finale-sculpture { width:144px; grid-area:1 / 1; align-self:start; }
.finale-title { font-size:clamp(64px,8.5vw,160px); line-height:1.2; letter-spacing:-.055em; text-align:center; font-weight:400; }
.finale-brand { font-size:40px; letter-spacing:-.07em; line-height:1.3; margin-top:var(--s6); }
.finale-tagline { font-size:18px; letter-spacing:.18em; color:var(--silver); margin-top:var(--s1); }
.finale-actions { margin-top:var(--s6); justify-content:center; }
.footer { align-self:stretch; display:flex; justify-content:space-between; align-items:flex-end; gap:var(--s4); width:100%; border-top:1px solid var(--line-dark); padding-block:var(--s4); margin-top:var(--s12); }
.footer-brand { display:flex; align-items:center; gap:var(--s4); }
.footer-brand .wordmark { font-size:28px; }
.footer-brand p { font-size:13px; color:var(--gray); letter-spacing:.08em; }
.footer-right { display:flex; align-items:center; gap:var(--s4); }
.domain-link { display:flex; align-items:center; gap:var(--s1); min-height:44px; font-size:14px; color:var(--silver); }
.domain-link .od-icon { --od-icon-size:16px; }
#motion-toggle { display:flex; align-items:center; gap:var(--s1); min-height:44px; border:0; background:none; font-size:12px; color:var(--gray); padding:var(--s1); }
#motion-toggle .od-icon { --od-icon-size:16px; }

.project-dialog { color:var(--white); background:var(--graphite); width:min(760px,calc(100vw - 48px)); max-height:calc(100svh - 48px); border:1px solid var(--line-dark); border-radius:8px; padding:0; overflow:auto; overscroll-behavior:contain; box-shadow:0 32px 128px #000; }
.project-dialog[open] { animation:dialog-reveal 350ms var(--ease) both; }
.project-dialog::backdrop { background:rgba(0,0,0,.8); }
.dialog-shell { padding:var(--s6); }
.dialog-top { display:flex; justify-content:space-between; align-items:center; gap:var(--s3); padding-bottom:var(--s4); border-bottom:1px solid var(--line-dark); color:var(--gray); font-size:13px; letter-spacing:.08em; }
.dialog-close { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--line-dark); border-radius:50%; background:transparent; color:var(--white); }
.dialog-status { display:flex; width:max-content; max-width:100%; color:var(--blue); font-size:13px; margin-top:var(--s5); }
.project-dialog h2 { font-size:clamp(32px,5vw,56px); letter-spacing:-.05em; line-height:1.3; margin-top:var(--s2); }
.dialog-description { color:var(--silver); font-size:20px; line-height:1.8; margin-top:var(--s4); }
.dialog-details { list-style:none; padding:0; margin:var(--s5) 0; color:var(--gray); font-size:16px; }
.dialog-details li { padding:var(--s2) 0; border-top:1px solid var(--line-dark); }
.dialog-bottom { display:flex; align-items:center; justify-content:space-between; gap:var(--s3); margin-top:var(--s5); padding-top:var(--s3); border-top:1px solid var(--line-dark); }
.dialog-bottom p { font-size:12px; color:var(--gray); }
.cursor-aura { position:fixed; top:0; left:0; width:16px; height:16px; border:1px solid var(--blue); border-radius:50%; opacity:0; z-index:90; pointer-events:none; transition:width 200ms,height 200ms,opacity 200ms; will-change:transform; }
.cursor-aura.is-visible { opacity:.6; }
.cursor-aura.is-active { width:32px; height:32px; }
[data-reveal] { opacity:1; }
.js-ready [data-reveal]:not(.is-visible) { opacity:.2; transform:translateY(24px); }
.js-ready [data-reveal] { transition:opacity var(--entry) var(--ease),transform var(--entry) var(--ease); }

@media (hover:hover) and (pointer:fine) {
  .primary-nav a:hover::after { transform:scaleX(1); transform-origin:left; }
  .button-primary:hover { background:var(--blue); color:var(--black); border-color:var(--blue); }
  .text-link:hover { border-color:var(--blue); color:var(--white); }
  .text-link:hover .od-icon { transform:translateX(4px); }
  .project-preview:hover .tilt-inner { border-color:rgba(138,216,255,.6); box-shadow:0 16px 64px rgba(0,0,0,.3); }
  .project-preview:hover .digital-object { transform:rotate(-4deg) scale(1.04); }
  .project-preview:hover .studio-shape { transform:rotate(6deg); }
  .studio-shape { transition:transform 700ms var(--ease); }
  .lab-controls button:hover { background:rgba(18,20,23,.025); }
  .lab-controls button:hover>.od-icon { transform:translateX(4px); }
  .dialog-close:hover { background:var(--white); color:var(--black); }
  .domain-link:hover,#motion-toggle:hover { color:var(--white); }
}

@media (min-width:1920px) {
  .hero-grid { gap:var(--s8); }
  .hero-description { font-size:22px; }
  .project { gap:var(--s12); }
  .digital-layout,.novel-layout { min-height:352px; }
  .studio-layout { min-height:384px; }
}
@media (max-width:1100px) {
  :root { --gutter:40px; --title:clamp(60px,7.5vw,88px); --heading:64px; --section:112px; }
  .hero-grid { gap:var(--s1); }
  .hero-intro { margin-bottom:var(--s4); }
  .hero-actions { gap:var(--s3); }
  .hero-description { font-size:16px; }
  .hero-art { align-self:center; }
  .project { grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr); gap:var(--s5); }
  .project h3 { font-size:32px; }
  .project-tagline { font-size:20px; }
  .desktop-break { display:none; }
  .mockup-top { padding-inline:var(--s3); }
  .mockup-brand { font-size:16px; }
  .digital-layout,.novel-layout { padding:var(--s4) var(--s3); gap:var(--s2); min-height:256px; }
  .mockup-title { font-size:28px; }
  .mockup-small { font-size:12px; }
  .mockup-caption { font-size:10px; }
  .digital-bottom>span { padding-inline:var(--s2); }
  .mock-search { padding:var(--s1) 12px; font-size:10px; }
  .studio-layout { grid-template-columns:64px minmax(0,1fr); min-height:280px; }
  .studio-content { padding:var(--s3); }
  .type-art { padding-left:var(--s2); min-height:192px; }
  .type-art-words { font-size:64px; }
  .value { padding-inline:var(--s3); }
  .value-label { gap:var(--s2); }
  .value-label h3 { font-size:20px; }
  .lab-layout { gap:var(--s6); grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); }
  .lab-intro { font-size:20px; }
  .lab-controls button { font-size:22px; min-height:72px; }
  .about-layout { gap:var(--s6); }
  .about-story { padding-left:var(--s6); }
  .footer-brand { gap:var(--s2); }
  .footer-right { gap:var(--s2); }
}
@media (min-width:769px) and (max-height:780px) {
  .hero-grid { padding-block:var(--s3); }
  .hero-intro { margin-bottom:var(--s3); }
  .hero-description,.hero-actions { margin-top:var(--s3); }
  .hero-sculpture { max-height:calc(100svh - 200px); aspect-ratio:1; }
  .hero-title { font-size:clamp(56px,6.2vw,100px); }
  .philosophy-text .display-heading { font-size:clamp(40px,4.8vw,72px); }
  .manifesto-lines { margin-top:var(--s3); }
  .manifesto-lines p { font-size:clamp(28px,3vw,44px); }
  .philosophy-sticky { padding-block:var(--s3); }
  .philosophy-orbit { max-height:440px; }
}
@media (max-width:768px) {
  :root { --header:72px; --gutter:32px; --section:96px; --title:clamp(56px,8.6vw,76px); --heading:clamp(44px,7.2vw,60px); }
  .wordmark { font-size:36px; }
  .primary-nav { gap:var(--s4); }
  .hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:var(--s2); padding-block:var(--s6); }
  .hero-intro { font-size:13px; letter-spacing:.08em; }
  .hero-title { font-size:clamp(48px,7.3vw,64px); }
  .hero-actions { flex-direction:column; align-items:flex-start; gap:var(--s1); }
  .hero-foot { padding-bottom:var(--s3); }
  .hero-signature { font-size:11px; }
  .object-caption { display:none; }
  .section-meta { margin-bottom:var(--s6); }
  .pin-section { min-height:0; }
  .philosophy-sticky { position:relative; top:auto; min-height:0; padding-block:var(--section); }
  .philosophy-layout { grid-template-columns:minmax(0,1.5fr) minmax(0,.6fr); }
  .philosophy-text { padding-left:var(--s3); }
  .philosophy-text .display-heading { font-size:clamp(40px,6vw,56px); }
  .philosophy-orbit { max-height:440px; }
  .philosophy-note { padding-left:var(--s3); margin-top:var(--s5); }
  .section-heading { flex-direction:column; align-items:flex-start; gap:var(--s4); margin-bottom:var(--s8); }
  .section-intro { max-width:none; }
  .project { grid-template-columns:minmax(0,1fr); gap:var(--s4); padding-block:var(--s6); }
  .project-copy { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 var(--s3); align-items:baseline; }
  .project-index { grid-column:1 / -1; margin-bottom:var(--s3); }
  .project h3 { font-size:40px; }
  .project-tagline { grid-column:1; margin-top:var(--s2); }
  .project-description { grid-column:1; margin-top:var(--s2); margin-bottom:0; }
  .project-copy>.text-link { grid-column:2; grid-row:3; }
  .project-status { grid-column:2; grid-row:2; align-self:center; justify-content:flex-end; }
  .mockup-title { font-size:36px; }
  .mockup-top { padding-inline:var(--s4); }
  .digital-layout,.novel-layout { padding:var(--s4); min-height:272px; }
  .digital-object { max-width:200px; }
  .studio-content { padding:var(--s4); }
  .studio-layout { grid-template-columns:88px minmax(0,1fr); }
  .studio-shape { max-width:200px; }
  .values { padding-top:var(--s6); }
  .values-grid { margin-top:var(--s8); gap:var(--s2); }
  .value { padding-inline:var(--s2); }
  .value-label { display:grid; gap:var(--s1); }
  .value-label h3 { font-size:22px; }
  .value-text h4 { font-size:20px; }
  .value-text>p:last-child { font-size:16px; }
  .value-art { margin-block:var(--s3); aspect-ratio:1; }
  .lab-layout { grid-template-columns:minmax(0,1fr); gap:var(--s5); }
  .lab-copy { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:var(--s5); }
  .lab-copy>.display-heading { grid-column:1; }
  .lab-intro { grid-column:1; font-size:18px; }
  .lab-controls { grid-column:2; grid-row:1 / 3; margin-top:0; }
  .lab-description { grid-column:1 / -1; max-width:48ch; min-height:0; }
  .lab-visual { max-width:560px; justify-self:center; }
  .about-layout { gap:var(--s5); }
  .about .display-heading { font-size:clamp(56px,9vw,80px); }
  .about-story { padding-left:var(--s4); }
  .about-story p { font-size:16px; }
  .about-story .about-lead { font-size:24px; }
  .about-layout { grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); margin-top:var(--s8); }
  .about-perspective { grid-template-columns:1fr; align-content:start; }
  .outline-numeral { font-size:clamp(120px,25vw,200px); }
  .about-orbit { grid-column:1; grid-row:3; width:70%; margin-top:var(--s4); }
  .finale { min-height:auto; }
  .finale-symbol { min-height:192px; }
  .convergence-lines { height:192px; }
  .finale-sculpture { width:120px; }
  .finale-title { font-size:clamp(64px,10vw,88px); }
  .footer { margin-top:var(--s10); align-items:center; }
  .footer-brand { flex-direction:column; align-items:flex-start; gap:0; }
  .footer-right { flex-direction:column; align-items:flex-end; gap:0; }
  .dialog-shell { padding:var(--s4); }
}
@media (max-width:580px) {
  :root { --gutter:24px; --section:80px; --heading:44px; }
  .hero { min-height:100svh; }
  .hero-grid { display:flex; flex-direction:column; gap:0; padding-block:var(--s5) 0; align-items:stretch; justify-content:space-between; }
  .hero-copy { width:100%; }
  .hero-intro { font-size:12px; margin-bottom:var(--s3); }
  .hero-title { font-size:clamp(48px,12.5vw,72px); line-height:1.2; letter-spacing:-.055em; }
  .hero-description { margin-top:var(--s3); font-size:16px; line-height:1.8; }
  .hero-actions { flex-direction:row; flex-wrap:wrap; align-items:center; gap:var(--s3); margin-top:var(--s3); }
  .button { min-height:48px; padding-inline:var(--s3); font-size:14px; }
  .magnetic-inner { min-height:48px; gap:var(--s2); }
  .button .od-icon { --od-icon-size:20px; }
  .text-link { font-size:14px; gap:var(--s1); }
  .text-link .od-icon { --od-icon-size:20px; }
  .hero-art { align-self:center; width:min(100%,360px); }
  .hero-sculpture { aspect-ratio:1.2; }
  .hero-foot { min-height:64px; padding-block:var(--s1) var(--s3); gap:var(--s2); }
  .hero-signature { font-size:9px; letter-spacing:.06em; }
  .scroll-cue { font-size:11px; gap:var(--s1); }
  .scroll-cue .od-icon { --od-icon-size:20px; }
  .primary-nav { display:none; position:absolute; left:0; top:var(--header); width:100%; padding:var(--s3) var(--gutter) var(--s4); background:var(--black); border-bottom:1px solid var(--line-dark); flex-direction:column; align-items:stretch; gap:0; }
  .primary-nav a { min-height:56px; font-size:22px; }
  .primary-nav a::after { width:32px; bottom:8px; }
  .site-header.light .primary-nav { background:var(--paper); border-color:var(--line-light); }
  .site-header.menu-open .primary-nav { display:flex; animation:menu-reveal 280ms var(--ease); }
  .menu-toggle { display:flex; flex-direction:column; justify-content:center; align-items:center; width:44px; height:44px; padding:var(--s1); border:0; background:transparent; gap:6px; }
  .menu-toggle span { display:block; width:24px; height:1px; background:currentColor; transition:transform var(--micro); }
  .menu-open .menu-toggle span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-open .menu-toggle span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .section-meta { margin-bottom:var(--s5); font-size:11px; gap:var(--s2); letter-spacing:.06em; }
  .philosophy-layout { grid-template-columns:minmax(0,1fr); gap:var(--s4); }
  .philosophy-text { padding-left:var(--s3); }
  .philosophy-text .display-heading { font-size:clamp(36px,9.8vw,48px); }
  .manifesto-lines { margin-top:var(--s5); gap:var(--s1); }
  .manifesto-lines p { font-size:28px; line-height:1.75; }
  .philosophy-orbit { display:none; }
  .philosophy-note { font-size:14px; line-height:1.85; }
  .section-heading { margin-bottom:var(--s6); gap:var(--s3); }
  .section-intro { font-size:16px; }
  .project { padding-block:var(--s5); }
  .project-copy { display:flex; align-items:flex-start; gap:0; }
  .project-index { margin-bottom:var(--s2); }
  .project h3 { font-size:36px; }
  .project-tagline { font-size:20px; margin-top:var(--s2); }
  .project-description { font-size:16px; margin-top:var(--s2); }
  .project-copy>.text-link { margin-top:var(--s2); }
  .project-status { margin-top:var(--s2); margin-bottom:0; align-self:flex-start; }
  .mockup-top { min-height:52px; padding:12px var(--s2); gap:var(--s1); }
  .mockup-brand { font-size:14px; }
  .mockup-caption { font-size:9px; }
  .mockup-top>.od-icon { --od-icon-size:16px; }
  .mockup-overline { font-size:10px; letter-spacing:.04em; }
  .mockup-title { font-size:26px; }
  .mockup-small { display:none; }
  .digital-layout,.novel-layout { padding:var(--s3) var(--s2); min-height:224px; gap:var(--s1); }
  .digital-layout { grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr); }
  .digital-object { max-width:144px; }
  .digital-object>span { width:78%; }
  .digital-object>span:first-child { transform:translateY(-24px) rotateX(58deg) rotateZ(-35deg); }
  .digital-object>span:last-child { transform:translateY(24px) rotateX(58deg) rotateZ(-35deg); }
  .mockup-action { font-size:11px; padding:6px 12px; }
  .mockup-action .od-icon { --od-icon-size:16px; }
  .digital-bottom>span { font-size:10px; padding:12px var(--s2); }
  .digital-bottom .od-icon { --od-icon-size:12px; }
  .novel-layout { grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); }
  .novel-message { --od-gap:12px; }
  .mock-search { padding:var(--s1); font-size:8px; gap:4px; }
  .mock-search .od-icon { --od-icon-size:12px; }
  .type-art { min-height:176px; padding-left:var(--s2); }
  .type-art-words { font-size:48px; }
  .type-art-number { font-size:8px; }
  .novel-bottom { padding:12px var(--s2); font-size:9px; gap:var(--s1); }
  .studio-layout { grid-template-columns:52px minmax(0,1fr); min-height:240px; }
  .studio-side { padding:var(--s3) 4px; font-size:10px; gap:var(--s1); }
  .studio-side>span { padding:8px 4px; }
  .studio-content { padding:var(--s3) var(--s2); }
  .studio-content .mockup-title { font-size:24px; }
  .studio-content .mockup-overline { font-size:9px; }
  .studio-prompt { font-size:10px; }
  .studio-bottom { padding:12px var(--s2); gap:var(--s2); font-size:9px; }
  .work-footnote { font-size:12px; }
  .chapter-bridge { height:96px; }
  .values-grid { grid-template-columns:minmax(0,1fr); margin-top:var(--s6); gap:var(--s5); }
  .value { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:var(--s3); padding:0 0 var(--s5); }
  .value+.value { border-left:0; }
  .value:not(:last-child) { border-bottom:1px solid var(--line-light); }
  .value-label { display:flex; grid-column:1 / -1; gap:var(--s2); }
  .value-label h3 { font-size:24px; }
  .value-label>span { font-size:14px; }
  .value-art { grid-column:1; grid-row:2; aspect-ratio:.85; margin-block:var(--s3) 0; align-self:center; }
  .value-text { grid-column:2; align-self:center; padding-top:var(--s4); }
  .value-text h4 { font-size:20px; text-wrap:balance; }
  .value-text>p:last-child { font-size:14px; line-height:1.9; }
  .value-english { font-size:10px; }
  .lab-copy { display:block; }
  .lab-intro { font-size:20px; margin-top:var(--s3); }
  .lab-controls { margin-top:var(--s5); }
  .lab-controls button { min-height:72px; font-size:24px; }
  .lab-description { min-height:calc(3 * 1.75em); margin-top:var(--s3); }
  .lab-layout { gap:var(--s4); }
  .lab-visual-caption { font-size:10px; }
  .about { padding-top:var(--s5); }
  .about .display-heading { font-size:clamp(48px,12.5vw,64px); }
  .about-layout { grid-template-columns:minmax(0,1fr); gap:var(--s5); margin-top:var(--s6); }
  .about-perspective { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; }
  .outline-numeral { font-size:160px; }
  .about-orbit { grid-column:2; grid-row:1; width:100%; margin-top:0; }
  .about-perspective>p { padding-top:var(--s2); font-size:12px; }
  .about-story { padding-left:0; padding-top:var(--s5); border-left:0; border-top:1px solid var(--line-light); }
  .about-story p { max-width:none; font-size:16px; }
  .about-story .about-lead { font-size:26px; margin-bottom:var(--s4); }
  .finale-symbol { min-height:168px; }
  .convergence-lines { height:168px; }
  .finale-sculpture { width:104px; }
  .finale-title { font-size:clamp(44px,12.5vw,68px); }
  .finale-brand { font-size:36px; margin-top:var(--s4); }
  .finale-tagline { font-size:16px; }
  .finale-actions { gap:var(--s3); margin-top:var(--s5); }
  .footer { flex-direction:column; align-items:stretch; margin-top:var(--s8); gap:var(--s2); }
  .footer-brand { flex-direction:row; align-items:center; justify-content:space-between; gap:var(--s2); }
  .footer-brand .wordmark { font-size:28px; }
  .footer-brand p { font-size:11px; }
  .footer-right { flex-direction:row; align-items:center; justify-content:space-between; gap:var(--s2); }
  .domain-link { font-size:12px; }
  #motion-toggle { font-size:11px; padding-right:0; }
  .project-dialog { width:calc(100vw - 32px); max-height:calc(100svh - 32px); }
  .dialog-shell { padding:var(--s3); }
  .dialog-description { font-size:18px; }
  .dialog-details { font-size:15px; }
  .dialog-bottom { align-items:flex-start; flex-direction:column; }
}
@media (max-width:374px) {
  :root { --gutter:20px; }
  .hero-title { font-size:44px; }
  .hero-actions { gap:12px; }
  .hero-actions>.text-link { font-size:12px; }
  .value { column-gap:var(--s2); }
  .value-text h4 { font-size:18px; }
  .finale-title { font-size:44px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
  .js-ready [data-reveal] { opacity:1; transform:none; }
  .manifesto-lines p,.philosophy-orbit,.convergence-lines { opacity:1; transform:none; }
  .philosophy-orbit { opacity:.25; }
  .convergence-lines { opacity:.3; }
  .pin-section { min-height:0; }
  .philosophy-sticky { position:relative; top:auto; padding-block:var(--section); }
  .cursor-aura { display:none; }
}
.motion-paused { scroll-behavior:auto; }
.motion-paused *,.motion-paused *::before,.motion-paused *::after { animation-play-state:paused !important; }
.motion-paused .cursor-aura { display:none; }
.motion-paused .js-ready [data-reveal],.motion-paused.js-ready [data-reveal] { opacity:1; transform:none; }
.motion-paused .magnetic-inner,.motion-paused .tilt-inner { transform:none !important; }
@media (pointer:coarse) { .cursor-aura { display:none; } }

@keyframes title-reveal { from { transform:translateY(110%); } to { transform:translateY(0); } }
@keyframes logo-reveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes object-reveal { from { opacity:0; transform:scale(.88) rotate(-8deg); } to { opacity:1; transform:scale(1) rotate(0); } }
@keyframes scroll-drift { 0%,100% { transform:translateY(-3px); } 50% { transform:translateY(3px); } }
@keyframes orbit-turn { from { transform:rotate(-12deg); } to { transform:rotate(12deg); } }
@keyframes dialog-reveal { from { opacity:0; transform:translateY(16px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes menu-reveal { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
