:root { --paper:#ece9df; --ink:#202022; --font-geist:Arial; --font-mono:"Courier New"; }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; background:var(--paper); }
body { font-family:var(--font-geist),Arial,sans-serif; color:var(--ink); }
.landing { position:relative; isolation:isolate; min-height:100svh; overflow:hidden; display:grid; grid-template-rows:auto 1fr auto; padding:30px clamp(28px,4vw,72px) 24px; background:linear-gradient(90deg,transparent 49.92%,rgba(32,32,34,.09) 50%,transparent 50.08%),radial-gradient(circle at 74% 46%,rgba(255,255,255,.88),transparent 34%),var(--paper); }
.noise { position:absolute; inset:0; z-index:-1; opacity:.16; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E"); mix-blend-mode:multiply; }
.topbar,footer { position:relative; z-index:4; display:flex; align-items:center; justify-content:space-between; }
.logo { width:clamp(178px,18vw,275px); height:auto; display:block; }
.limited { display:flex; align-items:center; gap:12px; font-family:var(--font-mono),monospace; text-transform:uppercase; }
.limited span { font-size:9px; letter-spacing:.18em; }.limited strong { border:1px solid var(--ink); padding:8px 10px; font-size:10px; letter-spacing:.13em; font-weight:500; }
.hero { position:relative; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; min-height:0; }
.copy { position:relative; z-index:3; padding-top:4vh; }
h1 { margin:0; color:#3d3d3d; font-size:clamp(88px,12.2vw,190px); font-weight:800; line-height:.71; letter-spacing:-.085em; text-transform:uppercase; }
h1 span { display:block; }
h1 .outline { color:transparent; -webkit-text-stroke:clamp(1.5px,.15vw,3px) #3d3d3d; margin-left:.3em; }
.intro { margin:clamp(28px,4vh,50px) 0 0; max-width:390px; font-size:clamp(14px,1.15vw,18px); line-height:1.45; letter-spacing:-.02em; }
.character-wrap { position:absolute; z-index:2; right:-2vw; bottom:-24px; width:min(51vw,760px); height:calc(100% + 62px); display:flex; justify-content:center; align-items:flex-end; }
.character { position:relative; z-index:2; display:block; max-width:100%; height:100%; object-fit:contain; object-position:center bottom; filter:drop-shadow(22px 30px 24px rgba(0,0,0,.18)); animation:arrive 1.1s cubic-bezier(.2,.8,.2,1) both; }
.halo { position:absolute; z-index:0; width:min(40vw,610px); height:min(54vh,570px); top:47%; left:51%; transform:translate(-50%,-50%) rotate(-7deg); border-radius:42% 58% 59% 41% / 46% 41% 59% 54%; background:radial-gradient(circle at 30% 26%,rgba(92,92,90,.78),transparent 47%),radial-gradient(circle at 76% 72%,rgba(25,25,26,.82),transparent 56%),linear-gradient(135deg,#6c6b68 0%,#3d3d3d 48%,#202022 100%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 24px 60px rgba(32,32,34,.2); opacity:.88; }
footer { border-top:1px solid rgba(32,32,34,.4); padding-top:14px; font-family:var(--font-mono),monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
@keyframes arrive { from { opacity:0; transform:translateY(40px) scale(.96); } to { opacity:1; transform:none; } }
@media (max-width:760px) {
  .landing { padding:20px 18px 16px; background:radial-gradient(circle at 50% 53%,white,transparent 38%),var(--paper); }
  .logo { width:165px; } .limited span { display:none; } .limited strong { padding:6px 7px; font-size:8px; } .hero { display:block; } .copy { padding-top:8vh; }
  h1 { font-size:clamp(66px,24vw,104px); line-height:.73; } h1 .outline { margin-left:.2em; }
  .intro { position:relative; z-index:5; margin:24px 0 0; max-width:220px; font-size:12px; }
  .character-wrap { right:-31vw; bottom:-16px; width:125vw; height:73%; } .character { max-width:84%; } .halo { width:76vw; }
  footer { font-size:8px; padding-top:10px; }
}
@media (max-height:700px) and (min-width:761px) { .landing { padding-top:20px; } h1 { font-size:clamp(76px,10.5vw,150px); } .character-wrap { height:calc(100% + 28px); } }
@media (prefers-reduced-motion:reduce) { .character { animation:none; } }
