/* Rituais visual system: one component layer, three controlled token palettes.
 * Core is also the neutral Gutenberg preview. No styling JavaScript.
 */
:root {
 --rituais-primary:#205b60;
 --rituais-primary-hover:#17474b;
 --rituais-primary-soft:#e4f0ee;
 --rituais-accent:#b5a17f;
 --rituais-accent-soft:#eee5d8;
 --rituais-accent-strong:#6d583e;
 --rituais-bg:#fffdf9;
 --rituais-bg-alt:#faf6f0;
 --rituais-surface:#fffdf9;
 --rituais-surface-premium:#e7dccb;
 --rituais-heading:#253837;
 --rituais-text:#344442;
 --rituais-text-muted:#53605a;
 --rituais-border:#d8dfda;
 --rituais-border-premium:#c4b49a;
 --rituais-button-bg:#205b60;
 --rituais-button-text:#ffffff;
 --rituais-button-border:#205b60;
 --rituais-eyebrow:#205b60;
 --rituais-icon:#6d583e;
 --rituais-link:#205b60;
 --rituais-on-dark:#ffffff;
 --rituais-on-dark-muted:#e5eeea;
 --rituais-dark:#205b60;
 --rituais-focus:#205b60;
 --rituais-overlay-rgb:250 246 240;
 --rituais-image-scrim:#132e2beb;
 --rituais-shadow:0 8px 28px #2538370b;
 --rituais-shadow-hover:0 12px 32px #25383713;
 --rituais-voucher-button-bg:#205b60;
 --rituais-footer-bg:#faf6f0;
 --rituais-brand-signature:#205b60;
 --rituais-radius:2px;
 --rituais-rule-width:2rem;
}
.rituais-style-signature {
 --rituais-voucher-button-bg:#715831;
 --rituais-footer-bg:#eef1eb;
 --rituais-primary:#205b60;
 --rituais-primary-hover:#163f43;
 --rituais-primary-soft:#e3eeeb;
 --rituais-accent:#b29971;
 --rituais-accent-soft:#f0e7d8;
 --rituais-accent-strong:#715831;
 --rituais-bg:#fffdf8;
 --rituais-bg-alt:#f7f2e9;
 --rituais-surface:#fffdf8;
 --rituais-surface-premium:#e8dac2;
 --rituais-heading:#234442;
 --rituais-text:#354641;
 --rituais-text-muted:#58635a;
 --rituais-border:#dfd7c7;
 --rituais-border-premium:#b59b72;
 --rituais-button-bg:#205b60;
 --rituais-button-text:#ffffff;
 --rituais-button-border:#205b60;
 --rituais-eyebrow:#715831;
 --rituais-icon:#715831;
 --rituais-link:#205b60;
 --rituais-dark:#194d51;
 --rituais-focus:#205b60;
 --rituais-overlay-rgb:249 244 234;
 --rituais-image-scrim:#172c29ed;
 --rituais-shadow:0 8px 28px #5441260b;
 --rituais-shadow-hover:0 12px 32px #54412614;
 --rituais-rule-width:2.75rem;
}
.rituais-style-prestige {
 --rituais-voucher-button-bg:#705336;
 --rituais-footer-bg:#f0e6d9;
 --rituais-primary:#705336;
 --rituais-primary-hover:#503c2a;
 --rituais-primary-soft:#efe4d6;
 --rituais-accent:#b49770;
 --rituais-accent-soft:#f1e7da;
 --rituais-accent-strong:#735638;
 --rituais-bg:#fffcf7;
 --rituais-bg-alt:#f5eee5;
 --rituais-surface:#fffcf7;
 --rituais-surface-premium:#e6d5c1;
 --rituais-heading:#3e332d;
 --rituais-text:#4d423a;
 --rituais-text-muted:#695b50;
 --rituais-border:#ded0bf;
 --rituais-border-premium:#b49770;
 --rituais-button-bg:#705336;
 --rituais-button-text:#ffffff;
 --rituais-button-border:#705336;
 --rituais-eyebrow:#735638;
 --rituais-icon:#735638;
 --rituais-link:#705336;
 --rituais-dark:#44372d;
 --rituais-focus:#205b60;
 --rituais-overlay-rgb:249 242 232;
 --rituais-image-scrim:#30271fed;
 --rituais-shadow:0 8px 28px #55402c0b;
 --rituais-shadow-hover:0 12px 32px #55402c14;
 --rituais-rule-width:3rem;
}
/* Shared finish: layout and behaviour remain common to every palette. */
body { background:var(--rituais-bg); color:var(--rituais-text); }
h1,h2,h3 { color:var(--rituais-heading); font-variation-settings:"SOFT" 30,"WONK" 1; }
h1 { letter-spacing:-.045em; }
h2 { letter-spacing:-.035em; }
a:hover { color:var(--rituais-link); }
:focus-visible { outline:3px solid var(--rituais-focus); outline-offset:5px; }
.site-header { border-bottom:1px solid var(--rituais-border); box-shadow:0 3px 20px color-mix(in srgb,var(--rituais-heading) 3%,transparent); }
.header-inner { gap:clamp(1.2rem,2.3vw,2.25rem); }
.brand-logo { width:112px; max-height:80px; }
.site-navigation ul { gap:clamp(.8rem,1.55vw,1.6rem); }
.site-navigation a { letter-spacing:.025em; transition:color var(--transition),text-decoration-color var(--transition); }
.site-navigation li>a:not(.button) { text-decoration:underline; text-decoration-color:transparent; text-underline-offset:.45em; text-decoration-thickness:1px; }
.site-navigation li>a:hover,.site-navigation .current-menu-item>a { text-decoration-color:var(--rituais-border-premium); }
.site-navigation .sub-menu { border:1px solid var(--rituais-border); }
.eyebrow { color:var(--rituais-eyebrow); font-weight:500; letter-spacing:.18em; }
.hero-content>.eyebrow:before,.editorial-copy>.eyebrow:before,.promotion-copy>.eyebrow:before {
 content:""; display:inline-block; width:var(--rituais-rule-width); height:1px; margin-right:.85rem; vertical-align:middle; background:var(--rituais-accent);
}
.hero-content :is(h1,h2) { color:var(--rituais-primary); }
.hero-caption { border:1px solid var(--rituais-border-premium); font-size:.66rem; }
.button,.wp-block-button__link {
 background:var(--rituais-button-bg); color:var(--rituais-button-text); border:1px solid var(--rituais-button-border);
 border-radius:var(--rituais-radius); padding:.9rem 1.65rem; letter-spacing:.035em; font-size:.86rem; font-weight:500; min-height:50px;
 transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);
}
a.button:hover,.wp-block-button__link:hover { background:var(--rituais-primary-hover); border-color:var(--rituais-primary-hover); color:var(--rituais-on-dark); box-shadow:var(--rituais-shadow); }
.button-outline,.button-secondary,.button-ghost { background:transparent; color:var(--rituais-link); border-color:var(--rituais-border-premium); }
.button-ghost { border-color:transparent; }
.button-premium { background:var(--rituais-accent-soft); color:var(--rituais-accent-strong); border-color:var(--rituais-border-premium); }
.button-light { background:var(--rituais-bg); color:var(--rituais-primary); border-color:var(--rituais-bg); }
.header-booking { min-height:46px; padding:.7rem 1.4rem; }
.text-link { color:var(--rituais-link); border-color:var(--rituais-border-premium); text-underline-offset:.3em; transition:border-color var(--transition),color var(--transition); }
.text-link:hover { color:var(--rituais-primary-hover); border-color:var(--rituais-primary); }
.button>span,.text-link>span { color:inherit; transition:transform var(--transition); }
a.button:hover>span,.text-link:hover>span { transform:translateX(2px); }
.category-card { border-radius:var(--rituais-radius); box-shadow:var(--rituais-shadow); }
.category-card:after { inset:20% 0 0; background:linear-gradient(transparent 15%,var(--rituais-image-scrim) 100%); }
.category-card>span { bottom:1.35rem; line-height:1.35; text-shadow:0 1px 4px var(--rituais-image-scrim); }
.category-card i { display:grid; place-items:center; width:28px; height:28px; flex-shrink:0; border:1px solid color-mix(in srgb,var(--rituais-on-dark) 65%,transparent); border-radius:50%; font-size:.85rem; }
.category-card:focus-visible { outline-offset:5px; }
.treatment-card { border:1px solid var(--rituais-border); background:var(--rituais-surface); border-radius:var(--rituais-radius); overflow:hidden; box-shadow:var(--rituais-shadow); transition:border-color var(--transition),box-shadow var(--transition); }
.treatment-card:hover { border-color:var(--rituais-border-premium); box-shadow:var(--rituais-shadow-hover); }
.treatment-card .card-image { aspect-ratio:4/4.3; }
.card-image img { transition:transform 500ms ease; }
@media(hover:hover) { .treatment-card:hover .card-image img,.article-card:hover .card-image img { transform:scale(1.025); } }
.treatment-card .card-body { padding:1.35rem clamp(1rem,1.55vw,1.45rem) 1.2rem; }
.card-body .eyebrow { letter-spacing:.14em; font-size:.67rem; }
.card-body h3 { font-size:clamp(1.35rem,1.8vw,1.65rem); line-height:1.25; }
.card-body p { line-height:1.75; }
.card-actions { border-top:1px solid var(--rituais-border); padding-top:.6rem; gap:.6rem; flex-wrap:wrap; }
.card-actions .text-link { border-bottom:0; text-decoration:underline; text-decoration-color:var(--rituais-border-premium); font-size:.79rem; }
.editorial-photo>img,.promotion-photo img,.page-featured { border-radius:var(--rituais-radius); }
.photo-label { border-left:2px solid var(--rituais-accent); box-shadow:var(--rituais-shadow); }
.principles span { color:var(--rituais-icon); font-variant-numeric:tabular-nums; }
.voucher { border-block:1px solid var(--rituais-border-premium); }
.voucher .promotion-copy>.eyebrow { color:var(--rituais-accent-strong); }
.voucher .promotion-copy h2 { font-size:clamp(2.2rem,3.4vw,3.6rem); }
.voucher .button { background:var(--rituais-voucher-button-bg); border-color:var(--rituais-voucher-button-bg); }
.voucher a.button:hover { background:var(--rituais-primary-hover); border-color:var(--rituais-primary-hover); }
/* Homepage voucher CTA: white label in default, hover and focus states. */
.home .voucher .button,
.home .voucher .button:hover,
.home .voucher .button:focus-visible { color:var(--rituais-on-dark); }
.store .promotion-photo { border:1px solid var(--rituais-border); }
.booking-cta { background:var(--rituais-dark); border-top:1px solid var(--rituais-border-premium); }
.booking-cta h2 { color:var(--rituais-on-dark); }
.booking-cta .eyebrow,.booking-cta p { color:var(--rituais-on-dark-muted); }
.booking-cta .button-light:hover { background:var(--rituais-accent-soft); color:var(--rituais-heading); border-color:var(--rituais-accent-soft); }
.booking-cta :focus-visible { outline-color:var(--rituais-on-dark); }
.trust strong { color:var(--rituais-primary); }
.trust>*+* { border-left:1px solid var(--rituais-border); }
.quote-grid blockquote { border-left:1px solid var(--rituais-border-premium); padding-left:1.5rem; }
.site-footer { background:var(--rituais-footer-bg); border-top:1px solid var(--rituais-border); padding-top:4.5rem; }
.site-footer h2 { letter-spacing:.1em; text-transform:uppercase; font-size:.72rem; color:var(--rituais-eyebrow); }
.site-footer li a,.footer-contact>a,.footer-bottom a { text-decoration:underline; text-decoration-color:transparent; text-underline-offset:.3em; transition:text-decoration-color var(--transition),color var(--transition); }
.site-footer a:hover { text-decoration-color:currentColor; }
.footer-bottom { padding-block:1.6rem; }
.page-heading { padding-bottom:2rem; border-bottom:1px solid var(--rituais-border); }
.page-heading h1 { font-size:clamp(2.65rem,5vw,4.6rem); }
.page-heading nav { display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; }
.page-heading .button { margin-top:1.5rem; }
.entry-content { line-height:1.85; }
.entry-content :is(h2,h3) { scroll-margin-top:8rem; }
.entry-content a:not(.button):not(.wp-block-button__link) { color:var(--rituais-link); }
.entry-content blockquote { margin-inline:0; padding-left:1.5rem; border-left:2px solid var(--rituais-border-premium); }
.entry-content .wp-block-details { padding-block:1.1rem; border-block:1px solid var(--rituais-border); }
.entry-content summary { cursor:pointer; color:var(--rituais-heading); }
.treatment-booking { border-top:1px solid var(--rituais-border); margin-top:3rem; text-align:center; }
.treatment-booking h2 { margin-bottom:1.5rem; }
.treatment-categories { padding-block:.5rem 1rem; }
.treatment-categories [aria-current="page"] { color:var(--rituais-accent-strong); }
@media(max-width:1100px) {
 .header-inner { gap:1rem; }
 .brand-logo { width:94px; max-height:68px; }
 .site-navigation .sub-menu { border:0; }
 .treatment-card .card-image { aspect-ratio:1.1/1; }
}
@media(max-width:599px) {
 .header-inner { gap:.6rem; }
 .brand-logo { width:78px; max-height:62px; }
 .header-booking { padding:.7rem .9rem; font-size:.8rem; }
 .hero-content>.eyebrow:before { width:1.1rem; margin-right:.5rem; }
 .hero-content>.eyebrow { letter-spacing:.12em; }
 .treatment-card .card-image { aspect-ratio:1.15/1; }
 .card-body h3 { font-size:1.6rem; }
 .card-actions { justify-content:space-between; }
 .category-card>span { left:.8rem; right:.8rem; gap:.3rem; }
 .category-card i { width:24px; height:24px; }
 .trust>*+* { border-left:0; }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { transition:none!important; animation:none!important; } }

