/* Approved True Love palette and restrained editorial presentation. */
body.boutique {
 --paper:#ffffff;--tint:#ffffff;--red:#a52d28;--wine:#641b26;
 --gold:#d5b779;--ivory:#f7f4ef;--ink:#292824;--muted:#625d56;
 --accent:#641b26;--action:#641b26;--line:#d8d0c6;--wine-copy:#f7f4ef;
 --button-bg:var(--wine);--button-text:var(--ivory);--button-border:var(--wine);
 background:var(--paper);color:var(--ink);
}
body.boutique :is(.home-header,.site-header,.language-switcher){background:var(--paper);border-color:var(--line)}
body.boutique main > section{background:var(--paper)}
body.boutique :is(.curated-home,.outdoor-benefits,.outdoor-local,.style-directions,.q-options,.faq-section){background:var(--tint)}
body.boutique :is(.boutique-experience,.consult-section,.home-contact,.real-dark,.home-connection,.q-emotion,footer,.home-footer){background:var(--wine);background-image:none;color:var(--ivory)}
body.boutique main :is(h1,h2,h3,h4,h5,h6,.eyebrow){color:var(--red)}
body.boutique :is(.boutique-experience,.consult-section,.home-contact,.real-dark,.home-connection,.q-emotion) :is(h1,h2,h3,h4,h5,h6,p,li,figcaption){color:var(--ivory)}
body.boutique :is(.boutique-experience,.consult-section,.home-contact,.real-dark,.home-connection,.q-emotion) .eyebrow{color:var(--gold)}
body.boutique :is(.eyebrow,.refined-hero-title .eyebrow){font-size:11px;letter-spacing:.1em;line-height:1.65;font-weight:500}
body.boutique :is(.section,.real-section){scroll-margin-top:24px}
body.boutique p{color:var(--ink)}
body.boutique :is(figcaption,.boutique-reference,.experience-note,.boutique-credential,.outdoor-note){color:var(--muted)}
body.boutique :is(.home-header,.header-row) .brand{max-width:174px;flex-basis:174px}
body.boutique :is(.home-header,.header-row){min-height:86px;padding-block:16px}

