/* V2 — TEMPORARY palette. Exact brand HEX values remain PENDING.
   All colours are declared here. No V1 styles or layouts are inherited. */
:root {
  --ivory: #f8f6ef;
  --teal: #103f46;
  --sand: #c4a575;
  --turquoise: #5ea9a6;
  --charcoal: #404b48;
  --muted: #5b6b65;
  --rule: #d7dbd1;
  --garden: #dde3d7;
  --bay: #dce8e6;
  --warm: #eae1d1;
  --stone: #e6e3dc;
  --night: #173c41;
  --night-ink: #e5e6dc;
  --backdrop: #103f4699;
  --space: clamp(26px, 5.2vw, 84px);
  --display: 'Cormorant Garamond', Georgia, serif;
  --body: 'DM Sans', Arial, sans-serif;
}
@font-face {font-family:'Cormorant Garamond';src:url('../assets/fonts/cormorant-garamond-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face {font-family:'DM Sans';src:url('../assets/fonts/dm-sans-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
/* Bounded font reveal. Default/no-JS content stays visible. */
.type-pending body {visibility:hidden}
.type-fallback {--display:Georgia,serif;--body:Arial,sans-serif}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:24px}
body {margin:0;background:var(--ivory);color:var(--charcoal);font:16px/1.7 var(--body)}
[hidden] {display:none!important}
img {max-width:100%;height:auto;display:block}
a {color:inherit;text-decoration:none}
a:hover {text-decoration:underline;text-underline-offset:5px}
button,input,textarea {font:inherit}
button,summary {cursor:pointer}
button {color:inherit}
button:disabled {opacity:.55;cursor:default}
button,a,input,textarea,summary {touch-action:manipulation}
:focus-visible {outline:3px solid var(--teal);outline-offset:5px}
figure,p,h1,h2,h3 {margin:0}
p+p {margin-top:20px}
h1,h2,h3 {font-family:var(--display);font-weight:400;color:var(--teal);line-height:1.04;letter-spacing:-.025em;text-wrap:pretty}
h1 {font-size:clamp(48px,5.5vw,84px);margin-bottom:28px}
h2 {font-size:clamp(39px,4.2vw,64px);margin-bottom:24px}
h3 {font-size:clamp(28px,2.8vw,40px);margin-bottom:18px}
p {max-width:65ch}
.kicker {font-size:11px;letter-spacing:.19em;color:var(--teal);line-height:1.5;margin-bottom:22px;text-transform:uppercase}
.kicker:empty,h2:empty {display:none}
.intro {max-width:630px;margin-bottom:64px;font-size:18px}
.practical,.verify {font-size:13px;line-height:1.7;margin-top:25px;color:var(--muted)}
.verify {border-left:2px solid var(--sand);padding-left:15px}
.age {letter-spacing:.14em;font-size:12px}
.button {display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--teal);color:var(--ivory);border:1px solid var(--teal);min-height:48px;padding:13px 22px;font:11px/1.5 var(--body);letter-spacing:.13em;text-decoration:none}
.button:hover {background:var(--charcoal);border-color:var(--charcoal);text-decoration:none}
.button span,.text-link span {font-size:18px;line-height:1}
.text-link {display:inline-flex;align-items:center;gap:24px;min-height:48px;padding:12px 0 8px;border:0;border-bottom:1px solid var(--sand);background:none;color:var(--teal);font-size:11px;letter-spacing:.14em}
.text-link:hover {border-bottom-color:var(--teal);text-decoration:none}
.copy>.button,.copy>.text-link,.hero-copy>.button {margin-top:30px}
.skip {position:absolute;top:-100px;left:20px;z-index:30;background:var(--ivory);padding:12px}
.skip:focus {top:12px}
.site-header {display:flex;align-items:center;gap:35px;padding:24px var(--space);min-height:102px;margin:auto;max-width:1920px}
.brand {width:265px;min-width:180px;margin-right:auto}
.site-header nav {display:flex;align-items:center;gap:clamp(20px,2.2vw,36px)}
.site-header nav a {font-size:11px;letter-spacing:.09em;white-space:nowrap;padding:12px 0}
.site-header nav [aria-current] {border-bottom:1px solid var(--sand)}
.site-header>.button {flex-shrink:0;min-width:110px}
.menu-button {display:none;background:none;border:0;padding:12px;min-height:44px;font-size:11px;letter-spacing:.08em}
main {max-width:1680px;margin:auto}
.inset {padding:86px var(--space)}
.section+.section {margin-top:0}
.small-section {padding-top:30px;padding-bottom:40px}
.spread {display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(35px,6vw,96px);align-items:center}
.spread>.copy {padding:20px 0;min-width:0}
.spread--reverse {grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
.spread--reverse>.copy {order:2}
.spread--reverse>.shot,.spread--reverse>.pair {order:1}
.spread>.shot--portrait {max-height:720px}
.text-section {max-width:1050px;margin-inline:auto}
.text-section>p {max-width:780px}
.text-section>.text-link {margin-top:24px}
.shot {position:relative;display:grid;place-items:center;min-width:0;overflow:hidden;background:var(--garden);color:var(--teal)}
.shot--landscape {aspect-ratio:4/3}
.shot--portrait {aspect-ratio:3/4}
.shot--panorama {aspect-ratio:21/9}
.tone--bay {background:var(--bay)}
.tone--sand {background:var(--warm)}
.tone--stone {background:var(--stone)}
.tone--night {background:var(--night);color:var(--night-ink)}
.shot-label {max-width:390px;padding:32px;text-align:center;position:relative;z-index:1}
.shot-type {display:block;font-size:10px;letter-spacing:.26em;margin-bottom:17px}
.shot-title {display:block;font-size:12px;line-height:1.6;letter-spacing:.08em}
.shot-note {display:block;font-size:11px;line-height:1.7;letter-spacing:0;margin-top:17px;max-width:270px;margin-inline:auto}
.shot-note:empty {display:none}
.shot-label:before,.shot-label:after {content:'';display:block;width:28px;height:1px;background:currentColor;opacity:.35;margin:0 auto 22px}
.shot-label:after {margin:22px auto 0}
.shot picture {position:absolute;inset:0}
.shot picture img {width:100%;height:100%;object-fit:cover;object-position:var(--crop,center)}
.shot.has-photo .shot-label {display:none}
.hero {display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.hero-copy {padding:60px var(--space);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0}
.hero-copy p {max-width:590px}
.hero>.shot {aspect-ratio:auto;min-height:590px}
.hero--home {position:relative;display:block;min-height:calc(88svh - 102px);isolation:isolate;background:var(--bay)}
.hero--home>.shot {position:absolute;inset:0;min-height:0;z-index:-1}
.hero--home .hero-copy {min-height:calc(88svh - 102px);width:min(850px,68%);padding-block:70px 110px}
.hero--home h1 {max-width:750px}
.hero--home .shot-label {position:absolute;right:4%;bottom:6%;max-width:300px}
.hero--home .hero-copy>.button {margin-top:38px}
.hero--wide {grid-template-columns:.8fr 1.2fr}
.hero--wide>.shot {min-height:470px}
.hero--home:has(.has-photo) .hero-copy {background:var(--ivory);width:min(680px,60%);min-height:0;margin:40px;padding:35px}
.facts {list-style:none;padding:0;margin:28px 0;font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:10px 20px;line-height:1.6}
.facts li {border-top:1px solid var(--rule);padding-top:10px}
.room-feature {display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:center;padding:65px 0;border-top:1px solid var(--rule)}
.room-feature:first-of-type {border-top:0}
.room-feature--2 {grid-template-columns:1.2fr .8fr}
.room-feature--2 .room-copy {order:2}
.room-feature--2 .room-images {order:1}
.room-feature--3 {grid-template-columns:.8fr 1.2fr}
.room-feature--3>.room-copy {padding-top:20px}
.room-feature--4 {grid-template-columns:1fr 1fr}
.room-feature--4 .room-copy {order:2}
.room-feature--4 .room-images {order:1}
.room-feature--3 .room-images>.shot {aspect-ratio:16/9}
.room-feature--4 .room-images>.shot {aspect-ratio:4/3}
.room-copy {min-width:0}
.room-detail-pair {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.room-detail-pair .shot-label {padding:18px}
.room-detail-pair .shot-note {display:none}
.room-detail-pair .shot-title {font-size:10px}
.room-detail-pair .shot-label:before,.room-detail-pair .shot-label:after {display:none}
.compact {padding:44px 0;gap:clamp(30px,7vw,110px)}
.compact .room-images>.shot {aspect-ratio:16/9}
.compact .shot-note {display:none}
.compact .facts {margin:20px 0}
.compact h3 {font-size:clamp(33px,3.5vw,52px)}
.room-index {padding-top:40px}
.pair {display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}
.section>.pair {margin-top:30px}
.pair .shot-label {padding:22px}
.filmstrip {display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:32px}
.filmstrip .shot-label {padding:20px}
.filmstrip .shot-note {max-width:210px}
.dark {background:var(--teal);color:var(--ivory)}
.dark h2,.dark h3,.dark .kicker,.dark .text-link {color:var(--ivory)}
.dark .shot {border:1px solid var(--turquoise)}
.hours {display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:35px 0}
.hours h3 {font-family:var(--body);font-size:13px;letter-spacing:.03em;margin-bottom:10px}
.hours p {font-size:13px;white-space:normal}
.hours>div {border-left:1px solid var(--sand);padding-left:18px}
.dark .hours {grid-template-columns:1fr;gap:16px}
.dark .hours>div {display:flex;flex-wrap:wrap;gap:8px 18px}
.dark .hours h3 {min-width:75px;margin:0}
.aside-copy {max-width:600px;margin:42px 0 0 auto;padding-left:26px;border-left:1px solid var(--sand)}
.people-strip {display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:40px}
.people-strip h3 {font-size:29px;max-width:280px;margin-top:22px}
.people-strip .shot-note {display:none}
.review-placeholder {padding:32px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);color:var(--muted)}
.review-placeholder p:first-child {font-size:11px;letter-spacing:.14em}
.accordions {border-top:1px solid var(--rule)}
.accordions details {border-bottom:1px solid var(--rule)}
.accordions summary {list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:23px 0;color:var(--teal);font-family:var(--display);font-size:25px;line-height:1.2}
.accordions summary::-webkit-details-marker {display:none}
.accordions summary span {font-family:var(--body);font-size:19px;flex-shrink:0}
.accordions details[open] summary span {transform:rotate(45deg)}
.accordions details>div {padding:0 25px 25px 0;font-size:15px}
.accordions+.text-link {margin-top:25px}
.comfort-columns {display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:50px;margin-top:40px}
.comfort-columns h3 {font-size:31px}
.comfort-columns p {font-size:14px}
.closing {padding:80px var(--space);text-align:center}
.closing>div {position:relative;z-index:1}
.closing p {margin-inline:auto}
.closing .button {margin-top:24px}
.closing--night {display:grid;grid-template-columns:1fr 1.25fr;text-align:left;gap:60px;align-items:center}
.closing--night p {margin-inline:0}
.closing--night>.shot {width:100%;min-height:380px;aspect-ratio:16/10}
.footer-brand {padding:30px var(--space) 38px;max-width:1680px;margin:auto;border-top:1px solid var(--rule)}
.footer-brand a {display:block;width:min(340px,80%)}
.footer-content {background:var(--teal);color:var(--ivory);padding:52px var(--space) 24px}
.footer-content>nav {display:flex;flex-wrap:wrap;gap:15px 36px;align-items:center}
.footer-content>nav a {font-size:11px;letter-spacing:.12em;padding-block:12px}
.footer-content>nav .button {border-color:var(--sand);margin-left:auto;padding:12px 25px}
.footer-bottom {display:flex;justify-content:space-between;gap:30px;margin-top:35px;padding-top:25px;border-top:1px solid var(--turquoise);font-size:12px}
.legal-links {display:flex;gap:25px;flex-wrap:wrap}
.legal-links a {min-height:44px;padding-block:10px}
.legal-notes {display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px;font-size:12px}
.legal-notes summary {padding:12px 0}
.legal-notes details:not([open]):not(:target) {display:none}
.legal-notes details:target {display:block}
.contact-intro {padding-bottom:30px}
.contact-grid {display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,10vw,150px)}
.contact-grid h2 {font-size:40px}
.contact-links {margin-top:35px;font-size:14px}
form {display:flex;flex-direction:column;align-items:stretch;min-width:0}
form label {font-size:13px;margin-bottom:8px}
input,textarea {padding:12px;border:1px solid var(--rule);background:var(--ivory);color:var(--charcoal);width:100%;margin-bottom:22px;border-radius:0}
textarea {resize:vertical}
form .button {align-self:flex-start}
form .practical {margin-top:16px}
#form-status {font-size:14px;margin-top:15px}
.map-placeholder {display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:310px;margin-top:35px;background:var(--garden);padding:30px;text-align:center;font-size:13px}
.map-placeholder p:first-child {letter-spacing:.17em;font-size:11px}
.faq-intro {max-width:1070px;padding-bottom:45px}
.faq-body {max-width:1070px;padding-top:0}
dialog {width:min(510px,calc(100% - 32px));padding:48px 36px 36px;border:1px solid var(--sand);background:var(--ivory);color:var(--charcoal);max-height:calc(100svh - 32px);overflow:auto}
dialog::backdrop {background:var(--backdrop)}
dialog h2 {font-size:40px}
.dialog-close {position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:none;font-size:25px}
dialog .button {margin-top:24px}
#promotion-code-area {margin-top:24px}
#promotion-code {font:18px var(--body)}
#copy-status {font-size:13px}
@media(min-width:1700px) {.site-header {padding-inline:calc((100% - 1512px)/2)}}
@media(max-width:1100px) {
  .site-header {gap:20px}.brand {width:220px}.site-header nav {gap:19px}
  .spread {gap:38px}.room-feature {gap:35px}.hero-copy {padding:48px 35px}
  .hero-copy h1 {font-size:clamp(44px,5.8vw,68px)}
  .shot-note {font-size:10px}.comfort-columns {gap:30px}
}
@media(max-width:900px) {
  .site-header {flex-wrap:wrap;padding:18px var(--space);gap:12px;min-height:86px}
  .brand {width:235px}.nav-ready .site-header .menu-button {display:block}
  .site-header nav {order:4;width:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--rule)}
  .nav-ready .site-header nav {display:none}
  .nav-ready .site-header nav.is-open {display:flex}.site-header nav a {padding:15px 0;border-bottom:1px solid var(--rule)}
  .site-header>.button {min-width:90px;gap:16px}
  .hero--home,.hero--home .hero-copy {min-height:calc(88svh - 86px)}
  .hero--home .hero-copy {width:73%}
  .hero--home .shot-label {max-width:220px;right:1%;bottom:2%}
  .hero {grid-template-columns:1fr 1fr}.hero>.shot {min-height:520px}
  .hero--home>.shot {min-height:0}.hero--wide {grid-template-columns:.9fr 1.1fr}
  .inset {padding-block:60px}.shot-label {padding:24px}.shot-title {font-size:11px}
  .filmstrip .shot-note {display:none}.pair .shot-note {font-size:10px}
  .people-strip {gap:16px}.people-strip h3 {font-size:25px}
  .closing--night {gap:35px}.closing--night>.shot {min-height:320px}
}
@media(max-width:650px) {
  :root {--space:24px}
  body {font-size:15px;line-height:1.75}
  h1 {font-size:48px}h2 {font-size:40px}h3 {font-size:31px}
  .site-header {gap:5px;padding:17px 18px;min-height:80px}
  .brand {width:auto;min-width:0;flex:1;margin-right:9px;max-width:225px}
  .menu-button {font-size:10px;padding:10px 7px}.menu-button span {display:none}
  .site-header>.button {font-size:10px;padding:11px 12px;min-width:66px;gap:10px;min-height:44px}
  .site-header>.button span {display:none}
  .kicker {font-size:10px;margin-bottom:18px}
  .inset {padding:52px var(--space)}
  .spread,.spread--reverse,.hero,.hero--wide,.room-feature,.contact-grid {grid-template-columns:1fr;gap:28px}
  .spread>.copy {padding:0}.spread--reverse>.copy,.spread--reverse>.shot,.spread--reverse>.pair {order:initial}
  .spread>.shot--portrait {aspect-ratio:4/3;max-height:none}
  .hero-copy {padding:44px var(--space) 12px}
  .hero-copy h1 {font-size:48px}
  .hero>.shot {aspect-ratio:4/3;min-height:0;margin:0 var(--space)}
  .hero--home {min-height:740px;display:flex;flex-direction:column;gap:0;padding:0;isolation:auto}
  .hero--home .hero-copy {min-height:0;width:100%;padding:44px var(--space) 25px}
  .hero--home h1 {font-size:48px;max-width:360px}
  .hero--home>.shot {position:relative;inset:auto;z-index:auto;flex:1;width:100%;min-height:230px;margin:0;aspect-ratio:auto}
  .hero--home .shot-label {position:static;max-width:300px}
  .hero--home .hero-copy>.button {margin-top:25px}
  .hero--home:has(.has-photo) .hero-copy {width:100%;margin:0;padding:44px var(--space) 25px}
  .hero--home>.shot.has-photo {min-height:300px}
  .intro {font-size:16px;margin-bottom:35px}
  .room-feature {padding:38px 0;gap:25px}
  .room-feature .room-copy,.room-feature .room-images {order:initial}
  .room-feature--3>.room-copy {padding:0}
  .room-copy h2,.compact h3 {font-size:39px}
  .room-images>.shot,.compact .room-images>.shot {aspect-ratio:4/3}
  .room-detail-pair {gap:10px}.room-detail-pair .shot-type {margin-bottom:8px}
  .room-detail-pair .shot {aspect-ratio:1}.room-detail-pair .shot-label {padding:13px}
  .filmstrip {display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .filmstrip>.shot:first-child {grid-column:1/-1;aspect-ratio:16/9}
  .filmstrip>.shot {aspect-ratio:1}.filmstrip .shot-label {padding:14px}.filmstrip .shot-type {margin-bottom:10px}
  .filmstrip .shot-label:before,.filmstrip .shot-label:after {display:none}
  .pair {gap:12px}.pair .shot {aspect-ratio:3/4}.pair .shot-label {padding:14px}
  .pair .shot-note {display:none}.pair .shot-label:before,.pair .shot-label:after {display:none}
  .people-strip {grid-template-columns:1fr;gap:32px}
  .people-strip h3 {font-size:29px;max-width:none;margin-top:15px}
  .people-strip .shot {aspect-ratio:16/9}
  .people-strip .shot-note {display:block}
  .hours {grid-template-columns:1fr;gap:19px}
  .hours>div {display:flex;gap:20px;justify-content:space-between}
  .hours h3 {margin:0}
  .dark .hours>div {justify-content:flex-start}
  .aside-copy {padding-left:20px;margin-top:30px}
  .accordions summary {font-size:24px;padding:22px 0}
  .comfort-columns {grid-template-columns:1fr;gap:25px;margin-top:28px}
  .comfort-columns>div {padding-top:20px;border-top:1px solid var(--rule)}
  .comfort-columns h3 {margin-bottom:12px}
  .closing {padding:50px var(--space)}
  .closing--night {grid-template-columns:1fr;gap:30px}
  .closing--night>.shot {min-height:270px}
  .footer-brand {padding:30px var(--space)}
  .footer-content {padding:32px var(--space)}
  .footer-content>nav {display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}
  .footer-content>nav .button {margin-left:0;max-width:130px}
  .footer-bottom {flex-direction:column;gap:22px}
  .legal-links {gap:20px}.legal-notes {grid-template-columns:1fr}
  .contact-grid h2 {font-size:35px}.contact-grid {gap:44px}
  .contact-intro {padding-bottom:0}.faq-intro {padding-bottom:30px}.faq-body {padding-top:0}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto}* {transition:none!important}}

