:root {
  color-scheme: dark;
  --ink: #f4f0e8;
  --muted: rgba(244, 240, 232, .62);
  --line: rgba(255, 255, 255, .18);
  --bg: #070706;
  --gold: #cda64a;
  --serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --sans: "Helvetica Neue", "Neue Haas Grotesk", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--sans); overflow-x: clip; }
a { color: inherit; }
img { display: block; max-width: 100%; }

.site-header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  height: 76px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
  padding: 0 4vw;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(to bottom, rgba(4,4,3,.78), transparent);
  backdrop-filter: blur(8px);
}
.brand-mark { display: block; width: 118px; text-decoration: none; }
.brand-mark img { width: 100%; filter: invert(1); }
.house-nav { display: flex; gap: 28px; }
.house-nav a { position: relative; padding: 10px 0; text-decoration: none; text-transform: uppercase; font-size: .68rem; letter-spacing: .2em; color: var(--muted); transition: color .3s ease; }
.house-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 3px; height: 1px; background: currentColor; transition: right .3s ease; }
.house-nav a:hover, .house-nav a.active { color: var(--ink); }
.house-nav a.active::after { right: 0; }
.private-label { justify-self: end; text-transform: uppercase; font-size: .62rem; letter-spacing: .22em; color: var(--muted); }

