:root{--cv-paper:#f4efe7;--cv-plaster:#e8dfd2;--cv-ink:#28231f;--cv-olive:#6f7359;--cv-clay:#a8684c;--cv-sand:#c9b79f;--cv-line:rgba(40,35,31,.14);--cv-soft-shadow:0 22px 55px rgba(55,41,30,.10);--cv-display:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}body{background:var(--cv-paper);overflow-x:hidden}.section{padding-top:104px;padding-bottom:104px}.compact-copy{max-width:640px}.compact-copy p{max-width:560px}.boutique-header{position:absolute;inset:0 0 auto 0;height:92px;padding:18px clamp(20px,4vw,64px);display:grid;grid-template-columns:180px 1fr auto;gap:28px;align-items:center;background:linear-gradient(180deg,rgba(25,18,14,.48),rgba(25,18,14,.08),transparent);backdrop-filter:none;z-index:50}.casa-brand{width:156px;max-width:156px;height:52px;display:flex;align-items:center;overflow:visible}.casa-brand .casa-logo,.boutique-header .casa-logo{display:block!important;width:100%!important;max-width:156px!important;height:52px!important;max-height:52px!important;object-fit:contain!important;object-position:left center!important}.casa-brand--footer{width:180px;max-width:180px;height:auto}.casa-brand--footer .casa-logo{max-width:180px!important;height:auto!important;max-height:70px!important}.boutique-header .nav{justify-self:end;gap:18px;font-size:12px}.boutique-header .menu{justify-self:end}.language-switcher{display:flex;border:1px solid rgba(255,255,255,.3);padding:2px;gap:1px}.language-switcher button{border:0;background:transparent;color:#fff;padding:6px 7px;font-size:10px;letter-spacing:.08em;cursor:pointer}.language-switcher button.active{background:#fff;color:var(--cv-ink)}.boutique-hero{min-height:100svh;height:auto;display:grid;place-items:center;position:relative;isolation:isolate;padding:120px 24px 72px}.hero-media{position:absolute;inset:0;z-index:-2}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,17,12,.40),rgba(26,17,12,.46)),linear-gradient(90deg,rgba(26,17,12,.16),rgba(26,17,12,.04) 50%,rgba(26,17,12,.16))}.hero-content--centered{position:relative;z-index:2;padding:0!important;margin:auto;text-align:center;max-width:860px;width:min(860px,92vw);display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-content--centered h1{font-family:var(--cv-display)!important;font-style:normal;font-weight:300!important;font-size:clamp(42px,5.4vw,76px)!important;line-height:1.02!important;letter-spacing:-.025em;max-width:820px;margin:18px auto 22px;text-wrap:balance}.hero-content--centered p{font:clamp(16px,1.5vw,20px)/1.7 Georgia,serif;max-width:610px;margin:0 auto;color:#f7eee6}.hero-content--centered .hero-actions{justify-content:center;margin-top:28px}.image-drift{position:relative;overflow:hidden;background:#171310;padding:28px 0 58px}.image-drift__track{display:flex;gap:18px;width:max-content;will-change:transform}.image-drift__item{width:min(58vw,720px);aspect-ratio:16/10;height:auto;margin:0;flex:0 0 auto;overflow:hidden;border-radius:3px}.image-drift__item:nth-child(even){width:min(37vw,470px)}.image-drift__item img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.image-drift__item:hover img{transform:scale(1.025)}.image-drift__label{position:absolute;left:7vw;bottom:22px;color:#e8d8c9;font-size:10px;letter-spacing:.22em;text-transform:uppercase}.cv-photo-enhance{filter:brightness(1.10) contrast(1.055) saturate(1.08);object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease}.kicker,.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.room-card,.room-card:nth-child(n){grid-column:auto;min-height:0;margin:0;border-radius:4px;box-shadow:0 15px 38px rgba(46,34,25,.10);background:#fff;overflow:hidden}.room-card:after{display:none}.room-card__media{position:relative;display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;background:#d9cec0;overflow:hidden;cursor:pointer}.room-card__media img{width:100%;height:100%;object-fit:cover}.room-card__media:hover .cv-photo-enhance{transform:scale(1.035);filter:brightness(1.13) contrast(1.055) saturate(1.10)}.room-gallery-count{position:absolute;right:12px;bottom:12px;padding:7px 9px;background:rgba(30,24,20,.72);color:#fff;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.room-content{position:static!important;padding:20px!important;color:var(--cv-ink)!important}.room-card h3{font-family:var(--cv-display);font-style:normal;font-size:32px;font-weight:400;margin:0 0 14px;color:var(--cv-ink)}.room-card__actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-card__actions button,.room-card__actions a{border:0;background:none;padding:0 0 3px;color:var(--cv-ink);font-size:12px;text-decoration:none;border-bottom:1px solid currentColor;cursor:pointer}.rooms .section-head{margin-bottom:46px}.restaurant-section{background:var(--cv-plaster);display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.restaurant-copy h2{font-family:var(--cv-display);font-weight:400;font-size:clamp(44px,5vw,72px);line-height:1;margin:14px 0 22px}.restaurant-copy p{font:17px/1.8 Georgia,serif;color:#6d6259}.restaurant-menu{border-top:1px solid var(--cv-line)}.menu-line{display:grid;grid-template-columns:1fr auto;gap:24px;padding:18px 0;border-bottom:1px solid var(--cv-line)}.menu-line b{font:24px var(--cv-display)}.menu-line span{color:#766a60}.booking-shell{padding:100px 7vw;background:#fffaf3}.booking-app{max-width:1180px;margin:auto}.booking-app__intro{max-width:680px;margin-bottom:34px}.booking-app__intro h2{font-family:var(--cv-display);font-weight:400;font-size:clamp(42px,5vw,68px);line-height:1.02;margin:12px 0}.booking-app__intro p{font:17px/1.75 Georgia,serif;color:#73675f}.booking-app__form{display:grid;grid-template-columns:1fr 1fr .7fr auto;border:1px solid var(--cv-line);background:var(--cv-paper);padding:12px;gap:0}.booking-app__form label{display:flex;flex-direction:column;gap:7px;padding:11px 16px;border-right:1px solid var(--cv-line);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.booking-app__form input,.booking-app__form select{border:0;background:transparent;padding:8px 0;font:17px Georgia,serif;color:var(--cv-ink);outline:none;min-width:0}.booking-app__form button{border-radius:0}.booking-app__status{min-height:28px;padding:18px 0;color:#75695f}.booking-app__result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.booking-result{border:1px solid var(--cv-line);background:white;transition:.2s}.booking-result.is-selected{outline:2px solid var(--cv-olive);outline-offset:2px}.booking-result__gallery{display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;overflow:hidden;cursor:pointer;background:#ddd}.booking-result__gallery img{width:100%;height:100%;object-fit:cover}.booking-result__gallery:hover img{transform:scale(1.035)}.booking-result>div{padding:18px}.booking-result span{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--cv-clay)}.booking-result h3{font:30px var(--cv-display);margin:7px 0 14px}.booking-result>div>button{border:0;border-bottom:1px solid currentColor;background:none;padding:0 0 3px;cursor:pointer}.booking-details{margin-top:34px;border-top:1px solid var(--cv-line);padding-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:820px}.booking-details h3{grid-column:1/-1;font:34px var(--cv-display);margin:0 0 4px}.booking-details label{display:grid;gap:7px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.booking-details input,.booking-details textarea{width:100%;border:1px solid var(--cv-line);background:#fff;padding:13px;font:16px Arial,sans-serif}.booking-details label:last-of-type{grid-column:1/-1}.booking-details button{justify-self:start;border-radius:0}.booking-confirmation{margin-top:24px;padding:24px;border:1px solid var(--cv-line);background:#edf0e6;display:grid;gap:8px}.booking-confirmation strong{font:28px var(--cv-display)}.louise{background:#ebe1d4}.louise h2{font-family:var(--cv-display);font-style:normal}.panel,.louise-launcher{border-radius:0}.panel{bottom:100px;max-width:calc(100vw - 28px)}.louise-launcher{max-width:220px}.final-cta h2{font-family:var(--cv-display);font-style:normal}.footer{background:#29221d}.footer .casa-logo{filter:none}.nav.open{z-index:80}.gallery-open{overflow:hidden}.room-gallery-modal[hidden]{display:none}.room-gallery-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px}.room-gallery-backdrop{position:absolute;inset:0;background:rgba(19,15,12,.82);backdrop-filter:blur(8px)}.room-gallery-dialog{position:relative;width:min(1120px,96vw);max-height:94svh;overflow:auto;background:#f7f1e9;padding:18px;box-shadow:0 30px 90px rgba(0,0,0,.32)}.room-gallery-close{position:absolute;right:28px;top:26px;z-index:3;width:42px;height:42px;border:0;background:rgba(24,18,14,.72);color:#fff;font-size:27px;cursor:pointer}.room-gallery-stage{position:relative;aspect-ratio:16/10;overflow:hidden;background:#d8cec2}.room-gallery-image{display:block;width:100%;height:100%;object-fit:cover}.room-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:58px;border:0;background:rgba(27,21,17,.64);color:#fff;font-size:36px;cursor:pointer}.room-gallery-nav.prev{left:14px}.room-gallery-nav.next{right:14px}.room-gallery-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:20px 4px 14px}.room-gallery-meta h2{font:42px var(--cv-display);margin:5px 0 0}.room-gallery-meta>span{font-size:12px;letter-spacing:.12em}.room-gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.room-gallery-thumb{aspect-ratio:4/3;padding:0;border:1px solid transparent;background:none;overflow:hidden;opacity:.62;cursor:pointer}.room-gallery-thumb.active{border-color:var(--cv-clay);opacity:1}.room-gallery-thumb img{width:100%;height:100%;object-fit:cover}.room-gallery-thumb:hover img{transform:scale(1.04)}
@media(max-width:1100px){.boutique-header{grid-template-columns:156px 1fr auto}.boutique-header .nav{gap:12px}.boutique-header .nav>a:not(.btn){display:none}.language-switcher button{padding:6px 5px}}
@media(max-width:900px){.boutique-header{height:82px;padding:14px 5vw;grid-template-columns:145px 1fr auto}.casa-brand{width:138px;max-width:138px;height:46px}.casa-brand .casa-logo,.boutique-header .casa-logo{max-width:138px!important;height:46px!important}.boutique-header .nav{position:absolute;top:78px;left:4vw;right:4vw;display:none;flex-direction:column;align-items:stretch;background:rgba(36,27,22,.98);padding:20px;gap:14px}.boutique-header .nav.open{display:flex}.boutique-header .nav>a:not(.btn){display:block}.language-switcher{width:100%;justify-content:space-between}.language-switcher button{flex:1}.room-grid,.booking-app__result-grid{grid-template-columns:1fr 1fr}.restaurant-section{grid-template-columns:1fr}.booking-app__form{grid-template-columns:1fr 1fr}.booking-app__form label:nth-child(2){border-right:0}.booking-app__form button{grid-column:1/-1;margin-top:8px}.image-drift__item{width:72vw}.image-drift__item:nth-child(even){width:48vw}}
@media(max-width:620px){.section{padding-top:76px;padding-bottom:76px}.boutique-header{height:74px;padding:12px 18px;grid-template-columns:126px 1fr auto}.casa-brand{width:120px;max-width:120px;height:40px}.casa-brand .casa-logo,.boutique-header .casa-logo{max-width:120px!important;height:40px!important;max-height:40px!important}.boutique-hero{min-height:88svh;padding:100px 18px 54px}.hero-content--centered{width:100%;max-width:100%}.hero-content--centered h1{font-size:clamp(36px,10.5vw,52px)!important;line-height:1.02!important;margin-top:14px}.hero-content--centered p{font-size:15px;line-height:1.6;max-width:92%}.hero-content--centered .hero-actions{gap:8px}.hero-content--centered .btn{padding:12px 14px;font-size:12px}.image-drift{padding-top:18px}.image-drift__track{gap:10px}.image-drift__item,.image-drift__item:nth-child(even){width:82vw;aspect-ratio:4/3}.room-grid,.booking-app__result-grid,.booking-app__form,.booking-details{grid-template-columns:1fr}.room-card,.room-card:nth-child(n){min-height:0}.booking-app__form label{border-right:0;border-bottom:1px solid var(--cv-line)}.booking-shell{padding:74px 6vw}.restaurant-section{gap:36px}.menu-line{grid-template-columns:1fr;gap:5px}.booking-details label:last-of-type{grid-column:auto}.room-gallery-modal{padding:0}.room-gallery-dialog{width:100vw;min-height:100svh;max-height:100svh;padding:10px}.room-gallery-stage{aspect-ratio:4/3;margin-top:50px}.room-gallery-close{right:14px;top:14px}.room-gallery-nav{width:40px;height:50px}.room-gallery-meta{align-items:flex-start}.room-gallery-meta h2{font-size:34px}.room-gallery-thumbs{gap:4px}.louise{gap:34px}.louise-img{height:480px}.louise-launcher{right:12px;bottom:12px;padding-right:10px}.louise-launcher span{font-size:11px}.louise-launcher .louise-avatar{width:38px;height:38px}.panel{right:8px;left:8px;bottom:68px;width:auto;height:min(620px,calc(100svh - 82px));max-width:none}.final-inner{padding:44px 22px}.footer{padding-bottom:92px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.image-drift__track{transform:none!important}.room-card img,.cv-photo-enhance{transition:none!important}}
