:root{
  --green:#26382d;
  --green-2:#31483a;
  --cream:#f4efe6;
  --paper:#fbf9f4;
  --sand:#ded2bd;
  --taupe:#b8aa95;
  --brown:#4d3d30;
  --gold:#b49a63;
  --ink:#28231e;
  --muted:#766e64;
  --line:rgba(40,35,30,.14);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
  --shadow:0 20px 60px rgba(38,56,45,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 48px));margin:auto}
.topbar{background:var(--green);color:#e9e0cf;font-size:10px;letter-spacing:.18em}
.topbar-inner{display:flex;justify-content:space-between;padding:9px 0}
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,249,244,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-wrap{height:104px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{display:block;width:188px;height:auto;max-height:94px;object-fit:contain}
.nav{display:flex;align-items:center;gap:25px;font-size:12px;letter-spacing:.06em}
.nav>a{transition:.2s}
.nav>a:hover{color:var(--gold)}
.nav-book{padding:11px 18px;background:var(--green);color:#fff!important}
.lang{border:0;background:transparent;padding:0;font:inherit;font-size:11px;cursor:pointer;color:var(--muted)}
.lang.active{color:var(--green);font-weight:700}
.lang-divider{color:#bbb}
.menu-toggle{display:none;background:none;border:0;width:40px;padding:8px}
.menu-toggle span{display:block;height:2px;background:var(--green);margin:5px 0}

.hero{min-height:650px;position:relative;background-image:url("assets/hero-massage.webp");background-size:cover;background-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,38,30,.86),rgba(27,38,30,.35),rgba(27,38,30,.06))}
.hero-content{position:relative;z-index:1;color:#fff;padding-top:150px;padding-bottom:130px}
.eyebrow,.kicker{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);font-weight:700}
.hero h1{font-family:var(--serif);font-size:clamp(58px,8vw,104px);font-weight:500;line-height:.86;margin:18px 0 28px;letter-spacing:.02em}
.hero h1 em,h2 em,blockquote em{font-weight:500;color:#d5bd8a}
.hero-copy{max-width:500px;font-size:16px;color:#eee9df}
.hero-actions{display:flex;gap:12px;margin-top:34px}
.btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 24px;font-size:11px;letter-spacing:.13em;font-weight:700;text-transform:uppercase;border:1px solid transparent;transition:.2s}
.btn-primary{background:#fff;color:var(--green)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--green)}

.benefits{background:var(--green);color:#fff}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.benefit-grid>div{padding:28px 35px;border-right:1px solid rgba(255,255,255,.13)}
.benefit-grid>div:last-child{border:0}
.benefit-grid span{display:block;color:var(--gold);font-size:10px;letter-spacing:.2em}
.benefit-grid strong{display:block;font-family:var(--serif);font-size:26px;letter-spacing:.06em;font-weight:600;margin-top:2px}
.benefit-grid p{margin:0;color:#cbd0c8;font-size:12px}

.section{padding:105px 0}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:48px}
.section-heading h2,.about-copy h2,.contact h2,.location-copy h2{font-family:var(--serif);font-size:58px;font-weight:500;line-height:.92;margin:10px 0 0}
.section-heading>p{max-width:360px;color:var(--muted);font-size:14px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card{background:#eee8dc;padding:34px;min-height:285px;position:relative;transition:.25s}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.service-icon{width:42px;height:42px;border:1px solid rgba(77,61,48,.25);display:grid;place-items:center;border-radius:50%;color:var(--gold);font-size:20px}
.service-number{font-size:10px;letter-spacing:.18em;color:var(--muted);margin:25px 0 0}
.service-card h3{font-family:var(--serif);font-size:31px;font-weight:600;margin:2px 0 6px}
.service-card p:not(.service-number){font-size:12px;color:var(--muted);margin:0 0 25px}
.service-card a{position:absolute;bottom:27px;font-size:9px;letter-spacing:.15em;font-weight:700;color:var(--green)}

.about{background:var(--cream)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-image{min-height:580px;background-size:cover;background-position:center}
.image-one{background-image:url("assets/thai-massage.webp")}
.about-copy>p:not(.kicker){color:var(--muted);max-width:510px;font-size:14px}
.signature{margin-top:38px;font-family:var(--serif);font-size:24px;letter-spacing:.1em;color:var(--green)}
.signature span{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.25em;color:var(--muted);margin-top:3px}

.quote-section{background:var(--green);color:#fff;padding:100px 0;text-align:center}
.quote-inner{max-width:800px}
.quote-mark{font-family:var(--serif);font-size:80px;line-height:.5;color:var(--gold)}
blockquote{font-family:var(--serif);font-size:70px;line-height:.85;margin:15px 0 18px;font-weight:500}
.quote-inner>p{color:#cdd4cb;font-size:13px}

.gallery-section{background:var(--paper)}
.section-heading.compact{align-items:center}
.gallery-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:260px 260px;gap:14px}
.gallery-item{background-size:cover;background-position:center;min-height:200px}
.gallery-item.large{grid-row:1/3}
.gallery-item.wide{grid-column:2/4}
.image-two{background-image:url("assets/compress-massage.webp")}
.image-three{background-image:url("assets/herbal-steam.webp")}
.image-four{background-image:url("assets/oil-massage.webp");background-position:60% center;filter:saturate(.8)}
.image-five{background-image:url("assets/thai-massage.webp");background-position:center bottom}

.contact{background:#e9e1d3}
.contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:100px;align-items:start}
.contact-intro{max-width:430px;color:var(--muted)}
.contact-list{margin-top:35px;border-top:1px solid var(--line)}
.contact-list a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.contact-list span{font-size:9px;letter-spacing:.2em;color:var(--muted)}
.contact-list strong{font-size:13px}
.contact-card{background:#fffaf1;padding:42px;box-shadow:var(--shadow)}
.contact-card h3{font-family:var(--serif);font-size:52px;line-height:.9;font-weight:500;margin:8px 0 15px}
.contact-card>p:not(.kicker){font-size:13px;color:var(--muted)}
.booking-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}
.btn-dark{background:var(--green);color:#fff}
.btn-outline{border-color:var(--green);color:var(--green)}
.qr-box{border-top:1px solid var(--line);margin-top:30px;padding-top:25px;display:flex;gap:20px;align-items:center}
#qrcode{width:96px;height:96px;display:grid;place-items:center}
#qrcode img,#qrcode canvas{max-width:96px;max-height:96px}
.qr-box strong{font-size:10px;letter-spacing:.15em}
.qr-box p{font-size:11px;color:var(--muted);margin:4px 0 0}

.location{background:#d7cbb9;padding:0}
.location-grid{display:grid;grid-template-columns:1.25fr .75fr;min-height:470px}
.map-placeholder{background-image:linear-gradient(rgba(38,56,45,.12),rgba(38,56,45,.12)),url("https://images.unsplash.com/photo-1524666041070-9f9a5a2e2f37?auto=format&fit=crop&w=1500&q=80");background-size:cover;background-position:center;display:grid;place-items:center;position:relative}
.map-pin{width:70px;height:70px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--green);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:22px;box-shadow:0 12px 25px rgba(0,0,0,.2)}
.map-pin::first-letter{transform:rotate(45deg)}
.map-label{position:absolute;margin-top:160px;background:#fff;padding:8px 15px;font-size:9px;letter-spacing:.15em}
.location-copy{padding:80px 60px;background:#eee5d6}
.location-copy p:not(.kicker){font-size:13px;color:var(--muted);margin:26px 0}
.location-copy strong{color:var(--ink);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.text-link{font-size:10px;letter-spacing:.15em;font-weight:700;color:var(--green)}

footer{background:#1e2b23;color:#d8d4ca}
.footer-top{padding:55px 0 40px;display:grid;grid-template-columns:1.3fr 1fr .6fr;gap:40px;align-items:start}
.footer-brand{display:flex;align-items:center}
.footer-brand img{display:block;width:190px;height:auto;filter:brightness(1.12)}
.footer-links{display:flex;flex-wrap:wrap;gap:16px 24px;font-size:11px}
.footer-links a:hover{color:var(--gold)}
.footer-contact span{display:block;font-size:8px;letter-spacing:.2em;color:#9ba89d}
.footer-contact a{display:block;margin-top:4px;font-family:var(--serif);font-size:23px;color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:17px 0;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em;color:#909c92}

@media(max-width:900px){
  .nav{gap:15px}
  .section-heading h2,.about-copy h2,.contact h2,.location-copy h2{font-size:48px}
  .about-grid{gap:40px}
  .contact-grid{gap:45px}
}
@media(max-width:760px){
  .container{width:min(100% - 32px,600px)}
  .topbar-inner{justify-content:center}
  .topbar-inner span:last-child{display:none}
  .nav-wrap{height:78px}
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;left:16px;right:16px;top:78px;background:var(--paper);padding:20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}
  .nav.open{display:flex}
  .nav>a,.nav button{padding:12px 5px}
  .nav-book{text-align:center;margin-top:7px}
  .lang-divider{display:none}
  .brand img{width:156px;max-height:78px}
  .hero{min-height:600px;background-position:58% center}
  .hero-content{padding:110px 0 90px}
  .hero h1{font-size:64px}
  .hero-copy{font-size:14px}
  .hero-actions{flex-direction:column;align-items:stretch;max-width:320px}
  .benefit-grid{grid-template-columns:1fr}
  .benefit-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.13);padding:22px 0}
  .section{padding:72px 0}
  .section-heading{display:block;margin-bottom:35px}
  .section-heading>p{margin-top:22px}
  .service-grid{grid-template-columns:1fr}
  .service-card{min-height:350px}
  .about-grid,.contact-grid,.location-grid{grid-template-columns:1fr}
  .about-image{min-height:400px}
  .quote-section{padding:75px 0}
  blockquote{font-size:52px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 190px 190px}
  .gallery-item.large{grid-column:1/3;grid-row:auto}
  .gallery-item.wide{grid-column:1/3}
  .contact-card{padding:28px}
  .booking-buttons{grid-template-columns:1fr}
  .location-grid{min-height:0}
  .map-placeholder{min-height:330px}
  .location-copy{padding:55px 24px}
  .footer-top{grid-template-columns:1fr;gap:28px}
  .footer-links{max-width:320px}
  .footer-bottom{display:block;line-height:2}
}

/* Updated service menu */
.service-card{min-height:320px}
.service-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-top:2px}
.service-head h3{margin:0}
.service-head strong{font-family:var(--serif);font-size:27px;font-weight:600;color:var(--green);white-space:nowrap}
.service-en{font-size:10px!important;letter-spacing:.10em;text-transform:uppercase;color:var(--gold)!important;margin:0 0 8px!important;font-weight:700}
.service-desc{min-height:57px}
@media(max-width:760px){.service-card{min-height:300px}}

.service-card{min-height:320px}.service-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-top:2px}.service-head h3{margin:0}.service-head strong{font-family:var(--serif);font-size:27px;font-weight:600;color:var(--green);white-space:nowrap}.service-en{font-size:10px!important;letter-spacing:.10em;text-transform:uppercase;color:var(--gold)!important;margin:0 0 8px!important;font-weight:700}.service-desc{min-height:57px}@media(max-width:760px){.service-card{min-height:300px}}

/* SIAM VELORA premium service icons */
.service-icon{
  width:54px;height:54px;border:1px solid rgba(77,61,48,.25);
  border-radius:50%;display:grid;place-items:center;
  color:var(--gold);margin-bottom:28px;background:transparent;
}
.service-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.service-number{display:none!important}
.service-head{align-items:baseline}
.service-head h3{font-size:30px;line-height:1.05}
.service-head strong{font-size:27px}
.service-en{margin-top:8px!important}
.duration-row{margin-top:18px}
.service-card>a{bottom:28px}
@media(max-width:760px){
  .service-card{min-height:330px}
  .service-head h3{font-size:28px}
}

/* Real Google Maps */
.map-placeholder{
  position:relative;
  overflow:hidden;
  background:#d7cbb9;
  min-height:470px;
  border:1px solid rgba(38,56,45,.16);
  box-sizing:border-box;
  box-shadow:0 8px 24px rgba(38,56,45,.08);
}
.map-placeholder iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
  filter:saturate(.75);
}
.map-open{
  position:absolute;
  left:28px;
  bottom:24px;
  z-index:2;
  background:#fffaf1;
  color:var(--green);
  padding:12px 16px;
  font-size:9px;
  letter-spacing:.14em;
  font-weight:700;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
@media(max-width:760px){
  .map-placeholder{min-height:330px}
}

/* Compact language control beside the mobile menu */
.header-actions{display:flex;align-items:center;gap:10px}
.lang-select{
  appearance:none;-webkit-appearance:none;
  border:1px solid rgba(38,56,45,.22);border-radius:999px;
  background:var(--paper);color:var(--green);
  padding:7px 27px 7px 11px;
  font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.12em;
  cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--green) 50%),linear-gradient(135deg,var(--green) 50%,transparent 50%);
  background-position:calc(100% - 13px) 50%,calc(100% - 9px) 50%;
  background-size:4px 4px,4px 4px;background-repeat:no-repeat;
}
.lang-select:focus{outline:1px solid rgba(38,56,45,.35);outline-offset:2px}

/* Benefit icons — cleaner and more consistent with the service menu */
.benefit-grid>div{position:relative;padding-top:24px}
.benefit-icon{width:28px;height:28px;margin-bottom:10px;color:var(--gold)}
.benefit-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.benefit-grid span{display:none}

/* Softer, editorial map treatment */
.location{background:#d7cbb9}
.location-grid{padding:18px 0}
.map-placeholder{
  min-height:434px!important;
  border:1px solid rgba(38,56,45,.16);
  border-radius:5px;
  overflow:hidden;
  background:#ddd5c8;
  box-shadow:0 10px 28px rgba(38,56,45,.09);
}
.map-placeholder iframe{
  filter:grayscale(.35) saturate(.55) contrast(.94) brightness(1.03);
}
.map-placeholder::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:rgba(238,229,214,.10);
  mix-blend-mode:screen;
}
.map-open{left:22px;bottom:22px;border:1px solid rgba(38,56,45,.10);border-radius:2px}
@media(max-width:760px){
  .location-grid{padding:16px 0}
  .map-placeholder{min-height:330px!important;border-radius:4px}
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header layout: navigation + compact language control stay together */
.nav{order:2;margin-left:auto}
.header-actions{order:3}
@media(max-width:760px){
  .nav{margin-left:0}
  .header-actions{margin-left:auto}
}

/* FINAL POLISH — SIAM VELORA v6 */
:root{
  --cream-deep:#ebe2d2;
  --map-ink:#435248;
}

/* Header: compact language control always sits beside the menu icon */
.header-actions{gap:8px;align-items:center}
.lang-select{min-width:58px;height:34px;padding:6px 24px 6px 10px}
.menu-toggle{width:36px;height:36px;padding:6px;display:grid;place-content:center}
.menu-toggle span{width:23px;height:1.5px;margin:3px 0}

/* Service cards: consistent editorial rhythm */
.service-card{border:1px solid rgba(77,61,48,.08);box-shadow:none}
.service-card:hover{border-color:rgba(180,154,99,.35)}
.service-head strong{font-size:25px}
.service-desc{line-height:1.65}
.service-card>a{display:inline-flex;align-items:center;gap:6px;transition:letter-spacing .2s,color .2s}
.service-card>a:hover{letter-spacing:.2em;color:var(--gold)}

/* Softer location composition: the map becomes a framed editorial panel */
.location{background:var(--cream-deep)}
.location-grid{padding:28px 0;align-items:stretch}
.map-placeholder{
  min-height:434px!important;
  border:1px solid rgba(77,61,48,.18);
  border-radius:2px;
  box-shadow:0 18px 45px rgba(38,56,45,.10);
  background:#ded7cc;
  isolation:isolate;
}
.map-placeholder iframe{
  filter:grayscale(.55) saturate(.42) sepia(.10) contrast(.90) brightness(1.06);
  transform:scale(1.015);
}
.map-placeholder::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(245,239,228,.18),rgba(245,239,228,.04) 45%,rgba(245,239,228,.15));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.map-placeholder::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:radial-gradient(circle at 52% 48%,rgba(180,154,99,.10),transparent 26%);
}
.map-caption{
  position:absolute;
  z-index:3;
  left:24px;
  top:22px;
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--green);
  background:rgba(251,249,244,.86);
  border:1px solid rgba(77,61,48,.12);
  padding:8px 11px;
  backdrop-filter:blur(6px);
}
.map-caption span{font-family:var(--serif);font-size:17px;line-height:1}
.map-caption small{font-size:8px;letter-spacing:.18em;font-weight:700}
.map-open{z-index:4;left:24px;bottom:24px;padding:13px 17px;border-radius:0;box-shadow:0 10px 28px rgba(38,56,45,.14)}
.location-copy{background:#eee5d6;padding:78px 62px}
.location-copy p:not(.kicker){max-width:360px}
.location-copy h2{max-width:430px}

/* Better English address wrapping */
[data-i18n="address_value"]{display:inline-block}

/* Mobile polish */
@media(max-width:760px){
  .header-actions{margin-left:auto}
  .lang-select{height:32px;min-width:54px}
  .location-grid{padding:16px 0}
  .map-placeholder{min-height:350px!important}
  .map-caption{left:16px;top:16px}
  .map-open{left:16px;bottom:16px}
  .location-copy{padding:54px 24px}
  .service-card{min-height:318px}
  .service-desc{min-height:auto;padding-bottom:8px}
}

/* Respect reduced-motion preferences */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}

/* FINAL POLISH v7 — contact/location + real photography */
.contact-location{background:#eee5d6;padding:112px 0 118px}
.contact-location-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:78px;align-items:center}
.contact-panel h2{font-family:var(--serif);font-size:66px;font-weight:500;line-height:.9;margin:10px 0 18px}
.contact-panel h2 em{color:var(--gold)}
.contact-list{margin-top:36px;border-top:1px solid var(--line)}
.contact-list a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0;border-bottom:1px solid var(--line);transition:.2s}
.contact-list a:hover{padding-left:5px}
.contact-list span,.contact-address>span{font-size:9px;letter-spacing:.2em;color:var(--muted)}
.contact-list strong{font-size:13px}
.contact-list strong b{font-weight:400;margin-left:12px;color:var(--green)}
.contact-address{padding-top:25px}
.contact-address p{font-size:13px;line-height:1.65;color:var(--muted);margin:7px 0 0}
.location-card{background:#fffaf1;border:1px solid rgba(38,56,45,.12);border-radius:5px;overflow:hidden;box-shadow:0 20px 50px rgba(38,56,45,.10)}
.map-frame{height:500px;position:relative;background:#d8d1c6;overflow:hidden}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.55) contrast(.96) sepia(.05)}
.map-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,250,241,.10),rgba(255,250,241,0) 35%,rgba(38,56,45,.04))}
.map-caption{position:absolute;left:28px;top:28px;z-index:4;display:flex;align-items:center;gap:9px;background:rgba(255,250,241,.94);padding:10px 13px;box-shadow:0 8px 25px rgba(38,56,45,.10)}
.map-caption span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#d8bd7b;font-family:var(--serif);font-size:13px}
.map-caption small{font-size:8px;letter-spacing:.16em;font-weight:700;color:var(--ink)}
.map-actions{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 28px}
.map-actions h3{font-family:var(--serif);font-size:31px;line-height:1;margin:0 0 5px;font-weight:500}
.map-actions p{margin:0;color:var(--muted);font-size:11px}
.map-action-buttons{display:flex;gap:10px;flex-shrink:0}
.map-action-buttons .btn{min-width:150px}
.footer-qr{display:flex;align-items:center;gap:12px;margin-top:16px}
.footer-qr #qrcode{width:58px;height:58px;background:#fffaf1;padding:4px;box-sizing:border-box}
.footer-qr #qrcode img,.footer-qr #qrcode canvas{max-width:50px!important;max-height:50px!important}
.footer-qr strong{display:block;font-size:8px;letter-spacing:.16em;color:#fff}
.footer-qr small{display:block;font-size:9px;color:#9ba89d;margin-top:3px;max-width:150px;line-height:1.4}

@media(max-width:900px){
  .contact-location-grid{grid-template-columns:1fr;gap:45px}
  .contact-panel h2{font-size:58px}
  .map-frame{height:430px}
}
@media(max-width:760px){
  .contact-location{padding:75px 0 80px}
  .contact-panel h2{font-size:50px}
  .map-frame{height:340px}
  .map-actions{display:block;padding:20px}
  .map-actions h3{font-size:28px}
  .map-action-buttons{margin-top:18px;display:grid;grid-template-columns:1fr 1fr}
  .map-action-buttons .btn{min-width:0;padding:13px 10px;font-size:9px}
  .map-caption{left:14px;top:14px}
}


/* FINAL v10 polish: desktop navigation + compact services + integrated address */
@media(min-width:901px){
  .menu-toggle{display:none!important}
  .header-actions{order:3;margin-left:0}
  .nav{order:2;margin-left:auto}
}

/* Make the service menu feel lighter and more like a refined treatment list */
.service-card{min-height:248px;padding:26px}
.service-icon{width:38px;height:38px}
.service-icon svg{width:24px;height:24px}
.service-head h3{font-size:26px;line-height:1.08}
.service-head strong{font-size:23px}
.service-en{font-size:9px!important;margin-top:6px!important;margin-bottom:7px!important}
.service-desc{font-size:11.5px!important;line-height:1.55;min-height:0!important;margin-bottom:0!important}
.service-card>a{bottom:20px;font-size:8.5px}

/* Address becomes part of the contact rhythm instead of a detached block */
.contact-address{padding-top:0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.contact-address>span{padding:19px 0}
.contact-list-address a{display:block;padding:17px 0;text-align:right;max-width:330px}
.contact-list-address a strong{font-size:12px;line-height:1.55;display:block}
.contact-list-address a strong b{font-weight:400;margin-left:10px;color:var(--green)}
@media(max-width:760px){
  .service-card{min-height:0;padding:24px}
  .service-card>a{position:static;margin-top:14px}
  .contact-address{display:block}
  .contact-address>span{display:block;padding:17px 0 4px}
  .contact-list-address a{padding:4px 0 18px;text-align:left;max-width:none}
}

/* FINAL polish: airy header controls + compact treatment menu */
@media(min-width:901px){
  .header-actions{margin-left:18px;gap:10px;}
  .nav{gap:28px;}
  .nav-book{padding:13px 22px;}
}

/* Four-column treatment menu keeps all services visible with less scrolling */
@media(min-width:901px){
  .service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
  .service-card{min-height:218px;padding:20px 18px 18px;}
  .service-icon{width:34px;height:34px;margin-bottom:16px;}
  .service-icon svg{width:21px;height:21px;}
  .service-head{gap:7px;}
  .service-head h3{font-size:22px;line-height:1.05;}
  .service-head strong{font-size:21px;}
  .service-en{font-size:8px!important;letter-spacing:.08em;margin-top:5px!important;margin-bottom:6px!important;}
  .service-desc{font-size:10.5px!important;line-height:1.45;}
  .service-card>a{bottom:16px;font-size:8px;}
}

/* On smaller screens, use two compact columns before switching to one on very narrow phones. */
@media(min-width:481px) and (max-width:760px){
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .service-card{min-height:0;padding:18px 15px 16px;}
  .service-icon{width:32px;height:32px;margin-bottom:12px;}
  .service-icon svg{width:19px;height:19px;}
  .service-head h3{font-size:19px;line-height:1.05;}
  .service-head strong{font-size:18px;}
  .service-en{font-size:7.5px!important;margin-top:4px!important;margin-bottom:5px!important;}
  .service-desc{font-size:9.5px!important;line-height:1.4;}
  .service-card>a{position:static;margin-top:10px;font-size:7.5px;}
}

/* Real logo on the dark footer: give it a quiet paper plaque so the brown/gold artwork stays legible. */
.footer-brand{align-items:flex-start;}
.footer-brand img{
  width:190px;
  padding:10px 12px;
  background:#f5efe4;
  border-radius:2px;
  box-shadow:0 8px 24px rgba(0,0,0,.10);
  filter:none;
}
@media(max-width:760px){
  .footer-brand img{width:180px;padding:9px 11px;}
}
