/* Shared navigation and apartment pages. */
.homes-menu{position:relative;flex-shrink:0}
.homes-menu>summary{font-size:14px;min-height:44px;padding:12px 0;gap:10px}
.homes-menu>summary::after{content:'⌄';font-size:18px;transition:transform .2s}
.homes-menu[open]>summary::after{transform:rotate(180deg)}
.homes-links{position:absolute;top:100%;left:0;width:320px;max-width:calc(100vw - 48px);padding:12px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 25px #253f3518}
.homes-links a{display:block;padding:12px;font-size:14px;line-height:1.5;border-radius:2px}
.homes-links a:hover,.homes-links a:focus-visible,.homes-links a[aria-current=page]{background:var(--pale)}
.homes-links a:first-child{border-bottom:1px solid var(--line)}
.homes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:30px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--ink)}
.home-card h3{font-family:var(--serif);font-size:28px;line-height:1.3;margin:20px 0 12px;overflow-wrap:anywhere}
.home-card h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.home-card .home-capacity{color:var(--orange);font-size:17px;margin-bottom:26px}
.home-card>.text-link{font-size:15px;margin-top:auto;gap:16px}
.homes-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));margin:30px 0}
.stay-hero{padding-top:26px;padding-bottom:50px}
.stay-back{font-size:15px;margin-bottom:36px}
.stay-hero-grid{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:56px}
.stay-hero h1{font-size:clamp(38px,4.1vw,62px);line-height:1.15;letter-spacing:-1.5px;margin:18px 0}
.stay-hero p:not(.eyebrow){font-size:17px;max-width:55ch}
.stay-hero .stay-capacity{font-size:23px;color:var(--orange);margin:0 0 18px}
.stay-hero .button{margin-top:28px;font-size:15px}
.habitation-page figure{margin:0;min-width:0}
.habitation-page figcaption{font-size:14px;margin-top:12px;color:var(--muted)}
.stay-hero figure>.photo-crop{border-radius:65px 3px 3px 3px}
.stay-toc{display:flex;flex-wrap:wrap;gap:8px 24px;border-block:1px solid var(--line);padding-block:16px}
.stay-toc a{font-size:15px;padding-block:10px;text-decoration:underline;text-underline-offset:5px}
.stay-toc a:hover{color:var(--orange)}
.stay-section{padding-block:64px}
.stay-section h2{font-size:clamp(30px,3vw,43px);letter-spacing:-1px;margin:10px 0 24px}
.stay-section p{max-width:70ch;font-size:16px}
.stay-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}
.stay-facts>div{padding:24px;background:var(--pale)}
.stay-facts h3{font-size:16px;margin-bottom:10px}
.stay-facts p{font-family:var(--serif);font-size:28px}
.stay-tinted{background:var(--pale)}
.stay-photos{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:28px;margin-top:30px}
.stay-photos button{display:block;width:100%;padding:0;position:relative}
.photo-action{position:absolute;bottom:16px;right:16px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--paper);font-size:22px}
.stay-equipment{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.stay-list{list-style:none;padding:0;margin:0 0 24px}
.stay-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:17px}
.stay-practical{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}
.stay-practical .address{color:var(--ink);font-size:17px;margin-top:30px}
.stay-practical .address a{font-size:16px}
.stay-practical .text-link{margin-top:24px;font-size:16px}
.habitation-page .contact-copy>p:not(.eyebrow){font-size:16px}
.habitation-page .contact-links a{overflow-wrap:anywhere;display:block}
.habitation-page .contact-grid>*{min-width:0}
@media(min-width:1101px) and (max-width:1300px){.header nav,.header nav>a,html:not([lang=fr]) .header nav>a,.homes-menu>summary{font-size:13px}.header{gap:14px}.header nav,html:not([lang=fr]) .header nav{gap:14px}.header .button-small{gap:10px}}
@media(max-width:1300px){
 .header{height:88px;padding-inline:28px;gap:18px}
 .header .language-picker{order:0;margin-left:auto}
 .header .menu-toggle{order:1;margin-left:0;display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:10px;flex-shrink:0}
 .header .menu-toggle span{display:block;width:24px;height:1px;background:var(--ink)}
 .header .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .header .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px 28px 28px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #253f3510}
 .header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:12px}
 .header nav>a:not(.button),html:not([lang=fr]) .header nav>a{display:block;font-size:16px}
 .header nav .button{font-size:15px;margin-top:8px}
 .header nav{max-height:calc(100dvh - 88px);overflow-y:auto}
 .homes-menu>summary{font-size:16px;justify-content:space-between}
 .homes-links{position:static;width:100%;max-width:none;box-shadow:none;background:var(--pale);border:0;border-left:2px solid var(--ink)}
 .homes-links a{font-size:15px}
 .homes-grid{gap:16px}.home-card{padding:22px}.home-card h3{font-size:24px}
 .stay-hero-grid{gap:30px}.stay-equipment,.stay-practical{gap:36px}
 html:not(.navigation-ready) .header{height:auto;min-height:88px;flex-wrap:wrap;padding-block:16px}
 html:not(.navigation-ready) .header nav{display:flex;flex-direction:column;align-items:stretch;position:static;flex-basis:100%;max-height:none}
 html:not(.navigation-ready) .menu-toggle{display:none}
}
@media(max-width:700px){
 .header{height:82px;padding-inline:22px;gap:12px}
 .header nav{max-height:calc(100dvh - 82px)}
 .homes-grid,.homes-grid-two,.stay-hero-grid,.stay-photos,.stay-equipment,.stay-practical{grid-template-columns:minmax(0,1fr)}
 .stay-hero{padding-top:22px;padding-bottom:32px}.stay-back{margin-bottom:28px}
 .stay-hero h1{font-size:40px;overflow-wrap:anywhere}.stay-hero figure>.photo-crop{border-top-left-radius:44px}
 .stay-hero .button{width:100%;font-size:15px}.stay-hero-grid{gap:32px}
 .stay-toc{gap:0 20px}.stay-toc a{font-size:14px}
 .stay-section{padding-block:44px}.stay-equipment{gap:0}.stay-equipment>.stay-section+section{padding-top:0}
 .stay-facts{gap:12px}.stay-facts>div{padding:16px}.stay-facts p{font-size:22px}
 .home-card{padding:26px}.home-card h3{font-size:28px}.stay-photos{gap:30px}
 .habitation-page .contact-grid{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.homes-menu>summary::after{transition:none}}

@media(max-width:370px){.header{padding-inline:16px;gap:7px}}