/* Flat buttons, a visible focus ring and touch feedback without a decorative frame. */
body.boutique :is(a.button,button.button,.home-header nav a[data-inquiry-cta]){
 display:inline-flex;align-items:center;justify-content:center;min-height:50px;
 padding:14px 23px!important;border:1px solid var(--button-border)!important;border-radius:3px!important;
 background:var(--button-bg)!important;color:var(--button-text)!important;
 font:500 13px/1.5 Montserrat,sans-serif!important;letter-spacing:.02em;text-transform:none!important;
 box-shadow:none!important;text-shadow:none;filter:none;transform:none;text-decoration:none;text-align:center;
 transition:transform 160ms ease,background-color 160ms ease,filter 160ms ease!important;
 touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
body.boutique :is(a.button,button.button,.home-header nav a[data-inquiry-cta])::before,
body.boutique :is(a.button,button.button,.home-header nav a[data-inquiry-cta])::after{display:none!important}
body.boutique :is(a.button,button.button):is(.secondary,.premium-outline){--button-bg:transparent;--button-text:var(--wine);--button-border:var(--wine)}
body.boutique :is(.consult-section,.home-contact,.real-dark,.home-connection,.q-emotion,.boutique-experience) :is(a.button,button.button){--button-bg:var(--ivory);--button-text:var(--wine);--button-border:var(--ivory)}
body.boutique :is(a.button,button.button,.home-header nav a[data-inquiry-cta]):focus-visible{outline:2px solid var(--red);outline-offset:5px}
body.boutique :is(.consult-section,.home-contact) a.button:focus-visible{outline-color:var(--gold)}
@media(hover:hover) and (pointer:fine){
 body.boutique :is(a.button,button.button,.home-header nav a[data-inquiry-cta]):not(:disabled):not([aria-disabled=true]):hover{background:var(--button-bg)!important;transform:translateY(-2px);filter:brightness(1.12)}
}
body.boutique :is(a.button,button.button,.home-header nav a[data-inquiry-cta]):not(:disabled):not([aria-disabled=true]):active,
body.boutique :is(a.button,button.button,.home-header nav a[data-inquiry-cta]).is-touch-pressed{transform:translateY(1px) scale(.97)!important;filter:brightness(1.18)!important;transition-duration:80ms!important}

/* DOM order is title, photograph, explanation/actions on every screen. */
body.boutique :is(.boutique-hero,.real-hero).refined-hero{
 display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr 1fr;
 gap:24px clamp(32px,5vw,76px);align-items:center;width:min(1344px,calc(100% - 96px));
 margin:36px auto 0;padding:0;min-height:0;height:auto;background:var(--paper);
}
body.boutique .refined-hero-title{grid-column:1;grid-row:1;align-self:end;padding-left:20px}
body.boutique .refined-hero-description{grid-column:1;grid-row:2;align-self:start;padding-left:20px;max-width:500px}
body.boutique .refined-hero-title .eyebrow{max-width:460px;margin:0 0 20px;color:var(--red)}
body.boutique .refined-hero-title h1{font-size:clamp(38px,4.2vw,60px);line-height:1.15;letter-spacing:-.045em;font-weight:400;margin:0;color:var(--red)}
body.boutique .refined-hero-description .editorial-lead{font-size:17px;line-height:1.75;color:var(--ink);margin:0 0 28px;max-width:46ch}
body.boutique .refined-hero :is(.boutique-hero-image,.real-hero-photo){grid-column:2;grid-row:1 / 3;width:100%;margin:0;align-self:center;background:transparent}
body.boutique .refined-hero :is(.editorial-cover,.real-hero-photo img){display:block;width:100%;height:auto;max-height:750px;aspect-ratio:auto;object-fit:contain;border-radius:0}
body.boutique .refined-hero figcaption{font-size:11px;line-height:1.5;color:var(--muted);background:var(--paper);padding:12px 0 0}
body.boutique .refined-hero-description .editorial-actions{gap:20px;align-items:center;flex-wrap:wrap}

/* More room for the existing photographs, without cropping or hiding any. */
body.boutique .real-mosaic.refined-mosaic{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:32px;columns:auto;align-items:center}
body.boutique .refined-mosaic > .real-photo{grid-column:span 2;margin:0;background:transparent}
body.boutique .refined-mosaic > .real-photo:first-child{grid-column:span 4}
body.boutique .refined-mosaic .real-photo img{width:100%;height:auto;object-fit:contain;aspect-ratio:auto}
body.boutique .boutique-gallery-grid{gap:32px;align-items:start}
body.boutique .boutique-gallery-grid img{background:var(--tint)}
body.boutique .real-photo:focus-visible,body.boutique .real-hero-photo:focus-visible,body.boutique .gallery-card:focus-visible{outline:2px solid var(--red);outline-offset:5px}

/* Keep logistical detail visible, grouped with the section it explains. */
body.boutique .refined-location-details{padding:36px 0 0;margin:40px 0 0;border-top:1px solid var(--line);background:transparent}
body.boutique .refined-location-details>.wrap{width:100%;max-width:none}
body.boutique .refined-location-details .distinction-heading{max-width:740px;margin:0 0 28px;text-align:left}
body.boutique .refined-location-details h2{font-size:clamp(26px,2.4vw,34px)}
body.boutique .refined-location-details .local-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
body.boutique .refined-location-details .boutique-open-section{padding:20px 0 0;margin:0}
body.boutique .refined-location-details .boutique-open-section h3{font-size:23px}
body.boutique .refined-preparation>.boutique-open-section{border:0;padding:0}
body.boutique .refined-preparation .planning{width:100%;padding:0;margin:0;gap:36px}
body.boutique .refined-preparation .location-note{background:transparent;border:0;border-top:1px solid var(--line);padding:24px 0;margin-top:28px}
body.boutique .review-carousel .review-grid article.review-original{background:var(--paper);border:1px solid var(--line);border-radius:0}
body.boutique .review-context{color:var(--muted);font-size:12px;letter-spacing:.03em}
body.boutique .review-testimonial .review-author{color:var(--wine)}
body.boutique .review-testimonial blockquote{color:var(--ink)}
body.boutique .review-testimonial .review-source-link{color:var(--red);border-color:var(--line)}
body.boutique .review-controls button{border:1px solid var(--wine);color:var(--wine);background:transparent;border-radius:3px}
body.boutique .consult-section .form-shell{border-color:var(--gold)}
body.boutique :is(footer,.home-footer){border-color:var(--gold)}
body.boutique :is(footer,.home-footer) :is(p,a,span){color:var(--ivory)}

@media(max-width:1000px){
 body.boutique :is(.boutique-hero,.real-hero).refined-hero{width:calc(100% - 48px);gap:24px 32px}
 body.boutique .refined-hero-title,body.boutique .refined-hero-description{padding-left:0}
 body.boutique .refined-location-details .local-options{gap:24px}
}
@media(max-width:760px){
 body.boutique :is(.home-header,.header-row){min-height:76px;padding-block:12px;gap:14px}
 body.boutique :is(.home-header,.header-row) .brand{width:140px;flex-basis:140px}
 body.boutique :is(.home-header nav a[data-inquiry-cta],.header-row a.button){font-size:11px!important;padding:12px 14px!important;min-height:46px;max-width:168px}
 body.boutique :is(.boutique-hero,.real-hero).refined-hero{display:flex;flex-direction:column;gap:0;width:100%;margin:0}
 body.boutique .refined-hero-title{order:0;align-self:stretch;padding:28px 24px 24px}
 body.boutique .refined-hero-title .eyebrow{font-size:11px;letter-spacing:.08em;line-height:1.6;margin-bottom:14px}
 body.boutique .refined-hero-title h1{font-size:36px;line-height:1.17;margin:0;max-width:100%;letter-spacing:-.045em}
 body.boutique .refined-hero :is(.boutique-hero-image,.real-hero-photo){order:1;width:calc(100% - 40px);margin:0 20px}
 body.boutique .refined-hero :is(.editorial-cover,.real-hero-photo img){height:auto;max-height:none;object-fit:contain}
 body.boutique .refined-hero-description{order:2;padding:26px 24px 12px;max-width:none;width:100%}
 body.boutique .refined-hero-description .editorial-lead{font-size:16px;line-height:1.75;margin-bottom:22px}
 body.boutique .refined-hero-description .editorial-actions{gap:18px}
 body.boutique .refined-hero-description .editorial-actions a.button{font-size:12px!important;padding:14px 18px!important}
 body.boutique .real-mosaic.refined-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px;align-items:center}
 body.boutique .refined-mosaic>.real-photo{grid-column:span 1}
 body.boutique .refined-mosaic>.real-photo:is(:first-child,:nth-child(4)){grid-column:1 / -1}
 body.boutique .boutique-gallery-grid{gap:24px 14px}
 body.boutique .refined-location-details .local-options{grid-template-columns:1fr;gap:16px}
 body.boutique .refined-location-details{margin-top:32px;padding-top:32px}
 body.boutique .refined-location-details h2{font-size:28px}
 body.boutique .refined-preparation .planning{display:block}
 body.boutique .eyebrow{font-size:11px;letter-spacing:.08em}
}
@media(max-width:380px){
 body.boutique .refined-hero-title h1{font-size:33px}
 body.boutique :is(.home-header,.header-row){gap:10px}
 body.boutique :is(.home-header nav a[data-inquiry-cta],.header-row a.button){font-size:10px!important;padding:11px 10px!important}
}
@media(prefers-reduced-motion:reduce){
 body.boutique :is(a.button,button.button,.home-header nav a[data-inquiry-cta]),
 body.boutique :is(a.button,button.button,.home-header nav a[data-inquiry-cta]):is(:hover,:active,.is-touch-pressed){transition:none!important;transform:none!important}
}
@media(forced-colors:active){
 body.boutique,body.boutique main :is(section,.section),body.boutique :is(footer,.home-footer){background:Canvas;color:CanvasText}
 body.boutique :is(h1,h2,h3,h4,h5,h6,p,li,figcaption,.eyebrow){color:CanvasText!important}
 body.boutique :is(a.button,button.button,.home-header nav a[data-inquiry-cta]){background:ButtonFace!important;color:ButtonText!important;border-color:ButtonText!important}
 body.boutique :is(a.button,button.button,.home-header nav a[data-inquiry-cta]):focus-visible{outline-color:Highlight}
}
/* Quiet review navigation; the fixed-height track remains swipeable. */
body.boutique .review-carousel .review-controls{background:transparent;border:0;border-radius:0;box-shadow:none}
body.boutique .review-carousel .review-controls .review-next{background:var(--wine);color:var(--ivory)}
body.boutique .review-carousel .review-controls .review-prev{background:transparent;color:var(--wine)}
body.boutique .review-carousel .review-controls button:disabled{opacity:.4}
body.boutique .review-carousel .review-grid{scrollbar-width:none}
body.boutique .review-carousel .review-grid::-webkit-scrollbar{display:none}
