:root{
  --ink:#0E0E0D;--ink2:#161614;--line:rgba(244,233,218,.12);
  --cream:#F4E9DA;--cream-dim:rgba(244,233,218,.62);--orange:#E58F4D;
  --bb:#1A434E;--bb2:#13343D;--bb-yellow:#F6B33E;
  --ui:"Archivo",system-ui,sans-serif;
  --gut:clamp(16px,4vw,56px);--max:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--cream);font:400 16px/1.6 var(--ui);-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--orange);color:var(--ink)}
img,video{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:inherit}
p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.meta{font:500 13px/1.4 var(--ui);letter-spacing:.06em;text-transform:uppercase;opacity:.7}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px}

/* ── header ── */
.top{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;
  padding:18px var(--gut);transition:background .3s,padding .3s}
.top.scrolled{background:rgba(14,14,13,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 15px/1 var(--ui);font-stretch:118%;letter-spacing:.14em;text-transform:uppercase}
.brand img{width:30px;height:auto}
.nav{display:flex;gap:clamp(18px,3vw,36px)}
.nav a{font:500 14px/1 var(--ui);letter-spacing:.04em;text-decoration:none;opacity:.75;transition:opacity .15s}
.nav a:hover{opacity:1}

/* ── intro ── */
.intro{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:110px var(--gut) var(--gut)}
.intro-head{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0 50px}
.intro-logo{width:clamp(200px,24vw,320px);height:auto}
.intro-line{margin-top:22px;font:500 13px/1 var(--ui);font-stretch:115%;letter-spacing:.3em;text-transform:uppercase;color:var(--cream-dim)}
.index{list-style:none;margin:0 auto;padding:0;width:100%;max-width:var(--max);display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(10px,1.4vw,18px)}
.index a{display:block;text-decoration:none}
.index .thumb{display:block;overflow:hidden}
.index img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:saturate(.9);transition:filter .3s,transform .5s cubic-bezier(.2,.8,.2,1)}
.index a:hover img{filter:saturate(1.1);transform:scale(1.03)}
.index-name{display:block;margin-top:14px;font:700 17px/1.2 var(--ui);font-stretch:105%}
.index-genre{display:block;margin-top:4px;font-size:14px;color:var(--cream-dim)}

