.lang-switch a { text-decoration:none; display:block; }
.hero-brand { font-family:'Playfair Display',Georgia,serif; font-size:clamp(2.1rem,5.4vw,4.1rem); font-weight:600; color:#F4EADE; line-height:1.12; text-shadow:0 2px 30px rgba(0,0,0,.35); }
.hero h1 { font-size:clamp(1.25rem,2.5vw,2rem); line-height:1.35; margin:20px auto 0; max-width:850px; }
.hero-tagline { font-family:'Playfair Display',Georgia,serif; font-style:italic; font-size:clamp(1.1rem,2vw,1.45rem); color:#F4EADE; margin-top:20px; }
.hero-content { padding-top:110px; padding-bottom:75px; }
.hero-intro { font-size:14px; line-height:1.9; color:#F4EADE; margin:26px auto 0; max-width:710px; }
.residence-intro { font-size:16px; color:#5a6275; max-width:820px; text-align:center; line-height:1.9; margin:0 auto 24px; }
.residence-intro + .grid { margin-top:50px; }
.photo-gallery { border-top:1px solid #c69b3c66; margin-top:45px; padding-top:25px; }
.photo-gallery summary { cursor:pointer; font-size:16px; color:#0F172A; padding:12px 0; }
.photo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:20px; }
.photo-grid button { border:0; background:#eee5d9; overflow:hidden; cursor:pointer; }
.photo-grid img { width:100%; height:180px; object-fit:cover; transition:transform .25s; }
.photo-grid button:hover img { transform:scale(1.04); }
.context-link { text-align:center; font-size:15px; margin:28px 0; }
.context-link a { color:#765b20; text-decoration:underline; text-underline-offset:4px; }
.form-reassurance { font-size:13px; color:#d7d7db; line-height:1.8; margin-top:12px; }
.concierge-input::placeholder,.concierge-textarea::placeholder { color:#a9b3c6; opacity:1; }
.calendar-note { font-size:13px; color:#5a6275; line-height:1.7; margin:14px 0; }
button.cal-day { font:inherit; border:0; }
.cal-day.checkout-allowed { pointer-events:auto; cursor:pointer; opacity:1; outline:1px dashed #C69B3C; }
.cal-day:disabled { cursor:default; }
.cal-feedback { min-height:50px; }
.slideshow-wrap[role=button] { cursor:pointer; }
:focus-visible { outline:3px solid #C69B3C; outline-offset:5px; }
.skip-link { position:fixed; left:16px; top:-120px; background:#F4EADE; color:#0F172A; padding:12px 20px; z-index:1000; }
.skip-link:focus { top:12px; }
.assurance-item h3 { font-family:'Playfair Display',Georgia,serif; }
.js #mobile-menu:not(.visible) { visibility:hidden; }
.story-block p,.loft-atout p { font-size:15px; }
.story-block h3 { font-size:18px; }
@media (max-width:600px) {
 .hero-content { padding-top:120px; padding-bottom:75px; }
 .hero-brand { font-size:2.25rem; }
 .hero h1 { font-size:1.25rem; }
 .hero-intro { font-size:13px; }
 .photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .photo-grid img { height:145px; }
 #concierge-form > div[style*="grid-template-columns"] { grid-template-columns:1fr!important; gap:0!important; }
 .btn-discover { white-space:normal; text-align:center; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto!important; }
 *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
 .js .reveal { opacity:1; transform:none; }
}
