@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fraunces-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: 'Fraunces';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fraunces.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: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url('/assets/instrument-sans.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: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/space-mono.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: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/bodoni-moda.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;
}
:root {
  --serif: 'Fraunces', Georgia, serif;
  --sans: 'Instrument Sans', Arial, sans-serif;
  --mono: 'Space Mono', monospace;
  --paper: #f6f2e9;
  --cream: #eae5d9;
  --green: #243b31;
  --ink: #283a31;
  --rose: #895247;
}
body { font-size: 16px; }
select { appearance:none; }
h1,h2,h3 { letter-spacing: -.035em; font-weight: 400; line-height: 1.1; font-optical-sizing: auto; }
em { font-family: var(--serif); font-size: 1em; font-weight: 400; letter-spacing: -.04em; }
h1 { font-size: clamp(72px,8.8vw,136px); }
h2 { font-size: clamp(42px,4.5vw,72px); }
.eyebrow { font-family: var(--mono); font-size: 9px; font-weight: 400; letter-spacing: .14em; }
.hero-content { max-width: 960px; bottom: 140px; }
.hero-content h1 { margin-bottom: 24px; }
.hero-content p { max-width: 440px; font-size: 14px; line-height: 1.8; }
.hero-content .eyebrow { margin-bottom: 24px; }
.hero-shade { background: linear-gradient(180deg,#13261e6b,transparent 33%,#13281d9c 100%); }
.inner-hero .hero-shade { background: linear-gradient(180deg,#152a207d,transparent 25%,#13281dba 100%); }
.inner-hero h1 { font-size: clamp(58px,6.25vw,98px); }
.inner-hero .hero-content { bottom: 92px; }
.hero-edition { position:absolute; right:4vw; bottom:-.04em; font-family:var(--serif); font-size:clamp(90px,15.8vw,250px); letter-spacing:-.07em; line-height:1; color:transparent; -webkit-text-stroke:1px #fff4; pointer-events:none; z-index:-1; }
.hero-coordinate { bottom: 45px; font-family:var(--mono); font-size:8px; }
.hero-explore { position:relative; padding-bottom:7px; border:0; }
.hero-explore::after { content:''; height:1px; position:absolute; bottom:0; left:0; width:100%; background:currentColor; transform-origin:left; transition:transform .4s; }
.hero-explore:hover::after { transform:scaleX(.45); }
.scroll-cue { bottom:28px; left:50%; }
.scroll-cue i { height:30px; transform-origin:top; }
.motion-ready .scroll-cue i { animation:breath-line 4.5s ease-in-out 1; }
.azola-seal { position:absolute; top:140px; right:var(--pad); width:155px; height:155px; display:grid; place-items:center; }
.seal-orbit { position:absolute; width:100%; height:100%; fill:currentColor; }
.seal-orbit text { font-family:var(--mono); font-size:9px; letter-spacing:1.1px; }
.hotel-stars { display:inline-flex; gap:12px; align-items:center; justify-content:center; }
.turning-star { width:20px; height:20px; flex-shrink:0; }
.motion-ready .seal-orbit { animation:seal-glide 4.8s ease-out 1; }
.motion-ready .turning-star { animation:star-turn 4.2s ease-in-out 1; }
.motion-ready .turning-star:nth-child(2) { animation:star-turn 4.8s ease-in-out 1 reverse; }
.motion-ready .turning-star:nth-child(3) { animation:star-pulse 4.5s ease-in-out 1; }
.logo>span { font-size:34px; letter-spacing:.09em; }
.desktop-nav a { font-size:12px; }
.book-link { border-radius:1px; padding:13px 21px; font-size:11px; }
.button { position:relative; isolation:isolate; border-radius:1px; overflow:hidden; font-size:12px; }
.button::before { content:''; position:absolute; inset:0; background:var(--rose); z-index:-1; transform:translateY(102%); transition:transform .5s cubic-bezier(.16,1,.3,1); }
.button:hover::before { transform:translateY(0); }
.button:hover { background:var(--green); color:var(--paper); }
.text-link,.light-link { position:relative; border-bottom:1px solid currentColor; gap:0; padding:8px 0; transition:opacity .3s; }
.text-link:hover,.light-link:hover { gap:0; opacity:.75; }
.text-link::after,.light-link::after { content:''; position:absolute; bottom:-1px; left:0; height:1px; width:100%; background:var(--paper); transform:scaleX(0); transform-origin:right; transition:transform .4s; }
.text-link:hover::after,.light-link:hover::after { transform:scaleX(.4); }
.booking-bar { border-top:3px solid var(--rose); box-shadow:none; }
.booking-caption strong { font-size:26px; }
.booking-caption .eyebrow { font-size:8px; }
.editorial-intro { max-width:1000px; padding:140px 25px 115px; }
.editorial-intro p,.section-heading p,.location-section p { font-size:15px; }
.editorial-intro>.mountain-mark { display:none; }
.editorial-intro .eyebrow { color:var(--rose); }
.azola-notes { display:grid; grid-template-columns:1.1fr 1fr 1fr 1fr; align-items:center; gap:35px; padding:40px 0 55px; margin:0 var(--pad) 100px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.notes-heading .eyebrow { max-width:190px; font-size:8px; line-height:1.8; margin-bottom:18px; color:var(--rose); }
.notes-heading>p { font-family:var(--serif); font-size:35px; line-height:1.2; letter-spacing:-.03em; }
.note { align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.note-value { display:flex; align-items:baseline; gap:9px; font-family:var(--serif); font-size:80px; line-height:1; color:var(--rose); letter-spacing:-.06em; min-height:90px; }
.note-unit { font-family:var(--mono); font-size:13px; letter-spacing:0; }
.note>p { font-size:12px; line-height:1.9; color:var(--muted); }
.note-stars .note-value { align-items:center; }
.note-stars .turning-star { width:31px; height:31px; }
.note-stars .hotel-stars { gap:14px; }
.rolling-number { display:inline-block; font-variant-numeric:lining-nums tabular-nums; line-height:1.1; white-space:nowrap; }
.number-visual { display:inline-flex; align-items:flex-start; }
.digit-window { display:inline-block; height:1.12em; width:.63em; overflow:hidden; position:relative; }
.digit-reel { display:flex; flex-direction:column; transform:translateY(calc(var(--digit) * -1.12em)); }
.digit-reel>span { height:1.12em; line-height:1.12; flex-shrink:0; text-align:center; }
.motion-ready .rolling-number.motion-armed .digit-reel { transform:translateY(0); }
.motion-ready .rolling-number.in-view .digit-reel { transform:translateY(calc(var(--digit) * -1.12em)); transition:transform 1.55s cubic-bezier(.16,1,.3,1); transition-delay:calc(var(--place) * .1s); }
.story-number { display:flex; align-items:center; gap:20px; font-family:var(--mono); font-size:32px; opacity:.95; }
.story-number .digit-window { width:.65em; }
.index-rule { width:65px; height:1px; background:currentColor; transform-origin:left; }
.motion-ready [data-photo].motion-armed .index-rule { transform:scaleX(0); }
.motion-ready [data-photo].in-view .index-rule { transform:scaleX(1); transition:transform 1.2s .4s; }
.portrait-bottom>span,.room-facts,.page-jumps a { font-family:var(--mono); font-size:10px; }
.room-photo-title h2 { font-size:clamp(48px,5vw,76px); }
.story-content { max-width:730px; }
.story-content h2 { font-size:clamp(45px,4.9vw,75px); }
.story-content p { font-size:14px; max-width:440px; }
.photo-shade { background:linear-gradient(0deg,#10261de6 0%,#10261d20 78%); }
.room-story { margin-right:5%; height:720px; }
.wellness-story { margin-left:17%; margin-top:30px; height:650px; }
.restaurant-story { margin-right:12%; margin-top:30px; height:660px; }
.experience-stories { gap:40px; }
.home-portrait .portrait-caption h2 { font-size:60px; max-width:700px; }
.wellness-story .story-content { text-align:left; left:55px; right:45px; }
.wellness-story .story-content p { margin-left:0; }
.wellness-story .photo-shade { background:linear-gradient(0deg,#10261de6,#10261d15); }
.season-section .section-heading { padding-top:145px; }
.season-card:first-child { height:690px; }
.season-card:last-child { height:590px; margin-top:100px; }
.season-copy h3 { font-size:43px; line-height:1.15; }
.season-copy .light-link { border-bottom:1px solid #ffffff7a; }
.apartment-story { margin-left:10%; margin-right:var(--pad); height:640px; }
.stay-cta { position:relative; overflow:hidden; padding:130px 25px; }
.stay-cta::before { content:'AZOLA'; position:absolute; bottom:-.25em; left:50%; transform:translateX(-50%); font-family:var(--serif); font-size:32vw; line-height:1; letter-spacing:-.055em; color:#243b3105; pointer-events:none; }
.stay-cta>h2,.stay-cta>p,.stay-cta>.cta-actions { position:relative; }
.relax-coda { position:relative; isolation:isolate; overflow:hidden; margin:0 var(--pad); padding:120px 25px; background:var(--cream); text-align:center; }
.relax-coda>.eyebrow { color:var(--rose); margin-bottom:25px; }
.relax-coda>p { margin:30px auto 0; max-width:520px; font-size:14px; color:var(--muted); }
.water-lines { position:absolute; z-index:-1; right:-180px; top:-190px; width:680px; height:680px; border:1px solid #89524726; border-radius:50%; }
.water-lines::before,.water-lines::after { content:''; position:absolute; border:1px solid #89524726; border-radius:50%; inset:65px; }
.water-lines::after { inset:140px; }
.motion-ready .water-lines { animation:water-breath 12s ease-in-out infinite; }
.footer-signature { display:flex; justify-content:space-between; align-items:center; padding:45px 0 38px; }
.footer-signature>span { font-family:var(--serif); font-size:clamp(88px,12vw,195px); line-height:.88; letter-spacing:.09em; margin-left:-.025em; }
.footer-signature .turning-star { width:32px; height:32px; }
.motion-control { color:var(--paper); border:1px solid #ffffff66; font-family:var(--mono); font-size:9px; background:transparent; min-height:40px; padding:9px 14px; }
.motion-control:hover { background:#ffffff12; }
.footer-bottom { font-size:10px; }
.menu-dialog nav a { font-size:42px; }
.menu-dialog[open] nav a { animation:menu-entry .5s both; }
.menu-dialog nav a:nth-child(2) { animation-delay:.035s; }
.menu-dialog nav a:nth-child(3) { animation-delay:.07s; }
.menu-dialog nav a:nth-child(4) { animation-delay:.105s; }
.menu-dialog nav a:nth-child(5) { animation-delay:.14s; }
.menu-dialog nav a:nth-child(6) { animation-delay:.175s; }
.menu-dialog nav a:nth-child(7) { animation-delay:.21s; }
.word-mask { display:inline-block; overflow:hidden; vertical-align:top; padding:.15em .025em .17em; margin:-.15em -.025em -.17em; }
.word { display:inline-block; transform-origin:bottom left; }
.motion-ready [data-title].motion-armed .word { opacity:0; transform:translateY(112%); }
.motion-ready [data-title].in-view .word { opacity:1; transform:none; transition:transform .85s cubic-bezier(.22,.61,.36,1),opacity .7s; transition-delay:calc(var(--word) * .045s); }
.motion-ready [data-title="gather"].motion-armed .word { transform:translateX(35px); }
.motion-ready [data-title="soft"].motion-armed .word { transform:translate3d(0,14px,0); }

.motion-ready [data-title="soft"].in-view .word { transform:none; transition:transform 1s cubic-bezier(.22,.61,.36,1),opacity 1s; transition-delay:calc(var(--word) * .045s); }
.motion-ready [data-title="ink"].motion-armed .word { transform:translate3d(-18px,0,0); }
.motion-ready [data-title="ink"].in-view .word { transform:none; transition:transform .85s cubic-bezier(.22,.61,.36,1),opacity .7s; transition-delay:calc(var(--word) * .045s); }
.motion-ready [data-title="slide"].motion-armed .word { transform:translateX(-110%); }
.motion-ready [data-title="drift"].motion-armed .word { transform:translateY(110%) rotate(8deg); }
.motion-ready [data-title="fold"].motion-armed .word { transform:translate3d(0,28px,0) skewY(3deg); }
[data-photo] { overflow:hidden; isolation:isolate; }
.photo-plane { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.photo-plane img { width:100%; height:100%; object-fit:cover; transform:translate3d(0,var(--photo-y,0px),0) scale(1.07); }
.portrait-photo .photo-plane { z-index:0; }
.portrait-photo .photo-plane img { object-position:center 45%; }
.page-camere .hero .photo-plane img { object-position:center 54%; }
.motion-ready [data-photo].motion-armed .photo-plane { opacity:.4; transform:translate3d(0,24px,0) scale(1.025); }
.motion-ready [data-photo].in-view .photo-plane { opacity:1; transform:none; transition:transform 1s cubic-bezier(.22,.61,.36,1),opacity .85s ease-out; }
.motion-ready [data-photo="aperture"].motion-armed .photo-plane { transform:scale(1.045); opacity:.6; }
.motion-ready [data-photo="diagonal"].motion-armed .photo-plane { transform:translate3d(-24px,10px,0) scale(1.025); }
.motion-ready [data-photo="window"].motion-armed .photo-plane { transform:translate3d(16px,0,0) scale(1.025); }
.motion-ready [data-photo="shutter"].motion-armed .photo-plane { transform:translate3d(0,20px,0) scale(1.015); opacity:.6; }
.motion-ready .hero[data-photo].motion-armed .photo-plane { opacity:1; transform:scale(1.025); }
[data-photo].is-near .photo-plane { will-change:transform,opacity; }
.parallax-ready [data-photo].is-near .photo-plane img { will-change:transform; }
.motion-off .photo-plane,.motion-off .photo-plane img { transform:none!important; opacity:1!important; will-change:auto; }
.motion-off *,.motion-off *::before,.motion-off *::after { animation:none!important; transition:none!important; }
.motion-off [data-title] .word { opacity:1!important; transform:none!important; filter:none!important; clip-path:none!important; }
.motion-off [data-photo]>img { opacity:1!important; transform:none!important; clip-path:none!important; }
.motion-off .digit-reel { transform:translateY(calc(var(--digit) * -1.12em))!important; }
.motion-off .index-rule { transform:none!important; }
@keyframes seal-glide { from { transform:rotate(-40deg); } to { transform:rotate(0); } }
@keyframes star-turn { to { transform:rotate(360deg); } }
@keyframes star-pulse { 0%,100% { transform:rotate(0) scale(1); } 50% { transform:rotate(180deg) scale(.78); } }
@keyframes breath-line { 0%,100% { transform:scaleY(1); opacity:.8; } 50% { transform:scaleY(.45); opacity:.25; } }
@keyframes menu-entry { from { transform:translateY(15px); opacity:0; } to { transform:none; opacity:1; } }
@keyframes water-breath { 0%,100% { transform:scale(1); } 50% { transform:scale(1.12); } }
@media (min-width:1700px) { .hero-content { bottom:160px; } }
@media (max-width:1100px) { .azola-notes { gap:23px; grid-template-columns:1fr 1fr 1fr; } .notes-heading { grid-column:1/-1; display:flex; justify-content:space-between; gap:30px; align-items:center; } .notes-heading .eyebrow { margin:0; max-width:none; } .notes-heading>p { font-size:36px; } .notes-heading>p br { display:none; } .azola-notes { margin-bottom:80px; } .note-value { font-size:76px; } .footer-signature>span { font-size:14vw; } .footer-signature .turning-star { width:25px; height:25px; } }
@media (max-width:950px) { .hero-content { bottom:130px; } .azola-seal { top:123px; width:125px; height:125px; } .editorial-intro { padding:100px 30px 85px; } .room-story { height:620px; } .wellness-story { margin-left:8%; height:580px; } .restaurant-story { margin-right:7%; height:580px; } .story-content h2 { font-size:55px; } .wellness-story .story-content { left:36px; right:30px; } .season-card:first-child { height:590px; } .season-card:last-child { height:490px; } .season-copy h3 { font-size:36px; } .home-portrait .portrait-caption h2 { font-size:48px; } .apartment-story { margin-left:var(--pad); } .footer-signature { gap:25px; flex-wrap:wrap; } .footer-signature>span { font-size:16vw; } .stay-cta { padding:95px 25px; } }
@media (max-width:600px) {
  body { font-size:14px; }
  h1,.inner-hero h1 { font-size:clamp(39px,11vw,62px); line-height:1.15; }
  .home-hero h1 { font-size:clamp(48px,12.2vw,73px); }
  h2 { font-size:40px; }
  .hero-content { bottom:122px; left:25px; right:22px; }
  .hero-content .eyebrow { font-size:8px; max-width:270px; }
  .hero-content p { font-size:13px; max-width:290px; }
  .inner-hero .hero-content { bottom:92px; }
  .home-hero { min-height:655px; }
  .azola-seal { width:90px; height:90px; top:112px; right:21px; }
  .azola-seal .hotel-stars { gap:8px; }
  .azola-seal .turning-star { width:12px; height:12px; }
  .hero-coordinate { bottom:46px; font-size:7px; }
  .hero-edition { font-size:110px; right:22px; bottom:10px; }
  .book-link { padding:10px 12px; font-size:9px; }
  .logo>span { font-size:28px; }
  .booking-caption strong { font-size:27px; }
  .editorial-intro { padding:83px 25px 60px; }
  .editorial-intro h2,.section-heading h2,.location-section h2,.stay-cta h2 { font-size:40px; }
  .editorial-intro p,.section-heading p,.location-section p { font-size:13px; }
  .azola-notes { margin:0 22px 62px; padding:24px 0; grid-template-columns:1fr 1fr; gap:27px 20px; }
  .notes-heading { grid-column:1/-1; display:block; }
  .notes-heading .eyebrow { font-size:8px; margin-bottom:13px; }
  .notes-heading>p { font-size:35px; }
  .notes-heading>p br { display:block; }
  .note-value { font-size:66px; min-height:80px; }
  .note>p { font-size:11px; line-height:1.8; }
  .note>p br { display:none; }
  .note-stars { grid-column:1/-1; flex-direction:row; align-items:center; justify-content:space-between; gap:20px; padding-top:20px; border-top:1px solid var(--line); }
  .note-stars .note-value { min-height:40px; }
  .note-stars .turning-star { width:23px; height:23px; }
  .note-stars .hotel-stars { gap:12px; }
  .note-stars>p { max-width:180px; }
  .home-portrait .portrait-caption h2 { font-size:39px; }
  .portrait-bottom>span { font-size:8px; }
  .experience-stories { gap:24px; }
  .room-story,.wellness-story,.restaurant-story { margin:0; height:550px; }
  .story-content,.wellness-story .story-content { left:24px; right:23px; bottom:35px; }
  .story-content h2,.apartment-story .story-content h2 { font-size:40px; line-height:1.13; }
  .story-content p { font-size:12px; line-height:1.85; }
  .story-number { top:24px; left:25px; font-size:26px; }
  .index-rule { width:45px; }
  .season-section .section-heading { padding-top:85px; }
  .season-card:first-child,.season-card:last-child { height:500px; margin-top:0; }
  .season-copy h3 { font-size:38px; }
  .apartment-story { height:560px; margin:0 18px; }
  .room-photo-title h2 { font-size:clamp(32px,10.2vw,45px); }
  .room-photo-title .eyebrow { font-size:8px; }
  .room-facts { gap:10px; font-size:9px; }
  .room-facts span+span { padding-left:10px; }
  .wellness-grid .story-content h2,.wellness-feature .story-content h2 { font-size:38px; }
  .wellness-prose h2,.winter-service h2,.details-section>h2,.service-editorial h2,.contact-section h2 { font-size:39px; }
  .footer-signature { display:grid; grid-template-columns:1fr auto; gap:28px 10px; padding:18px 0 30px; }
  .footer-signature>span { font-size:20vw; letter-spacing:.035em; }
  .footer-signature .hotel-stars { gap:7px; }
  .footer-signature .turning-star { width:14px; height:14px; }
  .motion-control { grid-column:1/-1; justify-self:start; }
  .footer-top>p { font-size:29px; }
  .footer-bottom { font-size:9px; }
  .stay-cta { padding:80px 25px 90px; }
  .stay-cta::before { bottom:0; font-size:34vw; }
  .relax-coda { margin:0 18px; padding:90px 25px; }
  .relax-coda h2 { font-size:40px; }
  .relax-coda>p { font-size:13px; }
  .menu-dialog nav { gap:6px; }
  .menu-dialog nav a { font-size:33px; }
  [data-photo]>img { transform:translateY(var(--photo-y,0px)) scale(1.05); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  [data-title] .word { opacity:1!important; transform:none!important; filter:none!important; clip-path:none!important; }
  [data-photo]>img { opacity:1!important; transform:none!important; clip-path:none!important; }
  .digit-reel { transform:translateY(calc(var(--digit) * -1.12em))!important; }
  .index-rule { transform:none!important; }
}


/* Shared closing section and direct contact information. */
.logo>span,.hero-edition { font-family:'Bodoni Moda',Georgia,serif; }
.stay-cta::before { content:none; }
.site-footer { padding:70px var(--pad) 30px; }
.footer-main { display:grid; grid-template-columns:1.05fr 1fr 1.15fr; gap:65px; align-items:start; padding-bottom:50px; }
.footer-brand .logo { width:128px; align-items:flex-start; }
.footer-brand .mountain-mark { margin-left:35px; }
.footer-brand .logo>span { font-size:43px; padding:0; }
.footer-brand .logo>small { font-size:6px; }
.footer-brand p { margin:25px 0 21px; font-size:13px; line-height:1.85; color:#e5e9df; }
.footer-brand .hotel-stars { gap:10px; }
.footer-brand .turning-star { width:15px; height:15px; }
.footer-main .eyebrow { font-size:9px; line-height:1.7; color:#c6d0c4; margin:4px 0 22px; }
.footer-address address { font-style:normal; font-size:14px; line-height:1.9; margin-bottom:19px; }
.footer-underlined { display:block; width:fit-content; background:none; border:0; border-bottom:1px solid #f6f2e970; padding:4px 0; color:inherit; font-family:var(--sans); font-size:12px; line-height:1.8; }
.footer-direct>a { display:block; width:fit-content; }
.footer-direct .footer-phone { font-size:24px; letter-spacing:-.02em; margin-bottom:3px; }
.footer-direct>a[href^="mailto"] { font-size:14px; margin-bottom:17px; }
.footer-links { gap:28px; padding:24px 0; font-size:12px; }
.footer-bottom { gap:27px; font-size:10px; padding-top:26px; justify-content:flex-start; align-items:center; }
.footer-bottom>span:first-child { margin-right:auto; }
.stay-information,.arrival-editorial { max-width:800px; margin:0 auto; padding:80px 30px 100px; text-align:center; }
.stay-information h2,.arrival-editorial h2 { font-size:clamp(40px,4.4vw,64px); margin:25px 0; }
.stay-information p,.arrival-editorial p { font-size:14px; line-height:1.95; color:var(--muted); }
.stay-information .text-link { margin-top:24px; }
.stay-information .legal-note { font-family:var(--mono); font-size:9px; margin-top:25px; }
.practical-note { margin:-25px auto 0; max-width:740px; padding:0 30px 55px; font-size:13px; line-height:1.9; color:var(--muted); }
.tea-story .photo-plane img { object-position:center 58%; }
.tea-story .photo-shade { background:linear-gradient(90deg,#12251fbb,#12251f05),linear-gradient(0deg,#12251fc2,transparent 75%); }
.contact-intro { text-align:center; margin:0 auto; max-width:780px; padding:115px 25px 70px; }
.contact-intro h2 { margin:26px 0; }
.contact-intro>p { max-width:600px; margin:auto; font-size:15px; color:var(--muted); line-height:1.9; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:65px; margin:0 var(--pad); padding:42px 0 60px; border-top:1px solid var(--line); }
.contact-grid .eyebrow { color:var(--rose); margin-bottom:22px; }
.contact-grid address { font-style:normal; font-size:16px; line-height:1.8; }
.contact-value { font-size:23px; display:block; margin-bottom:14px; letter-spacing:-.02em; }
.contact-grid p { font-size:13px; color:var(--muted); line-height:1.9; }
.contact-grid .text-link { font-size:12px; }
.hotel-map { margin:0 var(--pad); padding:55px 0 0; border-top:1px solid var(--line); scroll-margin-top:120px; }
.map-heading { max-width:820px; margin-bottom:45px; }
.map-heading h2 { margin:22px 0; }
.map-heading p { max-width:630px; font-size:14px; line-height:1.9; color:var(--muted); }
.map-frame { height:500px; background:var(--cream); overflow:hidden; }
.map-frame iframe { display:block; width:100%; height:100%; border:0; }
.map-caption { display:flex; justify-content:space-between; align-items:center; padding:25px 0; gap:25px; border-bottom:1px solid var(--line); }
.map-caption>span { font-family:var(--mono); font-size:10px; }
.map-caption .button { min-height:48px; }
@media(max-width:1150px) { .desktop-nav { display:none; } .menu-toggle { display:flex; } .footer-main { gap:30px; } .contact-grid { gap:30px; } .contact-value { font-size:20px; } }
@media(max-width:950px) { .footer-main { grid-template-columns:1fr 1fr; gap:45px 35px; } .footer-brand { grid-column:1/-1; } .footer-brand p br { display:none; } .footer-bottom { flex-wrap:wrap; gap:20px; } .footer-bottom>span:first-child { width:100%; } .contact-grid { grid-template-columns:1fr 1fr; gap:35px; } .contact-grid>div:first-child { grid-column:1/-1; } .map-frame { height:440px; } }
@media(max-width:600px) {
 .home-hero h1 { font-size:clamp(43px,11.5vw,66px); }
 .hero-content { right:24px; }
 h1,h2,h3 { letter-spacing:-.04em; }
 .photo-plane img { transform:translate3d(0,var(--photo-y,0px),0) scale(1.05); }
 .site-footer { padding:52px 25px 28px; }
 .footer-main { grid-template-columns:1fr; gap:38px; padding-bottom:35px; }
 .footer-brand { grid-column:auto; }
 .footer-brand p { margin-top:21px; font-size:13px; max-width:280px; }
 .footer-brand p br { display:block; }
 .footer-main .eyebrow { margin:0 0 15px; font-size:9px; }
 .footer-address address { font-size:13px; }
 .footer-direct .footer-phone { font-size:25px; }
 .footer-direct>a[href^="mailto"] { font-size:14px; }
 .footer-links { gap:14px 24px; padding:23px 0; font-size:11px; }
 .footer-bottom { gap:18px; line-height:1.9; font-size:9px; }
 .stay-information,.arrival-editorial { padding:70px 25px 75px; }
 .stay-information h2,.arrival-editorial h2 { font-size:37px; }
 .stay-information p,.arrival-editorial p { font-size:13px; }
 .contact-intro { padding:85px 25px 55px; }
 .contact-intro h2 { font-size:39px; }
 .contact-intro>p { font-size:13px; }
 .contact-grid { margin:0 25px; grid-template-columns:1fr; gap:36px; padding:34px 0 52px; }
 .contact-grid>div:first-child { grid-column:auto; }
 .contact-grid .eyebrow { font-size:9px; margin-bottom:14px; }
 .contact-grid address { font-size:14px; }
 .contact-value { font-size:23px; }
 .hotel-map { margin:0 18px; padding-top:42px; scroll-margin-top:95px; }
 .map-heading { padding:0 7px; margin-bottom:29px; }
 .map-heading h2 { font-size:38px; }
 .map-heading p { font-size:13px; }
 .map-frame { height:360px; }
 .map-caption { flex-direction:column; align-items:flex-start; gap:21px; padding:24px 7px; }
 .map-caption>span { font-size:9px; line-height:1.8; }
 .map-caption .button { font-size:11px; }
 .menu-dialog nav { gap:5px; margin:25px 0 20px; }
 .menu-dialog nav a { font-size:29px; }
}
@media(prefers-reduced-motion:reduce) { .photo-plane,.photo-plane img { opacity:1!important; transform:none!important; will-change:auto!important; } }
@media(max-width:360px) { .site-header .logo>span { font-size:25px; letter-spacing:.065em; } }
