:root {
	--smdec-ink: #172b3a;
	--smdec-muted: #526675;
	--smdec-blue: #006a9b;
	--smdec-blue-deep: #004f75;
	--smdec-blue-pale: #e8f6fc;
	--smdec-blue-soft: #f4fbfe;
	--smdec-line: #cfe3ec;
	--smdec-focus: #ffbf47;
	--smdec-red: #711c28;
	--smdec-red-pale: #fff1f2;
	--smdec-shadow: 0 18px 50px rgba(25, 72, 93, .11);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 94px; }
body { margin: 0; background: #fff; color: var(--smdec-ink); font-family: Arial, Helvetica, sans-serif; font-size: 18px; line-height: 1.58; -webkit-font-smoothing: antialiased; }
a { color: var(--smdec-blue-deep); }
a:focus-visible, button:focus-visible { outline: 4px solid var(--smdec-focus); outline-offset: 3px; }
button { font: inherit; }
.smdec-shell { width: min(1160px, calc(100% - 40px)) !important; max-width: 1160px !important; margin-inline: auto !important; }
.smdec-section { margin: 0 !important; padding: clamp(4.5rem, 8vw, 7.5rem) 0; }
.smdec-compact-section { padding-block: clamp(3.5rem, 6vw, 5rem); }

.smdec-skip-link { position: fixed; z-index: 1000; left: 1rem; top: 0; padding: .75rem 1rem; background: var(--smdec-ink); color: #fff; font-weight: 700; transform: translateY(-120%); }
.smdec-skip-link:focus { transform: translateY(.75rem); }
.smdec-site-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid var(--smdec-line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.smdec-header-inner { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.smdec-brand, .smdec-brand .custom-logo-link { display: inline-flex; flex: 0 0 auto; }
.smdec-brand img { display: block; width: 230px; height: 70px; object-fit: contain; }
.smdec-main-navigation { display: flex; align-items: center; gap: 1.1rem; }
.smdec-nav-list { display: flex; align-items: center; gap: 1.1rem; margin: 0; padding: 0; list-style: none; }
.smdec-nav-list a, .smdec-nav-call { color: var(--smdec-ink); font-size: .84rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.smdec-nav-list a:hover { text-decoration: underline; text-underline-offset: 4px; }
.smdec-nav-call { min-height: 46px; display: inline-flex; align-items: center; padding: .65rem 1rem; border-radius: 10px; background: var(--smdec-blue-deep); color: #fff; }
.smdec-menu-toggle { display: none; min-height: 48px; padding: .5rem .8rem; border: 2px solid var(--smdec-blue-deep); border-radius: 8px; background: #fff; color: var(--smdec-blue-deep); font-weight: 700; }
.smdec-mobile-call { display: none; min-height: 48px; align-items: center; margin-left: auto; padding: .5rem .75rem; border-radius: 8px; background: var(--smdec-blue-deep); color: #fff; font-size: .8rem; font-weight: 800; text-decoration: none; }

.smdec-hero { position: relative; overflow: hidden; margin: 0 !important; padding: clamp(3rem, 7vw, 6.5rem) 0; background: radial-gradient(circle at 91% 5%, rgba(92,193,233,.2), transparent 29rem), linear-gradient(135deg, var(--smdec-blue-soft), #fff 66%); }
.smdec-hero::after { content: ''; position: absolute; inset: auto -8rem -12rem auto; width: 28rem; aspect-ratio: 1; border: 5rem solid rgba(0,106,155,.035); border-radius: 50%; }
.wp-block-columns.smdec-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.45fr) minmax(310px,.7fr); gap: clamp(2.5rem,6vw,6rem); align-items: center !important; margin-bottom: 0; }
.smdec-eyebrow { margin: 0 0 .75rem !important; color: var(--smdec-blue-deep); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
h1, h2, h3, .wp-block-heading { color: var(--smdec-ink); line-height: 1.1; letter-spacing: -.03em; }
.smdec-hero h1 { max-width: 760px; margin: 0; font-size: clamp(2.6rem,5.5vw,5rem); }
.smdec-hero-intro { max-width: 690px; margin: 1.25rem 0 1.5rem !important; color: var(--smdec-muted); font-size: clamp(1.14rem,2vw,1.4rem); }
.smdec-notice-pill { display: inline-flex; margin: 0 !important; padding: .6rem .85rem; border-left: 5px solid var(--smdec-blue); background: var(--smdec-blue-pale); color: var(--smdec-blue-deep); }
.smdec-booking-lead { max-width: 700px; margin: 1.35rem 0 !important; }
.wp-block-buttons.smdec-call-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; max-width: 710px; }
.smdec-call-card { display: block; width: 100%; }
.smdec-call-card .wp-block-button__link { width: 100%; min-height: 92px; display: flex; flex-direction: column; justify-content: center; padding: 1rem 1.2rem; border: 2px solid var(--smdec-blue-deep); border-radius: 14px; font-size: .86rem; font-weight: 700; line-height: 1.3; text-align: left; transition: transform .15s ease, box-shadow .15s ease; }
.smdec-call-card .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(0,79,117,.14); }
.smdec-call-card strong { font-size: clamp(1.35rem,3vw,1.75rem); }
.smdec-call-primary .wp-block-button__link { background: var(--smdec-blue-deep); color: #fff; }
.smdec-call-secondary .wp-block-button__link { background: #fff; color: var(--smdec-blue-deep); }
.smdec-hours-card { padding: clamp(1.5rem,4vw,2.25rem); border: 1px solid var(--smdec-line); border-radius: 22px; background: rgba(255,255,255,.96); box-shadow: var(--smdec-shadow); }
.smdec-hours-card h2 { margin: 0 0 1.4rem; font-size: clamp(1.7rem,3vw,2.25rem); }
.smdec-hours-row { margin: 0 !important; padding: 1rem 0; border-top: 1px solid var(--smdec-line); }
.smdec-hours-row:nth-of-type(3) { border-bottom: 1px solid var(--smdec-line); }
.smdec-hours-row p { margin: 0; }
.smdec-hours-row p:first-child { color: var(--smdec-muted); font-size: .9rem; }
.smdec-hours-row p:last-child { font-size: 1.25rem; }
.smdec-holiday-note { margin: 1.4rem 0 0 !important; color: var(--smdec-muted); font-size: .92rem; }

.smdec-section-heading { max-width: 760px; margin: 0 0 2.75rem !important; }
.smdec-section-heading h2, .smdec-two-column-copy h2, .smdec-about-grid h2, .smdec-advice-grid h2, .smdec-emergency-grid h2 { margin: 0 0 1rem; font-size: clamp(2rem,4vw,3.25rem); }
.smdec-section-heading > p:last-child { color: var(--smdec-muted); font-size: 1.08rem; }
.smdec-centred { margin-inline: auto !important; text-align: center; }
.wp-block-columns.smdec-steps { gap: 1rem; margin-bottom: 0; }
.smdec-step { min-height: 245px; padding: 1.7rem; border: 1px solid var(--smdec-line); border-radius: 18px; background: var(--smdec-blue-soft); }
.smdec-step-number { width: 42px; height: 42px; display: grid; place-items: center; margin: 0 0 1.35rem !important; border-radius: 50%; background: var(--smdec-blue-deep); color: #fff; font-weight: 800; }
.smdec-step h3 { margin: 0 0 .55rem; font-size: 1.28rem; }
.smdec-step > p:last-child { margin-bottom: 0; color: var(--smdec-muted); }
.smdec-source-note { margin: 1.4rem 0 0 !important; color: var(--smdec-muted); font-size: .9rem; text-align: center; }
.smdec-compact-section { border-block: 1px solid var(--smdec-line); background: var(--smdec-blue-soft); }
.wp-block-columns.smdec-split-panel, .wp-block-columns.smdec-two-column-copy, .wp-block-columns.smdec-about-grid, .wp-block-columns.smdec-advice-grid, .wp-block-columns.smdec-emergency-grid { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); gap: clamp(2rem,7vw,7rem); align-items: start; margin-bottom: 0; }
.smdec-prose p:first-child { margin-top: 0; }

.smdec-charge-section { padding-block: clamp(3.5rem,6vw,5rem); background: #fffaf0; }
.wp-block-columns.smdec-charge-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.78fr); gap: clamp(2rem,6vw,6rem); align-items: center; padding: clamp(1.75rem,4vw,3rem); border: 1px solid #f0d3a0; border-left: 8px solid #a75100; border-radius: 20px; background: #fff; box-shadow: 0 14px 40px rgba(105,65,12,.08); }
.smdec-charge-card h2 { margin: 0; font-size: clamp(1.8rem,3.4vw,2.8rem); }
.smdec-charge-card .wp-block-button__link, .smdec-location-card .wp-block-button__link { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: .72rem 1.1rem; border: 2px solid var(--smdec-blue-deep); border-radius: 10px; background: #fff; color: var(--smdec-blue-deep); font-weight: 800; line-height: 1.25; }
.smdec-charge-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; }
.smdec-charge-actions .wp-block-button { flex: 1 1 250px; }
.smdec-charge-actions .wp-block-button__link { width: 100%; }

.smdec-treatment-list { columns: 2; column-gap: 3.5rem; margin: 0; padding: 0; list-style: none; }
.smdec-treatment-list li, .smdec-plain-check-list li { position: relative; break-inside: avoid; padding: .65rem 0 .65rem 2rem; border-bottom: 1px solid var(--smdec-line); }
.smdec-treatment-list li::before, .smdec-plain-check-list li::before { content: '✓'; position: absolute; left: .25rem; top: .65rem; color: var(--smdec-blue-deep); font-weight: 900; }
.smdec-clinical-note { max-width: 900px; margin: 2.25rem 0 0 !important; padding: 1.25rem 1.4rem; border-left: 5px solid var(--smdec-blue); background: var(--smdec-blue-pale); }
.smdec-aftercare-section { background: var(--smdec-blue-soft); }
.smdec-advice-grid { grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr) !important; }
.smdec-plain-check-list { margin: 0; padding: 0; list-style: none; }

.smdec-emergency-band { margin: 0 !important; padding: clamp(3.5rem,7vw,6rem) 0; border-block: 6px solid var(--smdec-red); background: var(--smdec-red-pale); }
.smdec-emergency-band .smdec-eyebrow, .smdec-emergency-band a { color: var(--smdec-red); }
.smdec-emergency-grid ul { margin-top: 0; padding-left: 1.35rem; }
.smdec-emergency-grid li + li { margin-top: .75rem; }
.smdec-emergency-source a { min-height: 44px; display: inline-flex; align-items: center; font-weight: 700; }

.smdec-locations-section { background: var(--smdec-blue-soft); }
.smdec-location-grid { display: grid !important; grid-template-columns: repeat(6,1fr) !important; gap: 1rem; }
.smdec-location-card { grid-column: span 2; display: flex; flex-direction: column; min-height: 300px; margin: 0 !important; padding: 1.5rem; border: 1px solid var(--smdec-line); border-radius: 17px; background: #fff; }
.smdec-location-card:nth-child(4) { grid-column: 2 / span 2; }
.smdec-location-card h3 { margin: 0 0 .8rem; font-size: 1.28rem; }
.smdec-location-address { margin: 0 0 1.5rem !important; color: var(--smdec-muted); }
.smdec-location-card .wp-block-buttons { margin-top: auto; }
.smdec-map-wrap { margin-top: 2rem; }
.smdec-map-container { min-height: 420px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--smdec-line); border-radius: 20px; background-color: #e1edf2; background-image: linear-gradient(rgba(255,255,255,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.45) 1px,transparent 1px); background-size: 40px 40px; }
.smdec-map-loading, .smdec-map-message { width: min(620px,calc(100% - 30px)); padding: 2rem; border-radius: 16px; background: #fff; box-shadow: var(--smdec-shadow); text-align: center; }
.smdec-map-loading h3, .smdec-map-message h3 { margin: .8rem 0; font-size: 1.35rem; }
.smdec-map-loading p, .smdec-map-message p { color: var(--smdec-muted); }
.smdec-map-privacy-note { margin: .65rem .25rem 0; color: var(--smdec-muted); font-size: .86rem; }
.smdec-location-map { width: 100%; min-height: 520px; background: #dce9ee; }
.smdec-location-map .leaflet-popup-content { color: var(--smdec-ink); font: 16px/1.45 Arial,Helvetica,sans-serif; }
.smdec-location-map .leaflet-popup-content strong { display: block; margin-bottom: .25rem; font-size: 1.05rem; }
.smdec-location-map .leaflet-popup-content p { margin: 0 0 .65rem; }
.smdec-location-map .leaflet-popup-content a { min-height: 44px; display: inline-flex; align-items: center; color: var(--smdec-blue-deep); font-weight: 800; }
.smdec-location-map .leaflet-control-attribution { font-size: 12px; }

.smdec-host-warning { margin-block: 1.5rem !important; padding: 1.2rem 1.3rem; border-left: 5px solid var(--smdec-blue); background: var(--smdec-blue-pale); }
.smdec-final-cta { margin: 0 !important; padding: 3rem 0; background: var(--smdec-blue-deep); color: #fff; }
.wp-block-columns.smdec-final-cta-inner { align-items: center; margin-bottom: 0; }
.smdec-final-cta .smdec-eyebrow, .smdec-final-cta h2 { color: #fff; }
.smdec-final-cta h2 { margin: 0; font-size: clamp(1.8rem,3.5vw,2.7rem); }
.smdec-final-actions { justify-content: flex-end; }
.smdec-final-actions .wp-block-button__link { min-height: 50px; padding: .72rem 1.1rem; border-radius: 10px; font-weight: 800; }
.smdec-button-light .wp-block-button__link { background: #fff; color: var(--smdec-blue-deep); }
.smdec-button-white-outline .wp-block-button__link { border: 2px solid #fff; color: #fff; }

.smdec-site-footer { padding: 4rem 0 2rem; background: var(--smdec-ink); color: #e7f1f5; }
.smdec-site-footer a { color: #fff; }
.smdec-footer-grid { display: grid; grid-template-columns: 1.4fr .8fr .8fr; gap: 3rem; }
.smdec-footer-brand img { width: 200px; height: 75px; object-fit: contain; margin-bottom: 1rem; border-radius: 5px; background: #fff; }
.smdec-footer-grid h2 { margin: 0 0 .9rem; color: #fff; font-size: 1.05rem; letter-spacing: 0; }
.smdec-footer-grid > div:not(:first-child) a { min-height: 44px; display: flex; align-items: center; }
.smdec-footer-small { display: flex; justify-content: space-between; gap: 2rem; margin-top: 2.5rem !important; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.2); color: #bfd1d9; font-size: .82rem; }
.smdec-footer-small p { margin: 0; }
.smdec-standard-content { padding: 4rem 0; }

.smdec-aftercare-hero { padding: clamp(3rem,7vw,5.5rem) 0; border-bottom: 1px solid var(--smdec-line); background: radial-gradient(circle at 88% 0,rgba(92,193,233,.2),transparent 24rem),var(--smdec-blue-soft); }
.smdec-aftercare-hero-inner { max-width: 920px !important; }
.smdec-aftercare-hero h1 { max-width: 900px; margin: 0; font-size: clamp(2.35rem,5vw,4.3rem); }
.smdec-aftercare-summary { max-width: 760px; margin: 1.25rem 0 0; color: var(--smdec-muted); font-size: clamp(1.08rem,2vw,1.32rem); }
.smdec-breadcrumb { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 2.25rem; color: var(--smdec-muted); font-size: .88rem; }
.smdec-breadcrumb a { color: var(--smdec-blue-deep); }
.smdec-aftercare-layout { display: grid; grid-template-columns: minmax(0,760px) minmax(250px,330px); gap: clamp(2.5rem,6vw,6rem); align-items: start; padding-block: clamp(3.5rem,7vw,6rem); }
.smdec-aftercare-article { min-width: 0; }
.smdec-aftercare-article > h2 { margin-top: 2.5rem; font-size: clamp(1.55rem,3vw,2.15rem); }
.smdec-aftercare-article li + li { margin-top: .7rem; }
.smdec-aftercare-intro { margin: 0 0 2.5rem !important; padding: 1.35rem 1.5rem; border-left: 6px solid var(--smdec-blue); background: var(--smdec-blue-pale); font-size: 1.08rem; }
.smdec-aftercare-notice, .smdec-aftercare-warning { margin: 2.5rem 0 !important; padding: 1.5rem; border-left: 6px solid var(--smdec-blue); background: var(--smdec-blue-soft); }
.smdec-aftercare-warning { border-left-color: #a75100; background: #fffaf0; }
.smdec-aftercare-notice h2, .smdec-aftercare-warning h2 { margin-top: 0; font-size: clamp(1.55rem,3vw,2.15rem); }
.smdec-aftercare-emergency { margin-top: 2.5rem; padding: 1.5rem; border: 3px solid var(--smdec-red); background: var(--smdec-red-pale); }
.smdec-aftercare-emergency h2 { margin: 0 0 .65rem; font-size: clamp(1.55rem,3vw,2.15rem); }
.smdec-aftercare-emergency p { margin: 0; }
.smdec-aftercare-help { position: sticky; top: 110px; padding: 1.5rem; border: 1px solid var(--smdec-line); border-radius: 18px; background: #fff; box-shadow: var(--smdec-shadow); }
.smdec-aftercare-help h2 { font-size: 1.55rem; }
.smdec-aftercare-button, .smdec-aftercare-home-link .wp-block-button__link { width: 100%; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; margin-top: .65rem; padding: .72rem 1.1rem; border: 2px solid var(--smdec-blue-deep); border-radius: 10px; background: #fff; color: var(--smdec-blue-deep); font-weight: 800; line-height: 1.25; text-align: center; text-decoration: none; }
.smdec-aftercare-button-primary { background: var(--smdec-blue-deep); color: #fff; }
.smdec-aftercare-back { min-height: 44px; display: inline-flex; align-items: center; margin-top: 1.15rem; font-weight: 800; }
.smdec-aftercare-index-intro { max-width: 760px; margin-bottom: 2.5rem; }
.smdec-aftercare-card-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.smdec-aftercare-card { display: flex; flex-direction: column; min-height: 300px; padding: 1.6rem; border: 1px solid var(--smdec-line); border-radius: 18px; background: var(--smdec-blue-soft); }
.smdec-aftercare-card h2 { font-size: 1.55rem; }
.smdec-aftercare-card h2 a { color: var(--smdec-ink); }
.smdec-aftercare-card p { color: var(--smdec-muted); }
.smdec-aftercare-card-link { min-height: 44px; display: inline-flex; align-items: center; margin-top: auto; font-weight: 800; }
.smdec-home-aftercare-section { background: #fff; }
.wp-block-columns.smdec-home-aftercare-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.smdec-home-aftercare-card { display: flex; flex-direction: column; min-height: 310px; padding: 1.6rem; border: 1px solid var(--smdec-line); border-radius: 18px; background: var(--smdec-blue-soft); }
.smdec-home-aftercare-card h3 { font-size: 1.45rem; }
.smdec-home-aftercare-card > p:not(.smdec-home-aftercare-link) { color: var(--smdec-muted); }
.smdec-home-aftercare-link { margin-top: auto !important; }
.smdec-home-aftercare-link a { min-height: 44px; display: inline-flex; align-items: center; font-weight: 800; }

@media (max-width: 1100px) {
	.smdec-nav-list { display: none; }
	.smdec-menu-toggle { display: inline-flex; }
	.smdec-mobile-call { display: inline-flex; }
	.smdec-main-navigation { position: absolute; inset: 80px 0 auto 0; display: none; align-items: stretch; padding: 1rem 20px 1.25rem; border-bottom: 1px solid var(--smdec-line); background: #fff; box-shadow: 0 14px 24px rgba(23,43,58,.08); }
	.smdec-main-navigation.is-open { display: block; }
	.smdec-main-navigation.is-open .smdec-nav-list { display: grid; gap: 0; }
	.smdec-main-navigation.is-open .smdec-nav-list a { display: block; min-height: 48px; padding: .7rem 0; }
	.smdec-main-navigation.is-open .smdec-nav-call { width: 100%; justify-content: center; margin-top: .5rem; }
}

@media (max-width: 800px) {
	.wp-block-columns.smdec-hero-grid, .wp-block-columns.smdec-charge-card, .wp-block-columns.smdec-split-panel, .wp-block-columns.smdec-two-column-copy, .wp-block-columns.smdec-about-grid, .wp-block-columns.smdec-advice-grid, .wp-block-columns.smdec-emergency-grid { grid-template-columns: 1fr !important; }
	.wp-block-columns.smdec-steps { display: grid; grid-template-columns: 1fr; }
	.smdec-step { min-height: auto; }
	.smdec-treatment-list { columns: 1; }
	.smdec-location-card, .smdec-location-card:nth-child(4) { grid-column: span 3; }
	.smdec-footer-grid { grid-template-columns: 1fr 1fr; }
	.smdec-footer-brand { grid-column: 1 / -1; }
	.smdec-aftercare-layout { grid-template-columns: 1fr; }
	.smdec-aftercare-help { position: static; }
	.smdec-aftercare-card-grid { grid-template-columns: 1fr; }
	.smdec-aftercare-card { min-height: auto; }
	.wp-block-columns.smdec-home-aftercare-grid { grid-template-columns: 1fr; }
	.smdec-home-aftercare-card { min-height: auto; }
}

@media (max-width: 600px) {
	body { font-size: 17px; }
	.smdec-shell { width: min(100% - 28px,1160px) !important; }
	.smdec-section { padding-block: 4rem; }
	.smdec-header-inner { min-height: 70px; }
	.smdec-header-inner { gap: .5rem; }
	.smdec-brand img { width: 150px; height: 52px; }
	.smdec-main-navigation { top: 70px; padding-inline: 14px; }
	.smdec-hero { padding-block: 2.5rem 3.5rem; }
	.smdec-hero h1 { font-size: clamp(2.35rem,12vw,3.35rem); }
	.wp-block-buttons.smdec-call-grid { grid-template-columns: 1fr; }
	.smdec-call-card .wp-block-button__link { min-height: 84px; }
	.wp-block-columns.smdec-charge-card { padding: 1.4rem; }
	.smdec-location-grid { grid-template-columns: 1fr !important; }
	.smdec-location-card, .smdec-location-card:nth-child(4) { grid-column: 1; min-height: 265px; }
	.smdec-map-container { min-height: 440px; }
	.smdec-map-loading, .smdec-map-message { padding: 1.4rem; }
	.smdec-final-actions, .smdec-final-actions .wp-block-button, .smdec-final-actions .wp-block-button__link { width: 100%; }
	.smdec-footer-grid { grid-template-columns: 1fr; }
	.smdec-footer-brand { grid-column: auto; }
	.smdec-footer-small { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; }
}

@media (max-width: 360px) {
	.smdec-mobile-call { display: none; }
}

@media print {
	.smdec-site-header, .smdec-final-cta, .smdec-map-wrap { display: none; }
	.smdec-section, .smdec-emergency-band { padding-block: 2rem; }
	.smdec-hero { padding-block: 2rem; background: #fff; }
	a { color: inherit; }
}
