@charset "UTF-8";
:root{
  color-scheme:light;
  --paper:#f7f5ee;--white:#fffdf8;--stone:#e5edf3;--stone-deep:#d2e0ea;
  --ink:#273a50;--ink-soft:#415a73;--muted:#61788f;--line:#cbd8e3;
  --accent:#52789a;--accent-deep:#345b7e;--accent-pale:#dfeaf2;--booking:#003b95;
  --title:"Fraunces","Iowan Old Style",Georgia,serif;
  --body:"DM Sans","Segoe UI",Arial,sans-serif;
  --mono:"DM Mono",monospace;
  --page:min(1160px,calc(100% - 100px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;overflow-x:clip;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--body);-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:auto}
figure{margin:0}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{color:inherit}
::selection{background:var(--accent-pale);color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.skip-link{position:absolute;z-index:1200;top:10px;left:10px;padding:10px 14px;transform:translateY(-150%);background:var(--white);color:var(--ink)}
.skip-link:focus{transform:translateY(0)}
.page-width{width:var(--page);max-width:1160px;margin-inline:auto}
.eyebrow{margin:0;color:var(--accent);font:500 10px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase}
.eyebrow--light{color:#f2dfe0}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--title);font-weight:500;letter-spacing:-.035em;line-height:1.08}
h1{font-size:clamp(43px,5.1vw,70px)}
h2{font-size:clamp(34px,4vw,54px)}
h3{font-size:clamp(22px,2.4vw,30px)}
p{margin-bottom:0;color:var(--muted)}
address{font-style:normal}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 20px;border:1px solid transparent;border-radius:3px 18px 3px 18px;font-size:12px;font-weight:700;line-height:1.2;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease}
.button:hover{transform:translateY(-2px)}
.button--accent{background:var(--accent);color:#fff}
.button--accent:hover{background:var(--accent-deep)}
.button--dark{background:var(--ink);color:var(--white)}
.button--dark:hover{background:#414047}
.button--paper{background:var(--paper);color:var(--ink)}
.button--paper:hover{background:#fff}
.button--outline{border-color:var(--ink);background:transparent;color:var(--ink)}
.button--outline:hover{background:var(--ink);color:var(--white)}
.button--wide{width:100%}
.text-link{position:relative;display:inline-flex;max-width:100%;padding-bottom:5px;color:var(--accent-deep);font-size:13px;font-weight:700;background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size .32s ease,color .22s ease}
.text-link:hover{background-size:100% 1px;color:var(--accent)}
.site-header{position:fixed;z-index:100;top:0;right:0;left:0;display:flex;height:86px;align-items:center;justify-content:space-between;padding-inline:clamp(24px,5vw,76px);color:#fff;background:linear-gradient(180deg,#17171995,transparent);transition:height .25s ease,background-color .25s ease,color .25s ease,box-shadow .25s ease}
.site-header.is-solid{height:74px;color:var(--ink);background:rgba(247,245,241,.96);box-shadow:0 1px 0 #26262a14;backdrop-filter:blur(10px)}
.wordmark{display:inline-flex;flex-direction:column;line-height:1.02}
.wordmark>span{font:500 25px/1 var(--title);letter-spacing:-.045em}
.wordmark>small{margin-top:5px;font:500 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.site-nav{display:flex;align-items:center;gap:clamp(17px,2.7vw,38px)}
.site-nav>a:not(.nav-booking){position:relative;padding-block:7px;font-size:12px;font-weight:600;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size .28s ease}
.site-nav>a:not(.nav-booking):hover,.site-nav>a[aria-current="page"]{background-size:100% 1px}
.nav-booking{display:inline-flex;min-height:43px;align-items:center;padding:10px 16px;border:1px solid currentColor;border-radius:3px 16px 3px 16px;font-size:11px;font-weight:700;transition:background .22s ease,color .22s ease}
.site-header:not(.is-solid) .nav-booking{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.site-header:not(.is-solid) .nav-booking:hover{background:#fff}
.site-header.is-solid .nav-booking{background:var(--ink);border-color:var(--ink);color:#fff}
.site-header.is-solid .nav-booking:hover{background:var(--accent);border-color:var(--accent)}
.menu-toggle{display:none}
.hero{position:relative;height:min(860px,87svh);min-height:630px;max-height:900px;overflow:hidden;background:#494245;color:white}
.hero__image,.page-hero__image,.contact-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__image{object-position:54% center;animation:hero-settle 1.15s cubic-bezier(.22,.61,.36,1) both}
.hero__shade,.page-hero__shade,.contact-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,#1515199c 0%,#15151946 46%,transparent 100%),linear-gradient(0deg,#151519ca 0%,#15151916 58%,#15151946 100%)}
.hero__meta{position:absolute;top:112px;left:clamp(28px,6.5vw,96px);display:flex;flex-wrap:wrap;gap:10px 22px;color:#ffffffc9;font:400 9px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.hero__meta span+span{position:relative}
.hero__meta span+span:before{position:absolute;top:50%;left:-13px;width:3px;height:3px;border-radius:50%;background:var(--accent-pale);content:""}
.hero__copy{position:absolute;bottom:11.5%;left:clamp(28px,8vw,120px);width:min(620px,calc(100% - 56px));animation:copy-settle .7s .14s both}
.hero h1{margin:13px 0 17px;color:white;font-size:clamp(45px,5.4vw,76px);line-height:1.03}
.hero__copy>p:not(.eyebrow){max-width:480px;color:#fff;font-size:15px;line-height:1.65}
@keyframes hero-settle{from{transform:scale(1.035);filter:saturate(.85)}to{transform:scale(1);filter:saturate(1)}}
@keyframes copy-settle{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.booking-wrap{position:relative;z-index:2;width:min(1100px,calc(100% - 60px));margin:-38px auto 0}
.booking-bar{display:grid;grid-template-columns:1.35fr 1fr 1fr .9fr auto;gap:10px;align-items:center;padding:19px 21px;background:var(--white);box-shadow:0 16px 42px #26262a18;border-radius:3px 23px 3px 23px}
.booking-bar__intro{display:flex;flex-direction:column;gap:3px;padding-left:7px}
.booking-bar__intro strong{font:500 20px/1.15 var(--title)}
.booking-field{display:flex;min-width:0;flex-direction:column;gap:4px;padding:5px 10px;border-left:1px solid var(--line)}
.booking-field>span,.form-label{color:var(--muted);font:500 9px/1.35 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.booking-field input,.booking-field select{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);font:500 12px/1.3 var(--body)}
.booking-field input:focus,.booking-field select:focus{outline:none}
.booking-bar .button{white-space:nowrap}
.form-feedback{grid-column:1/-1;min-height:0;color:var(--accent-deep);font-size:12px}
.form-feedback:empty{display:none}
.welcome{display:grid;grid-template-columns:minmax(130px,.28fr) 1fr;gap:54px;padding-block:112px 92px}
.welcome>.eyebrow{padding-top:11px}
.welcome__copy{max-width:760px}
.welcome h2{max-width:780px;margin:0 0 18px;font-size:clamp(38px,4.2vw,58px)}
.welcome__copy>p:not(.eyebrow){max-width:650px;font-size:15px}
.welcome .text-link{margin-top:22px}
.quick-facts{display:grid;grid-template-columns:.65fr 1fr 1.5fr;gap:0;width:var(--page);max-width:1160px;margin:0 auto 105px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quick-facts>div{display:flex;min-height:94px;align-items:center;gap:17px;padding:15px 23px}
.quick-facts>div:first-child{padding-left:0}
.quick-facts>div+div{border-left:1px solid var(--line)}
.quick-facts strong{font:500 22px/1.15 var(--title)}
.quick-facts span{max-width:180px;color:var(--muted);font-size:11px;line-height:1.45}
.home-house{position:relative;width:var(--page);max-width:1160px;min-height:575px;margin:0 auto 125px}
.home-house__photo{position:relative;width:77%;height:520px;margin-left:auto;overflow:hidden;background:var(--stone)}
.home-house__photo img{height:100%;object-fit:cover;object-position:center 56%;transition:transform .75s cubic-bezier(.2,.7,.2,1)}
.home-house__photo:hover img{transform:scale(1.025)}
.image-note{position:absolute;z-index:2;right:13px;bottom:13px;padding:7px 10px;border:1px solid #ffffff70;border-radius:2px 10px 2px 10px;background:#26262ad9;color:#fff;font:400 9px/1.2 var(--mono);letter-spacing:.025em}
.home-house__copy{position:absolute;bottom:0;left:0;width:min(440px,45%);padding:38px 39px 41px;background:var(--white);box-shadow:0 16px 38px #26262a12}
.home-house__copy h2{margin:11px 0 14px;font-size:clamp(34px,3.6vw,47px)}
.home-house__copy>p:not(.eyebrow){margin-bottom:23px;font-size:13px}
.room-summary{padding-block:20px 115px}
.room-summary__heading{display:grid;grid-template-columns:1fr 1.05fr;column-gap:70px;align-items:end;margin-bottom:32px}
.room-summary__heading .eyebrow{grid-column:1/-1;margin-bottom:13px}
.room-summary__heading h2{max-width:520px;margin:0;font-size:clamp(36px,4vw,52px)}
.room-summary__heading>p:not(.eyebrow){max-width:470px;margin:0;font-size:12px}
.room-list{margin:15px 0 20px;border-top:1px solid var(--line)}
.room-list__item{display:grid;grid-template-columns:100px 1.15fr 1fr 72px;min-height:82px;align-items:center;gap:20px;padding:13px 10px;border-bottom:1px solid var(--line);transition:background .2s ease,padding .2s ease}
.room-list__item:hover{padding-inline:17px;background:var(--white)}
.room-list__size{color:var(--accent);font:500 10px/1.3 var(--mono)}
.room-list__name{font:500 20px/1.25 var(--title)}
.room-list__detail{color:var(--muted);font-size:12px}
.room-list__link{justify-self:end;color:var(--accent-deep);font-size:11px;font-weight:700;text-decoration:underline;text-decoration-color:#52789a70;text-underline-offset:4px}
.room-summary>.text-link{margin-top:8px}
.breakfast{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:clamp(35px,7vw,105px);width:var(--page);max-width:1160px;margin:0 auto 124px}
.breakfast__photo{position:relative;height:440px;overflow:hidden;background:var(--stone);border-radius:3px 32px 3px 3px}
.breakfast__photo img{height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.breakfast__photo:hover img{transform:scale(1.025)}
.breakfast__copy{max-width:440px}
.breakfast__copy h2{margin:12px 0 16px;font-size:clamp(36px,4vw,50px)}
.breakfast__copy>p:not(.eyebrow){margin-bottom:21px;font-size:13px}
.reviews{padding-block:10px 118px}
.reviews__heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;column-gap:50px;margin-bottom:30px}
.reviews__heading .eyebrow{grid-column:1/-1;margin-bottom:12px}
.reviews__heading h2{margin:0;font-size:clamp(36px,4vw,51px)}
.reviews__heading>p:not(.eyebrow){max-width:360px;margin:0;font-size:11px}
.review-board{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.review-card{position:relative;display:flex;min-height:253px;flex-direction:column;align-items:flex-start;justify-content:center;padding:28px 34px;background:var(--white);border:1px solid var(--line);transition:transform .25s ease,box-shadow .25s ease}
.review-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #26262a12}
.review-card--booking{border-radius:28px 3px 3px 3px}
.review-card--google{border-radius:3px 3px 28px 3px}
.booking-wordmark{display:inline-block;margin-bottom:19px;color:var(--booking);font:700 21px/1 var(--body);letter-spacing:-.045em}
.google-wordmark{display:flex;align-items:center;gap:8px;margin-bottom:19px;color:#444;font:600 17px/1 var(--body)}
.google-wordmark b{font:700 32px/1 var(--body);background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 25% 47%,#fbbc05 47% 68%,#ea4335 68% 82%,#4285f4 82%);background-clip:text;-webkit-background-clip:text;color:transparent}
.score-value{display:inline-block;transform-origin:50% 70%;font:500 clamp(42px,5.3vw,65px)/1 var(--title);letter-spacing:-.045em}
.score-value span{margin-left:5px;color:var(--muted);font:500 16px/1 var(--body);letter-spacing:0}
.score-caption{margin-top:8px;color:var(--muted);font-size:12px}
.review-card__detail{margin-top:17px;padding-top:13px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:10px}
.review-card.is-counted .score-value{animation:score-flip .65s cubic-bezier(.2,.8,.2,1) both}
@keyframes score-flip{0%{opacity:.3;transform:perspective(420px) rotateX(-80deg)}70%{opacity:1;transform:perspective(420px) rotateX(12deg)}100%{transform:perspective(420px) rotateX(0)}}
.reviews__source{margin-top:13px;font-size:10px}
.reviews__source a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.location-note{display:grid;grid-template-columns:minmax(240px,.8fr) 1.2fr;gap:clamp(30px,8vw,115px);align-items:center;padding:clamp(42px,7vw,86px) max(calc((100% - 1160px)/2),50px);background:#45474b;color:#fff}
.location-note__label{display:flex;flex-direction:column;gap:13px}
.location-note__label>span{font:500 24px/1.22 var(--title)}
.location-note__copy{max-width:530px}
.location-note__copy h2{margin:0 0 12px;font-size:clamp(34px,4vw,49px)}
.location-note__copy p{max-width:480px;margin-bottom:20px;color:#e1e0df;font-size:13px}
.closing{display:flex;min-height:390px;flex-direction:column;align-items:center;justify-content:center;padding-block:75px;text-align:center}
.closing h2{max-width:680px;margin:13px auto 13px;font-size:clamp(37px,4.4vw,55px)}
.closing>p:not(.eyebrow){max-width:590px;margin-bottom:23px;font-size:13px}
.site-footer{padding:70px clamp(24px,7vw,100px) 22px;background:#252529;color:#fff}
.footer-main{display:grid;grid-template-columns:1.4fr .8fr 1.1fr;gap:50px;max-width:1160px;margin:0 auto;padding-bottom:48px}
.wordmark--footer>span{font-size:29px}
.footer-brand-block>p{max-width:250px;margin-top:15px;color:#c5c4c4;font-size:12px}
.footer-links,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.footer-links .eyebrow,.footer-contact .eyebrow{margin-bottom:6px}
.footer-links a,.footer-contact>a{position:relative;color:#f4f1ee;font-size:12px;background-image:linear-gradient(#f4f1ee,#f4f1ee);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size .25s ease}
.footer-links a:hover,.footer-contact>a:hover{background-size:100% 1px}
.footer-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;max-width:1160px;margin:0 auto;padding-top:18px;border-top:1px solid #ffffff28;color:#c7c6c5;font-size:9px}
.footer-note{max-width:1160px;margin:10px auto 0;color:#aeadad;font-size:9px}
.page-hero{position:relative;height:min(760px,68svh);min-height:560px;max-height:790px;overflow:hidden;background:#555054;color:#fff}
.page-hero__image{object-position:center}
.page-hero__shade{background:linear-gradient(90deg,#1616199c 0%,#16161938 60%,transparent 100%),linear-gradient(0deg,#161619bf 0%,transparent 72%)}
.page-hero__copy{position:absolute;bottom:10%;left:clamp(28px,8vw,120px);max-width:680px;padding-right:28px}
.page-hero__copy h1{margin:12px 0 15px;font-size:clamp(44px,5vw,68px)}
.page-hero__copy>p:not(.eyebrow){max-width:500px;color:#fff;font-size:14px}
.page-hero__note,.contact-hero__note{top:101px;right:clamp(20px,5vw,72px);bottom:auto;left:auto;max-width:calc(100% - 40px);text-align:center;background:#26262adb}
.house-intro,.city-intro{display:grid;grid-template-columns:.45fr 1fr;gap:50px;padding-block:112px 88px}
.house-intro>.eyebrow,.city-intro>.eyebrow{padding-top:11px}
.house-intro__copy,.city-intro>div{max-width:760px}
.house-intro h2,.city-intro h2{max-width:720px;margin:0 0 16px;font-size:clamp(39px,4.2vw,56px)}
.house-intro__copy>p:not(.eyebrow),.city-intro>div>p:not(.eyebrow){max-width:680px;font-size:14px}
.house-intro .text-link,.city-intro .text-link{margin-top:21px}
.house-services{padding:80px max(calc((100% - 1160px)/2),50px) 91px;background:var(--stone)}
.house-services__heading{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:end;margin-bottom:28px}
.house-services__heading .eyebrow{align-self:start;padding-top:9px}
.house-services__heading h2{max-width:650px;margin:0;font-size:clamp(38px,4.3vw,56px)}
.house-services__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #26262a25;border-left:1px solid #26262a25}
.house-service{min-height:180px;padding:22px 23px;border-right:1px solid #26262a25;border-bottom:1px solid #26262a25;transition:background .2s ease}
.house-service:hover{background:#f6f3ed}
.house-service>span{color:var(--accent);font:500 9px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.house-service h3{margin:12px 0 8px;font-size:24px}
.house-service p{font-size:11px;line-height:1.55}
.house-confirm{display:grid;grid-template-columns:.6fr 1fr;gap:50px;align-items:center;width:var(--page);max-width:1000px;margin:0 auto;padding-block:100px}
.house-confirm__mark{display:flex;width:155px;height:155px;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:50%;color:var(--accent-deep);font:500 13px/1.3 var(--mono);text-align:center;transform:rotate(-8deg)}
.house-confirm .eyebrow{margin-bottom:10px}
.house-confirm h2{margin:0 0 14px;font-size:clamp(34px,3.7vw,48px)}
.house-confirm p:not(.eyebrow){max-width:650px;margin-bottom:20px;font-size:13px}
.house-rooms{padding-block:22px 105px;border-top:1px solid var(--line)}
.house-rooms h2{margin:10px 0;font-size:clamp(35px,3.9vw,48px)}
.house-rooms>p:not(.eyebrow){max-width:560px;margin-bottom:17px;font-size:12px}
.rooms-lead{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;padding-block:85px 58px}
.rooms-lead .eyebrow{margin-bottom:12px}
.rooms-lead h2{max-width:530px;margin:0;font-size:clamp(37px,4.1vw,53px)}
.rooms-lead>p{max-width:460px;font-size:12px}
.room-sequence{width:min(1120px,calc(100% - 100px));margin:0 auto}
.room-profile{margin:0 auto 105px}
.room-profile__image{position:relative;height:clamp(360px,46vw,570px);overflow:hidden;background:var(--stone)}
.room-profile__image img{height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.room-profile__image:hover img{transform:scale(1.025)}
.room-profile--double .room-profile__image{width:89%;border-radius:3px 32px 3px 3px}
.room-profile--twin .room-profile__image{width:79%;margin-left:auto;border-radius:32px 3px 3px 3px}
.room-profile--triple .room-profile__image{width:96%;margin-left:4%;border-radius:3px 3px 32px 3px}
.room-profile__copy{width:min(690px,75%);padding-top:25px}
.room-profile--double .room-profile__copy{margin-left:11%}
.room-profile--twin .room-profile__copy{margin-left:9%}
.room-profile--triple .room-profile__copy{margin-left:14%}
.room-profile__copy .eyebrow{margin-bottom:8px}
.room-profile__copy h2{margin:0 0 11px;font-size:clamp(38px,4.5vw,57px)}
.room-profile__copy>p:not(.eyebrow){max-width:610px;font-size:13px}
.room-tags{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 20px;padding:0;list-style:none}
.room-tags li{padding:7px 11px;border:1px solid var(--line);border-radius:2px 12px 2px 12px;background:var(--white);color:var(--ink-soft);font-size:10px;line-height:1.25}
.room-note{display:grid;grid-template-columns:.8fr 1.1fr auto;gap:28px;align-items:center;margin-block:0 18px;padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.room-note h2{margin:8px 0 0;font-size:clamp(29px,3.1vw,39px)}
.room-note>p{max-width:430px;font-size:11px}
.rooms-source{padding-block:0 82px}
.rooms-source p{font-size:10px}
.rooms-source a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.city-intro{padding-bottom:78px}
.city-feature{display:grid;grid-template-columns:minmax(250px,.82fr) 1.18fr;gap:clamp(35px,8vw,110px);align-items:center;padding:clamp(48px,7vw,86px) max(calc((100% - 1160px)/2),50px);background:var(--stone)}
.city-feature__aside{display:flex;min-height:320px;flex-direction:column;justify-content:space-between;padding:23px 0;border-top:1px solid #26262a40;border-bottom:1px solid #26262a40}
.city-feature__word{font:500 clamp(45px,5.5vw,76px)/.93 var(--title);letter-spacing:-.06em}
.city-feature__small{color:var(--muted);font:500 10px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.city-feature__copy{max-width:570px}
.city-feature__copy h2{margin:12px 0 16px;font-size:clamp(38px,4.4vw,56px)}
.city-feature__copy>p:not(.eyebrow){font-size:13px}
.city-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:23px}
.city-links a{padding-bottom:4px;border-bottom:1px solid var(--accent);color:var(--accent-deep);font-size:12px;font-weight:700}
.city-planning{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;padding-block:105px}
.city-planning h2{max-width:430px;margin:11px 0 0;font-size:clamp(37px,4.2vw,52px)}
.city-planning__list{border-top:1px solid var(--line)}
.city-planning__list p{display:grid;grid-template-columns:140px 1fr;gap:20px;margin:0;padding:18px 0;border-bottom:1px solid var(--line)}
.city-planning__list strong{font-size:12px}
.city-planning__list span{color:var(--muted);font-size:11px}
.city-end{display:flex;min-height:350px;flex-direction:column;align-items:center;justify-content:center;padding:70px 22px;background:var(--accent-deep);color:#fff;text-align:center}
.city-end h2{max-width:650px;margin:12px auto;font-size:clamp(38px,4.5vw,56px)}
.city-end>p:not(.eyebrow){max-width:540px;margin-bottom:22px;color:#f0e1e2;font-size:13px}
.contact-hero{position:relative;height:min(740px,65svh);min-height:540px;max-height:780px;overflow:hidden;background:#514f50;color:white}
.contact-hero__image{object-position:59% center}
.contact-hero__shade{background:linear-gradient(90deg,#15151980,transparent 85%),linear-gradient(0deg,#151519c2 0%,transparent 70%)}
.contact-hero__copy{position:absolute;bottom:10%;left:clamp(28px,8vw,120px);max-width:600px;padding-right:25px}
.contact-hero__copy h1{margin:12px 0;font-size:clamp(46px,5.3vw,70px)}
.contact-hero__copy>p:not(.eyebrow){color:#fff;font-size:14px}
.contact-flow{max-width:850px;padding-block:62px 105px}
.contact-methods{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.contact-method{display:grid;grid-template-columns:130px 1fr auto;gap:15px;align-items:center;min-height:85px;padding:15px 5px;border-bottom:1px solid var(--line);transition:padding .2s ease,background .2s ease}
.contact-method:hover{padding-inline:15px;background:var(--white)}
.contact-method .eyebrow{color:var(--muted)}
.contact-method strong{font:500 clamp(17px,2.3vw,22px)/1.25 var(--body);overflow-wrap:anywhere}
.contact-method small{color:var(--accent-deep);font-size:10px;font-weight:700}
.contact-request{display:grid;grid-template-columns:.95fr 1.05fr;gap:45px;align-items:start;margin-top:85px;padding:39px;background:var(--stone);border-radius:3px 26px 3px 3px}
.contact-request__intro h2{margin:10px 0 12px;font-size:clamp(34px,4vw,48px)}
.contact-request__intro>p:not(.eyebrow){font-size:12px}
.availability-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-label{display:flex;min-width:0;flex-direction:column;gap:8px;padding:11px 12px;border:1px solid #26262a25;background:var(--white);color:var(--muted)}
.form-label input,.form-label select{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);font:500 12px/1.35 var(--body)}
.form-label input:focus,.form-label select:focus{outline:none}
.availability-form .button{grid-column:1/-1;margin-top:2px}
.contact-address{padding-top:95px}
.contact-address__heading h2{margin:9px 0 12px;font-size:clamp(38px,4.4vw,55px)}
.contact-address__heading address{font-size:14px;line-height:1.6}
.map-frame{height:420px;margin-top:27px;overflow:hidden;background:var(--stone);border-radius:3px 3px 30px 3px}
.map-frame iframe{display:block;width:100%;height:100%;border:0}
.contact-address__route{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:17px}
.contact-address__route p{max-width:480px;font-size:11px}
.contact-address__route .button{flex:none}
.motion-ready [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.motion-ready [data-reveal="left"]{transform:translateX(-15px)}
.motion-ready [data-reveal="right"]{transform:translateX(15px)}
.motion-ready [data-reveal="photo"]{opacity:1;transform:none;clip-path:inset(3% 0 0);transition:clip-path .8s cubic-bezier(.2,.7,.2,1)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:none;clip-path:inset(0)}
@media(max-width:1020px){
  :root{--page:min(100% - 64px,1160px)}
  .site-header{padding-inline:32px}
  .site-nav{gap:17px}
  .site-nav>a:not(.nav-booking){font-size:11px}
  .booking-bar{grid-template-columns:1.15fr 1fr 1fr .82fr auto;gap:6px;padding:16px}
  .booking-bar__intro strong{font-size:18px}
  .booking-field{padding-inline:7px}
  .booking-bar .button{padding-inline:14px;font-size:10px}
  .home-house__photo{width:82%}
  .home-house__copy{width:49%}
  .breakfast{gap:35px}
  .location-note{padding-inline:50px}
  .house-services{padding-inline:32px}
  .city-feature{padding-inline:42px}
  .room-profile--double .room-profile__image{width:94%}
  .room-profile--twin .room-profile__image{width:88%}
  .room-profile--triple .room-profile__image{width:96%}
}
@media(max-width:820px){
  :root{--page:calc(100% - 48px)}
  .site-header,.site-header.is-solid{height:72px;padding-inline:24px}
  .wordmark>span{font-size:23px}
  .menu-toggle{display:flex;align-items:center;gap:9px;padding:9px 0;border:0;background:none;color:inherit;font-size:11px;font-weight:700;cursor:pointer}
  .menu-toggle__icon{display:flex;width:17px;flex-direction:column;gap:5px}
  .menu-toggle__icon i{display:block;width:17px;height:1px;background:currentColor;transition:transform .2s ease}
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon i:first-child{transform:translateY(3px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon i:last-child{transform:translateY(-3px) rotate(-45deg)}
  .site-nav{position:absolute;top:calc(100% - 1px);right:12px;left:12px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 18px;border:1px solid var(--line);background:var(--paper);box-shadow:0 20px 35px #26262a18;color:var(--ink)}
  .site-nav.is-open{display:flex;animation:menu-in .2s ease both}
  .site-nav>a:not(.nav-booking){padding:13px 2px;border-bottom:1px solid var(--line);font-size:12px}
  .site-nav>a:not(.nav-booking):hover,.site-nav>a[aria-current="page"]{background-size:0}
  .site-nav .nav-booking{justify-content:center;margin-top:13px;background:var(--ink);border-color:var(--ink);color:#fff}
  @keyframes menu-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
  .hero{height:84svh;min-height:590px}
  .hero__meta{top:93px;left:27px}
  .hero__copy{bottom:10%;left:6%;width:88%}
  .hero h1{font-size:clamp(44px,7.4vw,64px)}
  .booking-wrap{width:calc(100% - 36px);margin-top:-25px}
  .booking-bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px}
  .booking-bar__intro{grid-column:1/-1;padding:0 2px 4px}
  .booking-field{padding:6px 8px;border:1px solid var(--line)}
  .booking-bar .button{grid-column:1/-1;width:100%}
  .welcome{grid-template-columns:1fr;gap:16px;padding-block:80px 63px}
  .welcome>.eyebrow{padding:0}
  .quick-facts{grid-template-columns:.55fr 1fr 1.25fr;margin-bottom:77px}
  .quick-facts>div{min-height:80px;gap:10px;padding:10px 14px}
  .quick-facts strong{font-size:19px}
  .quick-facts span{font-size:9px}
  .home-house{min-height:510px;margin-bottom:84px}
  .home-house__photo{width:88%;height:445px}
  .home-house__copy{width:54%;padding:28px}
  .room-summary{padding-bottom:84px}
  .room-summary__heading{grid-template-columns:1fr;gap:15px}
  .room-summary__heading .eyebrow{grid-column:auto;margin-bottom:0}
  .room-summary__heading>p:not(.eyebrow){max-width:590px}
  .room-list__item{grid-template-columns:75px 1.1fr 1fr 58px;gap:12px}
  .room-list__name{font-size:18px}
  .room-list__detail{font-size:10px}
  .breakfast{grid-template-columns:1.1fr .9fr;gap:25px;margin-bottom:80px}
  .breakfast__photo{height:360px}
  .reviews{padding-bottom:82px}
  .reviews__heading{grid-template-columns:1fr;gap:12px}
  .reviews__heading .eyebrow{grid-column:auto;margin-bottom:0}
  .location-note{grid-template-columns:.8fr 1.2fr;gap:28px;padding:54px 32px}
  .footer-main{grid-template-columns:1fr 1fr;gap:35px}
  .footer-brand-block{grid-column:1/-1}
  .house-intro,.city-intro{grid-template-columns:1fr;gap:16px;padding-block:80px 65px}
  .house-intro>.eyebrow,.city-intro>.eyebrow{padding:0}
  .house-services{padding:63px 24px 70px}
  .house-services__heading{grid-template-columns:1fr;gap:12px;margin-bottom:20px}
  .house-services__heading .eyebrow{padding:0}
  .house-services__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .house-service{min-height:154px;padding:18px}
  .house-confirm{grid-template-columns:150px 1fr;gap:30px;padding-block:75px}
  .house-confirm__mark{width:135px;height:135px}
  .rooms-lead{grid-template-columns:1fr;gap:17px;padding-block:68px 42px}
  .room-sequence{width:calc(100% - 48px)}
  .room-profile{margin-bottom:77px}
  .room-profile__image{height:420px}
  .room-profile--double .room-profile__image{width:96%}
  .room-profile--twin .room-profile__image{width:91%}
  .room-profile--triple .room-profile__image{width:96%;margin-left:4%}
  .room-profile__copy{width:86%;padding-top:21px}
  .room-profile--double .room-profile__copy,.room-profile--twin .room-profile__copy{margin-left:6%}
  .room-profile--triple .room-profile__copy{margin-left:10%}
  .room-note{grid-template-columns:.8fr 1.2fr;gap:18px}
  .room-note .button{grid-column:2;justify-self:start}
  .city-feature{grid-template-columns:.8fr 1.2fr;gap:35px;padding:55px 30px}
  .city-feature__aside{min-height:260px}
  .city-planning{grid-template-columns:1fr;gap:25px;padding-block:75px}
  .page-hero{height:61svh;min-height:480px}
  .page-hero__copy,.contact-hero__copy{bottom:9%;left:6%;width:88%;padding-right:0}
  .page-hero__copy h1{font-size:clamp(42px,7vw,60px)}
  .page-hero__note,.contact-hero__note{top:89px;right:15px}
  .contact-hero{height:58svh;min-height:460px}
  .contact-flow{padding-block:40px 75px}
  .contact-request{gap:25px;padding:28px}
  .contact-address{padding-top:70px}
  .map-frame{height:370px}
}
@media(max-width:600px){
  :root{--page:calc(100% - 36px)}
  body{font-size:14px}
  h2{font-size:clamp(32px,9vw,42px)}
  .site-header,.site-header.is-solid{height:67px;padding-inline:18px}
  .wordmark>span{font-size:21px}
  .wordmark>small{font-size:8px}
  .menu-toggle{font-size:10px}
  .site-nav{right:9px;left:9px;padding-inline:17px}
  .hero{height:82svh;min-height:540px;max-height:740px}
  .hero__image{object-position:55% center}
  .hero__shade{background:linear-gradient(90deg,#15151982,transparent 100%),linear-gradient(0deg,#151519d9 0%,#15151924 65%)}
  .hero__meta{top:84px;right:18px;left:18px;gap:8px 17px;font-size:8px}
  .hero__meta span+span:before{left:-10px}
  .hero__copy{bottom:9%;left:20px;width:calc(100% - 40px)}
  .hero h1{margin:10px 0 12px;font-size:clamp(42px,11vw,56px)}
  .hero__copy>p:not(.eyebrow){max-width:345px;font-size:12px}
  .booking-wrap{width:calc(100% - 22px);margin-top:-22px}
  .booking-bar{grid-template-columns:1fr 1fr;gap:8px;padding:13px;border-radius:3px 18px 3px 18px}
  .booking-bar__intro{grid-column:1/-1;padding:0 2px 3px}
  .booking-bar__intro strong{font-size:18px}
  .booking-field{gap:3px;padding:7px 7px}
  .booking-field>span{font-size:8px}
  .booking-field input,.booking-field select{font-size:10px}
  .booking-bar .button{grid-column:1/-1;min-height:44px;font-size:10px}
  .form-feedback{font-size:10px}
  .welcome{gap:12px;padding-block:67px 49px}
  .welcome h2{font-size:clamp(34px,9.1vw,43px)}
  .welcome__copy>p:not(.eyebrow){font-size:12px}
  .welcome .text-link{margin-top:15px;font-size:11px}
  .quick-facts{grid-template-columns:.55fr .9fr 1.2fr;width:var(--page);margin-bottom:57px}
  .quick-facts>div{min-height:72px;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:8px 9px}
  .quick-facts>div:first-child{padding-left:0}
  .quick-facts strong{font-size:17px}
  .quick-facts span{font-size:8px;line-height:1.35}
  .home-house{width:100%;min-height:0;margin-bottom:70px}
  .home-house__photo{width:calc(100% - 20px);height:320px;margin-right:0}
  .home-house__copy{position:relative;bottom:auto;left:auto;width:calc(100% - 40px);margin:-22px 20px 0;padding:22px 21px;background:var(--white)}
  .home-house__copy h2{font-size:34px}
  .home-house__copy>p:not(.eyebrow){font-size:11px}
  .home-house__copy .button{font-size:10px}
  .image-note{right:9px;bottom:9px;padding:6px 8px;font-size:8px}
  .room-summary{padding-top:5px;padding-bottom:68px}
  .room-summary__heading{gap:11px;margin-bottom:21px}
  .room-summary__heading h2{font-size:35px}
  .room-summary__heading>p:not(.eyebrow){font-size:10px}
  .room-list{margin-top:7px}
  .room-list__item{grid-template-columns:58px 1fr 48px;gap:8px;min-height:76px;padding:10px 2px}
  .room-list__item:hover{padding-inline:6px}
  .room-list__size{grid-row:1/3;font-size:9px}
  .room-list__name{font-size:17px}
  .room-list__detail{grid-column:2;font-size:9px}
  .room-list__link{grid-column:3;grid-row:1/3;font-size:9px}
  .room-summary>.text-link{font-size:10px}
  .breakfast{grid-template-columns:1fr;gap:0;width:var(--page);margin-bottom:72px}
  .breakfast__photo{height:300px;border-radius:3px 28px 3px 3px}
  .breakfast__copy{position:relative;width:calc(100% - 18px);margin:-20px auto 0;padding:22px 19px;background:var(--white)}
  .breakfast__copy h2{font-size:34px}
  .breakfast__copy>p:not(.eyebrow){font-size:11px}
  .breakfast__copy .text-link{font-size:10px}
  .reviews{padding-top:0;padding-bottom:66px}
  .reviews__heading{gap:10px;margin-bottom:19px}
  .reviews__heading h2{font-size:35px}
  .reviews__heading>p:not(.eyebrow){font-size:9px}
  .review-board{grid-template-columns:1fr;gap:8px}
  .review-card{min-height:190px;padding:22px 24px}
  .booking-wordmark{font-size:18px;margin-bottom:11px}
  .google-wordmark{font-size:15px;margin-bottom:11px}
  .score-value{font-size:48px}
  .score-caption{font-size:10px}
  .review-card__detail{margin-top:11px;padding-top:9px;font-size:9px}
  .reviews__source{font-size:8px}
  .location-note{grid-template-columns:1fr;gap:19px;padding:35px 20px}
  .location-note__label{gap:7px}
  .location-note__label>span{font-size:21px}
  .location-note__copy h2{font-size:34px}
  .location-note__copy p{font-size:11px}
  .location-note__copy .button{font-size:10px}
  .closing{min-height:320px;padding-block:58px;text-align:left;align-items:flex-start}
  .closing h2{font-size:36px}
  .closing>p:not(.eyebrow){font-size:11px}
  .closing .button{font-size:10px}
  .site-footer{padding:48px 20px 18px}
  .footer-main{grid-template-columns:1fr 1fr;gap:27px 16px;padding-bottom:30px}
  .footer-brand-block{grid-column:1/-1}
  .wordmark--footer>span{font-size:25px}
  .footer-brand-block>p{font-size:11px}
  .footer-links,.footer-contact{gap:8px}
  .footer-links a,.footer-contact>a{font-size:9px;overflow-wrap:anywhere}
  .footer-legal{flex-direction:column;gap:6px;font-size:7px}
  .footer-note{font-size:7px}
  .page-hero{height:59svh;min-height:430px;max-height:560px}
  .page-hero__copy,.contact-hero__copy{left:20px;width:calc(100% - 40px);bottom:8%}
  .page-hero__copy h1,.contact-hero__copy h1{font-size:clamp(39px,10vw,50px)}
  .page-hero__copy>p:not(.eyebrow),.contact-hero__copy>p:not(.eyebrow){font-size:11px}
  .page-hero__note,.contact-hero__note{top:81px;right:10px;bottom:auto;max-width:calc(100% - 20px);font-size:7px}
  .house-intro,.city-intro{gap:10px;padding-block:63px 49px}
  .house-intro h2,.city-intro h2{font-size:36px}
  .house-intro__copy>p:not(.eyebrow),.city-intro>div>p:not(.eyebrow){font-size:11px}
  .house-intro .text-link,.city-intro .text-link{margin-top:14px;font-size:10px}
  .house-services{padding:50px 18px 55px}
  .house-services__heading{gap:8px;margin-bottom:15px}
  .house-services__heading h2{font-size:35px}
  .house-services__list{grid-template-columns:1fr}
  .house-service{min-height:0;padding:15px 13px}
  .house-service h3{margin:7px 0 4px;font-size:21px}
  .house-service p{font-size:10px}
  .house-confirm{grid-template-columns:1fr;gap:20px;padding-block:54px}
  .house-confirm__mark{width:86px;height:86px;font-size:10px}
  .house-confirm h2{font-size:34px}
  .house-confirm p:not(.eyebrow){font-size:11px}
  .house-rooms{padding-block:16px 64px}
  .house-rooms h2{font-size:34px}
  .house-rooms>p:not(.eyebrow){font-size:10px}
  .rooms-lead{gap:12px;padding-block:53px 33px}
  .rooms-lead h2{font-size:35px}
  .rooms-lead>p{font-size:10px}
  .room-sequence{width:calc(100% - 30px)}
  .room-profile{margin-bottom:58px}
  .room-profile__image{height:300px}
  .room-profile--double .room-profile__image{width:96%;border-radius:3px 25px 3px 3px}
  .room-profile--twin .room-profile__image{width:93%;border-radius:25px 3px 3px 3px}
  .room-profile--triple .room-profile__image{width:97%;margin-left:3%;border-radius:3px 3px 25px 3px}
  .room-profile__copy{width:88%;padding-top:17px}
  .room-profile--double .room-profile__copy,.room-profile--twin .room-profile__copy{margin-left:4%}
  .room-profile--triple .room-profile__copy{margin-left:7%}
  .room-profile__copy h2{font-size:34px}
  .room-profile__copy>p:not(.eyebrow){font-size:10px}
  .room-tags{gap:5px;margin:12px 0 15px}
  .room-tags li{padding:6px 8px;font-size:8px}
  .room-profile__copy .text-link{font-size:10px}
  .room-note{grid-template-columns:1fr;gap:12px;padding:21px 0;margin-bottom:12px}
  .room-note h2{font-size:30px}
  .room-note>p{font-size:9px}
  .room-note .button{grid-column:auto;min-height:42px;justify-self:start;font-size:9px}
  .rooms-source{padding-bottom:55px}
  .rooms-source p{font-size:8px}
  .city-feature{grid-template-columns:1fr;gap:25px;padding:40px 19px}
  .city-feature__aside{min-height:195px;padding-block:14px}
  .city-feature__word{font-size:52px}
  .city-feature__copy h2{font-size:35px}
  .city-feature__copy>p:not(.eyebrow){font-size:11px}
  .city-links{gap:8px;margin-top:16px}
  .city-links a{font-size:10px}
  .city-planning{gap:18px;padding-block:59px}
  .city-planning h2{font-size:35px}
  .city-planning__list p{grid-template-columns:95px 1fr;gap:12px;padding:13px 0}
  .city-planning__list strong{font-size:10px}
  .city-planning__list span{font-size:9px}
  .city-end{min-height:300px;padding:52px 20px;text-align:left;align-items:flex-start}
  .city-end h2{font-size:36px}
  .city-end>p:not(.eyebrow){font-size:11px}
  .city-end .button{font-size:10px}
  .contact-hero{height:57svh;min-height:410px;max-height:510px}
  .contact-flow{padding-block:25px 61px}
  .contact-method{grid-template-columns:1fr;gap:4px;min-height:82px;padding:13px 4px}
  .contact-method:hover{padding-inline:9px}
  .contact-method strong{font-size:16px}
  .contact-method small{font-size:9px}
  .contact-request{grid-template-columns:1fr;gap:18px;margin-top:50px;padding:20px 16px;border-radius:3px 21px 3px 3px}
  .contact-request__intro h2{font-size:34px}
  .contact-request__intro>p:not(.eyebrow){font-size:10px}
  .availability-form{gap:7px}
  .form-label{gap:6px;padding:8px;font-size:7px}
  .form-label input,.form-label select{font-size:10px}
  .availability-form .button{min-height:43px;font-size:9px}
  .contact-address{padding-top:57px}
  .contact-address__heading h2{font-size:36px}
  .contact-address__heading address{font-size:11px}
  .map-frame{height:310px;margin-top:17px;border-radius:3px 3px 23px 3px}
  .contact-address__route{align-items:flex-start;flex-direction:column;gap:11px;margin-top:13px}
  .contact-address__route p{font-size:9px}
  .contact-address__route .button{min-height:42px;font-size:9px}
}
@media(max-width:359px){
  :root{--page:calc(100% - 28px)}
  .site-header,.site-header.is-solid{padding-inline:14px}
  .wordmark>span{font-size:19px}
  .hero__meta{font-size:7px}
  .booking-wrap{width:calc(100% - 16px)}
  .booking-bar{gap:6px;padding:11px}
  .booking-field{padding:6px 5px}
  .booking-field input,.booking-field select{font-size:9px}
  .quick-facts>div{padding-right:5px}
  .quick-facts strong{font-size:15px}
  .room-list__name{font-size:15px}
  .room-list__detail{font-size:8px}
  .city-planning__list p{grid-template-columns:80px 1fr;gap:8px}
  .footer-main{gap:24px 10px}
  .footer-links a,.footer-contact>a{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .motion-ready [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}
}

/* Rework: quieter blue-and-porcelain palette, more varied editorial rhythm. */
:root{--page:min(1120px,calc(100% - 96px));--ink:#273a50;--ink-soft:#415a73;--muted:#61788f;--line:#cbd8e3;--accent:#52789a;--accent-deep:#345b7e;--accent-pale:#dfeaf2;--paper:#f7f5ee;--white:#fffdf8;--stone:#e5edf3;--stone-deep:#d2e0ea}
body{background:var(--paper);color:var(--ink)}p{color:var(--muted)}
h1,h2,h3{letter-spacing:-.04em}h1{font-size:clamp(40px,4.8vw,64px)}h2{font-size:clamp(30px,3.7vw,48px)}
.eyebrow{color:var(--accent-deep);letter-spacing:.14em;font-size:9px}.eyebrow--light{color:#dbe8f2}
::selection{background:#c9dced;color:var(--ink)}:focus-visible{outline-color:#52789a}
.button--accent{background:#3f6588;color:#fff}.button--accent:hover{background:#294e72}
.button--dark{background:#2d4864;color:#fff}.button--dark:hover{background:#3b5e80}
.button--outline{border-color:#52789a;color:#345b7e}.button--outline:hover{background:#345b7e;color:#fff}
.text-link{color:#345b7e;background-image:linear-gradient(#52789a,#52789a)}.text-link:hover{color:#244766}
.site-header{background:linear-gradient(180deg,#172b4078,transparent)}
.site-header.is-solid{color:#273a50;background:rgba(247,245,238,.96);box-shadow:0 1px 0 #345b7e16}
.site-header:not(.is-solid) .nav-booking{background:#f7f5ee;border-color:#f7f5ee;color:#273a50}
.site-header.is-solid .nav-booking{background:#345b7e;border-color:#345b7e;color:#fff}.site-header.is-solid .nav-booking:hover{background:#52789a;border-color:#52789a}
.hero{height:min(650px,64svh);min-height:480px;max-height:650px;background:#425c74}
.hero__image{object-position:53% 52%}.hero__shade{background:linear-gradient(90deg,#142b42a6 0%,#142b424a 44%,transparent 100%),linear-gradient(0deg,#142b42c9 0%,#142b4216 62%,#142b423d 100%)}
.hero__meta{color:#f4f7f8d9}.hero__meta span+span:before{background:#cfdeeb}
.hero__copy{bottom:9.5%;width:min(560px,calc(100% - 56px))}.hero h1{font-size:clamp(42px,4.7vw,64px);line-height:1.04}.hero__copy>p:not(.eyebrow){max-width:430px;font-size:14px}
.booking-wrap{margin-top:-30px}.booking-bar{border-radius:3px 20px 3px 20px;box-shadow:0 16px 42px #263b5017}.booking-field{border-color:#d3dfe8}.form-feedback{color:#345b7e}
.welcome{padding-block:92px 76px;gap:44px}.welcome h2{max-width:720px;font-size:clamp(34px,3.7vw,50px)}.welcome__copy>p:not(.eyebrow){max-width:630px;font-size:14px}
.quick-facts{margin-bottom:82px;border-color:#cbd8e3}.quick-facts>div{min-height:80px}.quick-facts strong{color:#345b7e;font-size:21px}.quick-facts>div+div{border-color:#cbd8e3}
.home-house{min-height:450px;margin-bottom:100px}.home-house__photo{width:72%;height:415px;border-radius:3px 34px 3px 3px;background:#dfe8ee}
.home-house__copy{width:min(390px,39%);padding:32px 33px 35px;border-radius:0 18px 0 18px;box-shadow:0 16px 34px #263b5013}.home-house__copy h2{font-size:clamp(32px,3.1vw,42px)}
.image-note{display:none!important}.room-summary{padding-block:15px 88px}
.room-summary__heading{column-gap:52px;margin-bottom:25px}.room-summary__heading h2{font-size:clamp(34px,3.5vw,47px)}
.room-list{border-color:#cbd8e3}.room-list__item{min-height:75px;border-color:#cbd8e3;transition:background .24s ease,padding .24s ease}.room-list__item:hover{background:#eaf0f4}
.room-list__size{color:#52789a}.room-list__name{font-size:19px}.room-list__link{color:#345b7e;text-decoration-color:#52789a}
.breakfast{grid-template-columns:minmax(0,1.05fr) minmax(290px,.8fr);gap:clamp(34px,6vw,82px);margin-bottom:95px}
.breakfast__photo{height:370px;border-radius:32px 3px 32px 3px;background:#e5edf3}.breakfast__copy h2{font-size:clamp(32px,3.5vw,45px)}.breakfast__copy>p:not(.eyebrow){font-size:13px}
.reviews{padding-bottom:90px}.reviews__heading h2{font-size:clamp(34px,3.5vw,46px)}.reviews__heading>p:not(.eyebrow){color:#61788f}
.review-board{gap:16px}.review-card{min-height:205px;padding:24px 30px;background:#fffdf8;border-color:#d2dfe8}
.review-card--booking{border-radius:22px 3px 22px 3px}.review-card--google{border-radius:3px 22px 3px 22px}
.booking-wordmark{color:#003b95}.google-wordmark{color:#40576e}.score-caption,.score-value span,.review-card__detail{color:#61788f}.review-card__detail{border-color:#d2dfe8}.reviews__source{display:none}
.location-note{background:#294866;color:#fff}.location-note__copy p{color:#e1ebf2}.location-note .button--paper{background:#f7f5ee;color:#273a50}.location-note .button--paper:hover{background:#e5edf3}
.closing{min-height:330px;padding-block:70px}.closing h2{font-size:clamp(34px,3.9vw,50px)}
.site-footer{background:#1f344a;color:#f8f7f1}.footer-brand-block>p,.footer-legal,.footer-note{color:#cad8e4}
.footer-links a,.footer-contact>a{color:#f4f6f7;background-image:linear-gradient(#f4f6f7,#f4f6f7)}.footer-legal{border-color:#ffffff29}
.page-hero{height:min(610px,56svh);min-height:420px;max-height:640px;background:#49647c}
.page-hero__shade{background:linear-gradient(90deg,#152c42a1 0%,#152c4240 59%,transparent 100%),linear-gradient(0deg,#152c42c4 0%,transparent 76%)}
.page-hero__copy{bottom:9%;max-width:600px}.page-hero__copy h1{font-size:clamp(40px,4.5vw,58px)}.page-hero__copy>p:not(.eyebrow){font-size:13px;max-width:450px}
.page-hero--house .page-hero__image{object-position:50% 56%}
.house-intro,.city-intro{padding-block:82px 68px;gap:42px}.house-intro h2,.city-intro h2{font-size:clamp(33px,3.6vw,47px)}
.house-intro__copy>p:not(.eyebrow),.city-intro>div>p:not(.eyebrow){max-width:680px;font-size:14px}
.house-services{padding:70px max(calc((100% - 1120px)/2),48px) 80px;background:#e5edf3}
.house-services__heading{grid-template-columns:.8fr 1.2fr;align-items:end;gap:42px;margin-bottom:34px}.house-services__heading .eyebrow{padding-top:8px}
.house-services__heading h2{max-width:520px;margin:0;font-size:clamp(33px,3.6vw,46px)}
.house-services__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 42px}
.house-service{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;min-height:118px;padding:18px 3px 20px;border:0;border-top:1px solid #b9cad8;border-radius:0;background:transparent;box-shadow:none}
.house-service:last-child{border-bottom:1px solid #b9cad8}
.house-service>span:first-child{grid-column:2;grid-row:1;color:#52789a;font:500 9px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.house-service h3{grid-column:2;grid-row:2;align-self:start;margin:3px 0;color:#273a50;font:600 15px/1.3 var(--body);letter-spacing:-.01em}
.house-service p{grid-column:2;grid-row:3;margin:0;color:#60778e;font-size:11px}
.service-symbol{grid-column:1;grid-row:1/4;display:grid;width:34px;height:34px;place-items:center;margin-top:5px;border:1px solid #9fb5c9;border-radius:50%;color:#345b7e}
.service-symbol svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.house-confirm{grid-template-columns:1fr 1.7fr;gap:52px;max-width:1120px;margin:auto;padding:72px 0;border-bottom:1px solid #cbd8e3}
.house-confirm__mark{display:none}.house-confirm .eyebrow{align-self:start;padding-top:9px}.house-confirm h2{font-size:clamp(32px,3.5vw,44px)}
.house-confirm>div>p:not(.eyebrow){max-width:600px;font-size:13px}.house-confirm .button{margin-top:20px}
.house-rooms{display:grid;grid-template-columns:.6fr 1fr auto;align-items:center;gap:18px 32px;padding-block:62px 78px}
.house-rooms .eyebrow{grid-column:1/-1}.house-rooms h2{margin:0;font-size:clamp(31px,3.4vw,42px)}
.house-rooms>p:not(.eyebrow){max-width:430px;margin:0;font-size:12px}.house-rooms .text-link{justify-self:end}
.rooms-lead{grid-template-columns:.9fr 1.1fr;gap:58px;padding-block:72px 52px}.rooms-lead h2{font-size:clamp(32px,3.6vw,46px)}.rooms-lead>p{font-size:12px}
.room-sequence{width:min(1000px,calc(100% - 96px))}.room-profile{margin-bottom:78px}
.room-profile__image{height:clamp(305px,37vw,470px);overflow:hidden;border-radius:2px 32px 2px 32px;background:#e5edf3}
.room-profile__image img{height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.room-profile__image:hover img{transform:scale(1.015)}
.room-profile--double .room-profile__image{width:82%;margin-left:0}
.room-profile--twin .room-profile__image{width:74%;margin-left:auto;border-radius:32px 2px 32px 2px}
.room-profile--triple .room-profile__image{width:88%;margin-left:8%;border-radius:2px 2px 32px 2px}
.room-profile__copy{width:76%;padding-top:21px}.room-profile--double .room-profile__copy{margin-left:7%}.room-profile--twin .room-profile__copy{margin-left:18%}.room-profile--triple .room-profile__copy{margin-left:10%}
.room-profile__copy h2{font-size:clamp(33px,3.7vw,48px)}.room-profile__copy>p:not(.eyebrow){max-width:610px;font-size:13px}
.room-tags{display:flex;flex-wrap:wrap;gap:7px 20px;margin:17px 0 18px;padding:0;list-style:none}
.room-tags li{position:relative;padding-left:16px;color:#405971;font-size:11px}.room-tags li:before{position:absolute;top:3px;left:0;width:10px;height:10px;border:1px solid #7190aa;border-radius:50%;content:""}.room-tags li:nth-child(1):before{background:#d8e5ef}
.room-note{grid-template-columns:.7fr 1fr auto;gap:28px;margin-bottom:70px;padding-block:31px;border-top:1px solid #cbd8e3;border-bottom:1px solid #cbd8e3}
.room-note h2{font-size:clamp(29px,3vw,38px)}.room-note>p{font-size:12px}.rooms-source{padding-bottom:68px}.rooms-source p{max-width:720px;font-size:10px}
.page-hero--city .page-hero__image{object-position:center 58%}
.city-feature{grid-template-columns:.7fr 1.3fr;gap:58px;margin:0 auto 54px;padding:48px max(calc((100% - 1040px)/2),48px);background:#e5edf3}
.city-feature__aside{min-height:220px;padding:20px 18px;border-right:1px solid #b9cad8}.city-feature__word{margin-top:18px;font-size:clamp(31px,3.3vw,43px);line-height:1.02}
.city-feature__copy h2{font-size:clamp(32px,3.6vw,46px)}.city-feature__copy>p:not(.eyebrow){font-size:12px}.city-links a{color:#345b7e;font-size:11px}
.city-planning{padding-block:65px 75px}.city-planning h2{font-size:clamp(32px,3.5vw,44px)}.city-planning__list p{border-color:#cbd8e3}
.city-end{min-height:300px;background:#294866}.city-end h2{font-size:clamp(33px,3.9vw,50px)}
.contact-hero{height:min(550px,50svh);min-height:390px;max-height:570px;background:#47647f}
.contact-hero__image{object-position:center 52%}.contact-hero__shade{background:linear-gradient(90deg,#162c4290 0%,transparent 78%),linear-gradient(0deg,#162c42b5 0%,transparent 70%)}
.contact-hero__copy{bottom:8%;max-width:530px}.contact-hero__copy h1{font-size:clamp(38px,4.4vw,57px)}.contact-hero__copy>p:not(.eyebrow){font-size:13px}
.contact-flow{max-width:910px;padding-block:46px 80px}.contact-methods{border-color:#cbd8e3}
.contact-method{grid-template-columns:40px 96px minmax(0,1fr) auto;min-height:72px;gap:12px;border-color:#cbd8e3}.contact-method:hover{background:#eaf0f4}
.contact-method .eyebrow{color:#61788f}.contact-method strong{font:600 clamp(14px,1.55vw,17px)/1.3 var(--body);color:#273a50}.contact-method small{color:#345b7e;font-size:10px}
.contact-method__icon{display:grid;width:30px;height:30px;place-items:center;color:#41698b}.contact-method__icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-socials{display:flex;gap:12px;margin-top:18px}.contact-socials a{display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid #cbd8e3;border-radius:2px 14px 2px 14px;color:#345b7e;font-size:11px;font-weight:600;transition:background .22s ease,transform .22s ease}
.contact-socials a:hover{transform:translateY(-2px);background:#e5edf3}.contact-socials svg{width:16px;height:16px;fill:currentColor}
.contact-request{grid-template-columns:.9fr 1.1fr;gap:38px;margin-top:55px;padding:32px 34px;background:#e5edf3;border-radius:2px 22px 2px 2px}
.contact-request__intro h2{font-size:clamp(30px,3.3vw,42px)}.contact-request__intro>p:not(.eyebrow){font-size:11px}
.form-label{border-color:#b9cad8;background:#fffdf8;color:#61788f}
.contact-address{padding-top:72px}.contact-address__heading h2{font-size:clamp(33px,3.7vw,46px)}.contact-address__heading address{font-size:13px}
.map-frame{height:350px;margin-top:20px;border-radius:2px 2px 26px 2px;background:#d7e3ec}
.contact-address__route p{font-size:10px}.contact-address__route .button{font-size:11px}
body.motion-ready [data-reveal]{transition:opacity .48s ease,transform .56s cubic-bezier(.19,.72,.22,1),clip-path .68s cubic-bezier(.19,.72,.22,1)}
body.motion-ready [data-reveal="photo"]{clip-path:inset(0 0 8% round 18px 2px 18px 2px)}
body.motion-ready [data-reveal="photo"].is-visible{clip-path:inset(0 round 18px 2px 18px 2px)}
.house-service[data-reveal]{transition-delay:calc(var(--service-order,0) * 45ms)}
.house-service:nth-child(2){--service-order:1}.house-service:nth-child(3){--service-order:2}.house-service:nth-child(4){--service-order:3}.house-service:nth-child(5){--service-order:4}.house-service:nth-child(6){--service-order:5}
@media(max-width:1020px){
 :root{--page:min(100% - 64px,1120px)}.hero{height:min(600px,64svh);min-height:440px}
 .home-house{min-height:420px}.home-house__photo{width:73%;height:385px}.home-house__copy{width:40%}
 .house-services{padding-inline:32px}.house-confirm{width:var(--page)}.room-sequence{width:calc(100% - 64px)}.city-feature{padding-inline:38px}
}
@media(max-width:820px){
 :root{--page:calc(100% - 48px)}.hero{height:62svh;min-height:405px;max-height:540px}
 .hero__copy{bottom:9%;left:6%;width:88%}.hero h1{font-size:clamp(40px,6.8vw,56px)}.booking-wrap{margin-top:-24px}
 .welcome{padding-block:70px 56px}.quick-facts{margin-bottom:64px}
 .home-house{min-height:400px;margin-bottom:70px}.home-house__photo{width:78%;height:360px}.home-house__copy{width:45%;padding:25px}
 .breakfast{grid-template-columns:1fr .88fr;margin-bottom:70px}.breakfast__photo{height:320px}
 .location-note{padding:48px 32px}.house-intro,.city-intro{padding-block:64px 52px}
 .house-services{padding:54px 24px 62px}.house-services__heading{grid-template-columns:1fr;gap:10px;margin-bottom:22px}.house-services__list{gap:0 24px}
 .house-confirm{grid-template-columns:.8fr 1.2fr;gap:24px;padding-block:52px}
 .house-rooms{grid-template-columns:1fr 1fr;padding-block:46px 60px}.house-rooms .eyebrow{grid-column:1/-1}.house-rooms h2{font-size:34px}.house-rooms .text-link{grid-column:2;justify-self:start}
 .rooms-lead{grid-template-columns:1fr;gap:12px;padding-block:58px 35px}.room-sequence{width:calc(100% - 48px)}
 .room-profile{margin-bottom:62px}.room-profile__image{height:clamp(280px,52vw,400px)}
 .room-profile--double .room-profile__image{width:90%}.room-profile--twin .room-profile__image{width:84%}.room-profile--triple .room-profile__image{width:91%;margin-left:5%}
 .room-profile__copy{width:84%;padding-top:17px}.room-profile--twin .room-profile__copy{margin-left:11%}.room-profile--triple .room-profile__copy{margin-left:8%}
 .room-note{grid-template-columns:1fr 1fr;gap:13px}.room-note .button{grid-column:2;justify-self:start}
 .city-feature{grid-template-columns:.75fr 1.25fr;gap:24px;padding:38px 30px}
 .page-hero{height:50svh;min-height:400px;max-height:530px}.page-hero__copy{bottom:8%;left:6%;width:88%}
 .contact-hero{height:46svh;min-height:360px;max-height:490px}.contact-flow{padding-block:34px 62px}.contact-request{gap:22px;padding:24px}
 .contact-address{padding-top:57px}.map-frame{height:310px}
}
@media(max-width:600px){
 :root{--page:calc(100% - 36px)}body{font-size:14px}h1{font-size:clamp(35px,10vw,46px)}h2{font-size:clamp(29px,8vw,38px)}
 .hero{height:60svh;min-height:390px;max-height:500px}.hero__image{object-position:55% center}
 .hero__shade{background:linear-gradient(90deg,#142b4280,transparent 100%),linear-gradient(0deg,#142b42d0 0%,#142b4217 65%)}
 .hero__meta{top:82px;left:18px;gap:8px 16px;font-size:8px}.hero__copy{bottom:8%;left:18px;width:calc(100% - 36px)}
 .hero h1{font-size:clamp(38px,10vw,48px)}.hero__copy>p:not(.eyebrow){font-size:12px}
 .booking-wrap{width:calc(100% - 22px);margin-top:-18px}.booking-bar{padding:12px;border-radius:3px 15px 3px 15px}.booking-field{border-color:#cbd8e3}
 .welcome{padding-block:55px 45px;gap:11px}.welcome h2{font-size:clamp(31px,8.4vw,39px)}.welcome__copy>p:not(.eyebrow){font-size:13px}
 .quick-facts{grid-template-columns:1fr;margin-bottom:55px;border-bottom:0}.quick-facts>div{min-height:65px;padding:10px 0;border-bottom:1px solid #cbd8e3}
 .quick-facts>div+div{border-left:0}.quick-facts strong{min-width:82px;font-size:20px}.quick-facts span{max-width:260px;font-size:10px}
 .home-house{min-height:0;margin-bottom:60px}.home-house__photo{width:100%;height:clamp(230px,68vw,320px);border-radius:3px 22px 3px 22px}
 .home-house__copy{position:relative;width:88%;margin:-42px 0 0;padding:23px 22px 24px;border-radius:0 16px 0 16px}.home-house__copy h2{font-size:32px}
 .room-summary{padding-bottom:57px}.room-summary__heading h2{font-size:32px}.room-list__item{grid-template-columns:68px 1fr auto;gap:9px;padding-inline:2px}
 .room-list__detail{grid-column:2/-1;grid-row:2;padding-bottom:4px}.room-list__link{grid-column:3;grid-row:1}.room-list__name{font-size:16px}.room-list__size{font-size:9px}
 .breakfast{grid-template-columns:1fr;gap:17px;margin-bottom:57px}.breakfast__photo{height:clamp(230px,65vw,320px);border-radius:22px 3px 22px 3px}
 .breakfast__copy{max-width:none}.breakfast__copy h2{font-size:32px}
 .review-board{grid-template-columns:1fr;gap:10px}.review-card{min-height:178px;padding:21px 22px}.reviews__heading h2{font-size:32px}
 .location-note{grid-template-columns:1fr;gap:20px;padding:36px 22px}.location-note__label>span{font-size:21px}.location-note__copy h2{font-size:32px}
 .closing{min-height:270px;padding-block:54px}.closing h2{font-size:34px}
 .site-footer{padding:49px 20px 20px}.footer-main{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-contact>a{font-size:11px;overflow-wrap:anywhere}.footer-legal{justify-content:flex-start;flex-direction:column;font-size:9px}
 .house-intro,.city-intro{padding-block:52px 42px;gap:12px}.house-intro h2,.city-intro h2{font-size:32px}
 .house-services{padding:44px 18px 50px}.house-services__heading h2{font-size:31px}.house-services__list{grid-template-columns:1fr}.house-service{min-height:99px;padding-block:13px}
 .house-confirm{grid-template-columns:1fr;width:var(--page);gap:10px;padding-block:42px}.house-confirm h2{font-size:31px}.house-confirm>div>p:not(.eyebrow){font-size:12px}
 .house-rooms{grid-template-columns:1fr;gap:11px;padding-block:39px 50px}.house-rooms .eyebrow{grid-column:auto}.house-rooms h2{font-size:32px}.house-rooms .text-link{grid-column:auto}
 .rooms-lead{padding-block:48px 28px}.rooms-lead h2{font-size:31px}.rooms-lead>p{font-size:11px}.room-sequence{width:calc(100% - 36px)}
 .room-profile{margin-bottom:48px}.room-profile__image{height:clamp(225px,74vw,300px);border-radius:2px 20px 2px 20px}
 .room-profile--double .room-profile__image{width:95%}.room-profile--twin .room-profile__image{width:91%}.room-profile--triple .room-profile__image{width:95%;margin-left:3%}
 .room-profile__copy{width:94%;padding-top:14px}.room-profile--double .room-profile__copy{margin-left:3%}.room-profile--twin .room-profile__copy{margin-left:6%}.room-profile--triple .room-profile__copy{margin-left:4%}
 .room-profile__copy h2{font-size:32px}.room-profile__copy>p:not(.eyebrow){font-size:12px}.room-tags{gap:6px 13px;margin-block:12px}.room-tags li{font-size:10px;padding-left:14px}
 .room-note{grid-template-columns:1fr;margin-bottom:45px;padding-block:23px}.room-note h2{font-size:29px}.room-note .button{grid-column:auto}
 .city-feature{grid-template-columns:1fr;gap:15px;margin-bottom:38px;padding:28px 20px}.city-feature__aside{min-height:0;padding:0 0 16px;border-right:0;border-bottom:1px solid #b9cad8}
 .city-feature__word{margin-top:10px;font-size:32px}.city-feature__copy h2{font-size:31px}.city-planning{padding-block:46px 52px}.city-planning h2{font-size:31px}.city-end{min-height:270px;padding:47px 20px}.city-end h2{font-size:34px}
 .page-hero{height:44svh;min-height:330px;max-height:430px}.page-hero__copy h1{font-size:clamp(35px,9vw,45px)}.page-hero__copy>p:not(.eyebrow){font-size:12px}
 .contact-hero{height:41svh;min-height:320px;max-height:390px}.contact-hero__copy{bottom:7%}.contact-hero__copy h1{font-size:clamp(35px,9vw,46px)}
 .contact-flow{padding-block:24px 48px}.contact-method{grid-template-columns:30px 75px minmax(0,1fr);gap:8px;min-height:66px;padding-block:11px}
 .contact-method strong{grid-column:3;grid-row:1;font-size:13px}.contact-method .eyebrow{grid-column:2;grid-row:1;font-size:8px}.contact-method small{grid-column:3;grid-row:2}
 .contact-method__icon{grid-column:1;grid-row:1/3;width:25px;height:25px}.contact-method__icon svg{width:17px;height:17px}
 .contact-socials{margin-top:13px}.contact-socials a{padding:8px 10px;font-size:10px}
 .contact-request{grid-template-columns:1fr;gap:16px;margin-top:37px;padding:20px;border-radius:2px 17px 2px 2px}.contact-request__intro h2{font-size:30px}.availability-form{gap:8px}
 .contact-address{padding-top:46px}.contact-address__heading h2{font-size:34px}.contact-address__heading address{font-size:12px}
 .map-frame{height:275px;margin-top:15px;border-radius:2px 2px 20px 2px}.contact-address__route{align-items:flex-start;flex-direction:column;gap:12px}.contact-address__route .button{min-height:43px}
}
@media(max-width:360px){
 .hero{min-height:400px}.hero__meta{font-size:7px}.hero h1{font-size:37px}.booking-bar__intro strong{font-size:16px}
 .booking-field input,.booking-field select{font-size:9px}.contact-method{grid-template-columns:26px 64px minmax(0,1fr);gap:7px}
 .contact-method strong{font-size:12px}.contact-method small{font-size:9px}.footer-main{grid-template-columns:1fr}.footer-brand-block{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){body.motion-ready [data-reveal],body.motion-ready [data-reveal="photo"]{opacity:1!important;transform:none!important;clip-path:none!important}}

.room-tags li[class^="room-tag--"]:before{display:none}
.room-tags li[class^="room-tag--"]{padding-left:19px}
.room-tag-icon{position:absolute;top:3px;left:0;display:inline-flex;width:13px;height:13px;color:#52789a}
.room-tag-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}

/* Final pass: warm neutrals, open amenity lists and lighter, varied motion. */
:root{
  --paper:#f6f1e8;--white:#fffdf7;--stone:#eee6d9;--stone-deep:#ddd1bf;
  --ink:#25394d;--ink-soft:#43586b;--muted:#667789;--line:#d8cdbd;
  --accent:#587796;--accent-deep:#395875;--accent-pale:#e3eaf0;
}
body{background:var(--paper);color:var(--ink)}
.site-header.is-solid{background:rgba(246,241,232,.96)}
.house-services,.city-feature,.contact-request{background:var(--stone)}
.house-service{border-color:#d2c5b2}
.house-service:last-child{border-color:#d2c5b2}
.house-service:hover{background:#f8f4ec}
.quick-facts,.quick-facts>div+div,.room-list,.room-list__item,.contact-methods,.contact-method,.room-note{border-color:var(--line)}
.room-list__item:hover,.contact-method:hover{background:#f0e9de}
.contact-request{border-radius:0 25px 0 25px}
.form-label{border-color:#d7cbb9;background:#fffdf7}
.city-feature{background:#eee6d9}
.map-frame{background:#e6ded1}
.room-profile__image{height:clamp(270px,31vw,400px)}
.room-tags{gap:8px 19px;margin:15px 0 18px}
.room-tags li{display:inline-flex;align-items:center;min-height:20px;padding:0 0 0 16px;border:0;border-radius:0;background:transparent;color:#43586b;font-size:11px}
.room-tags li:before{top:8px;left:1px;width:4px;height:4px;border:0;border-radius:50%;background:#587796}
.room-tags li:nth-child(1):before{background:#587796}
.room-tags li[class^="room-tag--"]{padding-left:19px}
.room-tag-icon{top:2px;color:#395875}
.room-note{border-color:var(--line)}
.contact-method strong{font-size:clamp(13px,1.35vw,15px)}
.contact-method small{font-size:10px}
.location-note{background:#284761}
.site-footer{background:#1e354a}
.page-hero{height:min(540px,55svh);min-height:400px;max-height:540px}
.contact-hero{height:min(500px,46svh);min-height:370px;max-height:510px}
body.motion-ready [data-reveal="up"]{transform:translateY(16px)}
body.motion-ready [data-reveal="left"]{transform:translateX(-18px)}
body.motion-ready [data-reveal="right"]{transform:translateX(18px)}
body.motion-ready [data-reveal="photo"]{clip-path:inset(0 0 7% round 20px 2px 20px 2px);transition:clip-path .72s cubic-bezier(.22,.68,.21,1)}
body.motion-ready [data-reveal="photo"].is-visible{clip-path:inset(0 round 20px 2px 20px 2px)}
body.motion-ready [data-reveal="scale"]{opacity:0;transform:scale(.975) translateY(8px);transition:opacity .55s ease,transform .7s cubic-bezier(.18,.72,.22,1)}
body.motion-ready [data-reveal="scale"].is-visible{opacity:1;transform:scale(1)}
.review-card--google[data-reveal="left"]{transition-delay:100ms}
.text-link,.site-nav>a:not(.nav-booking){transition:background-size .34s cubic-bezier(.2,.7,.2,1),color .2s ease}
@media(max-width:820px){
 .room-profile__image{height:clamp(250px,48vw,360px)}
 .page-hero{height:48svh;min-height:360px;max-height:490px}
 .contact-hero{height:44svh;min-height:340px;max-height:450px}
}
@media(max-width:600px){
 .room-profile__image{height:clamp(210px,58vw,270px)}
 .page-hero{height:43svh;min-height:310px;max-height:390px}
 .contact-hero{height:39svh;min-height:295px;max-height:360px}
 .room-tags{gap:7px 14px}
 .room-tags li{font-size:10px}
 .contact-request{border-radius:0 19px 0 19px}
}
@media(prefers-reduced-motion:reduce){
 body.motion-ready [data-reveal="scale"],body.motion-ready [data-reveal="scale"].is-visible{opacity:1!important;transform:none!important}
}

/* Editorial refresh: warm mineral tones, clearer image rhythm, restrained motion. */
:root{
  --body:"DM Sans",Arial,sans-serif;
  --display:"Instrument Serif",Georgia,serif;
  --paper:#f7f4ee;--white:#fffdfa;--stone:#eee9e1;--stone-deep:#dfd7cb;
  --ink:#30312f;--ink-soft:#555650;--muted:#77766f;--line:#d8d1c7;
  --accent:#84796b;--accent-deep:#514b44;--accent-pale:#e8e1d7;
}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.025em;color:var(--ink)}
h1{line-height:.98}h2{line-height:1.03}h3{line-height:1.15}
p{color:var(--ink-soft);line-height:1.72}
a{color:inherit}
.eyebrow{color:#746e64;font:500 9px/1.4 "DM Mono",monospace;letter-spacing:.13em;text-transform:uppercase}
.eyebrow--light{color:#f5f0e8cc}
.site-header.is-solid{background:rgba(247,244,238,.96);box-shadow:0 1px 0 #d8d1c7}
.site-header,.site-nav,.wordmark{color:var(--ink)}
.site-header:not(.is-solid) .wordmark,.site-header:not(.is-solid) .site-nav>a:not(.nav-booking),.site-header:not(.is-solid) .menu-toggle{color:#fffdf8;text-shadow:0 1px 10px #24211c70}
.site-header:not(.is-solid) .wordmark small{color:#fffdf2d9}
.site-nav>a:not(.nav-booking){background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;transition:background-size .32s ease,color .2s ease}
.site-nav>a:not(.nav-booking):hover,.site-nav>a[aria-current=page]{background-size:100% 1px;color:#6f655a}
.wordmark span{font-family:var(--display);font-size:23px;font-weight:400;letter-spacing:-.02em}
.wordmark small{color:#766f66;font-size:8px;letter-spacing:.16em}
.nav-booking,.button--accent{border-color:var(--accent-deep);background:var(--accent-deep);color:#fffdfa}
.nav-booking:hover,.button--accent:hover{background:#373733;color:#fffdfa}
.button--dark{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.button--paper{border-color:#e5ded3;background:#f7f4ee;color:#353531}
.button,.nav-booking{border-radius:2px 14px 2px 2px;transition:transform .25s ease,background-color .25s ease,color .25s ease}
.button:hover{transform:translateY(-2px)}
.text-link{color:#514b44;background-image:linear-gradient(#8a7e6e,#8a7e6e)}
.text-link:hover{color:#302f2c}
.hero{height:min(660px,68svh);min-height:490px;max-height:700px;background:#393733}
.hero__image{object-position:center 51%}
.hero__shade{background:linear-gradient(90deg,#2526228a 0%,#25262228 49%,transparent 78%),linear-gradient(0deg,#252622c7 0%,#25262218 53%,transparent 100%)}
.hero__meta{font-size:9px;color:#fffdf1d9;letter-spacing:.07em}
.hero__copy{bottom:8%;left:max(6%,calc((100% - 1180px)/2));width:min(520px,46%)}
.hero__copy .eyebrow{margin-bottom:10px}
.hero h1{max-width:500px;margin:0 0 13px;color:#fffdf8;font-size:clamp(48px,5.7vw,72px);font-weight:400;line-height:.94}
.hero__copy>p:not(.eyebrow){max-width:360px;margin:0;color:#fffdf0e8;font-size:13px;line-height:1.55}
.booking-wrap{margin-top:-35px}
.booking-bar{border:1px solid #e1d9cd;background:#fffdf9;box-shadow:0 12px 35px #36332d12}
.booking-field{border-color:var(--line)}
.booking-field>span{color:#80786e}
.booking-field input,.booking-field select{color:var(--ink)}
.welcome{padding-block:92px 68px}
.welcome__copy h2{max-width:720px;font-size:clamp(39px,4.2vw,55px);font-weight:400}
.welcome__copy>p:not(.eyebrow){max-width:660px;font-size:14px}
.quick-facts{border-color:var(--line)}
.quick-facts>div+div{border-color:var(--line)}
.quick-facts strong{color:#696052;font-family:var(--display);font-size:clamp(25px,2.8vw,36px);font-weight:400}
.quick-facts span{color:#67645d;font-size:11px}
.home-house{min-height:0;margin-bottom:90px}
.home-house__photo{width:69%;height:clamp(320px,38vw,460px);border-radius:2px 26px 2px 26px}
.home-house__photo img{object-position:center 53%}
.home-house__copy{width:38%;padding:34px 34px 36px;border:1px solid #e5ddd2;border-radius:0 22px 0 22px;background:#fffdf8}
.home-house__copy h2{font-size:clamp(32px,3.6vw,45px);font-weight:400}
.home-house__copy>p:not(.eyebrow){font-size:13px}
.room-summary{padding-bottom:90px}
.room-summary__heading{max-width:820px;margin-bottom:22px}
.room-summary__heading h2{max-width:720px;font-size:clamp(37px,4.1vw,52px)}
.room-summary__heading>p:not(.eyebrow){font-size:13px;max-width:650px}
.room-summary__visual{position:relative;width:min(100%,1080px);margin:0 auto 27px;overflow:hidden;border-radius:2px 22px 2px 22px}
.room-summary__visual img{width:100%;height:clamp(220px,31vw,355px);object-fit:cover;object-position:center 48%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.room-summary__visual:hover img{transform:scale(1.018)}
.room-summary__visual figcaption{display:flex;justify-content:space-between;gap:14px;padding:10px 2px 0;color:#777166;font:500 9px/1.5 "DM Mono",monospace;letter-spacing:.06em;text-transform:uppercase}
.room-list{border-color:var(--line)}
.room-list__item{grid-template-columns:110px minmax(230px,1fr) minmax(170px,.8fr) 75px;min-height:76px;border-color:var(--line);transition:background-color .25s ease,padding .25s ease}
.room-list__item:hover{padding-inline:12px;background:#eee9e1}
.room-list__size{color:#7b7062;font-family:"DM Mono",monospace}
.room-list__name{font-family:var(--display);font-size:23px;font-weight:400}
.room-list__detail,.room-list__link{color:#66635c}
.breakfast{margin-bottom:90px}
.breakfast__photo{height:clamp(270px,34vw,390px);border-radius:22px 2px 22px 2px}
.breakfast__copy h2{font-size:clamp(34px,3.7vw,47px)}
.reviews{padding-bottom:85px}
.reviews__heading h2{font-size:clamp(37px,4vw,50px)}
.review-card{border-color:#ddd5ca;background:#fffdf8;border-radius:2px 22px 2px 2px}
.review-card--booking{background:#f1ece4}
.review-card--google{background:#fbf8f2}
.score-value{color:#393833;font-family:var(--display);font-size:54px;font-weight:400}
.review-card__detail,.score-caption{color:#6f6a61}
.location-note{grid-template-columns:.55fr 1.45fr;gap:30px;margin-bottom:10px;padding:55px max(calc((100% - 1080px)/2),48px);background:var(--stone);color:var(--ink)}
.location-note .eyebrow{color:#777064}
.location-note__label>span{font-family:var(--display);font-size:clamp(27px,3vw,39px);font-weight:400;line-height:.98}
.location-note__copy h2{font-size:clamp(37px,4vw,50px);font-weight:400}
.location-note__copy>p:not(.eyebrow){color:#5e5c55;font-size:13px}
.closing{min-height:340px;padding-block:78px}
.closing h2{max-width:760px;font-size:clamp(37px,4.6vw,58px);font-weight:400}
.site-footer{background:#292a27;color:#f5f1e9}
.site-footer p,.site-footer a{color:#f5f1e9d9}
.wordmark--footer span{color:#fffdf8}.wordmark--footer small{color:#ddd4c6}
.footer-legal{border-color:#ffffff29;color:#e3ddd2b8}
.footer-legal span:last-child{color:#e3ddd2b8}
.page-hero{height:min(500px,52svh);min-height:370px;max-height:540px;background:#393733}
.page-hero__shade{background:linear-gradient(90deg,#2526228a,transparent 68%),linear-gradient(0deg,#252622bf,transparent 75%)}
.page-hero__copy{max-width:620px}
.page-hero__copy h1{color:#fffdfa;font-size:clamp(41px,4.6vw,60px);font-weight:400}
.page-hero__copy>p:not(.eyebrow){max-width:460px;color:#fffdf0e8;font-size:13px;line-height:1.55}
.house-intro{padding-block:72px 60px}
.house-intro h2{font-size:clamp(36px,4vw,51px)}
.house-intro__copy>p:not(.eyebrow){font-size:14px}
.house-services{padding:58px max(calc((100% - 1120px)/2),42px) 70px;background:var(--stone)}
.house-services__heading{max-width:1100px;margin:0 auto 28px}
.house-services__heading h2{max-width:690px;font-size:clamp(37px,4.1vw,52px);font-weight:400}
.house-services__list{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1100px;margin:0 auto;gap:0 30px}
.house-service{min-height:126px;padding:19px 3px 18px;border-color:#d1c8bb;background:transparent}
.house-service:last-child{border-color:#d1c8bb}
.house-service:hover{background:#f6f2eb}
.house-service>span:first-child{color:#82776a}
.house-service h3{color:var(--ink);font-family:var(--body);font-size:15px;font-weight:600}
.house-service p{color:#69655d;font-size:11px}
.service-symbol{border-color:#b5aa9a;color:#756c60}
.house-garden{display:grid;grid-template-columns:1fr;gap:16px;padding-block:64px 54px}
.house-garden__photo{margin:0}
.house-garden__photo img{width:100%;height:clamp(240px,35vw,385px);object-fit:cover;border-radius:2px 22px 2px 22px}
.house-garden__photo figcaption{padding-top:8px;color:#777166;font:500 9px/1.5 "DM Mono",monospace;letter-spacing:.05em;text-transform:uppercase}
.house-garden__copy{max-width:720px;padding:6px 0 0 4%}
.house-garden__copy h2{font-size:clamp(35px,4vw,49px)}
.house-garden__copy>p:not(.eyebrow){font-size:13px}
.house-confirm{border-color:var(--line)}
.house-confirm h2{font-size:clamp(35px,4vw,49px);font-weight:400}
.house-confirm>div>p:not(.eyebrow){color:#656159;font-size:13px}
.house-rooms{padding-block:62px 82px}
.house-rooms h2{font-size:clamp(34px,3.8vw,47px)}
.house-rooms>p:not(.eyebrow){color:#656159;font-size:12px}
.rooms-lead{padding-block:68px 42px}
.rooms-lead h2{font-size:clamp(36px,4vw,51px);font-weight:400}
.rooms-lead>p{max-width:560px;color:#5f5d57;font-size:13px}
.room-film{padding-bottom:46px}
.room-film__heading{max-width:760px;margin:0 0 21px}
.room-film__heading h2{font-size:clamp(36px,4vw,50px);font-weight:400}
.room-film__heading>p:not(.eyebrow){font-size:13px}
.room-film__frame{margin:0;overflow:hidden;border-radius:2px 24px 2px 24px;background:#222320}
.room-film__video{display:block;width:100%;max-height:590px;aspect-ratio:16/9;object-fit:cover;background:#222320}
.room-film__frame figcaption{display:flex;justify-content:space-between;gap:15px;padding:10px 14px;color:#f5f1e9bb;font:500 9px/1.5 "DM Mono",monospace;letter-spacing:.07em;text-transform:uppercase}
.room-sequence{width:min(1020px,calc(100% - 96px));padding-block:5px 25px}
.room-profile{margin:0;border-top:1px solid var(--line)}
.room-profile__copy{display:grid;grid-template-columns:145px minmax(250px,1fr) minmax(170px,.65fr);align-items:start;gap:10px 28px;width:100%;margin:0!important;padding:26px 2% 30px}
.room-profile__copy>.eyebrow{grid-column:1;grid-row:1;color:#786f63}
.room-profile__copy h2{grid-column:2/4;grid-row:1;margin:0;font-size:clamp(33px,3.6vw,47px);font-weight:400}
.room-profile__copy>p:not(.eyebrow){grid-column:2;grid-row:2;max-width:500px;margin:0;font-size:12px}
.room-tags{grid-column:3;grid-row:2;display:block;margin:0;padding:0 0 0 17px;border-left:1px solid var(--line);list-style:none}
.room-tags li{display:block;margin-bottom:6px;padding:0;color:#605d56;font-size:11px}
.room-tags li:before{top:7px;left:-17px;width:4px;height:4px;background:#8d8172}
.room-profile__copy .text-link{grid-column:2/4;grid-row:3;justify-self:start;margin-top:3px}
.room-profile--twin .room-profile__copy{padding-left:9%}
.room-profile--triple .room-profile__copy{padding-left:4%}
.room-amenities{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;padding-block:52px 72px;border-top:1px solid var(--line)}
.room-amenities__heading h2{font-size:clamp(34px,3.7vw,47px);font-weight:400}
.room-amenities__heading>p:not(.eyebrow){max-width:430px;font-size:12px}
.room-amenities__list{display:flex;flex-wrap:wrap;align-content:start;gap:9px 10px;padding-top:15px}
.room-amenities__list span{padding:11px 14px;border:1px solid var(--line);border-radius:2px 14px 2px 2px;background:#fffdf8;color:#55534e;font-size:11px}
.room-note{border-color:var(--line)}
.room-note h2{font-size:clamp(32px,3.5vw,44px);font-weight:400}
.room-note>p{color:#66635c}
.rooms-source p{color:#78746c}
.city-intro{padding-block:68px 52px}
.city-intro h2{font-size:clamp(36px,4vw,51px);font-weight:400}
.city-intro>div>p:not(.eyebrow){max-width:740px;font-size:13px}
.city-feature{grid-template-columns:.72fr 1.28fr;gap:48px;margin:0 auto 50px;padding:40px max(calc((100% - 1040px)/2),44px);background:var(--stone)}
.city-feature__aside{border-color:#d0c7bb}
.city-feature__word{font-family:var(--display);font-size:clamp(35px,4vw,50px);font-weight:400}
.city-feature__small{color:#736d64}
.city-feature__copy h2{font-size:clamp(36px,4vw,50px);font-weight:400}
.city-feature__copy>p:not(.eyebrow){color:#5d5b54;font-size:13px}
.city-links{display:flex;flex-wrap:wrap;gap:8px 20px}
.city-links a{color:#574f45;font-size:11px}
.villa-credit{margin:20px 0 10px;color:#79746c;font:500 9px/1.5 "DM Mono",monospace;letter-spacing:.03em}
.villa-credit a{color:#50483f;text-decoration:underline;text-underline-offset:3px}
.museum-socials{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px}
.museum-socials span{margin-right:6px;color:#827b70;font:500 9px/1.4 "DM Mono",monospace;letter-spacing:.07em;text-transform:uppercase}
.museum-socials a{padding:8px 11px;border:1px solid #cfc6ba;border-radius:2px 12px 2px 2px;color:#514b43;font-size:10px;transition:background .2s ease,transform .2s ease}
.museum-socials a:hover{transform:translateY(-2px);background:#f8f5ee}
.city-planning{padding-block:60px 70px}
.city-planning h2{font-size:clamp(34px,3.8vw,48px);font-weight:400}
.city-planning__list p{border-color:var(--line)}
.city-end{min-height:280px;background:#514b44;color:#fbf8f2}
.city-end h2{font-size:clamp(37px,4.5vw,56px);font-weight:400;color:#fbf8f2}
.city-end>p:not(.eyebrow){color:#f5f1e9d6}
.contact-hero{height:min(480px,48svh);min-height:355px;max-height:500px;background:#393733}
.contact-hero__shade{background:linear-gradient(90deg,#25262283,transparent 70%),linear-gradient(0deg,#252622bd,transparent 73%)}
.contact-hero__copy h1{color:#fffdfa;font-size:clamp(40px,4.3vw,55px);font-weight:400}
.contact-flow{padding-block:34px 70px}
.contact-methods,.contact-method{border-color:var(--line)}
.contact-method:hover{background:#eee9e1}
.contact-method .eyebrow{color:#766e63}
.contact-method strong{color:var(--ink);font-family:var(--body);font-weight:600}
.contact-method small{color:#756e64}
.contact-method__icon{color:#766e63}
.contact-request{background:var(--stone)}
.contact-request__intro h2{font-size:clamp(34px,3.6vw,46px);font-weight:400}
.contact-request__intro>p:not(.eyebrow){font-size:12px}
.contact-address__heading h2{font-size:clamp(36px,4vw,50px);font-weight:400}
.contact-address__heading address{color:#5b5953;font-size:13px}
.contact-address__route p{color:#706c65}
.map-frame{background:#e5dfd5}
body.motion-ready [data-reveal="up"]{transform:translateY(14px)}
body.motion-ready [data-reveal="left"]{transform:translateX(-14px)}
body.motion-ready [data-reveal="right"]{transform:translateX(14px)}
body.motion-ready [data-reveal="scale"]{transform:scale(.985) translateY(7px)}
body.motion-ready [data-reveal="photo"]{clip-path:inset(0 0 6% round 18px 2px 18px 2px)}
body.motion-ready [data-reveal="photo"].is-visible{clip-path:inset(0 round 18px 2px 18px 2px)}
.room-film__frame[data-reveal="photo"]{transition:clip-path .9s cubic-bezier(.22,.68,.21,1),opacity .55s ease}
.text-link,.site-nav>a:not(.nav-booking){text-decoration:none}
.site-intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#f2eee7;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .48s ease,visibility .48s step-end}
.intro-pending .site-intro{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .45s ease,visibility 0s}
.site-intro__content{display:flex;align-items:center;flex-direction:column;padding:24px;text-align:center;color:#302f2b}
.site-intro__place{margin:0 0 20px;color:#7a7267;font:500 9px/1.4 "DM Mono",monospace;letter-spacing:.17em}
.site-intro__name{font:400 clamp(44px,7vw,78px)/.9 var(--display);letter-spacing:-.035em}
.site-intro__owner{margin-top:8px;color:#716a61;font:500 10px/1.4 var(--body);letter-spacing:.22em;text-transform:uppercase}
.site-intro__line{display:block;width:50px;height:1px;margin-top:24px;background:#8d8172;transform:scaleX(0);transform-origin:left;animation:intro-line .7s .16s ease forwards}
.site-intro__skip{position:fixed;right:26px;bottom:24px;z-index:1001;padding:9px 13px;border:1px solid #c9c0b3;border-radius:2px 12px 2px 2px;background:#f7f4ee;color:#49453f;font:500 10px/1.2 var(--body);opacity:0;pointer-events:none;transition:opacity .2s ease}
.intro-pending .site-intro__skip{opacity:1;pointer-events:auto}
.site-intro__skip[hidden]{display:none}
@keyframes intro-line{to{transform:scaleX(1)}}
@media(max-width:1020px){
 .hero{height:min(610px,64svh)}.home-house__photo{width:73%}.home-house__copy{width:42%}
 .house-services{padding-inline:32px}.house-garden{width:var(--page)}
 .room-list__item{grid-template-columns:90px minmax(210px,1fr) minmax(140px,.8fr) 70px}
 .room-amenities{gap:30px}.location-note{padding-inline:40px}
}
@media(max-width:820px){
 .hero{height:59svh;min-height:420px;max-height:560px}.hero__copy{bottom:8%;left:6%;width:80%}.hero h1{font-size:clamp(45px,7vw,62px)}
 .home-house{min-height:0}.home-house__photo{height:365px}.home-house__copy{width:45%}
 .room-list__item{grid-template-columns:82px minmax(180px,1fr) minmax(120px,.75fr) 64px}
 .house-services__list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .house-garden{width:var(--page)}.house-garden__photo img{height:340px}
 .room-profile__copy{grid-template-columns:125px minmax(200px,1fr) minmax(145px,.7fr);gap:9px 18px}
 .room-profile--twin .room-profile__copy{padding-left:5%}
 .room-amenities{grid-template-columns:1fr;gap:12px}
 .city-feature{padding-inline:32px}.city-end{padding-inline:32px}
}
@media(max-width:600px){
 html{scroll-padding-top:72px}
 .hero{height:57svh;min-height:395px;max-height:490px}.hero__image{object-position:57% center}
 .hero__shade{background:linear-gradient(90deg,#25262267,transparent 100%),linear-gradient(0deg,#252622c2 0%,#25262217 67%)}
 .hero__meta{top:79px;left:18px;font-size:8px}.hero__copy{bottom:8%;left:18px;width:calc(100% - 36px)}
 .hero h1{max-width:390px;font-size:clamp(43px,11vw,54px);line-height:.96}.hero__copy>p:not(.eyebrow){max-width:290px;font-size:12px}
 .booking-wrap{margin-top:-21px}.welcome{padding-block:58px 46px}.welcome__copy h2{font-size:clamp(34px,9vw,42px)}
 .quick-facts{margin-bottom:57px}.quick-facts strong{font-size:27px}
 .home-house{margin-bottom:62px}.home-house__photo{width:100%;height:clamp(235px,66vw,315px)}
 .home-house__copy{width:88%;margin:-37px 0 0;padding:22px;border-radius:0 18px 0 18px}.home-house__copy h2{font-size:33px}
 .room-summary{padding-bottom:58px}.room-summary__heading h2{font-size:clamp(34px,9vw,42px)}
 .room-summary__visual{margin-bottom:20px;border-radius:2px 18px 2px 18px}.room-summary__visual img{height:clamp(205px,61vw,285px)}
 .room-summary__visual figcaption{align-items:flex-start;flex-direction:column;gap:2px;font-size:8px}
 .room-list__item{grid-template-columns:68px minmax(0,1fr) 62px;gap:8px;padding-block:14px}
 .room-list__name{font-size:20px}.room-list__detail{grid-column:2/4;grid-row:2;font-size:10px}.room-list__link{grid-column:3;grid-row:1;font-size:9px}
 .breakfast{margin-bottom:60px}.breakfast__photo{height:clamp(225px,65vw,300px)}.breakfast__copy h2{font-size:34px}
 .reviews{padding-bottom:60px}.reviews__heading h2{font-size:35px}.score-value{font-size:48px}
 .location-note{grid-template-columns:1fr;gap:15px;margin-bottom:0;padding:35px 22px}.location-note__label>span{font-size:28px}.location-note__copy h2{font-size:35px}
 .closing{min-height:280px;padding-block:55px}.closing h2{font-size:37px}
 .site-footer{padding:46px 20px 20px}
 .page-hero{height:43svh;min-height:310px;max-height:390px}.page-hero__copy h1{font-size:clamp(37px,9.3vw,48px)}
 .house-intro{padding-block:48px 40px}.house-intro h2{font-size:35px}
 .house-services{padding:42px 18px 48px}.house-services__heading h2{font-size:34px}.house-services__list{grid-template-columns:1fr}.house-service{min-height:90px;padding-block:14px}
 .house-garden{padding-block:44px 37px}.house-garden__photo img{height:clamp(220px,66vw,300px)}.house-garden__copy{padding-left:3%}.house-garden__copy h2{font-size:34px}
 .house-confirm{padding-block:38px}.house-confirm h2{font-size:34px}.house-rooms{padding-block:39px 50px}.house-rooms h2{font-size:34px}
 .rooms-lead{padding-block:47px 28px}.rooms-lead h2{font-size:35px}.rooms-lead>p{font-size:12px}
 .room-film{padding-bottom:34px}.room-film__heading h2{font-size:35px}.room-film__heading>p:not(.eyebrow){font-size:12px}.room-film__frame{border-radius:2px 18px 2px 18px}.room-film__video{aspect-ratio:4/3;object-fit:cover}.room-film__frame figcaption{align-items:flex-start;flex-direction:column;gap:4px;font-size:8px}
 .room-sequence{width:calc(100% - 36px);padding-bottom:8px}.room-profile__copy{grid-template-columns:1fr;gap:8px;padding:21px 2% 25px!important}
 .room-profile__copy>.eyebrow,.room-profile__copy h2,.room-profile__copy>p:not(.eyebrow),.room-tags,.room-profile__copy .text-link{grid-column:1;grid-row:auto}
 .room-profile__copy h2{font-size:clamp(31px,8.4vw,39px)}.room-profile__copy>p:not(.eyebrow){font-size:12px}.room-tags{margin-top:3px;padding-left:14px}.room-tags li{font-size:10px}
 .room-amenities{gap:5px;padding-block:38px 50px}.room-amenities__heading h2{font-size:35px}.room-amenities__list{gap:7px;padding-top:12px}.room-amenities__list span{padding:9px 11px;font-size:10px}
 .room-note{margin-bottom:40px}.room-note h2{font-size:32px}
 .city-intro{padding-block:48px 39px}.city-intro h2{font-size:35px}
 .city-feature{grid-template-columns:1fr;gap:14px;margin-bottom:35px;padding:27px 20px}.city-feature__aside{min-height:0;padding:0 0 13px;border-right:0;border-bottom:1px solid var(--line)}.city-feature__word{font-size:35px}
 .city-feature__copy h2{font-size:34px}.city-feature__copy>p:not(.eyebrow){font-size:12px}.city-planning{padding-block:43px 48px}.city-planning h2{font-size:34px}.city-end{min-height:260px;padding:42px 20px}.city-end h2{font-size:38px}
 .contact-hero{height:39svh;min-height:295px;max-height:355px}.contact-hero__copy h1{font-size:clamp(36px,9vw,46px)}
 .contact-request{background:var(--stone)}.contact-request__intro h2{font-size:33px}.contact-address__heading h2{font-size:36px}
 .site-intro__place{font-size:8px}.site-intro__skip{right:16px;bottom:16px}
}
@media(max-width:360px){
 .hero{min-height:390px}.hero h1{font-size:40px}.room-list__item{grid-template-columns:60px minmax(0,1fr) 58px}
 .room-list__name{font-size:18px}.room-amenities__list span{font-size:9px;padding-inline:9px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
 .site-intro{display:none!important}.site-intro__skip{display:none!important}
 body.motion-ready [data-reveal],body.motion-ready [data-reveal="photo"]{opacity:1!important;transform:none!important;clip-path:none!important}
}

/* 2026-11-03 · warm editorial system and page-specific compositions */
:root{
  --page:min(1120px,calc(100% - 96px));
  --paper:#f8f4ec;--white:#fffdf8;--stone:#efe6d9;--stone-deep:#dfcfba;
  --ink:#49392d;--ink-soft:#665546;--muted:#74685d;--line:#dbcebc;
  --accent:#a78358;--accent-deep:#76563a;--accent-pale:#f0e2ce;--booking:#76563a;
}
body{background:var(--paper);color:var(--ink)}
p{color:var(--muted)}
.eyebrow{color:#876746}
.eyebrow--light{color:#fff8eb}
::selection{background:#dfc8a5;color:var(--ink)}
:focus-visible{outline-color:#a78358}
.text-link{color:#76563a;background-image:linear-gradient(#a78358,#a78358)}
.text-link:hover{color:#49392d}
.site-header.is-solid{color:var(--ink);background:rgba(248,244,236,.97);box-shadow:0 1px 0 #76563a1b}
.site-header:not(.is-solid) .wordmark small{color:#fff8ebde}
.site-header:not(.is-solid) .nav-booking,.site-header.is-solid .nav-booking,.site-nav .nav-booking{border-color:#76563a;background:#76563a;color:#fffaf2}
.site-header:not(.is-solid) .nav-booking:hover,.site-header.is-solid .nav-booking:hover,.site-nav .nav-booking:hover{border-color:#94724c;background:#94724c;color:#fffaf2}
.button--accent,.button--dark{border-color:#76563a;background:#76563a;color:#fffaf2}
.button--accent:hover,.button--dark:hover{border-color:#94724c;background:#94724c;color:#fffaf2}
.button--paper{border-color:#fffaf2;background:#fffaf2;color:#49392d}
.button--outline{border-color:#94724c;color:#76563a}
.button--outline:hover{border-color:#76563a;background:#76563a;color:#fffaf2}
.site-header:not(.is-solid){background:linear-gradient(180deg,#3b30273b,transparent)}
.site-header.is-solid .wordmark small{color:#806d59}
.site-nav>a:not(.nav-booking):hover,.site-nav>a[aria-current=page]{color:#76563a}
.page-house .site-header{color:var(--ink);background:rgba(248,244,236,.97);box-shadow:0 1px 0 #76563a1b}
.page-house .site-header .wordmark small{color:#806d59}
.page-house .site-header .site-nav>a:not(.nav-booking),.page-house .site-header .menu-toggle{color:var(--ink);text-shadow:none}
.page-house .site-header .nav-booking{border-color:#76563a;background:#76563a;color:#fffaf2}
.page-house .site-header .nav-booking:hover{border-color:#94724c;background:#94724c;color:#fffaf2}
.hero,.page-hero,.contact-hero{background:#8b755c}
.hero__shade,.page-hero__shade,.contact-hero__shade{background:linear-gradient(90deg,#33271f9c 0%,#33271f38 54%,transparent 100%),linear-gradient(0deg,#33271fbb 0%,transparent 78%)}
.hero__meta{color:#fff8ebdd}
.booking-bar{border-color:#e4d7c5;background:#fffdf8}
.booking-field{border-color:#dbcebc}
.booking-field input,.booking-field select{color:var(--ink)}
.form-feedback{color:#76563a}
.location-note{background:#eee1cd;color:var(--ink)}
.location-note .eyebrow{color:#76563a}
.location-note__copy p{color:#665546}
.location-note__copy h2{color:#49392d}
.location-note .button--paper{border-color:#fffaf2;background:#fffaf2;color:#49392d}
.location-note .button--paper:hover{background:#f6ecdc}
.site-footer{border-top:4px solid #a78358;background:#e9ddca;color:#49392d}
.site-footer p,.site-footer a{color:#594838}
.wordmark--footer span{color:#49392d}.wordmark--footer small{color:#806d59}
.footer-links a,.footer-contact>a{color:#594838;background-image:linear-gradient(#a78358,#a78358)}
.footer-legal{border-color:#49392d2b;color:#73624e}
.footer-legal span:last-child{color:#73624e}
.footer-links .eyebrow,.footer-contact .eyebrow{color:#876746}

/* La casa: starts with an editorial note; the interior photograph comes later. */
.house-masthead{position:relative;display:grid;grid-template-columns:.42fr 1fr;gap:clamp(36px,7vw,92px);align-items:stretch;padding-block:clamp(104px,13vw,158px) 82px;isolation:isolate}
.house-masthead:after{position:absolute;z-index:-1;top:80px;right:-2vw;width:min(30vw,370px);height:min(30vw,370px);border:1px solid #a7835833;border-radius:50%;content:""}
.house-masthead__meta{display:flex;flex-direction:column;align-items:flex-start;gap:19px;padding:9px 20px 5px 0;border-right:1px solid var(--line)}
.house-masthead__stamp{display:grid;width:78px;height:78px;place-items:center;margin-top:auto;border-radius:50%;background:#eadbc6;color:#76563a}
.house-masthead__stamp svg{width:39px;height:39px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .55s cubic-bezier(.2,.75,.2,1)}
.house-masthead__meta:hover .house-masthead__stamp svg{transform:translateY(-3px) rotate(-4deg)}
.house-masthead__caption{color:#806d59;font:500 9px/1.6 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.house-masthead__copy{max-width:770px;align-self:center}
.house-masthead__copy h1{max-width:740px;margin:0 0 20px;font:400 clamp(48px,6.4vw,78px)/.98 var(--display);letter-spacing:-.035em}
.house-masthead__copy h1 em{color:#8b6b49;font-family:var(--title);font-size:.77em;font-weight:400}
.house-masthead__copy>p{max-width:590px;font-size:14px}
.house-masthead__copy .text-link{margin-top:23px}
.house-services{padding:72px max(calc((100% - 1120px)/2),48px) 84px;background:#efe6d9}
.house-services__heading{grid-template-columns:.7fr 1.3fr;gap:38px;align-items:start;margin-bottom:31px}
.house-services__heading .eyebrow{padding-top:10px}
.house-services__heading h2{max-width:720px;font:400 clamp(36px,4.5vw,56px)/1.02 var(--title);letter-spacing:-.03em}
.house-services__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;border:0}
.house-service,.house-service:last-child{position:relative;display:grid;grid-template-columns:45px 1fr;grid-template-rows:auto auto auto;gap:4px 13px;min-height:155px;padding:21px 18px 18px;border:1px solid #dbcebc;border-radius:20px 4px 20px 4px;background:#fffaf3;box-shadow:0 9px 24px #49392d08;transition:transform .3s ease,background-color .3s ease,box-shadow .3s ease}
.house-service:nth-child(2),.house-service:nth-child(5){border-radius:4px 20px 4px 20px;background:#f3eee1}
.house-service:nth-child(3),.house-service:nth-child(6){background:#f6eee6}
.house-service:hover{transform:translateY(-4px);background:#fffdf8;box-shadow:0 15px 30px #49392d12}
.house-service>span:first-child{grid-column:2;grid-row:1;color:#8b6b49;font-size:8px}
.house-service h3{grid-column:2;grid-row:2;align-self:start;margin:2px 0;color:#49392d;font:600 16px/1.3 var(--body);letter-spacing:-.02em}
.house-service p{grid-column:2;grid-row:3;margin:0;color:#74685d;font-size:10px}
.service-symbol{grid-column:1;grid-row:1/4;display:grid;width:39px;height:39px;place-items:center;margin:4px 0 0;border:0;border-radius:13px 4px 13px 4px;background:#eadbc6;color:#76563a}
.house-service:nth-child(2) .service-symbol,.house-service:nth-child(5) .service-symbol{background:#e4e3d3;color:#6d7255}
.house-service:nth-child(3) .service-symbol,.house-service:nth-child(6) .service-symbol{background:#efddd0;color:#8b6445}
.service-symbol svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.house-interior{padding:77px 0 27px}
.house-interior__photo{position:relative;width:min(1050px,calc(100% - 96px));height:clamp(300px,42vw,505px);margin-left:auto;margin-right:max(calc((100% - 1220px)/2),28px);overflow:hidden;border-radius:3px 27px 3px 27px;background:#e4d8c7}
.house-interior__photo img{width:100%;height:100%;object-fit:cover;object-position:center 56%;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.house-interior__photo:hover img{transform:scale(1.018)}
.house-interior__photo figcaption{position:absolute;right:17px;bottom:17px;left:17px;display:flex;justify-content:space-between;gap:14px;padding:11px 14px;border-radius:3px 14px 3px 3px;background:#fffaf2ec;color:#594838}
.house-interior__photo figcaption span:first-child{font:400 21px/1.2 var(--title)}
.house-interior__photo figcaption span:last-child{align-self:center;color:#806d59;font:500 8px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.house-interior__note{width:min(410px,calc(100% - 96px));margin:17px 9% 0 auto;color:#766554;font:400 17px/1.5 var(--title)}
.house-garden{display:grid;grid-template-columns:1fr;gap:0;padding-block:58px 82px}
.house-garden__photo{width:67%;margin:0 auto 0 0}
.house-garden__photo img{height:clamp(245px,33vw,380px);border-radius:22px 3px 22px 3px}
.house-garden__photo figcaption{padding:9px 3px 0;color:#806d59}
.house-garden__copy{position:relative;width:min(590px,57%);max-width:none;margin:-29px 4% 0 auto;padding:24px 29px;border-radius:3px 20px 3px 20px;background:#e8e9dd}
.house-garden__copy h2{font:400 clamp(32px,3.8vw,46px)/1.03 var(--title)}
.house-garden__copy>p:not(.eyebrow){font-size:12px}
.house-confirm{max-width:none;width:100%;grid-template-columns:.55fr 1fr;gap:50px;padding:64px max(calc((100% - 1040px)/2),48px);background:#eadbc6;border:0}
.house-confirm .eyebrow{align-self:start;padding-top:8px}
.house-confirm h2{font:400 clamp(34px,4vw,48px)/1.02 var(--title)}
.house-confirm>div>p:not(.eyebrow){font-size:12px}
.house-rooms{border:0;padding-block:54px 78px}
.house-rooms h2{font:400 clamp(33px,3.8vw,47px)/1.05 var(--display)}
.house-rooms .text-link{color:#76563a}

/* Camere: varied room cards, clear pictograms and verified details. */
.rooms-lead{padding-block:72px 52px}
.rooms-lead h2{font:400 clamp(36px,4.3vw,53px)/1.03 var(--title)}
.rooms-lead>p{max-width:580px;color:#6d5f51;font-size:12px}
.room-film__heading h2{font-family:var(--display);font-weight:400}
.room-sequence{width:min(1080px,calc(100% - 96px));padding:0}
.room-profile{--room-tone:#8a6846;--room-wash:#f1e7d8;position:relative;width:100%;margin:0 0 22px!important;padding:32px 38px;border:1px solid #e0d2bf;border-radius:25px 5px 25px 5px;background:var(--room-wash);transition:transform .35s ease,box-shadow .35s ease}
.room-profile:hover{transform:translateY(-3px);box-shadow:0 17px 35px #49392d12}
.room-profile--double{--room-tone:#896746;--room-wash:#f2e8d9}
.room-profile--twin{--room-tone:#69725d;--room-wash:#ebeddf;width:91%;margin-left:auto!important;border-radius:5px 25px 5px 25px}
.room-profile--triple{--room-tone:#8a6950;--room-wash:#efe2d5;width:96%;margin-left:4%!important;border-radius:5px 5px 25px 5px}
.room-profile__copy{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(210px,.56fr);grid-template-rows:auto auto auto auto;align-items:start;gap:9px 23px;width:100%!important;margin:0!important;padding:0!important}
.room-profile__icon{grid-column:1;grid-row:1/5;display:grid;width:58px;height:58px;place-items:center;margin-top:5px;border-radius:18px 5px 18px 5px;background:#fffaf3;color:var(--room-tone);transition:transform .4s cubic-bezier(.2,.75,.2,1),background-color .3s ease}
.room-profile__icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.room-profile:hover .room-profile__icon{transform:translateY(-3px) rotate(-3deg);background:#fffdf8}
.room-profile__copy>.eyebrow{grid-column:2;grid-row:1;color:var(--room-tone);font-size:9px}
.room-profile__copy h2{grid-column:2/4;grid-row:2;margin:0;color:#49392d;font:400 clamp(34px,4vw,49px)/1.02 var(--title);letter-spacing:-.025em}
.room-profile--twin .room-profile__copy h2{font-family:var(--display);font-style:italic}
.room-profile--triple .room-profile__copy h2{font-family:var(--title);font-weight:500}
.room-profile__copy>p:not(.eyebrow){grid-column:2;grid-row:3;max-width:470px;margin:0;color:#6d5f51;font-size:12px}
.room-tags{grid-column:3;grid-row:3;display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin:0;padding:0;border:0;list-style:none}
.room-tags li{display:inline-flex;align-items:center;gap:7px;margin:0;padding:7px 11px;border:1px solid color-mix(in srgb,var(--room-tone) 22%,transparent);border-radius:13px 4px 13px 4px;background:#fffaf3;color:var(--room-tone);font-size:10px;line-height:1.3;white-space:normal}
.room-tags li:before{display:none}
.room-tags li svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.room-tags li:nth-child(2){margin-left:12px;border-radius:4px 13px 4px 13px;background:#f7f1e8}
.room-profile__copy .text-link{grid-column:2/4;grid-row:4;justify-self:start;margin-top:3px;color:var(--room-tone);background-image:linear-gradient(var(--room-tone),var(--room-tone))}
.room-amenities{grid-template-columns:.82fr 1.18fr;gap:46px;padding-block:63px 55px;border:0}
.room-amenities__heading h2{font:400 clamp(35px,4.2vw,50px)/1.03 var(--display)}
.room-amenities__heading>p:not(.eyebrow){font-size:12px}
.room-amenities__list{gap:9px;padding-top:12px}
.room-amenities__list span{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border-color:#ddcebb;border-radius:14px 4px 14px 4px;background:#fffaf3;color:#665343;font-size:11px;transition:transform .25s ease,background .25s ease}
.room-amenities__list span:nth-child(2n){border-radius:4px 14px 4px 14px;background:#efe6d9}
.room-amenities__list span:hover{transform:translateY(-3px);background:#f5e8d4}
.room-amenities__list svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:#8a6846;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.room-note{grid-template-columns:.75fr 1fr auto;gap:22px;align-items:center;margin-bottom:14px;padding:23px 25px;border:1px solid #ded0bd;border-radius:22px 4px 22px 4px;background:#f1e7d8}
.room-note h2{font:400 clamp(31px,3.4vw,42px)/1.02 var(--title)}
.room-note>p{font-size:11px}
.room-note--view{margin-bottom:52px;background:#e9ebdf;border-radius:4px 22px 4px 22px}
.room-note--view h2{font-family:var(--display);font-style:italic}
.room-note--view .text-link{justify-self:start}
.rooms-source{padding-bottom:62px}.rooms-source p{font-size:10px}

/* Cinisello keeps the Villa image; its lower sections gain place-based color and pictograms. */
.city-intro{padding-block:72px 55px}
.city-intro h2{font:400 clamp(38px,4.3vw,52px)/1.02 var(--display)}
.city-feature{grid-template-columns:.68fr 1.32fr;gap:52px;margin-bottom:48px;padding:48px max(calc((100% - 1040px)/2),48px);background:#e7e9dc}
.city-feature__aside{border-color:#c6c9b4}
.city-feature__word{color:#5d624a;font:400 clamp(36px,4.2vw,50px)/.98 var(--display);letter-spacing:-.04em}
.city-feature__small{color:#74755f}
.city-feature__copy h2{font:400 clamp(37px,4.2vw,51px)/1.02 var(--title)}
.city-feature__copy>p:not(.eyebrow){font-size:13px}
.city-links a{display:inline-flex;margin-top:8px;padding:9px 12px;border:1px solid #c9c8b5;border-radius:13px 4px 13px 4px;background:#f5f4ea;color:#596047;font-size:10px;transition:transform .25s ease,background .25s ease}
.city-links a:hover{transform:translateY(-2px);background:#fffdf6}
.villa-credit{color:#797663}
.villa-credit a{color:#5e624c}
.museum-socials a{border-color:#c9c8b5;background:#f5f4ea;color:#596047}
.museum-socials a:hover{background:#fffdf6}
.city-planning{grid-template-columns:.8fr 1.2fr;gap:58px;padding-block:58px 78px}
.city-planning h2{font:400 clamp(37px,4vw,49px)/1.03 var(--display)}
.city-planning__list{display:grid;gap:10px;border:0}
.city-planning__list p{grid-template-columns:42px 115px minmax(0,1fr);gap:13px;align-items:center;margin:0;padding:16px 17px;border:1px solid #dfd5c3;border-radius:16px 4px 16px 4px;background:#f4ecdf;transition:transform .28s ease,box-shadow .28s ease}
.city-planning__list p:nth-child(2){margin-left:18px;border-radius:4px 16px 4px 16px;background:#edf0e4}
.city-planning__list p:nth-child(3){margin-left:36px;background:#f2e8db}
.city-planning__list p:hover{transform:translateX(4px);box-shadow:0 10px 22px #49392d0d}
.city-plan-icon{grid-column:1;grid-row:1;display:grid;width:36px;height:36px;place-items:center;border-radius:12px 4px 12px 4px;background:#e6d5bc;color:#76563a;transition:transform .3s ease}
.city-planning__list p:nth-child(2) .city-plan-icon{background:#dce2d0;color:#687050}
.city-planning__list p:nth-child(3) .city-plan-icon{background:#ead5c3;color:#876244}
.city-plan-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.city-planning__list p:hover .city-plan-icon{transform:rotate(-5deg) scale(1.05)}
.city-planning__list strong{grid-column:2;grid-row:1;color:#594838;font:500 18px/1.2 var(--title)}
.city-planning__list span:last-child{grid-column:3;grid-row:1;color:#74685d;font-size:10px}
.city-end{position:relative;min-height:310px;overflow:hidden;background:linear-gradient(118deg,#947857,#7c6448);color:#fffaf2}
.city-end:before{position:absolute;top:-140px;right:7%;width:360px;height:360px;border:1px solid #fff8eb45;border-radius:50%;content:""}
.city-end>*{position:relative}
.city-end h2{font:400 clamp(39px,4.5vw,56px)/1.02 var(--display);color:#fffaf2}
.city-end>p:not(.eyebrow){color:#fff8ebdf}
.city-end .button--accent{border-color:#fff8eb;background:#fff8eb;color:#594838}
.city-end .button--accent:hover{background:#f3e4cf}

/* Contatti: compact colored contact cards and a consistent wayfinding action. */
.contact-hero{background:#80664a}
.contact-hero__shade{background:linear-gradient(90deg,#35271d8f 0%,#35271d23 75%),linear-gradient(0deg,#35271db8 0%,transparent 72%)}
.contact-flow{max-width:1040px;padding-block:44px 70px}
.contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0}
.contact-method{grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto auto;gap:5px 12px;align-content:start;min-height:148px;padding:20px 17px;border:1px solid #ded0bd;border-radius:17px 4px 17px 4px;background:#f3eadc;transition:transform .28s ease,box-shadow .28s ease,background .28s ease}
.contact-method:nth-child(2){border-radius:4px 17px 4px 17px;background:#edf0e4}
.contact-method:nth-child(3){background:#f2e5d9}
.contact-method:hover{transform:translateY(-4px);padding-inline:17px;background:#fffaf2;box-shadow:0 14px 26px #49392d12}
.contact-method__icon{grid-column:1;grid-row:1/4;display:grid;width:38px;height:38px;place-items:center;border-radius:13px 4px 13px 4px;background:#e5d2b7;color:#76563a;transition:transform .3s ease}
.contact-method:nth-child(2) .contact-method__icon{background:#dce2d0;color:#687050}
.contact-method:nth-child(3) .contact-method__icon{background:#ead4c2;color:#876244}
.contact-method:hover .contact-method__icon{transform:rotate(-5deg) scale(1.04)}
.contact-method .eyebrow{grid-column:2;grid-row:1;color:#866746;font-size:8px}
.contact-method strong{grid-column:2;grid-row:2;color:#49392d;font:500 clamp(17px,2vw,22px)/1.18 var(--title)}
.contact-method:nth-child(2) strong{font-family:var(--body);font-size:14px;font-weight:600;overflow-wrap:anywhere}
.contact-method small{grid-column:2;grid-row:3;color:#806345;font-size:9px}
.contact-request{margin-top:46px;border:1px solid #e0d2bf;background:#efe6d9;border-radius:24px 5px 24px 5px}
.contact-request__intro h2{font:400 clamp(35px,4vw,49px)/1.02 var(--title)}
.form-label{border-color:#d7c6ae;background:#fffaf3;color:#806345}
.form-label input,.form-label select{color:#49392d}
.contact-address{padding-top:73px}
.contact-address__heading h2{font:400 clamp(39px,4.5vw,55px)/1 var(--display);color:#49392d}
.contact-address__heading address{color:#665546;font-size:13px}
.map-frame{height:390px;border:1px solid #e2d5c5;border-radius:24px 4px 24px 4px;background:#eee6dc}
.contact-address__route{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}
.contact-address__route p{max-width:470px;color:#74685d;font-size:11px}
.contact-address__route .button{flex:0 0 auto}

@media(max-width:1020px){
 .house-services{padding-inline:36px}
 .room-profile{padding:28px}
 .room-profile--twin{width:94%}
 .city-feature{padding-inline:36px}
 .city-planning{gap:36px}
 .contact-methods{gap:9px}
}
@media(max-width:820px){
 .house-masthead{grid-template-columns:.34fr 1fr;gap:28px;padding-block:106px 66px}
 .house-masthead:after{top:84px;right:0;width:30vw;height:30vw}
 .house-masthead__copy h1{font-size:clamp(46px,7vw,64px)}
 .house-services{padding:58px 28px 64px}
 .house-services__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .house-interior__photo{width:calc(100% - 56px);height:clamp(285px,48vw,420px);margin-right:18px}
 .house-interior__note{width:min(390px,calc(100% - 56px));margin-right:32px}
 .house-garden__photo{width:76%}
 .house-garden__copy{width:67%;margin-right:2%}
 .house-confirm{padding-inline:36px}
 .room-sequence{width:calc(100% - 56px)}
 .room-profile,.room-profile--twin,.room-profile--triple{width:100%;margin-left:0!important;padding:25px}
 .room-profile__copy{grid-template-columns:58px minmax(0,1fr) minmax(170px,.62fr);gap:8px 15px}
 .room-profile__icon{width:52px;height:52px}
 .room-profile__icon svg{width:38px;height:38px}
 .room-amenities{grid-template-columns:1fr;gap:10px}
 .room-note{grid-template-columns:.8fr 1fr;gap:10px 20px}
 .room-note .button,.room-note .text-link{grid-column:2;justify-self:start}
 .city-feature{grid-template-columns:.6fr 1.4fr;gap:30px;padding-inline:30px}
 .city-planning{grid-template-columns:1fr;gap:24px}
 .contact-methods{grid-template-columns:1fr;gap:8px}
 .contact-method{min-height:92px;grid-template-columns:40px 110px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:3px 13px}
 .contact-method__icon{grid-column:1;grid-row:1/3}
 .contact-method .eyebrow{grid-column:2;grid-row:1}
 .contact-method strong{grid-column:3;grid-row:1/3}
 .contact-method small{grid-column:2;grid-row:2}
}
@media(max-width:600px){
 .site-header:not(.is-solid) .nav-booking,.site-header.is-solid .nav-booking,.site-nav .nav-booking{background:#76563a;border-color:#76563a;color:#fffaf2}
 .house-masthead{grid-template-columns:1fr;gap:19px;padding-block:95px 47px}
 .house-masthead:after{top:82px;right:8px;width:43vw;height:43vw}
 .house-masthead__meta{flex-direction:row;align-items:center;gap:12px;padding:0 0 13px;border-right:0;border-bottom:1px solid var(--line)}
 .house-masthead__meta .eyebrow{font-size:8px}
 .house-masthead__stamp{width:43px;height:43px;margin:0 0 0 auto}
 .house-masthead__stamp svg{width:24px;height:24px}
 .house-masthead__caption{display:none}
 .house-masthead__copy h1{max-width:520px;margin-bottom:14px;font-size:clamp(44px,11vw,57px)}
 .house-masthead__copy>p{font-size:12px}
 .house-masthead__copy .text-link{margin-top:17px;font-size:11px}
 .house-services{padding:44px 18px 49px}
 .house-services__heading{grid-template-columns:1fr;gap:9px;margin-bottom:20px}
 .house-services__heading h2{font-size:36px}
 .house-services__list{grid-template-columns:1fr;gap:8px}
 .house-service,.house-service:nth-child(2),.house-service:nth-child(3),.house-service:nth-child(5),.house-service:nth-child(6){min-height:101px;padding:14px;border-radius:16px 4px 16px 4px}
 .house-service h3{font-size:14px}
 .house-service p{font-size:10px}
 .house-interior{padding-block:49px 10px}
 .house-interior__photo{width:calc(100% - 28px);height:clamp(230px,68vw,320px);margin-right:0;border-radius:3px 19px 3px 19px}
 .house-interior__photo figcaption{right:10px;bottom:10px;left:10px;padding:9px 10px}
 .house-interior__photo figcaption span:first-child{font-size:18px}
 .house-interior__photo figcaption span:last-child{max-width:130px;text-align:right;font-size:7px}
 .house-interior__note{width:calc(100% - 46px);margin:13px 18px 0 auto;font-size:15px}
 .house-garden{padding-block:39px 49px}
 .house-garden__photo{width:88%;margin-left:0}
 .house-garden__photo img{height:clamp(205px,61vw,280px)}
 .house-garden__copy{width:88%;margin:-19px 0 0 auto;padding:19px 18px}
 .house-garden__copy h2{font-size:33px}
 .house-confirm{grid-template-columns:1fr;gap:10px;padding:35px 22px}
 .house-confirm h2{font-size:35px}
 .house-rooms{grid-template-columns:1fr;gap:11px;padding-block:38px 48px}
 .house-rooms .eyebrow{grid-column:1}
 .house-rooms h2{font-size:35px}
 .house-rooms .text-link{justify-self:start}
 .rooms-lead{gap:12px;padding-block:48px 28px}
 .rooms-lead h2{font-size:37px}
 .room-film{padding-bottom:30px}
 .room-sequence{width:calc(100% - 28px)}
 .room-profile,.room-profile--twin,.room-profile--triple{padding:19px 17px;border-radius:19px 4px 19px 4px}
 .room-profile__copy{grid-template-columns:49px minmax(0,1fr);grid-template-rows:auto auto auto auto auto;gap:7px 11px}
 .room-profile__icon{grid-column:1;grid-row:1;width:45px;height:45px;margin:0}
 .room-profile__icon svg{width:34px;height:34px}
 .room-profile__copy>.eyebrow{grid-column:2;grid-row:1;align-self:center;font-size:8px}
 .room-profile__copy h2{grid-column:1/3;grid-row:2;font-size:clamp(31px,8.4vw,39px)}
 .room-profile__copy>p:not(.eyebrow){grid-column:1/3;grid-row:3;font-size:11px}
 .room-tags{grid-column:1/3;grid-row:4;gap:6px}
 .room-tags li{font-size:9px}
 .room-profile__copy .text-link{grid-column:1/3;grid-row:5;margin-top:2px;font-size:10px}
 .room-amenities{gap:5px;padding-block:39px 39px}
 .room-amenities__heading h2{font-size:36px}
 .room-amenities__list{gap:7px;padding-top:7px}
 .room-amenities__list span{padding:9px 10px;font-size:9px}
 .room-amenities__list svg{width:15px;height:15px;flex-basis:15px}
 .room-note{grid-template-columns:1fr;gap:7px;margin-bottom:9px;padding:17px;border-radius:17px 4px 17px 4px}
 .room-note h2{font-size:31px}
 .room-note .button,.room-note .text-link{grid-column:1;margin-top:4px}
 .room-note--view{margin-bottom:35px}
 .city-intro{padding-block:49px 38px}
 .city-intro h2{font-size:38px}
 .city-feature{grid-template-columns:1fr;gap:17px;margin-bottom:30px;padding:25px 20px}
 .city-feature__aside{min-height:0;padding:0 0 12px;border-right:0;border-bottom:1px solid #c6c9b4}
 .city-feature__word{font-size:38px}
 .city-feature__copy h2{font-size:36px}
 .city-feature__copy>p:not(.eyebrow){font-size:11px}
 .city-links{gap:7px}
 .city-links a{font-size:9px}
 .city-planning{padding-block:42px 50px}
 .city-planning h2{font-size:36px}
 .city-planning__list{gap:7px}
 .city-planning__list p,.city-planning__list p:nth-child(2),.city-planning__list p:nth-child(3){grid-template-columns:36px 1fr;gap:3px 10px;margin-left:0;padding:12px;border-radius:14px 4px 14px 4px}
 .city-plan-icon{grid-column:1;grid-row:1/3;width:32px;height:32px}
 .city-planning__list strong{grid-column:2;grid-row:1;font-size:17px}
 .city-planning__list span:last-child{grid-column:2;grid-row:2;font-size:9px}
 .city-end{min-height:260px;padding:40px 20px}
 .city-end h2{font-size:38px}
 .contact-flow{padding-block:28px 50px}
 .contact-method{min-height:86px;grid-template-columns:36px 95px minmax(0,1fr);gap:3px 9px;padding:14px 12px}
 .contact-method:hover{padding-inline:12px}
 .contact-method__icon{width:34px;height:34px}
 .contact-method strong{font-size:17px}
 .contact-method:nth-child(2) strong{font-size:12px}
 .contact-request{grid-template-columns:1fr;gap:18px;margin-top:33px;padding:20px;border-radius:19px 4px 19px 4px}
 .contact-request__intro h2{font-size:35px}
 .contact-address{padding-top:49px}
 .contact-address__heading h2{font-size:42px}
 .map-frame{height:300px;margin-top:16px;border-radius:18px 4px 18px 4px}
 .contact-address__route{align-items:flex-start;flex-direction:column;gap:12px}
 .contact-address__route .button{min-height:45px}
 .site-footer{padding:43px 18px 20px}
}
@media(max-width:380px){
 .house-masthead__meta{gap:8px}.house-masthead__meta .eyebrow{font-size:7px}
 .contact-method{grid-template-columns:32px 80px minmax(0,1fr);gap:3px 7px}
 .contact-method strong{font-size:15px}.contact-method:nth-child(2) strong{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 .house-masthead__stamp svg,.house-service,.room-profile,.room-profile__icon,.room-amenities__list span,.city-planning__list p,.city-plan-icon,.contact-method,.contact-method__icon{animation:none!important;transform:none!important}
}

/* Rifinitura dell’apertura e contrasto del marchio nella pagina editoriale */
.page-house .site-header:not(.is-solid) .wordmark{color:var(--ink);text-shadow:none}
.page-house .site-header:not(.is-solid) .wordmark small{color:#806d59}
.site-intro{background:radial-gradient(ellipse at 50% 43%,#fbf8f1 0%,#f2eee7 66%,#e9e0d3 100%)}
.site-intro__content{animation:intro-arrive .82s cubic-bezier(.2,.7,.2,1) both}
.site-intro__place{animation:intro-label .7s .08s ease both}
.site-intro__name{animation:intro-name .85s .12s cubic-bezier(.2,.7,.2,1) both}
.site-intro__owner{animation:intro-label .75s .24s ease both}
.site-intro__line{width:58px;background:#8b6b49;animation:intro-line .8s .38s cubic-bezier(.2,.7,.2,1) both}
@keyframes intro-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-label{from{opacity:0;letter-spacing:.12em}to{opacity:1;letter-spacing:.17em}}
@keyframes intro-name{from{opacity:0;transform:translateY(11px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){
 .site-intro__content,.site-intro__place,.site-intro__name,.site-intro__owner,.site-intro__line{animation:none!important}
}
.contact-method:nth-child(2){background:#efe6d9}
.contact-method:nth-child(2) .contact-method__icon{background:#e1ccb0;color:#76563a}
.contact-method:nth-child(3){background:#f1e8dd}
.contact-method:nth-child(3) .contact-method__icon{background:#e8d9c6;color:#76563a}

/* Rifinitura: meno riquadri, più spazio per immagini e contenuti. */
.nav-booking{min-height:36px;padding:7px 13px;border-radius:999px;font-size:10px;letter-spacing:.01em}
.site-header:not(.is-solid) .nav-booking{background:#fffaf2;border-color:#fffaf2;color:#4d493f}
.site-header.is-solid .nav-booking,.site-nav .nav-booking{background:#6b735c;border-color:#6b735c;color:#fffdf7}
.site-header.is-solid .nav-booking:hover,.site-nav .nav-booking:hover{background:#566049;border-color:#566049}
.hero__shade{background:linear-gradient(90deg,#1d1c19b8 0%,#1d1c196b 38%,#1d1c1914 78%),linear-gradient(0deg,#1d1c19d9 0%,#1d1c1954 36%,transparent 74%)}
.hero__copy h1,.hero__copy .eyebrow,.hero__copy>p:not(.eyebrow){text-shadow:0 2px 16px #17161374}
.hero__copy>p:not(.eyebrow){color:#fffdf8}

.house-masthead:after{display:none;content:none}
.house-masthead__meta{justify-content:space-between}
.house-masthead__caption{margin-top:auto}
.house-masthead__stamp{display:none}
.house-services{background:#f0eee7}
.house-services__heading h2{max-width:650px;font-family:var(--display)}
.house-services__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid #8c867a55}
.house-service,.house-service:last-child,.house-service:nth-child(2),.house-service:nth-child(3),.house-service:nth-child(5),.house-service:nth-child(6){grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto auto;gap:3px 15px;min-height:132px;padding:20px 20px 18px 4px;border:0;border-bottom:1px solid #8c867a55;border-radius:0;background:transparent;box-shadow:none}
.house-service:nth-child(odd){padding-right:34px;border-right:1px solid #8c867a38}
.house-service:nth-child(even){padding-left:24px}
.house-service:hover{transform:translateY(-2px);background:transparent;box-shadow:none}
.house-service>span:first-child{grid-column:2;grid-row:1;color:#827565;font-size:8px}
.house-service h3{grid-column:2;grid-row:2;margin:2px 0 4px;color:#49483f;font:500 17px/1.25 var(--title);letter-spacing:-.015em}
.house-service p{grid-column:2;grid-row:3;color:#6f6c61;font-size:10px}
.service-symbol,.house-service:nth-child(2) .service-symbol,.house-service:nth-child(3) .service-symbol,.house-service:nth-child(5) .service-symbol,.house-service:nth-child(6) .service-symbol{grid-column:1;grid-row:1/4;width:33px;height:33px;margin:2px 0 0;border-right:1px solid #a69a865c;border-radius:0;background:transparent;color:#786a55}
.service-symbol svg{width:21px;height:21px}
.house-interior__photo{width:min(930px,calc(100% - 150px));height:clamp(290px,39vw,470px)}
.house-interior__photo figcaption{right:0;bottom:0;left:0;padding:11px 15px;border-radius:0;background:#fffaf2e8}
.house-interior__photo figcaption span:first-child{font-size:18px}
.house-interior__photo figcaption span:last-child{display:none}
.house-interior__note{width:min(470px,calc(100% - 150px));margin-right:12%;font-size:16px}
.house-breakfast{padding:25px 0 68px;background:#f7f5ee}
.house-breakfast__photo{width:min(820px,72%);margin-left:8%;}
.house-breakfast__photo img{height:clamp(250px,35vw,430px);object-fit:cover;border-radius:3px 27px 3px 27px}
.house-breakfast__photo figcaption{padding:9px 4px 0;color:#777366;font:500 9px/1.5 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.house-breakfast__copy{width:min(570px,70%);margin:28px 9% 0 auto}
.house-breakfast__copy h2{max-width:530px;margin:10px 0 13px;color:#4e4a41;font:400 clamp(34px,4.1vw,48px)/1.03 var(--title)}
.house-breakfast__copy>p:not(.eyebrow){max-width:490px;color:#6e695f;font-size:12px}
.house-breakfast__copy .text-link{margin-top:16px}
.house-confirm{grid-template-columns:.4fr 1fr;gap:34px;background:#e8e6dc}
.house-confirm h2{max-width:650px;font-family:var(--display)}
.house-confirm>div>p:not(.eyebrow){max-width:670px}
.house-rooms{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:40px;align-items:center;margin-bottom:64px;padding:38px 44px;border-radius:3px 24px 3px 24px;background:#f1eee5}
.house-rooms__intro{max-width:560px}
.house-rooms h2{max-width:500px;margin:9px 0 10px}
.house-rooms__intro>p:not(.eyebrow){max-width:470px;margin-bottom:18px;font-size:12px}
.house-rooms .button{min-height:40px;padding:10px 15px;border-radius:999px;background:#6d725b;font-size:10px}
.house-rooms__sizes{display:flex;justify-content:space-between;gap:0;padding:15px 0;border-block:1px solid #918a7b66}
.house-rooms__sizes span{display:flex;align-items:baseline;gap:5px;padding:0 15px;border-right:1px solid #918a7b55;color:#5d5a50}
.house-rooms__sizes span:first-child{padding-left:0}
.house-rooms__sizes span:last-child{padding-right:0;border:0}
.house-rooms__sizes strong{font:400 clamp(36px,4.2vw,52px)/1 var(--display)}
.house-rooms__sizes small{font:500 10px/1.2 var(--mono);text-transform:uppercase}

.room-film{padding-bottom:54px}
.room-film__heading>p:not(.eyebrow){max-width:590px;margin-top:10px;color:#70685d;font-size:12px}
.room-film__frame{position:relative;border-radius:3px 23px 3px 23px;background:#25251f}
.room-film__video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#25251f}
.room-film__frame figcaption{display:none}
.room-film__replay{display:block;margin:13px 0 0 auto;padding:4px 0;border:0;border-bottom:1px solid #8b765d;border-radius:0;background:transparent;color:#6f5d48;font:600 10px/1.35 var(--body);cursor:pointer;transition:color .2s ease,border-color .2s ease}
.room-film__replay:hover{color:#4d6349;border-color:#4d6349}
.room-profile,.room-profile--double,.room-profile--twin,.room-profile--triple{width:100%;margin:0 0 28px!important;padding:30px 34px;border:0;border-top:1px solid #c9bdad;border-bottom:1px solid #c9bdad;border-radius:0;background:transparent;box-shadow:none;transition:background .3s ease}
.room-profile--double{--room-tone:#836d54;--room-wash:transparent}
.room-profile--twin{--room-tone:#69745e;--room-wash:transparent}
.room-profile--triple{--room-tone:#806954;--room-wash:transparent}
.room-profile:hover{transform:none;background:#f2eee6;box-shadow:none}
.room-profile__copy{grid-template-columns:minmax(140px,.48fr) minmax(0,1fr) minmax(190px,.7fr);grid-template-rows:auto auto auto;gap:8px 24px}
.room-profile__icon{display:none}
.room-profile__copy>.eyebrow{grid-column:1;grid-row:1;color:var(--room-tone)}
.room-profile__copy h2{grid-column:2/4;grid-row:1;margin:0;color:#49473f;font:400 clamp(34px,3.8vw,47px)/1.03 var(--title)}
.room-profile--twin .room-profile__copy h2{font-family:var(--display);font-style:normal}
.room-profile--triple .room-profile__copy h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em}
.room-profile__copy>p:not(.eyebrow){grid-column:2;grid-row:2;color:#6c685f;font-size:12px}
.room-tags{grid-column:3;grid-row:2;gap:8px}
.room-tags li,.room-tags li:nth-child(2){padding:7px 0;border:0;border-radius:0;background:transparent;color:#655b4e;font-size:10px}
.room-tags li svg{color:#718061}
.room-profile__copy .text-link{grid-column:2/4;grid-row:3;color:#68745c;background-image:linear-gradient(#68745c,#68745c)}
.room-amenities{grid-template-columns:1fr;gap:11px;padding-block:53px 65px}
.room-amenities__heading{max-width:680px}
.room-amenities__heading h2{font-family:var(--title)}
.room-amenities__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px;padding-top:10px;border-top:1px solid #cfc4b4}
.room-amenities__list span,.room-amenities__list span:nth-child(2n){display:flex;align-items:center;gap:11px;min-width:0;padding:13px 2px;border:0;border-bottom:1px solid #cfc4b4;border-radius:0;background:transparent;color:#59574f;font-size:11px;transition:color .2s ease,transform .2s ease}
.room-amenities__list span:hover{transform:translateX(3px);background:transparent;color:#5a7150}
.room-amenities__list svg{width:18px;height:18px;flex:0 0 18px;stroke:#718061}
.room-note{grid-template-columns:.75fr 1fr auto;gap:24px;margin:0 0 17px;padding:24px 4px;border:0;border-top:1px solid #c9bdad;border-bottom:1px solid #c9bdad;border-radius:0;background:transparent}
.room-note--view{margin-bottom:48px;border-color:#b9c2ae}
.room-note h2{font-family:var(--display);font-style:normal}
.room-note>p{color:#69665d;font-size:11px}
.room-note .button--accent{min-height:39px;padding:10px 15px;border-radius:999px;background:#6d725b;font-size:10px}

.city-intro{display:block;max-width:860px;padding-block:75px 55px}
.city-intro>div{max-width:810px}
.city-intro .eyebrow{margin-bottom:9px}
.city-intro h2{max-width:740px;margin:0 0 13px;font-family:var(--title)}
.city-intro>div>p:not(.eyebrow){max-width:660px;color:#626555;font-size:12px}
.city-feature{display:block;margin:0;padding:0 0 72px;background:transparent}
.city-feature__aside{display:none}
.city-feature__photo{width:min(1000px,82%);margin:0 auto}
.city-feature__photo img{height:clamp(300px,43vw,510px);object-fit:cover;object-position:center;border-radius:3px 28px 3px 28px}
.city-feature__photo figcaption{padding:9px 2px 0;color:#6c715d;font:500 9px/1.5 var(--mono);letter-spacing:.05em}
.city-feature__copy{width:min(650px,66%);max-width:none;margin:25px 8% 0 auto}
.city-feature__copy h2{max-width:600px;margin:8px 0 11px;font-family:var(--display);font-weight:400}
.city-feature__copy>p:not(.eyebrow){color:#626555;font-size:12px}
.city-links{flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:17px}
.city-links a{margin:0;padding:6px 0;border:0;border-bottom:1px solid #8c9275;border-radius:0;background:transparent;color:#59634d;font-size:10px}
.city-links a:hover{transform:translateY(-1px);background:transparent}
.museum-socials{margin-top:14px;color:#6b6c60}
.museum-socials a{padding:3px 0;border:0;border-bottom:1px solid #9ca18e;border-radius:0;background:transparent;color:#59634d}
.city-planning{grid-template-columns:1fr;gap:24px;padding-block:35px 75px}
.city-planning h2{max-width:700px;margin:7px 0 0;font-family:var(--title)}
.city-planning__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #b8c1ad}
.city-planning__list p,.city-planning__list p:nth-child(2),.city-planning__list p:nth-child(3){grid-template-columns:32px 1fr;grid-template-rows:auto auto;gap:5px 10px;margin:0;padding:19px 16px 17px 0;border:0;border-right:1px solid #c9cabb;border-bottom:1px solid #b8c1ad;border-radius:0;background:transparent;transition:transform .25s ease}
.city-planning__list p:nth-child(2),.city-planning__list p:nth-child(3){padding-left:16px}
.city-planning__list p:last-child{border-right:0}
.city-planning__list p:hover{transform:translateY(-2px);box-shadow:none}
.city-plan-icon,.city-planning__list p:nth-child(2) .city-plan-icon,.city-planning__list p:nth-child(3) .city-plan-icon{grid-column:1;grid-row:1/3;width:27px;height:27px;border-radius:0;background:transparent;color:#657158}
.city-plan-icon svg{width:20px;height:20px}
.city-planning__list strong{grid-column:2;grid-row:1;color:#525a48;font:500 18px/1.15 var(--display)}
.city-planning__list span:last-child{grid-column:2;grid-row:2;color:#6a6c5c;font-size:10px}
.city-end{position:relative;min-height:285px;overflow:hidden;background:#5f6c55;color:#fffdf6}
.city-end:before{display:none;content:none}
.city-end h2{max-width:680px;font:400 clamp(36px,4.2vw,52px)/1.04 var(--title);color:#fffdf6}
.city-end>p:not(.eyebrow){color:#f1f1e8;font-size:12px}
.city-end .button--accent{min-height:40px;padding:10px 16px;border:1px solid #f4f1e7;border-radius:999px;background:#f4f1e7;color:#525f49;font-size:10px}
.city-end .button--accent:hover{background:#fff}

.page-contact .contact-hero{background:#66715f}
.page-contact .contact-hero__shade{background:linear-gradient(90deg,#30372f9e 0%,#30372f35 75%),linear-gradient(0deg,#30372fc2 0%,transparent 72%)}
.page-contact .contact-method{border-color:#d5d5c6;background:#f3f0e7}
.page-contact .contact-method:nth-child(2){border-color:#d1d8c7;background:#e9eee4}
.page-contact .contact-method:nth-child(3){border-color:#d5d5c6;background:#f1eee7}
.page-contact .contact-method__icon,.page-contact .contact-method:nth-child(3) .contact-method__icon{background:#e4e6da;color:#647056}
.page-contact .contact-method:nth-child(2) .contact-method__icon{background:#dce4d5;color:#5f7053}
.page-contact .contact-method .eyebrow,.page-contact .contact-method small{color:#667158}
.page-contact .contact-method strong{color:#464a40}
.page-contact .contact-method:hover{background:#fafbf7;box-shadow:0 14px 26px #41493512}
.page-contact .contact-request{border-color:#d6dccf;background:#edf0e8}
.page-contact .contact-request__intro h2,.page-contact .contact-address__heading h2{color:#484d42}
.page-contact .form-label{border-color:#d4d9cd;background:#fbfbf7;color:#69715d}
.page-contact .form-label input,.page-contact .form-label select{color:#484d42}
.page-contact .contact-address__route .button{border-radius:999px;background:#67745b;color:#fffdf6}
.page-contact .map-frame{border-color:#d9dfd2;background:#ecefe7}

@media(max-width:820px){
 .house-masthead__meta{min-height:90px}
 .house-services{padding-inline:28px}
 .house-interior__photo{width:calc(100% - 70px);margin-right:35px}
 .house-interior__note{width:calc(100% - 90px);margin-right:45px}
 .house-breakfast__photo{width:82%;margin-left:6%}
 .house-breakfast__copy{width:74%;margin-right:7%}
 .house-rooms{grid-template-columns:1fr;gap:22px;margin-bottom:46px;padding:30px}
 .house-rooms__sizes{max-width:500px}
 .room-profile__copy{grid-template-columns:minmax(115px,.44fr) minmax(0,1fr);grid-template-rows:auto auto auto auto}
 .room-profile__copy>.eyebrow{grid-column:1;grid-row:1}
 .room-profile__copy h2{grid-column:2;grid-row:1}
 .room-profile__copy>p:not(.eyebrow){grid-column:2;grid-row:2}
 .room-tags{grid-column:2;grid-row:3;flex-direction:row;flex-wrap:wrap;margin-top:4px}
 .room-profile__copy .text-link{grid-column:2;grid-row:4}
 .room-amenities__list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .room-note{grid-template-columns:1fr 1.2fr;gap:12px 22px}
 .room-note .button,.room-note .text-link{grid-column:2;justify-self:start}
 .city-feature__photo{width:90%}
 .city-feature__copy{width:76%;margin-right:7%}
 .city-planning__list{grid-template-columns:1fr}
 .city-planning__list p,.city-planning__list p:nth-child(2),.city-planning__list p:nth-child(3){grid-template-columns:32px 120px 1fr;grid-template-rows:auto;align-items:center;padding:13px 3px}
 .city-planning__list p:nth-child(2),.city-planning__list p:nth-child(3){padding-left:3px}
 .city-planning__list p:last-child{border-right:0}
 .city-plan-icon{grid-column:1;grid-row:1}
 .city-planning__list strong{grid-column:2;grid-row:1}
 .city-planning__list span:last-child{grid-column:3;grid-row:1}
}
@media(max-width:600px){
 .nav-booking{min-height:39px;padding:8px 13px}
 .house-masthead{gap:18px}
 .house-masthead__meta{min-height:0;align-items:flex-start;padding-bottom:13px}
 .house-masthead__caption{max-width:190px;margin-top:0;font-size:8px;text-align:right}
 .house-services{padding:45px 20px 48px}
 .house-services__list{grid-template-columns:1fr}
 .house-service,.house-service:last-child,.house-service:nth-child(2),.house-service:nth-child(3),.house-service:nth-child(5),.house-service:nth-child(6){min-height:98px;padding:14px 0}
 .house-service:nth-child(odd),.house-service:nth-child(even){padding-inline:0;border-right:0}
 .house-service h3{font-size:16px}
 .house-interior{padding-top:38px}
 .house-interior__photo{width:calc(100% - 36px);height:clamp(220px,65vw,320px);margin:0 18px;border-radius:3px 18px 3px 18px}
 .house-interior__note{width:calc(100% - 54px);margin:12px 18px 0 auto;font-size:14px}
 .house-garden{padding-block:35px 45px}
 .house-breakfast{padding:16px 0 45px}
 .house-breakfast__photo{width:calc(100% - 36px);margin-left:18px}
 .house-breakfast__photo img{height:clamp(205px,62vw,300px);border-radius:3px 18px 3px 18px}
 .house-breakfast__copy{width:calc(100% - 52px);margin:20px 18px 0 auto}
 .house-breakfast__copy h2{font-size:34px}
 .house-confirm{grid-template-columns:1fr;gap:9px;padding:36px 22px}
 .house-confirm h2{font-size:34px}
 .house-rooms{gap:18px;margin-bottom:34px;padding:22px 18px;border-radius:3px 18px 3px 18px}
 .house-rooms h2{font-size:34px}
 .house-rooms__sizes span{gap:3px;padding-inline:9px}
 .house-rooms__sizes strong{font-size:36px}
 .house-rooms__sizes small{font-size:8px}
 .room-film__video{aspect-ratio:4/3}
 .room-film__replay{font-size:10px}
 .room-profile,.room-profile--double,.room-profile--twin,.room-profile--triple{margin-bottom:18px!important;padding:19px 4px}
 .room-profile__copy{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;gap:8px}
 .room-profile__copy>.eyebrow{grid-column:1;grid-row:1}
 .room-profile__copy h2{grid-column:1;grid-row:2;font-size:33px}
 .room-profile__copy>p:not(.eyebrow){grid-column:1;grid-row:3;font-size:11px}
 .room-tags{grid-column:1;grid-row:4;margin-top:2px}
 .room-profile__copy .text-link{grid-column:1;grid-row:5;margin-top:1px}
 .room-amenities{padding-block:38px 42px}
 .room-amenities__heading h2{font-size:34px}
 .room-amenities__list{grid-template-columns:1fr;gap:0}
 .room-amenities__list span,.room-amenities__list span:nth-child(2n){padding:10px 0;font-size:10px}
 .room-note,.room-note--view{grid-template-columns:1fr;gap:8px;margin-bottom:15px;padding:18px 3px}
 .room-note h2{font-size:30px}
 .room-note .button,.room-note .text-link{grid-column:1;margin-top:2px}
 .room-note--view{margin-bottom:38px}
 .city-intro{padding-block:47px 37px}
 .city-intro h2{font-size:35px}
 .city-feature{padding-bottom:48px}
 .city-feature__photo{width:calc(100% - 36px)}
 .city-feature__photo img{height:clamp(220px,65vw,330px);border-radius:3px 18px 3px 18px}
 .city-feature__photo figcaption{font-size:8px}
 .city-feature__copy{width:calc(100% - 52px);margin:18px 18px 0 auto}
 .city-feature__copy h2{font-size:34px}
 .city-links{flex-direction:column;align-items:flex-start;gap:5px}
 .city-planning{gap:16px;padding-block:22px 46px}
 .city-planning h2{font-size:34px}
 .city-planning__list p,.city-planning__list p:nth-child(2),.city-planning__list p:nth-child(3){grid-template-columns:29px 100px 1fr;gap:7px;padding-block:11px}
 .city-plan-icon{width:24px;height:24px}
 .city-planning__list strong{font-size:16px}
 .city-planning__list span:last-child{font-size:9px}
 .city-end{min-height:250px;padding:36px 21px}
 .city-end h2{font-size:35px}
 .contact-methods{grid-template-columns:1fr}
 .page-contact .contact-method{min-height:115px}
 .page-contact .contact-request{padding:20px}
}
@media(max-width:380px){
 .city-planning__list p,.city-planning__list p:nth-child(2),.city-planning__list p:nth-child(3){grid-template-columns:27px 1fr;grid-template-rows:auto auto;gap:3px 8px}
 .city-plan-icon{grid-column:1;grid-row:1/3}
 .city-planning__list strong{grid-column:2;grid-row:1}
 .city-planning__list span:last-child{grid-column:2;grid-row:2}
}
@media(prefers-reduced-motion:reduce){
 .room-film__replay,.house-service,.room-profile,.house-breakfast__photo img,.city-feature__photo img{transition:none!important}
}
@media(max-width:820px){
 :root{--page:min(100%,calc(100% - 48px))}
 .site-header:not(.is-solid) .site-nav.is-open{background:#fbfaf4;color:#4d493f}
 .site-header:not(.is-solid) .site-nav.is-open>a:not(.nav-booking){color:#4d493f;text-shadow:none}
 .site-header:not(.is-solid) .menu-toggle[aria-expanded="true"]{color:#4d493f;text-shadow:none}
 .site-header:not(.is-solid) .site-nav.is-open .nav-booking{background:#6b735c;border-color:#6b735c;color:#fffdf7}
}
@media(max-width:600px){
 :root{--page:calc(100% - 36px)}
 .page-contact .contact-method{grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto auto;gap:4px 10px;align-items:start;min-height:104px;padding:14px}
 .page-contact .contact-method__icon{grid-column:1;grid-row:1/4;width:32px;height:32px}
 .page-contact .contact-method .eyebrow{grid-column:2;grid-row:1}
 .page-contact .contact-method strong{grid-column:2;grid-row:2;min-width:0;font:600 15px/1.25 var(--body);overflow-wrap:anywhere}
 .page-contact .contact-method:nth-child(2) strong{font-size:12px}
 .page-contact .contact-method small{grid-column:2;grid-row:3}
}
@media(max-width:380px){
 :root{--page:calc(100% - 28px)}
 .page-contact .availability-form{grid-template-columns:1fr;gap:8px}
 .page-contact .availability-form .button{grid-column:1}
}

/* Ultima rifinitura: superfici più leggere, dettagli più leggibili e composizioni meno rigide. */
:root{--accent:#7c8673;--accent-deep:#5f6d58;--accent-pale:#e9ede6;--booking:#5f6d58}
.nav-booking{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:5px 11px;border-radius:999px;font-size:9px;line-height:1.1;letter-spacing:.015em}
.site-header.is-solid .nav-booking,.site-nav .nav-booking{background:#626f58;border-color:#626f58;color:#fffdf7}
.site-header.is-solid .nav-booking:hover,.site-nav .nav-booking:hover{background:#4f5d47;border-color:#4f5d47}
.hero__shade{background:linear-gradient(103deg,#171a16d1 0%,#171a1689 35%,#171a1628 70%,transparent 86%),linear-gradient(0deg,#171a16e8 0%,#171a1674 31%,#171a1610 73%)}
.hero__copy h1,.hero__copy .eyebrow,.hero__copy>p:not(.eyebrow){text-shadow:0 2px 18px #11140f9c}
.hero__copy>p:not(.eyebrow){color:#fffdf8}

.house-services{background:#f3f3ee}
.house-services__heading h2{color:#494c45}
.house-service>span:first-child{color:#777b70}
.house-service h3{color:#424841}
.service-symbol,.house-service:nth-child(2) .service-symbol,.house-service:nth-child(3) .service-symbol,.house-service:nth-child(5) .service-symbol,.house-service:nth-child(6) .service-symbol{border-color:#bdc4b8;color:#687363}
.house-interior{padding-block:50px 66px}
.house-interior__photo{width:min(940px,78%);height:clamp(300px,39vw,470px);margin:0 auto;border-radius:3px 28px 3px 3px}
.house-interior__photo figcaption{display:none}
.house-interior__note{display:none}
.house-breakfast{padding:31px 0 78px;background:linear-gradient(180deg,#f3f3ee 0%,#f3f3ee 54%,#f8f7f2 54%,#f8f7f2 100%)}
.house-breakfast__photo{width:min(850px,74%);margin:0 0 0 9%}
.house-breakfast__photo img{height:clamp(250px,34vw,420px);border-radius:3px 27px 3px 3px}
.house-breakfast__photo figcaption{display:none}
.house-breakfast__copy{width:min(690px,74%);margin:24px 0 0 9%}
.house-breakfast__copy h2{max-width:620px;color:#454b43;font-size:clamp(32px,3.6vw,44px)}
.house-breakfast__copy>p:not(.eyebrow){max-width:590px;color:#656b61}
.house-breakfast__copy .text-link{color:#586550;background-image:linear-gradient(#586550,#586550)}
.house-confirm{background:#e9ede6}
.house-confirm h2{font-family:var(--title);font-size:clamp(30px,3.2vw,42px);line-height:1.08}
.house-rooms{background:#eff1eb;border-radius:3px 24px 3px 3px}
.house-rooms h2{font-family:var(--display);font-size:clamp(34px,3.6vw,45px);font-weight:400}
.house-rooms .button{background:#626f58}
.house-rooms__sizes{gap:16px}
.house-rooms__sizes span{flex:1;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:baseline;justify-content:start;gap:0 5px;padding:5px 12px;border-color:#c5cbbf}
.house-rooms__sizes strong{grid-column:1;grid-row:1;font-family:var(--display);font-size:clamp(34px,3.7vw,48px)}
.house-rooms__sizes small{grid-column:2;grid-row:1}
.house-rooms__sizes em{grid-column:1/3;grid-row:2;margin-top:5px;color:#6c7567;font:500 8px/1.3 var(--mono);font-style:normal;letter-spacing:.05em;text-transform:uppercase}

.room-film__frame{overflow:hidden;border-radius:3px 25px 3px 3px}
.room-film__video{controls:none;pointer-events:none;user-select:none}
.room-film__video::-webkit-media-controls{display:none!important}
.room-film__replay{padding:6px 12px;border:1px solid #d0d6ca;border-radius:999px;color:#5d6955;background:#f4f5ef;text-decoration:none}
.room-film__replay:hover{background:#e8ede5;color:#485744;border-color:#bdc6b8}
.room-sequence{width:min(1120px,calc(100% - 64px));margin-inline:auto}
.room-profile,.room-profile--double,.room-profile--twin,.room-profile--triple{width:100%;margin:0 0 21px!important;padding:31px 32px;border:0;border-radius:3px 23px 3px 3px;background:#f2f1eb;transition:transform .3s ease,background-color .3s ease}
.room-profile--double{width:100%;margin-left:0!important;background:#f2f1eb}
.room-profile--twin{width:91%;margin-left:auto!important;background:#edf0e9;border-radius:23px 3px 23px 3px}
.room-profile--triple{width:95%;margin-left:3%!important;background:#f5f2eb;border-radius:3px 3px 23px 3px}
.room-profile:hover{transform:translateY(-3px);background:#f8f8f3}
.room-profile__icon{display:none}
.room-profile__copy{grid-template-columns:minmax(145px,.48fr) minmax(0,1.4fr) minmax(180px,.68fr);grid-template-rows:auto auto auto;gap:8px 22px}
.room-profile__copy>.eyebrow{grid-column:1;grid-row:1;color:#697463}
.room-profile__copy h2{grid-column:2/4;grid-row:1;font-size:clamp(31px,3.4vw,43px);line-height:1.05;color:#454941}
.room-profile--twin .room-profile__copy h2{font-family:var(--display);font-size:clamp(33px,3.3vw,42px);font-style:normal}
.room-profile--triple .room-profile__copy h2{font-family:var(--title);font-size:clamp(30px,3.2vw,41px);letter-spacing:-.02em}
.room-profile__copy>p:not(.eyebrow){grid-column:2;grid-row:2;color:#656a60;font-size:11px}
.room-tags{grid-column:3;grid-row:2/4;display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0;padding:0;list-style:none}
.room-tags li{display:flex;align-items:center;gap:7px;padding:0;border:0;border-radius:0;background:transparent;color:#5d6658;font-size:10px}
.room-tags li svg{width:16px;height:16px;color:#687363}
.room-profile__copy .text-link{grid-column:2;grid-row:3;justify-self:start;color:#596650;background-image:linear-gradient(#596650,#596650)}
.room-amenities__heading h2{color:#454941}
.room-amenities__list{border-color:#c8cec3}
.room-amenities__list span,.room-amenities__list span:nth-child(2n){border-color:#c8cec3;color:#585f56}
.room-amenities__list span:hover{color:#53634f}
.room-amenities__list svg{stroke:#687363}
.room-note{border-color:#bdc6b7}
.room-note--view{border-color:#d2cfc5}
.room-note h2{color:#454941}
.room-note>p{color:#60665c}
.room-note .button--accent{background:#626f58}

.city-feature__copy{width:min(670px,70%);margin:23px auto 0 10%;text-align:left}
.city-feature__copy h2{max-width:640px;color:#465044}
.city-feature__copy>p:not(.eyebrow){color:#62685d}
.city-end{background:#69755f}
.city-end:before,.city-end:after{display:none!important;content:none!important}
.city-end h2{max-width:760px}
.city-end .button--accent{background:#f3f4ec;border-color:#f3f4ec;color:#53604d}

.page-contact .contact-hero{background:#687365}
.page-contact .contact-hero__shade{background:linear-gradient(90deg,#28352ca8 0%,#28352c52 53%,#28352c08 82%),linear-gradient(0deg,#28352cd1 0%,#28352c22 76%)}
.page-contact .contact-method,.page-contact .contact-method:nth-child(2),.page-contact .contact-method:nth-child(3){border-color:#d8ddd3;background:#f2f3ee}
.page-contact .contact-method:hover{background:#fbfcf8}
.page-contact .contact-method__icon,.page-contact .contact-method:nth-child(2) .contact-method__icon,.page-contact .contact-method:nth-child(3) .contact-method__icon{background:#e6ebe2;color:#66735f}
.page-contact .contact-method .eyebrow,.page-contact .contact-method small{color:#70786b}
.page-contact .contact-method strong{color:#414940}
.page-contact .contact-request{border-color:#d8ded2;background:#edf0e9}
.page-contact .contact-request__intro h2,.page-contact .contact-address__heading h2{color:#454c43}
.page-contact .contact-address__heading address,.page-contact .contact-address__route p{color:#60675d}
.page-contact .contact-address__route .button{background:#626f58;color:#fffdf7}
.page-contact .contact-address__route .button:hover{background:#4f5d47}
.page-contact .map-frame{border-color:#d5ddd1;background:#eef1eb}

@media(max-width:820px){
 .house-interior__photo{width:88%;margin-inline:auto}
 .house-breakfast__photo{width:84%;margin-left:6%}
 .house-breakfast__copy{width:78%;margin-left:6%}
 .room-sequence{width:calc(100% - 48px)}
 .room-profile__copy{grid-template-columns:minmax(115px,.42fr) minmax(0,1.25fr) minmax(150px,.7fr);gap:8px 17px}
 .city-feature__copy{width:78%;margin-left:8%;margin-right:auto}
}
@media(max-width:600px){
 .nav-booking{min-height:33px;padding:7px 12px;font-size:9px}
 .hero__shade{background:linear-gradient(100deg,#171a16bd 0%,#171a1668 52%,#171a161c 100%),linear-gradient(0deg,#171a16ed 0%,#171a1678 35%,transparent 79%)}
 .house-interior{padding-block:35px 45px}
 .house-interior__photo{width:calc(100% - 36px);height:clamp(220px,65vw,320px);margin-inline:18px}
 .house-breakfast{padding:18px 0 47px;background:linear-gradient(180deg,#f3f3ee 0%,#f3f3ee 57%,#f8f7f2 57%,#f8f7f2 100%)}
 .house-breakfast__photo{width:calc(100% - 36px);margin-left:18px}
 .house-breakfast__photo img{height:clamp(210px,62vw,300px)}
 .house-breakfast__copy{width:calc(100% - 52px);margin:19px 18px 0}
 .house-breakfast__copy h2{font-size:33px}
 .house-confirm h2{font-size:33px}
 .house-rooms{padding:24px 18px;border-radius:3px 18px 3px 3px}
 .house-rooms__sizes{gap:3px}
 .house-rooms__sizes span{padding-inline:8px}
 .house-rooms__sizes strong{font-size:34px}
 .house-rooms__sizes em{font-size:7px;letter-spacing:.01em}
 .room-film__video{aspect-ratio:16/9}
 .room-sequence{width:calc(100% - 36px)}
 .room-profile,.room-profile--double,.room-profile--twin,.room-profile--triple{width:100%;margin:0 0 14px!important;padding:20px 17px;border-radius:3px 18px 3px 3px}
 .room-profile--twin{background:#edf0e9}
 .room-profile--triple{background:#f5f2eb}
 .room-profile__copy{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto;gap:8px}
 .room-profile__copy>.eyebrow{grid-column:1;grid-row:1}
 .room-profile__copy h2,.room-profile--twin .room-profile__copy h2,.room-profile--triple .room-profile__copy h2{grid-column:1;grid-row:2;font-size:clamp(29px,8vw,36px)}
 .room-profile__copy>p:not(.eyebrow){grid-column:1;grid-row:3;font-size:11px}
 .room-tags{grid-column:1;grid-row:4;flex-direction:row;flex-wrap:wrap;gap:7px 14px;margin-top:2px}
 .room-profile__copy .text-link{grid-column:1;grid-row:5;margin-top:2px}
 .room-amenities__list{grid-template-columns:1fr}
 .city-feature__copy{width:calc(100% - 52px);margin:18px 18px 0}
 .page-contact .contact-method,.page-contact .contact-method:nth-child(2),.page-contact .contact-method:nth-child(3){background:#f2f3ee}
}
@media(prefers-reduced-motion:reduce){
 .room-profile,.house-service,.house-breakfast__photo img,.city-feature__photo img,.contact-method{transition:none!important}
}

/* Refinement 12 · clearer page rhythm for the house and Cinisello */
.house-masthead{grid-template-columns:minmax(170px,.43fr) minmax(0,1.57fr);gap:clamp(30px,5.4vw,76px);align-items:start;min-height:0;padding-top:clamp(116px,11.5vw,148px);padding-bottom:38px}
.house-masthead__meta{min-height:0;align-items:flex-start;justify-content:flex-start;padding:10px 0 0;border:0}
.house-masthead__caption{max-width:195px;margin-top:18px;font:400 11px/1.5 var(--body);text-align:left;color:#79746c}
.house-masthead__copy{max-width:780px}
.house-masthead__copy h1{max-width:720px;font:400 clamp(42px,5vw,65px)/.99 var(--display);letter-spacing:-.035em}
.house-masthead__copy h1 em{font-family:var(--title);font-style:normal;color:#76685a}
.house-masthead__copy>p:not(.eyebrow){max-width:575px;margin:17px 0;font-size:13px;line-height:1.7}
.house-interior{width:var(--page);margin:0 auto;padding:10px 0 45px}
.house-interior__photo{position:relative;width:85%;height:clamp(270px,34vw,420px);margin:0 0 0 auto;overflow:hidden;border-radius:0 27px 0 27px}
.house-interior__photo img{width:100%;height:100%;object-fit:cover;object-position:center 54%}
.house-interior__photo figcaption{position:absolute;left:17px;bottom:17px;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:2px 12px 2px 12px;background:#272a28d9;color:#fff;font:500 8px/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.house-interior__photo figcaption span+span{padding-left:10px;border-left:1px solid #ffffff80;color:#e3e0da}
.house-services{display:grid;grid-template-columns:minmax(165px,.42fr) minmax(0,1.58fr);gap:clamp(22px,4vw,54px);width:var(--page);margin:0 auto;padding:32px 0 52px;background:transparent}
.house-services__heading{align-self:start;padding-top:6px}
.house-services__heading h2{max-width:270px;margin:10px 0 0;font:400 clamp(27px,2.7vw,36px)/1.05 var(--title);letter-spacing:-.02em}
.house-services__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #625d5540}
.house-service{display:grid;grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto auto;align-content:start;gap:6px 10px;min-height:112px;margin:0;padding:16px 12px 15px;border:0;border-bottom:1px solid #625d5530;border-radius:0;background:transparent;box-shadow:none;transition:color .25s ease,border-color .25s ease}
.house-service:nth-child(3n+2){border-right:1px solid #625d5528;border-left:1px solid #625d5528}
.house-service>span:first-child{grid-column:2;grid-row:1;color:#80796f;font:500 8px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.house-service .service-symbol{grid-column:1;grid-row:1/4;display:grid;width:22px;height:22px;place-items:center;margin-top:2px;border:0;border-radius:0;background:transparent;color:#6d716a}
.house-service .service-symbol svg{width:18px;height:18px;stroke:currentColor}
.house-service h3{grid-column:2;grid-row:2;margin:0;color:#434540;font:500 14px/1.2 var(--title)}
.house-service p{grid-column:2;grid-row:3;margin:0;color:#77746e;font-size:10px;line-height:1.45}
.house-service:hover{transform:none;background:transparent;color:#383b37}
.house-garden{position:relative;display:block;width:var(--page);margin:0 auto;padding:35px 0 55px}
.house-garden__photo{position:relative;width:72%;margin:0 auto 0 0;overflow:hidden}
.house-garden__photo img{display:block;width:100%;height:clamp(260px,32vw,380px);object-fit:cover;object-position:center 54%;border-radius:2px 26px 2px 2px}
.house-garden__photo figcaption{display:none}
.house-garden__copy{position:absolute;right:1%;bottom:28px;width:min(430px,43%);margin:0;padding:21px 25px 23px;border:0;border-left:2px solid #94816b;border-radius:0 17px 0 17px;background:#f3f0e9;box-shadow:0 12px 40px #38342b12}
.house-garden__copy h2{margin:8px 0 10px;color:#41423f;font:400 clamp(25px,2.7vw,34px)/1.02 var(--display);letter-spacing:-.025em}
.house-garden__copy>p:not(.eyebrow){margin:0;color:#696860;font-size:11px;line-height:1.6}
.house-breakfast{position:relative;isolation:isolate;width:var(--page);margin:0 auto;padding:48px 0 55px;background:transparent}
.house-breakfast::before{position:absolute;z-index:-1;inset:37px 0 34px 20%;border-radius:0 22px 0 22px;background:#edf0ed;content:""}
.house-breakfast__photo{position:relative;width:72%;height:clamp(250px,30vw,350px);margin:0 0 0 auto;overflow:hidden;border-radius:2px 25px 2px 2px}
.house-breakfast__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%;border-radius:0;transition:filter .5s ease}
.house-breakfast__photo::after{position:absolute;inset:0;background:linear-gradient(90deg,#20232014 35%,#20232050 100%);content:""}
.house-breakfast__photo figcaption{display:none}
.house-breakfast__copy{position:absolute;left:1%;bottom:76px;width:min(460px,43%);margin:0;padding:22px 25px 24px;border-radius:3px 17px 3px 17px;background:#353a37;color:#f7f5ef}
.house-breakfast__copy .eyebrow{color:#d6d5cc}
.house-breakfast__copy h2{margin:8px 0 10px;color:#f9f7f1;font:400 clamp(25px,2.6vw,33px)/1.03 var(--display);letter-spacing:-.025em}
.house-breakfast__copy>p:not(.eyebrow){margin:0 0 12px;color:#eeece5;font-size:11px;line-height:1.55}
.house-breakfast__copy .text-link{color:#f7f4eb;background-image:linear-gradient(#f7f4eb,#f7f4eb);font-size:10px}
.house-confirm{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:32px;align-items:center;width:var(--page);max-width:none;margin:0 auto;padding:37px 0;border-top:1px solid #625d5530;border-bottom:1px solid #625d5530;background:transparent}
.house-confirm__heading h2{max-width:280px;margin:8px 0 0;color:#42433f;font:400 clamp(27px,2.7vw,34px)/1.04 var(--title);letter-spacing:-.02em}
.house-confirm__details{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px 24px}
.house-confirm__times{grid-column:1;grid-row:1/3;display:flex;gap:10px}
.house-confirm__times span{display:flex;min-width:125px;flex-direction:column;gap:5px;padding:9px 13px;border-left:2px solid #9a8269}
.house-confirm__times small{color:#81786e;font:500 8px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.house-confirm__times strong{color:#41433f;font:500 15px/1.2 var(--title)}
.house-confirm__details>p{grid-column:2;grid-row:1;margin:0;color:#77736b;font-size:10px;line-height:1.5}
.house-confirm__details>.text-link{grid-column:2;grid-row:2;justify-self:start;margin:0;font-size:10px}
.house-rooms{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.95fr);gap:34px;align-items:center;width:var(--page);max-width:none;margin:36px auto 48px;padding:25px 28px;border-radius:0 18px 0 18px;background:#f0f1ec}
.house-rooms h2{max-width:390px;margin:7px 0 8px;color:#434540;font:400 clamp(28px,2.9vw,36px)/1.04 var(--display);letter-spacing:-.025em}
.house-rooms__intro>p:not(.eyebrow){max-width:470px;margin:0 0 14px;font-size:11px;line-height:1.55}
.house-rooms .button{padding:10px 15px;font-size:10px}
.house-rooms__sizes{gap:8px}
.house-rooms__sizes span{padding:4px 9px;border-color:#c5cbbf}
.house-rooms__sizes strong{font-size:clamp(30px,3vw,39px)}
.house-rooms__sizes em{margin-top:4px;font-size:7px;letter-spacing:.025em}
.page-cinisello h1,.page-cinisello h2,.page-cinisello h3{font-family:var(--display);font-weight:400;letter-spacing:-.025em}
.city-intro{padding-top:clamp(48px,7vw,78px);padding-bottom:46px}
.city-intro>div{max-width:730px;margin-left:9%}
.city-intro h2{max-width:700px;margin:10px 0 12px;font-size:clamp(33px,4vw,48px);line-height:1.04}
.city-intro p:not(.eyebrow){max-width:600px;font-size:12px;line-height:1.65}
.city-feature{display:block;width:var(--page);max-width:1160px;margin:0 auto;padding:0;background:transparent}
.city-feature__visual{position:relative;height:clamp(340px,42vw,500px);overflow:hidden;border-radius:2px 28px 2px 28px;background:#444743}
.city-feature__visual::after{position:absolute;inset:0;background:linear-gradient(0deg,#202522d9 0%,#20252276 37%,transparent 74%);content:""}
.city-feature__visual>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 53%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.city-feature__visual:hover>img{transform:scale(1.015)}
.city-feature__overlay{position:absolute;z-index:1;left:clamp(20px,5vw,58px);bottom:clamp(22px,4vw,45px);width:min(610px,65%);color:#fff}
.city-feature__overlay h2{max-width:580px;margin:9px 0 9px;font-size:clamp(32px,4vw,47px);line-height:1.02}
.city-feature__overlay>p:last-child{max-width:480px;margin:0;color:#f3f0e9;font-size:12px;line-height:1.55}
.city-feature__credit{position:absolute;z-index:2;top:15px;right:15px;padding:7px 10px;border-radius:2px 10px 2px 10px;background:#252925bd;color:#fff;font:500 8px/1.25 var(--mono);letter-spacing:.04em}
.city-feature__links{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 3px 0}
.city-links{display:flex;flex-wrap:wrap;gap:10px 22px}
.city-links a{color:#5e625d;font-size:10px}
.museum-socials{display:flex;align-items:center;gap:12px;color:#72756f}
.museum-socials>span{font:500 8px/1.25 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.museum-socials a{display:inline-flex;align-items:center;gap:5px;color:#484e49;font-size:10px}
.museum-socials a svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.museum-socials a:first-of-type svg path{fill:currentColor;stroke:none}
.museum-socials .social-dot{fill:currentColor;stroke:none}
.city-planning{grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:clamp(24px,5vw,64px);align-items:start;padding-block:78px}
.city-planning__heading h2{max-width:350px;margin:9px 0 8px;font-size:clamp(30px,3.3vw,39px);line-height:1.02}
.city-planning__heading>p:last-child{max-width:280px;color:#77746e;font-size:11px;line-height:1.55}
.city-planning__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #625d5538;border-bottom:1px solid #625d5538}
.city-planning__list p,.city-planning__list p:nth-child(2),.city-planning__list p:nth-child(3){display:grid;grid-template-columns:27px minmax(0,1fr);grid-template-rows:auto auto;align-content:start;gap:8px 9px;margin:0;padding:17px 14px;border:0;border-right:1px solid #625d5528}
.city-planning__list p:last-child{border-right:0}
.city-planning__list .city-plan-icon{grid-column:1;grid-row:1/3;display:grid;width:22px;height:22px;place-items:center;color:#5f6560}
.city-planning__list .city-plan-icon svg{width:18px;height:18px;stroke:currentColor}
.city-planning__list strong{grid-column:2;grid-row:1;color:#454743;font:500 13px/1.2 var(--title)}
.city-planning__list span:last-child{grid-column:2;grid-row:2;color:#79776f;font-size:10px;line-height:1.45}
.city-end{min-height:280px;padding:58px 22px;background:#3f4442;color:#f8f6f0}
.city-end h2{max-width:620px;margin:9px auto 10px;font-size:clamp(32px,4vw,45px);line-height:1.03}
.city-end>p:not(.eyebrow){max-width:520px;color:#e2e0d8;font-size:12px;line-height:1.6}
.city-end .button--accent{background:#f5f3ed;border-color:#f5f3ed;color:#454944}
.room-profile__copy h2,.room-profile--twin .room-profile__copy h2,.room-profile--triple .room-profile__copy h2{font:400 clamp(30px,3vw,39px)/1.04 var(--display);letter-spacing:-.025em}
.room-profile__copy>p:not(.eyebrow){max-width:520px;font-size:11px;line-height:1.55}
.room-tags li{gap:7px;padding:3px 9px;border:1px solid #d3d2c9;border-radius:2px 10px 2px 10px;background:#f8f7f2;font-size:9px}
.room-tags li svg{display:none}
.room-amenities__heading h2{font-family:var(--display);font-weight:400;font-size:clamp(31px,3.3vw,42px)}
.room-amenities__heading>p:not(.eyebrow){display:none}
.room-note{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) auto;align-items:center;padding-block:25px;border-top:1px solid #68635735;border-bottom:1px solid #68635735}
.room-note h2{font-family:var(--display);font-size:clamp(27px,3vw,36px)}
.room-note>p:not(.eyebrow){font-size:11px;line-height:1.55}
.room-note .button{font-size:10px}

@media(max-width:900px){
 .house-masthead{grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:28px}
 .house-services{grid-template-columns:1fr;gap:18px}
 .house-services__heading h2{max-width:520px}
 .house-garden__photo{width:78%}
 .house-garden__copy{right:0;width:45%}
 .house-breakfast__photo{width:78%}
 .house-breakfast__copy{left:0;width:47%}
 .house-confirm{grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:20px}
 .city-planning{grid-template-columns:1fr;gap:20px;padding-block:58px}
 .city-planning__heading{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
 .city-planning__heading h2{margin:0}
 .city-planning__heading>p:last-child{margin:0}
}
@media(max-width:640px){
 .house-masthead{grid-template-columns:1fr;gap:13px;padding-top:100px;padding-bottom:24px}
 .house-masthead__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0}
 .house-masthead__caption{max-width:170px;margin:0;text-align:right;font-size:9px}
 .house-masthead__copy h1{font-size:clamp(38px,9vw,52px);line-height:1.02}
 .house-masthead__copy>p:not(.eyebrow){max-width:480px;margin-block:12px;font-size:12px}
 .house-interior{padding:8px 0 30px}
 .house-interior__photo{width:100%;height:clamp(235px,62vw,310px);border-radius:0 19px 0 19px}
 .house-interior__photo figcaption{left:10px;bottom:10px;gap:7px;padding:7px 9px;font-size:7px}
 .house-interior__photo figcaption span+span{padding-left:7px}
 .house-services{gap:12px;padding:24px 0 34px}
 .house-services__heading h2{font-size:30px}
 .house-services__list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .house-service{grid-template-columns:20px minmax(0,1fr);gap:5px 7px;min-height:100px;padding:13px 7px}
 .house-service:nth-child(3n+2){border-right:0;border-left:0}
 .house-service:nth-child(even){border-left:1px solid #625d5528}
 .house-service h3{font-size:12px}
 .house-service p{font-size:9px}
 .house-garden{padding:22px 0 33px}
 .house-garden__photo{width:100%}
 .house-garden__photo img{height:clamp(220px,61vw,285px);border-radius:0 19px 0 19px}
 .house-garden__copy{position:relative;right:auto;bottom:auto;width:calc(100% - 22px);margin:-21px 0 0 auto;padding:16px 18px;border-radius:0 14px 0 14px}
 .house-garden__copy h2{font-size:29px}
 .house-garden__copy>p:not(.eyebrow){font-size:10px}
 .house-breakfast{padding:24px 0 32px}
 .house-breakfast::before{inset:12px 0 16px 12%}
 .house-breakfast__photo{width:100%;height:clamp(215px,59vw,285px);border-radius:0 19px 0 19px}
 .house-breakfast__copy{position:relative;left:auto;bottom:auto;width:calc(100% - 22px);margin:-20px auto 0 0;padding:16px 18px;border-radius:0 14px 0 14px}
 .house-breakfast__copy h2{font-size:28px}
 .house-breakfast__copy>p:not(.eyebrow){font-size:10px}
 .house-confirm{grid-template-columns:1fr;gap:14px;padding:24px 0}
 .house-confirm__heading h2{font-size:29px}
 .house-confirm__details{grid-template-columns:1fr;gap:10px}
 .house-confirm__times{grid-column:1;grid-row:1;gap:7px}
 .house-confirm__times span{min-width:0;flex:1;padding:8px 10px}
 .house-confirm__times strong{font-size:14px}
 .house-confirm__details>p{grid-column:1;grid-row:2}
 .house-confirm__details>.text-link{grid-column:1;grid-row:3}
 .house-rooms{grid-template-columns:1fr;gap:15px;margin:26px auto 34px;padding:19px 17px;border-radius:0 15px 0 15px}
 .house-rooms h2{font-size:30px}
 .house-rooms__sizes strong{font-size:32px}
 .house-rooms__sizes em{font-size:6.5px}
 .city-intro{padding-top:38px;padding-bottom:30px}
 .city-intro>div{margin-left:0}
 .city-intro h2{font-size:35px}
 .city-intro p:not(.eyebrow){font-size:11px}
 .city-feature__visual{height:clamp(310px,83vw,410px);border-radius:0 19px 0 19px}
 .city-feature__visual>img{object-position:55% center}
 .city-feature__overlay{left:18px;bottom:18px;width:calc(100% - 36px)}
 .city-feature__overlay h2{font-size:33px}
 .city-feature__overlay>p:last-child{font-size:10px}
 .city-feature__credit{top:10px;right:10px;font-size:7px}
 .city-feature__links{align-items:flex-start;flex-direction:column;gap:13px;padding-top:13px}
 .city-links{gap:8px 16px}
 .city-links a{font-size:9px}
 .museum-socials{flex-wrap:wrap;gap:10px}
 .city-planning{gap:14px;padding-block:42px}
 .city-planning__heading{display:block}
 .city-planning__heading h2{margin:8px 0;font-size:31px}
 .city-planning__heading>p:last-child{margin:0}
 .city-planning__list{grid-template-columns:1fr}
 .city-planning__list p,.city-planning__list p:nth-child(2),.city-planning__list p:nth-child(3){grid-template-columns:24px minmax(80px,.55fr) minmax(0,1fr);align-items:center;gap:7px;padding:12px 6px;border-right:0;border-bottom:1px solid #625d5528}
 .city-planning__list p:last-child{border-bottom:0}
 .city-planning__list .city-plan-icon{grid-column:1;grid-row:1}
 .city-planning__list strong{grid-column:2;grid-row:1;font-size:12px}
 .city-planning__list span:last-child{grid-column:3;grid-row:1;font-size:9px}
 .city-end{min-height:230px;padding:40px 20px}
 .city-end h2{font-size:34px}
 .city-end>p:not(.eyebrow){font-size:11px}
 .room-profile__copy h2,.room-profile--twin .room-profile__copy h2,.room-profile--triple .room-profile__copy h2{font-size:clamp(28px,7vw,34px)}
 .room-note{grid-template-columns:1fr;gap:9px;padding-block:20px}
}
@media(max-width:380px){
 .house-masthead__caption{max-width:130px;font-size:8px}
 .house-services__list{grid-template-columns:1fr}
 .house-service,.house-service:nth-child(even){min-height:0;border-left:0}
 .house-rooms__sizes{gap:0}
 .house-rooms__sizes span{padding-inline:5px}
 .house-rooms__sizes strong{font-size:28px}
 .house-rooms__sizes em{font-size:6px;letter-spacing:0}
 .city-planning__list p,.city-planning__list p:nth-child(2),.city-planning__list p:nth-child(3){grid-template-columns:22px 75px minmax(0,1fr);gap:6px;padding-inline:2px}
 .city-planning__list span:last-child{font-size:8px}
 .museum-socials>span{width:100%}
}
@media(prefers-reduced-motion:reduce){
 .city-feature__visual>img{transition:none!important}
}
