:root{--ink:#171914;--muted:#6e7068;--line:#e9e2d5;--paper:#fffdf8;--soft:#f7f2e8;--gold:#b8995b;--gold-deep:#7d6333;--night:#191b17;--wa:#25D366;--tg:#229ED9;--radius:16px;--shadow:0 10px 26px rgba(34,29,19,.07)}
*{box-sizing:border-box}
.hide{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:#f0ede6;color:var(--ink);font:14px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
.site{width:100%;max-width:440px;min-height:100vh;margin:0 auto;background:var(--paper);box-shadow:0 0 35px rgba(24,25,20,.07);overflow:hidden}
.announcement{min-height:35px;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 12px;background:linear-gradient(100deg,#171914,#35372c 55%,#171914);color:#e7d4a8;font-size:10px;font-weight:750;letter-spacing:.3px}
.header{padding:17px 15px 13px;border-bottom:1px solid var(--line);background:var(--paper)}
.brand-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.brand{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:700;letter-spacing:-.65px;line-height:1;color:var(--ink)}
.brand span{color:var(--gold-deep)}
.tagline{font-size:10px;color:var(--muted);margin-top:5px}
.header-note{font-size:9px;letter-spacing:.7px;text-transform:uppercase;color:var(--gold-deep);text-align:right}
.hero{padding:16px 13px 19px}
.hero-card{position:relative;overflow:hidden;padding:21px 17px 18px;border-radius:19px;background:radial-gradient(ellipse at 100% 0%,rgba(190,160,99,.26),transparent 43%),linear-gradient(135deg,#24261f 0%,#171914 62%,#333329 100%);color:#fffdf7;box-shadow:0 13px 27px rgba(27,27,21,.16)}
.hero-card:after{content:"";position:absolute;width:155px;height:155px;border:1px solid rgba(211,185,129,.23);border-radius:50%;right:-66px;bottom:-86px;box-shadow:0 0 0 17px rgba(211,185,129,.035),0 0 0 34px rgba(211,185,129,.025);pointer-events:none}
.eyebrow{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:#d7bd83;font-weight:800}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:600;font-size:29px;letter-spacing:-.65px;line-height:1.08;margin:9px 0 9px;max-width:300px}
.hero p{font-size:11px;color:#e0dfd5;line-height:1.55;margin:0;max-width:310px}
.hero-foot{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}
.hero-pill{font-size:9px;border:1px solid rgba(222,203,160,.35);background:rgba(255,255,255,.055);color:#f2e7cf;border-radius:30px;padding:7px 9px}
.section{padding:0 13px 23px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:8px;margin:0 2px 11px}
.kicker{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;font-weight:800;color:var(--gold-deep)}
.section h2{font-family:Georgia,"Times New Roman",serif;font-size:22px;letter-spacing:-.45px;line-height:1.12;margin:4px 0 0;font-weight:650}
.section-sub{font-size:10px;color:var(--muted);margin-top:5px}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.profile-card{min-width:0;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;box-shadow:var(--shadow);transition:transform .16s ease,box-shadow .16s ease}
.profile-card:active{transform:scale(.985)}
.profile-photo{position:relative;aspect-ratio:4/4.45;background:linear-gradient(145deg,#f1eee6,#e4dfd2);display:grid;place-items:center;overflow:hidden;color:#7a766b;font-size:10px;text-align:center;padding:8px}
.profile-photo img,.detail-media img,.detail-media video{width:100%;height:100%;object-fit:cover}
.profile-photo .status{position:absolute;top:8px;left:7px;border-radius:30px;padding:5px 7px;background:rgba(255,253,248,.96);font-size:8px;font-weight:850;letter-spacing:.15px;box-shadow:0 2px 8px rgba(0,0,0,.07)}
.status.available{color:#28613c}.status.booked{color:#8a671b}.status.not-available{color:#9a4141}
.profile-info{padding:10px 9px 8px}



.price-label{font-size:9px;color:var(--muted);margin-top:8px}


.card-actions{display:flex;gap:5px;padding:1px 7px 8px}
.contact-btn{min-width:0;flex:1;min-height:36px;display:flex;align-items:center;justify-content:center;gap:4px;border:0;border-radius:8px;font-size:9px;font-weight:850;padding:6px 2px}
.contact-btn svg{width:14px;height:14px;flex:0 0 14px}
.whatsapp{background:var(--wa);color:#07351a}.telegram{background:var(--tg);color:#fff}.contact-btn:disabled{opacity:.65}
.telegram-panel{border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#fffefa,#f7f2e8);box-shadow:var(--shadow)}


.trust-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.trust-item{background:rgba(255,255,255,.78);border:1px solid #eee7da;border-radius:11px;padding:10px;font-size:10px;color:#6e7068;line-height:1.4}
.trust-item b{display:block;color:var(--ink);font-size:11px;margin-bottom:4px}





.review-track{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.review-track::-webkit-scrollbar{display:none}




.telegram-panel{padding:17px;background:radial-gradient(ellipse at 100% 0%,rgba(190,160,99,.18),transparent 45%),linear-gradient(135deg,#24261f,#191b17);color:#fffdf7;border-color:#34352b}
.telegram-panel .kicker{color:#d7bd83}
.telegram-panel h2{font-family:Georgia,"Times New Roman",serif;font-size:23px;letter-spacing:-.4px;margin:5px 0 6px}
.telegram-panel p{font-size:11px;line-height:1.5;color:#e0dfd5;margin:0}
.telegram-cta{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;min-height:43px;margin-top:13px;background:var(--tg);color:white;border:0;border-radius:10px;font-weight:850;font-size:11px}
.telegram-cta svg{width:17px;height:17px}

.policy-item{font-size:10px;line-height:1.55;color:#6e7068;padding:10px 0;border-top:1px solid var(--line)}
.policy-item:first-of-type{border-top:0}
.policy-item b{display:block;color:var(--ink);font-size:11px;margin-bottom:3px}
.footer{padding:16px 15px 19px;background:#f7f2e8;border-top:1px solid var(--line)}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.footer-brand{font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:700}
.footer-meta{font-size:9px;color:var(--muted);line-height:1.8;margin-top:10px}
.top-btn,.back-btn,.next-btn{border:1px solid #e2d7c2;border-radius:30px;background:#fffdf8;padding:9px 11px;font-size:10px;font-weight:800;color:var(--ink)}
.detail{padding:13px}
.detail-media{display:flex;gap:8px;overflow-x:auto;margin-top:12px;scroll-snap-type:x mandatory}
.detail-media>*{flex:0 0 86%;width:86%;height:290px;scroll-snap-align:start;border-radius:13px;background:#eee9de;object-fit:cover}
.detail-title{font-family:Georgia,"Times New Roman",serif;font-size:26px;margin:15px 0 4px}
.detail-sub{color:var(--muted);font-size:11px}
.detail-price{margin-top:13px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--soft);font-size:11px}
.detail-price strong{display:block;font-size:17px;margin-top:4px}
.detail-actions{display:flex;gap:8px;margin-top:12px}
.detail-actions .contact-btn{min-height:43px;font-size:11px}
.detail-next{width:100%;margin-top:14px}
.fineprint{font-size:9px;line-height:1.5;color:var(--muted);margin:10px 0 0}
@media(min-width:441px){body{padding:14px 0}.site{border-radius:20px}.announcement{border-radius:20px 20px 0 0}}
/* Current public page layout */
:root{--ink:#211f1a;--muted:#77736a;--line:#e8e1d4;--paper:#fffefa;--soft:#f7f3ea;--gold:#c2a56a;--gold-deep:#80683b;--shadow:0 12px 30px rgba(36,31,22,.07)}
body{background:#f2efe8;font-size:15px;line-height:1.55}
.site{width:min(100% - 28px,1120px);max-width:1120px;margin:0 auto;border:1px solid #e9e3d8;border-radius:22px;overflow:hidden;box-shadow:0 24px 70px rgba(29,27,22,.1)}
.announcement{min-height:38px;font-size:11px;letter-spacing:.45px;transition:opacity .18s ease}
.header{padding:21px clamp(18px,4vw,48px) 17px}
.brandline{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{font:700 30px/1 Georgia,"Times New Roman",serif;letter-spacing:-1px}
.brand span{color:var(--gold-deep)}
.tagline{font-size:12px;color:var(--muted);margin-top:7px}
.age{color:var(--gold-deep);font-size:11px;font-weight:750;line-height:1.55;text-align:right;letter-spacing:.35px;text-transform:uppercase}
.hero{padding:clamp(24px,5vw,54px) clamp(18px,4vw,48px) 22px;background:radial-gradient(ellipse at 100% 0%,rgba(194,165,106,.12),transparent 44%)}
.hero .eyebrow,.section .eyebrow,.trust .eyebrow,.telegram-panel .eyebrow{color:var(--gold-deep);font-size:10px;letter-spacing:1.8px;font-weight:850;text-transform:uppercase}
.hero h1{font-size:clamp(35px,6vw,62px);line-height:1.03;letter-spacing:-1.8px;max-width:730px;margin:12px 0;color:var(--ink)}
.hero .lead{max-width:620px;color:#66645d;font-size:clamp(15px,2vw,18px);line-height:1.65;margin:14px 0 0}
.steps{padding:0 clamp(18px,4vw,48px) 40px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.step{display:flex;align-items:center;gap:11px;padding:14px 13px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 5px 18px rgba(36,31,22,.035)}
.stepnum{flex:0 0 30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f0e8d8;color:var(--gold-deep);font-size:12px;font-weight:850}
.step b,.step small{display:block}.step b{font-size:12px}.step small{margin-top:3px;color:var(--muted);font-size:11px}
.section{padding:0 clamp(18px,4vw,48px) 44px}
.section-head{align-items:end;margin:0 0 17px}.section-head h2,.section>h2,.trust h2,.policy h2{font:600 clamp(25px,3vw,34px)/1.12 Georgia,"Times New Roman",serif;letter-spacing:-.7px;margin:5px 0 0}
#profiles .section-head{display:block}
.section-sub{color:var(--muted);font-size:12px;text-align:right}
.profile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.profile-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-3px 0 18px}
.profile-toolbar[hidden]{display:none}
.profile-filters{display:flex;min-width:0;gap:10px;overflow-x:auto;scrollbar-width:none;padding:3px 2px 8px}
.profile-filters::-webkit-scrollbar{display:none}
.profile-filter{flex:0 0 auto;min-height:50px;padding:0 19px;border:1px solid #e4dccd;border-radius:999px;background:#fffefa;color:#5e5b53;font-size:15px;font-weight:500;transition:background .16s,border-color .16s,color .16s}
.profile-filter:hover{border-color:#cbbb98;background:#f8f5ee}
.profile-filter[aria-pressed="true"]{border-color:#292a23;background:#292a23;color:#fffdf7}
.profile-filter:focus-visible{outline:3px solid #c2a56a;outline-offset:2px}
.profile-result-count{flex:0 0 auto;margin:0 2px 7px;color:var(--muted);font-size:12px}
.profile-card{border-radius:16px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.profile-card:hover{transform:translateY(-2px);box-shadow:0 11px 24px rgba(34,29,19,.09);border-color:#d8c9a8}
.profile-open{display:block;width:100%;border:0;padding:0;text-align:left;color:inherit;background:transparent}
.profile-photo{aspect-ratio:4/3.15;font-size:12px;color:#797469}
.profile-photo img,.profile-photo video{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.profile-photo::after{content:"";position:absolute;inset:35% 0 0;pointer-events:none;background:linear-gradient(transparent,rgba(15,15,12,.68))}.profile-name-overlay{position:absolute;z-index:2;left:12px;bottom:11px;color:#fff;font-size:17px;font-weight:850;letter-spacing:-.25px;text-shadow:0 1px 4px rgba(0,0,0,.35)}
.profile-card:hover .profile-photo img{transform:scale(1.025)}
.profile-photo .status{top:11px;left:11px;padding:6px 9px;font-size:10px}
.profile-city-badge{position:absolute;z-index:2;top:11px;right:11px;max-width:calc(100% - 92px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 9px;border:1px solid rgba(255,255,255,.65);border-radius:30px;background:rgba(255,253,248,.96);color:#514b3f;font-size:10px;font-weight:750;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.profile-info{padding:9px 10px 7px}
.price-box{margin-top:0;padding:7px 8px;border-radius:9px;background:#f8f5ee;border:1px solid #eee8dc}.price-label{margin:0;font-size:10px;text-transform:uppercase;letter-spacing:.65px;font-weight:750}.price-value{font-size:14px;font-weight:850;margin-top:4px;overflow-wrap:anywhere}.booking-value{font-size:10px;color:var(--muted);line-height:1.45;margin-top:7px}.price-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:5px}.price-option{display:flex;min-width:0;flex-direction:column;gap:2px;padding:6px 7px;border:1px solid #ebe5d9;border-radius:8px;background:rgba(255,255,255,.8)}.price-option span{color:var(--muted);font-size:9px;line-height:1.2}.price-option strong{font-size:13px;line-height:1.2;white-space:nowrap;letter-spacing:-.2px}
.card-actions{padding:2px 9px 9px;gap:7px}.contact-btn{min-height:40px;border-radius:9px;font-size:11px;gap:6px;padding:8px}.contact-btn svg{width:16px;height:16px;flex-basis:16px}.contact-btn:hover{filter:brightness(.96)}
.trust{margin:0 clamp(18px,4vw,48px) 32px;padding:20px clamp(16px,2.5vw,26px);border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#fffefa,#f7f2e8);box-shadow:var(--shadow)}
.trust-intro{max-width:650px;color:var(--muted);font-size:12px;margin:6px 0 13px}.trust-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.trust-item{display:flex;align-items:flex-start;gap:7px;min-width:0;background:rgba(255,255,255,.78);border:1px solid #eee7da;border-radius:11px;padding:11px;font-size:11px;color:#68665f;line-height:1.4}.trust-item b{font-size:11px;margin:0 0 2px}.tick{flex:0 0 auto;color:#698252;font-size:13px;margin:0}
.review-heading{align-items:center}.review-arrows{display:flex;gap:7px}.review-arrows button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:white;font-size:24px;color:var(--ink);cursor:pointer}.review-arrows button:hover{background:var(--soft)}
.review-track{gap:14px;padding:2px 2px 10px}.review-card{flex:0 0 280px;max-width:80%;border:1px solid var(--line);border-radius:14px;padding:9px;background:#fff;box-shadow:0 5px 18px rgba(36,31,22,.045);scroll-snap-align:start}.review-image{height:185px;border-radius:9px;background:#f1ede4;display:grid;place-items:center;overflow:hidden;color:var(--muted);font-size:12px;text-align:center;padding:10px}.review-image img{width:100%;height:100%;object-fit:contain}.review-note{font-size:11px;color:var(--muted);padding:9px 3px 2px}
.telegram-panel{margin:0 clamp(18px,4vw,48px) 42px;padding:clamp(22px,4vw,38px);border-radius:18px;background:radial-gradient(ellipse at 95% 0%,rgba(190,160,99,.2),transparent 42%),linear-gradient(135deg,#282920,#171914);color:#fffdf7;border:1px solid #34352b}.telegram-panel .eyebrow{color:#d7bd83}.telegram-panel h2{font:600 clamp(26px,3vw,35px)/1.15 Georgia,"Times New Roman",serif;margin:8px 0}.telegram-panel p{max-width:600px;font-size:14px;line-height:1.6;color:#e0dfd5}.telegram-cta{width:max-content;min-width:220px;padding:0 18px;min-height:46px;border-radius:10px;font-size:12px;transition:transform .15s,filter .15s}.telegram-cta:hover{transform:translateY(-1px);filter:brightness(1.05)}
.policy{padding-bottom:44px}.policy>p{max-width:780px;color:var(--muted);font-size:13px;line-height:1.65}.policy-item{font-size:12px;line-height:1.6;padding:14px 0}.policy-item b{font-size:13px}
.empty{padding:25px;border:1px dashed #d8cdb6;border-radius:13px;background:#faf8f2;color:var(--muted);font-size:13px;line-height:1.55;text-align:center}.empty b{display:block;color:var(--ink);margin-bottom:4px}
.footer{padding:27px clamp(18px,4vw,48px) 30px;background:#f7f3ea}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.footer-brand{font:700 21px Georgia,"Times New Roman",serif}.back-top{border:1px solid #ddd3bf;border-radius:30px;padding:9px 13px;font-size:11px;font-weight:750;background:#fffefa}.footer-cities{margin-top:17px;font-size:11px;color:#66645d}.legal{margin-top:10px;max-width:850px;color:#77736a;font-size:10px;line-height:1.6}.legal a{text-decoration:underline;text-underline-offset:3px}
.detail-view{display:none;padding:clamp(18px,4vw,48px)}.detail-top,.detail-footer-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}.detail-count{font-size:12px;color:var(--muted)}.back-btn,.next-btn{border:1px solid var(--line);border-radius:30px;background:white;padding:10px 15px;font-size:12px;font-weight:750;color:var(--ink)}.back-btn:hover,.next-btn:hover{background:var(--soft)}.detail-media{display:flex;justify-content:center;overflow:hidden;margin-top:20px}.detail-media>*{width:min(100%,720px);height:min(65vh,620px);min-height:300px;flex:0 1 auto;border-radius:16px;background:#eee9de;object-fit:contain}.media-list{display:flex;gap:9px;justify-content:center;margin-top:12px}.media-thumb{width:64px;height:64px;border:1px solid var(--line);border-radius:9px;background:white;overflow:hidden;color:var(--ink)}.media-thumb img{width:100%;height:100%;object-fit:cover}.detail-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.detail-title{font:600 clamp(29px,4vw,40px)/1.1 Georgia,"Times New Roman",serif;margin:0}.detail-city{font-size:13px;color:var(--muted);margin-top:6px}.detail-desc{max-width:780px;color:#66645d;font-size:14px}.detail-price{max-width:600px;padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:13px}.detail-price .price-value{font-size:18px}.detail-actions{max-width:600px}.detail-actions .contact-btn{min-height:46px;font-size:12px}.detail-footer-nav{margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}
.status{border-radius:30px;background:#f5f2ea;padding:6px 10px;font-size:10px;font-weight:800;white-space:nowrap}.status.available{color:#28613c;background:#eaf4ed}.status.booked{color:#806021;background:#f7f0dd}.status.not-available{color:#913f3b;background:#f8eae8}
.profile-grid{align-items:stretch}.profile-card{display:flex;flex-direction:column}.profile-open{display:flex;flex:1;flex-direction:column}.profile-info{display:flex;flex:1;flex-direction:column}.price-box{margin-top:auto}.card-actions{margin-top:auto}
.booking-details{border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#fffefa,#f8f5ee);box-shadow:var(--shadow);overflow:hidden}.booking-details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer}.booking-details>summary::-webkit-details-marker{display:none}.booking-summary-copy{display:block;min-width:0}.booking-summary-copy>.eyebrow{display:block}.booking-title{display:block;font:600 clamp(20px,2.5vw,27px)/1.15 Georgia,"Times New Roman",serif;margin-top:4px}.booking-teaser{display:block;color:var(--muted);font-size:12px;margin-top:5px}.booking-toggle{min-height:38px;flex:0 0 auto;border:1px solid #e2d7c2;border-radius:30px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;background:#fff;color:var(--ink);font-size:11px;font-weight:750;transition:background .18s,border-color .18s}.booking-toggle-label::before{content:"View details"}.booking-details[open] .booking-toggle-label::before{content:"Hide details"}.booking-toggle-icon{font-size:17px;line-height:1;transition:transform .18s}.booking-details[open] .booking-toggle{background:var(--soft);border-color:#d8c9a8}.booking-details[open] .booking-toggle-icon{transform:rotate(180deg)}.booking-details>summary:focus-visible{outline:3px solid #b18b48;outline-offset:-3px}.booking-content{padding:2px 20px 18px;border-top:1px solid var(--line)}.booking-intro{color:var(--muted);font-size:13px;line-height:1.6;margin:14px 0}.booking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.booking-grid .policy-item{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.booking-grid .policy-item:first-of-type{border-top:1px solid var(--line)}.booking-content>.fineprint{margin-top:12px}
@media(max-width:640px){.profile-photo{aspect-ratio:4/3.35}.profile-name-overlay{left:9px;bottom:8px;font-size:14px}.profile-city-badge{top:8px;right:8px;padding:5px 7px;font-size:9px}.price-box{padding:5px 6px}.price-label{font-size:8px;letter-spacing:.5px}.price-value{font-size:11px;line-height:1.3}.price-options{gap:4px;margin-top:4px}.price-option{gap:1px;padding:4px 5px}.price-option span{font-size:8px}.price-option strong{font-size:10px}.booking-value{font-size:8px;line-height:1.2;margin-top:3px}}
.age-gate[hidden],#feedback[hidden]{display:none!important}body.age-locked{overflow:hidden}.age-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px;background:rgba(27,27,23,.76);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.age-card{width:min(100%,430px);padding:clamp(24px,6vw,38px);border:1px solid rgba(255,255,255,.55);border-radius:22px;background:var(--paper);box-shadow:0 24px 80px rgba(0,0,0,.24);text-align:center}.age-kicker{margin:0;color:var(--gold-deep);font-size:10px;font-weight:850;letter-spacing:1.7px;text-transform:uppercase}.age-card h1{margin:10px 0;font:600 clamp(30px,7vw,40px)/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.8px}.age-card p:not(.age-kicker){color:var(--muted);font-size:14px;line-height:1.6}.age-confirm{width:100%;min-height:48px;margin-top:8px;border:0;border-radius:11px;background:#24251e;color:#fff;font-weight:800}.age-confirm:hover{background:#3a3b30}.age-note{margin:14px 0 0!important;font-size:11px!important}
button:focus-visible,a:focus-visible{outline:3px solid #b18b48;outline-offset:3px}
@media(max-width:900px){.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){body{padding:0;background:var(--paper)}.site{width:100%;border:0;border-radius:0;box-shadow:none}.announcement{border-radius:0}.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding-left:14px;padding-right:14px}.step{min-width:0;min-height:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px;padding:9px 7px}.stepnum{flex-basis:27px;width:27px;height:27px}.step b{font-size:10px;line-height:1.25}.step small{font-size:9px;line-height:1.3}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.section{padding-bottom:34px}.section-head{align-items:start;flex-wrap:wrap}.section-sub{width:100%;text-align:left}.profile-info{padding:7px 7px 5px}.price-value{font-size:12px}.card-actions{padding:2px 7px 8px;gap:5px}.contact-btn{font-size:10px;min-height:37px}.trust{margin-left:14px;margin-right:14px;margin-bottom:34px;padding:18px}.trust .trust-item{padding:11px;font-size:11px}.telegram-panel{margin-left:14px;margin-right:14px;margin-bottom:34px;padding:21px}.telegram-cta{width:100%}.detail-view{padding:18px}.detail-media>*{height:54vh;min-height:250px}.review-card{flex-basis:78%}.booking-details>summary{padding:14px}.booking-teaser{font-size:11px}.booking-content{padding:2px 14px 14px}.booking-grid{grid-template-columns:1fr;gap:7px}.booking-grid .policy-item{padding:10px 12px}.footer{padding:23px 18px}.footer-cities{line-height:1.7}}
@media(max-width:390px){.steps{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.step{flex:0 0 135px;min-height:138px;scroll-snap-align:start;padding:12px}.step b{font-size:12px}.step small{font-size:11px}.profile-grid{gap:8px}.profile-info{padding:9px 8px 7px}.price-box{padding:8px}.booking-value{font-size:8px;line-height:1.25;margin-top:5px}.contact-btn{font-size:9px;gap:3px}.contact-btn svg{width:14px;height:14px;flex-basis:14px}.trust-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.trust-item{padding:9px 8px;font-size:10px}.trust-item b{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Progressive loading and accessible, staggered entrance reveals. */
.page-progress{position:fixed;z-index:9999;inset:0 0 auto;height:3px;pointer-events:none;opacity:1;transition:opacity .3s ease}
.page-progress span{display:block;width:38%;height:100%;background:linear-gradient(90deg,#b8995b,#ead9ad,#b8995b);animation:page-progress 1.15s ease-in-out infinite}
.page-progress.is-done{opacity:0}.page-progress.is-done span{animation:none;width:100%;transition:width .25s ease}
@keyframes page-progress{0%{transform:translateX(-110%)}100%{transform:translateX(370%)}}
.reveal-on-scroll{opacity:0;transform:translateY(14px);transition:opacity .48s ease var(--reveal-delay,0ms),transform .48s cubic-bezier(.2,.7,.25,1) var(--reveal-delay,0ms)}
.reveal-on-scroll.is-visible{opacity:1;transform:none}
.site-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.site-brand img,.site-brand .site-mark{display:block;width:42px;height:42px;flex:0 0 42px}
.site-brand span{display:grid;gap:4px}
.site-brand strong{font:700 23px/1 Georgia,"Times New Roman",serif;letter-spacing:-.5px}
.site-brand small{color:var(--muted);font-size:9px;line-height:1.2}
.site-brand strong{color:#4b2030}
.profile-skeleton{min-width:0;overflow:hidden;padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.skeleton-photo,.skeleton-line{display:block;position:relative;overflow:hidden;border-radius:8px;background:#eee9df}
.skeleton-photo{aspect-ratio:4/3.15;border-radius:10px}.skeleton-line{height:11px;width:68%;margin:12px 3px 0}.skeleton-line.wide{width:86%;height:15px}.skeleton-line.short{width:42%;margin-bottom:8px}
.skeleton-photo::after,.skeleton-line::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#fff9,transparent);animation:skeleton-shimmer 1.35s ease-in-out infinite}
@keyframes skeleton-shimmer{to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1;transform:none}.page-progress span,.skeleton-photo::after,.skeleton-line::after{animation:none}}
@media(max-width:640px){.profile-toolbar{display:block;margin-bottom:13px}.profile-filters{width:100%;gap:8px}.profile-filter{min-height:44px;padding:0 16px;font-size:13px}.profile-result-count{margin:0 2px 0}}

/* Match the landing page to the admin's burgundy, rose and warm-gold identity. */
:root{--ink:#2a1720;--muted:#796b71;--line:#eadde1;--paper:#fffdfc;--soft:#f7edf0;--gold:#a45d73;--gold-deep:#722b43;--shadow:0 12px 30px rgba(57,25,39,.075)}
body{background:#f3edef}
.site{border-color:#eadde1;box-shadow:0 24px 70px rgba(57,25,39,.11)}
.announcement{background:linear-gradient(100deg,#29151f,#482234 55%,#29151f);color:#e6c996}
.brand span,.site-brand strong{color:#8d405b}
.hero{background:radial-gradient(ellipse at 100% 0%,rgba(177,103,129,.12),transparent 44%)}
.hero-card{background:radial-gradient(ellipse at 100% 0%,rgba(165,91,115,.28),transparent 44%),linear-gradient(120deg,#2b1520,#492235);box-shadow:0 15px 32px rgba(57,25,39,.18)}
.hero-card:after{border-color:rgba(226,193,138,.26);box-shadow:0 0 0 17px rgba(226,193,138,.04),0 0 0 34px rgba(226,193,138,.025)}
.eyebrow,.hero .eyebrow{color:#d9ba82}
.hero .eyebrow,.section .eyebrow,.trust .eyebrow{color:var(--gold-deep)}
.stepnum{background:#f4e8ec;color:var(--gold-deep)}
.profile-filter:hover{border-color:#c996a7;background:#faf3f5}
.profile-filter[aria-pressed="true"]{border-color:#69293e;background:linear-gradient(105deg,#873c57,#63273e);color:#fffdfc}
.profile-filter:focus-visible{outline-color:#bd8093}
.profile-card:hover{border-color:#d8b7c1;box-shadow:0 11px 24px rgba(57,25,39,.11)}
.price-box{background:#faf2f4;border-color:#efdee4}
.price-option{border-color:#efdee4}
.trust{background:linear-gradient(145deg,#fffdfc,#f8eff2)}
.trust-item{border-color:#eee1e5}
.trust-item b{color:#482234}
.tick{color:#8a4d61}
.telegram-panel{background:radial-gradient(ellipse at 95% 0%,rgba(179,105,133,.28),transparent 42%),linear-gradient(120deg,#2b1520,#492235);border-color:#583144}
.telegram-panel .eyebrow{color:#e0c38f}
.booking-details{background:linear-gradient(145deg,#fffdfc,#f8f0f3)}
.booking-toggle{border-color:#ead8df}
.booking-details[open] .booking-toggle{border-color:#d9b8c4}
.booking-details>summary:focus-visible{outline-color:#bd8093}
.booking-grid .policy-item{border-color:#eee1e5}
.footer{background:#f7eff2}
.footer-brand{color:transparent;background:linear-gradient(90deg,#69293e,#a45d73 55%,#b68c55);-webkit-background-clip:text;background-clip:text}
.back-top,.top-btn,.back-btn,.next-btn{border-color:#ead8df}
@media(max-width:390px){
  .card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:2px 7px 8px}
  .card-actions .contact-btn{min-width:0;min-height:42px;flex-direction:row;gap:3px;padding:4px 2px;font-size:8px;line-height:1.1;white-space:nowrap}
  .card-actions .contact-btn svg{width:14px;height:14px;flex:0 0 14px}
}

/* Shared brand tokens: keep public and admin surfaces on one color system. */
:root{--ink:#24151d;--muted:#796e72;--line:#e9dfe2;--paper:#fffdfc;--canvas:#f8f4f5;--gold:#9b5167;--gold-dark:#69293e;--gold-soft:#f5e9ed;--gold-deep:var(--gold-dark);--soft:var(--gold-soft);--shadow:0 14px 38px rgba(57,25,39,.07)}
body{background:var(--canvas)}
.site{border-color:var(--line);box-shadow:0 24px 70px rgba(57,25,39,.11)}
.brand span,.site-brand strong{color:transparent;background:linear-gradient(90deg,var(--gold-dark),var(--gold) 55%,#dfbd88);-webkit-background-clip:text;background-clip:text}
.announcement{color:#e6c996}
.stepnum{background:var(--gold-soft);color:var(--gold-dark)}
.profile-filter[aria-pressed="true"]{border-color:var(--gold-dark);background:linear-gradient(105deg,var(--gold),var(--gold-dark));color:#fffdfc}
.profile-filter:focus-visible,button:focus-visible,a:focus-visible,.booking-details>summary:focus-visible{outline-color:#bd8093}
.profile-card:hover{border-color:#d8b7c1;box-shadow:0 11px 24px rgba(57,25,39,.11)}
.trust-item b{color:var(--gold-dark)}
.telegram-panel{border-color:#583144}
.booking-toggle,.back-top,.top-btn,.back-btn,.next-btn{border-color:var(--line)}
.footer{border-color:var(--line);background:#f7eff2}
.footer-brand{color:transparent;background:linear-gradient(90deg,var(--gold-dark),var(--gold) 55%,#dfbd88);-webkit-background-clip:text;background-clip:text}
@media(max-width:640px){
  .steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible;scroll-snap-type:none;padding:0 14px 24px}
  .step{display:flex;flex:initial;align-items:center;justify-content:center;gap:0;min-width:0;min-height:62px;padding:10px 9px;border-color:var(--line);border-radius:14px;text-align:center}
  .stepnum,.step small{display:none}
  .step b{font-size:12px;line-height:1.3;color:var(--ink);overflow-wrap:anywhere}
}
@media(max-width:390px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-right:12px;padding-left:12px}.step{min-height:60px;padding:9px 7px}.step b{font-size:11px}}
.age{display:grid;gap:3px;flex:0 0 auto;width:max-content;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--gold-dark);font-size:8px;font-weight:800;line-height:1.2;letter-spacing:.35px;text-align:left;text-transform:uppercase;white-space:nowrap}
.age span+span{color:var(--muted);font-size:7px;letter-spacing:.55px}
.back-top{flex:0 0 auto;white-space:nowrap}
.footer-top>div{min-width:0}
@media(max-width:640px){.brandline{flex-wrap:nowrap;align-items:center;gap:8px}.site-brand{flex:1 1 auto;min-width:0;gap:8px}.site-brand img,.site-brand .site-mark{flex:0 0 38px;width:38px;height:38px}.site-brand span{min-width:0}.site-brand strong{font-size:clamp(17px,5.2vw,21px);white-space:nowrap}.site-brand small{max-width:none;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.age{display:grid;flex:0 0 auto;gap:4px;margin:0;padding:6px 7px;border:1px solid var(--line);border-radius:9px;background:var(--soft);text-align:right;font-size:8px;line-height:1.15}.age span+span{font-size:7px}.age span+span::before{content:none}}
@media(max-width:360px){.header{padding-left:12px;padding-right:12px}.site-brand{gap:6px}.site-brand img,.site-brand .site-mark{flex-basis:34px;width:34px;height:34px}.site-brand strong{font-size:17px}.site-brand small{max-width:132px}.age{padding:5px 6px;font-size:7px}.age span+span{font-size:6.5px}}

/* Profile cards reveal their gallery affordance on hover and keep it visible for touch. */
.profile-open{cursor:pointer}
.profile-open:focus-visible{outline:3px solid var(--gold);outline-offset:-3px;border-radius:14px}
.profile-photo-hint{position:absolute;z-index:3;right:10px;bottom:9px;display:inline-flex;align-items:center;gap:5px;min-height:27px;padding:5px 8px;border:1px solid #ffffff72;border-radius:30px;background:#24151ddd;color:#fff;font-size:9px;font-weight:750;letter-spacing:.1px;box-shadow:0 3px 12px #160e1460;transition:opacity .18s ease,transform .18s ease}
.profile-photo-hint svg{width:13px;height:13px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.detail-view{min-height:calc(100vh - 72px);max-width:1120px;margin:0 auto;padding:clamp(16px,4vw,42px)}
.site.profile-detail-active{width:100%;max-width:1180px;min-height:100vh;overflow:visible}
.site.profile-detail-active .header{position:sticky;top:0;z-index:20;padding-top:10px;padding-bottom:10px;background:#fffdfcf2;backdrop-filter:blur(12px)}
.detail-top{padding-bottom:15px;border-bottom:1px solid var(--line)}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:start;gap:clamp(22px,4vw,48px);padding-top:24px}
.detail-gallery{position:relative;min-width:0}
.detail-media{min-height:0;margin:0;overflow:hidden;border-radius:17px;background:#21151a}
.detail-media>*{width:100%;height:min(72vh,680px);min-height:360px;border-radius:0;object-fit:cover}
.gallery-count{position:absolute;top:12px;right:12px;padding:7px 10px;border:1px solid #ffffff52;border-radius:30px;background:#21151ad9;color:white;font-size:10px;font-weight:750}
.media-list{justify-content:flex-start;gap:8px;margin-top:11px;overflow-x:auto;padding:2px 2px 6px}
.media-thumb{flex:0 0 68px;width:68px;height:68px;padding:0;cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}
.media-thumb:hover{transform:translateY(-1px)}.media-thumb[aria-pressed="true"]{border:2px solid var(--gold-dark);box-shadow:0 0 0 2px var(--gold-soft)}
.detail-copy{min-width:0;padding-top:4px}.detail-title-row{align-items:flex-start;margin:0}.detail-title{overflow-wrap:anywhere}.detail-desc{margin:14px 0;color:var(--muted);line-height:1.65}.detail-price{max-width:none;padding:17px;background:linear-gradient(135deg,#fff8fa,#f5e9ed)}.detail-price .price-label{margin:0}.detail-price .price-value{font-size:22px}.detail-price .booking-value{font-size:11px}.detail-availability{margin:13px 0;color:var(--muted);font-size:12px;line-height:1.5}.detail-actions{max-width:none;gap:9px}.detail-actions .contact-btn{min-height:48px}.detail-copy>.fineprint{margin-top:12px}
@media(hover:hover) and (pointer:fine){.profile-photo-hint{opacity:0;transform:translateY(4px)}.profile-open:hover .profile-photo-hint,.profile-open:focus-visible .profile-photo-hint{opacity:1;transform:none}}
@media(max-width:960px){.site.profile-detail-active{width:100%;max-width:100%;overflow:hidden}.site.profile-detail-active .header{position:relative}.detail-layout{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:16px}.detail-media>*{height:min(62vh,560px);min-height:270px}.detail-copy{padding:0}.detail-view{min-height:70vh}.detail-footer-nav{margin-top:20px}}
@media(max-width:640px){.detail-view{padding:15px}.detail-top{padding-bottom:11px}.detail-media{border-radius:13px}.detail-media>*{height:54vh;min-height:250px}.gallery-count{top:9px;right:9px}.media-thumb{flex-basis:58px;width:58px;height:58px}.detail-title{font-size:30px}.detail-actions .contact-btn{font-size:11px}}
@media(prefers-reduced-motion:reduce){.profile-photo-hint,.media-thumb{transition:none}}
.profile-filter-shell{position:relative;min-width:0;flex:1 1 auto}
.profile-filter-shell.has-more::after{position:absolute;top:3px;right:0;bottom:8px;display:grid;place-items:center;width:31px;content:"›";pointer-events:none;background:linear-gradient(90deg,transparent 0%,var(--paper) 48%);color:var(--gold-dark);font-size:25px;font-weight:600;line-height:1}
.profile-photo.no-profile-photo{background:radial-gradient(ellipse at 50% 37%,#79485c 0%,#4c2939 45%,#281721 100%);color:#f7e9ec}
.profile-photo.no-profile-photo::after{display:none}
.profile-photo-placeholder{position:absolute;inset:0;z-index:1;display:grid;align-content:center;justify-items:center;gap:8px;color:#f7e9ec;font-size:10px;font-weight:650;letter-spacing:.15px}
.profile-photo-placeholder svg{width:29px;height:29px;stroke:#e3c691;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.profile-photo .status{z-index:2}
.profile-photo .booking-value{font-size:9px;line-height:1.25;margin-top:5px}
@media(max-width:640px){.profile-filter-shell{width:100%}.profile-filter-shell.has-more::after{width:34px}.profile-photo-placeholder{font-size:9px}.profile-photo-placeholder svg{width:25px;height:25px}}
@media(max-width:390px){.profile-photo .booking-value{font-size:8px;white-space:nowrap}.profile-photo .price-box{padding:5px}.profile-photo .price-option{padding:4px 4px}}
.profile-photo{aspect-ratio:4/4.1}
.profile-info{padding:5px 8px 3px}
.card-price-strip{padding:4px 2px 0;border:0;border-radius:0;background:transparent}
.card-price-strip .price-label{margin:0 0 4px;font-size:8px;letter-spacing:.5px}
.card-price-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-items:start}
.card-price-options>div{display:flex;align-items:baseline;justify-content:space-between;min-width:0;gap:2px}
.card-price-options span{overflow:hidden;color:var(--muted);font-size:7px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.card-price-options strong,.card-total-only{color:var(--ink);font-size:9px;font-weight:850;line-height:1.2;white-space:nowrap}
.card-total-only{overflow:hidden;text-overflow:ellipsis}
.card-price-strip .booking-value{margin-top:4px;font-size:8px;line-height:1.15;white-space:nowrap}
.card-actions{display:flex;align-items:center;justify-content:center;gap:18px;padding:3px 8px 7px}
.card-actions .contact-icon-only{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;box-shadow:0 1px 5px #34142114}
.card-actions .contact-icon-only svg{width:18px;height:18px;flex:0 0 18px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.profile-photo{padding:0}
.profile-photo>img,.profile-photo>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.profile-photo .status{padding:5px 7px;font-size:9px}
.profile-city-badge{max-width:calc(100% - 82px);padding:4px 6px;font-size:8px}
@media(max-width:640px){.profile-photo{aspect-ratio:4/4.1}.profile-grid{row-gap:24px}.card-price-options{gap:4px}.card-actions .contact-icon-only{flex-basis:36px;width:36px;height:36px;min-height:36px}.card-actions .contact-icon-only svg{width:17px;height:17px;flex-basis:17px}}
@media(max-width:390px){.profile-grid{row-gap:26px}.card-price-options strong,.card-total-only{font-size:9px}.card-price-strip .booking-value{font-size:7.5px}}
@media(max-width:360px){.card-price-options>div{display:grid;justify-content:start;gap:0}}
/* Compact mobile hero steps and keep faces clear in profile thumbnails. */
@media(max-width:640px){
  .steps{gap:7px;padding-bottom:18px}
  .step{min-height:46px;padding:7px 8px;border-radius:11px}
  .step b{font-size:10px;line-height:1.2}
  .profile-photo>img,.profile-photo>video{object-position:center 18%}
  .profile-photo .status{top:7px;left:7px;padding:3px 6px;font-size:7px;line-height:1.15;letter-spacing:0}
  .profile-city-badge{top:7px;right:7px;max-width:calc(100% - 68px);padding:3px 5px;font-size:7px;line-height:1.15}
}
@media(max-width:390px){.steps{gap:6px}.step{min-height:44px;padding:6px}.step b{font-size:9px}.profile-photo .status{padding:3px 5px;font-size:6.5px}.profile-city-badge{max-width:calc(100% - 62px);padding:3px 4px;font-size:6.5px}}
.detail-top{position:sticky;top:0;z-index:15;padding:9px 0 11px;background:var(--paper);border-bottom:1px solid var(--line)}
.gallery-nav{position:absolute;z-index:3;inset:0;display:flex;align-items:center;justify-content:space-between;width:auto;height:auto;min-height:0;padding:0 10px;background:transparent;pointer-events:none}
.gallery-arrow{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #ffffff70;border-radius:50%;background:#24151dcc;color:#fff;font-size:30px;line-height:1;box-shadow:0 2px 12px #0004;pointer-events:auto;cursor:pointer}
.gallery-arrow:hover{background:#24151af2}.gallery-arrow:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media(max-width:640px){.detail-view{padding:0 12px 24px;scroll-margin-top:0}.detail-top{padding:9px 0;background:#fffdfcf5;backdrop-filter:blur(10px)}.detail-top .back-btn{min-height:38px;padding:8px 12px;font-size:11px}.detail-layout{gap:15px;padding-top:12px}.detail-media{position:relative;background:#21151a}.detail-media>img,.detail-media>video,.detail-media>.empty{height:min(56svh,520px);min-height:230px;background:#21151a}.detail-media>img,.detail-media>video{object-fit:contain}.detail-media>.gallery-nav{width:auto;height:auto;min-height:0;background:transparent}.gallery-count{z-index:4;top:9px;right:9px;padding:5px 8px;font-size:9px}.gallery-arrow{width:36px;height:36px;font-size:27px}.media-list{justify-content:flex-start;margin-top:9px}.detail-title-row{gap:8px}.detail-title{font-size:26px}.detail-price{padding:12px}.detail-footer-nav{gap:8px}.detail-footer-nav .back-btn,.detail-footer-nav .next-btn{min-height:42px;padding:9px 12px}}
/* The hero steps are an ordered guide, not controls. */
.steps{display:block;white-space:nowrap;margin:0;padding:0 0 30px;text-align:center;color:var(--ink);font-size:11px;font-weight:700;line-height:1.3}.steps span{display:inline-block;padding:0 8px;color:var(--gold-dark);font-weight:850}.hero .eyebrow{text-transform:none;letter-spacing:.45px}
.detail-media{touch-action:pan-y}
@media(max-width:640px){.hero{padding:27px 18px 15px}.hero h1{max-width:100%;font-size:clamp(30px,8.5vw,36px);line-height:1.02;letter-spacing:-1.1px;margin:10px 0}.steps{padding:0 12px 18px;font-size:clamp(8px,2.35vw,10px);letter-spacing:-.1px;text-align:center}.steps span{padding:0 clamp(3px,1.3vw,6px)}}
.hero h1 #heroRotatingWord{display:inline-block;color:var(--gold-deep);text-shadow:0 5px 20px rgba(151,101,39,.18);text-decoration:underline;text-decoration-color:rgba(176,132,67,.35);text-decoration-thickness:2px;text-underline-offset:7px}
.hero h1 #heroRotatingWord.is-changing{animation:hero-word-change .55s cubic-bezier(.2,.7,.25,1) both}
@keyframes hero-word-change{0%{opacity:.25;transform:translateY(.18em);filter:blur(4px)}65%{opacity:1;transform:translateY(-.04em);filter:blur(0)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@media(max-width:360px){.steps{font-size:8px;letter-spacing:-.2px}.steps span{padding:0 3px}}
.profile-name-overlay{z-index:4;right:auto;width:max-content;max-width:calc(100% - 20px);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}
.profile-open.has-gallery .profile-name-overlay{max-width:calc(100% - 108px)}
.profile-photo-hint{top:auto;right:9px;bottom:9px;max-width:calc(100% - 18px)}
.profile-photo-hint{gap:4px;min-height:22px;padding:3px 6px;font-size:8px;letter-spacing:0}
.profile-photo-hint svg{width:11px;height:11px}
@media(hover:hover) and (pointer:fine){.profile-open:hover .profile-photo-hint,.profile-open:focus-visible .profile-photo-hint{transform:none}}
@media(hover:none){.profile-open.has-gallery .profile-photo-hint{right:7px;bottom:7px;max-width:calc(100% - 14px);min-height:20px;padding:3px 6px;font-size:7px}}
.detail-identity{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:8px 0 2px}
.detail-identity .status{flex:0 0 auto}
.detail-identity .detail-title{overflow-wrap:anywhere}
@media(max-width:640px){.detail-identity{margin-top:7px;padding:8px 0 0}.detail-identity .detail-title{font-size:24px}}
/* Match portrait source photos in the denser tablet/desktop grids to limit cropping. */
@media(min-width:641px){
  .profile-photo{aspect-ratio:4/5.2}
  .profile-photo>img,.profile-photo>video{object-fit:cover;object-position:center 18%;background:#eee9df}
  .profile-info{padding:9px 12px 5px}
  .card-price-options>div{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px}
  .card-price-options span{font-size:9px}
  .card-price-options strong,.card-total-only{font-size:12px}
  .card-price-strip .booking-value{font-size:9px}
  .card-actions{padding:6px 10px 10px}
}
.review-card{flex-basis:280px;max-width:86%}
.review-image{width:100%;height:210px;padding:8px;border:0;border-radius:9px;background:#f1ede4;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:zoom-in}
.review-image img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.review-image:focus-visible,.feedback-thumb:focus-visible{outline:3px solid var(--gold-dark);outline-offset:2px}
.feedback-image-viewer{position:fixed;inset:0;width:min(94vw,900px);max-width:none;max-height:92vh;margin:auto;padding:46px 12px 12px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:#17151a;color:white;overflow:visible}
.feedback-image-viewer::backdrop{background:rgba(15,12,14,.82);backdrop-filter:blur(4px)}
.feedback-image-viewer img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(92vh - 64px);margin:auto;object-fit:contain}
.feedback-viewer-close{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#30272d;color:white;font-size:24px;line-height:1;cursor:pointer}
@media(max-width:640px){.review-card{flex-basis:min(280px,86%)}.review-image{height:190px}.feedback-image-viewer{width:94vw;padding:44px 8px 8px}.feedback-image-viewer img{max-height:calc(90vh - 58px)}}
.detail-desc{max-width:none;margin:0 0 16px;padding:15px 16px;border:1px solid var(--line);border-left:4px solid var(--gold-dark);border-radius:12px;background:linear-gradient(120deg,#fff,#fcf8f2);color:var(--ink);font-size:16px;line-height:1.65}
.detail-price .price-label{font-size:11px;font-weight:800;letter-spacing:.8px}
.detail-price .price-option{padding:10px 12px;border-radius:10px}
.detail-price .price-option span{font-size:12px;line-height:1.35}
.detail-price .price-option strong{font-size:16px;line-height:1.3}
.detail-price .booking-value{font-size:14px;line-height:1.5;margin-top:9px}
.detail-availability{margin:14px 0;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#f7f4ee;color:var(--ink);font-size:14px;line-height:1.55}
.detail-availability::before{content:"AVAILABILITY";display:block;margin-bottom:4px;color:var(--gold-dark);font-size:10px;font-weight:850;letter-spacing:.8px}
.detail-actions .contact-btn{font-size:13px;font-weight:750}
.detail-copy>.fineprint{font-size:12px;line-height:1.5}
.detail-desc{padding:18px 19px;border-left-width:5px;border-radius:14px;background:linear-gradient(125deg,#fff 0%,#fbf5f7 100%);box-shadow:0 6px 20px rgba(70,37,49,.055);font-size:18px;line-height:1.7}
.detail-price{padding:19px;border-radius:16px;box-shadow:0 7px 22px rgba(70,37,49,.06)}
.detail-price .price-label{font-size:12px;letter-spacing:1px}
.detail-price .price-options{gap:9px;margin-top:9px}
.detail-price .price-option{padding:12px 13px;border-radius:12px}
.detail-price .price-option span{font-size:13px}
.detail-price .price-option strong{font-size:18px}
.detail-price .booking-value{font-size:15px;line-height:1.55;margin-top:11px}
.detail-availability{padding:15px 16px;border-radius:13px;font-size:16px;line-height:1.6}
.detail-availability::before{font-size:11px;letter-spacing:1px}
.detail-actions{gap:12px;margin-top:16px}
.detail-actions .contact-btn{min-height:54px;font-size:14px}
.detail-copy>.fineprint{margin-top:14px;font-size:13px;line-height:1.6}
@media(max-width:640px){.detail-desc{margin:0 0 15px;padding:16px;font-size:18px;line-height:1.65}.detail-price{padding:15px}.detail-price .price-option{padding:11px 10px}.detail-price .price-option span{font-size:13px}.detail-price .price-option strong{font-size:17px}.detail-price .booking-value{font-size:15px}.detail-availability{padding:14px;font-size:16px}.detail-actions .contact-btn{min-height:54px;font-size:13px}}
