*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#090909;color:#f4f1f0;font-family:"DM Sans",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:78px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(8,8,8,.92);border-bottom:1px solid #252020;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:10px;font-family:"Playfair Display",serif;font-size:21px;letter-spacing:2px}.brand small{display:block;font:8px "DM Sans";letter-spacing:2px;color:#9d8e8c}.brand-mark{font:35px serif;color:#d93257}.nav{display:flex;gap:24px;font-size:12px;text-transform:uppercase;letter-spacing:.7px}.nav a{color:#b9b1af}.nav a:hover,.nav .active{color:#f04466}.nav-actions{display:flex;gap:9px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;border-radius:5px;border:1px solid #4a3034;text-transform:uppercase;font-size:11px;letter-spacing:1px;font-weight:700}.btn-primary{background:linear-gradient(135deg,#f04769,#bd1f43);border-color:#e7385d}.btn-ghost{border-color:#55484a}.btn-outline{border-color:#b82e49;color:#f05a74;background:transparent}.btn-lg{padding:15px 25px}.menu-btn{display:none;background:none;border:0;color:white;font-size:25px}.hero{min-height:650px;display:flex;position:relative;overflow:hidden;background:radial-gradient(circle at 75% 45%,#35151d 0,#110b0d 35%,#090909 67%)}.hero-copy{width:53%;padding:105px 0 80px 8vw;position:relative;z-index:2}.eyebrow{font-size:10px;color:#e33c5f;letter-spacing:2.7px;text-transform:uppercase}.hero h1,h2{font-family:"Playfair Display",serif;font-weight:500;line-height:1.08}.hero h1{font-size:65px;max-width:720px;margin:18px 0}.hero h1 em{color:#e84163}.hero p{color:#aaa2a0;max-width:540px;font-size:16px}.hero-location{display:flex;gap:10px;margin:25px 0;color:#ed4565;font-size:12px;letter-spacing:1px}.hero-location b{font:22px "Playfair Display";letter-spacing:2px}.cta-row{display:flex;gap:12px;margin:30px 0}.trust-line{display:flex;gap:20px;color:#9e9795;font-size:11px}.hero-art{position:absolute;right:0;top:0;width:54%;height:100%;overflow:hidden;background:radial-gradient(circle at 55% 40%,#6c2836 0,#251218 31%,transparent 58%)}.silhouette{position:absolute;border-radius:48% 52% 10% 10%;filter:blur(.2px)}.silhouette-one{width:330px;height:540px;right:18%;top:90px;background:linear-gradient(160deg,#bfa6a5,#3b2226 52%,#111);transform:rotate(8deg)}.silhouette-two{width:250px;height:500px;right:4%;top:110px;background:linear-gradient(145deg,#5b4d50,#171316 58%,#050505);transform:rotate(-5deg)}.hero-card{position:absolute;right:7%;bottom:70px;padding:18px 24px;background:rgba(8,8,8,.72);border:1px solid #49353a;border-radius:10px;backdrop-filter:blur(10px)}.hero-card span{display:block;color:#42ca7b;font-size:9px;letter-spacing:1px}.hero-card b{display:block;margin-top:5px}.hero-card small{color:#aaa}.occasion-strip{display:grid;grid-template-columns:repeat(7,1fr);background:#101010;border-top:1px solid #241c1e;border-bottom:1px solid #241c1e}.occasion-strip a{padding:25px 8px;text-align:center;border-right:1px solid #262023;color:#b7aeac;font-size:11px}.occasion-strip span{display:block;color:#ec3e60;font-size:25px;margin-bottom:5px}.section{padding:95px 7vw}.dark-section{background:#0d0b0c}.section-head{text-align:center;max-width:720px;margin:0 auto 50px}.section h2,.split-section h2,.safety h2{font-size:44px;margin:8px 0 12px}.section-head p{color:#8f8987}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.step{text-align:center;padding:20px;border-right:1px solid #2b2224}.step b{display:block;color:#7d5c63;font-size:11px}.step span{display:inline-flex;width:58px;height:58px;border:1px solid #a92e47;border-radius:50%;align-items:center;justify-content:center;color:#ef4667;font-size:24px;margin:10px}.step h3{margin:2px 0;font-size:15px}.step p{color:#817b79;font-size:12px}.profiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.profile-card{background:#141112;border:1px solid #2b2224;border-radius:10px;overflow:hidden}.profile-img{height:320px;position:relative;background-size:cover;background-position:center}.profile-img span{position:absolute;top:12px;left:12px;background:#27a96b;color:#07150e;padding:3px 8px;border-radius:10px;font-size:8px;font-weight:700}.img-a{background:linear-gradient(145deg,#6d4c45,#1e1516 50%,#6d3040)}.img-b{background:linear-gradient(145deg,#3b252b,#a14b56 52%,#191013)}.img-c{background:linear-gradient(145deg,#6b625c,#211b1a 55%,#55313b)}.img-d{background:linear-gradient(145deg,#9b796e,#302020 45%,#100e0e)}.profile-body{padding:18px}.profile-body h3{margin:0;font:21px "Playfair Display"}.profile-body h3 small{font:12px "DM Sans";color:#89817f}.profile-body p{margin:4px 0 12px;color:#89817f;font-size:11px}.tags{display:flex;gap:5px;flex-wrap:wrap}.tags i{font-style:normal;padding:3px 7px;border:1px solid #36292c;border-radius:12px;color:#aaa;font-size:9px}.text-link{display:block;margin-top:16px;color:#ed4667;font-size:11px;text-transform:uppercase;letter-spacing:1px}.center{text-align:center;margin-top:30px}.split-section{display:grid;grid-template-columns:1.2fr 1fr;min-height:410px}.city-visual{padding:75px 7vw;display:flex;align-items:center;background:radial-gradient(circle at 50% 50%,#4b252c,#151011 63%,#0a0a0a)}.city-content{padding:75px 7vw;background:#111}.city-content h3{font:26px "Playfair Display"}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:20px 0 30px}.area-grid span{padding:11px 0;border-bottom:1px solid #292123;color:#9c9592;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#3a1119}.stats div{text-align:center;padding:32px 10px;border-right:1px solid #5b202b}.stats b{display:block;color:#ef5470;font:35px "Playfair Display"}.stats span{color:#c4b5b3;font-size:11px}.join-visual{min-height:430px;background:radial-gradient(circle at 50% 50%,#9c4052,#32141c 45%,#0c0a0b 72%);position:relative}.glow-orb{width:250px;height:330px;position:absolute;left:35%;top:50px;border-radius:50%;background:linear-gradient(145deg,#e4c8c5,#45262d);box-shadow:0 0 80px #bd3d58}.join-copy{padding:80px 9vw;background:#101010}.join-copy p{color:#9a9391;max-width:480px}.join-copy ul{padding:0;list-style:none;color:#b6aeac;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:25px 0}.join-copy li:before{content:"✓";color:#ef4968;margin-right:8px}.safety{padding:75px 7vw;background:#0b0b0b;border-top:1px solid #211b1c}.safety-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:35px}.safety-grid article{padding:22px;border:1px solid #292224;border-radius:8px;color:#e84a68}.safety-grid b{display:block;color:#eee;margin:12px 0 3px;font-size:13px}.safety-grid p{color:#85807e;font-size:11px;margin:0}.footer{display:grid;grid-template-columns:1.6fr repeat(3,1fr) 1.2fr;gap:35px;padding:55px 7vw;background:#070707;border-top:1px solid #231d1f}.footer h4{margin:0 0 14px;font-size:11px;color:#e84b68;text-transform:uppercase;letter-spacing:1.5px}.footer>div>a:not(.brand){display:block;color:#8f8987;font-size:11px;margin:7px 0}.footer p{color:#77716f;font-size:11px}.age{display:inline-flex;width:32px;height:32px;border:1px solid #d33a58;border-radius:50%;align-items:center;justify-content:center;color:#ec4667;font-weight:700}.footer-note{border-left:1px solid #252022;padding-left:25px}.footer-note small{color:#625d5b}.page-hero{padding:90px 7vw 70px;text-align:center;background:radial-gradient(circle at 50% 20%,#38131b,#0b0a0a 65%)}.page-hero h1{font:52px "Playfair Display";margin:10px 0}.page-hero p{color:#98918f;max-width:650px;margin:auto}.form-wrap{max-width:850px;margin:55px auto;padding:35px;background:#121011;border:1px solid #2b2224;border-radius:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field label{display:block;font-size:10px;color:#aaa19f;text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;padding:13px 14px;background:#090909;border:1px solid #332a2c;border-radius:5px;color:#eee;outline:none}.field textarea{min-height:120px;resize:vertical}.full{grid-column:1/-1}.form-actions{margin-top:22px}.notice{padding:12px 15px;background:#241117;border:1px solid #5c2632;color:#c7b7b5;border-radius:5px;font-size:11px}.faq{max-width:850px;margin:40px auto}.faq details{padding:20px;border-bottom:1px solid #292224}.faq summary{cursor:pointer;font-weight:600}.faq p{color:#8e8886;font-size:13px}.legal{max-width:900px;margin:55px auto;padding:0 25px}.legal h2{font-size:28px}.legal p,.legal li{color:#96908e;font-size:13px}.profile-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:55px auto}.profile-list .profile-img{height:350px}.filterbar{max-width:1100px;margin:35px auto 0;padding:18px;background:#121011;border:1px solid #292123;display:flex;gap:10px;flex-wrap:wrap}.filterbar select{padding:10px;background:#090909;color:#ccc;border:1px solid #342b2d}.mobile-only{display:none}
@media(max-width:1000px){.nav{display:none}.menu-btn{display:block;margin-left:auto;margin-right:12px}.nav-actions{display:flex}.hero-copy{width:100%;padding:90px 7vw}.hero-art{opacity:.42;width:100%}.occasion-strip{grid-template-columns:repeat(4,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.profiles{grid-template-columns:repeat(2,1fr)}.footer{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.site-header{padding:0 4vw}.brand{font-size:18px}.nav-actions .btn-ghost{display:none}.hero{min-height:690px}.hero h1{font-size:45px}.hero-copy{padding:75px 6vw}.hero-art{opacity:.25}.trust-line{flex-direction:column;gap:4px}.occasion-strip{grid-template-columns:repeat(2,1fr)}.section{padding:70px 6vw}.section h2,.split-section h2,.safety h2{font-size:36px}.steps,.profiles,.safety-grid,.profile-list{grid-template-columns:1fr}.split-section{grid-template-columns:1fr}.city-visual{min-height:300px}.stats{grid-template-columns:1fr 1fr}.join-copy{padding:60px 7vw}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.footer{grid-template-columns:1fr}.footer-note{border-left:0;padding-left:0}.page-hero h1{font-size:40px}.cta-row{flex-direction:column;align-items:stretch}}

/* V3 dynamic public profiles */
.empty-state{grid-column:1/-1;text-align:center;color:#8f8987;padding:35px;border:1px dashed #342b2d;border-radius:10px}.profile-detail{max-width:1100px;margin:55px auto 80px;padding:0 24px;display:grid;grid-template-columns:minmax(300px,460px) 1fr;gap:55px;align-items:center}.profile-detail-photo{min-height:590px;border-radius:14px;background-size:cover;background-position:center;border:1px solid #34282b}.profile-detail-copy h1{font:52px "Playfair Display";margin:10px 0}.profile-detail-copy h1 small{font:16px "DM Sans";color:#918987}.profile-detail-copy h3{font:22px "Playfair Display";color:#d7cecc}.profile-detail-copy p{color:#aaa2a0}.profile-gallery{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.profile-gallery img{width:100%;height:420px;object-fit:cover;border-radius:10px;border:1px solid #302629}@media(max-width:750px){.profile-detail{grid-template-columns:1fr;margin-top:25px;gap:28px}.profile-detail-photo{min-height:480px}.profile-detail-copy h1{font-size:42px}.profile-gallery{grid-template-columns:1fr}.profile-gallery img{height:auto}}

/* V3 profile-detail patch */
.profile-back{display:inline-block;margin:0 0 14px;color:#a99f9d;font-size:11px;text-transform:uppercase;letter-spacing:1px}.profile-back:hover{color:#ed4667}.profile-facts{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.profile-facts span{min-width:110px;padding:11px 14px;background:#121011;border:1px solid #302629;border-radius:7px;color:#d3cbca;font-size:12px}.profile-facts b{display:block;color:#817977;font-size:9px;text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}.profile-note{font-size:11px!important;color:#77706e!important;border-top:1px solid #2a2224;padding-top:14px}.profile-gallery a{display:block;overflow:hidden;border-radius:10px}.profile-gallery img{display:block;transition:transform .25s ease}.profile-gallery a:hover img{transform:scale(1.02)}


/* V3 gallery + browse polish */
.city-tabs{max-width:1100px;margin:0 auto 14px;display:flex;gap:10px;flex-wrap:wrap}.city-tabs a{padding:9px 14px;border:1px solid #342b2d;border-radius:999px;color:#aaa19f;font-size:11px;text-transform:uppercase;letter-spacing:.8px}.city-tabs a:hover,.city-tabs a.active{border-color:#b82e49;color:#f05a74;background:#1a0e12}.city-tabs span{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;margin-left:5px;border-radius:999px;background:#2b171c;color:#f05a74}.profile-card{transition:transform .2s ease,border-color .2s ease}.profile-card:hover{transform:translateY(-3px);border-color:#4a2d34}.profile-card .profile-img{transition:filter .2s ease}.profile-card:hover .profile-img{filter:brightness(1.05)}
@media(max-width:650px){.filterbar{margin-top:14px}.filterbar select,.filterbar .btn{width:100%}.city-tabs{justify-content:center}.profile-list{margin-top:30px}.profile-list .profile-img{height:420px}}