/* ── Belly Business ── */
.bb{background:var(--bb);color:#FFF6E6;padding:clamp(80px,11vw,140px) 0;font-family:"M PLUS Rounded 1c",var(--ui);font-weight:500}
.bb-head{margin-bottom:clamp(32px,5vw,56px)}
.bb h2{font:400 clamp(52px,8vw,112px)/.95 "Lilita One",var(--ui);letter-spacing:0;color:var(--bb-yellow)}
.bb-pitch{font-weight:800;margin:18px 0 14px;max-width:34em;font-size:clamp(17px,1.6vw,20px);line-height:1.5}
.bb-player{aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden}
.bb-player video{width:100%;height:100%}
.bb-restos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,24px);margin-top:clamp(24px,3vw,40px)}
.bb-restos figure{margin:0}
.bb-restos img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px}
.bb-restos figcaption{margin-top:12px;font-size:15px;font-weight:500;color:rgba(255,246,230,.7)}
.bb-restos b{display:block;font:400 22px/1.2 "Lilita One",var(--ui);color:#FFF6E6;margin-bottom:2px}

/* ── full-bleed art sections (pinned on scroll when motion is allowed) ── */
.art{position:relative;background:#07090A}
.pin-stage{position:relative;height:100svh;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.art-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(var(--zoom,1));will-change:transform}
.pin-stage::after{content:"";position:absolute;inset:0;z-index:-1;opacity:calc(.3 + .7 * var(--shade,1))}
.art-text{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gut) clamp(48px,8vw,96px)}
.art-text p:not(.meta){max-width:30em;font-size:clamp(17px,1.5vw,19px);line-height:1.55;margin:18px 0}
.art h2 .line{display:block}

html.motion .pin{height:250vh}
html.motion .pin-stage{position:sticky;top:0}
html.motion .art h2 .line{overflow:hidden;padding:.1em 0 .08em;margin:-.1em 0 -.08em}
html.motion .art h2 .line>span{display:block;transform:translateY(calc((1 - var(--t,0)) * 135%));will-change:transform}
html.motion .art .rv{opacity:var(--t,0);transform:translateY(calc((1 - var(--t,0)) * 36px))}

.tenant .pin-stage::after{background:linear-gradient(to top,rgba(5,7,8,.96) 0%,rgba(5,7,8,.6) 35%,rgba(5,7,8,.05) 70%),linear-gradient(to bottom,rgba(5,7,8,.7),transparent 20%)}
.tenant h2{font:600 clamp(46px,8vw,112px)/.92 "Cormorant Garamond",serif;letter-spacing:-.01em;color:#E8E4DA}
.tenant .art-text p:not(.meta){color:rgba(232,228,218,.78)}


/* ── rise-in (Belly Business) ── */
html.motion .up{opacity:0;transform:translateY(56px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform 1.1s cubic-bezier(.2,.8,.2,1)}
html.motion .up.in{opacity:1;transform:none}
html.motion .bb-player.up{transition-delay:.1s}
html.motion .bb-restos .up:nth-child(2){transition-delay:.1s}
html.motion .bb-restos .up:nth-child(3){transition-delay:.2s}

/* ── word-by-word (studio) ── */
.words span{transition:opacity .2s linear}

/* ── studio ── */
.studio{background:var(--cream);color:var(--ink);padding:clamp(80px,11vw,140px) 0}
.studio-in{display:grid;grid-template-columns:1fr 2.4fr;gap:clamp(20px,4vw,60px);align-items:baseline}
.studio h2,.contact h2{font:600 13px/1 var(--ui);font-stretch:115%;letter-spacing:.3em;text-transform:uppercase}
.studio h2{color:#8A6A4C}
.studio p{font:500 clamp(22px,2.7vw,36px)/1.32 var(--ui);letter-spacing:-.01em;max-width:28em}

/* ── contact ── */
.contact{padding:clamp(80px,11vw,140px) 0}
.contact h2{color:var(--cream-dim);margin-bottom:28px}
.mail{display:inline-block;font:700 clamp(21px,5.4vw,76px)/1 var(--ui);font-stretch:108%;letter-spacing:-.025em;text-decoration:none;
  background:linear-gradient(currentColor,currentColor) 0 100%/0 3px no-repeat;padding-bottom:8px;transition:background-size .4s cubic-bezier(.2,.8,.2,1),color .2s;overflow-wrap:anywhere}
.mail:hover{color:var(--orange);background-size:100% 3px}
.contact-note{margin-top:20px;color:var(--cream-dim)}

/* ── footer ── */
.foot{border-top:1px solid var(--line);padding:26px 0}
.foot-in{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--cream-dim)}
.foot img{width:26px;height:auto;opacity:.8}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ── responsive ── */
@media (max-width:860px){
  .index{grid-template-columns:1fr}
  .intro{min-height:0}
  .bb-restos{grid-template-columns:1fr}
  .studio-in{grid-template-columns:1fr}
}
@media (max-width:520px){
  .brand span{display:none}
  .nav{gap:20px}
}

/* ── section anchors ── */
section[id],#games{scroll-margin-top:60px}
.art[id],.bb[id]{scroll-margin-top:0}
html.motion .pin[id]{scroll-margin-top:-100vh}
.nav a.on{opacity:1;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
h2{position:relative}
.anchor{display:inline-block;margin-left:.3em;font-size:.45em;vertical-align:middle;text-decoration:none;opacity:0;transition:opacity .2s;color:inherit;font-family:var(--ui);font-weight:500}
h2:hover .anchor,.anchor:focus-visible{opacity:.5}
.anchor:hover{opacity:1!important}
.studio h2 .anchor,.contact h2 .anchor{font-size:1em;letter-spacing:0}
.anchor[data-copied]::after{content:"Link copied";position:absolute;margin-left:10px;font:500 12px/1 var(--ui);letter-spacing:.04em;text-transform:none;background:var(--cream);color:var(--ink);padding:6px 8px;border-radius:4px;white-space:nowrap;vertical-align:middle}
@media (hover:none){.anchor{display:none}}

/* ── no selection except the contact address ── */
body{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
img,video{-webkit-user-drag:none;user-drag:none}
.mail{-webkit-user-select:text;user-select:text;-webkit-user-drag:none}
.mail::selection{background:var(--orange);color:var(--ink)}
.contact-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;margin-top:20px}
.contact-row .contact-note{margin:0}
.copy{font:600 13px/1 var(--ui);letter-spacing:.04em;color:var(--cream);background:transparent;border:1px solid var(--line);padding:10px 14px;border-radius:999px;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.copy:hover{border-color:var(--cream-dim)}
.copy.done{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.bb .meta{font-family:"M PLUS Rounded 1c",var(--ui);font-weight:800}

/* ── footer link + legal page ── */
.foot-link{margin-left:auto;text-decoration:none;color:var(--cream-dim);transition:color .15s}
.foot-link:hover{color:var(--cream)}
.legal{padding-top:140px;padding-bottom:100px;max-width:820px}
.legal h1{font:800 clamp(36px,5vw,56px)/1 var(--ui);font-stretch:110%;letter-spacing:-.02em}
.legal-fr{margin-top:10px;color:var(--cream-dim)}
.legal section{padding:26px 0;border-bottom:1px solid var(--line)}
.legal section:first-of-type{margin-top:36px;border-top:1px solid var(--line)}
.legal h2{font:600 12px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--cream-dim);margin-bottom:12px}
.legal p{font-size:17px;line-height:1.6}
.legal-page,.legal-page .legal{-webkit-user-select:text;user-select:text}
.legal-mail{color:var(--orange)}