/* V3: official reverse asset, unchanged, on the continuous Deep Teal footer. */
.site-footer {background:var(--teal);color:var(--ivory)}
.footer-brand {border-top:0;padding-top:52px;padding-bottom:0}
.footer-brand img {width:100%;height:auto;object-fit:contain}


/* Approved V3 revisions — 8 October 2026. */
.site-header {position:sticky;top:0;z-index:20;background:var(--ivory);min-height:74px;padding:14px var(--space);transition:transform .22s ease;max-width:none}
.site-header.is-hidden {transform:translateY(-105%)}
.site-header:focus-within {transform:translateY(0)}
.site-header .brand {width:220px}
.site-header>.button {min-height:40px;min-width:80px;padding:9px 16px;gap:14px}
html {scroll-padding-top:90px}
.hero--home {height:88svh;min-height:620px}
.hero--home .hero-copy,.hero--home:has(.has-photo) .hero-copy {position:absolute;left:0;top:53%;transform:translateY(-50%);width:47%;min-height:0;margin:0;padding:0 var(--space);background:none}
.hero--home h1 {font-size:clamp(46px,4.4vw,68px);max-width:510px}
.hero--home h1 em {font-weight:400}
.hero--home>.shot {position:absolute;inset:0;width:100%;height:100%;margin:0;min-height:0;aspect-ratio:auto;z-index:-1}
body[data-page="index.html"] #stay {padding-block:56px}
#stay .compact {padding:26px 0;grid-template-columns:.8fr 1.2fr;gap:42px}
#stay .compact .shot {aspect-ratio:2/1}
#stay .compact:nth-of-type(even) {grid-template-columns:1.2fr .8fr}
#stay .compact:nth-of-type(3) .room-images {width:86%;justify-self:end}
#stay .compact:nth-of-type(4) .room-images {width:86%}
#stay .compact h3 {font-size:clamp(31px,3vw,45px)}
#stay .intro {margin-bottom:30px}
#take-your-time {padding-block:58px}
#take-your-time .spread>.shot {aspect-ratio:16/9}
#take-your-time .filmstrip {margin-top:20px;grid-template-columns:repeat(3,1fr)}
#take-your-time .filmstrip>.shot {aspect-ratio:16/9;grid-column:auto}
#reviews {padding-block:38px}
.reviews-grid {display:grid;grid-template-columns:1fr 1fr;gap:48px}
.review-placeholder {padding:22px 0;background:none}
.review-placeholder .review-attribution {font-size:12px}
#good-to-know {padding-block:56px}
#good-to-know .accordions summary {padding-block:18px}
#closing .closing {padding-bottom:48px}
@media(max-width:900px) {
.site-header {min-height:64px;padding:10px var(--space);gap:10px}
.site-header .brand {width:210px}
.site-header .menu-button,.site-footer .footer-menu-button {min-height:40px}
.site-header nav {background:var(--ivory)}
.hero--home .hero-copy,.hero--home:has(.has-photo) .hero-copy {width:61%}
}
@media(max-width:650px) {
.site-header {min-height:62px;padding:10px 16px;gap:5px}
.site-header .brand {width:auto;max-width:205px;margin-right:5px}
.site-header>.button {min-width:58px;padding:8px 10px;font-size:10px}
.hero--home {height:85svh;min-height:580px;display:block;isolation:isolate}
.hero--home .hero-copy,.hero--home:has(.has-photo) .hero-copy {width:92%;top:52%;padding:0 24px}
.hero--home h1 {font-size:45px;max-width:330px}
.hero--home>.shot,.hero--home>.shot.has-photo {position:absolute;min-height:0;inset:0;margin:0;height:100%;z-index:-1}
.hero--home .shot-label {position:absolute;right:0;bottom:12px;max-width:260px;padding:16px}
.hero--home .shot-note {display:none}
.hero--home .shot-label:before,.hero--home .shot-label:after {display:none}
#stay .compact,#stay .compact:nth-of-type(even) {grid-template-columns:1fr;gap:18px;padding:26px 0}
#stay .compact:nth-of-type(3) .room-images,#stay .compact:nth-of-type(4) .room-images {width:100%}
#stay .compact .shot {aspect-ratio:16/9}
#take-your-time {padding-block:44px}
#take-your-time .filmstrip {gap:8px}
#take-your-time .filmstrip>.shot {aspect-ratio:3/4}
#take-your-time .filmstrip .shot-label {padding:8px}
#take-your-time .filmstrip .shot-title {font-size:9px;letter-spacing:0}
.reviews-grid {grid-template-columns:1fr;gap:18px}
#reviews {padding-block:30px}
#good-to-know {padding-block:44px}
#closing .closing {padding-bottom:32px}
}

