/* Veke Veke — lagoon / sand / island journal */
:root{--cream:#f6f3eb;--ink:#173f3c;--muted:#596c64;--coral:#edc29e;--line:#d7ddd3;--serif:'Cormorant Garamond',Georgia,serif}
body{font-size:15px}h1,h2{letter-spacing:-.035em}h2{font-size:clamp(44px,5vw,72px);line-height:.99}h2 em{color:#648071}.wrap{width:min(1220px,88%)}.section{padding-block:100px}.eyebrow{font-size:10px;letter-spacing:2.2px}.button{border-radius:0;padding:17px 24px;min-height:48px}.button.small{min-height:42px}.text-link{font-size:13px}.header{position:sticky;top:0;z-index:20;background:#f6f3ebf5;backdrop-filter:blur(16px);height:88px;border-bottom:1px solid #173f3c14;padding-inline:6%;gap:24px}.header nav{font-size:12px;gap:26px}.header nav a{padding-block:8px}.header .brand>span{font-size:35px}.header .brand small{font-size:7px;letter-spacing:1.8px}.header .brand img{width:41px;height:41px}.header-actions{display:flex;align-items:center;gap:22px}.language{font-size:11px}.menu-toggle{display:none}.hero{height:clamp(610px,83svh,850px);min-height:0;margin:0;border-radius:0}.hero-image{object-position:50% 54%}.hero-shade{background:linear-gradient(90deg,#082c35b8 0%,#082c355c 45%,#082c3508 80%),linear-gradient(0deg,#102e37aa,transparent 45%)}.hero-content{padding:clamp(80px,11vh,135px) 6% 110px;max-width:1060px}.hero h1{font-size:clamp(78px,8.6vw,128px);line-height:.9;letter-spacing:-.035em}.hero h1 em{font-weight:400;color:#f7e2bc}.hero .eyebrow{margin-bottom:36px;font-size:10px}.hero-text{margin-top:30px;margin-bottom:29px;font-size:15px;line-height:1.8}.hero-links{display:flex;align-items:center;gap:28px}.hero-secondary{font-size:12px;border-bottom:1px solid #f6f3eb90;padding:10px 0}.hero-bottom{bottom:31px;left:6%;right:6%;gap:18px}.hero-bottom>span{font-size:9px;letter-spacing:1px;opacity:1}.hero-bottom>span+span{letter-spacing:.1px;opacity:.8}.hero-seal{position:absolute;right:8%;top:43%;width:160px;height:160px;border:1px solid #fff8;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(9deg);gap:7px;color:#fff5df}.hero-seal img{filter:brightness(0) invert(1);width:54px;height:54px;margin-bottom:6px}.hero-seal span{font-size:12px;letter-spacing:3px}.hero-seal small{font-size:8px;letter-spacing:2px}.stay-ribbon{position:relative;z-index:2;margin-top:-1px;background:#e9e7d9;display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:25px;padding:25px 38px;border-bottom:1px solid #b7c4b1}.stay-ribbon .eyebrow{display:block;margin-bottom:6px;font-size:8px}.stay-ribbon>div>strong{font:27px/1.1 var(--serif)}.ribbon-price{display:flex;gap:16px;align-items:center}.ribbon-price>strong{font-size:38px!important;white-space:nowrap}.ribbon-price>span{font-size:10px;line-height:1.5}.ribbon-price small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.ribbon-link{font-size:11px;border-bottom:1px solid #809680;padding-bottom:6px}.facts{padding:30px 0;margin-top:8px}.facts>div{font-size:12px}.intro{grid-template-columns:1.12fr 1fr;gap:80px;padding-bottom:60px}.intro-copy{font-size:14px;line-height:1.9;padding-top:34px}.intro-copy .text-link{margin-top:22px}
.house-explorer{padding-bottom:94px}.space-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.space-tab{display:flex;align-items:center;gap:15px;text-align:left;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:21px 16px;font-size:13px;min-width:0}.space-tab .tab-arrow{margin-left:auto}.space-tab[aria-selected=true]{border-bottom-color:var(--ink);color:var(--ink);background:#e8ebdf}.space-panel{display:grid;grid-template-columns:.7fr 1.3fr;margin-top:24px;background:#e9ede3;min-height:310px}.space-panel[hidden]{display:none}.space-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;border-right:1px solid #cdd6c7;color:#36594a}.space-stat svg{width:42px;height:42px;margin-bottom:5px}.space-stat strong{font:110px/.95 var(--serif);letter-spacing:-6px}.space-stat>span{font-size:11px;letter-spacing:1px;margin-top:12px}.space-copy{align-self:center;padding:40px 55px}.space-copy .eyebrow{font-size:8px;margin-bottom:16px}.space-copy h3{font:44px/1 var(--serif);letter-spacing:-1px;margin-bottom:20px}.space-copy>p:not(.eyebrow){font-size:13px;color:#466052;line-height:1.9;max-width:510px}.space-copy .space-note{border-top:1px solid #ccd6c8;padding-top:16px;margin-top:18px;font-style:italic}.house-photo-note{font-size:11px;color:var(--muted);margin-top:16px}
.island-moment{display:grid;grid-template-columns:1fr 1fr;min-height:680px;background:#183f3c;color:var(--cream)}.moment-photo{position:relative;min-height:600px;overflow:hidden}.moment-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:76% 50%}.moment-photo .photo-label{color:var(--ink);font-size:8px;letter-spacing:1px}.moment-copy{padding:70px clamp(32px,5vw,85px)}.moment-copy>.eyebrow{color:#d5c69d;font-size:9px}.moment-copy h2{font-size:clamp(44px,4.4vw,64px)}.moment-copy h2 em{color:#d8cda7}.moment-copy>p:not(.eyebrow){font-size:13px;color:#c4d2c7;line-height:1.8;max-width:420px;margin-top:25px}.moment-line{display:flex;align-items:baseline;gap:23px;margin-top:24px}.moment-line>span{font:italic 23px var(--serif);color:#bccda7}.moment-line h3{font:24px/1.2 var(--serif)}.moment-line p{font-size:12px;color:#bfcdc3;margin-top:6px}.moment-copy .text-link{color:#f4e5c7;border-color:#7e9a8a;margin-top:34px}.rate-section{background:#eae4d5;position:relative;overflow:hidden}.rate-layout{gap:85px}.rate-layout>div>p:not(.eyebrow){line-height:1.9}.rate-card{border:1px solid #c8c8b4;border-radius:0;background:#f8f5ec;padding:38px 42px;box-shadow:0 12px 36px #173f3c0a}.big-rate{font-size:76px;letter-spacing:-3px}.big-rate small{display:inline;font:11px 'DM Sans',sans-serif;margin-left:10px;letter-spacing:0}.rate-card ul{font-size:12px}.rate-card .button{width:100%}
.guide-intro{background:var(--cream)}.section-heading{gap:70px}.section-heading>p{line-height:1.9}.trip-tips{border-top:1px solid var(--line);margin-top:45px;padding-top:35px;gap:55px}.trip-tips article{border:0}.tip-number{font:italic 30px var(--serif);color:#6e8064}.trip-tips h3{font:28px/1.15 var(--serif);margin-top:18px}.trip-tips p{font-size:13px;line-height:1.9}.map-section{padding-top:0}.map-layout{border-radius:0;border:1px solid #d4dacd;grid-template-columns:320px minmax(0,1fr)}.map-sidebar{background:#e9ede2;padding:35px}.map-sidebar h3{font-size:32px}.map-shell{background:#e1eae0}#map-consent h3{font-size:40px}.directory-top h2{font-size:51px}.directory-search{margin-top:30px;display:flex;gap:30px;align-items:center;justify-content:space-between;border-block:1px solid var(--line);padding:20px 0}.directory-search label{font:24px var(--serif);margin:0}.directory-search>div{display:flex;align-items:center;gap:10px;width:400px;max-width:100%;background:#fffcf5;border:1px solid #cad3c3;padding-left:16px}.directory-search>div>span{font-size:27px}.directory-search input{margin:0;border:0;background:transparent;font-size:14px;min-height:46px;padding:10px 14px}.filters{gap:9px;margin-top:25px}.filters button{border-radius:2px;padding:11px 18px;font-size:12px}.place-grid{gap:0;border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr))}.place-card{border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);border-radius:0;background:transparent;padding:29px;transition:background .2s}.place-card:nth-child(3n+1){border-left:1px solid var(--line)}.place-card:hover{background:#edeedf}.place-card h3{font-size:31px}.card-top{margin-bottom:20px}.category{font-size:9px}.place-description{font-size:12px;line-height:1.85}.card-actions a,.map-button{min-height:35px;display:inline-flex;align-items:center}.directory-more{text-align:center;padding-top:28px}.button.outline{border-color:#6d8776;background:transparent;color:var(--ink);font-size:12px}.button.outline:hover{background:#e7ebde}.directory-note{max-width:900px}.help-strip{padding-top:30px}.help-strip h3{font:32px var(--serif)}.questions{gap:100px}.faq-list summary{font-size:13px;min-height:65px}.faq-list details p{font-size:13px}.booking{padding:100px 0;background:#183f3c;position:relative}.booking-grid{gap:85px}.booking h2{font-size:clamp(50px,5.2vw,78px)}.booking-form{padding:38px;border-radius:0;border-top:1px solid #d0bb8c;box-shadow:none}.booking-form h3{font-size:35px}.booking-copy .contact-line{margin-top:24px}.booking-form label{font-size:11px}.stay-summary{border-radius:0;padding:15px}.form-note{font-size:11px}input,select,textarea{border-radius:0}.footer-top{padding-block:25px 48px}.footer-top .brand>span{font-size:42px}.footer-top>p{font-size:30px}.footer-bottom{font-size:10px;padding-block:22px 28px}.mobile-stay{display:none}.skip{z-index:50}[hidden]{display:none!important}
@media(min-width:1500px){.hero-content{padding-top:115px}.hero{height:800px}}
@media(max-width:1100px){.header nav{gap:17px}.header{gap:15px}.header .brand>span{font-size:30px}.header .brand img{width:32px;height:32px}.header-actions{gap:12px}.intro{gap:45px}.space-copy{padding:35px}.space-tab{padding-inline:10px;gap:10px;font-size:12px}.island-moment{min-height:650px}.moment-copy{padding:50px 35px}.rate-layout{gap:45px}.rate-card{padding:30px}.booking-grid{gap:45px}.questions{gap:45px}.stay-ribbon{padding-inline:25px}.hero-seal{right:7%;width:140px;height:140px}.directory-top h2{font-size:44px}}
@media(max-width:850px){.header{height:78px}.header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:22px 6%;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 16px 20px #173f3c10}.header nav.is-open{display:flex;flex-direction:column;gap:6px;font-size:16px}.header nav a{padding:10px}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;border:0;background:none;width:44px;height:44px;margin-left:auto}.menu-toggle span{display:block;width:22px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero-seal{display:none}.stay-ribbon{grid-template-columns:1fr auto}.ribbon-link{display:none}.ribbon-price{gap:10px}.stay-ribbon>div>strong{font-size:23px}.ribbon-price>strong{font-size:30px!important}.space-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.space-tab{padding:18px;font-size:13px}.space-panel{grid-template-columns:.65fr 1.35fr}.space-stat strong{font-size:90px}.space-copy h3{font-size:38px}.place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.place-card{border:1px solid var(--line);margin:-1px 0 0 -1px}.map-layout{grid-template-columns:260px minmax(0,1fr)}.map-sidebar{padding:25px}.map-shell,#map-consent{min-height:460px}.map-shell iframe{min-height:460px}.trip-tips{gap:25px}.trip-tips h3{font-size:25px}.section-heading{gap:35px}}
@media(max-width:700px){html{scroll-padding-top:96px}body{padding-bottom:80px}.header{height:74px;padding-inline:5%;gap:4px}.header nav{top:74px}.header .brand>span{font-size:29px}.header .brand small{font-size:6px;letter-spacing:1.35px}.header .brand img{width:30px;height:30px}.header-actions{gap:4px}.header .button.small{font-size:10px;padding:10px;min-height:40px}.header .language{padding:8px;font-size:11px}.menu-toggle{width:37px;flex-shrink:0}.hero{margin:0;height:calc(88svh - 74px);min-height:570px;max-height:760px}.hero-content{padding:75px 6% 120px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:32px}.hero h1{font-size:clamp(73px,14.8vw,99px);line-height:.91}.hero-text{font-size:13px;margin-top:26px;line-height:1.9}.hero-image{object-position:60% 50%}.hero-shade{background:linear-gradient(90deg,#062e39ad,#062e393d),linear-gradient(0deg,#062a328f,transparent 65%)}.hero-links{align-items:flex-start;flex-direction:column;gap:12px}.hero-links .button{padding:15px 20px;font-size:12px}.hero-secondary{font-size:11px;padding:8px 0}.hero-bottom{left:6%;right:6%;bottom:23px;display:block}.hero-bottom>span{display:block;font-size:7px;line-height:1.6}.hero-bottom>span+span{margin-top:6px;font-size:8px}.stay-ribbon{width:100%;padding:22px 6%;gap:20px;grid-template-columns:1fr}.stay-ribbon>div:first-child{display:none}.ribbon-price>strong{font-size:39px!important}.ribbon-price{gap:20px}.ribbon-price>span{font-size:12px}.ribbon-price small{font-size:10px}.facts{padding:25px 0;gap:14px}.facts>div{font-size:10px}.facts .fact-icon{font-size:28px}.section{padding-block:65px}.intro{grid-template-columns:1fr;gap:23px;padding-bottom:34px}.intro h2{font-size:46px}.intro-copy{padding:0;font-size:14px}.eyebrow{font-size:9px;margin-bottom:20px}.house-explorer{padding-bottom:55px}.space-tab{font-size:12px;padding:15px 10px;gap:8px}.space-panel{grid-template-columns:1fr;min-height:0;margin-top:18px}.space-stat{padding:25px;flex-direction:row;gap:20px;border-right:0;border-bottom:1px solid #ccd6c8;justify-content:flex-start}.space-stat svg{width:32px;height:32px;margin:0}.space-stat strong{font-size:68px;letter-spacing:-3px}.space-stat>span{font-size:11px;letter-spacing:0;margin:0;max-width:90px}.space-copy{padding:29px 25px}.space-copy h3{font-size:37px}.space-copy>p:not(.eyebrow){font-size:13px}.house-photo-note{font-size:10px;line-height:1.7}.island-moment{grid-template-columns:1fr}.moment-photo{min-height:340px;height:58vw;max-height:430px}.moment-photo img{object-position:70% 60%}.moment-photo .photo-label{left:6%;bottom:22px;font-size:7px}.moment-copy{padding:45px 6% 55px}.moment-copy h2{font-size:49px}.moment-copy>p:not(.eyebrow){max-width:none;font-size:14px}.moment-line{margin-top:25px;gap:20px}.moment-line h3{font-size:26px}.moment-line p{font-size:13px}.rate-layout{gap:30px;grid-template-columns:1fr}.rate-layout h2{font-size:46px}.rate-card{padding:28px}.big-rate{font-size:65px}.big-rate small{display:block;margin:8px 0 0}.rate-card ul{font-size:12px;line-height:1.9}.guide-intro .section-heading h2{font-size:46px}.section-heading>p{font-size:14px}.trip-tips{padding-top:0;gap:0;margin-top:30px;border-top:0}.trip-tips article{padding-block:24px;border-top:1px solid var(--line)}.tip-number{font-size:25px}.trip-tips h3{font-size:28px;margin-top:12px}.trip-tips p{font-size:13px}.map-section{padding-top:0;padding-bottom:50px}.section-heading h2{font-size:46px}.map-layout{grid-template-columns:1fr}.map-sidebar{padding:25px}.map-shell,#map-consent,.map-shell iframe{min-height:360px}.map-shell iframe{height:400px}#map-consent{padding:35px 24px}#map-consent h3{font-size:34px}#map-consent .button{font-size:11px;padding:15px}.directory-top h2{font-size:42px}.directory-top>p{margin-top:12px}.directory-search{display:block;padding:22px 0}.directory-search label{font-size:25px;margin-bottom:15px}.directory-search>div{width:100%}.directory-search input{font-size:16px}.filters{gap:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;margin-top:20px}.filters button{flex-shrink:0;font-size:11px;min-height:44px;padding:9px 13px}.place-grid{grid-template-columns:1fr}.place-card{padding:26px;border:1px solid var(--line);margin-top:-1px}.place-card h3{font-size:33px}.place-description{font-size:13px}.place-contacts{margin-top:16px}.card-top{margin-bottom:15px}.directory-note{font-size:10px}.help-strip{padding-bottom:40px}.help-strip h3{font-size:31px}.help-strip>div+div{gap:22px 28px}.questions{gap:24px}.questions h2{font-size:46px}.faq-list summary{font-size:13px;gap:15px}.booking{padding:65px 0}.booking-grid{gap:35px}.booking h2{font-size:55px}.booking-form{padding:27px 20px;box-shadow:none}.booking-form h3{font-size:33px}.booking-form input,.booking-form select,.booking-form textarea{font-size:16px}.booking-form .form-note{font-size:10px}.booking-copy>p:not(.eyebrow){font-size:14px}.footer-top{padding-top:5px;gap:28px}.footer-top .brand>span{font-size:35px}.footer-top>p{font-size:27px}.footer-bottom{font-size:9px}.mobile-stay{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:15;align-items:center;justify-content:space-between;gap:15px;background:#faf8f2f7;border-top:1px solid #cfdbcd;padding:12px 6% calc(12px + env(safe-area-inset-bottom));box-shadow:0 -5px 24px #123e3010;backdrop-filter:blur(16px)}.mobile-stay>div{display:flex;flex-direction:column;gap:1px}.mobile-stay strong{font-size:16px;font-weight:500}.mobile-stay>div>span{font-size:9px;color:var(--muted)}.mobile-stay .button{font-size:12px;padding:12px 18px;min-height:44px}.mobile-stay.is-hidden{display:none}}
@media(max-width:380px){.header .brand img{display:none}.header .brand>span{font-size:27px}.header .button.small{padding:9px 8px}.hero h1{font-size:70px}.space-tab{font-size:11px}.space-tab .tab-arrow{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Shared reading and interaction scale, across both languages. */
:root {
  --text-size: 1rem;
  --detail-size: .875rem;
  --caption-size: .75rem;
  --focus: #9b482d;
  --sage: #e9ede3;
  --muted: #4f645b;
}
html { scrollbar-color: #6b8175 var(--cream); }
body { font-size: var(--text-size); }
::selection { background: var(--coral); color: var(--ink); }
input, textarea { caret-color: var(--ink); }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
.hero :focus-visible, .booking-copy :focus-visible { outline-color: var(--coral); }
h1, h2, h3 { text-wrap: balance; }
h2 { font-size: clamp(2.5rem, 4.8vw, 4rem); line-height: 1.08; }
.intro-copy, .section-heading > p, .rate-layout > div > p:not(.eyebrow),
.moment-copy > p:not(.eyebrow), .booking-copy > p:not(.eyebrow) {
  font-size: var(--text-size);
  line-height: 1.8;
}
.space-copy > p:not(.eyebrow), .trip-tips p, .moment-line p,
.place-description, .faq-list details p, .faq-list summary, .rate-card ul {
  font-size: .9375rem;
  line-height: 1.75;
}
.intro-copy, .space-copy > p:not(.eyebrow), .moment-copy > p:not(.eyebrow) { max-width: 65ch; }
.header nav, .text-link, .hero-secondary, .ribbon-link,
.filters button, .card-actions a, .map-button, .map-sidebar > p:not(.eyebrow),
.booking-form label, .form-note, .booking-form .form-note, dialog p {
  font-size: var(--detail-size);
}
.house-photo-note, .directory-note, .place-address, .contact-email,
.small-note, #results-count, #map-consent small, .footer-bottom,
.hero-bottom > span, .hero-bottom > span + span, .moment-photo .photo-label,
.ribbon-price small, .mobile-stay > div > span, .booking-copy .contact-note {
  font-size: var(--caption-size);
  line-height: 1.65;
}
.hero-bottom > span + span { opacity: 1; }
.category { font-size: var(--caption-size); letter-spacing: .08em; }
.place-address { color: var(--muted); }
.hero {
  height: auto;
  min-height: 640px;
  max-height: none;
  display: flex;
  align-items: center;
}
.hero-content { padding: 84px 6% 132px; }
.hero h1 { font-size: clamp(4.5rem, 8vw, 6rem); line-height: .98; }
.hero-text { font-size: var(--text-size); max-width: 42ch; }
.hero-seal { top: 39%; }
.hero-secondary, .text-link { min-height: 44px; align-content: center; }
.header .language { min-height: 44px; min-width: 44px; display: grid; place-items: center; }
.header .language, .map-sidebar label, #map-consent .button, .booking-form .send { font-size: var(--detail-size); }
.brand small, .header .brand small { font-size: 11px; letter-spacing: .06em; }
.button.small, .menu-toggle, .dialog-close, .copy-button, .subtle { min-height: 44px; }
.menu-toggle, .dialog-close { min-width: 44px; }
.card-actions a, .map-button { min-height: 44px; }
.button:hover { transform: none; }
.button:active { transform: translateY(1px); }
.button:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.facts { align-items: center; }
.facts > div { font-size: var(--detail-size); }
.facts .fact-icon { width: 28px; height: 28px; flex-shrink: 0; color: #507563; }
.space-tab { font-size: .9375rem; }
.space-tab:hover { background: var(--sage); color: var(--ink); }
.space-copy { padding-block: 36px; }
.space-copy h3 { margin-bottom: 20px; }
.moment-line { padding-top: 20px; border-top: 1px solid #ffffff30; }
.moment-line h3 { font-size: 1.75rem; }
.trip-tips h3 { margin-top: 0; }
.rate-layout .offer-note { font-size: var(--caption-size); font-weight: 600; letter-spacing: .08em; }
.rate-card > p { font-size: var(--detail-size) !important; }
.big-rate { font-variant-numeric: lining-nums tabular-nums; }
.big-rate small { font-size: var(--detail-size); }
.map-shell { background: #e1eae0; }
.help-strip a { font-size: var(--caption-size); min-height: 44px; }
.booking-form { border-top: 1px solid #d0bb8c; }
.booking-copy .contact-note { font-size: var(--caption-size) !important; }
.booking-form .form-row { align-items: end; }
.booking-form input, .booking-form select, .booking-form textarea {
  min-height: 48px;
  font-size: var(--text-size);
}
input::placeholder, textarea::placeholder { font-size: var(--detail-size); color: var(--muted); }
input:hover, select:hover, textarea:hover { border-color: #6b8175; }
[aria-invalid=true] { border-color: var(--focus); }
.stay-summary {
  display: grid;
  gap: 8px;
  padding: 20px;
  margin-block: 6px 22px;
  font-size: var(--detail-size);
  line-height: 1.65;
}
.estimate-label { font-size: var(--caption-size); }
.estimate-total { font: 500 clamp(1.75rem, 3vw, 2.125rem)/1.2 'DM Sans', sans-serif; font-variant-numeric: tabular-nums; letter-spacing: -.035em; }
.stay-summary.is-error { color: #7f3320; background: #f6e3d8; }
.copy-button, .dialog-close { font-size: var(--detail-size); }
.dialog-close { font-size: 28px; }
dialog pre { font-size: var(--detail-size); }
.footer-top > p { color: var(--muted); }

@media (max-width: 1100px) {
  .header nav { gap: 14px; }
  .header .brand > span { font-size: 30px; }
  .header .button.small { padding-inline: 14px; }
}
@media (max-width: 850px) {
  .menu-toggle { width: 44px; }
  .space-tab { font-size: var(--detail-size); }
  .hero { min-height: 600px; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 90px; }
  body { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  .header { gap: 8px; }
  .header .button.small { display: none; }
  .header-actions { margin-left: 0; }
  .header .brand > span { font-size: 31px; }
  .header .brand small { font-size: 11px; letter-spacing: .06em; }
  .hero { min-height: 580px; }
  .hero-content { padding: 56px 6% 128px; }
  .hero h1 { font-size: clamp(3.6rem, 17vw, 4.6rem); }
  .hero-text { font-size: .9375rem; margin-top: 24px; }
  .hero-links { gap: 8px; }
  .hero-links .button, .hero-secondary, .mobile-stay .button { font-size: var(--detail-size); }
  .hero-bottom { bottom: 22px; }
  .hero-bottom > span { letter-spacing: 0; }
  .stay-ribbon { padding-block: 24px; }
  .ribbon-price > span { font-size: var(--detail-size); }
  .facts { align-items: flex-start; gap: 14px; }
  .facts > div { font-size: var(--caption-size); }
  .facts .fact-icon { margin-inline: auto; }
  .space-stat { gap: 16px; }
  .space-stat strong { letter-spacing: -.035em; }
  .space-stat > span { font-size: var(--detail-size); }
  .space-copy { padding: 28px 24px; }
  .trip-tips h3 { margin-top: 0; }
  .filters { flex-wrap: wrap; overflow: visible; }
  .filters button { font-size: var(--detail-size); padding: 10px 14px; }
  .booking h2 { font-size: clamp(2.5rem, 11vw, 3.4rem); }
  .booking-form { padding: 28px 22px; }
  .booking-form .form-row label { display: grid; grid-template-rows: minmax(2.5em, auto) auto; }
  .booking-form label { font-size: var(--detail-size); line-height: 1.4; }
  .mobile-stay { background: var(--cream); backdrop-filter: none; }
  .mobile-stay strong { font-variant-numeric: tabular-nums; }
  .footer-bottom { gap: 16px; }
}
@media (max-width: 380px) {
  .ribbon-price { gap: 12px; }
  .ribbon-price > strong { font-size: 34px !important; }
  .space-tab { font-size: var(--detail-size); }
  .booking-form { padding-inline: 18px; }
  .booking-form .form-row { grid-template-columns: 1fr; gap: 0; }
  .booking-form .form-row label { display: block; }
  .estimate-total { font-size: 1.625rem; }
  .mobile-stay { gap: 10px; padding-inline: 5%; }
}
@media (prefers-reduced-motion: reduce) {
  .button:active { transform: none; }
}
