/* Mobile section rhythm: distinguish major sections from their internal groups. */
@media(max-width:767px){
 main>.section{padding-block:48px 56px;border-top:1px solid var(--brand-sand);border-bottom:0;position:relative}
 main>.section::before{content:'';position:absolute;top:-1px;left:24px;width:48px;height:3px;background:var(--brand-blue)}
 .hero{padding-bottom:32px}
 .stay-section,.gallery-section,.location-section{background:var(--ui-paper)}
 .structure-section,.experiences-section{background:#ead8c9}
 .section-heading{gap:16px;margin-bottom:32px}
 .section-heading>.eyebrow,.location-heading>div>.eyebrow,.contact-copy>.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:600;letter-spacing:.12em;margin-bottom:8px}
 .section-heading>.eyebrow::after,.location-heading>div>.eyebrow::after{content:'';height:1px;background:var(--brand-sand);flex:1;min-width:24px}
 .section-heading h2{line-height:1.18}
 .photo-aside{padding-top:24px;border-top:1px solid var(--brand-sand)}
 .gallery-grid{gap:36px}
 .gallery-grid figcaption{padding-bottom:16px;border-bottom:1px solid var(--brand-sand)}
 .experiences-section .fine-print{margin-top:24px}
 .location-heading{margin-bottom:32px}
 main>.contact-section{background:var(--brand-yellow);padding-bottom:40px}
 .contact-copy{padding-top:0}
 .contact-copy>.eyebrow{color:var(--brand-blue)!important}
 .contact-layout{gap:36px}
 .footer{border-top:1px solid var(--brand-sand);padding-top:40px}
}
@media(max-width:359px){main>.section::before{left:18px}}

/* Smartphone opening: copy left, photo right, with a soft horizontal fade. */
@media(max-width:767px){
 .hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px 12px;padding:28px 0 24px 18px;align-items:center}
 .hero-copy{grid-column:1;grid-row:1;min-width:0;padding:8px 0 36px}
 .hero-image{grid-column:2;grid-row:1;align-self:stretch;height:auto;min-height:0;margin:0 0 36px;min-width:0}
 .hero-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:45% center;outline:none}
 .hero-image:after{background:linear-gradient(90deg,var(--ui-paper) 0%,transparent 42%)}
 .hero-image figcaption{bottom:-34px;left:0;right:12px;display:block;padding:8px 0 0;font-size:8px;line-height:1.6}
 .hero-image figcaption span{display:block}
 .hero-mark{width:36px;height:36px;margin-bottom:20px}
 .hero-copy .eyebrow{font-size:8px;letter-spacing:.06em;line-height:1.7;display:block}
 .hero-copy .small-line{display:none}
 .hero h1{font-size:clamp(24px,6.6vw,42px);line-height:1.2;margin-top:18px;letter-spacing:-.045em}
 .hero h1 span{display:inline}
 .hero-description{font-size:13px;line-height:1.75;margin-top:18px}
 .hero .button{width:100%;padding:14px 12px;font-size:12px;gap:10px;margin-top:20px;min-height:48px}
 .hero-note{margin-top:24px;padding-top:18px;gap:10px;align-items:flex-start}
 .hero-note img{width:26px;height:26px;flex:none}
 .hero-note p{font-size:10px;line-height:1.7}
 .hero .explore-link{grid-column:1/-1;padding-left:0;min-height:44px}
}