/* Second visual pass: editorial detail and breathing room around footer identity. */
.footer-brand .eyebrow { color:var(--rituais-brand-signature); }
.editorial-copy>.eyebrow { margin-bottom:1.3rem; }
.treatment-card:focus-within { border-color:var(--rituais-primary); }

/* ART DIRECTION — shared editorial rhythm, then deliberately distinct compositions. */
:root {
 --rituais-display:clamp(3.2rem,6.5vw,6.6rem);
 --rituais-editorial-title:clamp(2.6rem,4.5vw,4.5rem);
 --rituais-campaign-title:clamp(3rem,5.5vw,5.5rem);
 --rituais-atmosphere:color-mix(in srgb,var(--rituais-accent) 18%,transparent);
 --rituais-paper:color-mix(in srgb,var(--rituais-surface) 94%,transparent);
}
.rituais-style-prestige {
 --rituais-primary:#61513d; --rituais-primary-hover:#42382e;
 --rituais-accent:#b39d76; --rituais-accent-soft:#efe8da; --rituais-accent-strong:#6c5739;
 --rituais-bg:#fdfbf7; --rituais-bg-alt:#f5f0e9; --rituais-surface:#fffcf8;
 --rituais-surface-premium:#e9ddd3; --rituais-heading:#332f2b; --rituais-text:#48423d;
 --rituais-text-muted:#635b53; --rituais-border:#ded5c8; --rituais-border-premium:#b7a382;
 --rituais-button-bg:#39342e; --rituais-button-border:#847052; --rituais-eyebrow:#6c5739;
 --rituais-link:#61513d; --rituais-icon:#6c5739; --rituais-dark:#302b27;
 --rituais-footer-bg:#f1eae2; --rituais-voucher-button-bg:#39342e;
 --rituais-overlay-rgb:249 246 240;
}
.section { padding-block:clamp(4.5rem,8.8vw,8.5rem); }
/* Homepage rhythm: shorten the tail of the categories and store bands on tablet/desktop. */
@media(min-width:768px) {
 .home .categories { padding-bottom:clamp(2.5rem,4vw,3.5rem); }
 .home .store { padding-bottom:clamp(2.5rem,4vw,3.5rem); }
}
h2 { font-size:var(--rituais-editorial-title); line-height:1.06; letter-spacing:-.045em; }
.section-heading { align-items:center; margin-bottom:3rem; }
.section-heading h2 { max-width:14ch; }
.eyebrow { font-size:.68rem; letter-spacing:.21em; }
.hero { min-height:700px; height:min(820px,calc(100svh - var(--header-height))); }
.hero-content :is(h1,h2) { font-size:var(--rituais-display); max-width:10ch; line-height:1.01; letter-spacing:-.052em; margin-block:1.5rem 2rem; }
.hero-content p { max-width:23rem; font-size:1.03rem; line-height:1.85; margin-bottom:2.2rem; }
.hero-content>.eyebrow:before { width:3rem; }
.hero-caption { bottom:2.3rem; padding:.75rem 1.2rem; letter-spacing:.16em; }
.header-inner { min-height:6.1rem; }
.brand-logo { width:120px; max-height:82px; }
.site-navigation a { font-size:.81rem; letter-spacing:.04em; }
.header-booking { border-color:var(--rituais-border-premium); }
.button,.wp-block-button__link { padding:1rem 1.9rem; min-height:54px; font-size:.8rem; letter-spacing:.075em; box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--rituais-button-text) 7%,transparent); }
.button>span { margin-left:.6rem; }
a.button:hover>span { transform:translateX(3px); }
.button-outline,.button-secondary,.button-ghost { box-shadow:none; }
.button-premium { box-shadow:inset 0 0 0 3px var(--rituais-surface); }
.header-booking { min-height:46px; padding:.7rem 1.5rem; }
.category-grid { gap:1.4rem; align-items:start; }
.category-card { aspect-ratio:3/4.6; box-shadow:none; }
.category-card>span { font-size:clamp(1.2rem,1.7vw,1.7rem); font-weight:400; left:1rem; right:1rem; bottom:1.5rem; }
.category-card i { border:0; border-bottom:1px solid var(--rituais-border-premium); border-radius:0; }
.category-card img { transition:transform 850ms cubic-bezier(.2,.6,.2,1); }
@media(hover:hover) { .category-card:hover img { transform:scale(1.08); } .category-card:hover i { transform:translateX(3px); } }
.category-card i { transition:transform var(--transition); }
.featured { background:linear-gradient(180deg,var(--rituais-bg-alt),var(--rituais-bg)); }
.treatment-grid { gap:2rem; align-items:start; }
.treatment-card { background:transparent; border:0; box-shadow:none; overflow:visible; }
.treatment-card:hover { box-shadow:none; }
.treatment-card .card-image { aspect-ratio:3/4; position:relative; }
.treatment-card .card-body { padding:1.5rem 0 0; }
.card-body .eyebrow { margin-bottom:.7rem; }
.card-body h3 { font-size:clamp(1.6rem,2.2vw,2.2rem); line-height:1.13; letter-spacing:-.035em; }
.card-body p { margin-top:.2rem; font-size:.9rem; }
.card-actions { padding-top:.9rem; }
.card-actions .text-link { font-size:.79rem; }
.editorial-grid { gap:clamp(3rem,8vw,8rem); }
.editorial-copy h2 { font-size:var(--rituais-editorial-title); line-height:1.08; max-width:13ch; }
.editorial-copy>p { font-size:1rem; line-height:1.9; }
.experience { position:relative; isolation:isolate; }
.experience .editorial-photo { padding:1rem 1rem 0 0; }
.experience .editorial-photo:before { content:""; position:absolute; inset:0 0 2.5rem 2.5rem; border:1px solid var(--rituais-border-premium); z-index:-1; }
.experience .editorial-photo>img { aspect-ratio:4/5; }
.photo-label { right:-2rem; bottom:2.5rem; max-width:90%; padding:1.5rem 2.2rem; font-size:1.35rem; }
.experience .editorial-copy:before { content:""; display:block; width:5rem; height:1px; background:var(--rituais-accent); margin-bottom:2.5rem; }
.technology { padding-top:2rem; }
.technology .editorial-photo { padding:1.8rem; border:1px solid var(--rituais-border-premium); background:var(--rituais-bg-alt); }
.technology .editorial-photo>img { aspect-ratio:4/5; }
.principles { margin-top:2.2rem; }
.principles li { padding:1rem 0; align-items:center; }
.principles span { font:italic 1.3rem var(--font-heading); min-width:2rem; }
.voucher { padding-block:0; position:relative; background:linear-gradient(120deg,var(--rituais-bg-alt),var(--rituais-surface-premium)); }
.voucher .promotion-grid { grid-template-columns:.95fr 1.05fr; gap:3rem; }
.voucher .promotion-copy { padding-block:5rem; }
.voucher .promotion-copy h2 { font-size:var(--rituais-campaign-title); max-width:10ch; line-height:1.02; }
.voucher .promotion-photo { padding:2rem 0; }
.voucher .promotion-photo img { aspect-ratio:1/1.06; object-fit:cover; }
.voucher .promotion-copy:after { content:""; display:block; width:4rem; height:1px; background:var(--rituais-accent); margin-top:2.5rem; }
.store .promotion-grid { grid-template-columns:1.2fr .8fr; gap:clamp(3rem,6vw,6rem); }
.store .promotion-photo { border:0; }
.store .promotion-photo img { aspect-ratio:1/1; }
.store .promotion-copy { padding:0; }
.store .promotion-copy h2 { font-size:var(--rituais-editorial-title); line-height:1.08; }
.booking-cta { position:relative; overflow:hidden; isolation:isolate; padding-block:clamp(5rem,9vw,9rem); background:radial-gradient(ellipse at 50% 0%,var(--rituais-atmosphere),transparent 65%),var(--rituais-dark); }
.booking-cta:before { content:""; position:absolute; inset:1.3rem; border:1px solid color-mix(in srgb,var(--rituais-border-premium) 42%,transparent); z-index:-1; pointer-events:none; }
.booking-cta h2 { font-size:clamp(3.1rem,5.9vw,6rem); line-height:1.06; max-width:15ch; }
.booking-cta .eyebrow:before { content:""; display:block; width:3rem; height:1px; background:var(--rituais-accent); margin:0 auto 2rem; }
.booking-cta p { max-width:28rem; margin-inline:auto; }
.site-footer { padding-top:5.5rem; }
.footer-grid { grid-template-columns:1.5fr 1fr .9fr 1.4fr .7fr; gap:2.5rem; padding-bottom:4.5rem; }
.footer-brand .brand-logo { width:150px; max-height:110px; }
.footer-brand p { font:1.25rem/1.4 var(--font-heading); max-width:12rem; }
.site-footer h2 { margin-top:.5rem; letter-spacing:.15em; font-size:.68rem; }
.footer-bottom { padding-block:1.8rem; }
.page-heading h1 { font-size:clamp(3rem,6vw,5.6rem); }
/* CORE: open compositions and precise, quiet editorial framing. */
.rituais-style-core .categories .section-heading { padding-top:1.5rem; border-top:1px solid var(--rituais-border-premium); }
.rituais-style-core .category-card { border-radius:2px 2px 3rem 2px; }
.rituais-style-core .treatment-card .card-image { box-shadow:0 8px 30px color-mix(in srgb,var(--rituais-heading) 7%,transparent); }
/* SIGNATURE: teal campaign, champagne inlays, offset photography. */
.rituais-style-signature .hero { background:var(--rituais-dark); }
.rituais-style-signature .hero-image { left:34%; }
.rituais-style-signature .hero:after { background:linear-gradient(90deg,var(--rituais-dark) 0%,var(--rituais-dark) 30%,color-mix(in srgb,var(--rituais-dark) 95%,transparent) 40%,transparent 65%); }
.rituais-style-signature .hero-content :is(h1,h2) { color:var(--rituais-on-dark); max-width:8ch; }
.rituais-style-signature .hero-content>.eyebrow { color:var(--rituais-accent-soft); max-width:28rem; }
.rituais-style-signature .hero-content>p { color:var(--rituais-on-dark-muted); max-width:21rem; }
.rituais-style-signature .hero-content .button { background:var(--rituais-accent-soft); color:var(--rituais-dark); border-color:var(--rituais-border-premium); }
.rituais-style-signature .hero-content .text-link { color:var(--rituais-on-dark); }
.rituais-style-signature .hero-content :focus-visible { outline-color:var(--rituais-on-dark); }
.rituais-style-signature .hero-caption { background:var(--rituais-bg); }
.rituais-style-signature .categories { background:var(--rituais-bg-alt); }
.rituais-style-signature .category-card { border-bottom:3px solid var(--rituais-accent); }
.rituais-style-signature .experience { background:var(--rituais-primary-soft); }
.rituais-style-signature .experience .editorial-photo { padding:1.3rem; background:var(--rituais-dark); }
.rituais-style-signature .experience .editorial-photo:before { inset:.6rem; border-color:var(--rituais-border-premium); z-index:1; pointer-events:none; }
.rituais-style-signature .photo-label { background:var(--rituais-dark); color:var(--rituais-accent-soft); z-index:2; }
.rituais-style-signature .technology { padding-top:clamp(4.5rem,8.8vw,8.5rem); }
.rituais-style-signature .technology .editorial-photo { background:var(--rituais-primary-soft); padding:2.5rem; }
.rituais-style-signature .voucher .promotion-copy { border-left:1px solid var(--rituais-accent); padding-left:2.5rem; }
.rituais-style-signature .voucher .promotion-photo img { border-radius:0 0 0 5rem; }
.rituais-style-signature .store .promotion-photo { padding:1.2rem; border:1px solid var(--rituais-border-premium); }
.rituais-style-signature .site-footer { border-top:5px solid var(--rituais-accent); }
/* PRESTIGE: light atelier surfaces, portrait arches and a couture campaign panel. */
.rituais-style-prestige .hero { background:linear-gradient(110deg,var(--rituais-bg),var(--rituais-surface-premium)); padding-block:3rem; }
.rituais-style-prestige .hero-image { inset:2rem 3rem 2rem 42%; overflow:hidden; border-radius:45% 45% 2px 2px; border:1px solid var(--rituais-border-premium); }
.rituais-style-prestige .hero-image img { object-position:67% center; }
.rituais-style-prestige .hero:after { display:none; }
.rituais-style-prestige .hero-content { width:48%; max-width:680px; margin-left:var(--gutter); margin-right:auto; background:var(--rituais-paper); border:1px solid var(--rituais-border-premium); padding:clamp(2rem,3.5vw,4rem); box-shadow:var(--rituais-shadow); }
.rituais-style-prestige .hero-content :is(h1,h2) { color:var(--rituais-heading); font-size:clamp(3.5rem,5.9vw,6rem); font-style:italic; max-width:9ch; }
.rituais-style-prestige .hero-caption { right:4.5rem; bottom:3rem; }
.rituais-style-prestige .section-heading { text-align:center; flex-direction:column; align-items:center; gap:1.2rem; }
.rituais-style-prestige .section-heading h2 { max-width:18ch; }
.rituais-style-prestige .section-heading>p { max-width:28rem; }
.rituais-style-prestige .category-card { border-radius:48% 48% 1px 1px; border:1px solid var(--rituais-border-premium); }
.rituais-style-prestige .category-card>span { flex-direction:column; text-align:center; gap:.6rem; }
.rituais-style-prestige .category-card i { height:18px; }
.rituais-style-prestige .featured { background:linear-gradient(145deg,var(--rituais-bg-alt),var(--rituais-accent-soft)); }
.rituais-style-prestige .treatment-card .card-image { border-radius:48% 48% 2px 2px; }
.rituais-style-prestige .treatment-card .card-body { text-align:center; padding-inline:.4rem; }
.rituais-style-prestige .card-actions { justify-content:center; gap:1.8rem; }
.rituais-style-prestige .experience .editorial-photo { padding:0; }
.rituais-style-prestige .experience .editorial-photo>img { border-radius:45% 45% 2px 2px; }
.rituais-style-prestige .experience .editorial-photo:before { inset:1.3rem -1.3rem -1.3rem 1.3rem; border-radius:45% 45% 2px 2px; }
.rituais-style-prestige .editorial-copy h2 { font-style:italic; }
.rituais-style-prestige .photo-label { right:-2rem; bottom:3rem; background:var(--rituais-paper); border:1px solid var(--rituais-border-premium); }
.rituais-style-prestige .technology .editorial-photo { background:linear-gradient(135deg,var(--rituais-bg),var(--rituais-surface-premium)); padding:2.5rem; border-radius:48% 48% 2px 2px; }
.rituais-style-prestige .technology .editorial-photo>img { border-radius:48% 48% 2px 2px; }
.rituais-style-prestige .voucher { margin-inline:var(--gutter); border:1px solid var(--rituais-border-premium); background:radial-gradient(ellipse at top left,var(--rituais-bg),transparent 80%),var(--rituais-surface-premium); }
.rituais-style-prestige .voucher .promotion-grid { gap:1rem; }
.rituais-style-prestige .voucher .promotion-copy { padding:4.5rem 0; }
.rituais-style-prestige .voucher .promotion-copy h2 { font-style:italic; }
.rituais-style-prestige .voucher .promotion-photo { padding:2rem 0 2rem 1rem; }
.rituais-style-prestige .voucher .promotion-photo img { border-radius:48% 48% 2px 2px; }
.rituais-style-prestige .store .promotion-photo { position:relative; padding:2rem; background:var(--rituais-bg-alt); }
.rituais-style-prestige .store .promotion-copy { padding:2rem; margin-left:-5rem; background:var(--rituais-paper); border:1px solid var(--rituais-border-premium); z-index:1; }
.rituais-style-prestige .booking-cta h2 { font-style:italic; }
.rituais-style-prestige .booking-cta:before { inset:1.6rem; border-radius:45% 45% 0 0 / 35% 35% 0 0; }
@media(min-width:1101px) {
 .featured .treatment-card:nth-child(even) { margin-top:3.5rem; }
 .rituais-style-signature .category-card:nth-child(even) { margin-top:2rem; }
 .rituais-style-signature .featured .treatment-grid { grid-template-columns:1.15fr 1fr 1.15fr 1fr; }
 .rituais-style-prestige .featured .treatment-card:nth-child(even) { margin-top:2rem; }
}
@media(min-width:768px) and (max-width:1100px) {
 .hero { min-height:650px; }
 .hero-content :is(h1,h2) { font-size:clamp(3.8rem,7vw,5rem); }
 .rituais-style-signature .hero-content>p { max-width:18rem; }
 .rituais-style-signature .hero:after { background:linear-gradient(90deg,var(--rituais-dark) 5%,var(--rituais-dark) 34%,transparent 90%); }
 .rituais-style-prestige .hero-content { width:54%; padding:2rem; }
 .rituais-style-prestige .hero-content :is(h1,h2) { font-size:4rem; }
 .rituais-style-prestige .hero-image { right:1.5rem; left:40%; }
 .editorial-copy h2 { font-size:3rem; }
 .editorial-grid { gap:3rem; }
 .voucher .promotion-copy h2 { font-size:3.5rem; }
 .footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:1100px) {
 .header-inner { min-height:5rem; }
 .brand-logo { width:96px; max-height:68px; }
 .treatment-card .card-image { aspect-ratio:4/4.7; }
}
@media(max-width:767px) {
 .section { padding-block:var(--space-section); }
 h2 { font-size:var(--rituais-mobile-heading); }
 .hero { min-height:0; height:auto; padding:0; }
 .hero-content { padding-block:var(--space-section) 2.25rem; }
 .hero-content :is(h1,h2) { font-size:clamp(2.75rem,9.5vw,3.5rem); max-width:12ch; margin-block:1rem 1.125rem; }
 .hero-content p { font-size:1rem; }
 .hero-image { height:clamp(220px,62.5vw,300px); }
 .hero-content>.eyebrow:before { width:1.5rem; }
 .hero .actions { gap:.8rem; }
 .category-grid { gap:1rem; }
 .category-grid .category-card { aspect-ratio:3/4; }
 .category-grid .category-card:last-child { aspect-ratio:1.8/1; }
 .category-card>span { font-size:1.4rem; left:.85rem; right:.85rem; }
 .category-card i { width:20px; }
 .treatment-grid { gap:var(--rituais-mobile-gap); }
 .treatment-card .card-image { aspect-ratio:3/2; }
 .card-body h3 { font-size:var(--rituais-mobile-card-title); }
 .editorial-grid { gap:var(--rituais-mobile-gap); }
 .editorial-copy h2 { font-size:var(--rituais-mobile-heading); max-width:16ch; }
 .experience .editorial-photo { padding:.8rem .8rem 0 0; }
 .experience .editorial-photo>img { aspect-ratio:4/3; }
 .photo-label { right:0; bottom:1.5rem; font-size:1.1rem; padding:1rem 1.4rem; }
 .experience .editorial-copy:before { margin-bottom:var(--rituais-mobile-gap); }
 .technology { padding-top:0; }
 .technology .editorial-photo { padding:1.1rem; }
 .technology .editorial-photo>img { aspect-ratio:1.15/1; }
 .voucher { padding-block:0; }
 .voucher .promotion-grid,.store .promotion-grid { grid-template-columns:1fr; gap:2rem; }
 .voucher .promotion-copy { padding:var(--space-section) 0 0; }
 .voucher .promotion-copy h2 { font-size:clamp(2.5rem,9vw,3rem); }
 .voucher .promotion-photo { padding:0; margin:0; }
 .voucher .promotion-photo img { aspect-ratio:3/2; }
 .voucher .promotion-grid { padding-bottom:1.5rem; }
 .store .promotion-photo img { aspect-ratio:1/1.05; }
 .store .promotion-copy h2 { font-size:var(--rituais-mobile-heading); }
 .booking-cta { padding-block:var(--space-section); }
 .booking-cta h2 { font-size:clamp(2.5rem,9vw,3rem); }
 .booking-cta:before { inset:.7rem; }
 .site-footer { padding-top:var(--space-section); }
 .footer-grid { grid-template-columns:1fr 1fr; gap:1.75rem 1.5rem; padding-bottom:2.25rem; }
 .footer-brand { gap:2rem; align-items:center; }
 .footer-brand .brand-logo { width:96px; max-height:74px; }
 .footer-brand p { font-size:1.15rem; }
 .rituais-style-signature .hero-image { left:auto; position:relative; width:100%; }
 .rituais-style-signature .hero-content { padding-bottom:2.5rem; }
 .rituais-style-signature .hero-content :is(h1,h2) { max-width:10ch; }
 .rituais-style-signature .hero-content>p { max-width:26rem; }
 .rituais-style-signature .hero-image:before { content:""; position:absolute; inset:0 0 auto; height:35%; background:linear-gradient(var(--rituais-dark),transparent); z-index:1; pointer-events:none; }
 .rituais-style-signature .experience .editorial-photo { padding:1rem; }
 .rituais-style-signature .technology .editorial-photo { padding:1.5rem; }
 .rituais-style-signature .voucher .promotion-copy { margin-top:2rem; padding:1.5rem 0 0 1.5rem; }
 .rituais-style-signature .voucher .promotion-photo img { border-radius:0 0 0 3rem; }
 .rituais-style-prestige .hero { padding:1rem var(--gutter) 0; }
 .rituais-style-prestige .hero-content { width:100%; max-width:none; margin:0; padding:2rem 1.4rem; text-align:center; }
 .rituais-style-prestige .hero-content :is(h1,h2) { font-size:clamp(2.75rem,9.5vw,3.5rem); margin-inline:auto; }
 .rituais-style-prestige .hero-content>.eyebrow:before { display:none; }
 .rituais-style-prestige .hero-content p { margin-inline:auto; }
 .rituais-style-prestige .hero-content .actions { align-items:center; justify-content:center; }
 .rituais-style-prestige .hero-image { position:relative; inset:auto; width:calc(100% - 1.2rem); height:340px; margin:1.5rem auto 0; border-radius:48% 48% 0 0; }
 .rituais-style-prestige .hero-image img { object-position:65% center; }
 .rituais-style-prestige .category-card { border-radius:48% 48% 0 0; }
 .rituais-style-prestige .category-card:last-child { border-radius:40% 40% 0 0 / 70% 70% 0 0; }
 .rituais-style-prestige .experience .editorial-photo:before { inset:.75rem -.5rem -.75rem .75rem; }
 .rituais-style-prestige .photo-label { right:0; padding:1rem 1.3rem; }
 .rituais-style-prestige .technology .editorial-photo { padding:1.4rem; }
 .rituais-style-prestige .voucher { margin-inline:.7rem; }
 .rituais-style-prestige .voucher .container { width:calc(100% - 2.5rem); }
 .rituais-style-prestige .voucher .promotion-copy { padding:3rem 0 1rem; text-align:center; }
 .rituais-style-prestige .voucher .promotion-copy h2 { margin-inline:auto; }
 .rituais-style-prestige .voucher .promotion-copy:after { margin-inline:auto; }
 .rituais-style-prestige .voucher .promotion-photo { padding:0; }
 .rituais-style-prestige .store .promotion-photo { padding:1rem; }
 .rituais-style-prestige .store .promotion-copy { margin:-4rem 1rem 0; padding:1.5rem; }
 .rituais-style-prestige .store .promotion-copy h2 { font-size:var(--rituais-mobile-heading); }
}
@media(max-width:374px) {
 .brand-logo { width:78px; }
 .header-inner { gap:.5rem; }
 .header-booking { padding:.7rem 1rem; }
 .category-card>span { font-size:1.18rem; }
 .rituais-style-prestige .hero-content { padding:1.8rem 1rem; }
 .rituais-style-prestige .hero-content :is(h1,h2) { font-size:2.75rem; }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { transition:none!important; animation:none!important; } }
