/* SPA study: linen, walnut, bronze and a restrained plum accent.
   Kept separate so the previous wine edition remains recoverable in history. */
:root{--paper:#f8f6f1;--ink:#302a25;--wine:#633b50;--gold:#a17c50;--balm-title:28px;--balm-text:17px;color-scheme:light}
html,body{background:var(--paper);color:var(--ink)}
body{font-family:Arial,sans-serif;-webkit-font-smoothing:antialiased}
body :is(p,li,small,dd){line-height:1.55}
body :is(h1,h2,h3,h4){color:var(--ink);letter-spacing:-.025em!important}
body :is(a,button,input,summary):focus-visible{outline:3px solid #633b50;outline-offset:4px}
::selection{background:#e7d8e0;color:#302a25}
.service-carousel{max-width:1160px;padding:32px 32px 40px;min-height:80svh;justify-content:center}
.service-carousel>h1{margin:0 0 24px}
.service-choice-tabs{gap:8px;padding:5px;border:1px solid #e3ddd3;border-radius:12px;background:#eeebe4;margin-bottom:22px}
.service-choice-tabs button{background:transparent;border:1px solid transparent;color:#5c5148;border-radius:8px;min-height:48px;padding:10px 6px;transition:background .2s,color .2s}
.service-choice-tabs button[aria-selected=true]{background:#633b50;color:#fffaf4;border-color:#633b50}
.service-choice-tabs button:hover{background:#e1d8d3;color:#302a25}
.service-choice-tabs button[aria-selected=true]:hover{background:#513041;color:#fffaf4}
.carousel-media{overflow:hidden;border-radius:12px;background:#241e1a}
.carousel-media video{background:#241e1a;object-fit:contain}
.carousel-details{padding-top:20px}
.carousel-detail>p{color:#51473f;line-height:1.55}
.carousel-detail .service-facts{color:#302a25;margin:18px 0;gap:18px}
.service-facts>strong{color:#302a25;font-family:Georgia,serif;font-weight:400}
.service-facts>span{color:#6a5c50;border-color:#c8b7a4}
.service-actions{max-width:none;gap:10px;margin-top:18px}
.service-actions a{border-radius:8px;border:1px solid #b7a18a;padding:13px 10px;min-height:52px}
.service-actions .button{background:#633b50!important;color:#fffaf4!important;border-color:#633b50}
.service-actions .button:hover{background:#513041!important}
.service-actions .gift-button{background:transparent!important;color:#513e32!important;border-color:#b7a18a}
.service-actions .gift-button:hover{background:#eee7dd!important}
.service-info{border-top:1px solid #dfd6cb;margin-top:20px}
.service-info>summary{color:#625446;text-decoration:none;padding:14px 0}
.info-content{border-color:#dfd6cb;color:#51473f}.info-content a{color:#633b50}.info-content h3{color:#302a25}
.carousel-detail.double-panel{background:transparent;color:#302a25}
.double-panel .double-card{background:#fffdf9;color:#302a25;border:1px solid #d7cbbd;border-radius:8px}
.double-panel .double-card :is(h3,p,.double-facts){color:inherit}
.double-panel .double-option input:checked+.double-card{background:#eee5eb;border-color:#633b50;color:#302a25}
.double-option input{accent-color:#633b50}.double-panel .double-action{background:transparent;color:#302a25}
.voices.proof-section{padding:40px 32px;background:#eee8de;color:#302a25}
.testimonial-film{max-width:1096px;margin:auto;background:#34271f;border:0;border-radius:12px;overflow:hidden;color:#fff6e8;min-height:0}
.testimonial-film-masthead{background:#f5f0e7;color:#302a25;border:0;padding:24px;gap:20px}
.testimonial-film-masthead :is(h2,a,small,span){color:#4c3c2e}
.testimonial-film-masthead .google-mark{border-color:#b7a18a;color:#633b50}
.testimonial-canvas.quote-card{background:#34271f;border:0;margin:0;padding:0;min-height:340px}
.testimonial-scene{padding:40px;min-height:340px;color:#fff6e8}
.testimonial-scene-wine{background:linear-gradient(130deg,#392b23,#5b4234)}
.testimonial-scene-ink{background:linear-gradient(130deg,#292621,#454036)}
.testimonial-scene-ember{background:linear-gradient(130deg,#493227,#70513a)}
.testimonial-scene-cream{background:linear-gradient(130deg,#e9dfcf,#f2eade);color:#3e3027}
.testimonial-scene:before{background:radial-gradient(ellipse at 75% 20%,#e2bb7f24,transparent 65%)}
.testimonial-scene :is(p,span,blockquote,strong){color:inherit}
.testimonial-scene-content{max-width:850px;margin:auto}
body .testimonial-quote{font-size:var(--balm-title)!important;line-height:1.45!important;letter-spacing:-.02em;max-width:48ch;text-wrap:pretty}
.testimonial-scene-chapter{opacity:.8}.testimonial-scene footer{flex-wrap:wrap;letter-spacing:0;gap:8px}
.testimonial-film-toolbar{background:#2c241e;color:#fff6e8;border-color:#ffffff20;padding:18px 24px}
.testimonial-film-toolbar>p{color:#f0dfc8}
.testimonial-film-controls button{color:#fff6e8;background:transparent;border:1px solid #a58c72;border-radius:6px}
.testimonial-film-progress{background:#675243}.testimonial-film-progress span{background:#dfbf8b}
.voices .quote-note{max-width:1096px;margin:20px auto;color:#6a5b4c}
.voices .closing{max-width:1096px;margin:36px auto 0;padding:28px 0 0;background:transparent;color:#302a25;border-top:1px solid #d3c6b4}
.voices .closing p,.voices .closing .eyebrow{color:#675747}
.voices .closing video{border-radius:10px;background:#241e1a}
section.arrival-opening{background:var(--paper);border:0;padding:40px 32px;max-width:1160px;color:#302a25}
.arrival-copy a{color:#633b50}.arrival-copy p{color:#51473f}.arrival-door{border:0;border-radius:6px}
.site-footer{background:#eee8de;color:#5e4c3d;padding:24px 32px}
.site-footer .top-nav{gap:12px}.site-footer .top-nav a{color:#5e4c3d;border:0;border-bottom:1px solid #cdbcaa;justify-content:flex-start;padding:12px 0}
.spa-timezone-note{background:#f8f6f1;color:#6a5b4c}
@media(min-width:860px){
.service-carousel{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);column-gap:40px;align-content:center;align-items:start}
.service-carousel>h1,.service-choice-tabs{grid-column:1/-1}
.carousel-media{grid-column:1;grid-row:3}.carousel-media video{height:480px;max-height:65svh}
.carousel-details{grid-column:2;grid-row:3;padding:8px 0 0}
.service-carousel.has-choice{padding-top:24px;min-height:80svh;align-content:start}
.service-carousel.has-choice .carousel-media,.service-carousel.has-choice .carousel-details{grid-row:2}
}
@media(max-width:720px){
:root{--balm-text:17px;--balm-title:28px}
.service-carousel{padding:24px 18px 28px;min-height:0}.service-carousel>h1{margin-bottom:20px}
.service-choice-tabs{gap:3px;padding:4px;margin-bottom:14px}.service-choice-tabs button{padding:8px 2px;white-space:nowrap}
.carousel-media{border-radius:10px}.carousel-media video{height:clamp(220px,39svh,380px);max-height:39svh}
.carousel-details{padding-top:16px}.carousel-detail .service-facts{margin:14px 0}.service-actions{margin-top:14px}
.voices.proof-section{padding:28px 18px}.testimonial-film-masthead{padding:20px;gap:16px}
.testimonial-scene{padding:28px 22px}.testimonial-canvas.quote-card,.testimonial-scene{min-height:360px}
.testimonial-film-toolbar{padding:16px;gap:14px}.testimonial-film-controls{gap:8px}
section.arrival-opening{padding:28px 18px}.site-footer{padding:24px 18px}
}
@media(prefers-reduced-motion:reduce){.service-choice-tabs button{transition:none}}
/* Readability correction on linen: full-opacity ink and a larger text tier. */
:root{--balm-text:18px}
body :is(.carousel-detail>p,.service-facts>span,.service-info>summary,.info-content,.info-content p,.info-content a,.arrival-copy p,.arrival-copy a,.spa-timezone-note,.site-footer,.site-footer p,.site-footer .top-nav a,.voices .quote-note,.voices .closing p,.voices .closing .eyebrow,.testimonial-film-masthead a,.testimonial-film-masthead small,.testimonial-film-masthead span){color:#30271f;opacity:1;font-weight:500}
body .service-choice-tabs button{font-weight:600}
body .service-choice-tabs button:not([aria-selected=true]){color:#30271f}
body .service-info>summary,body .service-actions a{font-weight:600}
body .testimonial-scene-chapter,body .testimonial-scene footer span{opacity:1;font-weight:500}
body .testimonial-film-toolbar>p{color:#fff6e8;opacity:1}

/* Portrait carousel: the player follows the film rather than a wide frame. */
body .service-carousel .carousel-media{width:100%;max-width:420px;aspect-ratio:9/16;margin-inline:auto;position:relative}
body .service-carousel .carousel-media video{width:100%;height:100%;max-height:none;aspect-ratio:9/16;object-fit:cover;display:block}
body .carousel-enable-sound{position:absolute;top:14px;right:14px;z-index:2;border:1px solid #fff7e6;border-radius:24px;background:#30271feb;color:#fff7e6;padding:10px 16px;min-height:48px;font-weight:600}
body .carousel-enable-sound[hidden]{display:none!important}

/* The existing four tabs become a visible film chooser. */
body .choice-instruction{color:#30271f;margin:-10px 0 18px;font-weight:500;line-height:1.4}
body .service-choice-tabs{padding:0;background:transparent;border:0;border-radius:0;gap:10px;align-items:stretch}
body .service-choice-tabs button{padding:4px;border:2px solid #d7cec3;background:#eee8df;overflow:hidden;display:flex;flex-direction:column;gap:6px;border-radius:10px;color:#30271f}
body .service-choice-tabs button[aria-selected=true]{border-color:#633b50;background:#633b50;color:#fffaf4}
.choice-preview{display:block;position:relative;width:100%;height:78px;border-radius:5px;overflow:hidden;background:#30271f}
.choice-preview img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}
body .choice-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#211a14c9;color:#fffaf4;font-size:18px!important;line-height:1;box-shadow:0 0 0 1px #ffffffb0}
.choice-label{display:block;padding:2px 0 4px;white-space:nowrap;line-height:1.3}
.service-carousel.has-choice .choice-instruction{display:none}
@media(min-width:860px){
.choice-instruction{grid-column:1/-1}
.service-carousel:not(.has-choice) .carousel-media,.service-carousel:not(.has-choice) .carousel-details{grid-row:4}
.choice-preview{height:100px}
}
@media(max-width:380px){body .service-choice-tabs{gap:5px}.choice-preview{height:66px}body .service-choice-tabs button{padding:3px}}
