:root{
 --bg:#ffffff;--card:#fff;--ink:#111217;--muted:#71737b;--line:#e8e9ed;--soft:#f5f6f8;
 --accent:#4a5cff;--accent-soft:#eef0ff;--dark:#111217;--green:#327a4d;
 --shadow:0 14px 38px rgba(17,18,23,.08)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}[hidden]{display:none!important}
.shell{width:min(1260px,100%);margin:auto;padding:0 24px}

.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav{height:66px;display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}
.brand-mark{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:950}
.brand-name{font-size:19px;font-weight:950;letter-spacing:-.04em}
.nav-search{flex:1;max-width:540px;margin-left:12px;position:relative}
.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#84868f;font-size:19px}
.nav-search input{width:100%;height:42px;border:1px solid transparent;background:#f4f5f7;border-radius:999px;padding:0 16px 0 41px;outline:none}
.nav-search input:focus{background:#fff;border-color:#cfd2dc;box-shadow:0 0 0 4px #4a5cff12}
.nav-actions{margin-left:auto;display:flex;gap:12px;align-items:center}
.nav-text{font-size:12px;font-weight:800;color:#3f4148}

.btn{border:0;border-radius:999px;min-height:40px;padding:9px 17px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.18s ease}
.btn:hover{transform:translateY(-1px)}
.btn.dark{background:var(--dark);color:#fff}.btn.accent,.btn.pink{background:var(--accent);color:#fff}.btn.light,.btn.ghost{background:#f3f4f6;color:#1e2026}.btn.outline{background:#fff;color:#1e2026;border:1px solid #d7d9df}.btn.white{background:#fff;color:#121318}.btn.soft{background:var(--accent-soft);color:#3444d8}.btn.compact{min-height:36px;padding:7px 15px}.btn.large{min-height:48px;padding:12px 21px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}

.intro{padding:30px 0 18px}
.intro-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}
.intro-copy,.intro-photo{min-height:430px;border-radius:26px}
.intro-copy{background:#f3f4f7;padding:52px;display:flex;flex-direction:column;justify-content:center}
.micro,.section-label,.eyebrow{font-size:10px;font-weight:950;letter-spacing:.14em;color:#6c6f79}
.intro-copy h1{font-size:clamp(52px,6vw,80px);line-height:.92;letter-spacing:-.075em;margin:14px 0 20px}
.intro-copy h1 span{color:var(--accent)}
.intro-copy p{font-size:17px;line-height:1.65;max-width:560px;color:#5f626b;margin:0}
.intro-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}
.intro-photo{position:relative;overflow:hidden;background:linear-gradient(150deg,#dcdfe7,#b7bdca) center/cover no-repeat}
.intro-photo.has-image{background-position:center;background-size:cover}
.photo-caption{position:absolute;left:16px;right:16px;bottom:16px;background:#fff;color:#131419;border-radius:18px;padding:15px 17px;box-shadow:0 10px 30px #0002}
.photo-caption b{display:block;font-size:15px}.photo-caption span{display:block;color:#777a83;font-size:10px;margin-top:2px}

.people-strip-section{padding:18px 0 5px}
.strip-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}
.strip-title strong{font-size:14px}.strip-title a{font-size:11px;font-weight:850;color:var(--accent)}
.creator-strip{display:flex;gap:16px;overflow:auto;padding:3px 1px 12px;scrollbar-width:none}.creator-strip::-webkit-scrollbar{display:none}
.creator-bubble{flex:0 0 82px;text-align:center;cursor:pointer}
.creator-bubble-photo{width:72px;height:72px;margin:auto;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px var(--accent),0 5px 14px #0001;background:#e6e8ee center 25%/cover no-repeat;display:grid;place-content:center;color:#70737c;font-weight:950}
.creator-bubble-name{font-size:10px;font-weight:850;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}


.filter-row{border-bottom:1px solid var(--line);padding:7px 0}
.filter-row-inner{display:flex;gap:7px;overflow:auto;scrollbar-width:none}.filter-row-inner::-webkit-scrollbar{display:none}
.filter-chip{white-space:nowrap;border-radius:999px;background:#f5f6f8;padding:8px 13px;font-size:10px;font-weight:850;color:#565962}
.filter-chip.active{background:#111217;color:#fff}


.access-section{padding:18px 0 8px}
.access-card{background:#111217;color:#fff;border-radius:24px;padding:27px 29px;display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.6fr);gap:24px;align-items:center}
.access-copy h2{font-size:clamp(26px,3vw,40px);line-height:1;letter-spacing:-.05em;margin:8px 0}
.access-copy p{margin:0;color:#b7bac3;font-size:11px}
.access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.access-option{min-height:112px;border:1px solid #31343d;border-radius:16px;background:#1b1d23;color:#fff;padding:15px;display:flex;flex-direction:column;transition:.18s ease}
.access-option:hover{transform:translateY(-2px);border-color:#666dff;background:#20232d}
.access-option small{font-size:8px;font-weight:950;letter-spacing:.12em;color:#a8adff}
.access-option strong{font-size:15px;margin:5px 0}
.access-option span{font-size:9px;line-height:1.45;color:#aaadb6}

.section{padding:48px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.section-head h2{font-size:clamp(32px,4vw,48px);line-height:1;letter-spacing:-.055em;margin:5px 0 7px}
.section-head p{margin:0;color:var(--muted);font-size:12px}
.count-pill,.badge{display:inline-flex;border-radius:999px;background:#f4f5f7;padding:7px 11px;font-size:9px;font-weight:900;color:#60636c}

.model-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}
.model-card{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;min-width:0;transition:.18s ease}
.model-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.model-photo{aspect-ratio:4/5;height:auto;min-height:0;background:#e5e7ec center 28%/cover no-repeat;position:relative}
.model-photo.empty{display:grid;place-content:center;text-align:center;color:#7b7e87;background:linear-gradient(145deg,#f0f1f4,#dfe1e7)}
.model-photo.empty:before{content:"Profile";font-size:16px;font-weight:950}.model-photo.empty:after{content:"photo coming soon";font-size:8px;text-transform:uppercase;letter-spacing:.12em;margin-top:4px}
.model-body{padding:14px}
.model-name-row{display:flex;align-items:center;gap:6px;min-width:0;margin:0 0 5px}
.model-name{font-size:18px;line-height:1.1;margin:0;letter-spacing:-.025em}

.model-description{font-size:11px;color:var(--muted);min-height:32px;margin:0 0 10px;line-height:1.45}
.model-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px}.model-tag{font-size:8px;font-weight:800;background:#f4f5f7;color:#60636b;border-radius:999px;padding:4px 7px}
.preview{display:none}
.model-meta{display:flex;justify-content:space-between;align-items:center;gap:9px;border-top:1px solid var(--line);padding-top:11px}
.price{font-weight:950;font-size:13px}.model-item-count{font-size:8px;color:#858790;margin-top:2px}
.model-actions{display:flex;gap:5px}.icon-btn,.details-btn{border:0;border-radius:999px;padding:7px 9px;font-size:9px;font-weight:900;background:#f3f4f6;color:#24262d}.icon-btn{font-size:14px}.icon-btn.active{background:#eef0ff;color:#3f4fe0}.details-btn{background:#111;color:#fff}
.section-spacer{margin-top:56px}.empty-grid{grid-column:1/-1;border:1px dashed #d4d6dd;border-radius:16px;padding:48px;text-align:center;color:#777a83;background:#fafafa}

.join-section{padding:0 0 46px}.join-card{background:#111217;color:#fff;border-radius:24px;padding:42px 46px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.join-card h2{font-size:clamp(36px,4.5vw,55px);line-height:.98;letter-spacing:-.06em;margin:6px 0 12px;max-width:620px}.join-card p{color:#a9abb2;max-width:580px}.inverted{color:#8e919a}
.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.info-grid article{border:1px solid var(--line);border-radius:15px;padding:17px;background:#fff}.info-grid article span{font-size:9px;color:var(--accent);font-weight:950}.info-grid strong{display:block;margin-top:10px}.info-grid p{font-size:10px;color:var(--muted);margin:6px 0 0}
footer{border-top:1px solid var(--line);padding:34px 0 45px}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-grid strong{font-size:17px}.footer-grid p{color:#8a8c94;margin:4px 0 0}.footer-grid>div:last-child{display:flex;gap:18px;font-size:10px;color:#6e7078}

.field{display:block;font-size:11px;font-weight:850;margin:12px 0}.field input,.field textarea,.field select{width:100%;border:1px solid #d8dae1;border-radius:11px;min-height:44px;padding:10px 11px;margin-top:5px;background:#fff;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:#8690ff;box-shadow:0 0 0 4px #4a5cff12}.field textarea{min-height:96px;resize:vertical}.field.inline{display:flex;align-items:center;gap:8px}.field.inline input{width:auto;min-height:0;margin:0}
.fine{font-size:10px;color:#80838c}.notice{border-radius:10px;background:#f2f3f6;color:#555861;padding:11px 12px;font-size:11px;white-space:pre-wrap}.notice.success{background:#e9f5ea;color:#356447}.notice.error{background:#ffebea;color:#9d373b}
.modal{position:fixed;inset:0;z-index:80;background:#111217b8;display:grid;place-items:center;padding:16px}.dialog{background:#fff;color:var(--ink);width:min(100%,480px);max-height:90vh;overflow:auto;border-radius:19px;padding:27px;position:relative;box-shadow:0 30px 90px #0004}.dialog .close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:24px}.dialog h2{font-size:30px;line-height:1.05;letter-spacing:-.04em;margin:10px 0}.dialog p{color:var(--muted)}.dialog .btn{width:100%;margin-top:8px}.switch{border:0;background:none;color:var(--accent);font-weight:850;padding:10px 0}

@media(max-width:1200px){.model-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1050px){.model-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.intro-copy{padding:40px}.intro-copy h1{font-size:58px}.access-card{grid-template-columns:1fr}.access-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.shell{padding:0 15px}.nav{gap:9px;flex-wrap:wrap;height:auto;padding:9px 0}.nav-search{order:4;margin-left:0;max-width:none;flex-basis:100%}.intro{padding-top:17px}.intro-inner{grid-template-columns:1fr}.intro-copy,.intro-photo{min-height:330px}.intro-copy{padding:32px 27px}.intro-copy h1{font-size:49px}.model-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.access-grid{grid-template-columns:1fr}.access-option{min-height:0}.info-grid{grid-template-columns:repeat(2,1fr)}.join-card{display:grid;padding:34px 28px}}
@media(max-width:620px){.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.brand-name{font-size:16px}.brand-mark{width:31px;height:31px}.nav-text{font-size:9px}.nav-actions{gap:6px}.nav-actions .btn{padding:7px 10px;font-size:8px}.intro-copy,.intro-photo{min-height:300px}.intro-copy h1{font-size:43px}.intro-copy p{font-size:14px}.model-grid{gap:9px}.model-body{padding:10px}.model-name{font-size:15px}.model-description{font-size:9px}.details-btn{display:none}.access-card{padding:22px 18px;border-radius:18px}.section{padding:38px 0}.section-head{display:block}.count-pill{margin-top:9px}.info-grid{grid-template-columns:1fr}.join-card{border-radius:18px;padding:27px 21px}.footer-grid{display:grid}.footer-grid>div:last-child{flex-wrap:wrap}}

.model-photo-img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 28%}
.creator-bubble-img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 25%;border-radius:50%}


/* Discovery controls preserve the existing profile grid and portrait ratios. */
.discovery-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.discovery-controls label{display:flex;flex-direction:column;gap:6px;font-weight:750;font-size:12px;flex:1 1 200px;min-width:0}
.discovery-controls select{width:100%;min-height:44px;padding:9px 12px;border:1px solid #d7d9df;border-radius:12px;background:#fff;color:var(--ink)}
.discovery-controls button{min-height:44px}
.discovery-controls :focus-visible{outline:3px solid var(--accent);outline-offset:3px}
#retry-marketplace{margin-bottom:16px}
@media(max-width:620px){.discovery-controls{gap:10px}.discovery-controls label{flex-basis:100%}.discovery-controls button{width:100%}}

/* Homepage color treatment: solid cards keep content legible over soft color. */
.marketplace-home{background:radial-gradient(ellipse at 0% 8%,#f5ceeb 0,transparent 38%),radial-gradient(ellipse at 100% 24%,#cfd6ff 0,transparent 40%),radial-gradient(ellipse at 10% 75%,#cceee5 0,transparent 36%),linear-gradient(145deg,#fff8fc,#f1efff 55%,#fff0e5);--muted:#5e6070}
.marketplace-home .intro-copy{background:linear-gradient(130deg,#ffe1ef,#e5ddff 68%,#d8e9ff);box-shadow:0 12px 36px #60428c12;border:1px solid #ffffffb3}
.marketplace-home .intro-photo:not(.has-image){background:linear-gradient(140deg,#f3bddd,#b9b5f1 52%,#a9dfe1)}
.marketplace-home .filter-row{background:#ffffff80;border-color:#dcd5ed}
.marketplace-home .filter-chip:not(.active){background:#fff;color:#514568}
.marketplace-home .access-card{background:linear-gradient(115deg,#24214c,#4e2e69 58%,#6b345a);box-shadow:0 16px 40px #4e2e691c}
.marketplace-home .access-copy p,.marketplace-home .join-card p{color:#e7dff2}
.marketplace-home .inverted{color:#d8c9ed}
.marketplace-home .access-option{background:#211d3f;border-color:#79658d}
.marketplace-home .access-option span{color:#d9d2e4}
.marketplace-home .join-card{background:linear-gradient(115deg,#30245c,#563578 52%,#873d68);box-shadow:0 16px 40px #4e2e691c}
.marketplace-home .model-card,.marketplace-home .info-grid article{border-color:#e0d8eb;box-shadow:0 7px 22px #49336c09}
.marketplace-home .count-pill{background:#fff;color:#514568}
.marketplace-home footer{background:#ffffff8c;border-color:#ddd5e8}
