/* EDITABLE VISUAL TOKENS: lengths below use the original 926px design grid. */
:root {
  --bamboo-width: 123;
  --hero-card-left: 109;
  --hero-card-top: 73;
  --hero-card-width: 369;
  --hero-card-background: #fff;
  --layer-decoration: 10;
  --layer-card: 6;
  --wave-offset: -24;
  --wave-height: 35;
  --icon-stroke: 1.8;
  --feature-icon-size: 34;
  --amenity-disc-size: 63;
  --amenity-icon-size: 31;
  --icon-color: #064869;
  --whatsapp-color: #00b783;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#fff;color:#064869;font-family:Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ef7200;outline-offset:3px}.page{--u: min(.10799136vw,1.5550756px);max-width:1440px;margin:auto;position:relative;overflow:hidden;font-size:calc(13 * var(--u));background:#fff}.photo{display:block;width:100%;height:100%;overflow:hidden}.content{margin-left:calc(var(--bamboo-width) * var(--u));margin-right:calc(48 * var(--u));position:relative;z-index:2}header{height:calc(41 * var(--u));display:flex;align-items:center;padding:0 calc(67 * var(--u)) 0 calc(184 * var(--u));gap:calc(44 * var(--u));position:relative;z-index:6;background:#fff}.brand{display:block;width:calc(174 * var(--u));height:calc(28 * var(--u));flex-shrink:0}header nav{display:flex;align-items:center;justify-content:space-between;gap:calc(19 * var(--u));font-size:calc(8 * var(--u));white-space:nowrap;flex:1}header nav a:hover,footer nav a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:calc(8 * var(--u));height:calc(36 * var(--u));padding:0 calc(21 * var(--u));border:1px solid #ff8c37;border-radius:calc(6 * var(--u));background:linear-gradient(115deg,#ff6310,#ff7014);color:#fff;font-size:calc(12 * var(--u));font-weight:600;white-space:nowrap;transition:filter .15s}.button:hover{filter:brightness(1.07)}.whatsapp{background:linear-gradient(120deg,#00bf89,#00b383);border-color:#00c991}.button svg{width:calc(25 * var(--u));height:calc(25 * var(--u))}.top-wa{height:calc(22 * var(--u));font-size:calc(8 * var(--u));padding:0 calc(8 * var(--u));gap:calc(4 * var(--u));border-radius:calc(4 * var(--u));margin-left:calc(27 * var(--u))}.top-wa svg{width:calc(14 * var(--u));height:calc(14 * var(--u))}.menu{display:none}.hero{height:calc(280 * var(--u));position:relative}.hero-image{position:absolute;inset:0}.hero-card{position:absolute;left:calc(var(--hero-card-left) * var(--u));top:calc(var(--hero-card-top) * var(--u));width:calc(var(--hero-card-width) * var(--u));height:calc(140 * var(--u));padding:calc(11 * var(--u)) calc(20 * var(--u));border-radius:calc(6 * var(--u));background:var(--hero-card-background);z-index:var(--layer-card)}h1,h2,h3,p{margin:0}h1{font-size:calc(35 * var(--u));line-height:1.22;font-weight:700;letter-spacing:calc(-.8 * var(--u));white-space:nowrap}.hero p{font-size:calc(19 * var(--u));line-height:1.4;white-space:nowrap;margin-bottom:calc(13 * var(--u))}.hero .button{height:calc(34 * var(--u))}.band{position:relative}.wave{position:absolute;top:calc(var(--wave-offset) * var(--u));left:0;width:100%;height:calc(var(--wave-height) * var(--u));fill:var(--band);z-index:1;pointer-events:none}.aqua{--band:#d3f9fb;background:radial-gradient(ellipse at 65% 70%,#e7fcfc 0,#d3f9fb 70%,#b6f5f9 100%)}.yellow{--band:#fff9d5;background:radial-gradient(ellipse at 50% 70%,#fffde7,#fff9d5)}.white{--band:#fff;background:#fff}h2{font-size:calc(22 * var(--u));line-height:1.2;font-weight:700;letter-spacing:calc(-.3 * var(--u))}.rooms{padding-top:0;padding-bottom:calc(7 * var(--u))}.rooms h2{line-height:1.08;font-size:calc(25 * var(--u));margin-bottom:calc(5 * var(--u))}.main-photo{height:calc(218 * var(--u));border-radius:calc(4 * var(--u));overflow:hidden;position:relative;border:1px solid #f2ddba}.arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#fff;color:#125071;border-radius:50%;width:calc(31 * var(--u));height:calc(31 * var(--u));font-size:calc(33 * var(--u));line-height:.7;display:grid;place-content:center;box-shadow:0 1px 3px #00436520}.prev{left:calc(8 * var(--u))}.next{right:calc(8 * var(--u))}.thumbnails{display:grid;grid-template-columns:repeat(5,1fr);gap:calc(5 * var(--u));margin-top:calc(4 * var(--u))}.thumbnails button{height:calc(85 * var(--u));padding:0;border:1px solid #e3e0c9;overflow:hidden;border-radius:calc(3 * var(--u));background:#d6f5f6}.thumbnails button[aria-pressed=true]{outline:2px solid #ff7114;outline-offset:-2px}.rooms h3{font-size:calc(20 * var(--u));line-height:1.2;margin-top:calc(9 * var(--u));margin-bottom:calc(3 * var(--u))}.description{font-size:calc(12 * var(--u));line-height:1.4}.features{display:grid;grid-template-columns:repeat(6,1fr) calc(161 * var(--u));align-items:center;gap:calc(16 * var(--u));margin-top:calc(13 * var(--u))}.feature{display:flex;flex-direction:column;align-items:center;text-align:center;font-size:calc(10 * var(--u));font-weight:600;line-height:1.08;min-height:calc(56 * var(--u));gap:calc(5 * var(--u))}.feature .photo{width:calc(35 * var(--u));height:calc(33 * var(--u));mix-blend-mode:multiply}.check{padding:0 calc(10 * var(--u))}.amenities{padding-top:calc(13 * var(--u));padding-bottom:calc(23 * var(--u))}.amenities h2{font-size:calc(21 * var(--u));margin-bottom:calc(3 * var(--u))}.amenity-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:calc(8 * var(--u))}.amenity{display:flex;align-items:center;flex-direction:column;gap:calc(4 * var(--u));font-size:calc(11 * var(--u));font-weight:600;white-space:nowrap}.amenity .photo{height:calc(63 * var(--u));width:calc(64 * var(--u));border-radius:50%}.nearby{padding-top:calc(3 * var(--u));padding-bottom:calc(14 * var(--u))}.nearby h2{margin-bottom:calc(7 * var(--u))}.places{display:grid;grid-template-columns:repeat(6,1fr);gap:calc(9 * var(--u))}.place{border:1px solid #d9e7e9;border-radius:calc(8 * var(--u));overflow:hidden;text-align:center;box-shadow:0 1px 2px #06486912;transition:transform .15s}.place:hover{transform:translateY(-3px)}.place .photo{height:calc(82 * var(--u))}.place span{display:block;font-size:calc(10 * var(--u));font-weight:600;line-height:1.15;min-height:calc(37 * var(--u));padding:calc(6 * var(--u)) calc(2 * var(--u))}.reviews{padding-top:calc(1 * var(--u));padding-bottom:calc(15 * var(--u))}.reviews h2{margin-bottom:calc(6 * var(--u))}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(11 * var(--u))}.review{background:#f6fcfd;border:1px solid #d8e9ec;border-radius:calc(5 * var(--u));height:calc(66 * var(--u));display:flex;align-items:center;gap:calc(11 * var(--u));padding:calc(10 * var(--u)) calc(12 * var(--u));font-size:calc(10 * var(--u))}.review>.photo{height:calc(42 * var(--u));width:calc(43 * var(--u));flex-shrink:0}.review p{margin-bottom:calc(10 * var(--u))}.review span{font-size:calc(9 * var(--u))}.faq{padding-top:calc(0 * var(--u));padding-bottom:calc(19 * var(--u))}.faq h2{font-size:calc(21 * var(--u));margin-bottom:calc(3 * var(--u))}details{border:1px solid #e1e8e8;border-radius:calc(5 * var(--u));background:#fdfefe;margin-bottom:calc(3 * var(--u));font-size:calc(11 * var(--u))}summary{cursor:pointer;list-style:none;min-height:calc(25 * var(--u));padding:calc(4 * var(--u)) calc(11 * var(--u));display:flex;align-items:center;justify-content:space-between}summary::-webkit-details-marker{display:none}summary span{font-size:calc(16 * var(--u));line-height:.7}details[open] summary span{transform:rotate(180deg)}details p{padding:calc(8 * var(--u)) calc(12 * var(--u)) calc(12 * var(--u));line-height:1.5;border-top:1px solid #e6efef}.contact{padding-top:calc(1 * var(--u));padding-bottom:calc(27 * var(--u))}.contact-grid{display:grid;grid-template-columns:1fr calc(360 * var(--u));gap:calc(25 * var(--u))}.contact h2{font-size:calc(21 * var(--u));margin-bottom:calc(7 * var(--u))}.inputs{display:grid;grid-template-columns:1fr 1fr;gap:calc(9 * var(--u))}input,textarea{display:block;width:100%;min-width:0;border:1px solid #c1e6ec;border-radius:calc(4 * var(--u));background:#fbffff;color:#064869;font-size:calc(10 * var(--u));padding:calc(7 * var(--u)) calc(10 * var(--u))}input{height:calc(27 * var(--u))}input::placeholder,textarea::placeholder{color:#5c86a3;opacity:1}textarea{height:calc(65 * var(--u));resize:vertical;margin-top:calc(5 * var(--u));min-height:calc(65 * var(--u))}.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:calc(10 * var(--u));margin-top:calc(7 * var(--u))}.form-actions .button{height:calc(37 * var(--u));padding:0 calc(6 * var(--u))}.map{display:block;height:calc(174 * var(--u));border-radius:calc(5 * var(--u));overflow:hidden;margin-top:calc(4 * var(--u))}footer{--band:#068da0;position:relative;background:linear-gradient(110deg,#00869b,#006d84);color:#fff;min-height:calc(89 * var(--u))}footer>.wave{fill:#048497;filter:drop-shadow(0 -7px 0 #51c1cb)}.footer-inner{position:relative;z-index:2;margin-left:calc(111 * var(--u));margin-right:calc(26 * var(--u));padding-top:calc(22 * var(--u));display:flex;align-items:center;gap:calc(26 * var(--u))}.footer-brand{width:calc(144 * var(--u));height:calc(43 * var(--u))}footer nav{display:flex;justify-content:space-between;gap:calc(15 * var(--u));flex:1;font-size:calc(8 * var(--u));white-space:nowrap}footer small{font-size:calc(6 * var(--u));white-space:nowrap}.language select{background:transparent;color:#fff;border:1px solid #ffffff70;border-radius:3px;font-size:calc(10 * var(--u));padding:2px}.language option{color:#064869}.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}[dir=rtl] .hero-card{direction:rtl}[dir=rtl] header,[dir=rtl] .footer-inner{direction:ltr}[dir=rtl] h1{font-size:calc(33 * var(--u))}[dir=rtl] .features{direction:rtl}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:700px){.page{--u:1px;font-size:16px}.content{margin-left:38px;margin-right:16px}header{height:64px;padding:8px 16px 8px 38px;gap:12px}.brand{width:155px;height:28px}.top-wa{margin-left:auto;height:30px;font-size:10px;padding:0 7px}.top-wa svg{width:17px;height:17px}.menu{display:block;border:0;background:transparent;color:#064869;padding:5px;font-size:23px}header nav{display:none;position:absolute;top:64px;left:24px;right:0;background:#fff;padding:20px;font-size:16px;box-shadow:0 8px 15px #06486920}header nav.open{display:flex;flex-direction:column;gap:20px}.hero{height:310px}.hero-image{width:1025px;max-width:none;height:310px;left:calc(50% - 625px)}.hero-card{left:38px;right:16px;top:70px;width:auto;height:auto;padding:20px 15px;background:var(--hero-card-background)}h1{font-size:clamp(25px,6vw,35px);white-space:normal;letter-spacing:-.5px}.hero p{font-size:16px;white-space:normal;margin:6px 0 15px}.hero .button{height:42px;font-size:14px}.wave{top:-18px;height:25px}.rooms{padding-top:0;padding-bottom:32px}.rooms h2{font-size:25px;margin-bottom:10px}.main-photo{height:210px}.arrow{width:36px;height:36px;font-size:35px}.thumbnails{gap:4px}.thumbnails button{height:55px}.rooms h3{font-size:21px;margin-top:17px;margin-bottom:8px}.description{font-size:16px;line-height:1.5}.desktop-break{display:none}.features{grid-template-columns:repeat(3,1fr);gap:18px 7px;margin-top:22px}.feature{font-size:13px;min-height:62px;gap:8px}.feature .photo{width:38px;height:36px}.check{grid-column:1/-1;height:43px;font-size:15px}.amenities{padding-top:8px;padding-bottom:32px}.amenities h2,.nearby h2,.reviews h2,.faq h2,.contact h2{font-size:24px;margin-bottom:15px}.amenity-grid{grid-template-columns:repeat(3,1fr);gap:18px 5px}.amenity{font-size:12px;white-space:normal;text-align:center;gap:7px}.amenity .photo{width:64px;height:63px}.nearby{padding-top:8px;padding-bottom:35px}.places{grid-template-columns:repeat(2,1fr);gap:12px}.place .photo{height:105px}.place span{font-size:14px;line-height:1.25;min-height:48px;padding:8px 3px}.reviews{padding-top:6px;padding-bottom:34px}.review-grid{grid-template-columns:1fr;gap:10px}.review{height:80px;font-size:14px;padding:12px}.review span{font-size:13px}.review p{margin-bottom:9px}.faq{padding-top:6px;padding-bottom:32px}details{font-size:15px;margin-bottom:7px}summary{min-height:44px;padding:10px}summary span{font-size:20px}details p{padding:12px;font-size:15px}.contact{padding:8px 0 32px}.contact-grid{grid-template-columns:1fr;gap:20px}.inputs{grid-template-columns:1fr;gap:8px}input,textarea{font-size:16px;padding:10px}input{height:44px}textarea{height:100px;min-height:100px;margin-top:8px}.form-actions{gap:8px;margin-top:10px}.form-actions .button{height:44px;font-size:13px}.map{height:175px;width:100%;margin-top:0}footer{min-height:190px}.footer-inner{margin:0 16px 0 38px;padding:20px 0;flex-wrap:wrap;gap:18px}.footer-brand{width:144px;height:43px}footer nav{order:3;flex-basis:100%;flex-wrap:wrap;justify-content:flex-start;gap:14px;font-size:12px}footer small{order:4;font-size:10px;white-space:normal}.language{margin-left:auto}.language select{font-size:14px;padding:5px}[dir=rtl] h1{font-size:30px}}

/* Vector controls and amenity icons: never depend on font glyphs or raster crops. */
.icon{display:block;flex-shrink:0;width:1.5em;height:1.5em;stroke-width:var(--icon-stroke)}
.whatsapp{background:var(--whatsapp-color)}
.whatsapp-icon{stroke:none}
.feature>.icon{width:calc(var(--feature-icon-size) * var(--u));height:calc(var(--feature-icon-size) * var(--u));color:var(--icon-color)}
.amenity-icon{display:grid;place-items:center;width:calc(var(--amenity-disc-size) * var(--u));height:calc(var(--amenity-disc-size) * var(--u));border-radius:50%;background:#b2f4fa;color:var(--icon-color)}
.amenity-icon>.icon{width:calc(var(--amenity-icon-size) * var(--u));height:calc(var(--amenity-icon-size) * var(--u))}
.tone-1{background:#ffdaa4;color:#8c350d}.tone-2{background:#beedc7;color:#008c55}.tone-5{background:#ffceb0;color:#763719}
.arrow>.icon{width:60%;height:60%;margin:auto;stroke-width:2.4}.arrow{place-items:center;place-content:normal}
.menu>.icon{width:24px;height:24px;stroke-width:2.2}.menu{min-width:44px;min-height:44px}
.faq-chevron{width:1.1em;height:1.1em;transition:transform .18s}details[open] .faq-chevron{transform:rotate(180deg)}
.review-avatar{width:calc(42 * var(--u));height:calc(42 * var(--u));color:#7997a5;background:#e3edf1;border-radius:50%;padding:5px}
.hero .button>.icon{width:1.2em;height:1.2em}
@media(max-width:700px){
  .feature>.icon{width:36px;height:36px}
  .amenity-icon{width:63px;height:63px}
  .amenity-icon>.icon{width:31px;height:31px}
  .review-avatar{width:42px;height:42px}
  .arrow{width:44px;height:44px}
  header{gap:4px}.brand{flex-shrink:1;min-width:100px}
}

/* Bamboo is the foreground layer, above header and hero backgrounds.
   Its overlay never intercepts links or buttons. The crown retains its ratio
   independently of the full-height stalk strip. */

@media(max-width:700px){}

/* A single transparent foreground, independent of section height.
   It is anchored at the top and scaled through the full page to avoid lower seams.
   The artwork canvas includes transparent space to the right of the plant. */
.page{--bamboo-canvas-width:520;--bamboo-tile-height:1699}
.bamboo{position:absolute;inset:0 auto 0 0;width:calc(123 * var(--u));z-index:var(--layer-decoration);pointer-events:none;background-image:url('./assets/bamboo-transparent.png');background-position:left top;background-repeat:no-repeat;background-size:calc(var(--bamboo-canvas-width) * var(--u)) max(100%,calc(var(--bamboo-tile-height) * var(--u)))}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-card{height:auto;min-height:calc(140 * var(--u));background:rgba(255,255,255,.96)}
@media(max-width:700px){
 .page{--bamboo-canvas-width:150;--bamboo-tile-height:680}
 .bamboo{width:36px}
 .hero-image{inset:0;width:100%;height:100%;object-position:65% center;max-width:100%}
 .hero-card{left:44px;right:16px;top:70px;width:auto;min-height:0}
}

.place-photo{object-fit:cover;object-position:center}

/* Real client photos are portrait-first, so the cabin block is composed around
   a tall image instead of forcing vertical shots into a horizontal crop. */
.room-layout{display:grid;grid-template-columns:minmax(0,1fr) calc(372 * var(--u));gap:calc(24 * var(--u));align-items:start}
.room-copy{padding-top:calc(10 * var(--u))}
.rooms .room-copy h3{margin-top:0;margin-bottom:calc(6 * var(--u))}
.portrait-gallery{display:grid;grid-template-columns:calc(82 * var(--u)) minmax(0,1fr);gap:calc(8 * var(--u));align-items:stretch}
.portrait-gallery .main-photo{height:calc(354 * var(--u));border-radius:calc(7 * var(--u));border-color:#f2ddba;background:#fff;box-shadow:0 8px 18px #06486918}
.room-photo{object-fit:cover;object-position:center}
.portrait-gallery .thumbnails{display:grid;grid-template-columns:1fr;grid-auto-rows:calc(35 * var(--u));gap:calc(5 * var(--u));margin-top:0}
.portrait-gallery .thumbnails button{height:auto;border-radius:calc(5 * var(--u));background:#fff}
.portrait-gallery .thumb-photo{object-fit:cover;object-position:center}
.room-copy .features{grid-template-columns:repeat(3,1fr);gap:calc(13 * var(--u)) calc(9 * var(--u));margin-top:calc(16 * var(--u))}
.room-copy .check{grid-column:1/-1;width:max-content;min-width:calc(166 * var(--u));justify-self:start}

@media(max-width:700px){
  .room-layout{display:flex;flex-direction:column;gap:18px}
  .room-copy{padding-top:0;order:2}
  .portrait-gallery{order:1;display:flex;flex-direction:column}
  .portrait-gallery .main-photo{order:1;width:100%;height:auto;aspect-ratio:3/4;border-radius:8px}
  .portrait-gallery .thumbnails{order:2;display:grid;grid-template-columns:repeat(5,minmax(68px,1fr));grid-auto-rows:68px;gap:6px;margin-top:8px;overflow-x:auto;padding-bottom:2px}
  .portrait-gallery .thumbnails button{min-width:68px;border-radius:5px}
  .room-copy .features{grid-template-columns:repeat(3,1fr);gap:18px 7px;margin-top:22px}
  .room-copy .check{width:100%;min-width:0;justify-self:stretch}
}

/* Client brand and mirrored cabin composition. */
.brand{width:calc(132 * var(--u));height:calc(35 * var(--u))}
.brand-logo{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.footer-brand{width:calc(126 * var(--u));height:calc(34 * var(--u))}
.room-layout{grid-template-columns:calc(392 * var(--u)) minmax(0,1fr);gap:calc(26 * var(--u));align-items:center}
.room-copy{padding-top:0}
.room-copy h2{margin-bottom:calc(8 * var(--u))}
.room-copy .description{max-width:calc(345 * var(--u))}
.rooms .room-copy h2{margin-top:calc(7 * var(--u))}

@media(max-width:700px){
  .brand{width:128px;height:34px}
  .footer-brand{width:136px;height:36px}
  .room-layout{display:flex;flex-direction:column;gap:18px}
  .room-copy{order:2}
  .rooms .room-copy h2{margin-top:0}
  .portrait-gallery{order:1}
}

/* Client logos: dedicated header asset, original full file in footer. */
header{height:calc(56 * var(--u));padding-left:calc(170 * var(--u));gap:calc(24 * var(--u));overflow:visible}
.brand{position:relative;display:block;width:calc(138 * var(--u));height:calc(54 * var(--u));align-self:center;margin-top:0;flex-shrink:0;background:transparent;border-radius:0;overflow:hidden;z-index:7}
.brand::after{display:none}
.brand-logo{position:relative;display:block;width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:normal;z-index:1}
.footer-brand{width:calc(76 * var(--u));height:calc(76 * var(--u));margin-top:0;background:#fff;border-radius:calc(5 * var(--u));overflow:hidden}
.footer-brand::after{display:none}
.reviews{padding-top:calc(10 * var(--u));padding-bottom:calc(24 * var(--u))}
.reviews-content{margin-right:calc(48 * var(--u))}
.review-gallery{display:flex;align-items:flex-start;gap:calc(13 * var(--u));overflow-x:auto;scroll-snap-type:x proximity;width:calc(100% + 48 * var(--u));margin-right:calc(-48 * var(--u));padding:calc(2 * var(--u)) calc(48 * var(--u)) calc(12 * var(--u)) 0}
.review-gallery::-webkit-scrollbar{height:calc(6 * var(--u))}.review-gallery::-webkit-scrollbar-thumb{background:#65c8d0;border-radius:999px}.review-gallery::-webkit-scrollbar-track{background:#e3fbfc}
.review-shot{display:block;scroll-snap-align:start;align-self:flex-start;flex:0 0 calc(190 * var(--u));width:calc(190 * var(--u));height:calc(320 * var(--u));max-width:none;object-fit:contain;object-position:top center;border-radius:calc(8 * var(--u));background:#fff;box-shadow:0 calc(5 * var(--u)) calc(16 * var(--u)) #06486924;border:1px solid #d8eef0;transform:none!important;rotate:0deg!important;margin:0}
.review-top{display:grid;grid-template-columns:calc(28 * var(--u)) 1fr;gap:calc(5 * var(--u));align-items:center}.review-top span{grid-row:1/3;width:calc(28 * var(--u));height:calc(28 * var(--u));border-radius:50%;background:linear-gradient(135deg,#6bd1d6,#ffc85a)}.review-top b{font-size:calc(9 * var(--u))}.review-top small{font-size:calc(7 * var(--u));color:#5d879a}
.review-lines{display:flex;flex-direction:column;gap:calc(7 * var(--u));margin-top:calc(4 * var(--u))}.review-lines i{display:block;width:var(--w);height:calc(5 * var(--u));border-radius:999px;background:linear-gradient(90deg,#d9eef1,#f3fbfc)}
.review-stars{margin-top:auto;color:#ffb43b;font-size:calc(13 * var(--u));letter-spacing:calc(1 * var(--u))}
@media(max-width:700px){
  header{height:72px;padding:7px 12px 7px 38px;gap:8px;overflow:visible}
  header nav{top:72px}
  .brand{width:128px;height:56px;min-width:128px;align-self:center;margin-top:0}
  .brand::after{display:none}
  .footer-brand{width:78px;height:78px}
  .reviews-content{margin-right:16px}
  .review-gallery{width:calc(100% + 16px);margin-right:-16px;gap:12px;padding:2px 16px 12px 0}
  .review-shot{flex-basis:216px;width:216px;height:360px;max-width:none;border-radius:12px;transform:none!important;rotate:0deg!important}
  .review-top{grid-template-columns:34px 1fr;gap:7px}.review-top span{width:34px;height:34px}.review-top b{font-size:13px}.review-top small{font-size:11px}
  .review-lines{gap:9px}.review-lines i{height:7px}.review-stars{font-size:16px}
}

/* Booking details stay calm: hero remains a clean intro, contacts are grouped below. */
.hero-card{width:calc(var(--hero-card-width) * var(--u));padding-bottom:calc(11 * var(--u))}
.hero-contacts{display:flex;flex-wrap:wrap;gap:calc(8 * var(--u));margin:calc(9 * var(--u)) 0 calc(10 * var(--u))}
.contact-pill{display:inline-flex;align-items:center;gap:calc(8 * var(--u));min-height:calc(30 * var(--u));padding:calc(5 * var(--u)) calc(11 * var(--u));border:1px solid #b9e8ee;border-radius:calc(6 * var(--u));background:#f7ffff;color:#064869;font-size:calc(10 * var(--u));font-weight:700;box-shadow:0 calc(2 * var(--u)) calc(8 * var(--u)) #06486912}
.contact-pill span{color:#1b7789}.contact-pill b{font-size:calc(14 * var(--u));letter-spacing:.02em}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:calc(8 * var(--u))}
.secondary{background:#fff;color:#064869;border-color:#b9e8ee}
.top-social{display:grid;place-items:center;width:calc(22 * var(--u));height:calc(22 * var(--u));border-radius:50%;font-size:calc(11 * var(--u));font-weight:800;color:#fff;box-shadow:0 calc(2 * var(--u)) calc(8 * var(--u)) #06486918}
.top-google{background:#4285f4}.top-facebook{background:#1877f2;font-family:Arial,Helvetica,sans-serif;font-size:calc(14 * var(--u))}
.equipment{margin-top:calc(7 * var(--u));font-weight:700;color:#0b5f75}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:calc(16 * var(--u));margin-bottom:calc(8 * var(--u))}
.section-head h2{margin-bottom:0}
.google-review-link,.mini-link{display:inline-flex;align-items:center;gap:calc(7 * var(--u));min-height:calc(26 * var(--u));padding:calc(4 * var(--u)) calc(10 * var(--u));border-radius:999px;border:1px solid #b9e8ee;background:#fff;color:#064869;font-size:calc(10 * var(--u));font-weight:700;white-space:nowrap}
.google-review-link span,.mini-link span{display:grid;place-items:center;width:calc(18 * var(--u));height:calc(18 * var(--u));border-radius:50%;background:#4285f4;color:#fff;font-size:calc(10 * var(--u));font-weight:800}
.fb-mini span{background:#1877f2;font-size:calc(12 * var(--u))}
.contact-details{display:grid;gap:calc(10 * var(--u));margin-bottom:calc(14 * var(--u));max-width:calc(520 * var(--u))}
.contact-details strong{font-size:calc(16 * var(--u));line-height:1.15}
.contact-phone-list,.contact-links{display:flex;flex-wrap:wrap;gap:calc(8 * var(--u))}
.address-link{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:calc(8 * var(--u));padding:calc(10 * var(--u)) calc(12 * var(--u));border:1px solid #b9e8ee;border-radius:calc(6 * var(--u));background:#f7ffff;font-size:calc(11 * var(--u));box-shadow:0 calc(2 * var(--u)) calc(8 * var(--u)) #0648690f}
.address-link span{font-weight:700;color:#1b7789}.address-link b{font-size:calc(13 * var(--u));font-weight:700}
[dir=rtl] .hero-contacts,[dir=rtl] .hero-actions,[dir=rtl] .section-head,[dir=rtl] .contact-phone-list,[dir=rtl] .contact-links{direction:rtl}

@media(max-width:700px){
  .top-social{width:30px;height:30px;font-size:14px;flex:0 0 30px}
  .top-facebook{font-size:18px}
  .hero{height:310px}
  .hero-card{width:auto;padding:18px 15px}
  .hero-contacts{gap:8px;margin:10px 0}
  .contact-pill{min-height:36px;padding:7px 10px;font-size:13px}
  .contact-pill b{font-size:15px}
  .hero-actions{gap:8px}
  .hero-actions .button{width:100%;justify-content:center}
  .section-head{align-items:flex-start;flex-direction:column;gap:8px}
  .google-review-link,.mini-link{min-height:36px;padding:7px 11px;font-size:13px}
  .google-review-link span,.mini-link span{width:22px;height:22px;font-size:12px}
  .fb-mini span{font-size:15px}
  .equipment{margin-top:10px}
  .contact-details{gap:10px;margin-bottom:16px;max-width:none}
  .contact-details strong{font-size:18px}
  .address-link{grid-template-columns:1fr;gap:4px;padding:12px;font-size:14px}
  .address-link b{font-size:16px}
}

/* Final header and contact composition. */
header{gap:calc(18 * var(--u))}
.header-actions{display:flex;align-items:center;gap:calc(7 * var(--u));margin-left:calc(6 * var(--u));flex-shrink:0}
.header-link{display:inline-flex;align-items:center;justify-content:center;height:calc(22 * var(--u));padding:0 calc(8 * var(--u));border:1px solid #b9e8ee;border-radius:calc(4 * var(--u));background:#fff;color:#064869;font-size:calc(8 * var(--u));font-weight:700;white-space:nowrap}
.header-google{color:#1769e0}.header-location{color:#0b6f80}
.header-language{margin-left:0}
.header-language select{height:calc(22 * var(--u));padding:0 calc(5 * var(--u));border:1px solid #b9e8ee;border-radius:calc(4 * var(--u));background:#fff;color:#064869;font-size:calc(8 * var(--u));font-weight:700}
.footer-inner .language select{background:transparent;color:#fff;border-color:#ffffff70}
.top-wa{margin-left:0}
.hero-card{width:calc(390 * var(--u));min-height:calc(142 * var(--u));padding:calc(14 * var(--u)) calc(20 * var(--u))}
.hero-card h1{font-size:calc(31 * var(--u));line-height:1.08;letter-spacing:0;white-space:normal}
.hero-card p{font-size:calc(17 * var(--u));line-height:1.35;margin-top:calc(8 * var(--u));margin-bottom:calc(13 * var(--u));white-space:normal}
.contact-grid{grid-template-columns:minmax(0,1fr) calc(372 * var(--u));align-items:start}
.map-column{display:grid;gap:calc(8 * var(--u))}
.map{margin-top:0}
.map-details{display:grid;gap:calc(8 * var(--u));font-size:calc(11 * var(--u));line-height:1.35}
.map-address{display:grid;gap:calc(2 * var(--u))}
.map-address span,.contact-list>span{font-size:calc(9 * var(--u));font-weight:700;color:#1b7789}
.map-address a{font-size:calc(12 * var(--u));font-weight:700;color:#064869}
.contact-list{display:grid;gap:calc(5 * var(--u));margin-top:calc(1 * var(--u))}
.contact-line{display:flex;align-items:baseline;justify-content:space-between;gap:calc(12 * var(--u));padding-bottom:calc(4 * var(--u));border-bottom:1px solid #91d8df66;color:#064869}
.contact-line b{font-size:calc(12 * var(--u));font-weight:700;color:#0b5f75}
.contact-line span{font-size:calc(12 * var(--u));font-weight:600;letter-spacing:.02em}

@media(max-width:700px){
  header{gap:6px}
  .brand{width:108px;height:52px;min-width:108px}
  .header-actions{margin-left:auto;gap:6px}
  .header-location{display:none}
  .header-link{height:30px;padding:0 8px;font-size:12px}
  .header-language select{height:30px;font-size:12px;padding:0 5px}
  .top-wa{width:34px;min-width:34px;height:30px;padding:0;font-size:0;gap:0}
  .top-wa svg{width:18px;height:18px}
  .top-facebook{display:none}
  .hero-card{left:44px;right:16px;top:70px;width:auto;min-height:0;padding:18px 16px}
  .hero-card h1{font-size:29px;line-height:1.08}
  .hero-card p{font-size:16px;line-height:1.35}
  .contact-grid{grid-template-columns:1fr;gap:18px}
  .map-column{gap:10px}
  .map-details{font-size:15px;gap:9px}
  .map-address span,.contact-list>span{font-size:13px}
  .map-address a,.contact-line b,.contact-line span{font-size:16px}
  .contact-line{padding-bottom:7px}
}

/* Accessibility baseline: keyboard access, contrast and optional user controls. */
.skip-link{position:absolute;left:calc(125 * var(--u));top:calc(8 * var(--u));z-index:50;transform:translateY(-160%);padding:calc(7 * var(--u)) calc(12 * var(--u));border:2px solid #064869;border-radius:calc(5 * var(--u));background:#fff;color:#064869;font-size:calc(11 * var(--u));font-weight:700;box-shadow:0 calc(4 * var(--u)) calc(14 * var(--u)) #06486924}
.skip-link:focus{transform:translateY(0)}
.button:not(.whatsapp){background:linear-gradient(115deg,#c84a00,#d85a00);border-color:#ad3f00}
.whatsapp{background:linear-gradient(120deg,#00875f,#007c58);border-color:#007c58}
.accessibility-widget{position:fixed;right:18px;bottom:18px;z-index:80;font-family:Arial,Helvetica,sans-serif;color:#064869}
[dir=rtl] .accessibility-widget{right:auto;left:18px}
.a11y-floating-button{width:52px;height:52px;border:2px solid #064869;border-radius:50%;background:#fff;color:#064869;font-size:17px;font-weight:800;box-shadow:0 8px 22px #0648692b}
.a11y-panel{position:absolute;right:0;bottom:62px;width:min(320px,calc(100vw - 36px));padding:16px;border:1px solid #b9e8ee;border-radius:8px;background:#fff;box-shadow:0 14px 36px #06486930}
[dir=rtl] .a11y-panel{right:auto;left:0}
.a11y-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.a11y-panel h2{font-size:18px;line-height:1.2;margin:0}
.a11y-close{width:34px;height:34px;border:1px solid #b9e8ee;border-radius:50%;background:#f7ffff;color:#064869;font-size:22px;line-height:1}
.a11y-options{display:grid;gap:8px}
.a11y-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:42px;padding:8px 10px;border:1px solid #c1e6ec;border-radius:6px;background:#f8ffff;color:#064869;font-size:15px;font-weight:700;text-align:start}
.a11y-switch{position:relative;width:42px;height:23px;border-radius:999px;background:#c7dfe3;flex-shrink:0}
.a11y-switch::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #06486930;transition:transform .15s}
[dir=rtl] .a11y-switch::after{left:auto;right:3px}
.a11y-option[aria-pressed=true] .a11y-switch{background:#00875f}
.a11y-option[aria-pressed=true] .a11y-switch::after{transform:translateX(19px)}
[dir=rtl] .a11y-option[aria-pressed=true] .a11y-switch::after{transform:translateX(-19px)}
.a11y-note{margin:12px 0 10px;font-size:12px;line-height:1.4;color:#315f70}
.a11y-reset{min-height:38px;width:100%;border:1px solid #c1e6ec;border-radius:6px;background:#fff;color:#064869;font-size:14px;font-weight:700}
html.a11y-large-text .page :where(p,a,button,input,textarea,select,summary,details,small){font-size:calc(1em * 1.12)!important}
html.a11y-large-text .page h1{font-size:calc(35 * var(--u))!important}
html.a11y-large-text .page h2{font-size:calc(25 * var(--u))!important}
html.a11y-large-text .page h3{font-size:calc(22 * var(--u))!important}
html.a11y-underline-links .page a{text-decoration:underline;text-underline-offset:.16em}
html.a11y-reduce-motion,html.a11y-reduce-motion *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
html.a11y-high-contrast body,html.a11y-high-contrast .page{background:#fff!important;color:#111!important}
html.a11y-high-contrast header,html.a11y-high-contrast footer,html.a11y-high-contrast .aqua,html.a11y-high-contrast .yellow,html.a11y-high-contrast .white,html.a11y-high-contrast .hero-card,html.a11y-high-contrast details,html.a11y-high-contrast .place,html.a11y-high-contrast .a11y-panel{background:#fff!important;color:#111!important;border-color:#111!important}
html.a11y-high-contrast a,html.a11y-high-contrast button,html.a11y-high-contrast h1,html.a11y-high-contrast h2,html.a11y-high-contrast h3,html.a11y-high-contrast p,html.a11y-high-contrast span,html.a11y-high-contrast small{color:#111!important}
html.a11y-high-contrast .button,html.a11y-high-contrast .a11y-floating-button,html.a11y-high-contrast .a11y-option[aria-pressed=true]{background:#111!important;border-color:#111!important;color:#fff!important}
html.a11y-high-contrast .button *,html.a11y-high-contrast .a11y-floating-button *,html.a11y-high-contrast .a11y-option[aria-pressed=true] span:first-child{color:#fff!important}
html.a11y-high-contrast .wave{display:none}
html.a11y-high-contrast .top-social,html.a11y-high-contrast .google-review-link span,html.a11y-high-contrast .mini-link span{background:#111!important;color:#fff!important;border-color:#111!important}
html.a11y-high-contrast .photo{filter:contrast(1.12)}

@media(max-width:700px){
  .skip-link{left:44px;top:10px;font-size:14px;padding:8px 12px}
  .accessibility-widget{right:14px;bottom:14px}
  [dir=rtl] .accessibility-widget{right:auto;left:14px}
  .a11y-floating-button{width:50px;height:50px}
}

@media (max-width: 700px) {
  /* Возвращаем Facebook */
  .top-facebook {
    display: grid;
  }

  /* Поднимаем шапку вместе с выпадающим меню */
  header {
    z-index: 20;
  }

  header nav {
    z-index: 30;
  }
}

/* сохраняет все кнопки */

@media (max-width: 700px) {
  header {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    z-index: 20;
  }

  header > .brand {
    order: 0;
  }

  .header-actions {
    order: 0;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    flex: 0 0 auto;
    margin-left: auto;
    gap: 4px;
  }

  .header-location,
  .header-google {
    display: inline-flex;
  }

  .header-link {
    padding: 0 4px;
    font-size: 11px;
  }

  .header-language select {
    padding: 0 3px;
    font-size: 11px;
  }

  .top-facebook {
    display: grid;
    width: 28px;
    height: 30px;
    flex: 0 0 28px;
  }

  header > .menu {
    order: 0;
    display: block;
    flex-shrink: 0;
    margin-left: 0;
    padding: 3px;
  }

  header nav {
    top: 100%;
    z-index: 30;
  }
}

@media (max-width: 700px) {
  header {
    padding-left: 0px;
    padding-right: 8px;
  }
}