/* V4 approved spacing refinement. V3 identity and layouts retained. */
.inset {padding-block:60px}
.hero-copy {padding-block:40px}
.hero:not(.hero--home)>.shot {min-height:460px}
.room-feature {padding-block:44px}
.intro {margin-bottom:42px}
.comfort-columns {margin-top:28px}
.closing {padding-block:52px}
.closing--night>.shot {min-height:310px}
.footer-brand {padding-top:34px;padding-bottom:0}
.footer-content {padding-top:36px;padding-bottom:20px}
.footer-bottom {margin-top:26px;padding-top:18px}
.site-header nav {gap:clamp(15px,1.8vw,28px)}
body[data-page="index.html"] #stay {padding-block:44px}
#take-your-time {padding-block:44px}
#good-to-know {padding-block:44px}
#closing .closing {padding-bottom:34px}
body[data-page="eat.html"] #sunset {padding-block:30px}
body[data-page="eat.html"] #opening-hours {padding-block:30px}
body[data-page="eat.html"] #opening-hours .hours {margin-block:24px}
body[data-page="our-story.html"] .inset {padding-block:48px}
body[data-page="our-story.html"] #people .people-strip {grid-template-columns:1fr 1fr;margin-top:24px;gap:24px;max-width:76%;margin-left:auto}
body[data-page="our-story.html"] #people .people-strip .shot {aspect-ratio:16/9}
body[data-page="our-story.html"] #people .people-strip h3 {font-family:var(--body);font-size:14px;letter-spacing:0;line-height:1.5;margin-top:12px;max-width:none}
body[data-page="our-story.html"] #closing .closing {padding-block:36px}
body[data-page="contact.html"] .inset {padding-block:30px}
body[data-page="contact.html"] .contact-intro {padding-top:40px;padding-bottom:12px}
body[data-page="contact.html"] #contact-details {padding-top:24px;padding-bottom:22px}
body[data-page="contact.html"] .contact-grid {gap:60px}
body[data-page="contact.html"] .contact-links {margin-top:24px}
body[data-page="contact.html"] .map-placeholder {min-height:150px;margin-top:20px;padding:20px}
body[data-page="contact.html"] #transfer {max-width:none}
body[data-page="contact.html"] #booking {padding-top:20px;padding-bottom:32px}
body[data-page="contact.html"] input,body[data-page="contact.html"] textarea {margin-bottom:16px;padding:10px}
body[data-page="contact.html"] .map-placeholder p+p {margin-top:12px}
body[data-page="good-to-know.html"] .faq-intro {padding-top:60px;padding-bottom:31px}
body[data-page="good-to-know.html"] .faq-body {padding-top:0;padding-bottom:18px}
body[data-page="good-to-know.html"] .accordions summary {padding-block:17px}
body[data-page="good-to-know.html"] #contact {padding-top:30px;padding-bottom:36px}
@media(max-width:1100px) and (min-width:901px) {
.site-header {gap:16px}.site-header .brand {width:190px;min-width:170px}.site-header nav {gap:16px}.site-header nav a {font-size:10px}
}
@media(max-width:900px) {
.inset {padding-block:44px}
.hero:not(.hero--home)>.shot {min-height:430px}
.site-header nav {gap:0}
}
@media(max-width:650px) {
.inset {padding-block:38px}
.hero-copy {padding-top:32px;padding-bottom:8px}
.hero:not(.hero--home)>.shot {min-height:0}
.room-feature {padding-block:28px}
.closing {padding-block:34px}
.closing--night>.shot {min-height:220px}
.footer-brand {padding-top:22px;padding-bottom:0}
.footer-content {padding-top:24px;padding-bottom:22px}
.footer-content>nav {gap:4px 30px}
.footer-bottom {margin-top:24px;padding-top:18px;gap:16px}
body[data-page="index.html"] #stay,#take-your-time,#good-to-know {padding-block:34px}
#closing .closing {padding-bottom:26px}
body[data-page="eat.html"] #sunset,body[data-page="eat.html"] #opening-hours {padding-block:24px}
body[data-page="our-story.html"] .inset {padding-block:36px}
body[data-page="our-story.html"] #people .people-strip {max-width:none;gap:14px}
body[data-page="our-story.html"] #people .people-strip .shot {aspect-ratio:4/3}
body[data-page="our-story.html"] #closing .closing {padding-block:28px}
body[data-page="contact.html"] .inset {padding-block:22px}
body[data-page="contact.html"] .contact-intro {padding-top:32px;padding-bottom:8px}
body[data-page="contact.html"] .contact-grid {gap:28px}
body[data-page="contact.html"] .map-placeholder {min-height:125px}
body[data-page="contact.html"] #booking {padding-block:20px}
body[data-page="good-to-know.html"] .faq-intro {padding-top:40px;padding-bottom:21px}
body[data-page="good-to-know.html"] .faq-body {padding-top:0;padding-bottom:12px}
body[data-page="good-to-know.html"] .accordions summary {padding-block:16px}
body[data-page="good-to-know.html"] #contact {padding-top:18px;padding-bottom:24px}
}