.opening { position: relative; min-height: 100svh; display: grid; align-items: center; padding: 120px 8vw 72px; overflow: hidden; isolation: isolate; }
.opening::before { content: ""; position: absolute; inset: 0; z-index: -4; background: radial-gradient(circle at 67% 42%, #5d4418 0, #161108 30%, #070706 69%); }
.opening::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(7,7,6,.78) 0, rgba(7,7,6,.70) 25%, rgba(7,7,6,.18) 64%, rgba(7,7,6,.72)); }
.opening-glow { position: absolute; z-index: -3; width: 46vw; aspect-ratio: 1; left: 49%; top: 49%; transform: translate(-50%,-50%); border-radius: 50%; background: rgba(214,167,69,.12); filter: blur(55px); }
.opening-mask { position: absolute; z-index: -2; width: min(105vw, 1900px); left: 62%; top: 47%; transform: translate(-50%,-50%); }
.opening-mask img { width: 100%; }
.opening-copy { width: min(48rem, 72vw); position: relative; }
.opening-logo { width: min(250px, 34vw); margin: 0 0 30px; filter: invert(1); opacity: .92; }
.eyebrow, .chapter { margin: 0 0 24px; text-transform: uppercase; font-size: .67rem; letter-spacing: .28em; color: rgba(240,211,145,.78); }
.opening h1, .manifesto h2, .ecosystem h2, .closing h2 { margin: 0; font: 400 clamp(3.4rem, 7.1vw, 7.7rem)/.86 var(--serif); letter-spacing: -.045em; }
.opening h1 em, .closing h2 em { color: #d6b35d; font-weight: 400; }
.opening-note { width: min(29rem, 58vw); margin: 34px 0 0; font: 400 1rem/1.65 var(--sans); color: var(--muted); }
.scroll-cue { position: absolute; right: 4vw; bottom: 34px; display: flex; align-items: center; gap: 15px; transform: rotate(90deg); transform-origin: right bottom; color: var(--muted); text-transform: uppercase; font-size: .58rem; letter-spacing: .24em; }
.scroll-cue i { width: 68px; height: 1px; background: currentColor; }

.manifesto { min-height: 95svh; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(260px,.45fr); align-items: end; gap: 7vw; padding: 15vh 8vw 13vh; background: #0a0a09; border-top: 1px solid rgba(255,255,255,.06); }
.manifesto .chapter { grid-column: 1 / -1; align-self: start; }
.manifesto h2 { font-size: clamp(3.2rem, 6.5vw, 7.2rem); }
.manifesto h2 span { color: rgba(244,240,232,.3); }
.manifesto > p:last-child { margin: 0 0 1.3rem; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }

.house { --accent: #cda64a; height: var(--house-height, 600svh); position: relative; background: #080807; }
.house-plata { --house-height: 600svh; --accent: #d7dce6; }
.house-oro { --house-height: 600svh; --accent: #cda64a; }
.house-rosa { --house-height: 600svh; --accent: #e7a9b7; }
.house-jade { --house-height: 600svh; --accent: #33d2ad; }
.house-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; isolation: isolate; background: #080807; }
.house-atmosphere { position: absolute; z-index: -5; inset: 0; background: radial-gradient(circle at 61% 47%, color-mix(in srgb, var(--accent) 30%, transparent) 0, rgba(9,9,8,.55) 31%, #070706 73%); }
.house-atmosphere::before { content: ""; position: absolute; inset: 0; opacity: .28; background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc(8.333vw - 1px), rgba(255,255,255,.06) 8.333vw); }
.house-atmosphere::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,5,4,.92), transparent 38% 75%, rgba(5,5,4,.62)); }
.house-rosa .house-atmosphere { background: radial-gradient(circle at 61% 47%, rgba(232,168,183,.25) 0, rgba(28,57,55,.42) 31%, #070706 73%); }
.house-rosa .house-number { color: rgba(232,168,183,.09); }
.house-number { position: absolute; z-index: -3; right: 1vw; top: 45%; transform: translateY(-50%); font: 400 min(49vw, 44rem)/.8 var(--serif); color: color-mix(in srgb, var(--accent) 10%, transparent); }
.hero-mask { position: absolute; z-index: -1; left: 61%; top: 51%; width: min(42vw, 610px); height: 88vh; object-fit: contain; transform: translate(-50%,-50%) scale(var(--mask-scale,1)); opacity: var(--mask-opacity,1); filter: drop-shadow(0 45px 70px rgba(0,0,0,.68)); transition: filter .5s ease; }
.house-jade .hero-mask { width: min(49vw, 730px); }
.house-identity { position: absolute; z-index: 5; top: 90px; left: 4vw; width: 210px; opacity: var(--identity-opacity,1); transition: opacity .3s ease; }
.house-identity img { width: 100%; max-height: 150px; object-fit: contain; filter: brightness(0) invert(1) drop-shadow(0 5px 15px rgba(0,0,0,.6)); }
.house-identity p { margin: -20px 0 0; padding-top: 12px; border-top: 1px solid var(--line); text-transform: uppercase; font-size: .57rem; letter-spacing: .2em; line-height: 1.6; color: var(--muted); }

.act-panel { --panel-y: 120vh; --panel-opacity: 0; position: absolute; z-index: 10; left: 5.5vw; top: 50%; width: min(70vw, 1030px); height: min(72vh, 680px); display: grid; grid-template-columns: minmax(260px,.85fr) minmax(280px,1.15fr); align-items: center; overflow: hidden; padding: clamp(30px, 4vw, 64px); border: 1px solid color-mix(in srgb, var(--accent) 48%, rgba(255,255,255,.1)); background: linear-gradient(135deg, rgba(10,10,9,.86), color-mix(in srgb, var(--accent) 8%, rgba(10,10,9,.84))); box-shadow: 0 35px 100px rgba(0,0,0,.42), inset 0 0 60px rgba(255,255,255,.02); backdrop-filter: blur(18px) saturate(118%); transform: translateY(calc(-50% + var(--panel-y))); opacity: var(--panel-opacity); will-change: transform, opacity; }
.act-panel::before, .act-panel::after { content: ""; position: absolute; pointer-events: none; }
.act-panel::before { inset: 14px; border: 1px solid rgba(255,255,255,.08); }
.act-panel::after { left: 0; top: 0; bottom: 0; width: 3px; background: var(--accent); }
.act-copy { position: relative; z-index: 2; align-self: center; }
.act-index { margin: 0 0 25px; text-transform: uppercase; font-size: .62rem; letter-spacing: .26em; color: color-mix(in srgb, var(--accent) 82%, white); }
.act-copy h3 { margin: 0; font: 400 clamp(3.1rem, 5.4vw, 6.2rem)/.84 var(--serif); letter-spacing: -.045em; }
.act-copy > p:last-child { max-width: 25rem; margin: 28px 0 0; color: var(--muted); font-size: .95rem; line-height: 1.65; }
.act-asset { justify-self: center; width: 100%; height: 61vh; object-fit: contain; filter: drop-shadow(0 28px 28px rgba(0,0,0,.4)); }
.act-wide { width: 120%; }
.character { height: 66vh; }
.mask-detail { transform: scale(1.12); }
.product-pair { align-self: stretch; display: flex; align-items: center; justify-content: center; position: relative; min-width: 0; }
.product-pair img { position: absolute; height: 60vh; width: 63%; object-fit: contain; filter: drop-shadow(0 26px 30px rgba(0,0,0,.4)); }
.product-pair img:first-child { transform: translateX(-19%); }
.product-pair img:last-child { transform: translateX(27%) scale(.97); }
.scene-progress { position: absolute; z-index: 20; right: 3vw; top: 16vh; bottom: 16vh; width: 1px; background: rgba(255,255,255,.14); }
.scene-progress span { display: block; width: 1px; height: var(--house-progress-pct, 0%); background: var(--accent); }

.ring-activation { min-height: 125svh; position: relative; padding: 14vh 5vw 12vh; overflow: hidden; background: radial-gradient(circle at 50% 38%, rgba(160,28,22,.18), transparent 34%), linear-gradient(180deg,#090807,#0e0b09 58%,#080807); }
.ring-activation::before { content: "ENTER THE RING"; position: absolute; left: 50%; top: 40%; transform: translate(-50%,-50%); width: 120vw; color: rgba(255,255,255,.022); text-align: center; white-space: nowrap; font: 400 14vw/.8 var(--serif); letter-spacing: -.06em; }
.ring-heading { position: relative; z-index: 2; display: grid; grid-template-columns: 1.12fr .88fr; align-items: end; gap: 6vw; max-width: 1500px; margin: 0 auto 8vh; }
.ring-heading .chapter { grid-column: 1 / -1; }
.ring-heading h2 { margin: 0; font: 400 clamp(4rem,7.5vw,8.7rem)/.84 var(--serif); letter-spacing: -.055em; }
.ring-heading h2 em { color: #d6b35d; font-weight: 400; }
.ring-heading > p:last-child { max-width: 35rem; margin: 0 0 .7rem; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.ring-roster { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; max-width: 1560px; margin: 0 auto; border: 1px solid rgba(214,179,93,.24); background: rgba(214,179,93,.24); }
.ring-card { --ring-accent:#cda64a; min-height: 610px; margin: 0; display: grid; grid-template-rows: 1fr auto; overflow: hidden; background: radial-gradient(circle at 50% 36%, color-mix(in srgb,var(--ring-accent) 18%,transparent), transparent 53%),#080807; }
.ring-card img { width: 115%; max-width: none; height: 520px; margin-left: -7.5%; align-self: end; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 28px 32px rgba(0,0,0,.55)); transition: transform .45s ease, filter .45s ease; }
.ring-card:hover img { transform: translateY(-8px) scale(1.025); filter: drop-shadow(0 35px 38px rgba(0,0,0,.62)); }
.ring-card figcaption { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 20px; border-top: 1px solid rgba(255,255,255,.12); }
.ring-card strong { color: color-mix(in srgb,var(--ring-accent) 78%,white); font: 400 1.7rem/1 var(--serif); letter-spacing: .04em; }
.ring-card span { color: rgba(244,240,232,.48); text-align: right; text-transform: uppercase; font-size: .5rem; letter-spacing: .14em; line-height: 1.4; }
.ring-oro { --ring-accent:#cda64a; } .ring-plata { --ring-accent:#d7dce6; } .ring-rosa { --ring-accent:#e7a9b7; } .ring-jade { --ring-accent:#33d2ad; }
.ring-principle { position: relative; z-index: 2; max-width: 1500px; display: grid; grid-template-columns: 1fr 1.05fr; align-items: baseline; gap: 5vw; margin: 7vh auto 0; padding-top: 5vh; border-top: 1px solid rgba(214,179,93,.38); }
.ring-principle p, .ring-principle strong { margin: 0; font: 400 clamp(2.35rem,4.4vw,5.2rem)/.9 var(--serif); letter-spacing: -.04em; }
.ring-principle p { color: rgba(244,240,232,.34); }
.ring-principle strong { color: #d6b35d; font-weight: 400; }
.ring-business { position: relative; z-index: 2; max-width: 1500px; display: grid; grid-template-columns: repeat(3,1fr); margin: 6vh auto 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.ring-business article { min-height: 180px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ring-business span { color:#d6b35d; text-transform:uppercase; font-size:.58rem; letter-spacing:.2em; }
.ring-business p { margin: 45px 0 0; color:var(--muted); font-size:.88rem; line-height:1.7; }
.ring-adam { position: relative; z-index: 2; max-width: 820px; margin: 5vh auto 0; color: rgba(244,240,232,.72); text-align: center; font: 400 clamp(1.35rem,2vw,2rem)/1.35 var(--serif); }

.nft-collection { min-height: 120svh; padding: 14vh 5vw 12vh; background: radial-gradient(circle at 50% 26%, rgba(120,86,37,.22), transparent 34%), #080807; overflow: hidden; }
.expansion-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 5vw; margin: 0 auto 10vh; max-width: 1480px; }
.expansion-heading .chapter { grid-column: 1 / -1; }
.expansion-heading h2, .founders-kit h2, .graphic-novel h2 { margin: 0; font: 400 clamp(4rem, 7.4vw, 8.6rem)/.86 var(--serif); letter-spacing: -.05em; }
.expansion-heading h2 em, .founders-kit h2 em, .graphic-novel h2 em { color: #d6b35d; font-weight: 400; }
.expansion-heading > p:last-child { max-width: 31rem; margin: 0 0 .8rem; color: var(--muted); font-size: 1rem; line-height: 1.7; }
.nft-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1.15vw; max-width: 1540px; margin: 0 auto; perspective: 1400px; }
.nft-card { --card-accent: #cda64a; position: relative; aspect-ratio: .72; margin: 0; display: grid; grid-template-rows: auto 1fr auto; padding: 18px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--card-accent) 46%, rgba(255,255,255,.08)); background: linear-gradient(155deg, color-mix(in srgb, var(--card-accent) 14%, #0a0a09), #070706 62%); box-shadow: 0 34px 70px rgba(0,0,0,.35); transform: translateY(var(--card-shift,0)) rotateY(var(--card-tilt,0)); transition: transform .45s ease, border-color .45s ease; }
.nft-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--card-accent) 25%, transparent), transparent 56%); pointer-events: none; }
.nft-card:nth-child(2) { --card-shift: 4vh; --card-tilt: -3deg; }
.nft-card:nth-child(3) { --card-shift: -2vh; --card-tilt: 3deg; }
.nft-card:nth-child(4) { --card-shift: 3vh; }
.nft-card:hover { transform: translateY(calc(var(--card-shift,0) - 10px)) rotateY(0); border-color: color-mix(in srgb, var(--card-accent) 75%, white); }
.nft-card > span, .nft-card figcaption { position: relative; z-index: 2; text-transform: uppercase; font-size: .59rem; letter-spacing: .22em; color: color-mix(in srgb, var(--card-accent) 82%, white); }
.nft-card figcaption { padding-top: 14px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(244,240,232,.68); }
.nft-card img { position: relative; z-index: 1; align-self: center; width: 138%; max-width: none; height: 82%; margin-left: -19%; object-fit: contain; filter: drop-shadow(0 30px 35px rgba(0,0,0,.56)); }
.nft-oro { --card-accent: #cda64a; }
.nft-plata { --card-accent: #d7dce6; }
.nft-rosa { --card-accent: #e7a9b7; }
.nft-jade { --card-accent: #33d2ad; }

.founders-kit { min-height: 108svh; position: relative; display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 3vw; padding: 12vh 4vw 12vh 6vw; background: radial-gradient(circle at 72% 47%, #513d17 0, #171108 30%, #070706 67%); overflow: hidden; isolation: isolate; }
.founders-kit::before { content: "FOUNDERS"; position: absolute; z-index: -1; left: 1vw; bottom: -4vw; font: 400 17vw/.72 var(--serif); letter-spacing: -.07em; color: rgba(255,255,255,.025); }
.kit-copy { position: relative; z-index: 5; }
.kit-copy .chapter { margin-bottom: 14vh; }
.kit-edition { margin: 0 0 28px; text-transform: uppercase; color: #d6b35d; font-size: .64rem; letter-spacing: .24em; }
.kit-copy > p:not(.chapter):not(.kit-edition) { max-width: 31rem; margin: 34px 0; color: var(--muted); font-size: 1rem; line-height: 1.7; }
.kit-copy ul { max-width: 34rem; columns: 2; column-gap: 26px; margin: 42px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.kit-copy li { padding: 13px 0; border-bottom: 1px solid var(--line); text-transform: uppercase; font-size: .63rem; letter-spacing: .18em; color: rgba(244,240,232,.74); }
.kit-stage { position: relative; min-width: 0; display: flex; align-items: center; justify-content: center; }
.kit-stage::before { content: ""; position: absolute; inset: 8% 3%; border: 1px solid rgba(214,179,93,.16); box-shadow: 0 0 110px rgba(214,179,93,.1); pointer-events: none; }
.kit-hero { position: relative; z-index: 1; display: block; width: 100%; height: auto; object-fit: contain; filter: drop-shadow(0 40px 44px rgba(0,0,0,.58)); }

.graphic-novel { min-height: 108svh; display: grid; grid-template-columns: 1.12fr .88fr; align-items: stretch; background: #0a0908; overflow: hidden; }
.novel-art { position: relative; min-height: 720px; display: flex; align-items: center; justify-content: center; padding: 5vh 3vw; background: #050403; overflow: hidden; }
.novel-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 68%, rgba(10,9,8,.86) 100%); pointer-events: none; }
.novel-art img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 32px 50px rgba(0,0,0,.48)); }
.novel-art span { position: absolute; z-index: 2; left: 4vw; bottom: 4vh; text-transform: uppercase; color: rgba(244,240,232,.66); font-size: .58rem; letter-spacing: .2em; }
.novel-copy { display: flex; flex-direction: column; justify-content: center; padding: 12vh 7vw 10vh 4vw; }
.novel-copy .chapter { margin-bottom: 9vh; }
.novel-copy > p:not(.chapter) { max-width: 34rem; margin: 36px 0 0; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.novel-copy .novel-note { padding-left: 24px; border-left: 1px solid #d6b35d; color: rgba(244,240,232,.78); }
.novel-certificate { max-width: 34rem; margin-top: 42px; padding: 24px 0 24px 24px; border-top: 1px solid rgba(214,179,93,.45); border-bottom: 1px solid rgba(214,179,93,.45); border-left: 3px solid #d6b35d; background: linear-gradient(90deg, rgba(214,179,93,.08), transparent); }
.novel-certificate span { display: block; margin-bottom: 12px; text-transform: uppercase; color: #d6b35d; font-size: .59rem; letter-spacing: .2em; }
.novel-certificate strong { display: block; font: 400 clamp(1.65rem, 2.4vw, 2.75rem)/1 var(--serif); letter-spacing: -.025em; }
.novel-certificate p { margin: 15px 24px 0 0; color: var(--muted); font-size: .9rem; line-height: 1.65; }
.novel-release { max-width: 34rem; display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-top: 24px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.novel-release > span { max-width: 12rem; text-transform: uppercase; color: rgba(244,240,232,.7); font-size: .6rem; letter-spacing: .18em; line-height: 1.55; }
.novel-release strong { color: #d6b35d; font: 400 clamp(2.2rem, 3.4vw, 4.2rem)/.85 var(--serif); letter-spacing: -.035em; white-space: nowrap; }
.novel-release small { display: block; margin-top: 10px; color: var(--muted); font: 500 .54rem/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.novel-format { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 48px; padding-top: 18px; border-top: 1px solid var(--line); }
.novel-format span { text-transform: uppercase; font-size: .59rem; letter-spacing: .18em; color: rgba(244,240,232,.68); }

.ecosystem { min-height: 110svh; position: relative; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 4vw; padding: 12vh 7vw; background: radial-gradient(circle at 72% 48%, #3e3017 0, #12100b 25%, #070706 63%); overflow: hidden; }
.ecosystem::before { content: "IXKAA"; position: absolute; left: 3vw; bottom: -7vw; color: rgba(255,255,255,.025); font: 400 27vw/.7 var(--serif); letter-spacing: -.08em; }
.ecosystem-copy { position: relative; z-index: 2; }
.ecosystem h2 { font-size: clamp(4rem, 7vw, 8rem); }
.ecosystem-copy > p:not(.chapter) { max-width: 31rem; margin: 32px 0; color: var(--muted); font-size: 1rem; line-height: 1.7; }
.ecosystem ul { columns: 2; column-gap: 30px; margin: 40px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.ecosystem li { break-inside: avoid; padding: 13px 0; border-bottom: 1px solid var(--line); text-transform: uppercase; font-size: .65rem; letter-spacing: .18em; color: rgba(244,240,232,.78); }
.bottle-lineup { height: 78vh; display: flex; align-items: flex-end; justify-content: center; position: relative; }
.bottle-lineup::after { content: ""; position: absolute; left: 10%; right: 10%; bottom: 4%; height: 3%; background: rgba(0,0,0,.75); border-radius: 50%; filter: blur(20px); }
.bottle-lineup img { position: relative; z-index: 1; width: 29%; height: 70vh; margin: 0 -6.5%; object-fit: contain; filter: drop-shadow(0 35px 40px rgba(0,0,0,.55)); }
.bottle-lineup .hero-bottle { z-index: 3; height: 80vh; transform: translateY(-1.5vh); }

.licensing-thesis { min-height: 110svh; position: relative; display: grid; grid-template-columns: 1.1fr .9fr; align-content: center; gap: 7vh 8vw; padding: 13vh 7vw; overflow: hidden; background: radial-gradient(circle at 82% 22%, rgba(214,179,93,.14), transparent 30%), #0b0b0a; }
.licensing-thesis::before { content: "LICENSE"; position: absolute; right: -3vw; top: 7vh; color: rgba(255,255,255,.024); font: 400 17vw/.8 var(--serif); letter-spacing: -.07em; }
.licensing-lead, .licensing-system, .scale-statement { position: relative; z-index: 1; }
.licensing-lead h2 { margin: 0; font: 400 clamp(4.3rem,8vw,9.3rem)/.84 var(--serif); letter-spacing: -.055em; }
.licensing-lead h2 em { color: #d6b35d; font-weight: 400; }
.licensing-lead > p:last-child { max-width: 45rem; margin: 42px 0 0; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.licensing-system { align-self: end; display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.licensing-system span { min-height: 76px; display: flex; align-items: center; padding: 18px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: rgba(244,240,232,.72); text-transform: uppercase; font-size: .61rem; letter-spacing: .18em; line-height: 1.45; }
.scale-statement { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1.25fr; align-items: baseline; gap: 12px 7vw; padding: 6vh 0 0; border-top: 1px solid rgba(214,179,93,.35); }
.scale-statement p, .scale-statement strong { margin: 0; font: 400 clamp(2.6rem,5vw,6rem)/.9 var(--serif); letter-spacing: -.04em; }
.scale-statement p { color: rgba(244,240,232,.38); }
.scale-statement strong { color: #d6b35d; }
.scale-statement span { grid-column: 2; color: var(--muted); text-transform: uppercase; font-size: .62rem; letter-spacing: .2em; }

.business-case, .operating-scale, .market-strategy, .distribution, .about-team { position: relative; padding: 13vh 6vw; overflow: hidden; }
.business-case { background: radial-gradient(circle at 16% 12%, rgba(205,166,74,.17), transparent 30%), #090908; }
.commercial-heading { display: grid; grid-template-columns: 1.05fr .95fr; align-items: end; gap: 6vw; max-width: 1500px; margin: 0 auto 9vh; }
.commercial-heading .chapter { grid-column: 1 / -1; }
.commercial-heading h2, .distribution h2 { margin: 0; font: 400 clamp(4.2rem, 8vw, 9rem)/.84 var(--serif); letter-spacing: -.055em; }
.commercial-heading h2 em, .distribution h2 em { color: #d6b35d; font-weight: 400; }
.commercial-heading > p:last-child { max-width: 34rem; margin: 0 0 .7rem; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.commercial-heading.compact { margin-bottom: 7vh; }

.revenue-model { display: grid; grid-template-columns: 1.1fr .9fr .9fr; gap: 1px; max-width: 1500px; margin: 0 auto; border: 1px solid rgba(214,179,93,.25); background: rgba(214,179,93,.22); }
.revenue-card { min-height: 330px; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(28px,3.2vw,52px); background: #0c0b09; }
.revenue-card > span { color: #d6b35d; text-transform: uppercase; font-size: .62rem; letter-spacing: .2em; line-height: 1.55; }
.revenue-card p { margin: auto 0 22px; color: var(--muted); font-size: .9rem; letter-spacing: .04em; }
.revenue-card p strong { color: var(--ink); font-size: 1.35rem; font-weight: 500; }
.revenue-card b { display: block; color: var(--ink); font: 400 clamp(3.6rem, 6vw, 7.4rem)/.78 var(--serif); letter-spacing: -.055em; }
.revenue-card small { margin-top: 22px; color: rgba(244,240,232,.47); text-transform: uppercase; font-size: .55rem; letter-spacing: .17em; }
.revenue-primary { background: linear-gradient(145deg, rgba(205,166,74,.17), #0c0b09 62%); }
.revenue-total { background: #d0ad57; }
.revenue-total > span, .revenue-total p, .revenue-total p strong, .revenue-total b, .revenue-total small { color: #090806; }

.recovery-scenario { max-width: 1500px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 6vw; align-items: center; margin: 8vh auto 0; padding: 6vh 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.recovery-copy > span { color: #d6b35d; text-transform: uppercase; font-size: .6rem; letter-spacing: .2em; }
.recovery-copy strong { display: block; margin-top: 18px; font: 400 clamp(2.8rem, 4.2vw, 5.2rem)/.9 var(--serif); letter-spacing: -.04em; }
.recovery-copy p { max-width: 30rem; margin: 20px 0 0; color: var(--muted); font-size: .92rem; line-height: 1.7; }
.recovery-meter { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; }
.recovery-meter div { grid-column: 1 / -1; height: 17px; padding: 4px; border: 1px solid rgba(214,179,93,.38); }
.recovery-meter i { display: block; height: 100%; background: linear-gradient(90deg,#7c6023,#d6b35d); box-shadow: 0 0 24px rgba(214,179,93,.25); }
.recovery-meter span { color: rgba(244,240,232,.48); text-transform: uppercase; font-size: .54rem; letter-spacing: .15em; }
.recovery-meter span:nth-of-type(2) { color: #d6b35d; text-align: center; }
.recovery-meter span:last-child { text-align: right; }
.financial-note { max-width: 1500px; margin: 28px auto 0; color: rgba(244,240,232,.38); font-size: .72rem; line-height: 1.65; }

.operating-scale { background: radial-gradient(circle at 82% 18%,rgba(214,179,93,.12),transparent 28%),#080807; }
.scale-cases { max-width: 1500px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:0 auto; border:1px solid rgba(214,179,93,.24); background:rgba(214,179,93,.24); }
.scale-cases article { min-height:420px; padding:clamp(28px,3vw,48px); background:#0b0a08; }
.scale-cases article > span { color:#d6b35d; text-transform:uppercase; font-size:.6rem; letter-spacing:.2em; }
.scale-cases h3 { margin:8vh 0 42px; font:400 clamp(2.8rem,4.4vw,5.2rem)/.88 var(--serif); letter-spacing:-.04em; }
.scale-cases dl { margin:0; }
.scale-cases dl div { display:flex; justify-content:space-between; align-items:baseline; gap:18px; padding:15px 0; border-top:1px solid var(--line); }
.scale-cases dt { color:var(--muted); text-transform:uppercase; font-size:.56rem; letter-spacing:.15em; }
.scale-cases dd { margin:0; color:rgba(244,240,232,.78); font-size:.9rem; }
.scale-cases .scale-result dd { color:#d6b35d; font:400 1.8rem/1 var(--serif); }
.scale-total { max-width:1500px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:4vw; margin:7vh auto 0; padding:5vh 0; border-top:1px solid rgba(214,179,93,.38); border-bottom:1px solid rgba(214,179,93,.38); }
.scale-total > span { color:rgba(244,240,232,.54); text-transform:uppercase; font-size:.62rem; letter-spacing:.2em; line-height:1.6; }
.scale-total strong { color:#d6b35d; font:400 clamp(3.8rem,6.5vw,7.5rem)/.8 var(--serif); letter-spacing:-.05em; }
.scale-total p { margin:0; color:var(--muted); font-size:.8rem; line-height:1.65; }

.market-strategy { background: #0d0d0c; }
.strategy-grid { max-width: 1500px; display: grid; grid-template-columns: repeat(3,1fr); margin: 0 auto; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.strategy-grid article { min-height: 280px; padding: clamp(28px,3vw,48px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(145deg,rgba(255,255,255,.018),transparent); }
.strategy-grid article > span { color: #d6b35d; font: 400 1.15rem/1 var(--serif); }
.strategy-grid h3 { margin: 8vh 0 20px; font: 400 clamp(1.8rem,2.4vw,3rem)/1 var(--serif); letter-spacing: -.025em; }
.strategy-grid p { max-width: 25rem; margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.7; }

.distribution { min-height: 100svh; display: grid; grid-template-columns: .9fr 1.1fr; gap: 9vw; align-items: center; background: radial-gradient(circle at 18% 54%,rgba(205,166,74,.17),transparent 30%),#080807; }
.distribution::before { content: "TEXAS"; position: absolute; right: -2vw; bottom: -4vw; color: rgba(255,255,255,.025); font: 400 20vw/.72 var(--serif); letter-spacing: -.07em; }
.distribution-intro, .distribution-copy { position: relative; z-index: 1; }
.distribution-intro .chapter { margin-bottom: 18vh; }
.partner-status { margin: 0 0 28px; color: #d6b35d; text-transform: uppercase; font-size: .62rem; letter-spacing: .2em; }
.distribution-copy { max-width: 650px; padding: 5vh 0; }
.distribution-copy > span { display: block; margin-bottom: 42px; padding-bottom: 18px; border-bottom: 1px solid rgba(214,179,93,.45); color: #d6b35d; text-transform: uppercase; font-size: .68rem; letter-spacing: .2em; }
.distribution-copy > p { margin: 0 0 24px; color: var(--muted); font-size: 1rem; line-height: 1.78; }
.partner-points { display: grid; grid-template-columns: repeat(2,1fr); margin: 42px 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.partner-points span { padding: 17px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: rgba(244,240,232,.74); text-transform: uppercase; font-size: .58rem; letter-spacing: .16em; line-height: 1.4; }
.distribution-copy a, .team-card a { display: inline-block; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.5); color: var(--ink); text-decoration: none; text-transform: uppercase; font-size: .62rem; letter-spacing: .18em; }

.about-team { background: #0b0b0a; }
.team-grid { max-width: 1500px; display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin: 0 auto; background: rgba(214,179,93,.26); border: 1px solid rgba(214,179,93,.26); }
.team-card { min-height: 650px; display: grid; grid-template-columns: clamp(132px,13vw,190px) 1fr; align-items: start; gap: clamp(24px,3vw,54px); padding: clamp(30px,4vw,66px); background: #0a0a09; }
.team-portrait { position: relative; width: 100%; aspect-ratio: 1; margin: 0; overflow: hidden; border: 1px solid rgba(214,179,93,.48); background: #151513; }
.team-portrait::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 40px rgba(0,0,0,.28); pointer-events: none; }
.team-portrait img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.02); }
.team-card > div:last-child > span { display: block; min-height: 3.2em; color: #d6b35d; text-transform: uppercase; font-size: .6rem; letter-spacing: .18em; line-height: 1.6; }
.team-card h3 { margin: 8vh 0 28px; font: 400 clamp(2.5rem,4vw,5rem)/.88 var(--serif); letter-spacing: -.045em; }
.team-card h3 small { color: rgba(244,240,232,.42); font-size: .48em; }
.team-card p { max-width: 35rem; margin: 0 0 38px; color: var(--muted); font-size: .94rem; line-height: 1.75; }
.rights-statement { display: grid; grid-template-columns: .3fr .7fr; gap: 6vw; padding: 7vh 6vw; border-top: 1px solid rgba(214,179,93,.3); border-bottom: 1px solid rgba(214,179,93,.3); background: #080807; }
.rights-statement > span { color: #d6b35d; text-transform: uppercase; font-size: .6rem; letter-spacing: .2em; }
.rights-statement p { max-width: 920px; margin: 0; color: rgba(244,240,232,.54); font-size: .78rem; line-height: 1.75; }

.acquisition-act { min-height: 125svh; display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 7vw; padding: 13vh 7vw; background: radial-gradient(circle at 27% 45%, rgba(205,166,74,.22), transparent 26%), #070706; overflow: hidden; }
.genesis-stage { position: relative; min-height: 78vh; display: flex; align-items: center; justify-content: center; isolation: isolate; }
.genesis-stage::before { content: "000"; position: absolute; z-index: -3; color: rgba(214,179,93,.06); font: 400 23vw/.8 var(--serif); letter-spacing: -.07em; }
.genesis-orbit { position: absolute; z-index: -2; width: min(35vw,560px); aspect-ratio: 1; border: 1px solid rgba(214,179,93,.32); border-radius: 50%; box-shadow: 0 0 120px rgba(214,179,93,.12), inset 0 0 90px rgba(214,179,93,.06); }
.genesis-orbit::before, .genesis-orbit::after { content: ""; position: absolute; inset: 8%; border: 1px solid rgba(214,179,93,.15); border-radius: 50%; }
.genesis-orbit::after { inset: 19%; border-color: rgba(255,255,255,.08); }
.genesis-stage > img { width: min(35vw,560px); height: 70vh; object-fit: contain; filter: drop-shadow(0 45px 55px rgba(0,0,0,.7)); }
.genesis-id { position: absolute; left: 0; right: 0; bottom: 2vh; padding: 24px 0; border-top: 1px solid rgba(214,179,93,.45); border-bottom: 1px solid rgba(214,179,93,.45); text-align: center; }
.genesis-id span, .genesis-id strong { display: block; text-transform: uppercase; }
.genesis-id span { color: #d6b35d; font: 400 1.45rem/1 var(--serif); letter-spacing: .12em; }
.genesis-id strong { margin-top: 11px; color: rgba(244,240,232,.54); font-size: .55rem; font-weight: 500; letter-spacing: .2em; }
.acquisition-copy h2 { max-width: 890px; margin: 0; font: 400 clamp(3.7rem,6.3vw,7.6rem)/.86 var(--serif); letter-spacing: -.05em; }
.acquisition-copy h2 em { color: #d6b35d; font-weight: 400; }
.acquisition-premise { max-width: 42rem; margin: 34px 0 44px; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.asset-inventory { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.asset-inventory span { min-height: 62px; display: flex; align-items: center; padding: 13px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: rgba(244,240,232,.7); text-transform: uppercase; font-size: .55rem; letter-spacing: .15em; line-height: 1.4; }
.stewardship { display: grid; grid-template-columns: .72fr 1.28fr; gap: 4vw; margin-top: 6vh; padding-top: 5vh; border-top: 1px solid rgba(214,179,93,.45); }
.stewardship-heading span { display: block; color: #d6b35d; text-transform: uppercase; font-size: .62rem; letter-spacing: .2em; }
.stewardship-heading strong { display: block; margin-top: 14px; font: 400 clamp(2.4rem,3.5vw,4.4rem)/.9 var(--serif); letter-spacing: -.035em; }
.stewardship-copy p { margin: 0 0 24px; color: var(--muted); font-size: .94rem; line-height: 1.72; }
.stewardship-copy p b { color: var(--ink); font-weight: 500; }
.stewardship-copy ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.stewardship-copy li { padding: 10px 0; border-bottom: 1px solid var(--line); color: rgba(244,240,232,.72); text-transform: uppercase; font-size: .55rem; letter-spacing: .14em; line-height: 1.45; }
.stewardship-note { margin: 24px 0 0; color: rgba(244,240,232,.34); font-size: .7rem; line-height: 1.6; }

.bonus-assets { position: relative; padding: 14vh 5vw 13vh; overflow: hidden; background: radial-gradient(circle at 78% 13%, rgba(214,179,93,.16), transparent 27%), linear-gradient(180deg,#0b0906,#060605 34%,#0a0907); }
.bonus-assets::before { content: "BONUS"; position: absolute; left: -2vw; top: 2vh; color: rgba(255,255,255,.022); font: 400 23vw/.78 var(--serif); letter-spacing: -.07em; pointer-events: none; }
.bonus-intro { position: relative; z-index: 1; max-width: 1500px; display: grid; grid-template-columns: 1.14fr .86fr; align-items: end; gap: 7vw; margin: 0 auto; }
.bonus-intro .chapter { grid-column: 1 / -1; margin-bottom: 10vh; }
.bonus-lead h2 { margin: 0; font: 400 clamp(4.4rem,8.2vw,9.4rem)/.82 var(--serif); letter-spacing: -.055em; }
.bonus-lead h2 em { color: #d6b35d; font-weight: 400; }
.bonus-lead > p { max-width: 39rem; margin: 38px 0 0; color: var(--muted); font-size: 1rem; line-height: 1.78; }
.bonus-value { padding: clamp(28px,3.3vw,52px); border: 1px solid rgba(214,179,93,.38); background: linear-gradient(145deg,rgba(214,179,93,.09),rgba(8,8,7,.74)); box-shadow: 0 34px 80px rgba(0,0,0,.24); }
.bonus-value > span { display: block; padding-bottom: 18px; border-bottom: 1px solid rgba(214,179,93,.32); color: #d6b35d; text-transform: uppercase; font-size: .59rem; letter-spacing: .19em; line-height: 1.5; }
.bonus-value strong { display: block; margin-top: 36px; font: 400 clamp(2.4rem,3.8vw,4.7rem)/.88 var(--serif); letter-spacing: -.04em; }
.bonus-value p { margin: 30px 0 0; color: var(--muted); font-size: .88rem; line-height: 1.72; }
.bonus-showcase { position: relative; z-index: 1; max-width: 1500px; margin: 11vh auto 0; border-top: 1px solid rgba(214,179,93,.36); }
.bonus-item { min-height: 760px; display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; border-right: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); border-left: 1px solid rgba(255,255,255,.12); background: #0a0a09; }
.bonus-copy { align-self: center; padding: clamp(44px,6vw,94px); }
.bonus-index { display: block; margin-bottom: 8vh; color: #d6b35d; text-transform: uppercase; font-size: .6rem; letter-spacing: .2em; }
.bonus-copy h3 { margin: 0; font: 400 clamp(3.4rem,5.7vw,6.9rem)/.85 var(--serif); letter-spacing: -.05em; }
.bonus-copy h3 em { color: #d6b35d; font-weight: 400; }
.bonus-copy > p { max-width: 36rem; margin: 36px 0 0; color: var(--muted); font-size: .96rem; line-height: 1.76; }
.bonus-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 42px; }
.bonus-tags span { padding: 10px 12px; border: 1px solid rgba(214,179,93,.32); color: rgba(244,240,232,.64); text-transform: uppercase; font-size: .53rem; letter-spacing: .14em; line-height: 1.35; }
.store-panel { margin-top: 38px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.14); }
.store-panel > span { display: block; margin-bottom: 13px; color: rgba(244,240,232,.46); text-transform: uppercase; font-size: .54rem; letter-spacing: .18em; }
.store-badges { display: flex; flex-wrap: wrap; gap: 10px; }
.store-badges > div { min-width: 166px; min-height: 54px; display: flex; flex-direction: column; justify-content: center; padding: 8px 16px; border: 1px solid rgba(255,255,255,.58); border-radius: 9px; background: #030303; color: #fff; }
.store-badges small { font-size: .55rem; letter-spacing: .04em; line-height: 1.1; }
.store-badges strong { font: 500 1.12rem/1.1 var(--sans); letter-spacing: -.02em; }
.store-panel p { margin: 12px 0 0; color: rgba(244,240,232,.34); font-size: .64rem; line-height: 1.5; }
.bonus-media { position: relative; min-width: 0; min-height: 700px; margin: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; border-left: 1px solid rgba(255,255,255,.12); }
.bonus-media img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; }
.bonus-media figcaption, .beer-pair figcaption { position: absolute; z-index: 2; right: 24px; bottom: 22px; left: 24px; text-transform: uppercase; font-size: .54rem; letter-spacing: .17em; line-height: 1.5; }
.game-device { background: radial-gradient(circle at 50% 44%,rgba(214,179,93,.19),transparent 47%),#050504; }
.game-device img { width: 78%; height: 92%; filter: drop-shadow(0 42px 48px rgba(0,0,0,.48)); }
.game-device figcaption { color: rgba(244,240,232,.45); }
.brand-separation { grid-column: 1 / -1; display: grid; grid-template-columns: .55fr .75fr 1.35fr; align-items: center; gap: 4vw; padding: clamp(28px,3.5vw,52px); border-top: 1px solid rgba(214,179,93,.4); background: linear-gradient(90deg,rgba(214,179,93,.1),rgba(10,10,9,.96) 58%); }
.brand-separation > span { color: #d6b35d; text-transform: uppercase; font-size: .58rem; letter-spacing: .2em; line-height: 1.55; }
.brand-separation strong { font: 400 clamp(1.8rem,2.7vw,3.4rem)/.92 var(--serif); letter-spacing: -.035em; }
.brand-separation p { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.72; }
.trading-stage { border-right: 1px solid rgba(255,255,255,.12); border-left: 0; background: radial-gradient(circle at 50% 40%,rgba(38,98,210,.2),transparent 52%),#06070b; }
.trading-stage img { width: 100%; height: 100%; object-fit: cover; }
.trading-stage figcaption { padding-top: 38px; color: rgba(255,255,255,.72); text-shadow: 0 2px 12px rgba(0,0,0,.8); background: linear-gradient(transparent,rgba(0,0,0,.55)); }
.plush-stage { order: -1; border-right: 1px solid rgba(255,255,255,.12); border-left: 0; background: #f2f1ed; }
.plush-stage img { width: 89%; height: 89%; }
.plush-stage figcaption { color: rgba(9,9,8,.58); }
.bonus-beer { grid-template-columns: .72fr 1.28fr; }
.beer-pair { min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: rgba(214,179,93,.24); }
.beer-pair figure { position: relative; min-width: 0; min-height: 760px; margin: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #f5f5f2; }
.beer-pair img { width: 100%; height: 100%; object-fit: contain; }
.beer-pair figcaption { color: rgba(9,9,8,.58); }
.bonus-continuity { position: relative; z-index: 1; max-width: 1500px; display: grid; grid-template-columns: .52fr 1.08fr .5fr; align-items: center; gap: 4vw; margin: 7vh auto 0; padding: 5vh 0; border-top: 1px solid rgba(214,179,93,.42); border-bottom: 1px solid rgba(214,179,93,.42); }
.bonus-continuity > span { color: #d6b35d; text-transform: uppercase; font-size: .6rem; letter-spacing: .2em; line-height: 1.6; }
.bonus-continuity h3 { margin: 0; font: 400 clamp(2.7rem,4vw,5rem)/.88 var(--serif); letter-spacing: -.04em; }
.bonus-continuity p { max-width: 47rem; margin: 22px 0 0; color: var(--muted); font-size: .9rem; line-height: 1.72; }
.bonus-continuity > strong { color: #d6b35d; text-align: right; text-transform: uppercase; font-size: .68rem; font-weight: 500; letter-spacing: .17em; line-height: 1.85; }
.bonus-legal { position: relative; z-index: 1; max-width: 1500px; margin: 36px auto 0; color: rgba(244,240,232,.36); font-size: .72rem; line-height: 1.7; }

.closing { min-height: 92svh; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 12vh 6vw; text-align: center; background: #080807; }
.closing h2 { font-size: clamp(4.4rem, 9vw, 10rem); }
.closing a { margin-top: 60px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.6); text-decoration: none; text-transform: uppercase; font-size: .7rem; letter-spacing: .22em; }
.closing a span { display: inline-block; margin-left: 16px; transition: transform .25s ease; }
.closing a:hover span { transform: translate(4px,-4px); }
.acquisition-offer { position: relative; min-height: 120svh; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 50% 43%, rgba(214,179,93,.13), transparent 24%), #040403; }
.acquisition-offer .chapter { position: relative; z-index: 2; margin-bottom: 8vh; }
.offer-genesis { position: absolute; z-index: -1; left: 50%; top: 50%; width: min(58vw,850px); height: 92vh; transform: translate(-50%,-50%); opacity: .11; filter: blur(.2px); }
.offer-genesis img { width: 100%; height: 100%; object-fit: contain; }
.acquisition-offer h2 { position: relative; z-index: 2; font-size: clamp(4.5rem,8.3vw,9.5rem); }
.offer-terms { position: relative; z-index: 2; margin-top: 7vh; }
.offer-terms > span { display: block; color: rgba(244,240,232,.56); text-transform: uppercase; font-size: .6rem; letter-spacing: .22em; }
.offer-terms strong { display: block; margin-top: 18px; color: #d6b35d; font: 400 clamp(4.3rem,8vw,9rem)/.8 var(--serif); letter-spacing: -.05em; }
.offer-terms p { margin: 28px 0 0; color: rgba(244,240,232,.68); text-transform: uppercase; font-size: .63rem; letter-spacing: .18em; line-height: 2; }
.acquisition-offer h3 { position: relative; z-index: 2; margin: 10vh 0 0; font: 400 clamp(3.2rem,6vw,7rem)/.9 var(--serif); letter-spacing: -.04em; }
.acquisition-offer a { position: relative; z-index: 2; }
.acquisition-offer > small { position: relative; z-index: 2; margin-top: 28px; color: rgba(244,240,232,.35); text-transform: uppercase; font-size: .54rem; letter-spacing: .18em; }
footer { min-height: 90px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; padding: 0 4vw; border-top: 1px solid var(--line); color: var(--muted); text-transform: uppercase; font-size: .57rem; letter-spacing: .16em; }
footer p { margin: 0; text-align: center; }
footer span:last-child { justify-self: end; }

@media (max-width: 820px) {
  .site-header { height: 64px; grid-template-columns: 1fr auto; gap: 10px; padding: 0 20px; }
  .brand-mark { width: 98px; }
  .house-nav { display: none; }
  .private-label { max-width: 126px; text-align: right; font-size: .52rem; line-height: 1.35; }
  .opening { padding: 100px 24px 64px; align-items: end; }
  .opening::after { background: linear-gradient(to top, rgba(7,7,6,.98) 0 38%, rgba(7,7,6,.22) 75%, rgba(7,7,6,.6)); }
  .opening-mask { width: 130vw; left: 50%; top: 29%; }
  .opening-copy { width: 100%; }
  .opening-logo { width: 150px; margin-bottom: 22px; }
  .opening h1 { font-size: clamp(3rem, 14vw, 5.2rem); }
  .opening-note { width: 90%; margin-top: 22px; font-size: .92rem; }
  .scroll-cue { display: none; }
  .manifesto { min-height: 100svh; display: block; padding: 100px 24px 70px; }
  .manifesto .chapter { margin-bottom: 22vh; }
  .manifesto h2 { font-size: clamp(3rem, 13vw, 5rem); }
  .manifesto > p:last-child { margin-top: 44px; }
  .house { height: var(--house-height, 600svh); }
  .hero-mask { left: 50%; top: 39%; width: 90vw; height: 70vh; }
  .house-jade .hero-mask { width: 106vw; }
  .house-number { right: -6vw; top: 32%; font-size: 80vw; }
  .house-identity { top: 70px; left: 20px; width: 150px; }
  .house-identity p { display: none; }
  .act-panel { left: 16px; width: calc(100vw - 32px); height: min(76vh, 700px); grid-template-columns: 1fr; grid-template-rows: auto 1fr; padding: 34px 28px 20px; }
  .act-copy h3 { font-size: clamp(2.7rem, 13vw, 4.5rem); }
  .act-copy > p:last-child { margin-top: 18px; font-size: .86rem; }
  .act-index { margin-bottom: 16px; }
  .act-asset, .character { height: 35vh; align-self: end; }
  .act-wide { width: 100%; }
  .mask-detail { height: 32vh; }
  .product-pair { min-height: 34vh; }
  .product-pair img { height: 34vh; }
  .scene-progress { right: 7px; top: 14vh; bottom: 14vh; }
  .ring-activation { min-height: auto; padding: 110px 18px 100px; }
  .ring-heading { display: block; margin-bottom: 64px; }
  .ring-heading .chapter { margin-bottom: 18vh; }
  .ring-heading h2 { font-size: clamp(3.7rem,15vw,5.8rem); }
  .ring-heading > p:last-child { margin-top: 34px; }
  .ring-roster { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ring-card { min-height: 390px; }
  .ring-card img { height: 320px; }
  .ring-card figcaption { display: block; padding: 14px 12px; }
  .ring-card strong { font-size: 1.35rem; }
  .ring-card span { display: block; margin-top: 7px; text-align: left; }
  .ring-principle { grid-template-columns: 1fr; gap: 24px; }
  .ring-business { grid-template-columns: 1fr; }
  .ring-business article { min-height: 150px; }
  .ring-business p { margin-top: 34px; }
  .nft-collection { min-height: auto; padding: 100px 18px 110px; }
  .expansion-heading { display: block; margin-bottom: 70px; }
  .expansion-heading .chapter { margin-bottom: 18vh; }
  .expansion-heading h2, .founders-kit h2, .graphic-novel h2 { font-size: clamp(3.7rem, 15vw, 5.8rem); }
  .expansion-heading > p:last-child { margin-top: 34px; }
  .nft-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
  .nft-card { padding: 12px; }
  .nft-card:nth-child(2), .nft-card:nth-child(3), .nft-card:nth-child(4) { --card-shift: 0; --card-tilt: 0deg; }
  .nft-card > span, .nft-card figcaption { font-size: .5rem; letter-spacing: .13em; }
  .nft-card img { width: 150%; margin-left: -25%; }
  .founders-kit { min-height: auto; grid-template-columns: 1fr; padding: 100px 24px 40px; }
  .kit-copy .chapter { margin-bottom: 18vh; }
  .kit-stage { margin: 42px -18px 0; }
  .kit-stage::before { inset: 7% 2%; }
  .kit-hero { width: 100%; }
  .graphic-novel { min-height: auto; grid-template-columns: 1fr; }
  .novel-art { min-height: 58vh; padding: 60px 20px; }
  .novel-art::after { background: linear-gradient(to bottom, transparent 74%, #0a0908 100%); }
  .novel-art img { height: auto; }
  .novel-art span { left: 20px; bottom: 22px; }
  .novel-copy { padding: 90px 24px 100px; }
  .novel-copy .chapter { margin-bottom: 18vh; }
  .ecosystem { min-height: auto; grid-template-columns: 1fr; padding: 110px 24px 50px; }
  .ecosystem h2 { font-size: clamp(3.7rem, 16vw, 6rem); }
  .bottle-lineup { height: 58vh; margin: 20px -10vw 0; }
  .bottle-lineup img { width: 28%; height: 50vh; margin: 0 -6%; }
  .bottle-lineup .hero-bottle { height: 58vh; }
  .kit-copy ul { columns: 1; }
  .licensing-thesis { min-height: auto; grid-template-columns: 1fr; gap: 60px; padding: 110px 22px; }
  .licensing-lead h2 { font-size: clamp(3.8rem,16vw,6rem); }
  .licensing-system { grid-template-columns: 1fr; }
  .scale-statement { grid-column: auto; grid-template-columns: 1fr; gap: 26px; }
  .scale-statement span { grid-column: auto; }
  .business-case, .operating-scale, .market-strategy, .distribution, .about-team { padding: 100px 20px; }
  .commercial-heading { display: block; margin-bottom: 64px; }
  .commercial-heading .chapter { margin-bottom: 18vh; }
  .commercial-heading h2, .distribution h2 { font-size: clamp(3.8rem,16vw,6rem); }
  .commercial-heading > p:last-child { margin-top: 34px; }
  .revenue-model { grid-template-columns: 1fr; }
  .revenue-card { min-height: 270px; }
  .recovery-scenario { grid-template-columns: 1fr; gap: 50px; }
  .scale-cases { grid-template-columns:1fr; }
  .scale-cases article { min-height:340px; }
  .scale-total { grid-template-columns:1fr; gap:28px; }
  .strategy-grid { grid-template-columns: 1fr; }
  .strategy-grid article { min-height: 250px; }
  .strategy-grid h3 { margin-top: 62px; }
  .distribution { min-height: auto; grid-template-columns: 1fr; gap: 70px; }
  .distribution-intro .chapter { margin-bottom: 18vh; }
  .partner-points { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr; }
  .team-card { min-height: auto; grid-template-columns: 112px 1fr; gap: 22px; padding: 30px 22px 46px; }
  .team-card > div:last-child > span { min-height: 0; }
  .team-card h3 { margin-top: 50px; }
  .rights-statement { grid-template-columns: 1fr; padding: 54px 22px; }
  .acquisition-act { min-height: auto; grid-template-columns: 1fr; gap: 80px; padding: 110px 22px; }
  .genesis-stage { min-height: 70vh; }
  .genesis-stage > img { width: 88vw; height: 60vh; }
  .genesis-orbit { width: 82vw; }
  .genesis-id { bottom: 0; }
  .acquisition-copy h2 { font-size: clamp(3.8rem,15vw,6rem); }
  .asset-inventory { grid-template-columns: repeat(2,1fr); }
  .stewardship { grid-template-columns: 1fr; gap: 36px; }
  .bonus-assets { padding: 105px 18px 90px; }
  .bonus-intro { grid-template-columns: 1fr; gap: 56px; }
  .bonus-intro .chapter { margin-bottom: 13vh; }
  .bonus-lead h2 { font-size: clamp(4rem,17vw,6.5rem); }
  .bonus-lead > p { margin-top: 30px; }
  .bonus-showcase { margin-top: 80px; }
  .bonus-item, .bonus-beer { min-height: auto; grid-template-columns: 1fr; }
  .bonus-copy { padding: 78px 24px 68px; }
  .bonus-index { margin-bottom: 58px; }
  .bonus-copy h3 { font-size: clamp(3.5rem,14vw,5.6rem); }
  .bonus-media { min-height: 590px; border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
  .game-device img { width: 92%; height: 92%; }
  .brand-separation { grid-column: auto; grid-template-columns: 1fr; gap: 24px; padding: 38px 24px; }
  .brand-separation strong { font-size: 2.35rem; }
  .trading-stage { min-height: 440px; border-right: 0; }
  .plush-stage { order: 0; min-height: 520px; border-right: 0; }
  .beer-pair { grid-template-columns: 1fr; }
  .beer-pair figure { min-height: 440px; }
  .bonus-continuity { grid-template-columns: 1fr; gap: 28px; margin-top: 65px; padding: 45px 0; }
  .bonus-continuity > strong { text-align: left; }
  .closing { min-height: 82svh; padding-inline: 22px; }
  .closing h2 { font-size: clamp(4rem, 17vw, 6.4rem); }
  .acquisition-offer { min-height: 110svh; }
  .offer-genesis { width: 120vw; height: 75vh; }
  .acquisition-offer h3 { margin-top: 9vh; }
  footer { grid-template-columns: 1fr auto; padding: 28px 20px; }
  footer p { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Full-frame opening film: retain the complete typography at every ratio. */
.film-intro {position:relative; height:100svh; min-height:420px; background:#000; isolation:isolate;}
.film-intro video {position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#000;}
.film-actions {position:absolute; z-index:2; bottom:max(24px,env(safe-area-inset-bottom)); left:5%; right:5%; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px 22px;}
.film-actions button,.film-enter {font:500 .875rem/1.3 var(--sans); letter-spacing:.12em; color:#fff; background:rgba(0,0,0,.8); border:1px solid rgba(255,255,255,.5); padding:14px 18px; cursor:pointer; text-decoration:none; border-radius:0;}
.film-actions button:hover,.film-enter:hover {border-color:var(--gold); color:var(--gold);}
.film-actions :focus-visible {outline:2px solid var(--gold); outline-offset:5px;}
.film-actions [hidden] {display:none;}
#film-status {flex-basis:100%; text-align:center; font-size:.875rem;}
body.film-in-view .site-header {visibility:hidden; pointer-events:none;}
@media(max-width:600px) {.film-actions {gap:10px;}.film-actions button,.film-enter {font-size:.8125rem; padding:12px;}}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto;}}

/* Studio portraits retain the complete figure and grounded floor. */
.ring-card {min-height:0; background:#000;}
.ring-card img {width:100%; max-width:100%; height:auto; aspect-ratio:5 / 7; margin:0; object-fit:contain; object-position:center bottom; filter:none;}
.ring-card:hover img {transform:none;filter:none;}
.ring-card figcaption {background:#080807;}
.ring-card span {font-size:.75rem;letter-spacing:.06em;}

/* NFT art directions: complete square artworks in editorial frames */
.nft-card { aspect-ratio: auto; padding: 12px; gap: 16px; grid-template-rows: auto auto auto; }
.nft-card img { width: 100%; max-width: 100%; height: auto; aspect-ratio: 1; margin: 0; object-fit: contain; filter: none; }
.nft-card > span, .nft-card figcaption { font-size: .75rem; letter-spacing: .1em; }
.nft-card figcaption { font-size: .875rem; }
.nft-program { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; max-width: 1540px; margin: 110px auto 0; }
.nft-program article { border-top: 1px solid rgba(205,166,74,.4); padding-top: 24px; }
.nft-program article > span, .nft-development-note { font-size: .8125rem; color: #b6a483; line-height: 1.6; }
.nft-program h3 { font-family: Georgia,serif; font-size: clamp(1.5rem,2.3vw,2.5rem); font-weight: 400; line-height: 1.15; margin: 18px 0; }
.nft-program p, .game-avatar-concept p { font-size: 1rem; line-height: 1.7; color: #bdbab3; }
.nft-development-note { max-width: 1540px; margin: 32px auto 0; }
.game-avatar-concept { border-left: 2px solid #cda64a; padding-left: 20px; margin: 26px 0; }
.game-avatar-concept h4 { font: 400 1.5rem/1.25 Georgia,serif; margin: 0 0 12px; }
@media(max-width:700px) {
 .nft-program { grid-template-columns: 1fr; gap: 24px; margin-top: 45px; }
 .nft-card { padding: 8px; gap: 12px; }
 .nft-card > span { letter-spacing: .02em; }
 .nft-card figcaption { padding-top: 10px; }
}
