/* Dedicated guest services: all rules are isolated from the service index and owner panel. */
body.flavor-premium .premium-service-detail {background:#faf8f3;color:var(--color-text-body);overflow-wrap:break-word}
body.flavor-premium .premium-service-detail :is(h1,h2,h3) {font-family:var(--font-heading)!important;color:var(--color-primary)!important;font-weight:500;text-wrap:balance}
body.flavor-premium .premium-service-detail :is(h1,h2,h3,p,figure,ul,ol) {margin:0}
body.flavor-premium .premium-service-detail h1 {font-size:clamp(3rem,5.6vw,5.5rem);line-height:1.02;letter-spacing:-.035em}
body.flavor-premium .premium-service-detail h2 {font-size:clamp(2.4rem,4vw,3.8rem);line-height:1.08;letter-spacing:-.025em}
body.flavor-premium .premium-service-detail h3 {font-size:1.9rem;line-height:1.18;letter-spacing:-.01em}
body.flavor-premium .premium-service-detail p {font-size:16px;line-height:1.8}
body.flavor-premium .premium-service-detail .premium-eyebrow {margin-bottom:18px;font-size:11px;line-height:1.6;letter-spacing:.14em;color:var(--color-primary-light)}
body.flavor-premium .premium-service-detail .premium-button {border-radius:12px;gap:16px;white-space:normal;text-decoration:none;min-height:54px}
body.flavor-premium .premium-service-detail a:focus-visible {outline:3px solid #3182ce;outline-offset:5px}
body.flavor-premium .premium-service-detail .service-detail-section {padding-block:clamp(56px,6.5vw,92px)}
body.flavor-premium .premium-service-detail :is(.service-detail-hero__inner,.service-detail-description__inner,.service-detail-conditions__inner,.service-detail-contact__inner) > * {min-width:0}

body.flavor-premium .premium-service-detail .service-detail-hero {padding-block:24px 64px}
body.flavor-premium .premium-service-detail .service-detail-breadcrumb {margin-bottom:30px}
body.flavor-premium .premium-service-detail .service-detail-breadcrumb ol {display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;padding:0;list-style:none;color:var(--color-text-muted);font-size:12px;line-height:1.65}
body.flavor-premium .premium-service-detail .service-detail-breadcrumb li {display:flex;align-items:center;gap:10px;min-width:0}
body.flavor-premium .premium-service-detail .service-detail-breadcrumb li:not(:last-child)::after {content:"/";color:#8092a4}
body.flavor-premium .premium-service-detail .service-detail-breadcrumb a {display:inline-flex;align-items:center;min-height:44px;color:var(--color-primary-light);text-decoration:underline;text-underline-offset:4px}
body.flavor-premium .premium-service-detail .service-detail-hero__inner {display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(32px,6vw,80px);align-items:center}
body.flavor-premium .premium-service-detail .service-detail-hero__lead {max-width:560px;margin-top:26px;color:var(--color-text-muted);font-size:18px;line-height:1.75}
body.flavor-premium .premium-service-detail :is(.service-detail-hero__photo,.service-detail-hero__symbol) {aspect-ratio:1/1;border-radius:68px 14px 14px 14px;overflow:hidden;background:#eaf1f7}
body.flavor-premium .premium-service-detail .service-detail-hero__photo img {display:block;width:100%;height:100%;object-fit:cover}
body.flavor-premium .premium-service-detail .service-detail-hero__symbol {display:flex;align-items:center;justify-content:center;background:#e5eef6;border:1px solid #d0deeb;color:var(--color-primary-light)}
body.flavor-premium .premium-service-detail .service-detail-hero__symbol svg {display:block;width:44%;height:auto;max-width:190px}

body.flavor-premium .premium-service-detail .service-detail-description {background:#edf3f8;border-block:1px solid #d8e3ec}
body.flavor-premium .premium-service-detail .service-detail-description__inner {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,7vw,96px);align-items:start}
body.flavor-premium .premium-service-detail .service-detail-prose p + p {margin-top:20px}
body.flavor-premium .premium-service-detail .service-detail-partner {padding-bottom:0}
body.flavor-premium .premium-service-detail .service-detail-partner__grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
body.flavor-premium .premium-service-detail .service-detail-partner__card {min-width:0;padding:clamp(24px,3.4vw,42px);border:1px solid #d0deeb;border-radius:18px;background:#edf3f8}
body.flavor-premium .premium-service-detail .service-detail-partner__card h3 {margin-bottom:20px}
body.flavor-premium .premium-service-detail .service-detail-partner__card dl {margin:0}
body.flavor-premium .premium-service-detail .service-detail-partner__card dl > div + div {margin-top:14px}
body.flavor-premium .premium-service-detail .service-detail-partner__card dt {font-size:13px;line-height:1.6;color:var(--color-text-muted)}
body.flavor-premium .premium-service-detail .service-detail-partner__card dd {margin:2px 0 0;font-size:18px;line-height:1.5;color:var(--color-primary);font-weight:500}
body.flavor-premium .premium-service-detail .service-detail-partner__contacts {list-style:none;padding:0}
body.flavor-premium .premium-service-detail .service-detail-partner__contacts li {display:flex;align-items:center;flex-wrap:wrap;gap:0 20px;justify-content:space-between;font-size:16px}
body.flavor-premium .premium-service-detail .service-detail-partner__card a {display:inline-flex;align-items:center;min-height:44px;color:var(--color-primary);text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
body.flavor-premium .premium-service-detail .service-detail-partner__website {margin-top:20px;font-size:14px}
body.flavor-premium .premium-service-detail .service-detail-partner__note {margin-top:20px;max-width:850px;font-size:14px;color:var(--color-text-muted)}
body.flavor-premium .premium-service-detail .service-detail-section-heading {margin-bottom:38px}
body.flavor-premium .premium-service-detail .service-detail-process__steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0;list-style:none}
body.flavor-premium .premium-service-detail .service-detail-process__steps li {min-width:0;border-top:1px solid #bbcbda;padding-top:24px}
body.flavor-premium .premium-service-detail .service-detail-process__number {display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #b7cada;border-radius:50%;margin-bottom:22px;font-size:12px;letter-spacing:.05em;color:var(--color-primary-light)}
body.flavor-premium .premium-service-detail .service-detail-process__steps h3 {margin-bottom:16px}
body.flavor-premium .premium-service-detail .service-detail-process__steps p {font-size:15px;color:var(--color-text-muted)}

body.flavor-premium .premium-service-detail .service-detail-location {padding-top:0;scroll-margin-top:120px}
body.flavor-premium .premium-service-detail .service-detail-selene {scroll-margin-top:120px}
body.flavor-premium .premium-service-detail .service-detail-selene__explanation h2 {margin-bottom:26px}
body.flavor-premium .premium-service-detail .service-detail-selene__photo {margin:0;min-width:0;text-align:center}
body.flavor-premium .premium-service-detail .service-detail-selene__photo img {display:block;width:100%;height:auto;max-height:60svh;object-fit:contain;border-radius:14px}
body.flavor-premium .premium-service-detail .service-detail-selene__photo figcaption {margin-top:12px;font-size:13px;line-height:1.6;color:var(--color-text-muted)}
body.flavor-premium .premium-service-detail .service-detail-selene h2 {font-size:clamp(2.2rem,3.1vw,3.1rem);margin-bottom:24px}
body.flavor-premium .premium-service-detail .service-detail-selene address {margin-bottom:20px;font-style:normal;font-size:16px;line-height:1.8;color:var(--color-primary)}
body.flavor-premium .premium-service-detail .service-detail-selene__source a {display:inline-flex;align-items:center;min-height:44px;margin-top:8px;color:var(--color-primary);text-underline-offset:4px}
body.flavor-premium .premium-service-detail .service-detail-location__inner {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:stretch;overflow:hidden;border:1px solid #d0deeb;border-radius:20px;background:#edf3f8}
body.flavor-premium .premium-service-detail .service-detail-location__copy {min-width:0;padding:clamp(24px,3.4vw,44px)}
body.flavor-premium .premium-service-detail .service-detail-location h2 {font-size:clamp(2.2rem,3.1vw,3.1rem);margin-bottom:24px}
body.flavor-premium .premium-service-detail .service-detail-location address {margin-bottom:20px;font-style:normal;font-size:16px;line-height:1.8;color:var(--color-primary)}
body.flavor-premium .premium-service-detail .service-detail-location__copy > p:not(.premium-eyebrow) {font-size:14px;color:var(--color-text-muted)}
body.flavor-premium .premium-service-detail .service-detail-location__directions {display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:18px;font-size:15px;font-weight:600;color:var(--color-primary);text-decoration:underline;text-underline-offset:5px}
body.flavor-premium .premium-service-detail .service-detail-location__directions svg {flex:0 0 20px}
body.flavor-premium .premium-service-detail .service-detail-location__map {display:block;width:100%;height:100%;min-height:420px;border:0}

body.flavor-premium .premium-service-detail .service-detail-conditions {padding-top:0}
body.flavor-premium .premium-service-detail .service-detail-conditions__inner {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,7vw,96px);padding-top:48px;border-top:1px solid var(--premium-line)}
body.flavor-premium .premium-service-detail .service-detail-conditions ul {list-style:disc;padding-left:20px}
body.flavor-premium .premium-service-detail .service-detail-conditions li {padding-left:6px;font-size:15px;line-height:1.85;color:var(--color-text-muted)}
body.flavor-premium .premium-service-detail .service-detail-conditions li + li {margin-top:14px}
body.flavor-premium .premium-service-detail .service-detail-conditions li::marker {color:var(--color-primary-light)}

body.flavor-premium .premium-service-detail .service-detail-contact {background:#eaf1f7;border-top:1px solid #d5e1eb;scroll-margin-top:120px}
body.flavor-premium .premium-service-detail .service-detail-contact__inner {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,7vw,90px);align-items:center}
body.flavor-premium .premium-service-detail .service-detail-contact h2 {margin-bottom:22px}
body.flavor-premium .premium-service-detail .service-detail-contact__actions {justify-self:start;max-width:100%}
body.flavor-premium .premium-service-detail .service-detail-contact__email {margin-top:24px;font-size:14px;color:var(--color-text-muted)}
body.flavor-premium .premium-service-detail .service-detail-contact__email a {display:inline-block;min-height:44px;padding-block:8px;color:var(--color-primary);text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
body.flavor-premium .premium-service-detail .service-detail-return {margin-top:42px}
body.flavor-premium .premium-service-detail .service-detail-return a {display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:14px;color:var(--color-primary);text-decoration:underline;text-underline-offset:5px}
body.flavor-premium .premium-service-detail .service-detail-return svg {flex:0 0 18px}

@media(max-width:1000px) {
 body.flavor-premium .premium-service-detail .service-detail-hero__inner {gap:32px}
 body.flavor-premium .premium-service-detail .service-detail-process__steps {gap:24px}
}
@media(max-width:760px) {
 body.flavor-premium .premium-service-detail h1 {font-size:clamp(2.85rem,10.5vw,4.5rem)}
 body.flavor-premium .premium-service-detail h2 {font-size:clamp(2.3rem,8.5vw,3.3rem)}
 body.flavor-premium .premium-service-detail .service-detail-hero {padding-block:12px 42px}
 body.flavor-premium .premium-service-detail .service-detail-breadcrumb {margin-bottom:22px}
 body.flavor-premium .premium-service-detail .service-detail-hero__inner,
 body.flavor-premium .premium-service-detail .service-detail-description__inner,
 body.flavor-premium .premium-service-detail .service-detail-conditions__inner,
 body.flavor-premium .premium-service-detail .service-detail-contact__inner {grid-template-columns:minmax(0,1fr);gap:30px}
 body.flavor-premium .premium-service-detail .service-detail-partner__grid {grid-template-columns:minmax(0,1fr)}
 body.flavor-premium .premium-service-detail .service-detail-location__inner {grid-template-columns:minmax(0,1fr)}
 body.flavor-premium .premium-service-detail .service-detail-location__map {height:320px;min-height:0}
 body.flavor-premium .premium-service-detail .service-detail-hero__lead {font-size:16px;margin-top:24px;max-width:100%}
 body.flavor-premium .premium-service-detail :is(.service-detail-hero__photo,.service-detail-hero__symbol) {aspect-ratio:4/3;max-height:420px;border-top-left-radius:48px}
 body.flavor-premium .premium-service-detail .service-detail-hero__symbol svg {width:34%;max-width:155px}
 body.flavor-premium .premium-service-detail .service-detail-process__steps {grid-template-columns:minmax(0,1fr)}
 body.flavor-premium .premium-service-detail .service-detail-process__steps li {display:grid;grid-template-columns:44px minmax(0,1fr);gap:20px}
 body.flavor-premium .premium-service-detail .service-detail-process__number {margin-bottom:0}
}
@media(max-width:480px) {
 body.flavor-premium .premium-service-detail .premium-eyebrow {font-size:10px;letter-spacing:.12em}
 body.flavor-premium .premium-service-detail .service-detail-contact__actions {width:100%}
 body.flavor-premium .premium-service-detail .service-detail-contact__actions > .premium-button {width:100%;padding-inline:18px}
 body.flavor-premium .premium-service-detail .service-detail-breadcrumb ol {font-size:11px}
}
@media(prefers-reduced-motion:reduce) {
 body.flavor-premium .premium-service-detail .premium-arrow {transition:none;transform:none!important}
}
