:root {
  --bg:#140c14; --bg2:#1d121d; --fg:#f4ece6; --muted:#b9a8b4; --line:rgba(244,236,230,.12);
  --gold:#e8c27a; --gold2:#c9974a; --rose:#d9577f; --glass:rgba(29,18,29,.72);
  --serif:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.65 var(--sans); overflow-x:hidden; }
a { color:var(--gold); }
img { display:block; max-width:100%; }
.wrap { max-width:1160px; margin:0 auto; padding:0 24px; }

/* header */
header { position:absolute; inset:0 0 auto; z-index:10; padding:22px 0; }
header .wrap { display:flex; flex-wrap:wrap; gap:12px 28px; align-items:center; justify-content:space-between; }
.brand { color:var(--fg); text-decoration:none; font:italic 600 1.35rem/1 var(--serif); letter-spacing:.01em; }
.brand b { color:var(--gold); font-style:normal; }
nav a { color:var(--muted); text-decoration:none; margin-left:22px; font-size:.92rem; }
nav a:first-child { margin-left:0; }
nav a:hover { color:var(--fg); }
.chip { display:inline-block; font-size:.78rem; padding:4px 12px; border-radius:999px; background:var(--glass); border:1px solid var(--line); color:var(--fg); backdrop-filter:blur(8px); }

