*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--page-bg,var(--bg));color:var(--page-ink,var(--ink));font:16px/1.55 system-ui,sans-serif}
@supports(background-image:linear-gradient(180deg in srgb,#fff,#000)){body{background-image:var(--page-gradient,none)}}
.lagoon{--bg:#e4f1e8;--ink:#142b24;--card:#fcfdf8;--border:#bdd2c5;--primary:#146a56;--on:#fff}
.sand{--bg:#f3e8d5;--ink:#392b1f;--card:#fffcf4;--border:#d8c6a9;--primary:#784425;--on:#fff}
.night{--bg:#14262b;--ink:#e9f5ee;--card:#213b41;--border:#436063;--primary:#b7efc4;--on:#14262b}
.rose{--bg:#f6e6e9;--ink:#421f2a;--card:#fff8f8;--border:#e0bfc9;--primary:#953653;--on:#fff}
.profile{position:relative;max-width:600px;margin:auto;padding:clamp(42px,9vw,100px) 22px 28px}
.profile--wide{max-width:800px}
.page-link-pair{display:grid;gap:inherit}
.page-link-pair>*{min-width:0}
.demo-examples{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:26px}
.demo-examples a{display:inline-flex;align-items:center;min-height:44px;padding:6px 14px;border-radius:999px;color:var(--ink);text-underline-offset:4px}
.demo-examples a[aria-current]{background:var(--ink);color:var(--bg);text-decoration:none}
.demo-examples a:not([aria-current]):hover,.demo-examples a:not([aria-current]):active{background:var(--card)}
.demo-examples a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
header{text-align:center;margin-bottom:34px}
header h1{margin:12px 0 6px;font-size:clamp(29px,7vw,48px);line-height:1.08;letter-spacing:-.04em;overflow-wrap:anywhere}
header p{max-width:420px;margin:10px auto 0;white-space:pre-line;overflow-wrap:anywhere}
.avatar{display:inline-grid;place-items:center;width:86px;height:86px;border-radius:50%;object-fit:cover}
.profile-header--avatar-rounded .avatar{border-radius:22%}
.profile-header--avatar-square .avatar{border-radius:0}
.monogram{background:var(--action-bg,var(--primary));color:var(--action-text,var(--on));font-size:38px;font-weight:750}
.profile-header--compact{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:clamp(12px,4vw,26px);text-align:start}
.profile-header--compact .avatar{width:clamp(48px,16vw,86px);height:auto;aspect-ratio:1;font-size:clamp(24px,7vw,38px)}
.profile-header--compact h1{margin-top:0;font-size:clamp(26px,6vw,44px)}
.profile-header--compact p{margin-inline:0}
.profile-header--portrait .avatar{display:block;width:100%;height:auto;aspect-ratio:16 / 9;border-radius:18px;background:var(--card)}
.profile-header--brand .avatar{display:block;width:min(100%,240px);height:clamp(64px,21vw,96px);margin-inline:auto;border-radius:0;object-fit:contain;object-position:center}
.profile-header--brand h1{margin-top:16px}
.profile-header--portrait h1{margin-top:18px}
.profile-header--crop-top .avatar{object-position:center top}
.profile-header--crop-bottom .avatar{object-position:center bottom}
.profile-header--crop-left .avatar{object-position:left center}
.profile-header--crop-right .avatar{object-position:right center}
.profile-header--contain .avatar{max-height:clamp(132px,34vw,220px);object-fit:contain;object-position:center}
@media(min-width:900px){
  .profile--columns{max-width:980px;padding-inline:clamp(28px,5vw,56px)}
  .profile--columns .page-link-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile--desktop{display:grid;grid-template-columns:minmax(225px,1fr) minmax(0,2fr);gap:24px clamp(36px,6vw,76px);align-items:start;max-width:1120px;padding-inline:clamp(28px,5vw,64px)}
  .profile--desktop > :not(.profile-identity,.profile-blocks){grid-column:1/-1}
  .profile--desktop > .profile-identity{grid-column:1;min-width:0}
  .profile--desktop > .profile-blocks{grid-column:2;min-width:0}
  .profile--desktop .profile-identity:has(.page-sections--sticky){position:sticky;top:18px;max-height:calc(100dvh - 36px);overflow:auto;padding:4px}
  .profile--desktop .profile-header{margin-bottom:18px;text-align:start}
  .profile--desktop .profile-header p{margin-inline:0}
  .profile--desktop .profile-header--brand .avatar{margin-inline:0;object-position:left center}
  .profile--desktop .demo-examples{justify-content:start;margin-bottom:4px}
  .profile--desktop footer{margin-top:8px}
}
.profile-blocks{display:grid;gap:12px}
.profile--spacing-compact>.profile-blocks{gap:8px}
.profile--spacing-spacious>.profile-blocks{gap:clamp(18px,3vw,26px)}
.profile-blocks h2{margin:12px 0 0;font-size:21px;overflow-wrap:anywhere}
.block-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.block-centered{text-align:center}
.outbound{display:flex;align-items:center;justify-content:space-between;gap:15px;color:inherit;text-decoration:none;padding:14px 17px;background:var(--card);border:1px solid var(--border);border-radius:15px;min-height:53px;overflow-wrap:anywhere}
.outbound:not(.primary){background:var(--link-button-bg,var(--card));color:var(--link-button-text,var(--ink))}
.outbound.primary{background:var(--action-bg,var(--primary));color:var(--action-text,var(--on));border-color:var(--action-text,transparent)}
.outbound:hover{text-decoration:underline}
.outbound small{display:block;margin-top:3px;font-size:.84rem}
.outbound-card{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:0;border-radius:18px}
.outbound-cover{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;border-radius:17px 17px 0 0;background:var(--card)}
.outbound-caption{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px}
.outbound-card strong{font-size:1.08rem}
.outbound-card:hover .outbound-caption strong{text-decoration:underline;text-underline-offset:3px}
.outbound-card:hover{text-decoration:none}
.outbound:active strong{text-decoration:underline;text-underline-offset:3px}
figure{margin:0;border-radius:15px;overflow:hidden;background:var(--card);border:1px solid var(--border)}
figure img{display:block;width:100%;max-height:520px;object-fit:cover}
figcaption{padding:10px 16px;white-space:pre-line;overflow-wrap:anywhere}
footer{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin-top:34px;font-size:.8rem}
footer a{color:inherit;text-underline-offset:3px}
.profile-share,.profile-share-preview{width:fit-content;max-width:100%;margin:20px auto 0;padding-inline:10px;border-radius:12px;background:var(--card);color:var(--ink);font-size:.9rem}
.profile-share[open]{width:min(100%,390px)}
.profile-share summary,.profile-share-preview{padding-block:11px;font-weight:700}
.profile-share summary{min-height:44px;cursor:pointer}
.profile-share-panel{display:grid;gap:8px;padding-bottom:12px}
.profile-share-panel input[type="text"]{width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;padding:9px;background:var(--bg);color:var(--ink);font:inherit}
.profile-share-panel [data-share-scope]{min-width:0;margin:0;padding:0;border:0}
.profile-share-panel [data-share-scope] legend{font-weight:650}
.profile-share-panel [data-share-scope] label{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;overflow-wrap:anywhere}
.profile-share-panel [data-share-scope] input{flex:none;accent-color:var(--primary)}
.profile-share-actions{display:flex;flex-wrap:wrap;gap:8px}
.profile-share-actions:has(button[hidden]:first-child):has(button[hidden]:last-child),.profile-share [role="status"]:empty{display:none}
.profile-share button{min-height:44px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit;cursor:pointer}
.profile-share [role="status"]{margin:0}
.profile-share :is(summary,button):hover,.profile-share :is(summary,button):active{text-decoration:underline}
.profile-share :focus-visible{outline:2px solid var(--ink);outline-offset:2px}
a:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.page-accent{position:absolute;top:0;left:calc(50% - 24px);width:48px;height:4px;border-radius:0 0 6px 6px}
.inquiry{background:var(--card);border:1px solid var(--border);padding:18px;border-radius:15px;overflow-wrap:anywhere}
.inquiry h2{margin:0;font-size:1.35rem}
.inquiry>p{margin:6px 0 0;white-space:pre-wrap}
.inquiry-form{display:grid;gap:11px;margin-top:15px}
.inquiry-form fieldset{display:grid;gap:11px;margin:0;padding:0;border:0;min-inline-size:0}
.inquiry-form [hidden]{display:none}
.inquiry-form label{display:grid;gap:4px;font-size:.9rem;font-weight:650}
.inquiry-form input,.inquiry-form textarea,.inquiry-form select{font:inherit;padding:10px;background:var(--bg);color:var(--ink);border:1px solid var(--border);border-radius:8px;min-width:0;width:100%}
.inquiry-form textarea{resize:vertical}
.inquiry-date .inquiry-note{margin-top:4px}
.inquiry-form input[type="date"]{min-height:44px;color-scheme:light}
.night .inquiry-form input[type="date"]{color-scheme:dark}
.inquiry-form .inquiry-choices{gap:5px}
.inquiry-choices legend{padding:0;font-size:.9rem;font-weight:650;overflow-wrap:anywhere}
.inquiry-form .inquiry-choices label{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:6px 10px;border-radius:8px;background:var(--bg);cursor:pointer;overflow-wrap:anywhere}
.inquiry-choices label:hover:not(:has(:disabled)),.inquiry-choices label:has(:checked){outline:1px solid var(--ink);outline-offset:-1px}
.inquiry-choices label:active{box-shadow:inset 0 0 0 1px var(--ink)}
.inquiry-form .inquiry-choices input{width:17px;height:17px;margin:0;padding:0;accent-color:var(--primary)}
.inquiry-form button{justify-self:start;min-height:44px;border:1px solid var(--action-text,transparent);border-radius:9px;background:var(--action-bg,var(--primary));color:var(--action-text,var(--on));padding:10px 14px;font:inherit;font-weight:700;cursor:pointer}
.inquiry-form button:focus-visible,.inquiry-status:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.inquiry-form button:hover:not(:disabled),.inquiry-form button:active:not(:disabled){text-decoration:underline;text-underline-offset:3px}
.inquiry-form button:disabled{opacity:.65;cursor:wait}
.inquiry-note,.inquiry-status{font-size:.82rem;margin:0}
.inquiry-field-error{margin:5px 0 0;color:var(--ink);font-size:.875rem;font-weight:650}
.inquiry-form :is(input,textarea,select)[aria-invalid="true"]{border-color:var(--ink)}
.inquiry-choices label:has([aria-invalid="true"]){outline:1px solid var(--ink);outline-offset:-1px}
.inquiry-form .inquiry-service{display:grid;gap:3px;margin:0;padding:10px 12px;border-radius:8px;background:var(--bg);color:var(--ink);font-size:.875rem;overflow-wrap:anywhere}
.inquiry-service strong{font-size:1rem}
.inquiry-status:empty{display:none}
.poll-widget{background:var(--card);color:var(--ink);border:1px solid var(--border);padding:clamp(14px,4vw,20px);border-radius:15px;overflow-wrap:anywhere}
.profile-blocks .poll-widget h2{margin:0;font-size:1.35rem;line-height:1.25}
.poll-form,.poll-form fieldset,.poll-results,.poll-options{display:grid;gap:8px;min-width:0}
.poll-form,.poll-results,.poll-options{margin:14px 0 0}
.poll-form fieldset{min-inline-size:0;margin:0;padding:0;border:0}
.poll-form label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:8px 11px;border:1px solid var(--border);border-radius:9px;cursor:pointer}
.poll-form label:has(:checked){background:var(--bg);border-color:var(--ink)}
.poll-form label:hover{border-color:var(--ink)}
.poll-form label:active{background:var(--bg)}
.poll-form input{width:17px;height:17px;margin:0;accent-color:var(--primary)}
.poll-form button{justify-self:start;min-height:44px;margin-top:4px;border:1px solid var(--action-text,transparent);border-radius:9px;padding:8px 14px;background:var(--action-bg,var(--primary));color:var(--action-text,var(--on));font:inherit;font-weight:700;cursor:pointer}
.poll-form button:is(:hover,:active){text-decoration:underline;text-underline-offset:3px}
.poll-form :is(input,button):focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.buttons-pill .poll-form button{border-radius:999px}
.buttons-square .poll-form button{border-radius:5px}
.poll-note{margin:8px 0 0;font-size:.9rem}
.poll-form[hidden],.poll-note:empty,.poll-refresh[hidden]{display:none}
.poll-refresh{margin-top:8px}
.poll-note:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.poll-results{padding:0;gap:12px;list-style:none}
.poll-options{padding-inline-start:1.2rem}
.poll-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
.poll-result strong{font-variant-numeric:tabular-nums}
.poll-result small{display:block;font-weight:700}
.poll-results progress{display:block;width:100%;height:8px;margin-top:4px;border:0;border-radius:100px;overflow:hidden;background:var(--bg);color:var(--primary);accent-color:var(--primary)}
.poll-results progress::-webkit-progress-bar{background:var(--bg)}
.poll-results progress::-webkit-progress-value{border-radius:100px;background:var(--primary)}
.poll-results progress::-moz-progress-bar{border-radius:100px;background:var(--primary)}
.section-surface>.poll-widget{padding:0;border:0;background:transparent}
.inquiry-form[data-inquiry-state="success"] .inquiry-status,.inquiry-form[data-inquiry-state="error"] .inquiry-status{padding:12px;background:var(--bg);border-inline-start:3px solid var(--primary);border-radius:6px;font-size:.95rem;white-space:pre-wrap}
.audio-widget{padding:16px;border-radius:15px;background:var(--card);overflow-wrap:anywhere}
.audio-widget h2{margin:0;font-size:1.125rem}
.audio-widget p{margin:6px 0 0}
.audio-header{display:grid;grid-template-columns:clamp(48px,20%,80px) minmax(0,1fr);align-items:center;gap:12px}
.audio-cover{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px;background:var(--bg)}
.audio-description{white-space:pre-wrap}
.audio-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:12px}
.audio-controls audio{display:block;width:100%;min-width:0}
.audio-controls button{min-height:44px;cursor:pointer;font:inherit;font-weight:700}
.audio-controls button:hover,.audio-controls button:active{text-decoration:underline;text-underline-offset:3px}
.audio-controls button[hidden],.audio-controls [role="status"]:empty{display:none}
.audio-controls [role="status"]{flex-basis:100%;font-size:.875rem}
.audio-controls :focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.audio-platforms{margin-top:14px}
.audio-platforms p{font-size:.875rem;font-weight:650}
.audio-platforms ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:8px 0 0;padding:0}
.audio-platforms li{min-width:0;max-width:100%}
:is(.audio-transcript,.video-transcript,.audio-chapters){margin-top:12px;border-top:1px solid var(--border)}
:is(.audio-transcript,.video-transcript,.audio-chapters) summary{min-height:44px;padding:11px 0;cursor:pointer;font-weight:650}
:is(.audio-transcript,.video-transcript,.audio-chapters) summary:hover,:is(.audio-transcript,.video-transcript,.audio-chapters) summary:active{text-decoration:underline;text-underline-offset:3px}
:is(.audio-transcript,.video-transcript,.audio-chapters) summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
:is(.audio-transcript,.video-transcript) p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}
.audio-chapters ol{list-style:none;padding:0;margin:0}
.audio-chapters li + li{border-top:1px solid var(--border)}
.audio-chapters li a{display:flex;gap:12px;align-items:baseline;min-height:44px;padding:11px 0}
.audio-time{font-variant-numeric:tabular-nums;white-space:nowrap}
.section-surface>.audio-widget{padding:0;background:transparent}
.inquiry-form :focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.preview-banner{margin:0 0 24px;padding:12px 15px;border:1px solid var(--border);background:var(--card);border-radius:12px}
.preview-banner p{margin:3px 0 0}
.faq-widget{padding:6px 16px;border-radius:15px;background:var(--card);overflow-wrap:anywhere}
.faq-widget h2{margin:10px 0 2px}
.faq-widget details + details{border-top:1px solid var(--border)}
.faq-widget summary{min-height:48px;padding:12px 0;font-weight:650;cursor:pointer}
.faq-widget summary::marker{color:var(--primary)}
.faq-widget summary:hover{text-decoration:underline;text-underline-offset:3px}
.faq-widget summary:active{color:var(--primary)}
.faq-widget summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}
.faq-widget p{margin:0;padding:0 0 14px;white-space:pre-wrap}
.faq-action{margin:0 0 14px;max-width:100%}
.faq-widget [hidden],.services-widget [hidden],.link-group [hidden]{display:none}
:is(.faq-search,.services-search,.link-group-search){display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin:10px 0}
:is(.faq-search,.services-search,.link-group-search) label{display:grid;flex:1 1 12rem;gap:4px;font-weight:650}
:is(.faq-search,.services-search,.link-group-search) :is(input,button,select){min-width:0;min-height:44px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:inherit;font:inherit}
:is(.services-search,.link-group-search) label{min-width:0}
.services-search .services-bookable{display:flex;flex:1 0 100%;align-items:center;gap:9px;min-height:44px;cursor:pointer}
.services-search .services-bookable input{appearance:auto;flex:none;width:19px;height:19px;min-height:0;margin:0;padding:0;accent-color:var(--primary)}
.services-search .services-bookable:hover{text-decoration:underline;text-underline-offset:3px}
:is(.faq-search,.services-search,.link-group-search) button{cursor:pointer}
:is(.faq-search,.services-search,.link-group-search) button:hover,:is(.faq-search,.services-search,.link-group-search) button:active{text-decoration:underline}
:is(.faq-search,.services-search,.link-group-search) :focus-visible{outline:2px solid var(--ink);outline-offset:2px}
:is(.faq-search,.services-search,.link-group-search) p{flex-basis:100%;padding:0;font-size:.875rem}
:is(.faq-search,.services-search,.link-group-search) p:empty{position:absolute}
.faq-widget mark{background:#ffe28d;color:#2a2108;border-radius:2px}
.countdown-widget{padding:clamp(14px,5vw,24px);border-radius:15px;background:var(--card);color:var(--ink);overflow-wrap:anywhere}
.countdown-widget h2{margin:0}
.countdown-description,.countdown-date,.countdown-result{margin:6px 0 0;white-space:pre-wrap}
.countdown-date{font-size:.875rem}
.countdown-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:15px 0 0;text-align:center}
.countdown-values span{display:grid;gap:2px;background:var(--bg);padding:8px 3px;border-radius:8px}
.countdown-values strong{font-size:clamp(1.05rem,5.2vw,2rem);font-variant-numeric:tabular-nums;line-height:1.15}
.countdown-values small{font-size:.75rem}
.countdown-toggle{min-height:44px;padding:6px 3px;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:3px}
.countdown-toggle:hover,.countdown-toggle:active{color:var(--primary)}
.countdown-toggle:focus-visible,.countdown-result:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}
.countdown-widget [hidden]{display:none}
.countdown-calendar{margin-top:10px;background:var(--bg)}
.countdown-widget a.countdown-calendar:focus-visible{outline-color:var(--ink)}
.countdown-action{margin-top:12px}
.countdown-action .contact-link{background:var(--action-bg,var(--primary));color:var(--action-text,var(--on))}
.countdown-widget .countdown-action a:focus-visible{outline-color:var(--ink)}
.events-widget{padding:clamp(14px,5vw,24px);border-radius:15px;background:var(--card);color:var(--ink);overflow-wrap:anywhere}
.events-widget h2{margin:0}
.inquiry-event-info{margin-top:2px}
.event-unavailable{margin:0 0 16px;padding:12px 16px;border-radius:12px;background:var(--card);color:var(--ink)}
.event-list{list-style:none;margin:0;padding:0}
.event-list>li{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.event-list>.event-featured{padding:12px;border:0;border-radius:12px;background:var(--bg)}
.event-featured-label{margin:4px 0 0;font-size:.875rem;font-weight:700;color:var(--primary)}
.event-featured .event-actions .contact-link:not(.events-action){background:var(--card)}
.event-list h3{margin:2px 0 0;font-size:1.125rem;line-height:1.3}
.event-cover{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin-top:10px;border-radius:10px;background:var(--bg)}
.event-date,.event-meta{font-size:.875rem;font-variant-numeric:tabular-nums}
.event-date strong{color:var(--primary)}
.event-meta,.event-location,.event-description,.event-empty{margin:6px 0 0;white-space:pre-wrap}
.event-meta[data-visitor-event-zone]:not([hidden]){padding:6px 9px;background:var(--bg);border-radius:6px}
.event-location a{color:inherit;text-underline-offset:3px}
.event-location a:is(:hover,:active){text-decoration-thickness:2px}
.event-location a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.event-registration{margin:10px 0 0;font-size:.875rem}
.event-cancelled{display:table;margin:5px 0;padding:3px 8px;border-radius:5px;background:var(--bg);color:var(--ink);font-size:.875rem}
.event-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.event-actions .contact-link{background:var(--bg)}
.events-widget .contact-link.events-action{background:var(--action-bg,var(--primary));color:var(--action-text,var(--on))}
.events-widget .contact-link:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.events-widget button.contact-link{font-family:inherit;cursor:pointer}
.events-widget button.contact-link[hidden]{display:none}
.events-widget button.contact-link:is(:hover,:active){text-decoration:underline;text-underline-offset:3px}
.section-surface>.events-widget{padding:0;background:transparent}
.clock-widget{padding:clamp(14px,5vw,24px);border-radius:15px;background:var(--card);color:var(--ink);overflow-wrap:anywhere}
.clock-widget h2{margin:0}
.clock-description{margin:6px 0 0;white-space:pre-wrap}
.clock-widget time{display:block;margin-top:12px;font-size:clamp(2rem,8vw,3rem);line-height:1.15;font-weight:700;font-variant-numeric:tabular-nums}
.clock-zone{margin:4px 0 0;font-size:.875rem}
.promo-widget{padding:clamp(14px,5vw,24px);border-radius:15px;background:var(--card);color:var(--ink);overflow-wrap:anywhere}
.promo-widget h2,.promo-description{margin:0}
.promo-description{margin-top:6px;white-space:pre-wrap}
.promo-code{display:grid;gap:4px;margin-top:12px}
.promo-code label,.promo-status{font-size:.875rem}
.promo-code input{width:100%;min-width:0;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--ink);font:600 1rem ui-monospace,monospace}
.promo-actions{display:flex;flex-wrap:wrap;gap:8px}
.promo-actions:has(> :not([hidden])){margin-top:8px}
.promo-widget [hidden]{display:none}
.promo-widget button{cursor:pointer}
.promo-widget button:is(:hover,:active){text-decoration:underline;text-underline-offset:3px}
.promo-widget :is(input,button,a):focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.promo-status{margin:8px 0 0}
.promo-status:empty{margin:0}
.link-group{padding:0 12px;border-radius:15px;background:var(--card);overflow-wrap:anywhere;container-type:inline-size}
.link-group summary{min-height:49px;padding:12px 4px;font-weight:700;cursor:pointer}
.link-group summary::marker{color:var(--primary)}
.link-group summary:hover{text-decoration:underline;text-underline-offset:3px}
.link-group summary:active{color:var(--primary)}
.link-group summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}
.link-group-count{display:inline-block;margin-inline-start:.4em;font-size:.8em;font-weight:550;white-space:nowrap}
.link-group-description{margin:0 0 12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.link-group-items{display:grid;gap:8px;padding-bottom:12px}
.link-group-items .outbound{border-radius:12px}
.link-group-items .outbound-cover{border-radius:11px 11px 0 0}
[data-group-link-target]{scroll-margin-block:16px;scroll-margin-inline:4px}
[data-group-link-target]:target{outline:2px solid var(--ink);outline-offset:-3px}
.link-group-items--grid>.outbound{min-width:0}
.link-group-items--grid :is(.outbound>span,.outbound-caption>span){min-width:0}
.link-group-items--grid>.outbound-card{grid-template-rows:auto 1fr}
.link-group-carousel{min-width:0;padding-bottom:12px}
.link-group-carousel>.link-group-items--carousel{
  grid-auto-flow:column;grid-auto-columns:85%;min-width:0;overflow-x:auto;
  scroll-snap-type:x mandatory;scroll-padding-inline:3px;padding:3px 3px 8px;
}
.link-group-carousel>.link-group-items--carousel:not(:has(>:is(.outbound,.group-link-item):not([hidden]) ~ :is(.outbound,.group-link-item):not([hidden]))){grid-auto-columns:100%}
.link-group-items--carousel>:is(.outbound,.group-link-item){min-width:0;scroll-snap-align:start}
.link-group-items--carousel :is(.outbound>span,.outbound-caption>span){min-width:0}
.link-group-items--carousel>.outbound-card{grid-template-rows:auto 1fr}
.link-group-items--carousel:focus-visible{outline:2px solid var(--ink);outline-offset:1px;border-radius:10px}
.link-group-items--carousel>.outbound:focus-visible{outline-offset:-3px}
@container (min-width:300px){
  .link-group-items--grid:has(>:is(.outbound,.group-link-item):not([hidden]) ~ :is(.outbound,.group-link-item):not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr))}
  .link-group-items--grid:has(>:is(.outbound,.group-link-item):not([hidden]) ~ :is(.outbound,.group-link-item):not([hidden])) :is(.outbound:not(.outbound-card),.outbound-caption){padding:11px;gap:7px}
}
.buttons-pill .outbound:not(.outbound-card),.buttons-pill .inquiry-form button{border-radius:999px}
.buttons-square .outbound,.buttons-square .inquiry-form button{border-radius:5px}
.buttons-square .outbound-cover{border-radius:4px 4px 0 0}
.video-widget h2{margin:0 0 8px}
.video-stage{position:relative;display:grid;place-items:center;aspect-ratio:16 / 9;overflow:hidden;border-radius:15px;background:var(--card);border:1px solid var(--border)}
.video-stage--portrait{aspect-ratio:9 / 16;max-inline-size:360px;margin-inline:auto}
.video-stage--square{aspect-ratio:1;max-inline-size:480px;margin-inline:auto}
.video-stage img,.video-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.video-stage iframe:focus-visible{outline:3px solid var(--ink);outline-offset:-4px}
.video-launch{position:relative;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid var(--on);border-radius:9px;background:var(--primary);color:var(--on);font:inherit;font-weight:700}
button.video-launch{cursor:pointer}
button.video-launch[hidden]{display:none}
button.video-launch:hover,button.video-launch:active{text-decoration:underline;text-underline-offset:3px}
button.video-launch:focus-visible{outline:3px solid var(--on);outline-offset:2px;box-shadow:0 0 0 7px var(--ink)}
.video-play-icon{width:0;height:0;border-block:5px solid transparent;border-inline-start:8px solid currentColor}
.video-widget p,.video-external{display:block;margin:8px 0 0;color:inherit;font-size:.875rem;text-underline-offset:3px}
.video-widget .video-action{margin-top:10px;max-inline-size:100%;overflow-wrap:anywhere}
.contacts-widget h2{margin:0 0 8px}
.contacts-widget ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.contact-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 13px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:inherit;font-size:.875rem;font-weight:650;text-decoration:none}
a.contact-link:hover,a.contact-link:active{text-decoration:underline;text-underline-offset:3px}
.contacts-widget--tiles ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,88px),1fr))}
.contacts-widget--tiles li{min-width:0;display:grid}
.contacts-widget--tiles .contact-link{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:72px;padding:10px 6px;border-radius:10px;font-size:.76rem;line-height:1.3;text-align:center;overflow-wrap:anywhere}
.contacts-widget--tiles svg{flex:none}
.contacts-widget--tiles a.contact-link:is(:hover,:active){border-color:currentColor}
.buttons-pill .contact-link{border-radius:999px}
.buttons-pill .contacts-widget--tiles .contact-link{border-radius:14px}
.buttons-square .contact-link{border-radius:5px}
.documents-widget h2{margin:0 0 10px}
.document-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.document-card{display:flex;align-items:center;gap:clamp(10px,3vw,16px);min-height:56px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.document-cover{display:block;flex:none;width:clamp(46px,14vw,72px);height:auto;aspect-ratio:4 / 5;object-fit:cover;background:var(--bg);border-radius:7px}
.document-details{display:grid;gap:3px;min-width:0;flex:1}
.document-details strong{font-size:1rem;line-height:1.3}
.document-description{font-size:.9rem;white-space:pre-wrap}
.document-action{width:fit-content;max-width:100%;font-size:.875rem;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.block-centered .document-action{justify-self:center}
a.document-card:is(:hover,:active) .document-action{text-decoration-thickness:2px}
a.document-card:focus-visible{outline:2px solid var(--page-ink,var(--ink));outline-offset:3px}
.section-surface a.document-card:focus-visible{outline-color:var(--ink)}
.gallery-widget h2{margin:0 0 10px}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
@media(min-width:520px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:800px){.profile--wide .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gallery-grid.gallery-grid--single{grid-template-columns:minmax(0,1fr);gap:14px}
.gallery-grid.gallery-grid--carousel{
  grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:100%;gap:8px;min-width:0;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:3px;padding:3px;
}
.gallery-grid--carousel[tabindex]{grid-auto-columns:var(--gallery-wide-frame-width,85%);padding-bottom:8px}
.gallery-grid--carousel:focus-visible{outline:2px solid var(--page-ink,var(--ink));outline-offset:2px;border-radius:12px}
.section-surface .gallery-grid--carousel:focus-visible{outline-color:var(--ink)}
.gallery-grid--carousel figure{scroll-snap-align:start}
.gallery-carousel-controls:not([hidden]){
  display:flex;align-items:center;justify-content:center;gap:12px;margin-top:4px;
}
.gallery-carousel-controls output{font-size:.85rem;font-variant-numeric:tabular-nums}
.gallery-carousel-controls button{
  display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--border);
  border-radius:10px;background:var(--card);color:var(--ink);cursor:pointer;
}
.gallery-carousel-controls button:not([aria-disabled="true"]):hover{border-color:var(--primary);color:var(--primary)}
.gallery-carousel-controls button:not([aria-disabled="true"]):active{background:var(--primary);border-color:var(--primary);color:var(--on)}
.gallery-carousel-controls button[aria-disabled="true"]{cursor:default;color:color-mix(in srgb,var(--ink) 60%,var(--card))}
.gallery-carousel-controls button:focus-visible{outline:2px solid var(--page-ink,var(--ink));outline-offset:2px}
.section-surface .gallery-carousel-controls button:focus-visible{outline-color:var(--ink)}
.gallery-grid figure{min-width:0;border:0;border-radius:12px;overflow:visible}
.gallery-grid a[data-gallery-photo]{display:block;border-radius:12px}
.gallery-grid a[data-gallery-photo]:hover{outline:2px solid var(--primary);outline-offset:2px}
.gallery-grid a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.gallery-grid--carousel a[data-gallery-photo]:is(:hover,:focus-visible){outline-offset:-3px}
.gallery-grid img{width:100%;height:auto;aspect-ratio:4 / 3;border-radius:12px;object-fit:cover}
.gallery-grid--contain img{object-fit:contain;background:var(--card)}
.gallery-grid figcaption{padding:7px 9px;font-size:.82rem;overflow-wrap:anywhere}
.gallery-grid .gallery-action{width:fit-content;max-width:100%;white-space:normal}
.gallery-grid .gallery-action:not(:first-child){margin-top:5px}
.gallery-viewer{width:min(720px,calc(100% - 20px));max-height:calc(100dvh - 20px);padding:clamp(10px,3vw,20px);border:0;border-radius:15px;background:#182127;color:#f0f5f3;overscroll-behavior:contain}
.gallery-viewer::backdrop{background:rgb(9 15 18 / .86)}
html:has(.gallery-viewer[open]){overflow:hidden}
.gallery-viewer-header,.gallery-viewer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.gallery-viewer-header{justify-content:space-between;margin-bottom:8px}
.gallery-viewer-stage{display:grid;grid-template-columns:minmax(0,1fr);min-height:100px;place-items:center;background:#10181d;border-radius:8px;touch-action:pan-y pinch-zoom}
.gallery-viewer-stage img{display:block;max-width:100%;max-height:calc(100dvh - 190px);object-fit:contain}
.gallery-viewer [hidden]{display:none}
.gallery-viewer p{margin:0;font-size:.9rem;overflow-wrap:anywhere}
.gallery-viewer :is(.gallery-viewer-caption,.gallery-viewer-message):not(:empty){margin-top:8px}
.gallery-viewer-actions{margin-top:8px}
.gallery-viewer :is(button,a){display:inline-flex;align-items:center;min-height:44px;padding:5px 10px;border:1px solid #536269;border-radius:8px;background:#27353d;color:inherit;font:inherit;font-size:.9rem;cursor:pointer;text-decoration:none}
.gallery-viewer :is(button,a):hover,.gallery-viewer :is(button,a):active{background:#354750;text-decoration:underline}
.gallery-viewer :is(button,a):focus-visible{outline:2px solid #b7efc4;outline-offset:2px}
.gallery-viewer .gallery-viewer-action{max-width:100%;overflow-wrap:anywhere}
.gallery-viewer-share-field{display:grid;gap:4px;margin-top:8px;font-size:.875rem}
.gallery-viewer-share-field input{min-width:0;width:100%;min-height:44px;padding:6px 9px;background:#10181d;color:inherit;border:1px solid #77878d;border-radius:6px;font:inherit}
.gallery-viewer-share-field input:focus-visible{outline:2px solid #b7efc4;outline-offset:2px}
.gallery-viewer .gallery-viewer-share-status:not(:empty){margin-top:8px}
.gallery-viewer-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.location-widget{padding:clamp(14px,4vw,22px);border-radius:15px;background:var(--card);overflow-wrap:anywhere}
.location-widget h2{margin:0 0 6px}
.location-address,.location-description{margin:0;white-space:pre-wrap}
.location-address{font-size:1.05rem;font-weight:700;line-height:1.35}
.location-description{margin-top:5px;font-size:.9rem}
.location-hours-heading{margin:14px 0 4px;font-weight:700}
.location-status{display:block;margin:12px 0 0;font-size:.9rem}
.location-hours{margin:0;font-size:.9rem}
.location-hours>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px;padding:3px 0}
.location-hours dd{margin:0}
.location-widget .contact-link{margin-top:12px;background:var(--bg)}
.location-widget [data-location-map].contact-link{background:var(--action-bg,var(--primary));color:var(--action-text,var(--on))}
.location-widget [data-location-map].contact-link:hover{box-shadow:inset 0 0 0 1px currentColor}
.location-map-actions,.location-contact-actions{display:flex;flex-wrap:wrap;column-gap:8px}
:is(.location-map-actions button,.location-map-retry){cursor:pointer}
:is(.location-map-actions button,.location-map-retry):is(:hover,:active){text-decoration:underline;text-underline-offset:3px}
.location-map-panel{margin-top:10px;overflow:hidden;border-radius:10px}
.location-map-panel .location-map-stage{display:block;width:100%;height:clamp(240px,54vw,340px);border:0}
.location-map-status{margin:0;padding:10px 12px;background:var(--bg);color:var(--ink);font-size:.875rem}
.location-map-status:empty{position:absolute;width:1px;height:1px;overflow:hidden;padding:0;clip-path:inset(50%)}
.location-map-retry{margin:8px}
.location-map-retry:focus-visible{outline-offset:2px}
.location-widget [hidden]{display:none}
.location-address-copy button,.location-address-dialog button{font-family:inherit;cursor:pointer}
.location-address-copy button:is(:hover,:active),.location-address-dialog button:is(:hover,:active){text-decoration:underline;text-underline-offset:3px}
.location-address-copy button:focus-visible,.location-address-dialog :focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.location-address-status{flex-basis:100%;margin:5px 0 0;font-size:.875rem}
.location-address-status:empty{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.location-address-dialog{width:min(420px,calc(100% - 32px));background:var(--card);color:var(--ink);border:1px solid var(--border);border-radius:12px;padding:18px}
.location-address-dialog h2{margin:0 0 10px;font-size:1.25rem}
.location-address-dialog textarea{display:block;width:100%;margin:6px 0 12px;padding:8px;background:var(--bg);color:var(--ink);border:1px solid var(--border);border-radius:6px;font:inherit;resize:vertical}
.location-address-dialog form{text-align:end}
.location-map-preview{margin:10px 0 0;font-size:.9rem}
.location-branches{margin-top:18px}
.location-branches h3{margin:0 0 10px;font-size:1rem}
.location-branches > :is(details,.location-branch-address){border-top:1px solid var(--border)}
.location-branches details[open]{padding-bottom:10px}
.location-branch-address{margin:0;padding:10px 4px}
.location-branches summary{min-height:44px;padding:10px 4px;cursor:pointer}
.location-branches details[open] > summary{background:var(--bg);border-radius:0 0 8px 8px}
.location-branches :is(summary,.location-branch-address) > span{display:block;font-size:.875rem}
.location-branches summary > span{margin-inline-start:16px}
[data-opening-detail]{font-variant-numeric:tabular-nums}
.location-branches summary .location-status{margin-block:3px 0}
.location-branches .location-hours,.location-branches .location-hours-heading{margin-inline:4px}
.location-branches summary:hover strong{text-decoration:underline;text-underline-offset:3px}
.location-branches summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.services-widget{padding:6px 16px;border-radius:15px;background:var(--card);overflow-wrap:anywhere}
.services-widget h2{margin:10px 0 0}
.services-widget .service-category{margin:16px 0 0;font-size:.95rem;line-height:1.35}
.services-widget .service-category + ul{margin-bottom:10px}
.service-category-panel{border-top:1px solid var(--border);margin-block-start:6px}
.service-category-panel > summary{min-height:44px;padding:11px 2px;cursor:pointer;font-weight:700;line-height:1.4}
.service-category-panel > summary:hover{text-decoration:underline;text-underline-offset:3px}
.service-category-panel > summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}
.services-widget ul{list-style:none;margin:0;padding:0}
.services-widget li{padding:13px 0}
.services-widget li + li{border-top:1px solid var(--border)}
.service-image{display:block;width:100%;height:auto;max-height:320px;aspect-ratio:4/3;object-fit:cover;border-radius:9px;margin:0 0 10px;background:var(--bg)}
.service-photo{display:block;border-radius:9px}
.service-photo:hover{outline:2px solid var(--primary);outline-offset:2px}
.service-photo:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.service-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:3px 14px}
.service-price{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;overflow-wrap:anywhere;font-weight:700;font-variant-numeric:tabular-nums}
.service-price del{font-weight:500}
.profile-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.service-featured-label{display:table;margin:0 0 6px;padding:2px 8px;border-radius:6px;background:var(--bg);color:var(--ink);font-size:.78rem;font-weight:700}
.services-widget--cards li.service-featured{border-color:var(--primary)}
.services-widget li p{margin:5px 0 0;font-size:.9rem;white-space:pre-wrap}
.services-widget li .service-duration{font-size:.82rem;font-weight:600;font-variant-numeric:tabular-nums}
.service-questions{margin-top:12px;padding:7px 10px;background:var(--bg);border-radius:8px}
.services-widget li .service-questions-title{margin:0 0 3px;font-weight:700;font-size:.8rem}
.service-questions details + details{border-top:1px solid var(--border)}
.service-card-target:target{outline:2px solid var(--primary);outline-offset:3px}
.service-questions summary{min-height:44px;padding:10px 1px;font-size:.9rem;font-weight:650;cursor:pointer;overflow-wrap:anywhere}
.service-questions summary::marker{color:var(--primary)}
.service-questions summary:is(:hover,:active){text-decoration:underline;text-underline-offset:3px}
.service-questions summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}
.services-widget .service-questions details p{margin:0;padding-bottom:10px}
.services-widget .contact-link{margin-top:10px;background:var(--bg)}
.services-widget--cards{container-type:inline-size}
.services-widget--cards ul{display:grid;gap:10px;margin-block:10px}
.services-widget--cards li{min-width:0;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--card)}
.services-widget--cards .service-heading{flex-wrap:wrap;gap:4px 10px}
@container (min-width:400px){.services-widget--cards ul:has(>li:nth-child(2 of :not([hidden]))){grid-template-columns:repeat(2,minmax(0,1fr))}}
.reviews-widget{padding:clamp(14px,5vw,24px);border-radius:15px;background:var(--card);color:var(--ink);overflow-wrap:anywhere}
.reviews-widget h2{margin:0 0 12px}
.reviews-widget ul{display:grid;gap:14px;list-style:none;margin:0;padding:0}
.reviews-widget li + li{padding-top:14px;border-top:1px solid var(--border)}
.reviews-widget figure,.reviews-widget blockquote,.reviews-widget p{margin:0}
.reviews-widget figure{border:0;border-radius:0;overflow:visible;background:transparent}
.reviews-widget blockquote{padding-inline-start:12px;border-inline-start:3px solid var(--section-accent,var(--primary));white-space:pre-wrap}
.reviews-widget figcaption{display:flex;flex-wrap:wrap;gap:2px 8px;margin:8px 0 0;padding:0 0 0 15px;font-size:.875rem}
.review-source-row{flex-basis:100%}
.review-source{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-underline-offset:3px}
a.review-source:hover,a.review-source:active{color:var(--primary)}
a.review-source:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:3px}
.reviews-items--carousel{min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:3px;padding:3px 3px 8px}
.reviews-items--carousel:focus-visible{outline:2px solid var(--ink);outline-offset:1px;border-radius:10px}
.reviews-items--carousel>ul{grid-auto-flow:column;grid-auto-columns:85%;gap:10px;align-items:start}
.reviews-items--carousel>ul>li{min-width:0;scroll-snap-align:start;padding:12px;border:1px solid var(--border);border-radius:12px}
.reviews-items--carousel blockquote{border:0;padding:0}
.reviews-items--carousel figcaption{padding:0}
.page-sections{margin:0 0 18px}
.page-sections ul{display:flex;flex-wrap:wrap;gap:5px 12px;list-style:none;margin:0;padding:0}
.page-sections a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-size:.875rem;font-weight:650;text-underline-offset:4px;overflow-wrap:anywhere}
.page-sections a:hover,.page-sections a:active{text-decoration-thickness:2px}
.page-sections a[aria-current="location"]{text-decoration-thickness:3px}
.has-sticky-sections{scroll-padding-top:72px}
.page-sections--sticky{position:sticky;top:0;z-index:1;background:var(--bg);border-bottom:1px solid var(--border)}
.page-sections--sticky>ul{min-width:0;flex-wrap:nowrap;overflow-x:auto;padding:4px;scrollbar-width:thin}
.page-sections--sticky>ul li{flex:none;white-space:nowrap}
.page-sections--sticky a:focus-visible{outline-offset:0;border-radius:4px}
.section-return{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;padding-inline:3px;color:inherit;font-size:.875rem;font-weight:650;text-underline-offset:3px}
.section-return:is(:hover,:active){text-decoration-thickness:2px}
.section-return:focus-visible{outline-color:currentColor;outline-offset:2px}
.page-sections:focus-visible{outline:2px solid var(--page-ink,var(--ink));outline-offset:4px}
.section-target{min-width:0;scroll-margin-top:16px}
.section-target:has(>.section-alias){position:relative}
.section-alias{position:absolute;inset-block-start:0;inset-inline-start:0;width:1px;height:1px}
.section-target:has(>.section-alias:focus-visible){outline:2px solid var(--page-ink,var(--ink));outline-offset:4px;border-radius:4px}
.section-surface{position:relative;min-width:0;padding:clamp(12px,4vw,20px);border-radius:15px;background:var(--section-fill,var(--card));color:var(--section-text,var(--ink))}
.section-surface--accent::before{position:absolute;inset-block:12px;inset-inline-start:0;width:3px;border-radius:3px;background:var(--section-accent,var(--primary));content:""}
.section-surface>h2{margin:0}
.section-surface>:is(.inquiry,.faq-widget,.link-group,.location-widget,.services-widget,.countdown-widget,.clock-widget,.promo-widget,.reviews-widget){padding:0;border:0;background:transparent}
.announcement-widget{padding:16px;border-radius:15px;background:var(--card);color:var(--ink);overflow-wrap:anywhere}
.announcement-widget h2{margin:0}
.announcement-widget p{margin:6px 0 0;white-space:pre-wrap}
.announcement-widget .contact-link{margin-top:10px;background:var(--bg)}
.announcement-widget .contact-link:focus-visible{outline-color:var(--ink)}
.section-surface>.announcement-widget{padding:0;background:transparent}
.section-target:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:4px}
.section-target:target:not(.service-card-target),.section-target:has(>.section-alias:target){outline:2px solid currentColor;outline-offset:4px;border-radius:6px}
:is(figure,.inquiry,.faq-widget,.link-group,.contact-link,.location-widget,.services-widget,.preview-banner){color:var(--ink)}
.page-sections a{color:var(--page-ink,var(--ink))}
.page-sections--sticky{background:var(--page-bg,var(--bg))}
:is(.outbound,.contact-link,.gallery-grid a,.page-sections a,footer a,.video-external,.section-target):focus-visible{outline-color:var(--page-ink,var(--ink))}
.link-group .outbound:focus-visible{outline-color:var(--ink)}
.section-surface :is(.outbound,.contact-link,.gallery-grid a,.video-external):focus-visible{outline-color:var(--ink)}
.section-surface--custom>:is(.inquiry,.faq-widget,.link-group,.location-widget,.services-widget,.countdown-widget,.clock-widget,.promo-widget,.reviews-widget,.announcement-widget,.poll-widget,.audio-widget,.events-widget),
.section-surface--custom>.reviews-widget figure{color:inherit}
.section-surface--custom :is(.inquiry-field-error,.faq-widget summary:active,.link-group summary:active,.countdown-toggle:is(:hover,:active),.event-date strong,.review-source,.video-external){color:inherit}
.section-surface--custom :is(.faq-widget summary,.link-group summary)::marker{color:currentColor}
.section-surface--custom :is(.countdown-values span,.event-featured,.event-meta[data-visitor-event-zone],.services-widget--cards li,.service-questions,.inquiry-choices label,.inquiry-service){color:var(--ink)}
.section-surface--custom .poll-form label:has(:checked),
.section-surface--custom .inquiry-form:is([data-inquiry-state="success"],[data-inquiry-state="error"]) .inquiry-status{color:var(--ink)}
.section-surface--custom :focus-visible,.section-surface--custom .section-target:focus-visible{outline-color:var(--section-text)}
:is(.location-widget,.services-widget) .contact-link:focus-visible{outline-color:var(--ink)}
.headings-editorial :is(.profile-header h1,.profile-blocks h2){font-family:Georgia,"Times New Roman",serif;letter-spacing:-.015em}
.headings-mono :is(.profile-header h1,.profile-blocks h2){font-family:ui-monospace,"Courier New",monospace;letter-spacing:-.025em}
.group-link-item{min-width:0;display:flex;flex-direction:column}
.group-link-item>.outbound{flex:1;min-width:0}
.group-link-share{display:flex;justify-content:flex-end}
.group-link-share button,.group-link-copy-dialog button{min-height:44px;padding:6px 10px;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.group-link-share button:focus-visible,.group-link-copy-dialog :focus-visible{outline:2px solid currentColor;outline-offset:-2px}
.group-link-copy-status{position:fixed;inset-inline:16px;bottom:16px;margin:auto;width:fit-content;padding:10px 16px;background:var(--card);color:var(--ink);border-radius:8px;z-index:5}
.group-link-copy-status:empty{display:none}
.group-link-copy-dialog{width:min(420px,calc(100% - 32px));background:var(--card);color:var(--ink);border:1px solid var(--border);border-radius:12px;padding:18px}
.group-link-copy-dialog input{display:block;width:100%;min-height:44px;margin:6px 0;padding:8px;font:inherit}
.group-link-copy-dialog form{text-align:end}

.page-sections-menu{--outline-ink:var(--page-ink,var(--ink));--outline-line:var(--border);--outline-surface:var(--page-bg,var(--bg))}

@media(min-width:900px){
  html.has-sticky-sections:has(.profile--desktop){scroll-padding-top:0}
  .profile--desktop .page-sections:has(>ul){
    --outline-axis:vertical;
    position:static;margin-block:0 18px;padding-block:8px;
    border:0;border-top:1px solid var(--border);background:none
  }
  .profile--desktop .page-sections>ul{
    display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:0;overflow:visible
  }
  .profile--desktop .page-sections>ul li{min-width:0;white-space:normal}
  .profile--desktop .page-sections>ul a{
    display:flex;padding:6px 8px;border-radius:6px;text-decoration:none
  }
  .profile--desktop .page-sections>ul a:is(:hover,:focus-visible,[aria-current="location"]){
    background:color-mix(in srgb,currentColor 9%,transparent)
  }
  .profile--desktop .page-sections>ul a[aria-current="location"]{text-decoration:underline}
}

.location-map-stage{background:#e4e9df;isolation:isolate}
.location-map-panel > .location-map-stage[hidden],
.location-map-panel[data-map-unavailable] > .location-map-stage{display:none}

.faq-search label {min-width:0}
.faq-widget .faq-topic-label {padding-block-end:8px;font-size:.82rem;font-weight:650}

.gallery-collections:not([hidden]) {display:flex;flex-wrap:wrap;align-items:end;gap:6px 12px;margin-block:10px 14px}
.gallery-collections label {display:grid;gap:4px;min-width:0;max-width:100%;font-size:.875rem;font-weight:650}
.gallery-collections select {min-height:44px;max-width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:inherit;font:inherit}
.gallery-collections select:focus-visible {outline:2px solid currentColor;outline-offset:2px}
.gallery-collections p {margin:0;align-self:center;font-size:.85rem}
.gallery-collections p:empty {display:none}
.gallery-grid > figure[hidden] {display:none}
