/* Darker, higher-contrast details for therapist cards. */
.girl-info {
  background: linear-gradient(135deg, #edc799, #dca76f);
}

.girl-name {
  color: #3b091d;
  font-weight: 600;
}

.girl-info p {
  color: #4d1427;
  font-weight: 600;
}

.girl-info span {
  color: #741837;
  font-weight: 800;
}

.logo-image { display: block; width: 78px; height: 74px; overflow: hidden; }
.logo-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: screen; filter: saturate(1.1) contrast(1.06); }

/* Restore the compact three-line navigation and make the supplied logo readable. */
.logo-image { width: 132px; height: 76px; flex: 0 0 auto; }
.site-header .logo-image { order: -2; }
.site-header { background:#1b0808; border-bottom-color:transparent; }

/* Massage chooser: phone-first layout. */
@media(max-width:660px){
  .massages-banner{min-height:300px;padding:46px 25px}
  .ritual-grid{grid-template-columns:1fr;gap:10px;margin:28px 0}
  .ritual-choice{min-height:82px;padding:18px 16px;text-align:left}
  .ritual-choice span{font-size:27px}.ritual-choice small{margin-top:6px}
  .massage-detail{padding:24px 16px}.massage-detail h3{font-size:38px;line-height:1}
  .massage-detail>p:not(.eyebrow){font-size:12px;line-height:1.75}
  .team-options{gap:7px;margin:16px 0}.team-choice{flex:1;min-width:0;padding:13px 8px}
  .massage-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .massage-schedule .time-choice{width:100%;min-width:0;padding:14px 7px}
  .time-booking{display:grid;grid-template-columns:1fr;gap:11px;margin-top:20px}
  .time-booking strong{font-size:43px}.time-booking .button{width:100%;text-align:center}
}
.logo-image img { object-position: center; transform: scale(1.08); }
.menu-toggle { display: block; margin-left: auto; padding: 8px 10px; border: 0; background: transparent; color: var(--gold); font-size: 30px; line-height: 1; cursor: pointer; }
.site-header .nav { display: none; position: absolute; top: 84px; left: 0; right: 0; z-index: 10; margin: 0; padding: 20px clamp(22px,5vw,86px); background: #31091c; border-top: 1px solid #d9ad6544; flex-direction: column; gap: 18px; }
.site-header .nav.open { display: flex; }
.site-header .controls { margin-left: 0; }
@media(max-width:660px){.logo-image{width:108px;height:60px}.site-header .nav{top:66px;padding:18px}.menu-toggle{font-size:26px}}
.girl-card { color: inherit; text-decoration: none; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.girl-profile-link { display: block; line-height: 0; }
.girl-card:hover { transform: translateY(-8px); box-shadow: 0 14px 30px #05000580; }
.girl-card:hover .girl-photo { filter: saturate(.9) brightness(1.08); }
.girl-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 15px; }
.girl-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 10px; text-decoration: none; text-transform: uppercase; letter-spacing: .09em; font: 800 9px Manrope, sans-serif; transition: transform .2s ease, background .2s ease; }
.girl-actions a:hover { transform: translateY(-2px); }
.girl-more { color: #571027; border: 1px solid #7b1e3c; background: #f0c99466; }
.girl-more i { margin-left: 7px; font-size: 15px; font-style: normal; }
.girl-reserve { color: #2e0614; background: linear-gradient(135deg,#f4d38d,#dca75b); border: 1px solid #f2cc7e; }
.girl-description { margin: 12px 0 0; color: #5b1830; font-size: 10px; font-weight: 600; line-height: 1.55; }

/* Therapist cards: dark, compact and easy to scan. */
.girl-card { background: #151515; border: 1px solid #ffffff0f; border-radius: 0 0 10px 10px; box-shadow: 0 16px 35px #00000040; }
.girl-card .girl-photo { filter: saturate(.82) contrast(1.04); }
.girl-photo-wrap { position:relative; }.girl-rating { position:absolute; right:12px; bottom:11px; color:#fff8e9; font-size:15px; letter-spacing:1px; text-shadow:0 2px 8px #000; }.girl-rating small { color:#fff; font:600 10px Manrope,sans-serif; letter-spacing:0; }
.girl-card .girl-info { padding: 18px 16px 16px; background: #1a1a1a; }
.girl-card .girl-name { color: #fff7eb; text-align: center; font: 600 28px "Cormorant Garamond", Georgia, serif; }
.girl-card .girl-data { display:none; }
.girl-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; margin:17px -2px 2px; text-align:center; }
.girl-stat b { display:block; color:#fff; font:700 16px Manrope,sans-serif; }.girl-stat small { display:block; margin-top:3px; color:#beb9b4; font-size:8px; }
.girl-card .girl-info p { color: #f2eee9; font-weight: 500; }
.girl-card .girl-info span { color: #c7c2bb; font-weight: 700; }
.girl-card .girl-location { display: flex; gap: 7px; align-items: center; margin: 12px 0 0; color: #f2eee9; font-size: 10px; line-height: 1.45; }
.girl-card .girl-location::first-letter { color: #49d160; }
.girl-card .girl-description { color: #e9e3dc; font-weight: 500; }
.girl-card .girl-schedule { background: #132c19; color: #edfff1; border: 1px solid #287438; }
.girl-card .girl-schedule span { color: #51dc69; }
.girl-card .girl-schedule[data-value] { background:#21190d; border-color:#bb9146; color:#f6dfaf; }.girl-card .girl-schedule[data-value] span { color:#e4b45f; }.girl-card .girl-schedule b { color:#f2c46f; font-size:9px; letter-spacing:.08em; }.girl-card .girl-schedule small { margin-left:auto; color:#d7c6a2; font-size:8px; font-weight:600; }
.girl-rating { display:flex; align-items:center; gap:1px; }.girl-rating button { padding:0; border:0; background:transparent; color:#6e6e6e; cursor:pointer; font-size:16px; line-height:1; text-shadow:0 2px 8px #000; }.girl-rating button.filled,.girl-rating button:hover { color:#f4d47d; }.girl-rating small { margin-left:4px; color:#fff; font:600 9px Manrope,sans-serif; letter-spacing:0; }
.girl-card .girl-actions { margin-top: 16px; }
.girl-card .girl-more { color: #f7ecdf; border-color: #ffffff55; background: transparent; }
.girl-card .girl-reserve { color: #21130c; background: #e7bd71; border-color: #e7bd71; }
.girl-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:900px; margin-left:auto; margin-right:auto; }
.contact-full .map { filter:none; }
.admin-price-hint { padding:9px 10px; background:#fff4e1; border-left:3px solid #d9ad65; font-size:10px; line-height:1.5; }
.price-team-options { display:flex; justify-content:center; gap:8px; margin:0 0 17px; }.price-team-options button { min-width:132px; }

/* Happy Hours */
.happy-hours { padding: 58px clamp(24px,8vw,140px); background: #0f0f0f; color: #f7f3ec; }
.happy-hours-inner { max-width: 1120px; margin: auto; display: grid; grid-template-columns: .9fr 1.6fr; gap: 54px; align-items: end; }
.happy-hours h2 { color: #fff; font: 700 clamp(42px,5vw,62px) Manrope, sans-serif; line-height: .95; letter-spacing: -.06em; }
.happy-hours h2 span { color: #d6b368; }
.happy-hours-lead { margin-top: 20px; color: #c7c2bd; font-size: 13px; line-height: 1.7; max-width: 310px; }
.happy-hours-cards { display: flex; gap: 15px; overflow-x: auto; padding: 4px 2px 16px; scroll-snap-type:x mandatory; }
.happy-hours-cards article { flex:0 0 min(235px,72vw); min-height: 220px; padding: 24px 21px; border-radius: 16px; background: #1b1b1b; display: flex; flex-direction: column; align-items: flex-start; scroll-snap-align:start; }
.happy-hours-cards h3 { color: #fff; font: 700 31px Manrope, sans-serif; line-height: 1.35; letter-spacing: -.04em; }
.happy-hours-cards h3 span { color: #d5ae63; }
.happy-price { margin: 31px 0 12px; color: #fff; font: 700 28px Manrope, sans-serif; }
.happy-old-price { margin:31px 0 -24px; color:#999; font-size:18px; text-decoration:line-through; }
.happy-hours-cards b { padding: 8px 12px; border-radius: 9px; background: #17361f; color: #71da79; font-size: 11px; }
.happy-hours-cards small { margin-top: auto; color: #c6c3bf; font-size: 12px; }
@media(max-width:900px){.happy-hours-inner{grid-template-columns:1fr}}
@media(max-width:660px){.happy-hours{padding:68px 22px}.happy-hours-cards article{min-height:200px}}
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1050px; margin: auto; border-top: 1px solid #e9c47c55; border-left: 1px solid #e9c47c55; }
.service-grid article { padding: 22px 14px; border-right: 1px solid #e9c47c55; border-bottom: 1px solid #e9c47c55; text-align: left; }
.service-grid span { display: block; text-transform: uppercase; letter-spacing: .08em; font-size: 11px; }
.service-grid strong { display: block; color: var(--champagne); margin-top: 8px; font: 500 27px "Cormorant Garamond"; }
.extras { color: var(--champagne); font-size: 12px; margin: 27px auto 0; max-width: 620px; }
.contact-links a { display: inline-flex; align-items: center; gap: 7px; }
.contact-links a img, .button img { width: 18px; height: 18px; }
.back-link { margin-left: auto; color: #f8e3c4; text-decoration: none; font-size: 10px; text-transform: uppercase; font-weight: 700; letter-spacing: .1em; }
.profile-page .site-header { position: static; }
.profile-hero { min-height: 580px; display: grid; grid-template-columns: 1fr 1fr; background: #250013; }
.profile-photo { min-height: 580px; background-position: center; background-size: cover; filter: saturate(.68); }
.profile-intro { padding: 100px clamp(32px,9vw,150px) 65px; background: radial-gradient(circle at 85% 18%,#761b3a,#270013 55%); }
.profile-intro h1 { font-size: clamp(76px,9vw,130px); color: #ffe4b0; line-height: .8; font-weight: 500; }
.profile-intro > p:not(.eyebrow) { margin: 31px 0; color: #ead4c5; font-size: 14px; line-height: 1.8; max-width: 370px; }
.profile-intro dl { display: grid; grid-template-columns: 1fr 1fr; max-width: 350px; border-top: 1px solid #e9c47c55; margin: 28px 0; }
.profile-intro dl div { padding: 12px 0; border-bottom: 1px solid #e9c47c55; }
.profile-intro dt { color: var(--gold); text-transform: uppercase; font-size: 9px; letter-spacing: .1em; }
.profile-intro dd { margin: 4px 0 0; color: #fee4b1; font: 25px "Cormorant Garamond"; }
.profile-services { background: #1f0010; }
.profile-lead { color: #e5cabc; margin: 20px 0 38px; }
.massage-list { max-width: 1000px; margin: auto; }
.massage-list article { display: grid; grid-template-columns: 1.1fr 1fr; padding: 26px 0; border-top: 1px solid #e9c47c40; gap: 35px; }
.massage-list h3 { color: #ffe4b0; font: 500 34px "Cormorant Garamond"; }
.massage-list p { color: #dfc7b6; font-size: 12px; line-height: 1.7; max-width: 350px; margin-top: 7px; }
.massage-list .massage-name p { max-width: 510px; }
.duration-list { display: flex; gap: 8px; flex-wrap: wrap; align-content: center; }
.duration-list span { background: #4a0e25; color: #edddcd; font-size: 10px; padding: 10px; min-width: 96px; }
.duration-list b { display: block; color: var(--gold); font: 24px "Cormorant Garamond"; margin-top: 4px; }
.profile-extras { max-width: 1000px; padding: 27px; margin: 40px auto 0; background: #6a1734; border-left: 3px solid var(--gold); }
.profile-extras .eyebrow { margin-bottom: 8px; }
.profile-extras strong { font: 500 27px "Cormorant Garamond"; color: #ffe4b0; }
.profile-engagement { margin:38px 0 0; padding:25px 27px; border:1px solid #d9ad6555; background:#2b0717; }.profile-engagement h3{color:#ffe4b0;font:500 33px "Cormorant Garamond"}.profile-stars{display:flex;align-items:center;gap:4px;margin-top:17px}.profile-stars button{padding:0;border:0;background:transparent;color:#6e5b4d;font-size:28px;cursor:pointer}.profile-stars button.filled,.profile-stars button:hover{color:#f3c86d}.profile-stars span{margin-left:10px;color:#e7d5bd;font-size:11px}.profile-bottom-booking{display:table;margin:32px auto 0}

.subpage { background: #210015; }
.page-banner { min-height: 390px; display: flex; align-items: end; padding: 65px clamp(24px,10vw,160px); background-color: #280012; background-position: center; background-size: cover; position: relative; }
.page-banner:before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#250013e8,#25001355); }
.page-banner > div { position: relative; max-width: 520px; }
.page-banner h1 { font-size: clamp(65px,8vw,110px); font-weight: 500; color: #ffe4b0; line-height: .75; }
.hero-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.65) contrast(1.05) brightness(.76); }
.age-gate { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 50% 15%,#731631a8,#140009ee 62%),#140009; backdrop-filter: blur(6px); }
.age-gate-card { width: min(560px,100%); padding: 38px; text-align: center; border: 1px solid #d9ad6570; background: linear-gradient(145deg,#3c081f,#210011); box-shadow: 0 28px 80px #00000090; }
.age-gate-card img { width: min(300px,90%); height: 94px; object-fit: cover; border: 0; margin-bottom: 28px; }
.age-gate-card h1,.age-gate-card h2 { color: #ffe4b0; font: 500 clamp(48px,7vw,69px) "Cormorant Garamond"; line-height: .9; }
.age-gate-card > p:not(.eyebrow) { color: #edd6c1; line-height: 1.75; font-size: 13px; max-width: 370px; margin: 22px auto 30px; }
.age-gate-card button { min-width: 175px; margin: 5px; padding: 14px 16px; border: 1px solid var(--gold); font: 700 10px Manrope; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.age-yes { background: var(--gold); color: #2c0718; }.age-no { color: #f1d6ba; background: transparent; }
.page-info-panel { padding: 78px max(24px,15vw); text-align: center; background: radial-gradient(circle at 50% 0,#65142e,#230011 63%); }
.page-info-panel h2 { margin-bottom: 19px; }.page-info-panel > p:last-child { max-width: 720px; margin: auto; color: #e8cfbe; font-size: 13px; line-height: 1.9; }
.page-banner p:last-child { margin-top: 25px; color: #f2d8bd; font-size: 14px; line-height: 1.7; }
.therapists-banner { background-image: url('https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=1800&q=85'); }
.massages-banner { background-image: url('https://images.unsplash.com/photo-1600334089648-b0d9d3028eb2?auto=format&fit=crop&w=1800&q=85'); }
.prices-banner { background-image: url('https://images.unsplash.com/photo-1544161515-4ab6ce6db874?auto=format&fit=crop&w=1800&q=85'); }
.gallery-banner { background-image: url('https://images.unsplash.com/photo-1519823551278-64ac92734fb1?auto=format&fit=crop&w=1800&q=85'); }
.massage-overview { background: #1f0010; }
.ritual-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; margin: 40px 0; }
.ritual-grid article { background: #4a0e25; padding: 24px 18px; border-top: 2px solid var(--gold); }
.ritual-grid h3 { color: #ffe4b0; font: 500 30px "Cormorant Garamond"; }
.ritual-grid p { color: #e8cfbe; font-size: 11px; line-height: 1.7; margin-top: 8px; }
.ritual-choice { min-height: 126px; padding: 24px 18px; text-align: left; color: #ffe4b0; border: 0; border-top: 2px solid var(--gold); background: #4a0e25; cursor: pointer; transition: background .2s,transform .2s; }
.ritual-choice:hover,.ritual-choice.active { background: #6a1734; transform: translateY(-3px); }.ritual-choice span { display:block; font:500 30px "Cormorant Garamond"; }.ritual-choice small { display:block; color:#e8cfbe; margin-top:12px; font:600 9px Manrope; text-transform:uppercase; letter-spacing:.08em; }.ritual-choice b{color:var(--gold);font-size:13px;}
.massage-detail { grid-column: 1 / -1; padding: 34px; background: linear-gradient(135deg,#5e1330,#2d0618); border-left: 3px solid var(--gold); }.massage-detail h3 { color:#ffe4b0;font:500 45px "Cormorant Garamond"; }.massage-detail>p:not(.eyebrow) { max-width: 860px; color:#ead5c4; font-size:13px; line-height:1.85; margin:15px 0 24px; }.massage-schedule { display:flex;gap:9px;flex-wrap:wrap; }.massage-schedule span { min-width:105px; padding:11px; background:#270012; color:#eed6bf; font-size:10px; }.massage-schedule b { display:block;color:var(--gold);font:26px "Cormorant Garamond";margin-top:5px; }
.gallery-large { grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 250px 250px; height: auto; }
.gallery-large .g1 { grid-row: span 2; }.gallery-large .g4 { background: url('https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=1000&q=85') center/cover; }.gallery-large .g5 { background: url('https://images.unsplash.com/photo-1515377905703-c4788e51af15?auto=format&fit=crop&w=1000&q=85') center/cover; }
.contact-full { min-height: 680px; }.temporary-note { font-size: 10px!important; color: var(--gold)!important; margin-top: 28px!important; }
.price-picker { min-height: 650px; text-align: center; background: #1f0010; }.price-picker h2 { margin-bottom: 16px; }
.massage-options { display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; max-width: 850px; margin: 42px auto 25px; }.massage-options button,.time-options button { color: #f8e3c4; border: 1px solid #d9ad6570; background: #4a0e25; padding: 13px 17px; font: 600 11px Manrope; cursor: pointer; }.massage-options button.active,.time-options button.active { color: #320516; background: var(--gold); border-color: var(--gold); }.time-options { min-height: 97px; }.time-options p { color: var(--champagne); font-size: 12px; margin-bottom: 10px; }.time-options button { margin: 0 4px; }.selected-price { max-width: 480px; margin: 37px auto 0; padding: 27px; background: linear-gradient(135deg,#6a1734,#3f0a20); border-top: 1px solid var(--gold); }.selected-price p { color: #f1d7bc; font-size: 12px; }.selected-price strong { display: block; font: 500 57px "Cormorant Garamond"; color: var(--champagne); margin: 8px 0 16px; }

@media(max-width:900px) { .service-grid { grid-template-columns: repeat(2, 1fr); } .profile-intro { padding: 75px 45px; } }
@media(max-width:660px) { .logo-image { width: 90px; height: 58px; } .back-link { font-size: 8px; } .profile-hero { grid-template-columns: 1fr; } .profile-photo { min-height: 410px; } .profile-intro { padding: 60px 25px; } .profile-intro h1 { font-size: 82px; } .massage-list article { grid-template-columns: 1fr; gap: 15px; } .duration-list span { min-width: 88px; } .profile-extras strong { font-size: 23px; } }

/* Wellness & Pool */
.wellness-hero{min-height:610px;display:flex;align-items:end;padding:70px clamp(24px,11vw,180px);background:linear-gradient(90deg,#18000de8,#18000d35),url('https://ecowoodspa.com/assets/hero-spa-_XRz1-dC.jpg') center/cover}.wellness-hero>div{max-width:560px}.wellness-hero h1{color:#fff0cf;font:500 clamp(72px,10vw,142px) "Cormorant Garamond";line-height:.76}.wellness-hero>div>p:not(.eyebrow){max-width:390px;margin:27px 0;color:#f3dec8;font-size:14px;line-height:1.8}.wellness-intro{text-align:center;background:#210015}.wellness-intro>p:not(.eyebrow){max-width:720px;margin:26px auto 50px;color:#e7cfbd;font-size:14px;line-height:1.9}.wellness-features{display:grid;grid-template-columns:repeat(3,1fr);max-width:980px;margin:auto;border-top:1px solid #d9ad6544;border-bottom:1px solid #d9ad6544}.wellness-features article{padding:28px 25px;border-right:1px solid #d9ad6544;text-align:left}.wellness-features article:last-child{border:0}.wellness-features span{color:#d9ad65;font:30px "Cormorant Garamond"}.wellness-features h3{margin-top:28px;color:#ffe4b0;font:500 34px "Cormorant Garamond"}.wellness-features p{margin-top:9px;color:#dec7b6;font-size:11px;line-height:1.7}.wellness-gallery{display:grid;grid-template-columns:1fr 1fr;min-height:750px;background:#15000a}.wellness-photo{min-height:375px;background-position:center;background-size:cover}.photo-pool{background-image:url('https://ecowoodspa.com/assets/spa-8-BxI5hvZv.jpg')}.photo-sauna{background-image:url('https://aquamarinespa.cz/wp-content/themes/aquamarine/assets/img/products/wellness/realizace-privatniho-wellness.jpg')}.wellness-copy{display:flex;flex-direction:column;justify-content:center;padding:70px clamp(30px,8vw,120px);background:#4b1028}.wellness-copy h2{color:#ffe4b0}.wellness-copy>p:not(.eyebrow){margin:24px 0 30px;color:#f0d6c0;font-size:13px;line-height:1.85}@media(max-width:900px){.wellness-gallery{grid-template-columns:1fr}.wellness-photo{min-height:360px}.wellness-features{grid-template-columns:1fr}.wellness-features article{border-right:0;border-bottom:1px solid #d9ad6544}.wellness-features article:last-child{border-bottom:0}}@media(max-width:660px){.wellness-hero{min-height:520px;padding:55px 25px}.wellness-hero h1{font-size:76px}.wellness-features article{padding:24px 18px}.wellness-copy{padding:60px 25px}}

/* Local salon photography */
.hero-art { background-image:linear-gradient(90deg,#260012 0%,#26001230 15%,#18000a12),linear-gradient(0deg,#1e0010a0,#1e001015),url('assets/salon/salon-05.jpg'); }
.therapists-banner { background-image:linear-gradient(90deg,#18000dcc,#18000d44),url('assets/salon/salon-08.jpg'); }
.massages-banner { background-image:linear-gradient(90deg,#18000dcc,#18000d44),url('assets/salon/salon-04.jpg'); }
.prices-banner { background-image:linear-gradient(90deg,#18000dcc,#18000d44),url('assets/salon/salon-13.jpg'); }
.gallery-banner { background-image:linear-gradient(90deg,#18000dcc,#18000d44),url('assets/salon/salon-09.jpg'); }
.g1 { background-image:linear-gradient(#4c001922,#4c001955),url('assets/salon/salon-01.jpg'); }
.g2 { background-image:linear-gradient(#4c001922,#4c001955),url('assets/salon/salon-04.jpg'); }
.g3 { background-image:linear-gradient(#4c001922,#4c001955),url('assets/salon/salon-08.jpg'); }
.gallery-large { grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:250px;height:auto; }
.gallery-large .g1 { grid-row:span 2; }
.gallery-large .g4 { background-image:url('assets/salon/salon-02.jpg'); }
.gallery-large .g5 { background-image:url('assets/salon/salon-05.jpg');grid-row:span 2; }
.gallery-large .g6 { background-image:url('assets/salon/salon-06.jpg');grid-row:span 2; }
.gallery-large .g7 { background-image:url('assets/salon/salon-07.jpg');grid-row:span 2; }
.gallery-large .g8 { background-image:url('assets/salon/salon-09.jpg');grid-column:span 2; }
.gallery-large .g9 { background-image:url('assets/salon/salon-10.jpg'); }
.gallery-large .g10 { background-image:url('assets/salon/salon-11.jpg'); }
.gallery-large .g11 { background-image:url('assets/salon/salon-12.jpg'); }
.gallery-large .g12 { background-image:url('assets/salon/salon-13.jpg');grid-column:span 2; }
.gallery-large .g13 { background-image:url('assets/salon/salon-14.jpg');grid-column:span 2; }
.gallery-large .g14 { background-image:url('assets/salon/salon-03.jpg'); }
.wellness-hero { background-image:linear-gradient(90deg,#18000de8,#18000d35),url('assets/salon/salon-01.jpg'); }
.photo-pool { background-image:url('assets/salon/salon-02.jpg'); }
.photo-sauna { background-image:url('assets/salon/salon-03.jpg'); }
@media(max-width:900px){.gallery-large{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-large .g8,.gallery-large .g12,.gallery-large .g13{grid-column:span 1}}
@media(max-width:660px){.gallery-large{grid-template-columns:1fr;grid-auto-rows:330px}.gallery-large .g1,.gallery-large .g5,.gallery-large .g6,.gallery-large .g7{grid-row:span 1}}

/* Three-photo therapist profiles */
.profile-photo-gallery{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:1fr 1fr;gap:4px;min-height:720px;background:#16000b;overflow:hidden}
.profile-photo-gallery .profile-photo{min-height:0;background-position:center;background-size:cover;filter:saturate(.72);transition:filter .25s,transform .25s}
.profile-photo-gallery .profile-photo:hover{filter:saturate(.95);transform:scale(1.01)}
.profile-photo-gallery .profile-photo-1{grid-row:1 / span 2}
.profile-photo-gallery .profile-photo-1{background-position:center 28%}
.profile-photo-gallery .profile-photo-2{background-position:38% 20%;background-size:auto 145%}
.profile-photo-gallery .profile-photo-3{background-position:66% 76%;background-size:auto 175%}
@media(max-width:900px){.profile-photo-gallery{min-height:620px}}
@media(max-width:660px){.profile-photo-gallery{grid-template-columns:1fr 1fr;grid-template-rows:430px 220px;min-height:0}.profile-photo-gallery .profile-photo-1{grid-column:1 / span 2;grid-row:1}.profile-photo-gallery .profile-photo-2,.profile-photo-gallery .profile-photo-3{grid-row:2}}

/* Responsive home-page video */
.hero{
  height:clamp(580px,calc(100svh - 84px),760px);
  min-height:580px;
  isolation:isolate;
  background:#230011 url('assets/salon/salon-05.jpg') center/cover no-repeat;
}
.hero-background{
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:50% 50%;
}
.hero-shade{z-index:1}
.hero-copy,.hero-note{z-index:2}

@media(max-width:660px){
  .hero{
    height:calc(100dvh - 66px);
    min-height:480px;
    max-height:none;
  }
  .hero-background{
    object-fit:cover;
    object-position:56% center;
  }
  .hero-background.show-full-title-card{
    object-fit:contain;
    object-position:center;
    background:#3b1114;
  }
  .hero-shade{
    background:linear-gradient(90deg,#260012e8 0%,#260012a8 58%,#26001245 100%),linear-gradient(0deg,#260012a8 0%,transparent 45%);
  }
  .hero-copy{
    padding:clamp(82px,13svh,112px) 22px 0;
  }
  .hero-note{
    left:22px;
    right:22px;
    bottom:max(18px,env(safe-area-inset-bottom));
  }
}

@media(max-width:660px) and (orientation:landscape){
  .hero{
    height:calc(100dvh - 66px);
    min-height:360px;
    max-height:none;
  }
  .hero-background{object-position:center 48%}
  .hero-copy{padding-top:66px}
  .hero-note{bottom:14px}
}

.hero-video-toggle{
  position:absolute;
  z-index:3;
  top:22px;
  right:22px;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  padding:0;
  border:1px solid #f1d49b99;
  border-radius:50%;
  color:#fff4dc;
  background:#260012a6;
  box-shadow:0 5px 20px #15000866;
  backdrop-filter:blur(8px);
  cursor:pointer;
  touch-action:manipulation;
}
.hero-video-toggle span{font:700 16px/1 Manrope,sans-serif}
.hero-video-toggle:hover,.hero-video-toggle:focus-visible{background:#6a1734;outline:2px solid #f1d49b;outline-offset:3px}
.hero-video-toggle.is-paused{background:#6a1734}
@media(max-width:660px){
  .hero-video-toggle{top:16px;right:16px;width:48px;height:48px}
}

/* Extended bilingual editorial content and gallery video. */
.sensual-story{padding:92px clamp(24px,12vw,190px);background:radial-gradient(circle at 18% 10%,#6d1733,#250012 58%);border-top:1px solid #d9ad6530}
.sensual-story-inner{max-width:940px;margin:auto}.sensual-story h2{max-width:760px}.sensual-story-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:35px}.sensual-story-home .sensual-story-copy{grid-template-columns:repeat(3,minmax(0,1fr))}.sensual-story-copy p{color:#ead4c5;font-size:13px;line-height:1.9}
.gallery-large .sensual-gallery-photo{min-height:250px;background-position:center 24%;background-size:cover;filter:saturate(.72) contrast(1.03)}
.gallery-video-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:center;padding:90px clamp(24px,8vw,140px);background:#16000b}.gallery-video-copy>p:not(.eyebrow){margin-top:24px;color:#e6cfbf;font-size:13px;line-height:1.85;max-width:430px}.gallery-video-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:#3b1114;border:1px solid #d9ad6548;box-shadow:0 28px 65px #0007}.gallery-video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#3b1114}.gallery-video-frame video::-webkit-media-controls,.gallery-video-frame video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}.gallery-video-toggle{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:50px;height:50px;border:1px solid #f1d49b99;border-radius:50%;color:#fff4dc;background:#260012d9;cursor:pointer}.gallery-video-toggle span{font:700 16px/1 Manrope,sans-serif}
@media(max-width:800px){.sensual-story{padding:68px 22px}.sensual-story-copy,.sensual-story-home .sensual-story-copy{grid-template-columns:1fr;gap:17px}.gallery-video-section{grid-template-columns:1fr;padding:68px 22px;gap:30px}.gallery-video-toggle{right:12px;top:12px;width:46px;height:46px}}

/* Compact title video: one native player, full uncropped frame. */
.hero{
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(420px,1.22fr);
  grid-template-rows:auto auto;
  align-items:center;
  gap:28px 56px;
  height:auto;
  min-height:560px;
  padding:72px clamp(28px,7vw,118px);
  background:radial-gradient(circle at 78% 34%,#741b3b,#2a0618 62%);
}
.hero .hero-shade{background:linear-gradient(90deg,#260012aa,#26001222)}
.hero .hero-copy{grid-column:1;grid-row:1;padding:0}
.hero .hero-background{
  position:relative;
  inset:auto;
  grid-column:2;
  grid-row:1 / span 2;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:contain;
  object-position:center;
  border:1px solid #e0b56b66;
  background:#3b1114;
  box-shadow:0 30px 70px #0d000888;
  filter:saturate(.82) contrast(1.03);
}
.hero-video-label{z-index:3;grid-column:2;grid-row:1;align-self:start;justify-self:start;margin:18px;padding:9px 13px;border:1px solid #f3d8a666;background:#260012b8;color:#f7e6c9;font:700 10px/1 Manrope,sans-serif;letter-spacing:.16em;pointer-events:none}
.hero-video-label span{color:#e0b56b}
.hero .hero-note{position:relative;grid-column:1;grid-row:2;left:auto;right:auto;bottom:auto;align-self:start}
.payment-note{max-width:720px;margin:24px auto 0;color:#f3d8a6;font-size:11px;line-height:1.8}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:30px;min-height:0;padding:58px 28px}
  .hero .hero-copy{grid-column:1;grid-row:1}
  .hero .hero-background{grid-column:1;grid-row:2}
  .hero-video-label{grid-column:1;grid-row:2;margin:13px}
  .hero .hero-note{grid-column:1;grid-row:3}
}
@media(max-width:660px){
  .hero{height:auto;min-height:0;padding:44px 20px 36px;gap:25px}
  .hero .hero-copy{padding:0}
  .hero .hero-background{width:100%;height:auto;object-fit:contain;object-position:center}
  .hero .hero-note{position:relative;left:auto;right:auto;bottom:auto}
  .wellness-hero>div{width:100%;min-width:0}
  .wellness-hero h1{font-size:clamp(56px,18vw,76px);overflow-wrap:normal;word-break:normal}
}

/* Profile photo viewer and mobile-safe booking button. */
.profile-photo-gallery [data-profile-photo]{cursor:zoom-in}
.profile-photo-gallery [data-profile-photo]:focus-visible{outline:3px solid #f3d8a6;outline-offset:-4px}
.profile-lightbox[hidden]{display:none}
.profile-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(16px,4vw,48px);background:#100007ed;backdrop-filter:blur(9px)}
.profile-lightbox-image{display:block;width:auto;height:auto;max-width:min(1180px,100%);max-height:calc(100dvh - 48px);object-fit:contain;box-shadow:0 28px 80px #000c}
.profile-lightbox-close{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:1;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #f3d8a699;border-radius:50%;background:#300317dd;color:#fff4dc;font:300 34px/1 Arial,sans-serif;cursor:pointer}
.profile-lightbox-close:hover,.profile-lightbox-close:focus-visible{background:#7a1638;outline:2px solid #f3d8a6;outline-offset:3px}
body.profile-lightbox-open{overflow:hidden}
.profile-intro{min-width:0}
@media(max-width:660px){
  .profile-intro>.button,.profile-intro [data-profile-booking]{display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-height:50px;padding:13px 10px;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.45;letter-spacing:.08em}
  .profile-lightbox{padding:12px}
  .profile-lightbox-image{max-height:calc(100dvh - 24px)}
}