/* Final compactness adjustment after V3/V4 height comparison. */
.footer-brand {padding-top:30px}
.footer-content {padding-top:32px}
body[data-page="contact.html"] .inset {padding-block:22px}
body[data-page="contact.html"] .contact-intro {padding-top:32px;padding-bottom:8px}
body[data-page="contact.html"] #contact-details {padding-top:18px;padding-bottom:18px}
body[data-page="contact.html"] h2 {font-size:32px;margin-bottom:16px}
body[data-page="contact.html"] textarea {height:110px;min-height:110px}
body[data-page="contact.html"] .map-placeholder {min-height:110px;padding:14px;margin-top:14px}
body[data-page="contact.html"] #booking {padding-block:16px}
body[data-page="good-to-know.html"] .accordions summary {padding-block:16px}
@media(max-width:650px) {
.footer-brand {padding-top:20px}
.footer-content {padding-top:22px}
body[data-page="contact.html"] .inset {padding-block:16px}
body[data-page="contact.html"] .contact-grid {gap:20px}
body[data-page="contact.html"] h1 {margin-bottom:18px}
body[data-page="contact.html"] .contact-links {margin-top:16px}
body[data-page="contact.html"] .map-placeholder {min-height:100px}
body[data-page="contact.html"] #booking {padding-block:14px}
}


