:root{
  --bg:#0a0a10; --bg2:#0f0f18; --panel:#14141f; --panel2:#191925; --line:#26263a;
  --ink:#ececf5; --muted:#9a9ab4; --dim:#6f6f8a;
  --brand:#8ab4ff; --brand2:#c9a2ff; --accent:#7cf0c0;
  --ok:#38d39f; --warn:#ffcf5c; --err:#ff6b7d;
  --radius:16px; --radius-sm:10px; --maxw:1140px;
  --shadow:0 20px 60px rgba(0,0,0,.45);
  font-synthesis:none;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:radial-gradient(1200px 700px at 80% -10%, #1a1a33 0%, transparent 60%),
             radial-gradient(900px 600px at -10% 10%, #17203a 0%, transparent 55%),
             var(--bg);
  color:var(--ink);
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.55; -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{line-height:1.15;margin:0 0 .4em}
h1{font-size:clamp(1.9rem,4vw,3.1rem);letter-spacing:-.02em}
h2{font-size:clamp(1.3rem,2.4vw,1.7rem);letter-spacing:-.01em}
p{margin:.4em 0}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#0c0c16;padding:.12em .4em;border-radius:6px;border:1px solid var(--line);font-size:.9em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.narrow{max-width:620px}
.muted{color:var(--muted)}
.small{font-size:.85rem}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--brand);font-weight:700;margin:0 0 .6em}
.lead{font-size:1.12rem;color:var(--muted);max-width:60ch}
.opt{color:var(--dim);font-weight:400;text-transform:none;letter-spacing:0}
.center{display:grid;place-items:center;min-height:100vh}

/* topbar */
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding:14px 22px;backdrop-filter:blur(14px);background:rgba(10,10,16,.72);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.01em}
.brand-mark{color:var(--brand);filter:drop-shadow(0 0 10px rgba(138,180,255,.5))}
.tag-admin{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);border:1px solid var(--line);padding:2px 6px;border-radius:999px}
.nav{display:flex;align-items:center;gap:20px;font-size:.94rem}
.nav a{color:var(--muted)}
.nav a:hover,.nav a.active{color:var(--ink)}
.who{color:var(--muted);font-size:.9rem}
.who em{color:var(--accent);font-style:normal;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
.inline{display:inline}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;
  background:linear-gradient(180deg,var(--brand),#6f9aff);color:#07101f;font-weight:700;padding:10px 18px;border-radius:999px;
  cursor:pointer;font-size:.95rem;transition:transform .12s ease,box-shadow .12s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 30px rgba(138,180,255,.35)}
.btn-sm{padding:7px 14px;font-size:.85rem}
.btn-lg{padding:13px 24px;font-size:1rem}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{box-shadow:none;border-color:var(--brand);color:var(--brand)}
.btn-danger{background:transparent;color:var(--err);border-color:#40222b}
.btn-danger:hover{border-color:var(--err);box-shadow:none}

/* hero */
.hero{padding:80px 0 40px;position:relative;overflow:hidden}
.hero-inner{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 34px}
.stats{display:flex;gap:40px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--line)}
.stats strong{display:block;font-size:2rem;letter-spacing:-.02em}
.stats span{color:var(--muted);font-size:.85rem}

/* sections + grid */
.wrap+ .wrap{margin-top:48px}
section.wrap{padding-top:8px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:56px 0 20px}
.section-head a{color:var(--brand);font-size:.92rem}
.page-head{padding:56px 0 8px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.grid-3{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.chip{border:1px solid var(--line);background:var(--panel);color:var(--muted);padding:6px 14px;border-radius:999px;font-size:.85rem}
.chip.on,.chip:hover{border-color:var(--brand);color:var(--brand)}

/* cards */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .15s ease,border-color .15s ease}
.card:hover{transform:translateY(-3px);border-color:#33406a}
.card-media{height:210px;background-size:cover;background-position:center;position:relative}
.card-body{padding:16px 18px 18px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.card-head h3{font-size:1.1rem;margin:0}
.niche{color:var(--brand2);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;margin:.5em 0 .2em}
.tagline{color:var(--muted);font-size:.92rem;margin:.2em 0 .8em}
.card-foot{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--line)}
.from{font-weight:700}
.cta{color:var(--brand)}

/* availability + status */
.avail{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;color:var(--muted)}
.avail i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}
.avail-limited i{background:var(--warn);box-shadow:0 0 8px var(--warn)}
.avail-closed i{background:var(--dim);box-shadow:none}
.status{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;padding:3px 9px;border-radius:999px;border:1px solid var(--line)}
.status-new{color:var(--brand);border-color:#2b3a63}
.status-reviewing{color:var(--warn);border-color:#4a4326}
.status-quoted{color:var(--brand2);border-color:#3d3055}
.status-confirmed{color:var(--ok);border-color:#254a3c}
.status-declined{color:var(--err);border-color:#4a2630}
.status-completed{color:var(--accent);border-color:#254a44}

/* features */
.feature{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.feature-ico{font-size:1.5rem;margin-bottom:10px}
.feature h3{font-size:1.05rem}
.band{margin-top:64px}
.band-inner{background:linear-gradient(120deg,#141428,#1c1730);border:1px solid var(--line);border-radius:var(--radius);padding:44px;text-align:center}
.band-inner .btn{margin-top:14px}

/* profile */
.profile-hero{background-size:cover;background-position:center;border-bottom:1px solid var(--line)}
.profile-hero-inner{max-width:var(--maxw);margin:0 auto;padding:56px 22px;display:flex;gap:26px;align-items:center;
  background:linear-gradient(90deg,rgba(10,10,16,.9),rgba(10,10,16,.55))}
.avatar{width:130px;height:130px;border-radius:24px;border:1px solid var(--line);box-shadow:var(--shadow);object-fit:cover}
.profile-hero h1{margin:.1em 0}
.profile-hero .meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.9rem;margin:8px 0}
.socials{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.soc{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 12px 6px 6px;font-size:.85rem;color:var(--ink)}
.soc:hover{border-color:var(--brand)}
.soc em{color:var(--muted);font-style:normal}
.soc-badge{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:.7rem;font-weight:800;background:#22243a;color:var(--brand)}
.soc-instagram .soc-badge{background:#3a1f33;color:#ff8fc7}
.soc-youtube .soc-badge{background:#3a1c1c;color:#ff7a7a}
.soc-x .soc-badge{background:#1c1c22;color:#dfe3ee}
.soc-tiktok .soc-badge{background:#12303a;color:#7de8ff}
.soc-snapchat .soc-badge{background:#3a3a1c;color:#ffe07a}
.soc-fanvue .soc-badge{background:#2a1c3a;color:#c9a2ff}

.profile-body{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;padding:48px 22px}
.profile-main p{color:#cfcfe0}
.profile-aside{position:sticky;top:84px;align-self:start;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.gallery img{width:100%;border-radius:var(--radius-sm);border:1px solid var(--line);display:block}
.prices{margin:14px 0 20px}
.price-card{padding:12px 0;border-bottom:1px solid var(--line)}
.price-card h3{font-size:.95rem;margin:0}
.price{font-size:1.4rem;font-weight:800;letter-spacing:-.02em}
.price small{color:var(--muted);font-weight:500;font-size:.8rem}
.sample-note{color:var(--warn);font-size:.85rem}
.book-form{display:grid;gap:12px;margin-top:14px}
.book-form label,.form-card label,.login-card label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted);font-weight:600}
input,select,textarea{font:inherit;color:var(--ink);background:#0c0c16;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(138,180,255,.18)}
textarea{resize:vertical}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row-4{grid-template-columns:repeat(4,1fr)}

/* panel + kv + timeline */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}
.kv{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}
.kv:last-child{border-bottom:0}
.kv span{color:var(--muted)}
.timeline{list-style:none;display:flex;gap:0;padding:18px 0 0;margin:0}
.timeline li{flex:1;text-align:center;font-size:.75rem;text-transform:capitalize;color:var(--dim);position:relative;padding-top:22px}
.timeline li:before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:12px;height:12px;border-radius:50%;background:#23233a;border:1px solid var(--line)}
.timeline li.done{color:var(--ink)}
.timeline li.done:before{background:var(--ok);border-color:var(--ok);box-shadow:0 0 10px var(--ok)}
.flash{border-radius:var(--radius-sm);padding:12px 14px;margin:12px 0;font-size:.9rem}
.flash.ok{background:#12281f;border:1px solid #1f5a42;color:#9ff0cd}
.flash.err{background:#2a151b;border:1px solid #5a2130;color:#ffb3bf}
.disclosure{max-width:var(--maxw);margin:24px auto 0;padding:14px 22px 0;border-top:1px solid var(--line);color:var(--dim);font-size:.8rem}

/* footer */
.footer{margin-top:72px;border-top:1px solid var(--line);background:var(--bg2);padding:44px 22px 30px}
.foot-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}
.foot-grid h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--dim);margin-bottom:10px}
.foot-grid a{display:block;color:var(--muted);font-size:.9rem;padding:3px 0}
.foot-grid a:hover{color:var(--brand)}
.footer .small{max-width:var(--maxw);margin:22px auto 0;color:var(--dim)}

/* admin */
.admin{background:var(--bg)}
.admin-shell{display:grid;grid-template-columns:230px 1fr;max-width:1400px;margin:0 auto;gap:0}
.side{border-right:1px solid var(--line);padding:22px 14px;min-height:calc(100vh - 60px);position:sticky;top:60px;align-self:start}
.side-item{display:block;padding:10px 14px;border-radius:var(--radius-sm);color:var(--muted);font-weight:600;font-size:.94rem}
.side-item:hover{background:var(--panel);color:var(--ink)}
.side-item.on{background:linear-gradient(90deg,rgba(138,180,255,.18),transparent);color:var(--ink);border-left:2px solid var(--brand)}
.admin-main{padding:28px 34px 80px;min-width:0}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:20px 0}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.kpi strong{display:block;font-size:2rem;letter-spacing:-.02em}
.kpi span{color:var(--muted);font-size:.85rem}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th{text-align:left;color:var(--dim);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;padding:8px 10px;border-bottom:1px solid var(--line)}
.tbl td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.form-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;max-width:860px}
.form-card h3{margin-top:24px}
.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.soc-grid{display:grid;gap:8px}
.soc-row{display:grid;grid-template-columns:1.1fr 1fr 1.6fr .7fr;gap:8px;align-items:center}
.brief{margin-top:14px}
.token{font-size:.78rem;word-break:break-all}
.login-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:32px;width:min(420px,92vw);display:grid;gap:12px;box-shadow:var(--shadow)}
.login-card h1{font-size:1.5rem}

@media(max-width:860px){
  .profile-body,.foot-grid,.admin-shell{grid-template-columns:1fr}
  .side{position:static;min-height:0;border-right:0;border-bottom:1px solid var(--line);display:flex;gap:6px;overflow-x:auto}
  .profile-aside{position:static}
  .row,.row-4{grid-template-columns:1fr}
  .soc-row{grid-template-columns:1fr 1fr}
  .nav{gap:12px}
  .nav .btn{display:none}
}

/* mode: 18+ / NSFW */
.tag-18{font-size:.62rem;font-weight:800;letter-spacing:.12em;color:#ff9ec2;border:1px solid #5a2340;background:#2a1020;padding:2px 7px;border-radius:999px;text-transform:uppercase}
body.nsfw{--brand:#ff8fc7;--brand2:#c9a2ff}
body.nsfw .hero h1 em{background:linear-gradient(90deg,#ff8fc7,#c9a2ff)}
body.nsfw .brand-mark{color:#ff8fc7;filter:drop-shadow(0 0 10px rgba(255,143,199,.5))}
body.nsfw .btn{background:linear-gradient(180deg,#ff8fc7,#e05f9e);color:#1a0712}
.gate h1{margin-top:6px}
.gate .gate-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.gate .gate-actions .btn{flex:1}
