@font-face {
  font-family: 'Dela Gothic One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/dela-gothic-one.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Anybody';
  font-style: italic;
  font-weight: 400 650;
  font-stretch: 75% 125%;
  font-display: swap;
  src: url('/assets/anybody-italic.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Anybody';
  font-style: normal;
  font-weight: 400 750;
  font-stretch: 75% 125%;
  font-display: swap;
  src: url('/assets/anybody.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/onest.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* An alpine poster language: variable display type, mineral colour and open compositions. */
:root {
 --serif:'Anybody',Arial,sans-serif;
 --sans:'Onest',Arial,sans-serif;
 --paper:#f3e9de;
 --cream:#ead6c7;
 --green:#392f3d;
 --ink:#392f3d;
 --muted:#6a5d68;
 --line:#392f3d2b;
 --rose:#854454;
 --apricot:#efb18c;
 --ice:#d7e1ee;
}
body { background:var(--paper); font-family:var(--sans); }
h1,h2,h3 { font-family:var(--serif); font-weight:650; letter-spacing:-.055em; line-height:1.08; font-variation-settings:'wdth' 96; }
em { font-family:var(--serif); font-style:italic; font-weight:500; letter-spacing:-.05em; font-variation-settings:'wdth' 103; color:var(--rose); }
h1 em { font-weight:550; }
[data-photo] em { color:var(--ice); }
.word { transform-origin:left bottom; }
.eyebrow { font-size:9px; letter-spacing:.1em; }
.hero { color:#fff9f0; }
.hero-shade { background:linear-gradient(180deg,#20192985,transparent 38%,#251c2b9c); }
.inner-hero .hero-shade { background:linear-gradient(180deg,#221b2a87,transparent 32%,#251c2bcc); }
.hero-content { max-width:1070px; bottom:148px; }
.hero-content h1 { font-size:clamp(76px,8.65vw,132px); line-height:1.02; margin-bottom:26px; }
.hero-content p { font-size:14px; line-height:1.8; max-width:470px; }
.hero-content .eyebrow { color:#f4d2ba; }
.inner-hero .hero-content { max-width:1050px; bottom:92px; }
.inner-hero h1 { font-size:clamp(56px,5.9vw,88px); font-variation-settings:'wdth' 86; }
.inner-hero h1 em { font-variation-settings:'wdth' 90; }
.hero-edition { -webkit-text-stroke:1px #d7e1ee66; }
.hero-coordinate { color:var(--ice); }
.azola-seal { color:#fff9f0; }
.seal-orbit { color:var(--ice); }
.site-header.scrolled { background:var(--paper); color:var(--ink); }
.desktop-nav a { font-size:11px; }
.book-link { min-height:46px; background:var(--ice); border-color:var(--ice); color:var(--ink); font-size:11px; padding:13px 21px; gap:4px; }
.book-link:hover { background:var(--apricot); border-color:var(--apricot); }
.scrolled .book-link,.scrolled .book-link:hover { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.button { min-height:52px; background:var(--ink); border-color:var(--ink); color:var(--paper); padding:15px 23px; }
.button::before { background:var(--rose); }
.button:hover { background:var(--ink); }
.button:focus-visible,.text-link:focus-visible,.footer-underlined:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.booking-bar { position:relative; background:var(--ice); border-top:0; border-bottom:1px solid var(--line); margin-top:-54px; z-index:3; }
.booking-caption strong { font-family:var(--serif); font-size:27px; font-weight:580; letter-spacing:-.06em; font-variation-settings:'wdth' 94; }
.booking-caption .eyebrow { color:var(--rose); }
.booking-bar input,.booking-bar select { background:transparent; }
.editorial-intro { text-align:left; max-width:1180px; margin:0 auto; padding:132px 40px 105px; position:relative; }
.editorial-intro .eyebrow { display:block; color:var(--rose); margin-bottom:26px; }
.editorial-intro h2 { font-size:clamp(45px,4.9vw,72px); max-width:1080px; font-variation-settings:'wdth' 101; margin-bottom:30px; }
.editorial-intro p { max-width:660px; margin:0; line-height:1.9; font-size:14px; }
.azola-notes { margin-bottom:110px; padding-top:34px; padding-bottom:37px; grid-template-columns:1.3fr 1fr 1fr .9fr; gap:40px; }
.notes-heading>p { font-family:var(--serif); font-weight:580; font-size:31px; letter-spacing:-.05em; }
.notes-heading>p em { font-weight:500; }
.note-value { font-family:var(--serif); font-size:83px; font-weight:650; font-style:italic; letter-spacing:-.065em; font-variation-settings:'wdth' 99; color:var(--rose); }
.note-unit { font-style:normal; }
.note p { color:var(--muted); }
.note-stars .hotel-stars { color:var(--ink); }
.home-portrait { margin:0 7vw; }
.portrait-photo { height:640px; }
.page-contatti .hero .photo-plane img { object-position:65% center; }
.portrait-photo:after { background:linear-gradient(180deg,#211a2800 35%,#241b2bc9); }
.home-portrait .portrait-caption { left:46px; bottom:44px; }
.home-portrait .portrait-caption h2 { font-size:clamp(42px,4.4vw,64px); line-height:1.05; }
.portrait-caption p { color:#fff7ef; }
.portrait-bottom { border-color:var(--line); padding:24px 0; }
.section-heading { text-align:left; max-width:1180px; padding:120px 30px 65px; margin:auto; }
.section-heading h2 { font-size:clamp(44px,4.6vw,69px); }
.section-heading p { max-width:590px; margin:27px 0 0; }
.section-heading>.eyebrow { color:var(--rose); }
.experience-stories { padding:0 5vw; gap:75px; }
.room-story { margin:0 19% 0 0; height:700px; }
.wellness-story { margin:0 0 0 25%; height:660px; }
.restaurant-story { margin:0 8%; height:660px; }
.story-content { max-width:760px; left:45px; bottom:48px; }
.story-content h2 { font-size:clamp(42px,4.5vw,66px); font-variation-settings:'wdth' 92; letter-spacing:-.06em; line-height:1.08; margin-bottom:22px; }
.story-content p { max-width:490px; font-size:13px; line-height:1.85; color:#fff7ef; }
.story-content .eyebrow { color:#f3d8c6; }
.photo-shade { background:linear-gradient(0deg,#291e32e6,transparent 85%); }
.wellness-story .story-content { left:44px; right:35px; }
.wellness-story .photo-shade { background:linear-gradient(0deg,#291e32e0,transparent 85%); }
.season-section { padding:0 7vw 115px; }
.season-section .section-heading { padding-left:0; padding-right:0; }
.season-grid { gap:60px; grid-template-columns:1fr .8fr; }
.season-card:first-child { height:660px; }
.season-card:last-child { margin-top:145px; height:540px; }
.card-shade { background:linear-gradient(0deg,#291e32d4,transparent 85%); }
.season-copy { left:34px; right:28px; bottom:36px; }
.season-copy h3 { font-size:38px; font-variation-settings:'wdth' 89; line-height:1.1; }
.season-copy .eyebrow { color:#f3d8c6; }
.apartment-story { margin:0 5vw 0 20%; height:660px; }
.location-section { text-align:left; max-width:1050px; padding:120px 30px; }
.location-section h2 { font-size:clamp(44px,4.7vw,66px); }
.location-section .eyebrow { color:var(--rose); }
.location-section p { max-width:640px; font-size:14px; }
.location-line { justify-content:flex-start; }
.stay-cta { padding:100px 7vw 110px; background:var(--ice); text-align:left; }
.stay-cta .eyebrow { color:var(--rose); }
.stay-cta h2 { font-size:clamp(44px,4.9vw,68px); max-width:1120px; font-variation-settings:'wdth' 98; }
.stay-cta p { max-width:560px; margin:28px 0 31px; font-size:14px; }
.stay-cta .cta-actions { justify-content:flex-start; }
.site-footer { background:var(--ink); color:var(--paper); padding-top:70px; }
.footer-brand p { color:#f1e0d7; }
.footer-main .eyebrow { color:#efd0bd; }
.footer-links,.footer-bottom { border-color:#f3e9de33; }
.footer-socials { display:flex; gap:22px; margin:-7px 0 24px; font-size:11px; }
.footer-socials a { border-bottom:1px solid #f3e9de70; padding-bottom:4px; }
.footer-brand .hotel-stars { color:var(--apricot); }
.footer-direct .footer-phone { font-family:var(--serif); font-size:23px; font-weight:550; font-variation-settings:'wdth' 91; letter-spacing:-.06em; }
.menu-dialog { background:var(--ink); }
.menu-dialog:not(.keyboard-navigation) .logo:focus { outline:none; }
.menu-dialog nav a { font-family:var(--serif); font-weight:600; letter-spacing:-.055em; font-variation-settings:'wdth' 97; }
.menu-dialog nav a[aria-current] { color:var(--apricot); }
.menu-dialog .button { color:var(--ink); background:var(--ice); }
.menu-dialog .button:hover { color:var(--paper); }
.enquiry-dialog { background:var(--paper); color:var(--ink); }
.enquiry-dialog h2 { font-size:clamp(40px,4.8vw,62px); }
.enquiry-dialog input,.enquiry-dialog select,.enquiry-dialog textarea { background:#fff9f070; border-color:var(--line); }
.page-jumps { justify-content:flex-start; gap:44px; margin-bottom:70px; border-color:var(--line); }
.page-jumps a { font-size:10px; }
.room-photo { height:665px; }
.room-photo-title h2 { font-size:clamp(46px,5.25vw,76px); font-variation-settings:'wdth' 94; }
.room-photo .photo-shade { background:linear-gradient(0deg,#291e32bf,transparent 80%); }
.room-photo-title .eyebrow { color:#f3d8c6; }
.room-information { max-width:860px; padding-top:33px; }
.room-information p { font-size:14px; }
.room-facts { color:var(--rose); }
.wellness-prose,.winter-service,.service-editorial,.stay-information,.arrival-editorial { text-align:left; max-width:1080px; padding:100px 30px; }
.wellness-prose h2,.winter-service h2,.service-editorial h2,.stay-information h2,.arrival-editorial h2 { font-size:clamp(42px,4.5vw,64px); max-width:980px; }
.wellness-prose>p,.winter-service>p,.service-editorial>p,.stay-information>p,.arrival-editorial>p { max-width:660px; margin-left:0; font-size:14px; }
.wellness-prose>.eyebrow,.winter-service>.eyebrow,.service-editorial>.eyebrow,.stay-information>.eyebrow,.arrival-editorial>.eyebrow { color:var(--rose); }
.wellness-grid { gap:55px; margin-bottom:0; }
.wellness-grid .wellness-feature:first-child { height:610px; }
.wellness-grid .wellness-feature:last-child { margin-top:120px; height:540px; }
.wellness-feature .story-content h2 { font-size:clamp(42px,4vw,60px); }
.tea-story .photo-shade { background:linear-gradient(90deg,#271d32b5,transparent),linear-gradient(0deg,#271d32ba,transparent 85%); }
.food-story,.dining-interior { margin-left:7vw; margin-right:7vw; }
.dining-interior { margin-left:20vw; }
.apartment-facts { background:var(--ice); border:0; }
.apartment-facts strong { font-family:var(--serif); font-weight:650; letter-spacing:-.055em; font-variation-settings:'wdth' 103; color:var(--rose); }
.season-detail { margin-left:7vw; margin-right:7vw; }
.page-esperienze .season-detail:nth-of-type(even) { margin-left:18vw; }
.contact-intro { text-align:left; max-width:1100px; padding-top:110px; }
.contact-intro h2 { font-size:clamp(43px,4.8vw,70px); }
.contact-intro>p { margin-left:0; max-width:660px; font-size:14px; }
.contact-intro .eyebrow { color:var(--rose); }
.contact-grid { background:var(--cream); padding:40px; border:0; margin-bottom:55px; }
.contact-value { font-family:var(--serif); font-weight:550; font-size:23px; font-variation-settings:'wdth' 87; letter-spacing:-.05em; }
.map-heading h2 { font-size:clamp(43px,4.7vw,68px); }
.map-heading .eyebrow { color:var(--rose); }
.azola-journal { background:var(--cream); padding:95px 9vw 85px; margin:0 5vw 100px; }
.journal-heading { max-width:1000px; margin-bottom:60px; }
.journal-heading .eyebrow { display:block; margin-bottom:23px; color:var(--rose); }
.journal-heading h2 { font-size:clamp(48px,5.2vw,76px); }
.journal-heading p { margin-top:26px; max-width:520px; font-size:14px; line-height:1.8; color:var(--muted); }
.journal-photos { display:flex; justify-content:center; align-items:flex-start; gap:75px; }
.journal-photo { width:min(100%,350px); height:440px; flex-shrink:1; }
.journal-photo:nth-child(2) { margin-top:90px; height:440px; }
.journal-photo .story-content { left:26px; right:20px; bottom:26px; }
.journal-photo .story-content h3 { font-size:32px; line-height:1.08; margin-bottom:18px; font-variation-settings:'wdth' 90; }
.journal-photo .story-content>span { font-family:var(--mono); font-size:8px; letter-spacing:.06em; }
.journal-link { margin-top:46px; font-size:12px; }
.social-kitchen-section { background:var(--ice); padding:85px 7vw 65px; margin:80px 7vw 75px; }
.social-kitchen { max-width:680px; height:820px; margin:0 auto; }
.social-kitchen .photo-plane img { object-position:center 65%; }
.social-kitchen .photo-shade { background:linear-gradient(180deg,#2b2233ac,transparent 62%); }
.social-kitchen .story-content { top:45px; bottom:auto; left:38px; right:35px; }
.social-kitchen .story-content h2 { font-size:clamp(45px,4.5vw,62px); }
.social-kitchen .story-content p { max-width:440px; font-size:13px; }
.social-photo-caption { max-width:680px; margin:25px auto 0; display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px; font-family:var(--mono); font-size:9px; line-height:1.7; }
.social-photo-caption a { border-bottom:1px solid var(--line); }
@media(max-width:1150px) {
 .hero-content { max-width:860px; }
 .inner-hero .hero-content { max-width:850px; }
 .azola-notes { grid-template-columns:1fr 1fr 1fr; gap:25px; }
 .notes-heading { grid-column:1/-1; }
 .room-story { margin-right:10%; }
 .wellness-story { margin-left:16%; }
 .experience-stories { gap:55px; }
 .journal-photos { gap:45px; }
 .contact-grid { gap:35px; }
}
@media(max-width:950px) {
 .hero-content h1 { font-size:clamp(66px,8.2vw,94px); }
 .inner-hero h1 { font-size:clamp(52px,6.4vw,68px); }
 .editorial-intro { padding:100px 35px 85px; }
 .azola-notes { margin-bottom:80px; }
 .home-portrait { margin:0 5vw; }
 .portrait-photo { height:600px; }
 .home-portrait .portrait-caption h2 { font-size:48px; }
 .room-story,.wellness-story,.restaurant-story { height:600px; }
 .story-content h2 { font-size:49px; }
 .season-grid { gap:35px; }
 .season-card:first-child { height:570px; }
 .season-card:last-child { height:490px; margin-top:95px; }
 .season-copy h3 { font-size:31px; }
 .apartment-story { margin-left:12%; height:600px; }
 .room-photo { height:580px; }
 .wellness-grid { gap:30px; }
 .wellness-grid .wellness-feature:first-child { height:550px; }
 .wellness-grid .wellness-feature:last-child { height:500px; margin-top:80px; }
 .wellness-feature .story-content h2 { font-size:42px; }
 .journal-photo,.journal-photo:nth-child(2) { height:370px; }
 .journal-photo .story-content h3 { font-size:27px; }
 .social-kitchen-section { margin:55px 5vw 60px; padding:65px 5vw 45px; }
 .social-kitchen { height:770px; }
 .social-kitchen .story-content h2 { font-size:52px; }
 .contact-grid { padding:35px; }
}
@media(max-width:600px) {
 .site-header { padding:0 20px; height:86px; }
 .site-header .logo { width:100px; }
 .site-header .logo>span { font-size:28px; }
 .header-actions { gap:13px; }
 .book-link { font-size:10px; min-height:44px; padding:11px 16px; }
 .menu-toggle { width:44px; min-height:44px; }
 .home-hero { min-height:680px; }
 .hero-content { left:25px; right:25px; bottom:126px; max-width:none; }
 .hero-content h1,.home-hero h1 { font-size:clamp(45px,12vw,68px); font-variation-settings:'wdth' 90; line-height:1.07; }
 .hero-content h1 em { font-variation-settings:'wdth' 96; }
 .hero-content p { font-size:12px; max-width:310px; }
 .hero-content .eyebrow { font-size:8px; letter-spacing:.07em; max-width:280px; }
 .inner-hero .hero-content { left:25px; right:25px; bottom:95px; max-width:none; }
 .inner-hero h1 { font-size:clamp(36px,10vw,50px); font-variation-settings:'wdth' 78; line-height:1.08; }
 .inner-hero h1 em { font-variation-settings:'wdth' 80; }
 .azola-seal { top:115px; width:90px; height:90px; }
 .hero-coordinate { bottom:40px; }
 .hero-edition { bottom:10px; }
 .scroll-cue { bottom:26px; }
 .booking-bar { margin-top:-32px; background:var(--ice); }
 .booking-caption strong { font-size:27px; }
 .editorial-intro { padding:83px 25px 65px; }
 .editorial-intro h2,.section-heading h2,.location-section h2 { font-size:38px; font-variation-settings:'wdth' 92; }
 .editorial-intro em { font-variation-settings:'wdth' 90; }
 .editorial-intro p,.section-heading p,.location-section p { font-size:13px; line-height:1.85; }
 .azola-notes { padding:25px 0; gap:26px 18px; margin:0 25px 70px; grid-template-columns:1fr 1fr; }
 .notes-heading>p { font-size:30px; }
 .note-value { font-size:67px; }
 .note-stars { grid-column:1/-1; }
 .home-portrait { margin:0 18px; }
 .portrait-photo { height:540px; }
 .home-portrait .portrait-caption { left:25px; right:25px; bottom:35px; }
 .home-portrait .portrait-caption h2 { font-size:35px; }
 .portrait-caption p { font-size:11px; line-height:1.75; }
 .portrait-bottom { gap:20px; padding:20px 7px; }
 .section-heading { padding:90px 25px 50px; }
 .experience-stories { padding:0 18px; gap:35px; }
 .room-story,.wellness-story,.restaurant-story { margin:0; height:570px; }
 .story-content,.wellness-story .story-content { left:25px; right:24px; bottom:34px; }
 .story-content h2,.apartment-story .story-content h2 { font-size:36px; font-variation-settings:'wdth' 88; line-height:1.12; }
 .story-content p { font-size:12px; line-height:1.85; }
 .story-content .eyebrow { font-size:8px; line-height:1.8; }
 .season-section { padding:0 18px 80px; }
 .season-section .section-heading { padding:90px 7px 48px; }
 .season-grid { grid-template-columns:1fr; gap:30px; }
 .season-card:first-child,.season-card:last-child { height:540px; margin-top:0; }
 .season-card:last-child { margin-left:22px; }
 .season-copy { left:25px; right:22px; bottom:30px; }
 .season-copy h3 { font-size:31px; }
 .apartment-story { margin:0 18px; height:550px; }
 .location-section { padding:80px 25px; }
 .location-line { gap:23px; margin-top:27px; }
 .stay-cta { padding:78px 25px 85px; }
 .stay-cta h2 { font-size:37px; font-variation-settings:'wdth' 88; }
 .stay-cta p { font-size:13px; line-height:1.8; }
 .stay-cta .cta-actions { gap:24px; align-items:flex-start; flex-direction:column; }
 .site-footer { padding-top:55px; }
 .footer-direct .footer-phone { font-size:23px; }
 .footer-socials { margin-bottom:23px; }
 .menu-dialog nav a { font-size:28px; font-variation-settings:'wdth' 90; line-height:1.2; }
 .enquiry-dialog h2 { font-size:35px; font-variation-settings:'wdth' 84; }
 .page-jumps { justify-content:flex-start; flex-wrap:wrap; gap:17px 25px; padding:22px 7px; margin-bottom:45px; }
 .page-jumps a { font-size:9px; }
 .room-photo { height:540px; }
 .room-photo-title { left:25px; right:22px; bottom:33px; }
 .room-photo-title h2 { font-size:38px; font-variation-settings:'wdth' 85; line-height:1.1; }
 .room-photo-title .eyebrow { font-size:8px; line-height:1.8; }
 .room-information { padding-top:27px; }
 .room-information p { font-size:13px; }
 .room-facts { font-size:9px; gap:13px; line-height:1.8; }
 .room-facts span+span { padding-left:13px; }
 .wellness-prose,.winter-service,.service-editorial,.stay-information,.arrival-editorial { padding:78px 25px; }
 .wellness-prose h2,.winter-service h2,.service-editorial h2,.stay-information h2,.arrival-editorial h2 { font-size:36px; font-variation-settings:'wdth' 87; line-height:1.12; }
 .wellness-prose>p,.winter-service>p,.service-editorial>p,.stay-information>p,.arrival-editorial>p { font-size:13px; }
 .wellness-grid { gap:30px; }
 .wellness-grid .wellness-feature:first-child,.wellness-grid .wellness-feature:last-child { height:540px; margin-top:0; }
 .wellness-feature .story-content h2 { font-size:36px; }
 .food-story,.dining-interior { margin-left:18px; margin-right:18px; }
 .apartment-facts { gap:24px; padding:30px 25px; }
 .season-detail,.page-esperienze .season-detail:nth-of-type(even) { margin-left:18px; margin-right:18px; }
 .contact-intro { padding:85px 25px 55px; }
 .contact-intro h2 { font-size:37px; font-variation-settings:'wdth' 90; }
 .contact-grid { margin:0 18px 38px; padding:35px 25px; gap:32px; }
 .contact-value { font-size:22px; }
 .map-heading h2 { font-size:36px; font-variation-settings:'wdth' 86; }
 .azola-journal { padding:70px 25px 60px; margin:0 18px 65px; }
 .journal-heading { margin-bottom:40px; }
 .journal-heading h2 { font-size:43px; font-variation-settings:'wdth' 94; }
 .journal-heading p { font-size:13px; }
 .journal-photos { display:block; }
 .journal-photo,.journal-photo:nth-child(2) { display:block; width:100%; height:380px; max-width:350px; margin:0; }
 .journal-photo:nth-child(2) { margin:28px 0 0 20px; width:calc(100% - 20px); height:360px; }
 .journal-photo .story-content h3 { font-size:28px; }
 .journal-link { font-size:11px; margin-top:33px; }
 .social-kitchen-section { margin:35px 18px 60px; padding:25px 20px 30px; }
 .social-kitchen { height:570px; }
 .social-kitchen .story-content { top:32px; left:22px; right:22px; }
 .social-kitchen .story-content h2 { font-size:35px; }
 .social-kitchen .story-content p { font-size:11px; }
 .social-photo-caption { font-size:8px; gap:13px; }
}
@media(max-width:420px) { .book-link .booking-long { display:none; } }
@media(max-width:360px) {
 .hero-content h1,.home-hero h1 { font-size:42px; font-variation-settings:'wdth' 80; }
 .hero-content h1 em { font-variation-settings:'wdth' 88; }
 .inner-hero h1 { font-size:35px; font-variation-settings:'wdth' 75; }
 .inner-hero h1 em { font-variation-settings:'wdth' 77; }
 .editorial-intro h2 { font-size:34px; font-variation-settings:'wdth' 84; }
 .editorial-intro em { font-variation-settings:'wdth' 82; }
 .story-content h2,.apartment-story .story-content h2 { font-size:33px; font-variation-settings:'wdth' 82; }
 .room-photo-title h2 { font-size:34px; font-variation-settings:'wdth' 77; }
 .stay-cta h2 { font-size:34px; font-variation-settings:'wdth' 82; }
 .social-kitchen .story-content h2 { font-size:30px; font-variation-settings:'wdth' 80; }
 .social-kitchen { height:540px; }
 .journal-photo,.journal-photo:nth-child(2) { height:340px; }
}

/* The heavy display cuts contrast with the variable italic voice. */
:root { --serif:'Dela Gothic One','Anybody',Arial,sans-serif; }
h1,h2,h3 { font-weight:400; font-synthesis:none; letter-spacing:-.045em; }
[data-title] .title-visual { word-spacing:.035em; }
em { font-family:'Anybody',Arial,sans-serif; font-synthesis:none; }
.hero-content h1 { font-size:clamp(66px,7.7vw,118px); letter-spacing:-.06em; }
.inner-hero h1 { font-size:clamp(52px,5.5vw,80px); }
.hero-content h1 em { font-size:1.14em; }
.editorial-intro h2 { font-size:clamp(40px,4.45vw,64px); }
.section-heading h2 { font-size:clamp(40px,4.2vw,61px); }
.notes-heading>p,.note-value,.booking-caption strong,.footer-direct .footer-phone,.contact-value,.apartment-facts strong { font-family:'Anybody',Arial,sans-serif; }
.story-content h2 { font-size:clamp(38px,4vw,58px); }
.home-portrait .portrait-caption h2 { font-size:clamp(39px,4vw,57px); }
.season-copy h3 { font-size:34px; }
.stay-cta h2 { font-size:clamp(40px,4.4vw,63px); }
.room-photo-title h2 { font-size:clamp(41px,4.5vw,65px); }
.wellness-prose h2,.winter-service h2,.service-editorial h2,.stay-information h2,.arrival-editorial h2 { font-size:clamp(39px,4.1vw,59px); }
.wellness-feature .story-content h2 { font-size:clamp(38px,3.8vw,55px); }
.contact-intro h2,.map-heading h2 { font-size:clamp(39px,4.35vw,63px); }
.journal-heading h2 { font-size:clamp(43px,4.8vw,69px); }
.journal-photo .story-content h3 { font-size:29px; }
.social-kitchen .story-content h2 { font-size:55px; }
.menu-dialog nav a { font-family:'Anybody',Arial,sans-serif; }
@media(max-width:950px) {
 .hero-content h1 { font-size:clamp(56px,7.5vw,81px); }
 .inner-hero h1 { font-size:clamp(46px,5.8vw,63px); }
 .story-content h2 { font-size:44px; }
 .season-copy h3 { font-size:28px; }
 .journal-photo .story-content h3 { font-size:23px; }
 .social-kitchen .story-content h2 { font-size:48px; }
}
@media(max-width:600px) {
 .hero-content h1,.home-hero h1 { font-size:clamp(35px,9.7vw,50px); }
 .inner-hero h1 { font-size:clamp(31px,8.6vw,42px); }
 .hero-content h1 em { font-size:1.24em; }
 .inner-hero h1 em { font-size:1.12em; }
 .editorial-intro h2,.section-heading h2,.location-section h2 { font-size:32px; line-height:1.2; }
 .editorial-intro h2 em { font-size:1.12em; }
 .home-portrait .portrait-caption h2 { font-size:30px; line-height:1.18; }
 .story-content h2,.apartment-story .story-content h2 { font-size:31px; line-height:1.18; }
 .season-copy h3 { font-size:27px; }
 .stay-cta h2,.wellness-prose h2,.winter-service h2,.service-editorial h2,.stay-information h2,.arrival-editorial h2 { font-size:31px; line-height:1.18; }
 .room-photo-title h2 { font-size:33px; line-height:1.18; }
 .wellness-feature .story-content h2 { font-size:31px; }
 .contact-intro h2,.map-heading h2 { font-size:31px; line-height:1.2; }
 .journal-heading h2 { font-size:38px; }
 .journal-photo .story-content h3 { font-size:24px; }
 .social-kitchen .story-content h2 { font-size:31px; }
 .enquiry-dialog h2 { font-size:31px; line-height:1.2; }
}
@media(max-width:360px) {
 .hero-content h1,.home-hero h1 { font-size:31px; }
 .inner-hero h1 { font-size:29px; }
 .editorial-intro h2 { font-size:29px; }
 .story-content h2,.apartment-story .story-content h2 { font-size:28px; }
 .room-photo-title h2 { font-size:29px; }
 .stay-cta h2 { font-size:29px; }
 .social-kitchen .story-content h2 { font-size:26px; }
}

@media(max-width:950px) {
 .menu-toggle { min-width:44px; min-height:44px; }
 .booking-bar input,.booking-bar select,
 .form-grid input,.form-grid select,.form-grid textarea { font-size:16px; min-height:44px; }
}
@media(max-width:600px) {
 .form-grid { grid-template-columns:1fr; }
}
@media(max-width:360px) {
 .booking-bar { grid-template-columns:1fr; }
}