/* V4 footer-only revision — 10 October 2026.
   Text placeholders identify pending official badge assets; no platform logos are recreated. */
.site-footer .footer-brand {display:flex;align-items:center;justify-content:space-between;gap:48px;padding-top:18px;padding-bottom:0}
.site-footer .footer-brand>a {width:340px;flex:0 0 340px}
.site-footer .footer-recognition {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:center;width:min(620px,54%)}
.site-footer .recognition-placeholder {padding:6px 0 6px 18px;border-left:1px solid var(--sand)}
.site-footer .recognition-name {display:block;font-size:14px;line-height:1.4;letter-spacing:.02em}
.site-footer .recognition-score {white-space:nowrap}
.site-footer .recognition-status {display:block;font-size:10px;line-height:1.4;margin-top:4px;color:var(--ivory);opacity:.8}
.site-footer .footer-content {padding-top:12px;padding-bottom:14px;max-width:1680px;margin:auto}
.site-footer .footer-content>nav {gap:8px 30px}
.site-footer .footer-content>nav a {padding-block:7px}
.site-footer .footer-content>nav .button {min-height:40px;padding-block:8px}
.site-footer .footer-bottom {margin-top:14px;padding-top:12px}
.site-footer .legal-notes {margin-top:0}
.site-footer .legal-notes:has(details[open]),.site-footer .legal-notes:has(details:target) {margin-top:12px}
@media(max-width:1100px) {
.site-footer .footer-brand {gap:30px}
.site-footer .footer-recognition {gap:16px;width:54%}
.site-footer .recognition-placeholder {padding-left:12px}
.site-footer .recognition-name {font-size:12px}
}
@media(max-width:900px) and (min-width:651px) {
.site-footer .footer-brand>a {width:280px;flex-basis:280px}
.site-footer .footer-content>nav {gap:4px 20px}
}
@media(max-width:650px) {
.site-footer .footer-brand {flex-direction:column;align-items:flex-start;gap:12px;padding-top:14px;padding-bottom:0}
.site-footer .footer-brand>a {width:min(340px,80%);flex:0 0 auto}
.site-footer .footer-recognition {width:100%;gap:12px}
.site-footer .recognition-placeholder {padding:2px 0 2px 8px}
.site-footer .recognition-name {font-size:11px;letter-spacing:0}
.site-footer .recognition-status {font-size:9px;margin-top:3px}
.site-footer .footer-content {padding-top:10px;padding-bottom:12px}
.site-footer .footer-content>nav {gap:0 24px}
.site-footer .footer-content>nav a {padding-block:6px}
.site-footer .footer-content>nav .button {min-height:36px;padding-block:6px}
.site-footer .footer-bottom {margin-top:10px;padding-top:8px;gap:4px}
.site-footer .legal-links {gap:18px}
.site-footer .legal-links a {padding-block:6px;min-height:32px}
}

@media(max-width:650px) {
.site-footer .footer-brand {gap:8px;padding-top:12px}
.site-footer .footer-content {padding-top:6px;padding-bottom:8px}
.site-footer .footer-content>nav {grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px}
.site-footer .footer-content>nav a {font-size:10px;letter-spacing:.06em;padding-block:5px}
.site-footer .footer-content>nav .button {grid-column:1/3;width:126px;min-height:34px}
.site-footer .footer-bottom {margin-top:8px;padding-top:6px}
}


/* V5 spacing corrections: shared scale for equivalent main-page elements.
   Header, HOME hero, footer and typography/color declarations remain unchanged. */
