/* Each edition has an independent visual grammar; shared controls retain their behaviour. */
body:not(.bonjour-page) { --line: color-mix(in srgb, var(--ink) 17%, var(--paper)); --muted: color-mix(in srgb, var(--ink) 76%, var(--paper)); }
html { scrollbar-color: var(--accent) var(--wash); }
.wordmark { font-family: var(--display); }
.site-header { position: relative; z-index: 5; }
.desktop-nav { gap: 18px; }
.desktop-nav a { white-space: nowrap; }
.menu-ribbon { border-bottom: 8px solid var(--wash); }
.menu-quiet { padding-block: 30px; }
.menu-quiet .desktop-nav { gap: 25px; }
.menu-sidebar .wordmark { border-right: 1px solid var(--line); padding-right: 28px; }
.menu-tabletop { border-block: 1px solid var(--line); margin-top: 16px; }
.menu-tabbed .desktop-nav a { padding: 10px 16px; background: var(--wash); }
.menu-rail .desktop-nav a { border-bottom: 2px solid var(--accent); }
.menu-status { background: var(--ink); color: #fff; max-width: none; }
.menu-status .wordmark svg { color: var(--signal); }
.menu-status a:hover { color: var(--signal); }
.menu-pills .desktop-nav { gap: 6px; }
.menu-pills .desktop-nav a { padding: 8px 13px; border-radius: 40px; background: var(--wash); }
.menu-utility { padding-block: 15px; border-bottom: 1px solid var(--accent); }
.menu-stacked { flex-direction: column; gap: 12px; padding-block: 20px; }
.menu-stacked .wordmark { max-width: none; font-size: 1.5rem; }
.menu-stacked .wordmark span { max-width: none; }
.menu-tabs .desktop-nav { padding: 4px; background: var(--wash); border-radius: 10px; }
.menu-tabs .desktop-nav a { padding-inline: 12px; }
.menu-columns { display: grid; grid-template-columns: 1fr 2fr; border-bottom: 1px solid var(--line); }
.menu-columns .desktop-nav { justify-content: space-between; }
.menu-map .desktop-nav a::before { content: ''; width: 5px; height: 5px; border: 1px solid var(--accent); border-radius: 50%; margin-right: 6px; }
.menu-course { border-bottom: 1px solid var(--accent); max-width: 1280px; }
.menu-book { border-block: 1px solid var(--accent); margin-block: 16px; }
.menu-calendar { border-bottom: 1px solid var(--line); }
.menu-calendar .desktop-nav a { padding-inline: 12px; border-left: 1px solid var(--line); }
.menu-room { margin: 20px auto 0; border-radius: 16px; background: var(--wash); max-width: 1280px; }
.mobile-menu { color: var(--ink); }
.mobile-menu summary { background: var(--paper); border-color: var(--accent); color: var(--accent); }
.edition-hero { padding-top: 40px; padding-bottom: 60px; }
.edition-hero h1 { max-width: 18ch; font-size: clamp(2.65rem,4.8vw,4.8rem); }
.edition-hero h2 { font-size: clamp(1.6rem,2.3vw,2.2rem); }
.edition-hero .intro { margin-top: 20px; }
.edition-hero .hero-photo img { aspect-ratio: 1.7; }
.edition-hero .secondary-photo img { aspect-ratio: 1.35; }
.edition-hero .hero-search { margin-top: 20px; }
.edition-hero .quick-links { grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); }
.edition-hero .quick-links a { padding: 20px 12px; }
.edition-hero .quick-links a > .ui-icon:last-child { display: none; }
.edition-hero .quick-links small { display: block; }
.edition-note { padding-block: 26px; }
.edition-note h2 { margin-bottom: 16px; }
.edition-heading { display: flex; align-items: end; gap: 70px; margin-bottom: 32px; }
.edition-heading .intro { max-width: 40ch; }
.guide-cover { display: grid; grid-template-columns: 1.35fr 1fr; gap: 0; }
.guide-cover > .photo img { aspect-ratio: 1.25; }
.guide-desk { background: var(--wash); padding: 28px; }
.guide-desk .quick-links { display: block; margin-top: 18px; }
.guide-desk .quick-links a { border-top: 1px solid var(--line); }
.edition-village-guide .locality-links { justify-content: space-between; }
.salon-title { max-width: 900px; margin: 5px auto 40px; text-align: center; }
.salon-title h1 { font-weight: 500; font-size: clamp(3.3rem,5.7vw,5.8rem); max-width: none; }
.salon-gallery { display: grid; grid-template-columns: 1.7fr 1fr; gap: 65px; align-items: center; }
.salon-gallery .hero-photo img { aspect-ratio: 1.45; }
.salon-copy .hero-actions { flex-direction: column; align-items: start; }
.edition-luxury-gallery > .edition-note { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--accent); margin-top: 20px; }
/* The retreat widget's secondary text must remain readable on its tinted forecast cards. */
.brand-luxury-gallery .scw { --scw-muted: var(--muted); }
/* A uniform backing protects small attribution text even over bright photographs. */
.brand-luxury-gallery .scw-pc-credit { background: rgba(0, 0, 0, .72); }
/* Filled widget controls use light text, so their focus ring needs its own dark color. */
.brand-luxury-gallery .scw :is(.scw-tab, .scw-btn):focus-visible { outline-color: var(--ink); }
/* Shared link hover colors must not replace light text on the widget's filled buttons. */
.brand-luxury-gallery .scw .scw-btn-primary:hover { color: var(--scw-bg); }
.twelve-heading { display: grid; grid-template-columns: 1fr .4fr; align-items: center; gap: 8%; margin-bottom: 36px; }
.twelve-heading h1 { font-size: clamp(2.5rem,4.2vw,4rem); font-weight: 400; }
.twelve-seal { padding: 20px 10px; text-align: center; background: var(--accent); color: #fff; text-decoration: none; }
.twelve-seal:hover { color: #fff; background: var(--ink); }
.twelve-seal strong { display: block; font: 400 clamp(6rem,13vw,12rem)/1 var(--display); }
.twelve-seal span { display: block; margin-top: 12px; }
.twelve-ledger { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; }
.twelve-ledger .edition-note { padding-top: 0; }
.edition-twelve-directory > .quick-links { border-block: 1px solid var(--accent); margin-top: 24px; }
.edition-group-house { display: grid; grid-template-columns: .9fr 1.1fr; gap: 40px; align-items: center; }
.gather-photos { display: grid; grid-template-columns: 1fr .6fr; align-items: end; gap: 14px; }
.gather-photos .hero-photo img { aspect-ratio: .72; border-radius: 120px 120px 12px 12px; }
.gather-photos .secondary-photo img { aspect-ratio: .8; border-radius: 12px; }
.edition-group-house > .quick-links { grid-column: 1/-1; border-block: 1px solid var(--accent); }
.edition-activity-field { display: grid; grid-template-columns: 1fr 1.4fr; gap: 0 28px; }
.field-copy { background: var(--signal); color: #242329; padding: 36px; align-content: center; }
.field-copy h1 { font-size: clamp(3.4rem,5.6vw,5.8rem); font-weight: 700; }
.field-copy .intro { color: inherit; }
.edition-activity-field > .hero-photo img { height: 100%; aspect-ratio: 1.4; }
.edition-activity-field > .hero-photo { display: flex; flex-direction: column; }
.field-finder { grid-column: 1/-1; padding: 22px 0; border-bottom: 2px solid var(--accent); }
.field-finder .walk-finder { max-width: 720px; margin-inline: auto; }
.atlas-cover { display: grid; grid-template-columns: .8fr 1.5fr; align-items: center; gap: 40px; }
.atlas-cover h1 { font-weight: 500; }
.atlas-cover .hero-photo img { aspect-ratio: 1.65; }
.atlas-river { display: grid; grid-template-columns: .65fr 1.5fr; gap: 40px; margin: 32px 0 0 18%; align-items: center; }
.atlas-river .secondary-photo img { aspect-ratio: 2; }
.atlas-river h2 { color: var(--accent); }
.edition-massif-base { padding-top: 0; }
.massif-board { display: flex; align-items: center; gap: 50px; justify-content: space-between; padding: 35px; background: var(--signal); }
.massif-board h1 { max-width: 20ch; font-size: clamp(2.7rem,4.3vw,4.5rem); font-weight: 400; }
.massif-board .intro { color: var(--ink); }
.massif-board .button { background: var(--ink); border-color: var(--ink); min-width: 200px; }
.edition-massif-base > .hero-photo img { aspect-ratio: 3; }
.massif-connections { border-block: 1px solid var(--ink); margin-top: 18px; }
.massif-connections .locality-links { margin-top: 0; padding-bottom: 14px; justify-content: center; }
.edition-holiday-postcard { display: grid; grid-template-columns: 1fr 1.3fr; gap: 35px 45px; align-items: center; }
.family-copy h1 { color: var(--accent); font-size: clamp(2.8rem,4.8vw,4.6rem); }
.family-copy > .button { margin-top: 26px; border-radius: 30px; }
.family-album { display: grid; grid-template-columns: 1.7fr 1fr; gap: 15px; align-items: center; }
.family-album .hero-photo { padding: 12px; background: #fff; border-radius: 22px; transform: rotate(-2deg); }
.family-album .hero-photo img { aspect-ratio: .85; border-radius: 14px; }
.family-album .secondary-photo { padding-top: 50px; }
.family-album .secondary-photo img { aspect-ratio: .7; border-radius: 70px 70px 14px 14px; }
.family-ideas { grid-column: 1/-1; padding: 25px 30px; background: var(--wash); border-radius: 24px; }
.family-ideas h2 { font-size: 1.75rem; }
.rental-desk { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; margin-bottom: 30px; }
.rental-desk h1 { font-size: clamp(2.6rem,4vw,4rem); }
.rental-spread { display: grid; grid-template-columns: 1.4fr 1fr; gap: 45px; background: var(--wash); padding: 25px; }
.rental-spread .hero-photo img { aspect-ratio: 1.6; }
.rental-spread h2 { font-size: 1.7rem; margin-top: 10px; }
.winter-letter { text-align: center; max-width: 850px; margin: 0 auto 30px; }
.winter-letter h1 { max-width: none; font-size: clamp(3.6rem,6vw,6rem); font-weight: 500; }
.winter-letter .intro { margin: 18px auto; max-width: 50ch; }
.winter-letter .button { background: transparent; color: var(--accent); border-radius: 30px; }
.winter-landscape .hero-photo img { aspect-ratio: 3.3; border-radius: 160px 160px 0 0; }
.edition-winter-window > .quick-links { max-width: 1000px; margin: 18px auto 0; }
.edition-twelve-planner { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.organiser-copy h1 { color: var(--accent); font-size: clamp(2.7rem,4.3vw,4.3rem); }
.organiser-copy .hero-photo { margin-top: 30px; }
.organiser-copy .hero-photo img { aspect-ratio: 2.2; border-radius: 12px; }
.edition-twelve-planner > .budget-panel { border-top: 8px solid var(--accent); background: var(--wash); align-self: start; }
.catalogue-heading { max-width: 850px; margin: 0 auto 30px; text-align: center; }
.catalogue-heading h1 { max-width: none; font-weight: 500; }
.catalogue-heading .intro { margin-inline: auto; }
.catalogue-photos { display: grid; grid-template-columns: 1.6fr 1fr; gap: 20px; }
.catalogue-photos .photo img { aspect-ratio: 2.2; }
.catalogue-photos .secondary-photo img { aspect-ratio: 1.37; }
.catalogue-finder { background: var(--wash); padding: 24px 32px; margin-top: 15px; }
.catalogue-finder .hero-search { max-width: 720px; margin: 0 auto; }
.edition-neighbourhood-atlas { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; }
.neighbourhood-copy h1 { font-size: clamp(2.7rem,4.3vw,4.2rem); }
.neighbourhood-copy .locality-links { display: block; }
.neighbourhood-copy .locality-links a { justify-content: space-between; }
.neighbourhood-pictures { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
.neighbourhood-pictures .hero-photo img { aspect-ratio: .7; }
.neighbourhood-pictures .secondary-photo { margin-top: 80px; }
.neighbourhood-pictures .secondary-photo img { aspect-ratio: .75; }
.neighbourhood-index { grid-column: 1/-1; border-block: 1px solid var(--accent); padding: 15px 0; display: flex; align-items: center; gap: 35px; }
.neighbourhood-index .hero-actions { flex-shrink: 0; }
.table-title { text-align: center; margin: 0 auto 30px; }
.table-title h1 { max-width: none; font-size: clamp(3.5rem,6vw,5.6rem); font-weight: 400; }
.table-setting { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; max-width: 980px; margin: auto; }
.table-setting .hero-photo img { aspect-ratio: 1; border-radius: 48% 48% 0 0; }
.table-setting .intro { font-size: 1.25rem; }
.table-notes { margin-top: 30px; border-block: 1px solid var(--accent); }
.edition-alpine-residences { max-width: 1440px; }
.residence-frame { display: grid; grid-template-columns: 1.6fr 1fr; background: #282522; }
.residence-frame > .hero-photo { display: flex; flex-direction: column; }
.residence-frame .hero-photo img { flex: 1; aspect-ratio: 1.4; }
.residence-frame figcaption { color: #eee4d6; padding: 12px 18px; }
.residence-cover { color: #fff9ee; padding: 40px; align-content: center; }
.residence-cover h1 { font-size: clamp(3rem,4.4vw,4.4rem); font-weight: 400; }
.residence-cover .intro { color: #eee4d6; }
.residence-cover .button { background: #bb9760; color: #282522; border-color: #bb9760; }
.residence-cover a:hover { color: #fff; }
.residence-index { margin-top: 25px; display: grid; grid-template-columns: 1fr 1.6fr; align-items: center; gap: 50px; }
.residence-index .hero-address-list { margin: 0; }
.dispatch-heading { display: grid; grid-template-columns: 1.5fr 1fr; gap: 60px; align-items: end; margin-bottom: 25px; }
.dispatch-heading h1 { font-size: clamp(3.8rem,6.4vw,6rem); line-height: .98; color: var(--accent); max-width: 17ch; }
.dispatch-heading .intro { margin-bottom: 4px; }
.dispatch-scene { display: grid; grid-template-columns: 1.8fr 1fr; gap: 25px; }
.dispatch-scene .hero-photo img { aspect-ratio: 1.8; }
.dispatch-ticket { padding: 25px; background: var(--wash); border-top: 8px solid var(--accent); }
.dispatch-ticket .quick-links { display: block; }
.dispatch-ticket .quick-links a { padding: 15px 0; }
.dispatch-ticket .button { width: 100%; margin-top: 14px; }
.handbook-title { display: flex; align-items: center; gap: 50px; margin: 0 0 26px; }
.handbook-title h1 { flex: 1; font-size: clamp(3.4rem,5.2vw,5.3rem); font-weight: 500; }
.handbook-title .intro { flex: .8; }
.handbook-spread { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 32px; background: var(--wash); }
.handbook-spread .hero-photo img { aspect-ratio: 1.22; }
.handbook-content { border-left: 1px solid var(--line); padding-left: 30px; }
.handbook-content .quick-links { display: block; margin-top: 22px; }
.edition-village-handbook > .hero-guide-links { margin-top: 16px; }
.longstay-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; margin-bottom: 35px; }
.longstay-intro h1 { font-size: clamp(2.8rem,4.6vw,4.6rem); }
.edition-long-stay > .hero-photo img { aspect-ratio: 3.3; }
.longstay-rhythm { margin-top: 20px; border-block: 1px solid var(--accent); }
.apartment-heading { max-width: 780px; margin-bottom: 30px; }
.apartment-heading h1 { font-size: clamp(2.8rem,4.5vw,4.4rem); }
.apartment-window { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--accent); padding: 18px; gap: 24px; border-radius: 18px; background: var(--wash); }
.apartment-desk { padding: 24px; }
.apartment-desk .quick-links { display: block; margin-top: 24px; }
.apartment-window .hero-photo img { aspect-ratio: 1.25; border-radius: 12px; }
.edition-chalet-living { display: grid; grid-template-columns: .85fr 1.1fr; gap: 30px 65px; align-items: center; }
.living-photo .hero-photo img { aspect-ratio: .95; border-radius: 180px 180px 0 0; }
.living-letter h1 { font-size: clamp(3rem,4.7vw,4.8rem); }
.living-contents { grid-column: 1/-1; border-block: 1px solid var(--line); }
.summer-cover { text-align: center; max-width: 950px; margin: 0 auto 30px; }
.summer-cover h1 { max-width: none; font-weight: 400; font-size: clamp(3.5rem,5.8vw,5.8rem); }
.summer-cover .intro { margin-inline: auto; max-width: 60ch; }
.summer-pictures { display: grid; grid-template-columns: 1.7fr 1fr; gap: 28px; align-items: start; }
.summer-pictures .hero-photo img { aspect-ratio: 1.9; border-radius: 12px; }
.summer-pictures .secondary-photo { margin-top: 45px; }
.summer-pictures .secondary-photo img { aspect-ratio: 1.2; border-radius: 12px; }
.summer-plan { display: grid; grid-template-columns: 1fr 1.4fr; gap: 30px; background: var(--signal); padding: 30px; margin-top: 25px; align-items: center; }
/* The lower page follows the publication's own reading rhythm. */
.address-preview, .stories-section { padding-block: 64px; }
.cards-editorial .story { border-top: 2px solid var(--accent); padding-top: 15px; }
.cards-gallery .story .photo img { aspect-ratio: 1.15; }
.cards-specs .place-card { border-radius: 0; border-top: 6px solid var(--accent); }
.cards-rooms .place-card { border-radius: 26px 26px 8px 8px; background: var(--wash); }
.cards-routes .stories-grid { grid-template-columns: 1.4fr 1fr; }
.cards-routes .story:first-child { grid-row: span 2; }
.cards-routes .story:first-child .photo img { aspect-ratio: 1; }
.cards-map .place-card { border-radius: 0; border-color: var(--accent); }
.cards-tickets .place-card { border-radius: 0; border-top: 8px solid var(--signal); }
.cards-postcards .story { padding: 18px; background: #fff; border-radius: 18px; }
.cards-postcards .story:nth-child(even) { background: var(--wash); }
.cards-listings .story { border-bottom: 1px solid var(--accent); padding-bottom: 20px; }
.cards-frames .story .photo { border: 8px solid #fff; }
.cards-blocks .story { background: var(--wash); padding: 22px; border-radius: 12px; }
.cards-tiles .stories-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 45px; }
.cards-tiles .story .photo img { aspect-ratio: 2; }
.cards-addresses .story { border-top: 1px solid var(--accent); padding-top: 20px; }
.cards-menus .story { border-bottom: 1px solid var(--accent); padding-bottom: 25px; }
.cards-portraits .story .photo img { aspect-ratio: .9; }
.cards-chapter .story-body { padding-inline: 15px; }
.cards-notebook .story { border-bottom: 1px solid var(--line); padding-bottom: 24px; }
.cards-floorplan .place-card { border-radius: 0 22px 0 0; background: var(--wash); }
.cards-story .story:first-child { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }
.cards-album .story:nth-child(even) { padding-top: 28px; }
.brand-massif-base .cards-tickets .stories-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.brand-ski-dispatch .cards-tickets .stories-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.brand-ski-dispatch .cards-tickets .story { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
/* Independent closing signatures, with the same accessible destination links. */
.site-footer { max-width: none; padding: 48px max(var(--gutter),calc((100vw - 1184px)/2)); margin: 0; gap: 30px; grid-template-columns: 1.25fr .75fr 1fr; background: var(--wash); border: 0; }
.footer-name { display: flex; align-items: center; gap: 14px; font-family: var(--display); }
.footer-name svg { color: var(--accent); width: 45px; height: 45px; flex: 0 0 45px; }
.footer-signature p { margin-top: 15px; max-width: 45ch; }
.site-footer .footer-links { display: flex; flex-direction: column; gap: 5px; align-items: start; }
.footer-task { display: flex; flex-direction: column; gap: 10px; justify-content: center; }
.footer-task a { display: inline-flex; min-height: 44px; align-items: center; }
.site-footer .ownership { grid-column: 1/-1; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding-top: 22px; font-size: .8rem; }
.footer-index { border-top: 8px solid var(--accent); }
.footer-colophon { text-align: center; grid-template-columns: 1fr; padding-block: 65px; }
.footer-colophon .footer-name { justify-content: center; }
.footer-colophon .footer-signature p { margin-inline: auto; }
.footer-colophon .footer-links, .footer-colophon .footer-task { flex-direction: row; justify-content: center; flex-wrap: wrap; gap: 25px; }
.footer-checklist { background: var(--accent); color: #fff; }
.footer-checklist :is(p,a,svg) { color: #fff; }
.footer-table { border-block: 1px solid var(--accent); background: var(--paper); }
.footer-table .footer-signature { border-right: 1px solid var(--line); padding-right: 30px; }
.footer-fieldnotes { background: var(--signal); }
.footer-atlas { border-top: 2px solid var(--accent); }
.footer-horizon { padding-top: 80px; border-radius: 100px 100px 0 0; }
.footer-terminal { background: #25262a; color: #fff; }
.footer-terminal :is(p,a) { color: #fff; }
.footer-terminal .footer-name svg { color: var(--signal); }
.footer-terminal .footer-task a:first-child { font-size: 1.7rem; font-family: var(--display); }
.footer-postmark { margin: 0 24px 24px; border-radius: 26px; }
.footer-desk { border-top: 1px solid var(--accent); background: var(--paper); }
.footer-ledger .footer-task { border: 1px solid var(--accent); padding: 20px; border-radius: 10px; }
.footer-catalogue { background: var(--accent); color: #fff; }
.footer-catalogue :is(a,p,svg) { color: #fff; }
.footer-map { border-top: 1px solid var(--accent); }
.footer-directory .footer-signature { border-inline: 1px solid var(--line); padding-inline: 25px; }
.footer-house { padding-block: 75px; }
.brand-village-handbook .footer-index { border-top-width: 1px; background: var(--paper); }
.brand-alpine-residences .footer-colophon { background: #282522; color: #fff9ee; }
.brand-alpine-residences .footer-colophon :is(a,p,svg) { color: #fff9ee; }
.brand-hosted-table .footer-table { background: var(--wash); padding-block: 65px; }
.brand-long-stay .footer-ledger { background: var(--paper); border-top: 1px solid var(--accent); }
.brand-summer-album .footer-postmark { background: var(--signal); }
@media(min-width:1101px) {
  .brand-twelve-directory .menu-sidebar .desktop-nav { flex-wrap: wrap; justify-content: end; max-width: 680px; gap: 0 25px; }
  .brand-apartment-index .menu-sidebar { border-left: 12px solid var(--accent); }
  .brand-alpine-residences .menu-quiet { padding-block: 22px; }
  .brand-alpine-residences .menu-quiet .wordmark { font-size: 1.45rem; }
}
@media(max-width:1100px) {
  .menu-columns { display: flex; }
  .menu-stacked { flex-direction: row; }
  .edition-hero { padding-top: 25px; }
  .edition-hero h1 { font-size: clamp(2.5rem,5.7vw,4rem); }
  .salon-gallery, .table-setting { gap: 30px; }
  .dispatch-ticket { padding: 20px; }
  .handbook-spread { padding: 24px; gap: 22px; }
  .handbook-content { padding-left: 20px; }
  .guide-desk { padding: 20px; }
  .guide-desk .hero-search > div, .apartment-desk .hero-search > div { flex-wrap: wrap; }
  .guide-desk .hero-search input, .apartment-desk .hero-search input { flex: 1; }
  .guide-desk .hero-search button, .apartment-desk .hero-search button { width: 100%; }
  .residence-cover { padding: 25px; }
  .edition-hero .quick-links small { display: block; }
  .site-footer { grid-template-columns: 1fr 1fr; }
  .footer-signature { grid-column: 1/-1; }
  .footer-colophon { grid-template-columns: 1fr; }
}
@media(max-width:760px) {
  .edition-hero { padding-block: 20px 35px; }
  .edition-hero h1 { font-size: clamp(2.6rem,8.4vw,4rem); max-width: 22ch; }
  .edition-hero .intro { font-size: 1rem; }
  .edition-heading,.handbook-title { display: block; }
  .edition-heading .intro { max-width: 60ch; }
  .guide-cover,.salon-gallery,.twelve-heading,.twelve-ledger,.edition-group-house,.edition-activity-field,.atlas-cover,.edition-holiday-postcard,.rental-desk,.rental-spread,.edition-twelve-planner,.edition-neighbourhood-atlas,.table-setting,.residence-frame,.residence-index,.dispatch-heading,.dispatch-scene,.handbook-spread,.longstay-intro,.apartment-window,.edition-chalet-living,.summer-plan { grid-template-columns: 1fr; gap: 24px; }
  .edition-hero .hero-photo img { aspect-ratio: 1.7; height: auto; }
  .edition-hero .quick-links { grid-template-columns: 1fr; }
  .guide-desk { padding: 22px; }
  .guide-desk .hero-search > div,.apartment-desk .hero-search > div { flex-wrap: nowrap; }
  .guide-desk .hero-search button,.apartment-desk .hero-search button { width: auto; }
  .salon-title { text-align: left; margin-bottom: 24px; }
  .salon-copy .intro { margin-top: 0; }
  .edition-luxury-gallery > .edition-note { display: block; }
  .twelve-heading { grid-template-columns: 1fr; }
  .twelve-seal { display: flex; align-items: center; justify-content: center; gap: 24px; }
  .twelve-seal strong { font-size: 5rem; }
  .twelve-seal span { margin-top: 0; }
  .gather-photos .hero-photo img { aspect-ratio: .95; }
  .gather-photos .secondary-photo img { aspect-ratio: .7; }
  .field-copy { padding: 28px; }
  .field-finder .walk-finder { flex-direction: column; align-items: stretch; }
  .atlas-river { margin: 20px 0 0; grid-template-columns: 1fr 1fr; gap: 20px; }
  .atlas-river .secondary-photo img { aspect-ratio: .9; }
  .massif-board { display: block; padding: 26px; }
  .massif-board .button { margin-top: 20px; }
  .family-album .hero-photo img { aspect-ratio: 1.1; }
  .family-album .secondary-photo img { aspect-ratio: .8; }
  .family-ideas { padding: 22px; }
  .rental-desk { margin-bottom: 25px; }
  .rental-spread { padding: 20px; }
  .winter-letter h1 { margin-inline: auto; }
  .winter-landscape .hero-photo img { border-radius: 80px 80px 0 0; }
  .catalogue-photos { gap: 15px; }
  .catalogue-photos .hero-photo img { aspect-ratio: 1; }
  .catalogue-photos .secondary-photo img { aspect-ratio: .63; }
  .catalogue-finder { padding: 22px; }
  .neighbourhood-pictures .hero-photo img { aspect-ratio: .9; }
  .neighbourhood-pictures .secondary-photo { margin-top: 30px; }
  .neighbourhood-index { display: block; }
  .table-title { text-align: left; }
  .table-setting .hero-photo img { aspect-ratio: 1.2; }
  .residence-frame .hero-photo img { aspect-ratio: 1.4; }
  .residence-cover { padding: 30px; }
  .residence-cover h1 { font-size: 3.2rem; }
  .residence-index h2 { margin-top: 10px; }
  .dispatch-heading h1 { font-size: 3.6rem; }
  .handbook-spread { padding: 22px; }
  .handbook-content { border: 0; padding: 0; }
  .longstay-intro { margin-bottom: 22px; }
  .apartment-desk { padding: 5px; }
  .living-photo .hero-photo img { border-radius: 100px 100px 0 0; aspect-ratio: 1.5; }
  .summer-cover { text-align: left; }
  .summer-pictures { gap: 15px; }
  .summer-pictures .hero-photo img { aspect-ratio: 1.1; }
  .summer-pictures .secondary-photo img { aspect-ratio: .7; }
  .summer-plan { padding: 24px; }
  .summer-plan .walk-finder { display: grid; }
  .address-preview,.stories-section { padding-block: 35px; }
  .cards-routes .stories-grid,.cards-tiles .stories-grid,.brand-ski-dispatch .cards-tickets .stories-grid,.brand-massif-base .cards-tickets .stories-grid { grid-template-columns: 1fr; }
  .cards-routes .story:first-child { grid-row: auto; }
  .cards-story .story:first-child,.brand-ski-dispatch .cards-tickets .story { display: block; }
  .cards-album .story:nth-child(even) { padding-top: 0; }
  .site-footer { grid-template-columns: 1fr; padding: 36px 24px; }
  .site-footer .ownership { display: block; overflow-wrap: anywhere; }
  .site-footer .ownership span { display: block; margin-top: 8px; }
  .footer-table .footer-signature,.footer-directory .footer-signature { border: 0; padding: 0; }
  .footer-horizon { border-radius: 40px 40px 0 0; padding-top: 50px; }
  .footer-postmark { margin-inline: 14px; }
  .footer-colophon { text-align: left; }
  .footer-colophon .footer-name,.footer-colophon .footer-links,.footer-colophon .footer-task { justify-content: start; }
  .footer-colophon .footer-signature p { margin-inline: 0; }
  .footer-colophon .footer-links { flex-direction: column; gap: 5px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

.field-copy a:hover { color: var(--ink); text-decoration: underline; }
:is(.footer-checklist,.footer-catalogue,.footer-terminal,.brand-alpine-residences .footer-colophon,.menu-status,.residence-cover) a:focus-visible { outline-color: #fff; }
.footer-fieldnotes :is(p,a,svg), .footer-fieldnotes a:hover { color: var(--ink); }
.footer-fieldnotes a:focus-visible, .field-copy a:focus-visible { outline-color: var(--ink); }

.menu-status .desktop-nav a[aria-current=page] { color: var(--signal); }
/* The mobile menu opens on a light surface, even inside the dark station header. */
.menu-status .mobile-menu a:hover { color: var(--ink); }
.menu-status .mobile-menu a:focus-visible { outline-color: var(--accent); }
.residence-cover .button:hover { background: #fff9ee; border-color: #fff9ee; color: #282522; }

/* Location search is a comparison desk: cool paper, a navy brief, and a small listing photo. */
.brand-rental-search { background: #eef3f6; }
.edition-rental-search .rental-desk { display: block; background: #17324d; color: #f7fbff; padding: 32px 28px 26px; margin-bottom: 18px; }
.edition-rental-search .rental-desk h1 { color: #f7fbff; font-weight: 750; letter-spacing: -.045em; font-size: clamp(2.15rem, 3.5vw, 3.35rem); max-width: 16ch; }
.edition-rental-search .rental-desk .intro { color: #d5e2ee; max-width: 46ch; }
.edition-rental-search .rental-desk .hero-search label { color: #f7fbff; }
.edition-rental-search .rental-desk .hero-search button { background: #f4f7fb; color: #17324d; }
.edition-rental-search .rental-desk .hero-search button:hover { background: #fff; color: #17324d; }
.edition-rental-search .rental-desk :is(a, button, input):focus-visible { outline-color: #fff; }
.edition-rental-search .rental-spread { grid-template-columns: 240px 1fr; gap: 0; padding: 0; background: #fff; border: 1px solid #c5d3e0; align-items: stretch; }
.edition-rental-search .rental-spread .hero-photo img { aspect-ratio: 1; height: 100%; border-radius: 0; }
.edition-rental-search .rental-spread .hero-photo figcaption { padding: 8px 12px 12px; }
.edition-rental-search .rental-spread > div { padding: 22px 26px; }
.edition-rental-search .rental-spread h2 { font-size: 1.35rem; letter-spacing: -.03em; }

/* Self-catered rental reads as a house, not a listing sheet: wide interior, then the plan. */
.brand-chalet-living { background: #f6efe6; }
.edition-chalet-living { display: flex; flex-direction: column; gap: 8px; }
.edition-chalet-living .living-photo .hero-photo img { aspect-ratio: 2.25; border-radius: 0 0 72px 72px; }
.edition-chalet-living .living-letter { max-width: 740px; margin: 18px auto 0; text-align: center; }
.edition-chalet-living .living-letter h1 { color: #6d3418; font-size: clamp(2.8rem, 5vw, 4.5rem); }
.edition-chalet-living .living-letter .intro { margin-inline: auto; }
.edition-chalet-living .living-letter .hero-actions { justify-content: center; }
.edition-chalet-living .living-contents { margin-top: 22px; background: #6d3418; color: #fff8f2; padding: 6px 8px; }
.edition-chalet-living .living-contents a { color: #fff8f2; }
.edition-chalet-living .living-contents a:hover { color: #fff; }
.edition-chalet-living .living-contents a:focus-visible { outline-color: #fff; }

/* Luxury stays in a quiet dark gallery, with the photograph held in a fine metal frame. */
.edition-luxury-gallery { background: #141210; color: #f6f0e8; padding: 64px clamp(22px, 5vw, 72px) 52px; }
.edition-luxury-gallery .salon-title { text-align: center; margin-bottom: 48px; }
.edition-luxury-gallery .salon-title h1 { color: #f6f0e8; font-weight: 500; letter-spacing: .01em; font-size: clamp(3.2rem, 5.4vw, 5.6rem); }
.edition-luxury-gallery .salon-gallery { gap: 72px; }
.edition-luxury-gallery .salon-gallery .hero-photo { padding: 12px; border: 1px solid #c4a574; }
.edition-luxury-gallery .salon-gallery .hero-photo img { aspect-ratio: 1.32; }
.edition-luxury-gallery .intro, .edition-luxury-gallery .catalogue-note, .edition-luxury-gallery .photo figcaption { color: #d9cfc3; }
.edition-luxury-gallery .text-link, .edition-luxury-gallery .quick-links a, .edition-luxury-gallery .edition-note h2 { color: #f6f0e8; }
.edition-luxury-gallery .quick-links small { color: #cbbba8; }
.edition-luxury-gallery .button { background: transparent; color: #f6f0e8; border-color: #c4a574; }
.edition-luxury-gallery .button:hover { background: #c4a574; border-color: #c4a574; color: #1a1613; }
.edition-luxury-gallery .edition-note { border-bottom-color: rgba(196, 165, 116, .5); }
.edition-luxury-gallery :is(a, button, summary, input):focus-visible { outline-color: #f6f0e8; }
@media (max-width: 760px) {
  .edition-rental-search .rental-desk { padding: 22px 18px 18px; }
  .edition-rental-search .rental-spread { grid-template-columns: 1fr; }
  .edition-rental-search .rental-spread .hero-photo img { height: auto; aspect-ratio: 1.45; }
  .edition-luxury-gallery { padding: 36px 18px 32px; }
  .edition-chalet-living .living-photo .hero-photo img { border-radius: 0 0 40px 40px; }
}
