:root{
  color-scheme:light;
  --forest:#173b34;--deep:#102823;--sage:#b6bea7;--rust:#bc7554;
  --paper:#f1eee5;--cream:#faf8f1;--ink:#1d302c;--muted:#66716a;
  --line:rgba(29,48,44,.18);--display:"Newsreader","Iowan Old Style",Georgia,serif;
  --top:29px;--header:76px;--footer:31px
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
body{display:grid;grid-template-rows:var(--top) var(--header) minmax(0,1fr) var(--footer);background:var(--paper);color:var(--ink);font-family:var(--display);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,a{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.skip-link{position:fixed;z-index:40;top:7px;left:8px;transform:translateY(-160%);padding:9px 13px;background:var(--cream);color:var(--forest)}
.skip-link:focus{transform:translateY(0)}
.topline{display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1400px)/2));background:var(--deep);color:rgba(250,248,241,.8);font:10px/1.2 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.topline a{color:var(--cream);font-size:11px;letter-spacing:.06em;text-transform:none}
.topline a span{padding-left:5px;color:#d49a74}
.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(24px,calc((100% - 1400px)/2));border-bottom:1px solid var(--line);background:rgba(241,238,229,.97)}
.brand{display:flex;flex:0 0 auto;align-items:baseline;gap:10px}
.brand-name{color:var(--forest);font-size:38px;line-height:.9;letter-spacing:-.085em}
.brand-note{color:var(--muted);font:9px/1.2 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.primary-nav{display:flex;align-items:center;gap:7px}
.primary-nav>button,.nav-trigger{min-height:40px;padding:8px 12px;border:0;background:transparent;color:var(--ink);font-size:14px;white-space:nowrap;transition:background .18s,color .18s}
.primary-nav>button:hover,.nav-trigger:hover,.primary-nav>button[aria-current=page],.nav-trigger[aria-expanded=true],.nav-trigger.is-current{background:rgba(182,190,167,.25);color:var(--forest)}
.nav-group{position:relative}
.nav-trigger span{padding-left:5px;color:var(--rust)}
.nav-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:25;display:grid;min-width:148px;gap:2px;padding:5px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:var(--forest);box-shadow:0 12px 26px rgba(16,40,35,.22)}
.nav-panel[hidden]{display:none}
.nav-panel button{padding:7px 9px;border:0;border-radius:7px;background:transparent;text-align:left;color:var(--paper);font-size:13px;line-height:1.2;white-space:nowrap}
.nav-panel button:hover{background:rgba(255,255,255,.12);color:#fff}
.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:45px;padding:0 17px;border:1px solid transparent;background:var(--rust);color:#fff;font-size:14px;transition:background .2s,transform .2s}
.nav-cta:hover,.button:hover{background:#a65f42;transform:translateY(-1px)}
.nav-cta{flex:0 0 auto;min-height:40px;padding:0 13px;font-size:13px}
.nav-toggle{display:none}
.mobile-menu[hidden]{display:none}
.mobile-menu{display:none}
.page-content{position:relative;min-height:0;overflow:hidden;background:#d8d4c8}
.view{position:absolute;inset:0;display:none;overflow:hidden}
.view[hidden]{display:none!important}
.view.is-active{display:block;animation:fadein .35s ease both}
@keyframes fadein{from{opacity:.7}to{opacity:1}}
.view-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,27,24,.78) 0%,rgba(9,27,24,.51) 38%,rgba(9,27,24,.04) 78%),linear-gradient(0deg,rgba(9,27,24,.46),transparent 38%);pointer-events:none}
.home-photo{object-position:center 52%}
.home-shade{background:linear-gradient(90deg,rgba(7,25,23,.76),rgba(7,25,23,.32) 54%,rgba(7,25,23,.03)),linear-gradient(0deg,rgba(7,25,23,.62),transparent 33%)}
.home-copy{position:absolute;top:48%;left:max(6vw,calc((100% - 1400px)/2));width:min(690px,60vw);transform:translateY(-50%);color:var(--cream)}
.home-copy h1{margin:0 0 27px;font-size:clamp(66px,8.4vw,122px);font-weight:400;letter-spacing:-.065em;line-height:.83}
.home-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.button-light{background:var(--cream);color:var(--deep)}
.button-light:hover{background:#e6e0d2}
.button-outline{border-color:rgba(250,248,241,.8);background:rgba(12,30,26,.18);color:var(--cream)}
.button-outline:hover{background:rgba(12,30,26,.48)}
.home-stats{position:absolute;right:max(5vw,calc((100% - 1400px)/2));bottom:clamp(24px,5vh,54px);display:grid;grid-template-columns:repeat(3,auto);border:1px solid rgba(250,248,241,.4);background:rgba(14,34,30,.47);backdrop-filter:blur(10px);color:var(--cream)}
.home-stats div{display:grid;gap:1px;min-width:116px;padding:11px 17px;border-right:1px solid rgba(250,248,241,.25)}
.home-stats div:last-child{border:0}
.home-stats strong{font-size:26px;font-weight:400;line-height:1.05}
.home-stats strong small{font-size:13px}
.home-stats span{font:10px/1.3 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:rgba(250,248,241,.75)}
.view-copy{position:absolute;left:max(6vw,calc((100% - 1400px)/2));bottom:clamp(42px,9vh,92px);width:min(690px,61vw);color:var(--cream)}
.view-copy h1,.editorial-content h1,.contact-intro h1{max-width:780px;margin:0 0 18px;font-size:clamp(48px,6.4vw,90px);font-weight:400;letter-spacing:-.055em;line-height:.91}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 16px;color:#e3b494;font:10px/1.2 Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase}
.eyebrow:before{width:25px;height:1px;background:currentColor;content:""}
.lead{max-width:575px;margin:0 0 22px;color:rgba(250,248,241,.87);font-size:clamp(16px,1.5vw,20px);line-height:1.4}
.feature-row,.dish-list{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 22px}
.feature-row span,.dish-list span{padding:7px 10px;border:1px solid rgba(250,248,241,.46);background:rgba(15,37,32,.32);color:var(--cream);font:10px/1.25 Arial,sans-serif;letter-spacing:.045em}
.photo-credit{position:absolute;right:22px;bottom:16px;color:rgba(250,248,241,.74);font:9px/1.2 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.room-photo{object-position:center 54%}
.room-view.is-active{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);background:var(--paper)}
.room-view .room-photo{position:relative;inset:auto;grid-column:1;grid-row:1;width:100%;height:100%;object-position:center 54%}
.room-view>.photo-shade{display:none}
.room-copy{position:relative;inset:auto;grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:18px;width:100%;min-width:0;padding:clamp(24px,4.2vw,68px);overflow-y:auto;background:var(--paper);color:var(--ink)}
.room-main{width:min(680px,100%);margin-inline:auto}
.room-copy .eyebrow{color:#9d6349}
.room-copy h1{color:var(--forest)}
.room-copy .lead{margin-bottom:20px;color:var(--muted)}
.room-choices{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 15px}
.room-choice{min-height:34px;padding:6px 11px;border:1px solid var(--line);background:transparent;color:var(--forest);font-size:12px;transition:background .18s,color .18s,border-color .18s}
.room-choice:hover,.room-choice[aria-pressed=true]{border-color:var(--forest);background:var(--forest);color:var(--cream)}
.room-copy .feature-row{gap:5px;margin-bottom:16px}
.room-copy .feature-row span{padding:5px 8px;border-color:var(--line);background:rgba(23,59,52,.04);color:var(--forest)}
.room-info{width:100%;margin:2px 0 17px;padding:13px 15px;border:1px solid var(--line);background:rgba(255,255,255,.36);color:var(--forest)}
.room-info summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;color:var(--forest);font:10px/1.3 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.room-info summary::-webkit-details-marker{display:none}
.room-info summary:after{content:"+";color:#9d6349;font:18px/1 Arial,sans-serif}
.room-info[open] summary:after{content:"−"}
.room-info ul{display:grid;gap:0;margin:12px 0 0;padding:0;list-style:none}
.room-info li{padding:8px 0;border-top:1px solid var(--line);color:var(--muted);font:12px/1.3 Arial,sans-serif}
.apartment-view.is-active{display:flex;align-items:center;justify-content:space-between;padding:clamp(35px,7vw,100px) max(7vw,calc((100% - 1300px)/2));background:linear-gradient(120deg,#f5f2e9 0%,#e9e5db 100%)}
.apartment-view .editorial-content{width:min(610px,56vw)}
.apartment-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:600px;margin:27px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.apartment-facts span{padding:11px 10px;border-bottom:1px solid var(--line);color:var(--forest);font:12px/1.3 Arial,sans-serif}
.apartment-facts span:nth-child(odd){padding-left:0}
.apartment-facts span:nth-last-child(-n+2){border-bottom:0}
.apartment-types{display:grid;gap:0;width:min(27vw,320px);margin-right:2vw;padding-left:22px;border-left:1px solid var(--line)}
.apartment-types .eyebrow{margin-bottom:8px;color:#9d6349}
.apartment-types>span{padding:12px 0;border-bottom:1px solid var(--line);color:var(--forest);font-size:clamp(19px,2vw,27px)}
.apartment-types>span:last-child{border-bottom:0}
.kitchen-view .view-photo{object-position:center 46%}
.kitchen-view .photo-shade{background:linear-gradient(90deg,rgba(15,24,21,.82),rgba(15,24,21,.55) 43%,rgba(15,24,21,.08) 82%),linear-gradient(0deg,rgba(15,24,21,.37),transparent 40%)}
.winter-view .view-photo{object-position:center 58%}
.winter-view .photo-shade{background:linear-gradient(90deg,rgba(11,27,27,.75),rgba(11,27,27,.35) 46%,rgba(11,27,27,.04) 80%),linear-gradient(0deg,rgba(11,27,27,.5),transparent 40%)}
.summer-view .view-photo{object-position:center 48%}
.editorial-view{display:flex;align-items:center;justify-content:space-between;padding:clamp(35px,7vw,100px) max(7vw,calc((100% - 1300px)/2));background:var(--paper)}
.editorial-content{position:relative;z-index:1;width:min(660px,62vw)}
.editorial-content .eyebrow,.contact-intro .eyebrow{color:#9d6349}
.editorial-content h1,.contact-intro h1{color:var(--forest)}
.editorial-content .lead,.contact-intro .lead{color:var(--muted);font-size:clamp(17px,1.7vw,22px)}
.button-dark{background:var(--forest);color:var(--cream)}
.button-dark:hover{background:#234c43}
.offer-details{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:620px;margin:29px 0 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.offer-details span{padding:13px 10px;border-right:1px solid var(--line);color:var(--forest);font-size:12px;line-height:1.3}
.offer-details span:first-child{padding-left:0}
.offer-details span:last-child{border:0}
.territory-view{overflow:hidden}
.territory-view .editorial-content{width:min(670px,59vw)}
.territory-list{display:grid;gap:0;margin-top:25px;border-top:1px solid var(--line)}
.territory-list>div{display:grid;grid-template-columns:40px 1fr;column-gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.territory-list>div>span{grid-row:span 3;color:var(--rust);font:10px/1.6 Arial,sans-serif}
.territory-list strong{color:var(--forest);font-size:16px;font-weight:500}
.territory-list small{color:var(--muted);font-size:11px}
.territory-list .territory-coordinate{color:var(--rust);font:10px/1.4 Arial,sans-serif;letter-spacing:.07em}
.territory-list .territory-coordinate+small{margin-top:2px}
.gallery-view{overflow-x:hidden;overflow-y:auto;padding:clamp(18px,3vh,30px) max(28px,calc((100% - 1380px)/2));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(23,59,52,.45) transparent;background:var(--paper)}
.gallery-view::-webkit-scrollbar{width:7px}
.gallery-view::-webkit-scrollbar-thumb{background:rgba(23,59,52,.4)}
.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}
.gallery-heading{margin-bottom:clamp(11px,2vh,20px);padding:3px 0 10px}
.gallery-heading .eyebrow{margin-bottom:5px;color:#9d6349}
.gallery-heading h1{margin:0;color:var(--forest);font-size:clamp(34px,4.5vw,59px);font-weight:400;letter-spacing:-.05em;line-height:1}
.instagram-link{padding:7px 0;border-bottom:1px solid rgba(23,59,52,.35);color:var(--forest);font-size:12px;white-space:nowrap}
.instagram-link:hover{color:var(--rust);border-color:var(--rust)}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(260px,34vh);gap:12px;min-height:0}
.gallery-tile{position:relative;min-width:0;min-height:0;padding:0;border:0;overflow:hidden;background:#b9b8a8;text-align:left;cursor:zoom-in}
.gallery-tile:after{position:absolute;inset:30% 0 0;background:linear-gradient(0deg,rgba(9,26,23,.76),transparent);content:"";pointer-events:none}
.gallery-tile.no-caption:after{display:none}
.gallery-tile img{width:100%;height:100%;object-fit:cover;object-position:center 52%;transition:transform .45s ease}
.gallery-tile img.crop-view{object-position:center 88%}
.gallery-tile img.crop-snow{object-position:center 12%}
.gallery-tile:hover img{transform:scale(1.04)}
.gallery-tile>span{position:absolute;z-index:1;right:13px;bottom:11px;left:13px;display:flex;align-items:baseline;justify-content:space-between;gap:7px;color:#fff;font-size:15px}
.gallery-tile small{color:rgba(255,255,255,.72);font:8px/1.2 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.contact-view{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(35px,8vw,115px);padding:clamp(28px,6vw,82px) max(7vw,calc((100% - 1260px)/2));background:var(--paper)}
.contact-intro{max-width:570px}
.contact-intro h1{font-size:clamp(46px,6.1vw,82px)}
.contact-intro .lead{max-width:450px}
.contact-details{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.contact-details a{display:flex;min-height:clamp(100px,17vh,146px);flex-direction:column;justify-content:center;padding:17px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}
.contact-details a:hover{background:rgba(255,255,255,.48)}
.contact-details span{margin-bottom:6px;color:var(--rust);font:9px/1.2 Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase}
.contact-details strong{overflow-wrap:anywhere;color:var(--forest);font-size:clamp(16px,1.7vw,22px);font-weight:400}
.contact-details small{margin-top:5px;color:var(--muted);font-size:11px}
.partners-view .editorial-content{width:min(750px,60vw)}
.partners-view .editorial-content>p:not(.eyebrow):not(.lead){max-width:550px;margin:0 0 24px;color:var(--muted);font-size:15px}
.partners-mark{display:grid;gap:8px;justify-items:center;min-width:250px;margin-right:2vw;color:rgba(23,59,52,.65);font:10px/1.2 Arial,sans-serif;letter-spacing:.22em}
.partners-mark i{width:1px;height:27px;background:var(--rust)}
.site-footer{display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1400px)/2));border-top:1px solid var(--line);background:var(--paper);color:var(--muted);font:9px/1.2 Arial,sans-serif;letter-spacing:.04em}
.site-footer a:hover{color:var(--forest)}
.site-footer i{padding:0 9px;color:var(--rust);font-style:normal}
.lightbox{width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100svh - 32px);padding:14px;border:1px solid var(--line);background:var(--cream);color:var(--ink)}
.lightbox::backdrop{background:rgba(8,24,21,.86)}
.lightbox[open]{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px}
.lightbox-image{width:100%;height:min(73vh,740px);object-fit:contain}
.lightbox-close{position:absolute;top:6px;right:7px;z-index:2;display:grid;width:37px;height:37px;place-items:center;border:0;background:var(--cream);color:var(--forest);font-size:27px}
.lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:15px}
.lightbox-caption{margin:0;color:var(--muted);font-size:13px}
.lightbox-source{color:var(--forest);font-size:12px}
.lightbox-source[hidden]{display:none}
@media(max-width:1120px){
  :root{--header:68px}
  .site-header{gap:12px;padding-right:18px;padding-left:18px}
  .brand-note{display:none}
  .primary-nav{gap:1px}
  .primary-nav>button,.nav-trigger{padding-right:8px;padding-left:8px;font-size:12px}
  .nav-cta{min-height:36px;padding:0 10px;font-size:11px}
  .home-stats{right:24px}
  .view-copy,.home-copy{left:5vw}
  .contact-view{gap:32px;padding-right:5vw;padding-left:5vw}
}
@media(max-width:780px){
  :root{--top:0px;--header:64px;--footer:26px}
  .topline{display:none}
  .site-header{padding:0 17px}
  .brand-name{font-size:34px}
  .primary-nav,.nav-cta{display:none}
  .nav-toggle{display:flex;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-left:auto;border:1px solid var(--line);background:transparent}
  .nav-toggle span{display:block;width:17px;height:1px;background:var(--forest)}
  .mobile-menu{position:fixed;z-index:19;inset:var(--header) 0 var(--footer);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:7px;padding:13px;background:rgba(241,238,229,.98);backdrop-filter:blur(12px)}
  .mobile-menu button{border:1px solid var(--line);background:var(--cream);color:var(--forest);font-size:clamp(12px,2.5vw,16px)}
  .mobile-menu button:hover{background:var(--forest);color:var(--cream)}
  .home-copy{top:45%;left:7vw;width:86vw}
  .home-copy h1{font-size:clamp(58px,12vw,88px)}
  .home-stats{right:5vw;bottom:4vh;left:5vw;grid-template-columns:repeat(3,1fr)}
  .home-stats div{min-width:0;padding:9px 10px}
  .home-stats strong{font-size:22px}
  .home-stats span{font-size:8px}
  .view-copy{left:7vw;bottom:6vh;width:86vw}
  .view-copy h1{font-size:clamp(43px,8vw,64px)}
  .view-copy .lead{font-size:15px}
  .feature-row,.dish-list{gap:5px;margin-bottom:14px}
  .feature-row span,.dish-list span{padding:6px 8px;font-size:9px}
  .room-copy{grid-template-columns:minmax(0,1fr) minmax(170px,210px);gap:2vw;bottom:1.5vh}
  .room-main{width:100%}
  .editorial-view{align-items:center;padding:32px 7vw}
  .editorial-content,.territory-view .editorial-content,.partners-view .editorial-content{width:78vw}
  .editorial-content h1{font-size:clamp(43px,8vw,64px)}
  .apartment-view.is-active{flex-direction:column;align-items:flex-start;justify-content:center;gap:18px;padding:24px 7vw}
  .apartment-view .editorial-content{width:100%}
  .apartment-facts{margin:17px 0}
  .apartment-types{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;margin:0;padding:10px 0 0;border-top:1px solid var(--line);border-left:0}
  .apartment-types .eyebrow{grid-column:1/-1}
  .apartment-types>span{padding:7px 8px 7px 0;border:0;font-size:clamp(15px,3vw,22px)}
  .contact-view{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:18px 6vw}
  .contact-intro{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:14px}
  .contact-intro .eyebrow,.contact-intro h1,.contact-intro .lead{grid-column:1/-1}
  .contact-intro .eyebrow{margin-bottom:7px}
  .contact-intro h1{margin-bottom:5px;font-size:clamp(35px,7vw,50px)}
  .contact-intro .lead{margin-bottom:0;font-size:13px}
  .contact-intro .button{grid-column:2;grid-row:3;min-height:36px;padding:0 10px;font-size:10px}
  .contact-details a{min-height:clamp(75px,14vh,108px);padding:10px 12px}
  .gallery-view{padding:13px 14px}
  .gallery-heading h1{font-size:clamp(30px,6vw,43px)}
  .instagram-link{font-size:10px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(230px,38vh);gap:8px}
  .gallery-tile>span{right:6px;bottom:6px;left:6px;font-size:10px}
  .gallery-tile small{display:none}
  .site-footer{padding:0 11px;font-size:8px}
}
@media(max-width:520px){
  :root{--header:58px;--footer:24px}
  .home-copy{top:41%;left:7vw}
  .home-copy h1{font-size:clamp(54px,13vw,72px);margin-bottom:18px}
  .home-actions{gap:7px}
  .home-actions .button{min-height:40px;padding:0 12px;font-size:12px}
  .home-stats div{padding:7px 5px}
  .home-stats strong{font-size:18px}
  .home-stats strong small{font-size:10px}
  .home-stats span{font-size:7px;letter-spacing:.04em}
  .view-copy{bottom:4vh}
  .view-copy h1{font-size:clamp(39px,10vw,54px);margin-bottom:12px}
  .view-copy .lead{font-size:13px;margin-bottom:13px}
  .view-copy .button{min-height:39px;padding:0 12px;font-size:12px}
  .eyebrow{margin-bottom:10px;font-size:8px;letter-spacing:.15em}
  .eyebrow:before{width:16px}
  .room-copy{grid-template-columns:1fr;gap:8px;bottom:1vh}
  .room-copy .lead{margin-bottom:9px}
  .room-choice{min-height:30px;padding:5px 8px;font-size:10px}
  .room-copy .feature-row{margin-bottom:9px}
  .room-copy .feature-row span{font-size:8px;padding:4px 6px}
  .room-info{justify-self:stretch;width:100%;padding:8px 11px}
  .room-info ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}
  .room-info li{padding:6px 0;font-size:10px}
  .editorial-view{padding:24px 7vw}
  .editorial-content,.territory-view .editorial-content,.partners-view .editorial-content{width:88vw}
  .apartment-view .editorial-content{width:100%}
  .editorial-content h1{font-size:clamp(40px,10vw,55px)}
  .editorial-content .lead{font-size:15px}
  .offer-details{grid-template-columns:1fr;margin:18px 0}
  .offer-details span{padding:7px 0;border-right:0;border-bottom:1px solid var(--line)}
  .offer-details span:last-child{border-bottom:0}
  .territory-list{margin-top:17px}
  .territory-list>div{padding:7px 0}
  .territory-list strong{font-size:14px}
  .territory-list small{font-size:9px}
  .partners-mark{position:absolute;right:9vw;bottom:8vh;min-width:100px;font-size:7px}
  .partners-mark i{height:15px}
  .gallery-view{padding:11px 9px}
  .gallery-heading{align-items:center}
  .gallery-heading .eyebrow{margin-bottom:3px}
  .gallery-heading h1{font-size:28px}
  .instagram-link{font-size:8px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(200px,38vh);gap:6px}
  .gallery-tile>span{font-size:9px}
  .gallery-tile small{display:none}
  .contact-view{gap:10px;padding:12px 5vw}
  .contact-intro h1{font-size:clamp(32px,9vw,43px)}
  .contact-intro .lead{font-size:11px}
  .contact-intro .button{min-height:32px;font-size:9px}
  .contact-details a{min-height:clamp(70px,13vh,92px);padding:7px 8px}
  .contact-details span{font-size:7px;margin-bottom:3px}
  .contact-details strong{font-size:11px}
  .contact-details small{font-size:8px;margin-top:3px}
  .site-footer{font-size:7px}
}
@media(max-width:900px){
  .room-view.is-active{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
  .room-copy{bottom:auto;grid-template-columns:none;padding:22px 20px;gap:12px}
  .room-copy h1{font-size:clamp(38px,5vw,58px);margin-bottom:12px}
  .room-copy .lead{font-size:14px;margin-bottom:14px}
}
.room-copy{inset:auto;width:100%;grid-template-columns:none}
@media(max-width:520px){
  .room-view.is-active{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr)}
  .room-copy{bottom:auto;gap:9px;padding:14px 12px}
  .room-copy .eyebrow{margin-bottom:6px;font-size:7px}
  .room-copy h1{font-size:clamp(25px,7vw,34px);margin-bottom:9px}
  .room-copy .lead{font-size:11px;line-height:1.35;margin-bottom:10px}
  .room-choices{display:grid;grid-template-columns:1fr;gap:5px;margin-bottom:10px}
  .room-choice{min-height:28px;padding:5px 7px;text-align:left;font-size:9px}
  .room-copy .feature-row{gap:4px;margin-bottom:10px}
  .room-copy .feature-row span{padding:4px 6px;font-size:8px}
  .room-info{margin:0 0 10px;padding:8px 10px}
  .room-info ul{grid-template-columns:1fr}
  .room-info li{padding:5px 0;font-size:9px}
  #room-request{width:100%;min-height:35px;padding:0 10px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Camere senza foto: le tipologie restano leggibili e la galleria raccoglie gli scatti reali. */
.room-view.is-active{display:block;overflow-x:hidden;overflow-y:auto;padding:clamp(26px,5vh,58px) max(5vw,calc((100% - 1280px)/2));background:var(--paper);scrollbar-width:thin;scrollbar-color:rgba(23,59,52,.35) transparent}
.room-copy{display:block;width:100%;min-height:100%;padding:0;overflow:visible;background:transparent}
.room-main{width:min(1240px,100%);margin:0 auto}
.room-copy .eyebrow{margin-bottom:12px}
.room-copy h1{max-width:790px;margin:0 0 13px;font-size:clamp(42px,5.2vw,72px);line-height:.97}
.room-lead{max-width:690px;margin:0 0 25px;color:var(--muted);font-size:clamp(14px,1.35vw,18px);line-height:1.45}
.room-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.room-type-card{min-width:0;padding:23px 22px 22px 0;border-right:1px solid var(--line)}
.room-type-card+.room-type-card{padding-left:22px}
.room-type-card:last-child{padding-right:0;border-right:0}
.room-card-index{color:var(--rust);font:9px/1.3 Arial,sans-serif;letter-spacing:.15em}
.room-type-card h2{margin:17px 0 8px;color:var(--forest);font-size:clamp(21px,2.2vw,30px);font-weight:400;letter-spacing:-.025em;line-height:1.08}
.room-type-card p{max-width:340px;min-height:54px;margin:0 0 15px;color:var(--muted);font-size:13px;line-height:1.45}
.room-type-features{display:flex;flex-wrap:wrap;gap:6px}
.room-type-features span{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--forest);font:9px/1.2 Arial,sans-serif;letter-spacing:.05em}
.room-info{width:max-content;max-width:100%;margin:0 0 14px;padding:0;border:1px solid rgba(23,59,52,.25);border-radius:999px;background:rgba(255,255,255,.32);color:var(--forest)}
.room-info[open]{width:min(520px,100%);padding:7px 15px 9px;border-radius:22px;background:rgba(255,255,255,.54)}
.room-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.room-actions .button{min-height:42px;padding:0 16px;font-size:12px}
.room-contact-link{color:var(--forest);font:11px/1.3 Arial,sans-serif;border-bottom:1px solid rgba(23,59,52,.35);padding:6px 0}
.room-contact-link:hover{color:var(--rust);border-color:var(--rust)}

/* La Cucina è una storia verticale con immagini autentiche dell'Eden. */
.kitchen-view.is-active{display:block;overflow-x:hidden;overflow-y:auto;background:var(--paper);scrollbar-width:thin;scrollbar-color:rgba(23,59,52,.4) transparent;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.kitchen-view::-webkit-scrollbar{width:7px}
.kitchen-view::-webkit-scrollbar-thumb{background:rgba(23,59,52,.4)}
.kitchen-hero{position:relative;height:min(72vh,720px);min-height:440px;overflow:hidden;background:#31433a}
.kitchen-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%}
.kitchen-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,24,21,.78),rgba(8,24,21,.42) 49%,rgba(8,24,21,.04) 86%),linear-gradient(0deg,rgba(8,24,21,.44),transparent 42%)}
.kitchen-hero-copy{position:absolute;z-index:1;left:max(6vw,calc((100% - 1320px)/2));bottom:clamp(42px,9vh,90px);width:min(700px,76vw);color:var(--cream)}
.kitchen-hero-copy h1{margin:0 0 17px;font-size:clamp(58px,7.5vw,100px);font-weight:400;letter-spacing:-.06em;line-height:.88}
.kitchen-hero-copy .lead{max-width:570px;margin-bottom:20px;font-size:clamp(16px,1.5vw,20px)}
.kitchen-photo-credit{position:absolute;right:20px;bottom:16px;color:rgba(250,248,241,.77);font:9px/1.2 Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.kitchen-origin{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:start;gap:clamp(28px,5vw,76px);padding:clamp(40px,7vw,92px) max(6vw,calc((100% - 1320px)/2));background:var(--paper)}
.kitchen-origin-copy{max-width:460px}
.kitchen-origin .eyebrow,.kitchen-dishes .eyebrow{color:#9d6349}
.kitchen-origin h2,.kitchen-dishes h2{margin:0 0 15px;color:var(--forest);font-size:clamp(34px,4.5vw,58px);font-weight:400;letter-spacing:-.055em;line-height:.98}
.kitchen-origin-copy>p:last-child,.kitchen-dishes-copy>p:last-child{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.kitchen-photo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
.kitchen-photo-row figure{min-width:0;margin:0}
.kitchen-photo-row img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#d5d0c4}
.kitchen-photo-row figcaption{padding-top:9px;color:var(--muted);font:9px/1.3 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.kitchen-dishes{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;column-gap:clamp(32px,7vw,100px);row-gap:24px;padding:clamp(42px,7vw,92px) max(6vw,calc((100% - 1320px)/2));background:#e7e5dc}
.kitchen-dishes-copy{max-width:500px}
.kitchen-dish-list{grid-column:2;grid-row:1 / span 2;display:grid;margin:0;padding:0;border-top:1px solid var(--line);list-style:none}
.kitchen-dish-list li{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:baseline;gap:11px;padding:14px 0;border-bottom:1px solid var(--line)}
.kitchen-dish-list li span{color:var(--rust);font:9px/1.2 Arial,sans-serif;letter-spacing:.1em}
.kitchen-dish-list li strong{color:var(--forest);font-size:clamp(17px,2.2vw,26px);font-weight:400}
.kitchen-dishes>.button{grid-column:1;justify-self:start;min-height:42px;padding:0 15px;font-size:12px}
.piste-list-panel{padding:0;border-radius:0;background:transparent;color:var(--ink)}
.piste-list-panel .eyebrow{margin-bottom:13px;color:#9d6349}
.piste-list li{border-bottom-color:var(--line)}
.piste-list li span{color:var(--forest)}
.piste-list li small{color:var(--muted)}
.piste-source{color:var(--forest)}

@media(max-width:780px){
  .room-view.is-active{padding:24px 6vw 30px}
  .room-copy{padding:0;overflow:visible}
  .room-main{margin:0 auto}
  .room-copy h1{font-size:clamp(36px,7vw,54px)}
  .room-lead{margin-bottom:18px;font-size:13px}
  .room-type-grid{grid-template-columns:1fr;margin:16px 0}
  .room-type-card,.room-type-card+.room-type-card{padding:16px 0;border-right:0;border-bottom:1px solid var(--line)}
  .room-type-card:last-child{padding-bottom:16px;border-bottom:0}
  .room-type-card h2{margin:8px 0 5px;font-size:22px}
  .room-type-card p{min-height:0;margin-bottom:9px;font-size:12px}
  .room-actions{gap:13px}
  .kitchen-hero{height:64vh;min-height:390px}
  .kitchen-hero-copy{left:6vw;bottom:42px;width:88vw}
  .kitchen-hero-copy h1{font-size:clamp(54px,10vw,74px)}
  .kitchen-hero-copy .lead{font-size:14px}
  .kitchen-origin{grid-template-columns:1fr;gap:22px;padding:35px 6vw}
  .kitchen-origin-copy{max-width:620px}
  .kitchen-origin h2,.kitchen-dishes h2{font-size:clamp(33px,7vw,45px)}
  .kitchen-photo-row{gap:8px}
  .kitchen-photo-row img{aspect-ratio:4/3}
  .kitchen-dishes{grid-template-columns:1fr;gap:19px;padding:36px 6vw}
  .kitchen-dish-list{grid-column:1;grid-row:auto}
  .kitchen-dishes>.button{grid-column:1}
}
@media(max-width:520px){
  .room-view.is-active{padding:21px 5vw 25px}
  .room-copy h1{font-size:clamp(32px,8vw,43px)}
  .room-actions .button{width:100%;min-height:40px}
  .room-contact-link{font-size:10px}
  .kitchen-hero{height:60vh;min-height:360px}
  .kitchen-hero-photo{object-position:55% center}
  .kitchen-hero-copy{bottom:35px}
  .kitchen-hero-copy h1{font-size:clamp(48px,12vw,64px)}
  .kitchen-hero-copy .eyebrow{font-size:8px}
  .kitchen-hero-copy .lead{max-width:94%;font-size:13px}
  .kitchen-photo-row{grid-template-columns:1fr;gap:17px}
  .kitchen-photo-row img{aspect-ratio:16/10}
  .kitchen-photo-row figcaption{padding-top:6px}
  .kitchen-dish-list li{padding:11px 0}
  .kitchen-dish-list li strong{font-size:20px}
  .kitchen-dishes-copy>p:last-child,.kitchen-origin-copy>p:last-child{font-size:12px}
  .kitchen-photo-credit{right:10px;bottom:10px;font-size:7px}
}

/* Editorial refresh for rooms and the new practical information sections. */
.room-view.is-active{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);background:var(--paper)}
.room-image-panel{position:relative;min-width:0;min-height:0;overflow:hidden;background:#d6d2c8}
.room-view .room-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.room-photo-label{position:absolute;bottom:22px;left:22px;padding:9px 14px;border:1px solid rgba(255,255,255,.56);border-radius:999px;background:rgba(16,40,35,.62);color:#fff;font:9px/1.2 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(8px)}
.room-copy{position:relative;inset:auto;grid-column:auto;grid-row:auto;display:flex;align-items:stretch;justify-content:center;width:auto;min-width:0;padding:clamp(24px,3.7vw,58px);overflow-y:auto;background:var(--paper);color:var(--ink);scrollbar-width:thin;scrollbar-color:rgba(23,59,52,.35) transparent}
.room-main{width:min(650px,100%);margin:auto}
.room-topline{display:flex;align-items:center;justify-content:space-between;gap:15px}
.room-copy .eyebrow{margin-bottom:12px;color:#9d6349}
.room-index{color:#8c9187;font:10px/1 Arial,sans-serif;letter-spacing:.12em}
.room-index i{padding:0 3px;color:var(--rust);font-style:normal}
.room-copy h1{max-width:520px;margin:0 0 14px;color:var(--forest);font-size:clamp(39px,4.7vw,68px);font-weight:400;letter-spacing:-.055em;line-height:.94}
.room-lead{max-width:500px;margin:0 0 18px;color:var(--muted);font-size:clamp(14px,1.2vw,17px);line-height:1.45}
.room-selection{margin:0 0 18px}
.room-selection-label{margin:0 0 8px;color:#81867c;font:9px/1.2 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.room-choices{display:flex;flex-wrap:wrap;gap:7px;margin:0}
.room-choice{min-height:37px;padding:7px 12px;border:1px solid rgba(23,59,52,.24);border-radius:999px;background:transparent;color:var(--forest);font:11px/1.2 Arial,sans-serif;transition:background .18s,color .18s,border-color .18s,transform .18s}
.room-choice:hover{transform:translateY(-1px);border-color:var(--forest)}
.room-choice[aria-pressed=true]{border-color:var(--forest);background:var(--forest);color:var(--cream)}
.room-selected{margin:0 0 16px;padding:1px 0 1px 15px;border-left:2px solid var(--rust)}
.room-selected h2{margin:0 0 5px;color:var(--forest);font-size:clamp(20px,2vw,27px);font-weight:400;letter-spacing:-.025em;line-height:1.1}
.room-selected p{max-width:490px;margin:0 0 9px;color:var(--muted);font-size:13px;line-height:1.4}
.room-type-features{display:flex;flex-wrap:wrap;gap:6px}
.room-type-features span{padding:5px 9px;border-radius:999px;background:rgba(23,59,52,.07);color:var(--forest);font:9px/1.2 Arial,sans-serif;letter-spacing:.05em}
.room-info{width:max-content;max-width:100%;margin:0 0 15px;padding:0;border:1px solid rgba(23,59,52,.25);border-radius:999px;background:rgba(255,255,255,.32);color:var(--forest);transition:border-radius .18s,background .18s}
.room-info[open]{width:100%;padding:7px 15px 9px;border-radius:22px;background:rgba(255,255,255,.54)}
.room-info summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:39px;padding:0 15px;cursor:pointer;list-style:none;color:var(--forest);font:9px/1.25 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.room-info[open] summary{padding:0 1px}
.room-info summary::-webkit-details-marker{display:none}
.room-info summary:after{content:"+";color:var(--rust);font:18px/1 Arial,sans-serif}
.room-info[open] summary:after{content:"−"}
.room-info ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:6px 0 0;padding:0;list-style:none}
.room-info li{padding:7px 0;border-top:1px solid var(--line);color:var(--muted);font:11px/1.25 Arial,sans-serif}
#room-request{min-height:42px;padding:0 17px;font-size:12px}
.services-view.is-active{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(35px,7vw,100px);padding:clamp(30px,5.6vw,78px) max(6vw,calc((100% - 1320px)/2));background:var(--paper)}
.services-intro{max-width:500px}
.services-intro .eyebrow,.service-card>span{color:#9d6349}
.services-intro h1,.piste-intro h1{margin:0 0 17px;color:var(--forest);font-size:clamp(43px,5.6vw,76px);font-weight:400;letter-spacing:-.06em;line-height:.94}
.services-intro .lead{margin-bottom:22px;color:var(--muted);font-size:clamp(15px,1.45vw,19px)}
.services-intro .button{min-height:42px;font-size:12px}
.services-content{min-width:0}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.service-card{min-height:clamp(145px,20vh,190px);padding:17px 19px 18px;border:1px solid rgba(23,59,52,.13);border-radius:20px;background:rgba(250,248,241,.72)}
.service-card>span{font:9px/1 Arial,sans-serif;letter-spacing:.13em}
.service-card h2{margin:12px 0 7px;color:var(--forest);font-size:clamp(17px,1.8vw,23px);font-weight:400;letter-spacing:-.02em}
.service-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.service-note{margin:10px 2px 0;color:#747c73;font:10px/1.4 Arial,sans-serif}
.restaurant-note{max-width:520px;margin:0 0 17px;color:rgba(250,248,241,.78);font-size:12px;line-height:1.4}
.kitchen-view .dish-list span{padding:6px 9px}
.piste-view.is-active{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:center;gap:clamp(30px,5vw,72px);padding:clamp(28px,4.5vw,62px) max(6vw,calc((100% - 1320px)/2));background:linear-gradient(118deg,#f3f0e8 0%,#e7e9df 100%)}
.piste-intro{max-width:650px}
.piste-intro .eyebrow,.piste-list-panel .eyebrow{color:#9d6349}
.piste-intro h1{font-size:clamp(43px,5.5vw,72px)}
.piste-intro .lead{margin-bottom:18px;color:var(--muted);font-size:clamp(14px,1.35vw,18px)}
.piste-metrics{display:flex;gap:0;margin:0 0 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.piste-metrics>div{display:grid;gap:2px;min-width:95px;padding:10px 16px;border-right:1px solid var(--line)}
.piste-metrics>div:first-child{padding-left:0}
.piste-metrics>div:last-child{border:0}
.piste-metrics strong{color:var(--forest);font-size:26px;font-weight:400;line-height:1}
.piste-metrics span{color:var(--muted);font:8px/1.25 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.piste-route{max-width:590px;margin:0 0 17px;color:var(--muted);font-size:12px;line-height:1.5}
.piste-route strong{color:var(--forest);font-weight:600}
.piste-intro .button{min-height:40px;padding:0 13px;font-size:11px}
.piste-list-panel{min-width:0;padding:clamp(19px,2.8vw,35px);border-radius:24px;background:var(--forest);color:var(--cream)}
.piste-list-panel .eyebrow{margin-bottom:13px;color:#e3b494}
.piste-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;margin:0;padding:0;list-style:none}
.piste-list li{display:flex;align-items:baseline;justify-content:space-between;gap:9px;padding:10px 0;border-bottom:1px solid rgba(250,248,241,.19)}
.piste-list li span{color:var(--cream);font-size:13px}
.piste-list li small{color:rgba(250,248,241,.68);font:9px/1.2 Arial,sans-serif;white-space:nowrap}
.piste-source{display:inline-block;margin-top:15px;color:#f0c7a9;font:10px/1.35 Arial,sans-serif}
.piste-source:hover{text-decoration:underline}
@media(max-width:780px){
  .mobile-menu{grid-template-rows:repeat(5,minmax(0,1fr))}
  .room-view.is-active{grid-template-columns:1fr;grid-template-rows:minmax(0,31%) minmax(0,69%)}
  .room-copy{grid-column:1;grid-row:2;min-height:0;padding:12px 18px;overflow-y:auto}
  .room-image-panel{grid-column:1;grid-row:1}
  .room-photo-label{bottom:10px;left:11px;padding:7px 10px;font-size:7px}
  .room-main{width:100%;margin:auto}
  .room-copy .eyebrow{margin-bottom:6px}
  .room-copy h1{max-width:100%;margin-bottom:7px;font-size:clamp(27px,6.8vw,42px);line-height:.96}
  .room-lead{margin-bottom:9px;font-size:11px;line-height:1.35}
  .room-selection{margin-bottom:8px}
  .room-selection-label{margin-bottom:5px;font-size:7px}
  .room-choices{gap:5px}
  .room-choice{min-height:30px;padding:5px 9px;font-size:9px}
  .room-selected{margin-bottom:8px;padding-left:10px}
  .room-selected h2{font-size:19px}
  .room-selected p{margin-bottom:6px;font-size:10px;line-height:1.3}
  .room-type-features span{padding:4px 7px;font-size:8px}
  .room-info{margin-bottom:8px}
  .room-info summary{min-height:32px;padding:0 11px;font-size:8px}
  .room-info[open]{padding:5px 11px 6px}
  .room-info[open] summary{padding:0}
  .room-info ul{gap:0 10px;margin-top:4px}
  .room-info li{padding:5px 0;font-size:9px}
  #room-request{min-height:35px;padding:0 12px;font-size:10px}
  .services-view.is-active{grid-template-columns:1fr;grid-template-rows:auto auto;align-content:start;gap:13px;padding:17px 6vw;overflow-y:auto}
  .services-intro{max-width:100%}
  .services-intro .eyebrow{margin-bottom:7px}
  .services-intro h1{max-width:700px;margin-bottom:7px;font-size:clamp(31px,6.4vw,48px)}
  .services-intro .lead{margin-bottom:10px;font-size:12px}
  .services-intro .button{min-height:34px;padding:0 12px;font-size:10px}
  .service-grid{gap:7px}
  .service-card{min-height:0;padding:11px 12px;border-radius:14px}
  .service-card>span{font-size:7px}
  .service-card h2{margin:6px 0 4px;font-size:15px}
  .service-card p{font-size:10px;line-height:1.35}
  .service-note{margin-top:6px;font-size:8px}
  .restaurant-note{max-width:500px;margin-bottom:12px;font-size:10px}
  .piste-view.is-active{grid-template-columns:1fr;grid-template-rows:auto auto;align-content:start;gap:14px;padding:17px 6vw;overflow-y:auto}
  .piste-intro{max-width:100%}
  .piste-intro .eyebrow{margin-bottom:6px}
  .piste-intro h1{margin-bottom:8px;font-size:clamp(34px,7vw,50px)}
  .piste-intro .lead{margin-bottom:10px;font-size:12px}
  .piste-metrics{margin-bottom:9px}
  .piste-metrics>div{min-width:74px;padding:7px 12px}
  .piste-metrics strong{font-size:21px}
  .piste-route{margin-bottom:10px;font-size:10px;line-height:1.4}
  .piste-intro .button{min-height:34px;padding:0 11px;font-size:9px}
  .piste-list-panel{padding:12px 15px;border-radius:18px}
  .piste-list-panel .eyebrow{margin-bottom:5px;font-size:8px}
  .piste-list li{padding:6px 0}
  .piste-list li span{font-size:11px}
  .piste-list li small{font-size:8px}
  .piste-source{margin-top:8px;font-size:8px}
}
@media(max-width:520px){
  .mobile-menu{gap:5px;padding:10px}
  .mobile-menu button{font-size:11px}
  .room-view.is-active{grid-template-rows:minmax(0,29%) minmax(0,71%)}
  .room-copy{padding:9px 13px}
  .room-copy h1{font-size:clamp(25px,7vw,34px)}
  .room-lead{font-size:10px}
  .room-choice{flex:1 1 45%;min-height:29px;padding:5px 7px;font-size:8px}
  .room-selected h2{font-size:17px}
  .room-selected p{font-size:9px}
  .room-info{width:100%}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-card{padding:9px 10px}
  .service-card h2{font-size:13px}
  .service-card p{font-size:9px}
  .service-note{font-size:7px}
  .piste-view.is-active{padding:13px 5vw}
  .piste-intro h1{font-size:clamp(31px,8vw,42px)}
  .piste-list-panel{padding:10px 12px}
  .piste-list{column-gap:12px}
  .piste-list li{gap:4px;padding:5px 0}
  .piste-list li span{font-size:9px}
  .piste-list li small{font-size:7px}
}

/* Final layout for the verified room list, kitchen player, and video-ready piste page. */
.room-view.is-active{display:block;overflow-x:hidden;overflow-y:auto;padding:clamp(22px,4vh,46px) max(5vw,calc((100% - 1180px)/2));background:var(--paper);scrollbar-width:thin;scrollbar-color:rgba(23,59,52,.35) transparent}
.room-copy{position:relative;display:block;grid-column:auto;grid-row:auto;width:100%;min-height:0;padding:0;overflow:visible;background:transparent;color:var(--ink)}
.room-main{width:min(1020px,100%);margin:0 auto}
.room-copy h1{max-width:850px;margin:0 0 12px;font-size:clamp(38px,4.6vw,64px);line-height:.96}
.room-lead{max-width:760px;margin:0 0 18px;font-size:clamp(13px,1.15vw,16px)}
.room-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:17px 0 15px;border:1px solid var(--line);background:var(--line)}
.room-type-card,.room-type-card+.room-type-card{padding:17px 19px;border:0;background:var(--cream)}
.room-type-card h2{margin:10px 0 6px;font-size:clamp(19px,1.8vw,25px)}
.room-type-card p{min-height:0;margin:0 0 11px;font-size:12px}
.room-info{margin-bottom:12px}
.room-info[open]{width:min(660px,100%)}
.room-info li{font-size:10px}
.room-actions{gap:15px}

.kitchen-view.is-active{display:flex;flex-direction:column;align-items:center;gap:0;overflow-x:hidden;overflow-y:auto;padding:clamp(16px,3vh,30px) max(5vw,calc((100% - 1180px)/2));background:var(--paper);scrollbar-width:thin;scrollbar-color:rgba(23,59,52,.4) transparent;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.kitchen-video-stage{position:relative;flex:0 0 auto;width:100%;height:min(55vh,590px);min-height:250px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#34463e 0%,#20342e 54%,#142721 100%)}
.kitchen-video-stage video{position:absolute;inset:0;width:100%;height:100%;background:transparent;object-fit:contain}
.kitchen-play-mark{position:absolute;top:50%;left:50%;display:grid;width:66px;height:66px;place-items:center;transform:translate(-50%,-50%);border:1px solid rgba(250,248,241,.7);border-radius:50%;color:var(--cream);font:17px/1 Arial,sans-serif;padding-left:3px;pointer-events:none}
.kitchen-dishes{display:block;width:100%;margin:0;padding:0;background:transparent}
.kitchen-dish-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;border-top:1px solid var(--line);list-style:none}
.kitchen-dish-list li{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;padding:15px 13px;border-bottom:1px solid var(--line)}
.kitchen-dish-list li:first-child{padding-left:0}
.kitchen-dish-list li span{color:var(--rust);font:9px/1.2 Arial,sans-serif;letter-spacing:.1em}
.kitchen-dish-list li strong{color:var(--forest);font-size:clamp(14px,1.45vw,19px);font-weight:400;line-height:1.2}

.piste-view.is-active{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;align-items:center;justify-items:start;gap:0;padding:clamp(28px,5vh,58px) max(6vw,calc((100% - 1180px)/2));background:var(--paper)}
.piste-intro{width:min(800px,100%);max-width:800px}

@media(max-width:780px){
  .room-view.is-active{display:block;overflow-y:auto;padding:16px 6vw 20px}
  .room-copy{display:block;grid-column:auto;grid-row:auto;min-height:0;padding:0;overflow:visible}
  .room-main{width:100%;margin:0 auto}
  .room-copy h1{margin-bottom:8px;font-size:clamp(30px,6.5vw,44px)}
  .room-lead{margin-bottom:10px;font-size:11px}
  .room-type-grid{grid-template-columns:1fr;gap:1px;margin:10px 0}
  .room-type-card,.room-type-card+.room-type-card{padding:12px 14px}
  .room-type-card h2{margin:5px 0;font-size:19px}
  .room-type-card p{margin-bottom:7px;font-size:10px}
  .room-info{width:100%;margin-bottom:8px}
  .room-info summary{min-height:33px;font-size:8px}
  .room-info ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .room-info li{padding:5px 0;font-size:9px}
  .room-actions{gap:10px}
  .room-actions .button{min-height:35px;padding:0 11px;font-size:10px}
  .room-contact-link{font-size:9px}
  .kitchen-view.is-active{gap:0;padding:13px 5vw;overflow-y:auto}
  .kitchen-video-stage{height:42vh;min-height:205px}
  .kitchen-play-mark{width:50px;height:50px;font-size:14px}
  .kitchen-dish-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kitchen-dish-list li,.kitchen-dish-list li:first-child{padding:10px 8px}
  .kitchen-dish-list li strong{font-size:16px}
  .piste-view.is-active{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:0;padding:18px 6vw;overflow-y:auto}
  .piste-intro{width:100%}
}
@media(max-width:520px){
  .room-view.is-active{padding:12px 5vw 15px}
  .room-copy h1{font-size:clamp(27px,7.7vw,36px)}
  .room-card-index{font-size:7px}
  .room-type-card,.room-type-card+.room-type-card{padding:10px 11px}
  .room-type-card h2{font-size:17px}
  .room-type-card p{font-size:9px}
  .room-type-features span{padding:4px 7px;font-size:8px}
  .kitchen-view.is-active{padding:10px 5vw}
  .kitchen-video-stage{height:38vh;min-height:180px}
  .kitchen-dish-list li strong{font-size:14px}
}

.apartment-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}
.apartment-actions .button{min-height:43px;padding:0 15px;font-size:12px}
.apartment-actions .button-gallery{border-color:rgba(23,59,52,.35);background:transparent;color:var(--forest)}
.apartment-actions .button-gallery:hover{border-color:var(--forest);background:rgba(23,59,52,.07)}
@media(max-width:780px){
  .apartment-actions{gap:8px;margin-top:9px}
  .apartment-actions .button{min-height:37px;padding:0 12px;font-size:10px}
}

/* The kitchen becomes a full-screen film with its dish chapters overlaid. */
body:has(.kitchen-view.is-active) .topline,
body:has(.kitchen-view.is-active) .site-footer{display:none}
body:has(.kitchen-view.is-active) .site-header{
  position:fixed;z-index:20;inset:0 0 auto;min-height:var(--header);
  border:0;background:linear-gradient(180deg,rgba(9,24,20,.84),rgba(9,24,20,.36) 72%,transparent)
}
body:has(.kitchen-view.is-active) .brand-name,
body:has(.kitchen-view.is-active) .primary-nav>button,
body:has(.kitchen-view.is-active) .nav-trigger{color:var(--cream)}
body:has(.kitchen-view.is-active) .brand-note{color:rgba(250,248,241,.76)}
body:has(.kitchen-view.is-active) .primary-nav>button:hover,
body:has(.kitchen-view.is-active) .nav-trigger:hover,
body:has(.kitchen-view.is-active) .primary-nav>button[aria-current=page],
body:has(.kitchen-view.is-active) .nav-trigger.is-current{background:rgba(250,248,241,.16);color:#fff}
body:has(.kitchen-view.is-active) .nav-toggle span{background:var(--cream)}
.kitchen-view.is-active{
  position:fixed;z-index:10;inset:0;display:block;width:100%;height:100vh;height:100dvh;
  overflow:hidden;padding:0;background:#111b18
}
.kitchen-video-stage{position:absolute;inset:0;width:100%;height:100%;min-height:0;background:#111b18}
.kitchen-video-stage::after{
  position:absolute;inset:0;content:"";pointer-events:none;
  background:linear-gradient(180deg,rgba(8,21,18,.35),transparent 24%,transparent 57%,rgba(8,21,18,.48))
}
.kitchen-video-stage video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#111b18}
.kitchen-dishes{
  position:absolute;z-index:15;right:max(24px,4vw);bottom:clamp(68px,9vh,108px);left:max(24px,4vw);
  width:auto;margin:0;padding:0;background:transparent;pointer-events:none
}
.kitchen-dish-list{display:flex;width:100%;justify-content:center;gap:9px;margin:0;padding:0;border:0;list-style:none}
.kitchen-dish-list li,.kitchen-dish-list li:first-child{min-width:0;padding:0;border:0}
.kitchen-dish-list li button{
  display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:9px 14px;
  border:1px solid rgba(250,248,241,.42);border-radius:999px;background:rgba(13,31,27,.58);
  color:var(--cream);font:inherit;backdrop-filter:blur(10px);cursor:pointer;pointer-events:auto;
  transition:background .18s,border-color .18s,transform .18s
}
.kitchen-dish-list li button:hover{transform:translateY(-2px);border-color:rgba(250,248,241,.8);background:rgba(13,31,27,.82)}
.kitchen-dish-list li button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.kitchen-dish-list li button[aria-pressed=true]{border-color:rgba(250,248,241,.9);background:rgba(250,248,241,.92);color:var(--deep)}
.kitchen-dish-list li button span{color:#e2b395;font:9px/1.2 Arial,sans-serif;letter-spacing:.1em}
.kitchen-dish-list li button[aria-pressed=true] span{color:#98563b}
.kitchen-dish-list li button strong{color:inherit;font-size:clamp(13px,1.12vw,16px);font-weight:400;line-height:1.15;white-space:nowrap}
@media(max-width:780px){
  .kitchen-view.is-active{padding:0;overflow:hidden}
  .kitchen-video-stage{height:100%;min-height:0}
  .kitchen-dishes{right:12px;bottom:calc(56px + env(safe-area-inset-bottom));left:12px;overflow:visible}
  .kitchen-dish-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .kitchen-dish-list li button{width:100%;min-height:40px;gap:5px;padding:7px 8px}
  .kitchen-dish-list li button span{font-size:8px}
  .kitchen-dish-list li button strong{font-size:clamp(10px,2.7vw,13px);white-space:normal}
}
@media(prefers-reduced-motion:reduce){
  .kitchen-dish-list li button{transition:none}
  .kitchen-dish-list li button:hover{transform:none}
}

/* Full-bleed mountain film and verified additions from the official Eden site. */
.home-video{display:block;object-fit:cover;object-position:center 52%}
.apartment-view.is-active{gap:clamp(28px,4vw,64px);overflow-y:auto}
.apartment-view .editorial-content{flex:1 1 54%;width:auto;min-width:0}
.apartment-side{display:grid;flex:0 1 min(39vw,500px);gap:12px;min-width:0;margin-right:1vw}
.apartment-side .apartment-types{display:flex;align-items:baseline;gap:12px;width:auto;margin:0;padding:0;border:0;flex-wrap:wrap}
.apartment-side .apartment-types .eyebrow{width:100%;margin:0;color:#9d6349}
.apartment-side .apartment-types>span{padding:0;border:0;color:var(--forest);font-size:clamp(15px,1.4vw,20px)}
.apartment-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(150px,34vh) minmax(100px,20vh);gap:7px;min-width:0}
.apartment-photo{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;background:#d7d1c4}
.apartment-photo-main{grid-column:1/-1}
.apartment-photo:after{position:absolute;inset:48% 0 0;content:"";background:linear-gradient(0deg,rgba(9,26,23,.65),transparent);pointer-events:none}
.apartment-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.apartment-photo:hover img{transform:scale(1.025)}
.apartment-photo figcaption{position:absolute;z-index:1;right:10px;bottom:7px;left:10px;color:#fff;font:10px/1.2 Arial,sans-serif;letter-spacing:.06em}
.offer-apartment-cta{display:grid;gap:8px;margin:20px 0 0;font-size:13px}
.offer-apartment-cta a{width:fit-content;color:var(--forest);border-bottom:1px solid rgba(23,59,52,.3)}
.offer-apartment-cta a:first-child{font-size:16px}
.offer-apartment-cta a:hover{color:var(--rust);border-color:var(--rust)}
.piste-view.is-active{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:start;justify-items:stretch;gap:clamp(18px,2.6vh,28px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(23,59,52,.35) transparent}
.piste-intro{width:min(100%,1000px);max-width:1000px}
.winter-activities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px);width:100%;max-width:1180px;border-top:1px solid var(--line)}
.winter-activity{display:grid;grid-template-columns:minmax(82px,34%) minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding-top:12px}
.winter-activity img{display:block;width:100%;height:112px;object-fit:cover}
.winter-activity .eyebrow{margin:2px 0 6px;color:#9d6349;font-size:8px;letter-spacing:.14em}
.winter-activity .eyebrow:before{width:14px}
.winter-activity div>p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.4}
@media(max-width:780px){
  .apartment-view.is-active{display:grid;grid-template-columns:1fr;align-content:start;justify-content:stretch;gap:18px;padding:18px 6vw 24px;overflow-y:auto}
  .apartment-view .editorial-content{width:100%}
  .apartment-side{width:100%;max-width:none;margin:0}
  .apartment-side .apartment-types{gap:8px}
  .apartment-gallery{grid-template-rows:minmax(150px,32vh) minmax(98px,20vh)}
  .apartment-photo figcaption{right:7px;bottom:5px;left:7px;font-size:8px}
  .offer-apartment-cta{font-size:11px}
  .offer-apartment-cta a:first-child{font-size:13px}
  .piste-view.is-active{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:start;gap:16px;padding:18px 6vw 24px;overflow-y:auto}
  .piste-intro{width:100%;max-width:none}
  .winter-activities{grid-template-columns:1fr;gap:9px}
  .winter-activity{grid-template-columns:92px minmax(0,1fr);gap:10px;padding-top:9px}
  .winter-activity img{height:76px}
  .winter-activity .eyebrow{margin-bottom:4px}
  .winter-activity div>p:last-child{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.apartment-photo img{transition:none}.apartment-photo:hover img{transform:none}}