:root {
  --section-space:48px;
  --section-space-compact:32px;
  --section-space-small:20px;
  --heading-gap:20px;
  --content-gap:20px;
  --media-gap:24px;
  --opening-space:32px;
  --closing-space:32px;
  --editorial-hero-height:460px;
  --room-hero-height:640px;
}
#main>section.section.inset {padding-block:var(--section-space)}
#main>section.section.text-section,#main>section.section.small-section {padding-block:var(--section-space-compact)}
#main .spread>.copy {padding-block:0}
#main .copy h2,#main .room-copy h2,#main .room-copy h3,#main>section>h2 {margin-bottom:var(--heading-gap)}
#main .copy>.kicker,#main .room-copy>.kicker,#main>section>.kicker {margin-bottom:18px}
#main .copy>.button,#main .copy>.text-link {margin-top:var(--content-gap)}
#main .hero:not(.hero--home) {min-height:var(--editorial-hero-height)}
#main .hero:not(.hero--home)>.hero-copy {padding-block:var(--opening-space);justify-content:flex-start}
#main .hero:not(.hero--home)>.shot {min-height:var(--editorial-hero-height)}
#main .hero:not(.hero--home) h1 {margin-bottom:var(--heading-gap)}
.page--room #main .hero {min-height:var(--room-hero-height)}
.page--room #main .hero>.shot {min-height:var(--room-hero-height)}
.page--room #main .hero .facts {margin-block:18px;gap:10px 20px}
.page--room #main .hero-copy>.button {margin-top:16px}
#main .room-feature {padding-block:var(--section-space-compact)}
#main .room-feature--3>.room-copy {padding-top:0}
#main .section>.pair,#main .section>.filmstrip {margin-top:var(--media-gap)}
#main .comfort-columns {margin-top:var(--media-gap)}
#main .closing {padding-block:var(--closing-space)}
/* Preserve deliberate compact HOME/editorial transitions. */
#main #stay,#main #take-your-time,#main #good-to-know {padding-block:var(--section-space-compact)}
#main #reviews {padding-block:var(--section-space-compact)}
#main #stay .compact {padding-block:24px}
#main #take-your-time .filmstrip {margin-top:20px}
#main #closing .closing {padding-block:var(--closing-space)}
body[data-page="eat.html"] #main #sunset,body[data-page="eat.html"] #main #opening-hours {padding-block:var(--section-space-compact)}
body[data-page="our-story.html"] #main #closing .closing {padding-block:var(--closing-space)}
/* Practical pages retain their intentionally denser layout. */
body[data-page="contact.html"] {--section-space:20px;--section-space-compact:20px;--opening-space:32px}
body[data-page="contact.html"] #main #intro {padding-top:var(--opening-space);padding-bottom:8px}
body[data-page="contact.html"] #main h1 {margin-bottom:16px}
body[data-page="contact.html"] #main #contact-details {padding-block:16px}
body[data-page="contact.html"] #main #booking {padding-block:16px}
body[data-page="good-to-know.html"] #main #intro {padding-top:var(--opening-space);padding-bottom:24px}
body[data-page="good-to-know.html"] #main h1 {margin-bottom:var(--heading-gap)}
body[data-page="good-to-know.html"] #main #questions {padding-top:0;padding-bottom:16px}
body[data-page="good-to-know.html"] #main #contact {padding-top:var(--section-space-small);padding-bottom:var(--section-space-compact)}
@media(max-width:900px) {
:root {--section-space:40px;--section-space-compact:28px;--editorial-hero-height:420px}
}
@media(max-width:650px) {
:root {--section-space:32px;--section-space-compact:24px;--section-space-small:16px;--heading-gap:18px;--media-gap:20px;--opening-space:28px;--closing-space:24px}
#main .hero:not(.hero--home),.page--room #main .hero {min-height:0;gap:20px}
#main .hero:not(.hero--home)>.hero-copy {padding-top:var(--opening-space);padding-bottom:0}
#main .hero:not(.hero--home)>.shot,.page--room #main .hero>.shot {min-height:0;aspect-ratio:4/3}
#main .spread {gap:var(--media-gap)}
#main .room-feature {gap:var(--media-gap)}
#main .closing--night {gap:var(--media-gap)}
body[data-page="contact.html"] {--section-space:16px;--section-space-compact:16px;--opening-space:28px}
body[data-page="contact.html"] #main #booking {padding-block:14px}
body[data-page="good-to-know.html"] #main #intro {padding-bottom:20px}
body[data-page="good-to-know.html"] #main #contact {padding-top:16px;padding-bottom:24px}
}

