
/* Otium: reversible visual trial. The existing motion and logo are preserved. */
:root { --otium-trial-cream:#f4f0e7; --otium-trial-ink:#263329; }
.home-page .button { min-height:48px; border-radius:6px; transition:background-color .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease; }
.home-page .arrival-copy .button-light,
.home-page .site-header .nav-book,
.home-page .mobile-booking .button { background:#e5dfc8!important; color:#233027!important; border-color:#e5dfc8!important; font-weight:600; }
.home-page .arrival-copy .button-light:hover,
.home-page .site-header .nav-book:hover,
.home-page .mobile-booking .button:hover { background:#f5f0df!important; border-color:#f5f0df!important; box-shadow:0 5px 24px #0002; }
.home-page .arrival-intro { color:#f6f1e8; }
.home-page .arrival-price { color:#ece5d6; }
.home-page .personal-welcome,
.home-page #studio,
.home-page #faq { background:var(--otium-trial-cream)!important; color:var(--otium-trial-ink)!important; }
.home-page :is(.personal-welcome,#studio,#faq) :is(h2,h3,p,summary,dt,dd,a) { color:var(--otium-trial-ink); }
.home-page :is(.personal-welcome,#studio,#faq) .eyebrow { color:#586344; }
.home-page :is(.personal-welcome,#studio,#faq) :is(h2,h3) em { color:#586344; }
.home-page :is(.personal-welcome,#studio,#faq) figcaption { color:#53604e; }
.home-page .personal-welcome img { aspect-ratio:auto; object-fit:contain; }
.home-page :is(.personal-welcome,#studio,#faq) .button { background:#334435!important; color:#fffaf0!important; border-color:#334435!important; }
.home-page :is(.personal-welcome,#studio,#faq) .button:hover { background:#46583e!important; }
.home-page :is(.personal-welcome,#studio,#faq) :is(.faq-item,.faq-list) { border-color:#c8ccbc!important; }
.home-page #faq :is(.faq-item,.faq-answer,.faq-list) { background:transparent!important; }
.home-page #studio .studio-image-window { border-radius:8px; }
.home-page .personal-welcome img { border-radius:8px; }
.home-page .massage-discovery .button { background:#e5dfc8!important; color:#233027!important; border-color:#e5dfc8!important; }
.home-page .massage-choices label { min-height:64px; }
.home-page .oil-tabs button { min-height:52px; }
.home-page .button:focus-visible,
.home-page button:focus-visible,
.home-page summary:focus-visible { outline:3px solid #b89b56; outline-offset:5px; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .home-page .button:hover { transform:translateY(-2px); }
}
@media(max-width:760px) {
 .home-page .section { padding-top:64px; padding-bottom:64px; }
 .home-page .arrival-copy .button { min-height:52px; }
 .home-page .mobile-booking { background:#182319f2; border-top:1px solid #ffffff29; padding-bottom:max(12px,env(safe-area-inset-bottom)); }
 .home-page .mobile-booking>a:not(.button) { color:#f5f0e4; }
 .home-page .personal-welcome img { width:100%; max-height:none; object-fit:contain; }
 .home-page #studio .studio-image-window img { width:100%; height:auto; object-fit:contain; }
 .home-page .oil-tabs button { padding-left:8px; padding-right:8px; }
}
@media(prefers-reduced-motion:reduce) { .home-page .button { transition:none; } }


/* Calm, consistent feedback. Selection never navigates or books. */
.home-page .massage-choices label { cursor:pointer; transition:background-color .25s ease; }
.home-page .massage-choices label:has(input:checked) { outline:none; background:#303c29; }
.home-page .massage-choices label:has(input:focus-visible) { outline:2px solid #cbb481; outline-offset:-4px; }
.home-page .massage-choices::after { transition:transform .4s cubic-bezier(.22,.68,.12,1); }
.home-page .outreach-option { transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease; }
.home-page .outreach-action::after { transition:transform .3s ease; }
.home-page .text-link { background-image:linear-gradient(currentColor,currentColor); background-repeat:no-repeat; background-position:0 100%; background-size:0 1px; transition:background-size .35s ease,color .25s ease; }
.home-page .faq-item summary { transition:background-color .25s ease; }
.home-page .faq-item summary>span { transition:transform .25s ease; }
@media(hover:hover) and (pointer:fine) {
 .home-page .massage-choices label:hover { background:#35432e; }
 .home-page .outreach-option:hover { background:#303c29; border-color:#bfa770; box-shadow:0 8px 24px #00000018; }
 .home-page .text-link:hover { background-size:100% 1px; }
 .home-page #faq .faq-item summary:hover { background:#e8e7dc; }
}
.home-page .outreach-option:focus-visible { outline:2px solid #cbb481; outline-offset:5px; }
.home-page .text-link:focus-visible { background-size:100% 1px; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .home-page .outreach-option:hover { transform:translateY(-3px); }
 .home-page .outreach-option:hover .outreach-action::after { transform:translate(4px,-4px); }
}
@media(prefers-reduced-motion:reduce) {
 .home-page :is(.massage-choices label,.massage-choices::after,.outreach-option,.outreach-action::after,.text-link,.faq-item summary,.faq-item summary>span) { transition:none; }
}

