/* Standard profile composition. Builder and Page Studio documents keep their own layouts. */
.sbd-profile.sbd-profile--editorial {
	--sbd-editorial-gap: clamp(20px, 3vw, 40px);
	--sbd-editorial-border: var(--sbd-profile-box-border, #d7e2e8);
	--sbd-editorial-ink: var(--sbd-profile-heading-color, #12384d);
	--sbd-editorial-muted: var(--sbd-profile-muted-color, #526875);
	padding-bottom: 48px;
}
.sbd-profile--editorial *, .sbd-profile--editorial *::before, .sbd-profile--editorial *::after { box-sizing: border-box; }
.sbd-profile--editorial :is(h1, h2, h3, p, a, span) { overflow-wrap: anywhere; }
.sbd-profile.sbd-profile--editorial .sbd-profile__header {
	min-height: 0;
	width: min(1180px, calc(100% - 40px));
	margin-inline: auto;
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: start;
	padding-inline: 0;
	padding-block: clamp(32px, 5vw, 64px);
	gap: var(--sbd-editorial-gap);
	border-bottom: 1px solid var(--sbd-editorial-border);
}
.sbd-profile--editorial .sbd-profile__header:not(:has(.sbd-profile__logo-wrap)) { grid-template-columns: minmax(0, 1fr); }
.sbd-profile.sbd-profile--editorial .sbd-profile__logo-wrap { width: 140px; margin: 0; padding: 14px; border-radius: 16px; }
.sbd-profile.sbd-profile--editorial .sbd-profile__logo { width: 100%; height: auto; max-height: 140px; object-fit: contain; }
.sbd-profile.sbd-profile--editorial .sbd-profile__heading h1 {
	margin: 0 0 18px;
	font-size: clamp(2.15rem, 4.6vw, 4.25rem);
	line-height: 1.07;
	letter-spacing: -.045em;
	text-wrap: balance;
}
.sbd-profile.sbd-profile--editorial .sbd-profile__intro { max-width: 58ch; margin: 0 0 22px; font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.7; }
.sbd-profile.sbd-profile--editorial .sbd-profile__badges { justify-content: flex-start; gap: 6px; margin: 0 0 8px; }
.sbd-profile.sbd-profile--editorial .sbd-profile__badge { min-height: 24px; padding: 4px 9px; border-radius: 6px; font-size: .7rem; letter-spacing: .035em; }
.sbd-profile__badge-guide { max-width: 60ch; margin: 6px 0 20px; color: var(--sbd-editorial-muted); font-size: .8rem; }
.sbd-profile__badge-guide summary { min-height: 32px; cursor: pointer; text-underline-offset: 3px; }
.sbd-profile__badge-guide summary:hover { text-decoration: underline; }
.sbd-profile__badge-guide p { margin: 8px 0 0; padding: 12px; border-left: 2px solid var(--sbd-editorial-border); }
.sbd-profile__hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 22px 0; }
.sbd-profile__hero-actions > :is(a, button) { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 8px; padding: 10px 18px; border: 1px solid var(--sbd-editorial-border); border-radius: 9px; font: inherit; font-size: .9rem; font-weight: 750; cursor: pointer; text-decoration: none; }
.sbd-profile.sbd-profile--editorial .sbd-profile__hero-actions > .sbd-button { border-radius: var(--sbd-button-radius, 9px); }
.sbd-profile__hero-actions > button { color: var(--sbd-editorial-ink); background: var(--sbd-profile-box-bg, #fff); }
.sbd-profile__hero-actions > button:hover { border-color: currentColor; }
.sbd-profile__hero-actions > .is-active { color: #fff; background: #12384d; border-color: #12384d; }
.sbd-profile__save-feedback { flex-basis: 100%; color: var(--sbd-editorial-muted); font-size: .78rem; }
.sbd-profile__save-feedback:has([data-sbd-saved-status]:empty) { display: none; }
.sbd-profile.sbd-profile--editorial .sbd-profile__trust-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 18px; margin-top: 24px; padding: 22px 0 0; border: 0; border-top: 1px solid var(--sbd-editorial-border); border-radius: 0; background: transparent; box-shadow: none; }
.sbd-profile.sbd-profile--editorial .sbd-profile__trust-strip > span { display: flex; flex-direction: column; gap: 5px; padding: 0; border: 0; color: var(--sbd-editorial-ink); font-size: .88rem; line-height: 1.5; }
.sbd-profile.sbd-profile--editorial .sbd-profile__trust-strip strong { color: var(--sbd-editorial-muted); font-size: .68rem; font-weight: 750; text-transform: uppercase; letter-spacing: .09em; }
.sbd-profile.sbd-profile--editorial .sbd-profile__layout { gap: var(--sbd-editorial-gap); padding-block: 36px; }
.sbd-profile.sbd-profile--editorial :is(.sbd-profile__section, .sbd-landing-panel, .sbd-hours-card, .sbd-map-card) { padding: clamp(22px, 3vw, 36px); border: 1px solid var(--sbd-editorial-border); border-radius: 14px; background: var(--sbd-profile-box-bg, #fff); box-shadow: 0 2px 4px rgba(18, 56, 77, .025); }
.sbd-profile.sbd-profile--editorial .sbd-profile__main > .sbd-profile__section:first-child { border-top: 1px solid var(--sbd-editorial-border); }
.sbd-profile.sbd-profile--editorial :is(.sbd-profile__section, .sbd-landing-panel, .sbd-contact-card, .sbd-hours-card, .sbd-map-card, .sbd-offer) h2 { margin: 0 0 18px; font-size: clamp(1.4rem, 2.6vw, 2rem); line-height: 1.2; letter-spacing: -.025em; }
.sbd-profile.sbd-profile--editorial .sbd-section-kicker { margin: 0 0 10px; font-size: .68rem; font-weight: 800; letter-spacing: .11em; }
.sbd-profile.sbd-profile--editorial .sbd-profile__content { max-width: 70ch; font-size: 1rem; line-height: 1.8; }
.sbd-profile.sbd-profile--editorial .sbd-contact-card { position: static; top: auto; padding: clamp(22px, 3vw, 32px); border: 1px solid var(--sbd-editorial-border); border-top: 3px solid var(--sbd-profile-link-color, #176b91); border-radius: 14px; background: var(--sbd-profile-box-bg, #fff); box-shadow: 0 12px 30px rgba(18,56,77,.05); }
.sbd-profile.sbd-profile--editorial .sbd-contact-card > .sbd-section-kicker { padding: 0; border: 0; margin-bottom: 10px; }
.sbd-profile.sbd-profile--editorial .sbd-contact-card > p:not(.sbd-section-kicker) { margin: 0; padding: 13px 0; border-bottom: 1px solid var(--sbd-editorial-border); font-size: .94rem; line-height: 1.6; }
.sbd-profile.sbd-profile--editorial .sbd-contact-card > p > strong { color: var(--sbd-editorial-muted); font-size: .72rem; letter-spacing: .025em; }
.sbd-profile.sbd-profile--editorial .sbd-landing-band { gap: var(--sbd-editorial-gap); margin-block: 24px; padding-block: 0; }
.sbd-profile.sbd-profile--editorial .sbd-choice-list { gap: 12px; }
.sbd-profile.sbd-profile--editorial .sbd-service-row { padding: 18px 0; border: 0; border-bottom: 1px solid var(--sbd-editorial-border); background: transparent; box-shadow: none; }
.sbd-profile.sbd-profile--editorial .sbd-service-row h3 { margin: 0 0 6px; font-size: 1.05rem; }
.sbd-profile.sbd-profile--editorial .sbd-offer { padding: 28px; border: 1px solid var(--sbd-editorial-border); border-left: 3px solid var(--sbd-profile-link-color, #176b91); border-radius: 14px; }
.sbd-profile.sbd-profile--editorial .sbd-profile__microsite-nav { border: 1px solid var(--sbd-editorial-border); border-radius: 10px; box-shadow: none; }
.sbd-profile--editorial :is(.sbd-profile__microsite-nav, .sbd-profile__section-nav) a { min-height: 44px; display: inline-flex; align-items: center; padding: 8px 12px; border-radius: 6px; text-decoration: none; }
.sbd-profile--editorial :is(.sbd-profile__microsite-nav, .sbd-profile__section-nav) a[aria-current="location"] { color: var(--sbd-profile-link-color, #176b91); background: var(--sbd-profile-box-bg, #fff); box-shadow: inset 0 -2px currentColor; }
.sbd-profile--editorial :is(a, button, summary, input, textarea):focus-visible { outline: 3px solid var(--sbd-profile-link-color, #176b91); outline-offset: 3px; }
.sbd-profile--editorial [id^="sbd-"] { scroll-margin-top: 100px; }
/* Keep explicitly centered profile identities centered. */
.sbd-profile.sbd-profile--editorial.sbd-profile-header--center .sbd-profile__header,
body.sbd-hero-layout--centered .sbd-profile.sbd-profile--editorial .sbd-profile__header { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
.sbd-profile.sbd-profile--editorial.sbd-profile-header--center .sbd-profile__logo-wrap,
body.sbd-hero-layout--centered .sbd-profile.sbd-profile--editorial .sbd-profile__logo-wrap { justify-self: center; }
.sbd-profile.sbd-profile--editorial.sbd-profile-header--center :is(.sbd-profile__badges, .sbd-profile__hero-actions),
body.sbd-hero-layout--centered .sbd-profile.sbd-profile--editorial :is(.sbd-profile__badges, .sbd-profile__hero-actions) { justify-content: center; }
@media (max-width: 700px) {
	.sbd-profile.sbd-profile--editorial { padding-bottom: calc(118px + env(safe-area-inset-bottom)); }
	.sbd-profile.sbd-profile--editorial .sbd-profile__header { padding-block: 28px; grid-template-columns: minmax(0, 1fr); gap: 20px; text-align: left; }
	.sbd-profile.sbd-profile--editorial .sbd-profile__logo-wrap { width: 88px; padding: 10px; }
	.sbd-profile.sbd-profile--editorial .sbd-profile__trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
	.sbd-profile.sbd-profile--editorial .sbd-profile__layout { padding-block: 22px; }
	.sbd-profile__hero-actions > .sbd-button { flex-basis: 100%; }
	.sbd-profile__hero-actions > button { flex: 1; }
	.sbd-profile.sbd-profile--editorial :is(.sbd-profile__microsite-nav, .sbd-profile__section-nav) { max-width: 100%; }
	.sbd-profile.sbd-profile--editorial .sbd-profile__microsite-nav > div { display: flex; max-width: 100%; overflow-x: auto; flex-wrap: nowrap; gap: 4px; }
	.sbd-profile--editorial .sbd-profile__microsite-nav > div a { flex-shrink: 0; }
}
@media (prefers-reduced-motion: reduce) { .sbd-profile--editorial * { scroll-behavior: auto; } }
@media print { .sbd-profile__hero-actions, .sbd-profile__save-feedback { display: none; } }

.sbd-profile.sbd-profile--editorial :is(.sbd-profile__microsite-nav, .sbd-profile__section-nav) a[hidden] { display: none; }