/* V5 final footer: official KAYAK embed; Booking/Tripadvisor are explicitly temporary. */
.site-footer .footer-brand {gap:32px;padding-top:12px}
.site-footer .footer-recognition {width:400px;flex:0 0 400px;grid-template-columns:repeat(3,120px);gap:20px}
.site-footer .recognition-badge {width:120px;height:120px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:10px}
.site-footer .recognition-badge--booking {background:#003b95;color:var(--ivory)}
.site-footer .recognition-badge--tripadvisor {background:#34e0a1;color:var(--teal)}
.site-footer .badge-name {font-family:var(--body);font-size:13px;line-height:1.2;letter-spacing:0}
.site-footer .badge-score {font-size:34px;line-height:1.1}
.site-footer .badge-status,.site-footer .badge-note {font-size:10px;line-height:1.3}
.site-footer .recognition-badge--kayak {padding:0}
.site-footer .recognition-badge--kayak>a {display:block;width:100%;height:100%}
.site-footer .recognition-badge img {width:100%;height:100%;max-width:100%;object-fit:contain}
.site-footer .footer-content {padding-top:8px;padding-bottom:10px}
.site-footer .footer-bottom {margin-top:10px;padding-top:8px}
@media(max-width:900px) {
.site-footer .footer-brand {flex-wrap:wrap;gap:12px 24px}
}
@media(max-width:650px) {
.site-footer .footer-recognition {width:100%;max-width:400px;flex:0 0 auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.site-footer .recognition-badge {width:100%;max-width:120px;height:auto;aspect-ratio:1;padding:8px;gap:5px}
.site-footer .recognition-badge--kayak {padding:0}
.site-footer .badge-name {font-size:12px}
.site-footer .badge-score {font-size:30px}
.site-footer .badge-status,.site-footer .badge-note {font-size:9px}
.site-footer .footer-content {padding-top:6px;padding-bottom:8px}
.site-footer .footer-bottom {margin-top:8px;padding-top:6px}
}
/* Only the updated breakfast copy receives tighter paragraph gaps. */
body[data-page="eat.html"] #main #breakfast .copy p+p {margin-top:12px}
body[data-page="eat.html"] #main #breakfast .copy .practical {margin-top:16px}

/* Keep the remote image from contributing an intrinsic height to its mobile square. */
.site-footer .recognition-badge--kayak {position:relative;min-height:0}
.site-footer .recognition-badge--kayak>a {position:absolute;inset:0}
@media(max-width:350px) {
.site-footer .recognition-badge {padding:6px;gap:3px}
.site-footer .recognition-badge--kayak {padding:0}
.site-footer .badge-name {font-size:11px}
.site-footer .badge-score {font-size:24px}
.site-footer .badge-status,.site-footer .badge-note {font-size:8px}
}


/* V5 badge-only adjustment: resort-confirmed values; official KAYAK asset untouched. */
.site-footer .footer-recognition {width:208px;max-width:none;flex:0 0 auto;grid-template-columns:repeat(3,60px);gap:14px}
.site-footer .recognition-badge {width:60px;height:60px;max-width:none;min-height:0;aspect-ratio:1;padding:4px;gap:2px}
.site-footer .recognition-badge--kayak {padding:0}
.site-footer .badge-name {font-size:8px;line-height:1.2}
.site-footer .badge-score {font-size:20px;line-height:1}
.site-footer .badge-year {font-size:8px;line-height:1.1}

/* V5 final refinements: existing map footprint, four ratings and mobile footer menu. */
body[data-page="contact.html"] .map-placeholder.map-embed {display:block;position:relative;height:114.875px;padding:0;overflow:hidden}
.map-embed iframe {display:block;width:100%;height:100%;border:0;border-radius:inherit}
.site-footer {--badge-size:54px;--badge-gap:14px}
.site-footer .footer-recognition {width:calc(4 * var(--badge-size) + 3 * var(--badge-gap));grid-template-columns:repeat(4,var(--badge-size));gap:var(--badge-gap)}
.site-footer .recognition-badge {width:var(--badge-size);height:var(--badge-size);padding:3px;gap:2px;border:0;box-shadow:none}
.site-footer .recognition-badge--kayak {padding:0}
.site-footer .recognition-badge img {width:100%;height:100%;object-fit:contain}
.site-footer .badge-name {font-size:7.5px;line-height:1.2;white-space:nowrap}
.site-footer .badge-score {font-size:18px;line-height:1;white-space:nowrap}
.site-footer .badge-out-of {font-size:8px;font-weight:400}
.site-footer .badge-year,.site-footer .badge-context {font-size:8px;line-height:1.1}
.site-footer .recognition-badge--google {background:transparent;color:var(--ivory)}
.site-footer .recognition-badge--google .badge-name {font-size:11px}
.site-footer .footer-menu-button {display:none}
.footer-menu-panel,.footer-menu-links {display:contents}
@media(max-width:650px) {
  body[data-page="contact.html"] .map-placeholder.map-embed {height:116.75px}
  .site-footer {--badge-size:45px;--badge-gap:12px}
  .site-footer .footer-brand {align-items:center;gap:10px}
  .site-footer .footer-recognition {justify-content:center}
  .site-footer .recognition-badge {padding:2px;gap:1px}
  .site-footer .recognition-badge--kayak {padding:0}
  .site-footer .badge-name {font-size:7px}
  .site-footer .badge-score {font-size:16px}
  .site-footer .badge-out-of {font-size:7px}
  .site-footer .badge-year,.site-footer .badge-context {font-size:7px}
  .site-footer .recognition-badge--google .badge-name {font-size:10px}
  .site-footer .footer-content {padding-top:12px;padding-bottom:12px}
  .site-footer .footer-content>nav {display:grid;grid-template-columns:auto auto;justify-content:center;gap:0 12px}
  .js .site-footer .footer-menu-button {display:block;grid-column:1;grid-row:1}
  .site-footer .footer-content>nav .button {grid-column:2;grid-row:1;margin:0;width:112px;max-width:none;min-height:40px;padding:8px 16px}
  .footer-menu-panel {display:grid;grid-template-rows:1fr;grid-column:1 / -1;grid-row:2}
  .footer-menu-links {display:flex;flex-direction:column;align-items:center;min-height:0;overflow:hidden}
  .footer-menu-links::before {content:'';display:block;height:8px;flex-shrink:0}
  .site-footer .footer-menu-links a {display:flex;align-items:center;justify-content:center;width:100%;min-height:36px;font-size:11px;letter-spacing:.08em;padding:6px 0}
  .footer-menu-links a span {display:none}
  .js .footer-menu-panel {grid-template-rows:0fr}
  .js .footer-menu-links {visibility:hidden}
  .footer-menu-ready .footer-menu-panel {transition:grid-template-rows 200ms ease}
  .footer-menu-ready .footer-menu-links {transition:visibility 200ms}
  .js .is-footer-open .footer-menu-panel {grid-template-rows:1fr}
  .js .is-footer-open .footer-menu-links {visibility:visible}
  .site-footer .footer-bottom {align-items:center;text-align:center;gap:4px;margin-top:12px;padding-top:10px}
  .site-footer .legal-links {justify-content:center;gap:0 12px}
}
@media(max-width:350px) {
  body[data-page="contact.html"] .map-placeholder.map-embed {height:139.5px}
}
@media(prefers-reduced-motion:reduce) {
  .footer-menu-ready .footer-menu-panel,.footer-menu-ready .footer-menu-links {transition:none}
}

/* V5 targeted refinement update: LOCATION only; compact recognition through tablet. */
body[data-page="contact.html"] #location.location-editorial {display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:clamp(28px,4vw,56px);align-items:center}
.location-editorial .location-copy {min-width:0}
.location-editorial .location-copy>.kicker {margin-bottom:18px}
.location-editorial .location-copy>h2 {margin-bottom:var(--heading-gap)}
.location-editorial .location-copy>.text-link {margin-top:14px}
body[data-page="contact.html"] #location .map-placeholder.location-map {width:100%;height:340px;min-height:0;margin:0;padding:0;border-radius:8px;border:0;box-shadow:none}
@media(max-width:768px) {
  body[data-page="contact.html"] #location.location-editorial {grid-template-columns:minmax(0,1fr);gap:20px}
  body[data-page="contact.html"] #location .map-placeholder.location-map {height:260px}
  .site-footer {--badge-size:36px;--badge-gap:10px}
  .site-footer .footer-recognition {justify-content:center}
  .site-footer .recognition-badge {padding:1px;gap:1px;border-radius:6px;border:0;box-shadow:none}
  .site-footer .recognition-badge--kayak {padding:0}
  .site-footer .recognition-badge img {border-radius:6px;object-fit:contain}
  .site-footer .badge-name {font-size:6px;line-height:1.2}
  .site-footer .badge-score {font-size:13px;line-height:1}
  .site-footer .badge-out-of {font-size:6px}
  .site-footer .badge-year,.site-footer .badge-context {font-size:6px;line-height:1.1}
  .site-footer .recognition-badge--google .badge-name {font-size:8px}
}

/* V5 final contact/footer refinements: existing badge geometry; confirmed contact links. */
.site-footer .recognition-badge,.site-footer .recognition-badge img {border-radius:6px}
.contact-methods {margin:0;display:grid;gap:6px}
.contact-methods>div {display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center}
.contact-methods dt {font-size:10px;line-height:1.5;letter-spacing:.12em}
.contact-methods dd {margin:0;min-width:0}
.contact-methods a {display:inline-flex;align-items:center;min-height:44px;padding-block:8px;max-width:100%;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
@media(max-width:650px) {
  .contact-methods>div {grid-template-columns:64px minmax(0,1fr);gap:8px}
  body[data-page="contact.html"] #main #location {padding-bottom:13.6px}
  body[data-page="contact.html"] #main #transfer {padding-top:13.6px;padding-bottom:13.6px}
  body[data-page="contact.html"] #main #booking {padding-top:11.9px}
}

/* Restore the existing V5 footer pill; the actual header remains unchanged. */
@media(max-width:650px) {
  .js .site-footer .footer-menu-button {display:inline-flex;align-items:center;justify-content:center;gap:16px;grid-column:1;grid-row:1;min-height:40px;padding:8px 18px;border:1px solid var(--sand);border-radius:999px;background:transparent;color:var(--ivory);font:10px/1.5 var(--body);letter-spacing:.08em}
  .site-footer .footer-menu-button span {display:inline;font-size:16px;line-height:1;transition:transform 200ms ease}
  .footer-menu-button[aria-expanded="true"] span {transform:rotate(180deg)}
}
@media(prefers-reduced-motion:reduce) { .site-footer .footer-menu-button span {transition:none} }

/* Supplied V5 badge artwork: contain within the approved square geometry. */
.site-footer .recognition-badge--asset {padding:0;background:transparent}

/* V5 footer logo only: rendered size ×0.85; reserve layout to keep all neighbours fixed. */
.site-footer .footer-brand > a > img {transform:scale(.85);transform-origin:left center}
@media(max-width:650px) {
  .site-footer .footer-brand > a > img {transform-origin:center center}
}

/* Two-tone keyboard focus stays visible against light and dark surfaces. */
:root :focus-visible {box-shadow:0 0 0 5px var(--ivory)}
/* Preserve transfer spacing after removing its hidden empty heading. */
body[data-page="contact.html"] #transfer > .kicker + p {margin-top:0}

/* V6 PROMOTIONS — isolated popup styles */
#promotion {width:min(960px,calc(100% - 32px));padding:0;border:1px solid var(--sand);max-height:calc(100svh - 32px)}
#promotion .promotion-layout {display:grid;grid-template-columns:1fr 1fr}
.promotion-visual {min-height:510px;position:relative;background:var(--garden);color:var(--teal);display:flex;align-items:center;justify-content:center}
#promotion-image {width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
#promotion-image-pending {text-align:center;padding:40px 24px}
#promotion-image-pending>p:last-child {font-size:12px;color:var(--muted)}
.promotion-photo-title {font:48px/1.05 var(--display);margin:24px 0}
.promotion-content {padding:54px 40px 36px}
#promotion h2 {font:48px/1.05 var(--display);color:var(--teal);margin:18px 0}
#promotion .dialog-close {z-index:2;background:var(--ivory);color:var(--teal);cursor:pointer}
#promotion-code-area label {font-size:11px;letter-spacing:.12em}
.promotion-code-row {display:flex;border:1px solid var(--sand);margin-top:8px}
#promotion-code {min-width:0;width:100%;border:0;background:transparent;color:var(--teal);padding:12px;font:16px var(--body)}
#copy-code {border:0;border-left:1px solid var(--sand);background:transparent;color:var(--teal);font:11px var(--body);padding:12px;white-space:nowrap;cursor:pointer}
#promotion #copy-status {min-height:22px;margin:4px 0}
#promotion .button {display:flex;justify-content:space-between;margin-top:16px}
#promotion .promotion-terms {font-size:11px;line-height:1.6;color:var(--muted);margin:16px 0 0}
#promotion :focus-visible {outline:2px solid var(--teal);outline-offset:3px}
@media(max-width:650px) {#promotion .promotion-layout {grid-template-columns:1fr}.promotion-visual {min-height:160px;height:160px}#promotion-image-pending {padding:16px}.promotion-photo-title {font-size:30px;margin:8px 0}#promotion-image-pending .kicker {display:none}.promotion-content {padding:28px 24px 24px}#promotion h2 {font-size:38px}}

#copy-code:disabled {opacity:.45;cursor:default}

/* Compact promotion sizing — owner review */
#promotion {width:min(700px,calc(100% - 32px))}
#promotion .promotion-layout {grid-template-columns:.85fr 1.15fr}
#promotion .promotion-visual {min-height:360px}
#promotion .promotion-content {padding:36px 28px 24px}
#promotion h2 {font-size:34px;margin:12px 0}
#promotion-description {font-size:14px;line-height:1.6;margin:12px 0}
#promotion .promotion-photo-title {font-size:34px;margin:16px 0}
#promotion #promotion-image-pending {padding:24px 16px}
#promotion #promotion-code-area {margin-top:16px}
#promotion #promotion-code {font-size:14px;padding:10px}
#promotion #copy-code {padding:10px}
#promotion #copy-status {min-height:18px;font-size:11px}
#promotion .button {margin-top:10px;padding:12px 16px;font-size:11px}
#promotion .promotion-terms {font-size:10px;margin-top:12px}
#promotion .dialog-close {width:36px;height:36px;font-size:22px}
#promotion .kicker {font-size:10px}
@media(max-width:650px) {
  #promotion {width:min(350px,calc(100% - 28px));max-height:calc(100svh - 28px)}
  #promotion .promotion-layout {grid-template-columns:1fr}
  #promotion .promotion-visual {min-height:104px;height:104px}
  #promotion #promotion-image-pending {padding:12px}
  #promotion .promotion-photo-title {font-size:26px;margin:4px 0}
  #promotion #promotion-image-pending>p:last-child {font-size:10px;margin:8px 0 0}
  #promotion .promotion-content {padding:22px 22px 18px}
  #promotion h2 {font-size:30px;margin:10px 0}
  #promotion-description {font-size:13px;line-height:1.55;margin:10px 0}
  #promotion #promotion-code-area {margin-top:12px}
}

/* Smaller popup and compact code field */
#promotion {width:min(560px,calc(100% - 28px))}
#promotion .promotion-visual {min-height:290px}
#promotion .promotion-content {padding:28px 22px 18px}
#promotion h2 {font-size:28px;margin:8px 0}
#promotion-description {font-size:12px;line-height:1.5;margin:8px 0}
#promotion .promotion-photo-title {font-size:28px;margin:12px 0}
#promotion #promotion-code-area {margin-top:12px}
#promotion .promotion-code-row {width:100%;max-width:230px;height:34px;align-items:stretch;margin-top:5px}
#promotion #promotion-code {width:100%;min-height:0;height:32px;margin:0;padding:6px 9px;font-size:12px;line-height:20px;border-radius:0}
#promotion #copy-code {min-height:0;height:32px;margin:0;padding:6px 8px;font-size:9px;line-height:20px}
#promotion #promotion-code-area label {font-size:9px}
#promotion #copy-status {min-height:14px;font-size:10px;margin:2px 0}
#promotion .button {padding:10px 12px;font-size:10px;margin-top:8px;min-height:0}
#promotion .promotion-terms {font-size:9px;line-height:1.45;margin-top:8px}
#promotion .dialog-close {width:30px;height:30px;font-size:19px}
@media(max-width:650px) {
 #promotion {width:min(300px,calc(100% - 28px))}
 #promotion .promotion-visual {min-height:76px;height:76px}
 #promotion .promotion-photo-title {font-size:21px;margin:2px 0}
 #promotion #promotion-image-pending {padding:8px}
 #promotion #promotion-image-pending>p:last-child {font-size:9px;margin:4px 0 0}
 #promotion .promotion-content {padding:16px 18px 14px}
 #promotion h2 {font-size:25px}
}

/* Provisional photo preview: unassigned slots retain their approved geometry. */
.shot[data-photo]:not(.has-photo) .shot-label {visibility:hidden}
/* Keep the approved dark headline legible over this provisional photograph. */
.hero--home>.shot.has-photo::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,246,239,.62) 0%,rgba(248,246,239,.50) 42%,rgba(248,246,239,.02) 76%,transparent 100%);pointer-events:none}