/* PASS 3 — corrections after desktop/mobile visual review. */
.hero { max-height:none; }
.rituais-style-signature .hero-image img { object-position:73% center; }
.rituais-style-signature .hero-content a.button:hover { background:var(--rituais-on-dark); color:var(--rituais-dark); border-color:var(--rituais-on-dark); }
.rituais-style-prestige .technology .editorial-photo { border-radius:2px; padding:2rem; }
.rituais-style-prestige .technology .editorial-photo>img { border-radius:2px; }
.footer-grid { padding-top:1rem; }
.footer-brand { padding-right:1.5rem; border-right:1px solid var(--rituais-border-premium); }
.rituais-style-prestige .site-footer { border-top:3px double var(--rituais-border-premium); }
@media(max-width:1100px) {
 .rituais-style-signature .hero-content .actions { flex-direction:column; align-items:flex-start; gap:.8rem; }
}
@media(max-width:767px) {
 .hero { max-height:none; }
 .hero-image { flex-shrink:0; }
 .rituais-style-prestige .hero-image { height:340px; flex-shrink:0; }
 .rituais-style-prestige .technology .editorial-photo { padding:1.3rem; }
 .footer-brand { padding-right:0; border-right:0; padding-bottom:1.5rem; border-bottom:1px solid var(--rituais-border-premium); }
}