/* hero */
.hero { position:relative; min-height:min(100vh,920px); min-height:min(100svh,920px); display:flex; align-items:center; padding:120px 0 80px;
  background:
    radial-gradient(60% 50% at 78% 40%, rgba(217,87,127,.20), transparent 70%),
    radial-gradient(50% 45% at 20% 80%, rgba(232,194,122,.12), transparent 70%),
    linear-gradient(180deg, #1a0f1a, var(--bg)); overflow:hidden; }
.hero .wrap { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:40px; align-items:center; width:100%; }
.eyebrow { text-transform:uppercase; letter-spacing:.22em; font-size:.75rem; color:var(--gold); margin:0 0 18px; }
h1 { font:500 clamp(2.6rem,6vw,5rem)/1.02 var(--serif); margin:0 0 22px; letter-spacing:-.01em; }
h1 em { color:var(--gold); }
.lead { color:var(--muted); font-size:1.15rem; max-width:34ch; margin:0 0 32px; }
.btn { display:inline-block; padding:14px 26px; border-radius:999px; background:linear-gradient(180deg,var(--gold),var(--gold2)); color:#1a0f12; font-weight:600; text-decoration:none; box-shadow:0 10px 30px rgba(232,194,122,.25); transition:transform .2s; }
.btn:hover { transform:translateY(-2px); }
.btn.ghost { background:none; color:var(--fg); border:1px solid var(--line); box-shadow:none; margin-left:10px; }
.note { margin-top:22px; font-size:.85rem; color:var(--muted); }

/* floating personas */
.float { position:relative; height:620px; }
.p { position:absolute; width:210px; margin:0; border-radius:20px; overflow:hidden; background:var(--bg2);
  box-shadow:0 30px 60px rgba(0,0,0,.55), 0 0 0 1px var(--line); animation:drift 9s ease-in-out infinite; }
.p img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
.p figcaption { position:absolute; left:10px; bottom:10px; }
.p:nth-child(1) { left:28%; top:8%;  width:240px; --r:-3deg; animation-delay:0s; z-index:3; }
.p:nth-child(2) { left:0;   top:30%; width:200px; --r:-7deg; animation-delay:-2s; z-index:2; }
.p:nth-child(3) { right:0;  top:0;   width:190px; --r:6deg; animation-delay:-4s; }
.p:nth-child(4) { right:2%; top:48%; width:200px; --r:4deg; animation-delay:-6s; z-index:4; }
.p:nth-child(5) { left:30%; top:62%; width:180px; --r:-4deg; animation-delay:-3s; z-index:5; }
.p:nth-child(6) { left:4%;  top:-4%; width:140px; --r:5deg; animation-delay:-5s; opacity:.7; }
.p .chip { font-size:.7rem; padding:3px 10px; }
@keyframes drift { 0%,100% { transform:translateY(0) rotate(var(--r)); } 50% { transform:translateY(-18px) rotate(calc(var(--r) * -.4)); } }
.bubble { position:absolute; z-index:6; max-width:240px; padding:12px 16px; border-radius:16px 16px 16px 4px; background:var(--glass); border:1px solid var(--line); backdrop-filter:blur(10px); font-size:.92rem; box-shadow:0 20px 40px rgba(0,0,0,.4); animation:drift 7s ease-in-out infinite; --r:0deg; }
.bubble small { display:block; color:var(--muted); font-size:.75rem; margin-bottom:2px; }
.bubble.b1 { left:-4%; bottom:14%; }
.bubble.b2 { right:-2%; top:34%; animation-delay:-3s; }
@media (prefers-reduced-motion:reduce) { .p,.bubble { animation:none; transform:rotate(var(--r)); } .btn { transition:none; } }

/* sections */
section { padding:96px 0; }
.label { text-transform:uppercase; letter-spacing:.22em; font-size:.75rem; color:var(--gold); margin:0 0 12px; }
h2 { font:500 clamp(2rem,4vw,3rem)/1.1 var(--serif); margin:0 0 40px; }
.app { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); border-radius:28px; overflow:hidden; text-decoration:none; color:var(--fg);
  background:linear-gradient(135deg,#2a1626,#1a101a); border:1px solid var(--line); transition:border-color .2s, transform .2s; }
.app:hover { border-color:rgba(232,194,122,.5); transform:translateY(-3px); }
.app .copy { padding:48px; display:flex; flex-direction:column; justify-content:center; gap:14px; }
.app h3 { font:italic 600 2.4rem/1 var(--serif); margin:0; }
.app h3 b { color:var(--gold); font-style:normal; }
.app p { color:var(--muted); margin:0; max-width:38ch; }
.app .go { color:var(--gold); font-weight:600; margin-top:8px; }
.app .strip { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; padding:6px; min-height:320px; }
.app .strip img { width:100%; height:100%; object-fit:cover; border-radius:18px; }
.soon { margin-top:20px; padding:28px; border:1px dashed var(--line); border-radius:22px; color:var(--muted); text-align:center; }
.pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pillar { padding:28px; border-radius:22px; background:var(--bg2); border:1px solid var(--line); }
.pillar h3 { font:500 1.4rem/1.2 var(--serif); margin:0 0 8px; color:var(--gold); }
.pillar p { margin:0; color:var(--muted); }

/* inner pages */
.page { padding:150px 0 90px; }
.page .wrap { max-width:760px; }
.page h1 { font-size:clamp(2.2rem,5vw,3.4rem); }
.page h2 { font-size:1.4rem; margin:36px 0 8px; }
.page p { color:var(--muted); }
.page p a { color:var(--gold); }

footer { border-top:1px solid var(--line); padding:32px 0 44px; color:var(--muted); font-size:.9rem; background:#100910; }
footer .wrap { display:flex; flex-wrap:wrap; gap:8px 32px; justify-content:space-between; }
footer p { margin:6px 0; }
footer .adult { color:var(--fg); font-weight:600; }
footer a { color:var(--muted); }

@media (max-width:900px) {
  .hero .wrap { grid-template-columns:1fr; }
  .float { height:440px; }
  .p { width:140px !important; } .p:nth-child(1) { width:170px !important; } .p:nth-child(6) { display:none; } .p figcaption { display:none; }
  .bubble.b2 { display:none; } .bubble.b1 { left:0; bottom:4%; }
  .app { grid-template-columns:1fr; } .app .copy { padding:32px 26px; } .app .strip { min-height:220px; }
  .pillars { grid-template-columns:1fr; }
  section { padding:72px 0; }
}
@media (max-width:560px) {
  .wrap { padding:0 16px; }
  nav a { margin-left:14px; font-size:.85rem; }
  .btn.ghost { margin:12px 0 0; }
  .float { height:380px; }
}
