:root{--ink:#142b40;--accent:#bd4f2d;--soft:#f5f0ed}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font:16px/1.7 system-ui,sans-serif}header{position:sticky;top:0;background:white;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 5%;border-bottom:1px solid #ddd}header>a{font-size:24px;font-weight:800}a{color:inherit}nav{display:flex;gap:20px}.button{display:inline-block;background:var(--accent);color:white;padding:15px 24px;text-decoration:none;border-radius:8px;font-weight:700}main{max-width:1400px;margin:auto;padding:24px}.breadcrumbs{font-size:13px}.hero{text-align:center;background:var(--ink);color:white;padding:60px 24px;border-radius:16px}h1{font-size:clamp(30px,4vw,52px);line-height:1.15}h2{line-height:1.3}section{margin:36px 0}.fine{font-size:12px;line-height:1.5;opacity:.8}.profiles{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.profile{position:relative}.profile-open{display:block;position:relative;width:100%;height:390px;padding:0;border:0;border-radius:14px;overflow:hidden;text-align:left;background:var(--ink);color:white;cursor:pointer;font:inherit}.profile-open img{width:100%;height:100%;object-fit:cover}.summary{position:absolute;inset:35% 0 0;display:flex;flex-direction:column;justify-content:end;padding:22px;background:linear-gradient(transparent,#000c)}.summary strong{font-size:24px}.hover{position:absolute;inset:0;background:#000a;display:flex;flex-direction:column;justify-content:center;padding:25px;opacity:0;transition:.2s}.hover b{margin-top:20px}.profile-open:hover .hover,.profile-open:focus-visible .hover{opacity:1}.profile-open:hover .summary,.profile-open:focus-visible .summary{opacity:0}.favorite{position:absolute;top:12px;right:12px;border:0;border-radius:50%;background:white;width:38px;height:38px;font-size:24px;cursor:pointer}.favorite[aria-pressed=true]{color:var(--accent)}.places{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.places a{border:1px solid #ddd;border-radius:10px;padding:18px;text-decoration:none}.editorial{max-width:1000px;margin:65px auto}.editorial h2{margin-top:36px}details{padding:18px;border-bottom:1px solid #ddd}summary{cursor:pointer;font-weight:650}footer{background:var(--ink);color:white;padding:45px 5% 120px}.sticky{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:6;max-width:90%;width:max-content;box-shadow:0 8px 30px #0003;border-radius:8px}dialog{max-width:650px;width:90%;border:0;border-radius:14px;padding:28px;color:var(--ink)}dialog::backdrop{background:#0009}.detail-photo{width:40%;max-height:270px;object-fit:cover;float:left;margin:0 25px 20px 0}.close{float:right;font-size:25px;background:none;border:0;cursor:pointer}@media(max-width:800px){.profiles,.places{grid-template-columns:repeat(2,1fr)}header nav{display:none}header .button{font-size:12px;padding:10px}.profile-open{height:300px}.summary{padding:12px}.summary strong{font-size:18px}main{padding:15px}.hero{padding:35px 18px}}@media(max-width:420px){.profiles{gap:10px}.profile-open{height:260px}.places{grid-template-columns:1fr}}
.rail-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.rail-controls{display:none;gap:8px}.rail-controls button{min-width:44px;min-height:44px;border:1px solid #ccc;border-radius:50%;background:#fff;color:var(--ink);font-size:22px;cursor:pointer}.rail-hint{display:none}.profile-rail:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.venue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.venue-grid article{padding:20px;background:var(--soft);border-radius:12px}.venue-grid h4{margin:0}.venue-grid p{overflow-wrap:anywhere}@media(max-width:800px){.rail-controls{display:flex}.rail-hint{display:block}.profile-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 2px 16px;overscroll-behavior-x:contain}.profile-rail .profile{flex:0 0 78%;min-width:0;scroll-snap-align:start}.profile-rail .profile-open{height:360px}.profile-rail .summary strong{font-size:23px}.venue-grid{grid-template-columns:1fr}.rail-heading h3{font-size:20px;line-height:1.3}.rail-controls{flex-shrink:0}}@media(prefers-reduced-motion:reduce){.hover{transition:none}}
.profile-filters{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.profile-filters button{padding:12px 16px;border:1px solid #ccc;border-radius:24px;background:white;color:var(--ink);cursor:pointer}.profile-filters button[aria-pressed=true]{background:var(--ink);color:white}.profile-section[hidden]{display:none}
:root{--ink:#22132f;--accent:#e00085;--soft:#fff0f8}a,a:hover,a:visited{text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #8e48ff;outline-offset:4px}body{background:#fffafd}header{border-bottom:1px solid #f6d6ed;box-shadow:0 3px 24px #50124b0a}header>a{color:#d00079;letter-spacing:-1px}.button{background:linear-gradient(110deg,#ed008c,#9715de);box-shadow:0 8px 24px #d900832b;border-radius:14px}.hero{background:radial-gradient(ellipse at top right,#881b7e,transparent 65%),linear-gradient(135deg,#24112e,#110d22);border:1px solid #a9339350}.hero h1{letter-spacing:-1.5px}.profile{border-radius:18px;box-shadow:0 8px 24px #4d124414}.profile-open{border-radius:18px}.places a{background:white;border-color:#f1d8e9;transition:background .2s}.places a:hover{background:#ffe5f4}.profile-filters button[aria-pressed=true]{background:linear-gradient(110deg,#d90080,#8b20bd);border-color:transparent}.profile-filters button{font-weight:650}.venue-grid article{background:white;border:1px solid #f1d8e9;box-shadow:0 8px 26px #5716470a}.venue-grid a{color:#b00069;font-weight:700}.venue-map{padding:12px 0}.venue-map iframe{border-radius:12px}.editorial{background:white;padding:30px;border-radius:22px;border:1px solid #f3e1ee}h2{letter-spacing:-.5px}.profile-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px;align-items:start}.profile-detail>img{width:100%;max-height:680px;object-fit:cover;border-radius:24px}.profile-detail blockquote{margin:25px 0;padding:24px;background:var(--soft);border-left:4px solid var(--accent);border-radius:12px;font-size:22px}.intent-badge{display:inline-block;background:#fce2f2;color:#a40062;padding:7px 14px;border-radius:25px}.site-faq{max-width:1000px;margin:50px auto}.site-faq details{background:white;border:1px solid #f1d8e9;border-radius:12px;margin:12px 0}@media(max-width:800px){header{padding:12px 16px;gap:12px}header>a{font-size:20px;line-height:1.2}.editorial{padding:20px}.profile-detail{grid-template-columns:1fr;gap:20px}.profile-detail>img{max-height:430px}}section[id]{scroll-margin-top:100px}
/* One site mascot, consistently reused without obscuring profile details. */
.site-brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;line-height:1.15}
header .site-brand{min-width:0;max-width:340px}
img.brand-logo{width:48px;height:48px;object-fit:contain;flex-shrink:0}
footer img.brand-logo{width:60px;height:60px}
.profile-open img.brand-photo-badge,.profile-portrait img.brand-photo-badge{position:absolute;right:10px;bottom:10px;width:36px;height:36px;object-fit:contain;border-radius:50%;background:#fff;box-shadow:0 2px 10px #20062f55;z-index:3;pointer-events:none;padding:2px}
.profile .summary{padding-right:52px}
.profile-portrait{position:relative;align-self:start}
.profile-portrait>img:first-child{width:100%;height:100%;max-height:720px;object-fit:cover;border-radius:24px;display:block}
@media(max-width:650px){header img.brand-logo{width:38px;height:38px}header .site-brand{font-size:16px;max-width:240px}.profile-portrait>img:first-child{max-height:430px}}
/* Shared layout, distinct selectable site palettes. */
:root{--accent:#d00079;--accent-end:#9715de;--soft:#fff0f8;--ink:#22132f;--hero-glow:#881b7e;--hero-dark:#110d22;--edge:#ecd9e7}
:root[data-palette=green]{--accent:#007952;--accent-end:#00696c;--soft:#edf9f3;--ink:#132f29;--hero-glow:#137c5d;--hero-dark:#071f1b;--edge:#cde9dc}
:root[data-palette=violet]{--accent:#7534cb;--accent-end:#5041c6;--soft:#f5f0ff;--ink:#27183e;--hero-glow:#7736ae;--hero-dark:#180d2b;--edge:#e4d8f5}
:root[data-palette=blue]{--accent:#175bc9;--accent-end:#166c88;--soft:#edf5ff;--ink:#142b49;--hero-glow:#255ca0;--hero-dark:#09162d;--edge:#d2e2f5}
:root[data-palette=gold]{--accent:#936514;--accent-end:#79501e;--soft:#fcf6e9;--ink:#302719;--hero-glow:#876528;--hero-dark:#1c1812;--edge:#e8dcc3}
:root[data-palette=graphite]{--accent:#434754;--accent-end:#656879;--soft:#f1f2f5;--ink:#22242c;--hero-glow:#505462;--hero-dark:#101116;--edge:#dcdde4}
html[data-palette] body{background:var(--soft)}
html[data-palette] header{border-color:var(--edge)}
html[data-palette] header>a,html[data-palette] .venue-list a{color:var(--accent)}
html[data-palette] .button,html[data-palette] .profile-filters button[aria-pressed=true]{background:linear-gradient(110deg,var(--accent),var(--accent-end));color:white;box-shadow:0 8px 24px #0002}
html[data-palette] .hero{background:radial-gradient(ellipse at top right,var(--hero-glow),transparent 65%),var(--hero-dark);border-color:var(--edge)}
html[data-palette] .intent-badge{background:var(--soft);color:var(--accent)}
html[data-palette] .places a,html[data-palette] .editorial,html[data-palette] .site-faq details{border-color:var(--edge)}
html[data-palette] .places a:hover{background:var(--soft)}
.palette-picker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px;background:white;border:1px solid var(--edge);border-radius:16px;margin:0 0 24px;font-size:12px}
.palette-picker>span{font-weight:800;margin-right:8px}.palette-picker button{font:inherit;background:white;color:#252532;border:1px solid #ddd;border-radius:20px;padding:8px 12px;cursor:pointer;min-height:40px}.palette-picker button:before{content:'';display:inline-block;width:12px;height:12px;background:var(--swatch);border-radius:50%;margin-right:7px}.palette-picker button[aria-pressed=true]{border:2px solid var(--swatch);font-weight:700}
.area-map{display:grid;grid-template-columns:1fr 1.6fr;gap:28px;align-items:center;border:1px solid var(--edge);border-radius:22px;background:white;padding:24px}.area-map h2{margin:12px 0}.area-map p{font-size:14px}.area-map a{font-weight:700;color:var(--accent)}.area-map iframe{width:100%;height:280px;border:0;border-radius:16px}
.venue-list{background:white;border:1px solid var(--edge);border-radius:16px;padding:0 20px}.venue-list article{display:grid;grid-template-columns:1.1fr 1.4fr auto auto;gap:8px 20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--edge)}.venue-list article:last-child{border:0}.venue-list h4,.venue-list p{margin:0}.venue-list p,.venue-list a{font-size:13px}.venue-list a{font-weight:650}.venue-list .fine{grid-column:1/-1;font-size:11px}
@media(max-width:800px){.area-map{grid-template-columns:1fr;gap:14px;padding:18px}.area-map iframe{height:230px}.venue-list article{grid-template-columns:1fr auto}.venue-list h4,.venue-list article>p:not(.fine){grid-column:1/-1}}
:root{--engagement-safe:env(safe-area-inset-bottom,0px)}
.sticky .sticky-partner{display:flex;align-items:center;gap:16px;padding:12px 20px;border-radius:18px;text-decoration:none;box-shadow:0 10px 35px #0003;max-width:calc(100vw - 32px)}
.sticky-partner small{display:block;font-size:11px;font-weight:500;margin-top:3px;opacity:.9}
.cta-portraits{display:flex;padding-left:0;flex-shrink:0}
.cta-portraits img{width:38px;height:38px;border-radius:50%;border:2px solid #fff;object-fit:cover;object-position:center 25%;margin-left:-10px}
.cta-portraits img:first-child{margin-left:0}
.partner-bubble{position:fixed;right:22px;bottom:calc(26px + var(--engagement-safe));z-index:25;display:flex;flex-direction:column;align-items:center;color:var(--ink,#182135);text-decoration:none;filter:drop-shadow(0 5px 12px #0003);transition:transform .18s}
.partner-bubble img{width:64px;height:64px;border:3px solid white;border-radius:50%;object-fit:cover;object-position:center 25%}
.partner-bubble span{background:white;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:700;margin-top:-8px;position:relative}
.partner-bubble:hover{transform:translateY(-3px)}
.partner-bubble:focus-visible,.sticky-partner:focus-visible{outline:3px solid var(--accent,#d00079);outline-offset:5px}
@media(max-width:600px){.partner-bubble{right:12px;bottom:calc(104px + var(--engagement-safe))}.partner-bubble img{width:54px;height:54px}.sticky .sticky-partner{gap:10px;padding:11px 15px;font-size:14px}.cta-portraits img{width:32px;height:32px}.sticky{bottom:calc(12px + var(--engagement-safe))}}
@media(prefers-reduced-motion:reduce){.partner-bubble{transition:none}}
.profile-detail{max-width:1180px}.profile-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px;align-items:start}.profile-portrait{margin:0}.profile-portrait>img{display:block;width:100%;max-height:660px;object-fit:cover;object-position:center 25%;border-radius:24px}.profile-portrait figcaption{font-size:12px;margin-top:10px;opacity:.75}.profile-introduction h1{margin:18px 0 8px;overflow-wrap:anywhere}.profile-introduction h1 span{font-size:.6em;font-weight:400}.profile-style{margin:0 0 16px}.profile-traits{display:flex;gap:8px;flex-wrap:wrap}.profile-traits span{border:1px solid var(--edge);border-radius:20px;padding:5px 12px;font-size:13px;background:white}.profile-introduction blockquote{margin:22px 0;padding:16px 20px;border-left:3px solid var(--accent);background:var(--soft);border-radius:0 14px 14px 0}.profile-save{font:inherit;padding:12px 18px;border:1px solid var(--edge);border-radius:12px;background:white;color:var(--ink);cursor:pointer}.profile-save[aria-pressed=true]{background:var(--soft);color:var(--accent)}.profile-disclosure{margin-top:24px;padding:18px;border:1px solid var(--edge);border-radius:14px;background:white;font-size:13px}.profile-disclosure p{margin-bottom:0}.profile-panel{padding:26px;background:white;border:1px solid var(--edge);border-radius:20px}.profile-panel h2{margin-top:0}.profile-panel dt{font-weight:700}.profile-panel dd{margin:4px 0 18px}.profile-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.profile-related a{display:block;background:white;border:1px solid var(--edge);border-radius:18px;overflow:hidden}.profile-related img{display:block;width:100%;height:250px;object-fit:cover;object-position:center 25%}.profile-related span{display:block;padding:16px;overflow-wrap:anywhere}.profile-related small{display:block;color:var(--accent)}
@media(max-width:700px){.profile-detail-grid{grid-template-columns:1fr;gap:24px}.profile-portrait>img{max-height:500px}.profile-related{gap:10px}.profile-related img{height:150px}.profile-related span{padding:10px;font-size:13px}.profile-detail .breadcrumbs{flex-wrap:wrap}}
main.profile-detail{display:block}main.profile-detail .profile-portrait>img:first-child{height:auto;max-height:660px}main.profile-detail blockquote{font-size:18px}
/* Shared, mobile-first destination drawer and working saved profiles. */
.dialog-open{overflow:hidden}.dating-header{padding:14px 5%;gap:16px}.dating-header .site-brand{overflow-wrap:anywhere}.header-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.header-actions button,.menu-heading button,[data-close-dialog],.menu-secondary button{font:inherit;background:white;border:1px solid var(--edge);border-radius:12px;color:var(--accent);min-width:44px;min-height:44px;cursor:pointer}.header-actions small{display:block;font-size:10px;line-height:1.2}.header-actions a{font-size:14px;font-weight:700}.header-actions .button{padding:10px 16px}.partner-login{text-align:center}.location-menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(390px,92vw);height:100dvh;max-height:100dvh;max-width:100vw;border-radius:18px 0 0 18px;padding:0 20px 28px;overscroll-behavior:contain}.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;background:white;padding:12px 0;z-index:1}.menu-heading h2{font-size:20px}.location-menu nav{display:block}.location-menu nav>a,.location-menu details>a{display:block;padding:10px 12px;border-radius:9px;min-height:44px}.location-menu details{padding:0;border:0;margin:8px 0}.location-menu summary{padding:14px;background:var(--soft);border-radius:10px;color:var(--accent)}.location-menu details>a{margin-left:12px;font-size:14px}.location-menu a:hover{background:var(--soft)}.menu-secondary{margin-top:22px;padding-top:16px;border-top:1px solid var(--edge)}#favorites-dialog>[data-close-dialog]{float:right}[data-favorites-list]{display:grid;grid-template-columns:1fr 1fr;gap:12px}[data-favorites-list] a{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--edge);border-radius:12px;overflow-wrap:anywhere}[data-favorites-list] img{width:52px;height:66px;object-fit:cover;border-radius:8px}.hero{padding:32px 24px}.hero h1{margin:18px auto;max-width:1100px}.hero-tagline{max-width:720px;margin:16px auto 22px}.profile-introduction{padding:24px;background:white;border:1px solid var(--edge);border-radius:20px}.profile-disclosure{padding:12px;background:var(--soft);line-height:1.5}.related-portrait{position:relative}.related-portrait img.brand-photo-badge{position:absolute;right:10px;bottom:10px;width:32px;height:32px;object-fit:contain;background:white;border-radius:50%;padding:2px}.profile-portrait img.brand-photo-badge{border-radius:50%;max-height:36px}.breadcrumbs{flex-wrap:wrap}.profile-detail .places{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.dating-header{padding:10px 12px;flex-wrap:wrap;gap:8px}.dating-header .site-brand{max-width:none;font-size:17px;flex:1;min-width:180px}.header-actions{gap:8px;margin-left:auto}.header-actions button span{display:none}.header-actions .button{padding:8px 12px}.header-actions a{font-size:12px}.hero{padding:24px 16px}.hero h1{font-size:32px;letter-spacing:-.7px}.profile-introduction{padding:18px}.profile-related{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-related img{height:210px}.profile-detail .places{grid-template-columns:1fr}.profile-detail .profile-portrait>img:first-child{max-height:520px}.partner-bubble{display:none}.profile-detail .area-map{grid-template-columns:1fr}}
@media(max-width:380px){.dating-header .site-brand{font-size:15px}.header-actions{width:100%;justify-content:flex-end}.profile-related img{height:180px}}
/* Compact navigation without removing crawlable destinations from the document. */
.places-more{padding:0;border:1px solid var(--edge);border-radius:12px;margin-top:12px;background:white}.places-more>summary{padding:14px;min-height:48px;color:var(--accent)}.places-more>.places{padding:0 12px 12px}.places a{min-width:0;overflow-wrap:anywhere}.places-more[open]>summary{margin-bottom:8px}
.photo-concealed .profile-open>img:first-child{filter:blur(14px);transform:scale(1.06)}.photo-reveal{position:absolute;left:10px;top:60px;z-index:4;border:1px solid #fff9;border-radius:20px;padding:9px 12px;min-height:44px;background:#21132fe6;color:white;font:600 12px/1.2 system-ui;cursor:pointer}.photo-reveal:focus-visible{outline:3px solid white;outline-offset:3px}
@media(max-width:800px){
 .profile-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:visible;padding:0;scroll-snap-type:none}.profile-rail .profile{min-width:0}.profile-rail .profile-open{height:280px}.profile-rail .summary strong{font-size:16px;line-height:1.25;overflow-wrap:anywhere}.profile-rail .summary{padding:12px 10px 46px;line-height:1.35;font-size:12px}.profile-rail .summary small{margin-top:5px}.profile-rail .brand-photo-badge{width:28px;height:28px;bottom:8px;right:8px}.rail-controls,.rail-hint{display:none}
 .places,.profile-detail .places{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.places a{padding:12px 10px;min-height:64px;font-size:13px;line-height:1.4;display:flex;align-items:center}.places-more>summary .fine{display:block}.profile-filters{gap:6px}.profile-filters button{padding:9px 10px;font-size:12px;min-height:44px}
}
@media(max-width:700px){
 .dating-header{flex-wrap:nowrap;padding:10px 12px;gap:8px}.dating-header .site-brand{min-width:0;max-width:none;font-size:16px;gap:6px}.dating-header .brand-logo{width:32px;height:32px}.header-actions{width:auto;gap:6px;margin-left:0;flex-shrink:0}.header-actions .partner-login,.header-actions .partner-signup{display:none}.header-actions button{min-width:44px;min-height:44px}
 main{padding:12px}.hero{margin:18px 0 26px;padding:24px 14px}.hero h1{font-size:29px;line-height:1.12}.hero .button{padding:12px 16px;font-size:14px}.hero-tagline{font-size:14px;line-height:1.5}.hero .fine{font-size:11px}.profile-detail .breadcrumbs{gap:8px;margin-top:6px}.profile-detail-grid{margin:18px 0;gap:16px}main.profile-detail .profile-portrait>img:first-child{height:300px;max-height:40svh;object-position:center 25%;border-radius:18px}.profile-introduction{padding:16px}.profile-introduction h1{font-size:28px;margin:12px 0 8px}.profile-introduction .intent-badge{font-size:12px;padding:4px 10px}.profile-panel{padding:18px}.profile-related img{height:190px}.editorial{padding:18px}.area-map{margin:26px 0}.sticky .sticky-partner{padding:10px 14px;font-size:13px;gap:8px}.sticky{max-width:calc(100vw - 24px)}
}
@media(max-width:360px){.dating-header .site-brand{font-size:13px}.dating-header .brand-logo{width:28px;height:28px}.profile-rail .profile-open{height:250px}.profile-rail{gap:8px}.photo-reveal{left:6px;padding:8px;font-size:11px}.profile-related img{height:160px}}
@media(hover:none){.profile-open:hover .hover{opacity:0}.profile-open:hover .summary{opacity:1}}