/* Mobile density: preserve tablet/desktop composition and editorial content. */
@media (max-width: 767px) {
 :root { --space-section:3rem; --rituais-mobile-gap:1.5rem; --rituais-mobile-heading:clamp(2.25rem,7.5vw,2.75rem); --rituais-mobile-card-title:1.5rem; --header-height:4.5rem; }
 .header-inner { min-height:var(--header-height); }
 .site-header .brand-logo { width:72px; max-height:56px; }
 .section-heading { margin-bottom:var(--rituais-mobile-gap); }
 .eyebrow { margin-bottom:.875rem; }
 .treatment-card .card-body { padding-top:1rem; }
 .card-body h3 { margin-bottom:.625rem; }
 .card-body p { margin-bottom:1rem; }
 .card-actions { padding-top:.625rem; }
 .editorial-copy h2 { margin-bottom:1.25rem; }
 .editorial-copy>p { line-height:1.75; }
 .editorial-copy .text-link { margin-top:1.25rem; }
 .voucher .promotion-grid,.store .promotion-grid { gap:var(--rituais-mobile-gap); }
 .promotion-copy p,.booking-cta p { margin-bottom:var(--rituais-mobile-gap); }
 .booking-cta h2 { margin-bottom:1.25rem; }
 .footer-bottom { padding-block:1.25rem; }
 .footer-brand { gap:1.5rem; padding-bottom:1rem; }
 .site-footer h2 { margin-block:.75rem; }
 .page-heading { margin-bottom:1.5rem; padding-bottom:1.5rem; }
 .page-heading h1 { margin-bottom:1rem; }
 .rituais-style-signature .technology { padding-top:var(--space-section); }
 .rituais-style-prestige .hero-image { height:clamp(220px,62.5vw,300px); }
}

/* A light separation ring keeps the brand-colour focus visible on dark/photo surfaces. */
.rituais-v2 :is(a,button,input,textarea,select,summary):focus-visible {
 outline:3px solid var(--rituais-focus);
 box-shadow:0 0 0 5px var(--rituais-bg);
}

/* Keep small category labels readable over bright photographs. */
@media (max-width:767px) {
 .category-card:after { background:linear-gradient(transparent, var(--rituais-image-scrim) 65%); }
}

/* Mobile header: keep marca + acções (incl. menu) numa única linha, com o botão Agendar compacto. */
@media (max-width:767px) {
 .header-inner { gap:.5rem; }
 .header-actions { gap:.4rem; }
 .header-booking { padding:.5rem .8rem; font-size:.78rem; min-height:44px; gap:.25rem; }
 .header-booking>span[aria-hidden="true"] { display:none; }
}
@media (max-width:599px) {
 .header-inner { gap:.4rem; }
 .header-actions { gap:.3rem; }
 .header-booking { padding:.45rem .65rem; font-size:.74rem; }
}
@media (max-width:374px) {
 .site-header .brand-logo { width:60px; }
 .header-booking { font-size:.72rem; padding:.4rem .55rem; }
}
