:root {
  --bg:#0c0c10;
  --panel:#15151a;
  --panel2:#1c1c23;
  --line:rgba(255,255,255,.105);
  --text:#faf5ef;
  --muted:#b3aaa1;
  --gold:#eabe83;
  --gold-2:#f3d3ac;
  --gold-dark:#2c1b0e;
  --r:22px;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:90px;
}
body {
  margin:0;
  min-width:320px;
  color:var(--text);
  background:var(--bg);
  font:15px/1.55 'DM Sans',system-ui,-apple-system,Segoe UI,sans-serif;
}
button, input, select {
  font:inherit;
}
button {
  cursor:pointer;
}
a {
  color:inherit;
  text-decoration:none;
}
img {
  display:block;
  max-width:100%;
}
button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible {
  outline:3px solid #fbe2b7;
  outline-offset:3px;
}
.container {
  width:min(1240px,calc(100% - 42px));
  margin-inline:auto;
}
.top-strip {
  height:30px;
  background:#19171b;
  border-bottom:1px solid rgba(255,255,255,.05);
  color:#d9cdc0;
  font-size:10px;
  letter-spacing:.14em;
  font-weight:800;
  text-transform:uppercase;
}
.top-strip .container {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.top-strip b {
  color:var(--gold-2);
}
.header {
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(12,12,16,.94);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}
.nav {
  height:74px;
  display:flex;
  align-items:center;
  gap:22px;
}
.logo {
  display:inline-flex;
  align-items:center;
  gap:10px;
  letter-spacing:-.065em;
  font-size:24px;
  font-weight:800;
  white-space:nowrap;
}
.logo .dot {
  color:var(--gold);
}
.links {
  display:flex;
  align-items:center;
  gap:24px;
  margin-left:auto;
  font-weight:700;
  font-size:13px;
  color:#d3c8bc;
}
.links a:hover {
  color:var(--gold);
}
.nav-cta {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid #edd5b14d;
  background:#eabe83;
  color:#241508;
  font-size:13px;
  font-weight:800;
}
.hero {
  position:relative;
  overflow:hidden;
  background:radial-gradient(ellipse at 90% 0%,#33251e 0%,transparent 42%),radial-gradient(ellipse at 12% 85%,#26232a,transparent 38%),#101014;
  border-bottom:1px solid var(--line);
}
.hero .container {
  display:grid;
  grid-template-columns:.94fr 1.06fr;
  gap:45px;
  align-items:center;
  min-height:510px;
  padding-top:49px;
  padding-bottom:48px;
}
.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--gold-2);
  font-size:11px;
  letter-spacing:.14em;
  font-weight:800;
  text-transform:uppercase;
}
.eyebrow:before {
  content:'';
  display:inline-block;
  width:23px;
  height:1px;
  background:var(--gold);
}
h1, h2, h3, p {
  margin-top:0;
}
h1, h2, h3 {
  font-family:Manrope,'DM Sans',sans-serif;
}
h1 {
  font-weight:800;
  font-size:clamp(41px,5vw,72px);
  line-height:1.08;
  letter-spacing:-.065em;
  margin:17px 0 18px;
}
h1 em {
  font-style:normal;
  color:var(--gold);
}
.lead {
  font-size:16px;
  line-height:1.7;
  color:#c7beb4;
  max-width:510px;
  margin-bottom:26px;
}
.city-search {
  display:flex;
  gap:8px;
  padding:8px;
  max-width:560px;
  border:1px solid #fff2;
  background:#ffffff0c;
  border-radius:17px;
}
.city-search select {
  flex:1;
  width:100%;
  min-width:0;
  background:#201b1c;
  border:0;
  color:#faf3e9;
  border-radius:12px;
  padding:14px 15px;
  appearance:auto;
}
.gold-btn {
  border:0;
  background:linear-gradient(135deg,#f3cf9b,#dca064);
  color:#25160a;
  font-weight:800;
  border-radius:12px;
  padding:14px 18px;
  white-space:nowrap;
}
.gold-btn:hover, .call:hover {
  filter:brightness(1.06);
  transform:translateY(-1px);
}
.hero-facts {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:23px;
  color:#cdbca7;
  font-size:12px;
  font-weight:700;
}
.hero-facts span {
  padding:8px 12px;
  border:1px solid #ffffff18;
  border-radius:999px;
  background:#ffffff08;
}
.hero-visual {
  position:relative;
  display:grid;
  grid-template-columns:1.05fr .82fr;
  gap:12px;
  height:430px;
}
.sect {
  padding:60px 0 25px;
}
.sect-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:25px;
}
.sect-head small {
  font-size:11px;
  font-weight:800;
  color:var(--gold);
  letter-spacing:.15em;
  text-transform:uppercase;
}
.sect-head h2 {
  font-size:clamp(29px,3.6vw,43px);
  letter-spacing:-.055em;
  margin:7px 0 3px;
  font-weight:800;
}
.sect-head p {
  color:var(--muted);
  font-size:14px;
  margin:0;
}
.count {
  padding:9px 14px;
  border-radius:30px;
  border:1px solid #ffffff16;
  background:#ffffff0b;
  color:#e9dbce;
  font-size:12px;
  font-weight:800;
}
.section-tools {
  padding:14px;
  background:#19191e;
  border:1px solid #ffffff13;
  border-radius:19px;
  display:flex;
  gap:13px;
  align-items:center;
  margin-bottom:25px;
}
.section-tools label {
  font-size:12px;
  color:#d6c7b4;
  font-weight:750;
}
.section-tools select {
  flex:1;
  background:#111115;
  border:1px solid #ffffff24;
  color:#fff;
  border-radius:12px;
  padding:13px 14px;
  min-width:100px;
}
.section-tools button {
  border:1px solid #ffffff20;
  border-radius:12px;
  color:#f0d3ad;
  background:transparent;
  padding:11px 14px;
  font-weight:700;
}
.vip-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.standard-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.profile {
  position:relative;
  border-radius:21px;
  overflow:hidden;
  border:1px solid #ffffff20;
  background:var(--panel);
  min-width:0;
  box-shadow:0 24px 48px #0004;
  transition:transform .2s,box-shadow .2s;
}
.profile:hover {
  transform:translateY(-4px);
  box-shadow:0 30px 50px #0009;
}
.profile.vip {
  border-color:#dba5628c;
}
.photo {
  position:relative;
  height:365px;
  background:var(--photo-bg,linear-gradient(135deg,#4b3540,#211c27));
  overflow:hidden;
}
.profile.vip .photo {
  height:440px;
}
.photo:before {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 55% 0%,#ffffff22,transparent 48%);
  z-index:0;
}
.photo img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
}
.photo .placeholder {
  position:absolute;
  inset:0;
  display:flex;
  justify-content:center;
  align-items:center;
  z-index:0;
  opacity:.53;
  color:#eac8b1;
}
.photo .placeholder svg {
  width:72%;
  height:78%;
}
.photo .hint {
  position:absolute;
  bottom:13px;
  left:13px;
  padding:7px 10px;
  border-radius:10px;
  background:#0009;
  backdrop-filter:blur(6px);
  font-size:10px;
  font-weight:700;
  color:#eee0cf;
  z-index:3;
}
.vip-chip {
  position:absolute;
  top:15px;
  left:15px;
  z-index:4;
  background:#efd1a7;
  color:#2b1907;
  padding:8px 12px;
  border-radius:999px;
  box-shadow:0 8px 24px #0004;
  letter-spacing:.05em;
  font-size:11px;
  font-weight:900;
}
.profile-info {
  padding:16px 16px 18px;
}
.profile.vip .profile-info {
  padding:19px;
}
.profile-name {
  font-family:Manrope,'DM Sans',sans-serif;
  font-size:20px;
  font-weight:800;
  letter-spacing:-.055em;
  margin:0 0 4px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.profile.vip .profile-name {
  font-size:24px;
}
.profile-meta {
  display:flex;
  align-items:center;
  gap:5px;
  font-size:12px;
  color:var(--gold-2);
  font-weight:700;
}
.profile-description {
  font-size:12px;
  color:#ada49c;
  line-height:1.5;
  margin:10px 0 14px;
  min-height:36px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.call {
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  width:100%;
  border:0;
  background:linear-gradient(135deg,#eec795,#d89a5d);
  border-radius:13px;
  color:#281604;
  font-weight:900;
  font-size:14px;
  padding:12px 8px;
  transition:transform .2s,filter .2s;
}
.call.disabled {
  background:#2d2b30;
  color:#9e9290;
  cursor:default;
}
.call.disabled:hover {
  transform:none;
  filter:none;
}
.call svg {
  width:17px;
  height:17px;
  fill:currentColor;
}
.empty {
  grid-column:1/-1;
  padding:35px 22px;
  text-align:center;
  border:1px dashed #ffffff29;
  border-radius:18px;
  background:#ffffff05;
  color:#c9bdb1;
}
.empty strong {
  display:block;
  color:#fff;
  font-size:21px;
  margin-bottom:4px;
}
.empty p {
  margin:0;
  font-size:13px;
}
.more-cities details {
  margin-top:20px;
  background:#15151a;
  border:1px solid #ffffff1e;
  border-radius:16px;
  padding:18px 19px;
}
.more-cities summary {
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  color:#ead1b1;
}
.city-links {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:18px;
}
.city-links a {
  border:1px solid #ffffff19;
  border-radius:9px;
  padding:9px 11px;
  font-size:12px;
  color:#e3d2c1;
  background:#ffffff06;
}
.city-links a:hover {
  border-color:#eabe83;
  color:#eabe83;
}
.footer {
  border-top:1px solid #ffffff19;
  margin-top:70px;
  background:#111114;
  padding:39px 0 80px;
}
.footer-content {
  display:flex;
  justify-content:space-between;
  gap:35px;
  color:#aaa39b;
}
.footer-content p {
  max-width:680px;
  font-size:13px;
}
.footer-content strong {
  color:#fff;
  font-size:18px;
}
.footer-links {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  font-size:12px;
  font-weight:800;
}
.foot-note {
  font-size:11px;
  color:#9b8b7e;
  margin-top:17px;
}
.mobile-nav {
  display:none;
}
.modal-screen {
  position:fixed;
  inset:0;
  z-index:99;
  background:#000b;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.modal-screen.open {
  display:flex;
}
.age-modal {
  width:min(420px,100%);
  padding:32px;
  background:#1a181c;
  border:1px solid #ffffff2d;
  border-radius:24px;
  text-align:center;
  box-shadow:0 25px 90px #000a;
}
.age-modal .age {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eabe83;
  color:#281504;
  border-radius:18px;
  width:70px;
  height:70px;
  font-size:28px;
  font-weight:900;
}
.age-modal h2 {
  font-size:25px;
  letter-spacing:-.04em;
  margin:15px 0 10px;
}
.age-modal p {
  font-size:14px;
  color:#c7b9ab;
}
.age-modal button {
  width:100%;
  margin-top:8px;
}
.age-modal .leave {
  display:block;
  margin-top:15px;
  font-size:13px;
  color:#c9b8a7;
}
@media(max-width:1050px) {
  .hero .container {
    grid-template-columns:1fr;
    gap:20px;
    min-height:0;
  }
  .hero-visual {
    max-width:720px;
  }
  .standard-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px) {
  .container {
    width:calc(100% - 28px);
  }
  .links a:not(.nav-cta) {
    display:none;
  }
  .nav {
    height:65px;
  }
  .logo {
    font-size:19px;
  }
  .nav-cta {
    font-size:12px;
    padding:10px 12px;
  }
  .top-strip .right {
    display:none;
  }
  .hero .container {
    padding:30px 0;
  }
  .hero h1 {
    font-size:clamp(38px,8vw,55px);
  }
  .lead {
    font-size:14px;
  }
  .city-search {
    flex-direction:column;
  }
  .city-search select, .city-search button {
    min-height:48px;
  }
  .hero-visual {
    display:none;
  }
  .sect {
    padding:34px 0 14px;
  }
  .sect-head {
    align-items:flex-start;
  }
  .sect-head h2 {
    font-size:30px;
  }
  .count {
    display:none;
  }
  .vip-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
  }
  .standard-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
  }
  .photo, .profile.vip .photo {
    height:clamp(205px,48vw,310px);
  }
  .profile-info, .profile.vip .profile-info {
    padding:12px;
  }
  .profile-name, .profile.vip .profile-name {
    font-size:17px;
  }
  .profile-description {
    font-size:11px;
    min-height:0;
  }
  .call {
    font-size:12px;
    padding:10px 6px;
  }
  .vip-chip {
    font-size:9px;
    padding:6px 8px;
    top:8px;
    left:8px;
  }
  .photo .hint {
    font-size:9px;
    bottom:7px;
    left:7px;
  }
  .section-tools {
    flex-wrap:wrap;
  }
  .section-tools select {
    width:100%;
    flex-basis:100%;
  }
  .footer {
    padding-bottom:110px;
  }
  .footer-content {
    display:block;
  }
  .footer-links {
    margin-top:18px;
  }
  .mobile-nav {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:35;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:9px 13px;
    background:#101014f5;
    border-top:1px solid #ffffff1a;
    backdrop-filter:blur(14px);
  }
  .mobile-nav a {
    text-align:center;
    border-radius:11px;
    padding:12px 8px;
    font-weight:800;
    font-size:13px;
  }
  .mobile-nav a:first-child {
    background:linear-gradient(135deg,#eec795,#d89a5d);
    color:#251607;
  }
  .mobile-nav a:last-child {
    background:#29262a;
    color:#f7e4cf;
  }
}
@media(max-width:390px) {
  .vip-grid, .standard-grid {
    grid-template-columns:1fr;
  }
  .photo, .profile.vip .photo {
    height:440px;
  }
  .profile-info, .profile.vip .profile-info {
    padding:16px;
  }
  .profile-name, .profile.vip .profile-name {
    font-size:20px;
  }
  .profile-description {
    font-size:12px;
  }
  .hero-visual {
    grid-template-columns:1fr;
    height:320px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  .profile, .call {
    transition:none;
  }
}
.gallery-tap[hidden], .gallery-count[hidden], .gallery-control[hidden] {
  display:none!important;
}
.gallery-tap {
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  border:0;
  padding:0;
  background:transparent;
  cursor:zoom-in;
}
.gallery-tap:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:-5px;
  border-radius:16px;
}
.photo .hint, .vip-chip {
  pointer-events:none;
}
.gallery-count {
  position:absolute;
  z-index:4;
  top:14px;
  right:14px;
  background:#08080bba;
  color:#fff;
  border:1px solid #ffffff45;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:800;
  pointer-events:none;
  backdrop-filter:blur(8px);
}
.gallery-overlay[hidden] {
  display:none!important;
}
.gallery-overlay {
  position:fixed;
  inset:0;
  z-index:150;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  background:rgba(0,0,0,.9);
  backdrop-filter:blur(12px);
}
.gallery-dialog {
  width:min(990px,100%);
  max-height:calc(100dvh - 28px);
  overflow:auto;
  background:#141419;
  border:1px solid #ffffff35;
  border-radius:20px;
  box-shadow:0 30px 110px #000b;
}
.gallery-toolbar {
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 18px;
  border-bottom:1px solid #ffffff20;
}
.gallery-toolbar strong {
  flex:1;
  font:800 15px Manrope,'DM Sans',sans-serif;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gallery-toolbar span {
  font-weight:800;
  font-size:12px;
  color:var(--gold-2);
  white-space:nowrap;
}
.gallery-control {
  display:grid;
  place-items:center;
  background:#29232a;
  color:#fff;
  border:1px solid #ffffff35;
  border-radius:12px;
  min-width:42px;
  height:42px;
  font-size:29px;
  line-height:1;
}
.gallery-control:hover {
  background:#3b3137;
}
.gallery-stage {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:220px;
  background:#070708;
  overflow:hidden;
}
.gallery-stage img {
  width:100%;
  height:min(65dvh,750px);
  min-height:220px;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}
.gallery-stage .gallery-control {
  position:absolute;
  z-index:2;
  top:50%;
  transform:translateY(-50%);
  background:#000b;
  border:1px solid #ffffff55;
  min-width:46px;
  height:50px;
}
.gallery-stage .gallery-control:hover {
  background:#000e;
}
#galleryPrevious {
  left:12px;
}
#galleryNext {
  right:12px;
}
.gallery-thumbnails {
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:12px 16px;
  scrollbar-width:thin;
  justify-content:flex-start;
}
.gallery-thumbnail {
  flex:none;
  width:65px;
  height:72px;
  border-radius:9px;
  padding:2px;
  background:#27232a;
  border:2px solid transparent;
  opacity:.63;
  cursor:pointer;
  overflow:hidden;
}
.gallery-thumbnail img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:6px;
}
.gallery-thumbnail[aria-pressed="true"] {
  border-color:var(--gold);
  opacity:1;
}
.gallery-help {
  margin:0;
  padding:0 16px 12px;
  font-size:11px;
  color:#a79b91;
}
@media(max-width:760px) {
  .gallery-overlay {
    padding:0;
  }
  .gallery-dialog {
    max-height:100dvh;
    border-radius:0;
    border:0;
  }
  .gallery-stage img {
    height:min(65dvh,750px);
  }
  .gallery-thumbnail {
    width:58px;
    height:67px;
  }
  .gallery-count {
    top:8px;
    right:8px;
    font-size:10px;
    padding:5px 9px;
  }
  .gallery-stage .gallery-control {
    min-width:40px;
    height:46px;
  }
  #galleryPrevious {
    left:6px;
  }
  #galleryNext {
    right:6px;
  }
}
.hero .container {
  gap:46px;
}
.hero-copy {
  position:relative;
  z-index:2;
}
.hero .eyebrow {
  font-size:11px;
}
.hero h1 {
  font-size:clamp(45px,5.5vw,76px);
  line-height:1.06;
  margin:17px 0 18px;
}
.hero .lead {
  font-size:15px;
  max-width:520px;
  margin-bottom:21px;
}
.hero-actions {
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:0 0 14px;
}
.hero-actions .gold-btn {
  min-height:48px;
  font-weight:800;
}
.hero-call {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid #cfa56e7f;
  border-radius:12px;
  padding:11px 17px;
  font-weight:800;
  background:rgba(239,201,157,.08);
  color:var(--gold-2);
}
.hero-call:hover {
  background:#eabe8320;
}
.hero-facts {
  margin:13px 0 20px;
}
.hero-facts span {
  border-color:#eabe832b;
  background:#eabe830a;
}
.hero .city-search {
  max-width:495px;
}
.hero-visual {
  height:490px;
  grid-template-columns:1.03fr .83fr;
  gap:13px;
}
.hero .container {
  padding-top:45px;
  padding-bottom:42px;
}
.profile.vip .profile-description {
  max-width:500px;
  min-height:auto;
}
@media(max-width:1050px) {
  .hero .container {
    gap:25px;
  }
  .hero-visual {
    width:min(650px,100%);
    height:440px;
  }
}
@media(max-width:760px) {
  .hero .container {
    display:flex;
    flex-direction:column;
    gap:19px;
    padding:23px 0 29px;
  }
  .hero-visual {
    order:-1;
    width:100%;
    height:310px;
    display:grid;
    grid-template-columns:1.15fr .83fr;
    gap:10px;
  }
  .hero-copy {
    width:100%;
  }
  .hero h1 {
    font-size:clamp(36px,8.4vw,52px);
    margin:9px 0 10px;
  }
  .hero .lead {
    font-size:14px;
    margin-bottom:16px;
  }
  .hero .eyebrow {
    font-size:10px;
  }
  .hero-actions {
    gap:8px;
  }
  .hero-actions .gold-btn, .hero-call {
    min-height:44px;
    padding:11px 12px;
    font-size:12px;
  }
  .hero-facts {
    margin:10px 0 16px;
  }
}
@media(max-width:390px) {
  .hero-visual {
    height:285px;
    grid-template-columns:1.2fr .74fr;
  }
  .hero h1 {
    font-size:36px;
  }
}
.availability {
  padding:38px 0 11px;
  background:linear-gradient(180deg,#171318,#0c0c10);
}
.availability-head h2 {
  font-size:clamp(28px,4vw,43px);
  letter-spacing:-.055em;
  margin:10px 0 5px;
}
.availability-head p {
  color:var(--muted);
  font-size:13px;
  margin:0 0 22px;
}
.availability-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.availability-tile {
  border:1px solid #f5dfbf24;
  border-radius:18px;
  background:linear-gradient(140deg,#201c20,#15151a);
  padding:18px 17px;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.availability-tile.available {
  border-color:#b5dbba55;
  background:linear-gradient(145deg,#1b2922,#151a18);
}
.availability-tile>span {
  font-size:10px;
  font-weight:800;
  color:var(--gold-2);
  letter-spacing:.13em;
}
.availability-tile>strong {
  font-size:clamp(27px,4vw,47px);
  line-height:1.2;
  letter-spacing:-.045em;
  margin:8px 0;
}
.availability-tile.available>strong {
  color:#c2e5c8;
}
.availability-tile>small {
  color:#bfb3a6;
  font-size:11px;
}
.two-count {
  display:flex;
  align-items:center;
  gap:8px;
}
.two-count b {
  font-size:inherit;
}
.two-count i {
  font-style:normal;
  font-size:23px;
  color:#a99481;
}
.filter-note {
  font-size:12px;
  color:#a99b8d;
  margin:-13px 0 18px;
}
@media(max-width:760px) {
  .availability {
    padding-top:24px;
  }
  .availability-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .availability-tile {
    padding:13px;
  }
  .availability-tile>span {
    font-size:9px;
  }
  .availability-tile>strong {
    font-size:32px;
  }
}
.luxora-logo {
  display:flex;
  align-items:center;
  gap:10px;
  letter-spacing:0;
  flex-shrink:0;
}
.header {
  border-bottom-color:#dbaa6745;
}
@media(max-width:760px) {
  .nav {
    gap:11px;
  }
  .hero .container {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:18px;
  }
  .hero-visual {
    display:grid;
    order:-1;
    height:290px;
    grid-template-columns:1.16fr .74fr;
    max-width:100%;
    gap:9px;
  }
  .hero-copy h1 {
    font-size:clamp(36px,8vw,46px);
  }
  .hero .container {
    padding:18px 0 28px;
  }
}
@media(max-width:390px) {
  .hero-visual {
    grid-template-columns:1fr .60fr;
    height:260px;
  }
}
.header .nav {
  height:79px;
  gap:20px;
}
.header .luxora-logo {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex:none;
  width:222px;
  height:76px;
  min-width:0;
  padding:0;
  letter-spacing:0;
}
.header .luxora-logo-image {
  display:block;
  width:100%;
  height:auto;
  max-height:75px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 2px 6px rgba(220,166,92,.13));
}
.footer-brand-image {
  display:block;
  width:220px;
  max-width:100%;
  height:auto;
  aspect-ratio:3 / 1;
  object-fit:contain;
  margin:0 0 10px;
}
@media(max-width:760px) {
  .header .nav {
    height:65px;
    gap:9px;
  }
  .header .luxora-logo {
    width:166px;
    height:59px;
  }
  .header .luxora-logo-image {
    max-height:58px;
  }
  .header .links {
    gap:8px;
  }
  .footer-brand-image {
    width:190px;
  }
}
@media(max-width:370px) {
  .header .luxora-logo {
    width:145px;
    height:55px;
  }
  .header .luxora-logo-image {
    max-height:54px;
  }
  .header .nav-cta {
    padding:8px 9px;
    font-size:11px;
  }
}
.contact-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  width:100%;
}
.contact-actions .call, .contact-actions .whatsapp {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  min-width:0;
  min-height:45px;
  padding:10px 7px;
  border-radius:12px;
  font-weight:850;
  font-size:13px;
  line-height:1.2;
  text-align:center;
  transition:transform .2s ease,filter .2s ease;
}
.whatsapp {
  background:#25D366;
  color:#092813;
  border:1px solid #33e778;
}
.whatsapp:hover {
  filter:brightness(1.06);
  transform:translateY(-1px);
}
.contact-actions .whatsapp svg, .contact-actions .call svg {
  width:18px;
  height:18px;
  flex-shrink:0;
  fill:currentColor;
}
@media(max-width:760px) {
  .contact-actions {
    grid-template-columns:1fr;
    gap:7px;
  }
  .contact-actions .call, .contact-actions .whatsapp {
    font-size:12px;
    min-height:39px;
    padding:9px 7px;
  }
}
@media(max-width:390px) {
  .contact-actions {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .contact-actions .call, .contact-actions .whatsapp {
    min-height:44px;
  }
}
.contact-actions.single {
  grid-template-columns:minmax(0,1fr);
}
.hero .container {
  grid-template-columns:.9fr 1.1fr;
  align-items:center;
  gap:30px;
}
.hero .hero-visual.luxora-carousel {
  height:auto;
  display:block;
  max-width:none;
  min-width:0;
  position:relative;
  order:initial;
}
.rc-stage {
  height:500px;
  position:relative;
  overflow:hidden;
  border:1px solid #edc98a66;
  border-radius:25px;
  background:radial-gradient(ellipse at 40% 30%,#332821,#0b0b0e 70%);
  box-shadow:0 28px 62px #0009;
}
.rc-nav {
  position:absolute;
  top:42%;
  z-index:3;
  display:grid;
  place-items:center;
  width:40px;
  height:44px;
  padding:0;
  border:1px solid #ffffff66;
  background:#0c0b0dbb;
  color:#fff;
  line-height:1;
  border-radius:13px;
  font-size:33px;
  backdrop-filter:blur(6px);
}
.rc-nav:hover {
  background:#33271fe0;
}
.rc-prev {
  left:11px;
}
.rc-next {
  right:11px;
}
.rc-dots {
  position:absolute;
  bottom:17px;
  left:20px;
  display:flex;
  gap:8px;
  z-index:3;
  align-items:center;
}
.rc-dot {
  width:12px;
  height:12px;
  border-radius:999px;
  border:1px solid #fff8;
  background:#ffffff55;
  padding:0;
  transition:background .2s,width .2s;
}
.rc-dot[aria-current="true"] {
  width:31px;
  background:#eabe83;
  border-color:#eabe83;
}
.rc-count {
  position:absolute;
  right:21px;
  bottom:16px;
  z-index:2;
  background:#0008;
  color:#fce7ca;
  font-weight:800;
  font-size:11px;
  padding:5px 9px;
  border-radius:99px;
}
.rc-footnote {
  font-size:11px;
  color:#c9b6a1;
  margin:9px 0 0;
  text-align:center;
}
.hero-vip-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
@media(max-width:1050px) {
  .hero .container {
    grid-template-columns:1fr;
  }
  .hero .hero-visual.luxora-carousel {
    max-width:720px;
    margin:0 auto;
  }
  .rc-stage {
    height:460px;
  }
}
@media(max-width:760px) {
  .hero .container {
    display:flex;
    flex-direction:column;
    gap:15px;
  }
  .hero .hero-visual.luxora-carousel {
    order:-1;
    max-width:none;
    width:100%;
  }
  .rc-stage {
    height:370px;
    border-radius:17px;
  }
  .rc-nav {
    width:33px;
    height:40px;
    top:35%;
    font-size:27px;
  }
  .rc-prev {
    left:6px;
  }
  .rc-next {
    right:6px;
  }
  .rc-footnote {
    font-size:10px;
    margin-top:6px;
  }
}
@media(max-width:390px) {
  .rc-stage {
    height:350px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .rc-dot {
    transition:none;
  }
}
.hero .hero-visual.luxora-carousel {
  min-width:0;
}
.rc-stage.rc-stage-single {
  height:488px;
  padding:0 38px 38px;
  border:none;
  background:transparent;
  box-shadow:none;
  overflow:visible;
  --duo-gap:12px;
}
.rc-pair {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  max-width:430px;
  margin-inline:auto;
  gap:0;
  height:100%;
  min-width:0;
  transition:opacity .24s ease;
}
.rc-pair.rc-fading {
  opacity:.25;
}
.rc-duo-panel {
  position:relative;
  min-width:0;
  height:100%;
  border-radius:19px;
  overflow:hidden;
  background:#241b1d;
  border:1px solid #e8bb7966;
  box-shadow:0 16px 42px #0009;
  transition:transform .7s cubic-bezier(.22,.74,.25,1),border-color .3s;
  will-change:transform;
}
.rc-duo-panel img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 28%;
  background:#272125;
}
.rc-duo-panel::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 32%,#120e1080 54%,#0c0b0df2 96%);
  pointer-events:none;
}
.rc-duo-top {
  position:absolute;
  top:11px;
  left:11px;
  z-index:2;
  color:#281509;
  background:#f2ce9a;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
  padding:6px 9px;
}
.rc-duo-info {
  position:absolute;
  bottom:14px;
  left:12px;
  right:12px;
  z-index:2;
  min-width:0;
}
.rc-duo-city {
  color:#f3d2a7;
  font-size:11px;
  font-weight:800;
}
.rc-duo-name {
  font-family:Manrope,'DM Sans',sans-serif;
  font-size:clamp(24px,2.5vw,35px);
  line-height:1.13;
  letter-spacing:-.045em;
  margin:3px 0 6px;
  overflow-wrap:anywhere;
}
.rc-duo-desc {
  font-size:11px;
  line-height:1.4;
  color:#e9dacc;
  margin:0 0 11px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.rc-duo-actions {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.rc-duo-actions a, .rc-duo-actions button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:0;
  min-height:33px;
  border-radius:9px;
  padding:7px 9px;
  font-family:inherit;
  font-size:10px;
  font-weight:850;
  border:1px solid #ffffff40;
  background:#eac18e;
  color:#23170a;
  line-height:1.15;
  white-space:nowrap;
}
.rc-duo-actions .rc-wa {
  background:#25d366;
  color:#04250d;
  border-color:#128d40;
}
.rc-duo-actions svg {
  width:13px;
  height:13px;
  fill:currentColor;
}
.rc-stage-single .rc-nav {
  top:42%;
  background:#100e13ed;
  border:1px solid #f2d4aa77;
}
.rc-stage-single .rc-prev {
  left:0;
}
.rc-stage-single .rc-next {
  right:0;
}
.rc-stage-single .rc-dots {
  left:50%;
  transform:translateX(-50%);
  bottom:8px;
}
.rc-stage-single .rc-count {
  right:10px;
  bottom:4px;
}
@media(max-width:1050px) {
  .rc-stage.rc-stage-single {
    height:470px;
  }
}
@media(max-width:760px) {
  .hero .hero-visual.luxora-carousel {
    max-width:none;
    width:100%;
  }
  .rc-stage.rc-stage-single {
    height:380px;
    padding:0 29px 31px;
    --duo-gap:8px;
  }
  .rc-duo-panel {
    border-radius:15px;
  }
  .rc-duo-top {
    left:7px;
    top:8px;
    font-size:8px;
    padding:4px 6px;
  }
  .rc-duo-info {
    bottom:9px;
    left:8px;
    right:8px;
  }
  .rc-duo-name {
    font-size:clamp(19px,5vw,25px);
    margin:2px 0 6px;
  }
  .rc-duo-city {
    font-size:9px;
  }
  .rc-duo-desc {
    display:none;
  }
  .rc-duo-actions {
    display:grid;
    grid-template-columns:1fr;
    gap:5px;
  }
  .rc-duo-actions a, .rc-duo-actions button {
    width:100%;
    font-size:10px;
    min-height:29px;
    padding:5px 6px;
  }
  .rc-stage-single .rc-nav {
    width:26px;
    height:35px;
    font-size:24px;
    top:39%;
    border-radius:9px;
  }
  .rc-stage-single .rc-prev {
    left:0;
  }
  .rc-stage-single .rc-next {
    right:0;
  }
  .rc-stage-single .rc-dots {
    bottom:6px;
  }
  .rc-stage-single .rc-count {
    bottom:3px;
    right:2px;
    font-size:9px;
    padding:3px 5px;
  }
}
@media(max-width:390px) {
  .rc-stage.rc-stage-single {
    height:353px;
    padding:0 26px 29px;
    --duo-gap:6px;
  }
  .rc-duo-name {
    font-size:18px;
  }
  .rc-duo-actions a, .rc-duo-actions button {
    font-size:9px;
    min-height:27px;
  }
  .rc-duo-info {
    left:6px;
    right:6px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .rc-duo-panel, .rc-pair {
    transition:none;
  }
}
.verified-badge {
  display:inline-flex;
  width:21px;
  height:21px;
  margin-left:7px;
  vertical-align:middle;
  flex-shrink:0;
  line-height:1;
}
.verified-badge svg {
  display:block;
  width:100%;
  height:100%;
}
.rc-duo-name .verified-badge {
  width:24px;
  height:24px;
}
:root {
  --bg:#130f13;
  --panel:#211920;
  --panel2:#2c222a;
  --text:#f8f0e8;
  --muted:#c3b4b9;
  --gold:#e6c5a3;
  --gold-2:#f6ddc4;
  --gold-dark:#36252b;
}
.header {
  background:#171217f5;
}
.header .luxora-logo {
  width:205px;
}
.hero {
  background:radial-gradient(ellipse at 16% 25%,#382430 0%,#201820 48%,#151216 100%);
}
.hero-copy h1, .age-modal h2 {
  font-family:Georgia,serif;
  font-weight:500;
  letter-spacing:-.035em;
}
.hero-copy h1 em {
  color:var(--gold);
}
.age-modal {
  border-color:#715762;
  background:#201920;
}
.footer {
  background:#171217;
}
.gold-btn, .nav-cta {
  background:linear-gradient(110deg,#eed5ba,#dbb795);
  color:#251920;
}
:focus-visible {
  outline:2px solid #ffe0bd;
  outline-offset:3px;
}
@media(max-width:760px) {
  .header .luxora-logo {
    width:155px;
  }
}
@media(max-width:380px) {
  .header .luxora-logo {
    width:133px;
  }
}
.skip-link {
  position:fixed;
  left:12px;
  top:-100px;
  z-index:200;
  padding:12px;
  background:#f6ddc4;
  color:#201920;
  border-radius:8px;
}
.skip-link:focus {
  top:12px;
}
.rc-duo-actions a, .rc-duo-actions button {
  min-height:44px!important;
  min-width:44px;
  font-size:12px!important;
}
.rc-stage-single .rc-nav {
  width:44px!important;
  min-height:44px;
}
.rc-dots {
  gap:2px!important;
}
.rc-dot {
  width:44px!important;
  height:44px!important;
  border-radius:50%;
  background:radial-gradient(circle,#8b7b82 4px,transparent 5px)!important;
  border:0!important;
}
.rc-dot[aria-current="true"] {
  background:radial-gradient(circle,#f6ddc4 6px,transparent 7px)!important;
}
.rc-stage.rc-stage-single {
  padding-bottom:52px;
}
.gallery-status {
  position:absolute;
  z-index:1;
  top:10px;
  left:50%;
  transform:translateX(-50%);
  padding:8px 12px;
  background:#141419e6;
  border-radius:8px;
  font-size:13px;
  text-align:center;
}
.gallery-status:empty {
  display:none;
}
.gallery-control {
  min-width:44px;
  min-height:44px;
}
.footer-links a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
}
.mobile-nav {
  padding-bottom:max(9px,env(safe-area-inset-bottom));
}
@media(max-width:760px) {
  .rc-stage.rc-stage-single {
    padding:0 46px 52px;
    height:450px;
  }
  .rc-stage-single .rc-count {
    bottom:1px;
  }
  .rc-duo-actions {
    gap:6px;
  }
  .count {
    display:inline-block;
  }
  .sect-head {
    flex-wrap:wrap;
  }
}
@media(max-width:390px) {
  .vip-grid, .standard-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .photo, .profile.vip .photo {
    height:240px;
  }
  .profile-info, .profile.vip .profile-info {
    padding:10px;
  }
  .profile-name, .profile.vip .profile-name {
    font-size:17px;
  }
  .contact-actions {
    grid-template-columns:1fr;
  }
  .rc-stage.rc-stage-single {
    height:440px;
    padding-inline:44px;
  }
}
@media(prefers-reduced-motion:reduce) {
  *, *::before, *::after {
    scroll-behavior:auto!important;
    transition:none!important;
  }
}

/* The profile surface is a real keyboard-accessible button; contact links remain separate. */
.rc-profile-open { position:absolute; inset:0; width:100%; height:100%; z-index:2; border:0; border-radius:inherit; background:transparent; cursor:pointer; }
.rc-profile-open:focus-visible { outline:3px solid #ffe0bd; outline-offset:-5px; }
.rc-duo-info,.rc-duo-top { pointer-events:none; }
.rc-duo-actions a { position:relative; z-index:4; pointer-events:auto; }
.gallery-description { margin:0; padding:14px 18px 0; color:var(--muted); font-size:14px; }
.free-slot-heading { margin-top:28px; }
.free-slot-heading h3 { margin-bottom:5px; font-size:23px; }
.free-slot-heading p { color:var(--muted); margin-bottom:18px; }
.free-slot-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.rental-slot { min-width:0; padding:20px; border:1px dashed #a58c70; border-radius:16px; background:linear-gradient(140deg,#30242b,#211920); }
.rental-status { display:inline-block; font-size:10px; font-weight:800; letter-spacing:.12em; color:#f6ddc4; border:1px solid #8e755e; border-radius:999px; padding:5px 9px; }
.rental-slot h3 { font-size:18px; margin:12px 0 5px; }
.rental-slot p { font-size:13px; color:var(--muted); margin:0 0 12px; }
.rental-type { font-size:11px; color:var(--gold); }
@media(max-width:900px) { .free-slot-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { .free-slot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .rental-slot { padding:14px 11px; } .rental-slot h3 { font-size:16px; } }
/* Turkish city guides and permanent profile pages */
.detail-main { padding-top:30px; padding-bottom:25px; }
.detail-main h1 { max-width:950px; font-size:clamp(32px,5vw,58px); }
.detail-nav { margin-left:auto; display:flex; gap:16px; font-size:13px; }
.detail-nav a { display:flex; align-items:center; min-height:44px; }
.breadcrumbs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; color:var(--muted); font-size:13px; }
.breadcrumbs a,.city-roster a,.detail-note a,.faq-answer a { text-decoration:underline; text-underline-offset:4px; }
.detail-note,.faq-answer { margin:32px 0; max-width:850px; }
.detail-note p,.faq-answer p { color:var(--muted); line-height:1.8; }
.profile-facts { display:flex; gap:30px; flex-wrap:wrap; margin:25px 0; }
.profile-facts dt { color:var(--muted); font-size:12px; }
.profile-facts dd { margin:4px 0 0; font-size:20px; }
.detail-main > .contact-actions { max-width:420px; margin-bottom:35px; }
.detail-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.detail-photos figure { margin:0; min-width:0; }
.detail-photos img { width:100%; height:auto; border-radius:18px; }
.detail-photos figcaption { color:var(--muted); font-size:12px; padding:8px 0; }
.profile-name a:hover { text-decoration:underline; text-underline-offset:4px; }
.guide-summary p { color:var(--muted); max-width:900px; }
@media(max-width:760px) { .detail-photos { grid-template-columns:1fr; } .detail-main h1 { font-size:36px; } .detail-nav { gap:10px; } .detail-main .standard-grid { gap:10px; } .detail-main .nav .logo img { width:135px; } }

/* One automatically rotating profile, with ample photo and contact space. */
.rc-stage.rc-stage-single { height:560px; }
.rc-stage-single .rc-duo-info { left:20px; right:20px; bottom:20px; }
.rc-stage-single .rc-duo-name { font-size:34px; }
.rc-stage-single .rc-duo-city { font-size:12px; }
.rc-stage-single .rc-duo-actions { display:flex; flex-wrap:wrap; gap:8px; }
.rc-stage-single .rc-duo-actions a { width:auto; min-width:90px; padding:10px 14px; }
@media(max-width:760px) { .rc-stage.rc-stage-single { height:470px; padding-inline:30px; } .rc-stage-single .rc-nav { width:44px!important; } .rc-stage-single .rc-duo-name { font-size:29px; } .rc-stage-single .rc-duo-info { left:14px; right:14px; bottom:16px; } }
@media(max-width:390px) { .rc-stage.rc-stage-single { height:450px; padding-inline:24px; } .rc-stage-single .rc-duo-actions a { min-width:0; padding:10px; } }
