: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); user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
img { pointer-events:none; -webkit-user-drag:none; user-select:none; }
.landing { position:relative; isolation:isolate; min-height:100svh; overflow:hidden; display:grid; grid-template-rows:auto 1fr auto auto; padding:30px clamp(28px,4vw,72px) 18px; 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; }
.mobile-halo { display:none; }
.magnifier { display:none; position:absolute; z-index:10; width:312px; height:312px; overflow:hidden; border:2px solid rgba(236,233,223,.95); border-radius:50%; background:#302f2e; box-shadow:0 18px 48px rgba(0,0,0,.32),0 0 0 1px rgba(32,32,34,.75); pointer-events:none; transform:translate(-50%,-50%) scale(.82); opacity:0; transition:opacity .14s ease,transform .14s ease; }
.magnifier img { position:absolute; display:block; max-width:none; object-fit:contain; object-position:center bottom; filter:none; animation:none; }
.magnifier span { position:absolute; right:10px; bottom:9px; z-index:2; display:grid; place-items:center; width:27px; height:27px; border-radius:50%; background:rgba(236,233,223,.92); color:var(--ink); font-family:var(--font-mono),monospace; font-size:9px; font-weight:700; }
@media (min-width:781px) and (hover:hover) and (pointer:fine) { .character-wrap { cursor:crosshair; }.magnifier { display:block; }.magnifier.visible { opacity:1; transform:translate(-50%,-50%) scale(1); } }
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; }
.features { position:relative; z-index:5; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(32,32,34,.35); }
.feature { min-height:82px; display:flex; align-items:center; justify-content:center; gap:15px; padding:14px 18px; border-right:1px solid rgba(32,32,34,.2); }
.feature:last-child { border-right:0; }
.feature svg { width:34px; height:34px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.feature svg text { fill:currentColor; stroke:none; font-family:Arial,sans-serif; font-size:5px; font-weight:700; }
.feature span { font-family:var(--font-geist),Arial,sans-serif; font-size:11px; font-weight:750; letter-spacing:.09em; line-height:1.25; 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; }
  .mobile-halo { display:block; position:absolute; z-index:0; right:-18vw; bottom:48px; width:96vw; height:60%; transform: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; }
  .character-wrap { z-index:10; right:-31vw; bottom:-16px; width:125vw; height:73%; pointer-events:none; } .character { z-index:2; max-width:84%; } .character-wrap .halo { display:none; }
  .features { grid-template-columns:repeat(2,1fr); }.feature { min-height:50px; justify-content:flex-start; gap:8px; padding:7px 9px; }.feature:nth-child(2) { border-right:0; }.feature:nth-child(-n+2) { border-bottom:1px solid rgba(32,32,34,.18); }.feature svg { width:22px; height:22px; }.feature span { font-size:8px; font-weight:750; letter-spacing:.045em; }
  footer { font-size:8px; padding-top:8px; }
}
@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; } }
