/* =====================================================================
 * SDLLF design layer: "the reading room"
 * Loads after sdl.css and replaces its look (shared with the SDLRLA
 * build) with the Foundation's own: Caslon headings, Public Sans text,
 * catalog-card panels, and a bookshelf under the dark bands.
 * Colours stay the logo's: ink #1c1c1e, red #c41e30, greys.
 * ===================================================================== */

@font-face { font-family: "SDLLF Caslon Display"; src: url(fonts/libre-caslon-display-latin-400-normal.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "SDLLF Caslon"; src: url(fonts/libre-caslon-text-latin-400-normal.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "SDLLF Caslon"; src: url(fonts/libre-caslon-text-latin-400-italic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "SDLLF Caslon"; src: url(fonts/libre-caslon-text-latin-700-normal.woff2) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "SDLLF Public Sans"; src: url(fonts/public-sans-latin-400-normal.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "SDLLF Public Sans"; src: url(fonts/public-sans-latin-400-italic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "SDLLF Public Sans"; src: url(fonts/public-sans-latin-600-normal.woff2) format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "SDLLF Public Sans"; src: url(fonts/public-sans-latin-700-normal.woff2) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

/* ---------- Tokens ---------- */
.sdl-loc, .sdlp-lightbox {
	--sdl-display: "SDLLF Caslon Display", "Libre Caslon Display", Georgia, "Times New Roman", serif;
	--sdl-serif: "SDLLF Caslon", "Libre Caslon Text", Georgia, "Times New Roman", serif;
	--sdl-sans: "SDLLF Public Sans", "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

	--sdl-ink: #1c1c1e;          /* logo black, for text and rules */
	--sdl-stone: #d8d8d8;        /* logo light grey: rules */
	--sdl-pewter: #5f5f64;       /* logo mid grey, darkened for text */
	--sdl-limestone: #efefed;    /* alternate band */
	--sdl-muted: var(--sdl-pewter);
	--sdl-tint: var(--sdl-limestone);
	--sdl-line: var(--sdl-stone);
	--sdl-radius: 6px;           /* buttons, fields, photos */
	--sdl-radius-lg: 10px;       /* panels and cards */
	--sdl-gap: clamp(56px, 7vw, 96px);
	--sdl-shelf: url(shelf.svg);

	font-family: var(--sdl-sans);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

/* ---------- Type ---------- */
/* The site theme sets headings in capitals; the design is sentence case, so reset it here. */
.sdl-loc h1, .sdl-loc h2, .sdl-loc h3, .sdl-loc h4, .sdl-loc .sdl-h { font-family: var(--sdl-display); font-weight: 400; letter-spacing: -.005em !important; text-transform: none !important; }
.sdl-loc h3, .sdl-loc h4 { letter-spacing: 0 !important; }
.sdl-loc h3 { font-family: var(--sdl-serif); font-weight: 400; }
.sdl-loc .sdl-h { font-size: clamp(28px, 2.6vw, 40px); line-height: 1.12; margin-bottom: 14px; }
.sdl-loc .sdl-lead { font-size: 18px; line-height: 1.6; color: var(--sdl-pewter); max-width: 62ch; }
.sdl-loc .sdl-prose { font-size: 18px; line-height: 1.7; }
.sdl-loc .sdl-prose--lead > p { color: #333336; max-width: 64ch; }
.sdl-loc .sdl-prose--lead > p:first-child { font-family: var(--sdl-serif); font-size: 20px; line-height: 1.5; color: var(--sdl-ink); }
.sdl-loc .sdl-prose strong { font-weight: 600; color: var(--sdl-ink); }
.sdl-loc a { text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* Section label: sentence case, marked with the logo's tilted square. */
.sdl-loc .sdl-eyebrow, .sdl-loc .sdlp-hero__eyebrow {
	display: inline-flex; align-items: center; gap: 12px;
	margin: 0 0 14px; font-family: var(--sdl-sans); font-size: 15px; font-weight: 600;
	letter-spacing: 0; text-transform: none; color: var(--sdl-blue-2);
}
.sdl-loc .sdl-eyebrow::before, .sdl-loc .sdlp-hero__eyebrow::before {
	content: ""; flex: none; width: 8px; height: 8px; background: currentColor; transform: rotate(45deg);
}
.sdl-loc .sdl-head { margin-bottom: 36px; }

/* ---------- Buttons ---------- */
.sdl-loc .sdl-btn, .sdl-btn {
	min-height: 48px; padding: 0 24px; border-radius: var(--sdl-radius, 6px); border-width: 1.5px;
	font-family: var(--sdl-sans); font-weight: 600; font-size: 16px; letter-spacing: .005em; text-transform: none !important;
}
.sdl-loc .sdl-btn:hover { background: #a3192a; border-color: #a3192a; color: #fff; }
.sdl-loc .sdl-btn--ghost { background: transparent; color: var(--sdl-ink); border-color: var(--sdl-ink); }
.sdl-loc .sdl-btn--ghost:hover { background: var(--sdl-ink); border-color: var(--sdl-ink); color: #fff; }
/* On dark bands: the red button stays red; the outline button turns white. */
.sdl-loc.sdl-hero .sdl-btn:not(.sdl-btn--ghost),
.sdl-loc .sdlp-dark .sdl-btn:not(.sdl-btn--ghost), .sdl-loc.sdlp-dark .sdl-btn:not(.sdl-btn--ghost) { background: var(--sdl-blue-2); border-color: var(--sdl-blue-2); color: #fff; }
.sdl-loc.sdl-hero .sdl-btn:not(.sdl-btn--ghost):hover,
.sdl-loc .sdlp-dark .sdl-btn:not(.sdl-btn--ghost):hover, .sdl-loc.sdlp-dark .sdl-btn:not(.sdl-btn--ghost):hover { background: #fff; border-color: #fff; color: var(--sdl-ink); }
.sdl-loc.sdl-hero .sdl-btn--ghost, .sdl-loc.sdlp-dark .sdl-btn--ghost, .sdl-loc .sdlp-dark .sdl-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, .7); }
.sdl-loc.sdl-hero .sdl-btn--ghost:hover, .sdl-loc.sdlp-dark .sdl-btn--ghost:hover, .sdl-loc .sdlp-dark .sdl-btn--ghost:hover { background: #fff; border-color: #fff; color: var(--sdl-ink); }

/* ---------- Section backgrounds: no grids, no dots ---------- */
.sdl-loc.sdl-section::before { content: none !important; }
.sdl-loc.sdl-section--tint, .sdl-loc.sdl-steps--light { background: var(--sdl-limestone); background-image: none; border: 0; }
.sdl-section:not(.sdl-section--tint):not(.sdl-steps--dark):not(.sdl-book) + .sdl-section:not(.sdl-section--tint):not(.sdl-steps--dark):not(.sdl-book) { border-top: 1px solid var(--sdl-stone); }
.sdl-loc.sdl-section--tint + .sdl-section--tint { border-top: 1px solid var(--sdl-stone); }
.sdl-loc.sdlp-dark, .sdl-loc .sdlp-dark { background: var(--sdl-blue-1); background-image: none; border-top: 0; }

/* The bookshelf: dark hero and dark bands rest on a row of spines. */
.sdl-loc.sdl-hero, .sdl-loc.sdlp-dark { position: relative; padding-bottom: calc(var(--sdl-gap) + 34px); }
.sdl-loc.sdl-hero { --sdl-hero-pad: clamp(36px, 4vw, 64px); padding-bottom: calc(var(--sdl-hero-pad) + 52px); }
/* Fit the whole hero on a laptop screen below the site header. */
.sdl-loc.sdl-hero--media { min-height: 0; }
.sdl-loc.sdl-hero::before, .sdl-loc.sdlp-dark::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; pointer-events: none;
	height: 49px;
	background: var(--sdl-shelf) left bottom 3px / auto 46px repeat-x, linear-gradient(var(--sdl-blue-2), var(--sdl-blue-2)) left bottom / 100% 3px no-repeat;
}
.sdl-loc.sdlp-dark::after { opacity: 1; }
.sdl-loc.sdlp-cta-section.sdlp-dark { padding-top: clamp(56px, 7vw, 88px); padding-bottom: calc(clamp(56px, 7vw, 88px) + 49px); }

/* ---------- Hero ---------- */
.sdl-loc.sdl-hero { background: var(--sdl-blue-1); }
.sdl-loc.sdl-hero--plain { background-image: none; }
.sdl-hero--media::after { background: linear-gradient(100deg, rgba(28, 28, 30, calc(var(--sdl-overlay, .65) + .25)) 0%, rgba(28, 28, 30, calc(var(--sdl-overlay, .65) + .1)) 45%, rgba(28, 28, 30, calc(var(--sdl-overlay, .65) - .2)) 100%) !important; }
.sdl-loc .sdl-hero__title { font-family: var(--sdl-display); font-weight: 400; font-size: clamp(34px, 3.4vw, 50px); line-height: 1.08; letter-spacing: -.008em; max-width: 24ch; margin-bottom: 18px; text-transform: none !important; }
.sdl-hero--split .sdl-hero__title { font-size: clamp(32px, 3vw, 44px); }
.sdl-loc .sdl-hero__intro { font-size: clamp(17px, 1.3vw, 19px); line-height: 1.6; max-width: 60ch; margin-bottom: 26px; color: rgba(255, 255, 255, .84); }
.sdl-loc .sdlp-hero__eyebrow { color: #fff; margin-bottom: 16px; }
.sdl-loc .sdlp-hero__eyebrow::before { color: var(--sdl-blue-2); background: var(--sdl-blue-2); width: 9px; height: 9px; }
.sdl-loc .sdlp-trust { margin-top: 30px; padding-top: 0; border-top: 0; gap: 0; }
.sdl-loc .sdlp-trust li { padding: 4px 32px 4px 0; margin-right: 32px; border-right: 1px solid rgba(255, 255, 255, .22); }
.sdl-loc .sdlp-trust li:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
.sdl-loc .sdlp-trust__value { font-family: var(--sdl-serif); font-weight: 400; font-size: 24px; line-height: 1.15; }
.sdl-loc .sdlp-trust__label { font-size: 14px; color: rgba(255, 255, 255, .7); margin-top: 2px; }
.sdl-loc .sdl-trust li::before { border-radius: 0; transform: rotate(45deg); background: var(--sdl-blue-2); width: 7px; height: 7px; }

/* Contact form card in the hero */
.sdl-quote--card { border-radius: var(--sdl-radius-lg); border-top: 0; box-shadow: none; padding: 30px 28px 26px; position: relative; }
.sdl-quote--card::before { content: ""; position: absolute; left: 28px; top: 0; width: 44px; height: 3px; background: var(--sdl-blue-2); }
:is(#sdl-quote-title, .sdl-quote .sdl-quote__title) { font-family: var(--sdl-display) !important; font-weight: 400 !important; font-size: 24px !important; }
:is(#sdl-quote-form, .sdl-quote .wpcf7-form) label { font-family: var(--sdl-sans) !important; font-size: 14px !important; }
:is(#sdl-quote-form, .sdl-quote .wpcf7-form) :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) { border-color: #bdbdc0 !important; height: 46px !important; }
:is(#sdl-quote-form, .sdl-quote .wpcf7-form) textarea { height: 110px !important; }
:is(#sdl-quote-form, .sdl-quote .wpcf7-form) .wpcf7-submit { font-family: var(--sdl-sans) !important; font-weight: 600 !important; }

/* ---------- Text with media: the photo sits on an offset limestone plate ---------- */
.sdl-loc .sdlp-media__frame { border-radius: var(--sdl-radius-lg); background: var(--sdl-limestone); }
.sdlp-split__media .sdlp-media--image .sdlp-media__frame { box-shadow: 14px 14px 0 0 var(--sdl-limestone); }
.sdl-section--tint .sdlp-split__media .sdlp-media--image .sdlp-media__frame { box-shadow: 14px 14px 0 0 #fff; }
.sdlp-split--media-left .sdlp-split__media .sdlp-media--image .sdlp-media__frame { box-shadow: -14px 14px 0 0 var(--sdl-limestone); }
.sdl-section--tint .sdlp-split--media-left .sdlp-split__media .sdlp-media--image .sdlp-media__frame { box-shadow: -14px 14px 0 0 #fff; }
.sdl-loc .sdlp-split { gap: clamp(40px, 7vw, 96px); }
.sdl-loc .sdlp-media__caption { font-family: var(--sdl-serif); font-style: italic; font-size: 15px; margin-top: 22px; }

/* ---------- Cards: catalog cards ---------- */
.sdl-loc .sdl-pcards { gap: 0; border-top: 1px solid var(--sdl-ink); }
.sdl-loc .sdl-pcard {
	background: transparent; border: 0; border-radius: 0; border-bottom: 1px solid var(--sdl-stone);
	padding: 26px 24px 28px 0; transition: none;
}
.sdl-loc .sdl-pcard:hover { transform: none; box-shadow: none; border-color: var(--sdl-stone); }
.sdl-loc .sdl-pcards > .sdl-pcard + .sdl-pcard { padding-left: 24px; border-left: 1px solid var(--sdl-stone); }
.sdl-loc .sdl-pcard__icon { width: auto; height: auto; border-radius: 0; background: none; color: var(--sdl-blue-2); margin-bottom: 16px; display: block; }
.sdl-loc .sdl-pcard__icon .sdl-svg { width: 28px; height: 28px; stroke-width: 1.4; }
.sdl-loc .sdl-pcard__title { font-family: var(--sdl-serif); font-size: 19px; line-height: 1.3; margin-bottom: 8px; text-wrap: balance; }
.sdl-loc .sdl-pcard__title a { color: inherit; text-decoration: underline; text-decoration-color: var(--sdl-blue-2); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.sdl-loc .sdl-pcard__title a:hover { color: var(--sdl-blue-2); }
.sdl-loc .sdl-pcard__text { font-size: 16px; color: var(--sdl-pewter); }
.sdlp-dark .sdl-pcards { border-top-color: rgba(255, 255, 255, .6); }
.sdlp-dark .sdl-pcard { border-color: rgba(255, 255, 255, .18) !important; }
.sdlp-dark .sdl-pcard__text { color: rgba(255, 255, 255, .75); }
@media (min-width: 961px) {
	/* first card in each desktop row has no left rule */
	.sdlp-page .sdl-pcards.sdlp-cols-2 > .sdl-pcard:nth-child(2n+1),
	.sdlp-page .sdl-pcards.sdlp-cols-3 > .sdl-pcard:nth-child(3n+1),
	.sdlp-page .sdlp-cols-4.sdl-pcards > .sdl-pcard:nth-child(4n+1),
	.sdlp-page .sdlp-cols-5.sdl-pcards > .sdl-pcard:nth-child(5n+1) { padding-left: 0; border-left: 0; }
}
@media (max-width: 960px) {
	.sdl-loc .sdl-pcards > .sdl-pcard:nth-child(2n+1) { padding-left: 0; border-left: 0; }
}
@media (max-width: 640px) {
	.sdl-loc .sdl-pcards > .sdl-pcard, .sdl-loc .sdl-pcards > .sdl-pcard + .sdl-pcard { padding: 24px 0 26px; border-left: 0; }
}

/* ---------- Large figures ---------- */
.sdl-loc .sdlp-stats { gap: 0; }
.sdl-loc .sdlp-stat { background: none; border: 0; border-radius: 0; border-left: 1px solid var(--sdl-stone); padding: 6px 28px 10px; }
.sdl-loc .sdlp-stat:first-child { border-left: 0; padding-left: 0; }
.sdl-loc .sdlp-stat__value { font-family: var(--sdl-display); font-weight: 400; font-size: clamp(40px, 4vw, 58px); line-height: 1; color: var(--sdl-ink); letter-spacing: -.01em; }
.sdl-loc .sdlp-stat__label { margin: 14px 0 0; font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--sdl-pewter); max-width: 22ch; }
.sdlp-dark .sdlp-stat { border-color: rgba(255, 255, 255, .2); }
.sdlp-dark .sdlp-stat__value { color: #fff; }
.sdlp-dark .sdlp-stat__label { color: rgba(255, 255, 255, .72); }
@media (max-width: 960px) {
	.sdl-loc .sdlp-stats { row-gap: 32px; }
	.sdl-loc .sdlp-stat:nth-child(2n+1) { border-left: 0; padding-left: 0; }
}
@media (max-width: 640px) {
	.sdl-loc .sdlp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.sdl-loc .sdlp-stat { padding: 0 0 0 18px; }
	.sdl-loc .sdlp-stat:nth-child(2n+1) { padding-left: 0; }
}

/* ---------- Steps: a light sequence, numbered in Caslon ---------- */
.sdl-loc.sdl-steps--dark { background: #fff; background-image: none; color: var(--sdl-ink); border-top: 1px solid var(--sdl-stone); }
.sdl-loc.sdl-steps--dark .sdl-h { color: var(--sdl-ink); }
.sdl-loc.sdl-steps--dark .sdl-lead { color: var(--sdl-pewter); }
.sdl-loc.sdl-steps--dark .sdl-eyebrow { color: var(--sdl-blue-2); }
.sdl-loc.sdl-steps--dark { --sdl-focus: var(--sdl-blue-2); }
.sdl-loc .sdl-steps { gap: 0; counter-reset: sdlstep; }
.sdl-loc .sdl-step { background: none; border: 0; border-radius: 0; backdrop-filter: none; padding: 0 24px 0 0; border-top: 1px solid var(--sdl-ink); }
.sdl-loc .sdl-step + .sdl-step { padding-left: 24px; border-left: 1px solid var(--sdl-stone); }
.sdl-loc .sdl-step::after { display: none !important; }
.sdl-loc .sdl-step__top { margin: 0 0 18px; padding-top: 22px; }
.sdl-loc .sdl-step__num { font-size: 0; color: var(--sdl-blue-2) !important; }
.sdl-loc .sdl-step__num::before { counter-increment: sdlstep; content: counter(sdlstep); font-family: var(--sdl-display); font-size: 52px; line-height: .9; font-weight: 400; }
.sdl-loc .sdl-step__icon { background: none; width: auto; height: auto; color: var(--sdl-pewter); }
.sdl-loc .sdl-step__icon .sdl-svg { width: 28px; height: 28px; stroke-width: 1.4; }
.sdl-loc .sdl-step__title { font-family: var(--sdl-serif); font-size: 19px; line-height: 1.3; color: var(--sdl-ink); text-wrap: balance; }
.sdl-loc .sdl-step__text { color: var(--sdl-pewter); }
.sdl-steps--photo::after { display: none; }
.sdl-steps--photo .sdl-steps__bg { display: none; }
@media (min-width: 961px) {
	.sdlp-page .sdl-steps.sdlp-cols-2 > .sdl-step:nth-child(2n+1), .sdlp-page .sdl-steps.sdlp-cols-3 > .sdl-step:nth-child(3n+1), .sdlp-page .sdl-steps.sdlp-cols-4 > .sdl-step:nth-child(4n+1) { padding-left: 0; border-left: 0; }
}
@media (max-width: 960px) {
	.sdl-loc .sdl-steps { row-gap: 36px; }
	.sdl-loc .sdl-step:nth-child(2n+1) { padding-left: 0; border-left: 0; }
}
@media (max-width: 640px) {
	.sdl-loc .sdl-step, .sdl-loc .sdl-step + .sdl-step { padding: 0; border-left: 0; }
}

/* ---------- FAQ: ruled entries ---------- */
.sdl-loc .sdl-faq { gap: 0; border-top: 1px solid var(--sdl-ink); }
.sdl-loc .sdl-faq__item { background: none; border: 0; border-radius: 0; border-bottom: 1px solid var(--sdl-stone); box-shadow: none !important; }
.sdl-loc .sdl-faq__item summary { padding: 22px 0; font-family: var(--sdl-serif); font-weight: 400; font-size: 19px; line-height: 1.35; }
.sdl-loc .sdl-faq__item summary:hover .sdl-faq__q { color: var(--sdl-blue-2); }
.sdl-loc .sdl-faq__toggle { background: none !important; width: 22px; height: 22px; }
.sdl-loc .sdl-faq__toggle::before, .sdl-loc .sdl-faq__toggle::after { background: var(--sdl-blue-2) !important; width: 16px; margin-left: -8px; height: 1.5px; }
.sdl-loc .sdl-faq__a { padding: 0 48px 26px 0; font-size: 17px; color: #333336; }
.sdl-loc .sdl-faq__a::before { display: none; }
.sdl-loc .sdl-faq__help { background: none; color: var(--sdl-ink); border-radius: 0; padding: 26px 0 0; border-top: 1px solid var(--sdl-stone); --sdl-focus: var(--sdl-blue-2); }
.sdl-loc .sdl-faq__help .sdl-faq__help-title { font-family: var(--sdl-serif); font-weight: 400; font-size: 20px; color: var(--sdl-ink); }
.sdl-loc .sdl-faq__help p { color: var(--sdl-pewter); }
.sdl-loc .sdl-faq__help .sdl-btn { background: var(--sdl-blue-2); border-color: var(--sdl-blue-2); color: #fff; }
.sdl-loc .sdl-faq__help .sdl-btn:hover { background: var(--sdl-ink); border-color: var(--sdl-ink); color: #fff; }
.sdl-loc .sdl-faq__help .sdl-faq__phone { color: var(--sdl-ink); }
.sdl-loc .sdl-faq__help .sdl-faq__phone .sdl-svg { color: var(--sdl-blue-2); }
@media (max-width: 640px) {
	.sdl-loc .sdl-faq__item summary { font-size: 19px; padding: 20px 0; }
	.sdl-loc .sdl-faq__a { padding: 0 0 22px; }
}

/* ---------- Comparison: a ledger ---------- */
.sdl-loc .sdlp-compare { border: 0; border-radius: 0; background: none; overflow: visible; }
.sdl-loc .sdlp-compare thead th { background: none !important; color: var(--sdl-ink) !important; font-family: var(--sdl-sans); font-size: 14px; font-weight: 600; border-bottom: 1px solid var(--sdl-ink) !important; }
.sdl-loc .sdlp-compare thead th.sdlp-compare__b { color: var(--sdl-blue-2) !important; }
.sdl-loc .sdlp-compare tbody th { font-family: var(--sdl-serif); font-weight: 400; font-size: 18px; }
.sdl-loc .sdlp-compare tbody td.sdlp-compare__b { background: none; font-weight: 400; color: var(--sdl-ink); }
.sdl-loc .sdlp-compare th + th, .sdl-loc .sdlp-compare th + td, .sdl-loc .sdlp-compare td + td { border-left: 0 !important; }
.sdl-loc .sdlp-compare th, .sdl-loc .sdlp-compare td { padding: 18px 20px 18px 0; }
.sdl-loc .sdlp-compare tbody td:nth-child(2) { font-variant-numeric: lining-nums tabular-nums; color: var(--sdl-ink); white-space: nowrap; }
@media (max-width: 640px) {
	.sdl-loc .sdlp-compare tbody { gap: 0; border-top: 1px solid var(--sdl-ink); }
	.sdl-loc .sdlp-compare tbody tr { border: 0 !important; border-bottom: 1px solid var(--sdl-stone) !important; border-radius: 0; background: none !important; padding: 14px 0; }
	.sdl-loc .sdlp-compare tbody th, .sdl-loc .sdlp-compare tbody td { padding: 2px 0; }
	.sdl-loc .sdlp-compare tbody td::before { font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; }
	.sdl-loc .sdlp-compare tbody td.sdlp-compare__b { border-top: 0 !important; padding-top: 6px; }
}

/* ---------- CTA band ---------- */
.sdl-loc .sdlp-cta .sdl-h { font-size: clamp(28px, 2.6vw, 38px); }
.sdlp-dark .sdl-lead { color: rgba(255, 255, 255, .78); }
.sdlp-dark .sdl-eyebrow { color: #fff; }
.sdlp-dark .sdl-eyebrow::before { background: var(--sdl-blue-2); }

/* ---------- Sponsorship levels: catalog entries ---------- */
.sdl-loc .sdlp-levels { gap: 0; border-top: 1px solid var(--sdl-ink); }
.sdl-loc .sdlp-level { background: none; border: 0; border-radius: 0; border-bottom: 1px solid var(--sdl-stone); border-right: 1px solid var(--sdl-stone); box-shadow: none; padding: 28px 24px 26px; }
.sdl-loc .sdlp-level__name { font-family: var(--sdl-serif); font-size: 19px; font-weight: 400; text-wrap: balance; }
.sdl-loc .sdlp-level__price { font-family: var(--sdl-display); font-weight: 400; font-size: 38px; color: var(--sdl-ink); margin-top: 6px; }
.sdl-loc .sdlp-level__note { background: none; border-radius: 0; padding: 0; margin-top: 4px; font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--sdl-blue-2); }
.sdl-loc .sdlp-level__list { border-top: 0; padding-top: 0; font-size: 15px; color: #333336; }
.sdl-loc .sdlp-level__list li::before { border: 0; width: 6px; height: 6px; top: .62em; left: 2px; background: var(--sdl-blue-2); transform: rotate(45deg); }
.sdl-loc .sdlp-level--featured { background: var(--sdl-blue-1); color: #fff; border-color: var(--sdl-blue-1); border-radius: var(--sdl-radius-lg); --sdl-focus: #fff; }
.sdl-loc .sdlp-level--featured .sdlp-level__name, .sdl-loc .sdlp-level--featured .sdlp-level__price { color: #fff; }
.sdl-loc .sdlp-level--featured .sdlp-level__note { color: #fff; }
.sdl-loc .sdlp-level--featured .sdlp-level__list { color: rgba(255, 255, 255, .82); }
.sdl-loc .sdlp-level .sdl-btn--ghost { color: var(--sdl-ink); border-color: var(--sdl-ink); }
.sdl-loc .sdlp-level .sdl-btn--ghost:hover { background: var(--sdl-ink); color: #fff; }
.sdl-loc .sdlp-level--featured .sdl-btn:not(.sdl-btn--ghost):hover { background: #fff; border-color: #fff; color: var(--sdl-ink); }
@media (min-width: 1101px) { .sdl-loc .sdlp-levels > .sdlp-level:nth-child(4n) { border-right: 0; } }
@media (max-width: 1100px) and (min-width: 961px) { .sdl-loc .sdlp-levels > .sdlp-level:nth-child(3n) { border-right: 0; } }
@media (max-width: 960px) and (min-width: 641px) { .sdl-loc .sdlp-levels > .sdlp-level:nth-child(2n) { border-right: 0; } }
@media (max-width: 640px) { .sdl-loc .sdlp-level { border-right: 0; padding: 26px 0; } .sdl-loc .sdlp-level--featured { padding: 26px 20px; margin: 0 -4px; } }

/* ---------- Photo gallery ---------- */
.sdl-loc .sdlp-album { gap: 6px; }
.sdl-loc .sdlp-album__link { border-radius: var(--sdl-radius); background: #e2e2e0; }
.sdl-loc .sdlp-album__img { transition: opacity .2s; }
.sdl-loc .sdlp-album__link:hover .sdlp-album__img { transform: none; opacity: .86; }
.sdl-loc .sdlp-album__count { font-family: var(--sdl-serif); font-style: italic; font-size: 16px; margin-top: -30px; margin-bottom: 26px; }
.sdlp-lightbox { background: rgba(20, 20, 22, .97); }
.sdlp-lightbox__btn { border-radius: var(--sdl-radius); background: rgba(255, 255, 255, .1); }
.sdl-loc .sdlp-lightbox__bar { font-family: var(--sdl-sans); }
.sdl-loc .sdlp-lightbox__cap { font-family: var(--sdl-serif); font-style: italic; font-size: 16px; }

/* ---------- Small gallery / logo wall ---------- */
.sdl-loc .sdlp-gallery--logos .sdlp-media__frame { border-radius: var(--sdl-radius); border-color: var(--sdl-stone); }

/* ---------- Honoree list ---------- */
.sdl-loc .sdlp-honorees { column-gap: 56px; column-rule: 1px solid var(--sdl-stone); }
.sdl-loc .sdlp-honorees__year h3 { font-family: var(--sdl-display); font-size: 28px; line-height: 1; color: var(--sdl-blue-2); border-bottom: 0; padding: 0; margin: 0 0 10px; }
.sdl-loc .sdlp-honorees__year li { font-family: var(--sdl-serif); font-size: 17px; }
.sdl-loc .sdlp-honorees__year li span { font-family: var(--sdl-sans); font-size: 13px; color: var(--sdl-pewter); margin-top: 1px; }
.sdl-loc .sdlp-honorees__year { margin-bottom: 34px; }

/* ---------- Notes, focus ---------- */
.sdl-loc .sdlp-note { font-size: 15px; color: var(--sdl-pewter); }
.sdl-loc a:focus-visible, .sdl-loc .sdl-btn:focus-visible, .sdl-loc summary:focus-visible, .sdl-loc button:focus-visible { outline: 2px solid var(--sdl-focus, var(--sdl-blue-2)); outline-offset: 3px; }

@media (max-width: 640px) {
	.sdl-loc { font-size: 16px; }
	.sdl-loc .sdl-head { margin-bottom: 32px; }
	.sdl-loc .sdlp-trust li { padding-right: 18px; margin-right: 18px; }
	.sdl-loc .sdlp-trust__value { font-size: 21px; }
	.sdlp-split__media .sdlp-media--image .sdlp-media__frame, .sdlp-split--media-left .sdlp-split__media .sdlp-media--image .sdlp-media__frame { box-shadow: 8px 8px 0 0 var(--sdl-limestone); }
	.sdl-section--tint .sdlp-split__media .sdlp-media--image .sdlp-media__frame { box-shadow: 8px 8px 0 0 #fff; }
	.sdl-loc .sdl-prose--lead > p:first-child { font-size: 19px; }
}

/* Rounded details: lightbox controls, compare cards on phones, form fields */
.sdlp-lightbox__btn { border-radius: 50%; }
.sdlp-lightbox__img { border-radius: var(--sdl-radius); }
.sdl-loc .sdl-faq__toggle { border-radius: 50%; }

/* Four- and five-column rows: a slightly smaller title so names stay on one line. */
@media (min-width: 961px) {
	.sdlp-page .sdlp-cols-4 .sdl-pcard__title, .sdlp-page .sdlp-cols-5 .sdl-pcard__title,
	.sdlp-page .sdlp-cols-4 .sdl-step__title, .sdlp-page .sdlp-cols-5 .sdl-step__title,
	.sdl-loc .sdlp-levels.sdlp-cols-4 .sdlp-level__name { font-size: 17.5px; }
	.sdlp-page .sdlp-cols-4 .sdl-pcard__title, .sdlp-page .sdlp-cols-5 .sdl-pcard__title { font-size: 17.5px; }
	.sdlp-page .sdl-pcards.sdlp-cols-4 > .sdl-pcard { padding-right: 14px; }
	.sdlp-page .sdl-pcards.sdlp-cols-4 > .sdl-pcard + .sdl-pcard { padding-left: 20px; }
	.sdl-loc .sdlp-levels.sdlp-cols-4 > .sdlp-level { padding-left: 20px; padding-right: 20px; }
}

/* ---------- Form lightbox (Zeffy, DonorPerfect) ---------- */
.sdlp-frame {
	width: min(760px, calc(100vw - 32px)); height: min(900px, calc(100vh - 48px)); height: min(900px, calc(100dvh - 48px));
	max-width: none; max-height: none; padding: 0; border: 0; border-radius: var(--sdl-radius-lg);
	background: #fff; color: var(--sdl-ink); overflow: hidden; box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
}
.sdlp-frame[open] { display: flex; flex-direction: column; }
.sdlp-frame::backdrop { background: rgba(28, 28, 30, .72); }
.sdlp-frame__bar { flex: none; display: flex; align-items: center; gap: 16px; padding: 12px 12px 12px 22px; border-bottom: 1px solid var(--sdl-stone); }
.sdl-loc .sdlp-frame__title { flex: 1; min-width: 0; margin: 0; font-family: var(--sdl-serif); font-size: 19px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sdl-loc .sdlp-frame__newtab { flex: none; font-size: 14px; font-weight: 600; color: var(--sdl-ink); }
.sdlp-frame__close {
	flex: none; width: 40px; height: 40px; border: 0; border-radius: 50%; padding: 0; cursor: pointer;
	background: var(--sdl-limestone); color: var(--sdl-ink); font-size: 26px; line-height: 1;
}
.sdlp-frame__close:hover { background: var(--sdl-stone); }
.sdlp-frame__close:focus-visible, .sdl-loc .sdlp-frame__newtab:focus-visible { outline: 2px solid var(--sdl-blue-2); outline-offset: 2px; }
.sdlp-frame__body { position: relative; flex: 1; min-height: 0; background: var(--sdl-limestone); }
.sdl-loc .sdlp-frame__loading { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; font-size: 15px; color: var(--sdl-pewter); }
.sdlp-frame__loading[hidden] { display: none; }
.sdlp-frame__iframe { position: relative; display: block; width: 100%; height: 100%; border: 0; background: transparent; }
@media (max-width: 640px) {
	.sdlp-frame { width: 100vw; height: 100vh; height: 100dvh; border-radius: 0; }
	.sdl-loc .sdlp-frame__newtab { font-size: 13px; }
}

/* ---------- Site footer ---------- */
.sdl-loc.sdlp-footer { background: var(--sdl-blue-1); color: rgba(255, 255, 255, .78); padding: clamp(56px, 6vw, 80px) 0 28px; font-size: 15px; line-height: 1.6; --sdl-focus: #fff; }
.sdlp-footer__grid { display: grid; grid-template-columns: minmax(260px, 4fr) minmax(0, 8fr); gap: clamp(36px, 6vw, 88px); }
.sdlp-footer__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 32px 40px; }
.sdl-loc .sdlp-footer__home { display: inline-block; color: #fff; text-decoration: none; }
.sdl-loc .sdlp-footer__name { display: block; font-family: var(--sdl-display); font-size: 28px; line-height: 1.12; color: #fff; max-width: 14ch; }
.sdlp-footer__logo { display: block; max-width: 240px; height: auto; }
.sdl-loc .sdlp-footer__tagline { font-family: var(--sdl-serif); font-style: italic; font-size: 16px; color: #fff; margin: 14px 0 0; }
.sdl-loc .sdlp-footer__text { margin: 12px 0 0; max-width: 40ch; }
.sdlp-footer .sdl-actions { margin-top: 22px; }
.sdl-loc .sdlp-footer .sdl-btn { min-height: 44px; font-size: 15px; padding: 0 20px; }
.sdl-loc .sdlp-footer__title { font-family: var(--sdl-serif) !important; font-size: 17px !important; color: #fff; margin: 0 0 14px; letter-spacing: 0 !important; }
.sdlp-footer__links { list-style: none; margin: 0; padding: 0; }
.sdlp-footer__links li { margin: 0 0 9px; }
.sdl-loc .sdlp-footer a { color: rgba(255, 255, 255, .86); text-decoration: none; }
.sdl-loc .sdlp-footer a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--sdl-blue-2); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.sdl-loc .sdlp-footer__addr { margin: 0 0 10px; }
.sdl-loc .sdlp-footer .sdlp-footer__phone { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 600; }
.sdlp-footer__phone .sdl-svg { width: 17px; height: 17px; color: var(--sdl-blue-2); }
.sdl-loc .sdlp-footer__msg { margin: 8px 0 0; }
.sdlp-footer__social { list-style: none; display: flex; gap: 10px; margin: 18px 0 0; padding: 0; }
.sdl-loc .sdlp-footer__social a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .28); color: #fff; }
.sdl-loc .sdlp-footer__social a:hover { background: #fff; color: var(--sdl-ink); border-color: #fff; text-decoration: none; }
.sdlp-footer__social .sdl-svg { width: 18px; height: 18px; }
.sdlp-footer__extra { margin-top: 40px; }
.sdlp-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 28px; margin-top: 48px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .16); font-size: 13.5px; }
.sdl-loc .sdlp-footer__copy { margin: 0; color: rgba(255, 255, 255, .62); }
.sdlp-footer__legal { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; padding: 0; }
@media (max-width: 960px) { .sdlp-footer__grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
	.sdlp-footer__cols { grid-template-columns: 1fr 1fr; gap: 28px 24px; }
	.sdlp-footer__col--contact { grid-column: 1 / -1; }
	.sdlp-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ---------- Legal pages (Custom section with .sdlp-legal) ---------- */
.sdl-loc .sdlp-legal { max-width: 72ch; font-size: 17px; line-height: 1.7; color: #333336; }
.sdl-loc .sdlp-legal .sdlp-legal__updated { font-size: 15px; color: var(--sdl-pewter); margin-bottom: 28px; }
.sdl-loc .sdlp-legal h2 { font-family: var(--sdl-serif); font-size: 24px; line-height: 1.25; color: var(--sdl-ink); margin: 44px 0 12px; }
.sdl-loc .sdlp-legal h3 { font-size: 19px; color: var(--sdl-ink); margin: 26px 0 8px; }
.sdl-loc .sdlp-legal ul { margin: 0 0 16px; padding-left: 1.2em; }
.sdl-loc .sdlp-legal li { margin: 0 0 8px; }
.sdl-loc .sdlp-legal li::marker { color: var(--sdl-blue-2); }
.sdl-loc .sdlp-legal strong { color: var(--sdl-ink); font-weight: 600; }
.sdl-loc .sdlp-legal .sdlp-legal__toc { background: var(--sdl-limestone); border-radius: var(--sdl-radius-lg); padding: 20px 24px; margin: 0 0 8px; }
.sdl-loc .sdlp-legal .sdlp-legal__toc ol { margin: 6px 0 0; padding-left: 1.3em; columns: 2 220px; column-gap: 32px; }
.sdl-loc .sdlp-legal .sdlp-legal__toc li { margin: 0 0 4px; break-inside: avoid; }
.sdl-loc.sdlp-footer .sdl-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, .7); }
.sdl-loc.sdlp-footer .sdl-btn--ghost:hover { background: #fff; border-color: #fff; color: var(--sdl-ink); text-decoration: none; }
.sdl-loc.sdlp-footer .sdl-btn:not(.sdl-btn--ghost) { color: #fff; }
.sdl-loc.sdlp-footer .sdl-btn:not(.sdl-btn--ghost):hover { background: #fff; border-color: #fff; color: var(--sdl-ink); text-decoration: none; }

/* ---------- Hero text position ---------- */
/* Bottom: the photo sits on top, fully visible (faces stay clear); the text
   sits on the dark band below it, never over the photo. */
.sdl-loc.sdl-hero--media.sdl-hero--pos-bottom { --sdl-photo-h: clamp(260px, 46vh, 560px); display: block; min-height: 0; padding-top: calc(var(--sdl-photo-h) + clamp(28px, 3vw, 44px)); }
.sdl-loc.sdl-hero--pos-bottom .sdl-hero__media { bottom: auto; height: var(--sdl-photo-h); }
.sdl-loc.sdl-hero--pos-bottom .sdl-hero__media img, .sdl-loc.sdl-hero--pos-bottom .sdl-hero__media video { object-position: center 30%; }
.sdl-loc.sdl-hero--media.sdl-hero--pos-bottom::after {
	inset: 0 0 auto 0; height: var(--sdl-photo-h);
	background: linear-gradient(180deg, rgba(28, 28, 30, 0) 72%, rgba(28, 28, 30, .85) 100%) !important;
}
.sdl-loc.sdl-hero--pos-bottom .sdl-hero__title { max-width: 32ch; }
.sdl-loc.sdl-hero--pos-bottom .sdl-hero__intro { margin-bottom: 22px; }
.sdl-loc.sdl-hero--pos-bottom .sdlp-trust { margin-top: 24px; }
/* Centered */
.sdl-loc.sdl-hero--pos-center .sdl-hero__copy { text-align: center; margin-inline: auto; max-width: 860px; }
.sdl-loc.sdl-hero--pos-center .sdl-hero__title, .sdl-loc.sdl-hero--pos-center .sdl-hero__intro { margin-inline: auto; }
.sdl-loc.sdl-hero--pos-center .sdl-actions, .sdl-loc.sdl-hero--pos-center .sdlp-trust { justify-content: center; }
.sdl-loc.sdl-hero--media.sdl-hero--pos-center::after { background: rgba(28, 28, 30, var(--sdl-overlay, .6)) !important; }
@media (max-width: 640px) {
	.sdl-loc.sdl-hero--media.sdl-hero--pos-bottom { --sdl-photo-h: 56vw; }
}
/* Card text in paragraphs (Name / title / organization) */
.sdl-loc .sdl-pcard__text + .sdl-pcard__text { margin-top: 10px !important; }
.sdl-loc .sdl-pcard__text:first-of-type:not(:last-of-type) { color: var(--sdl-ink); font-weight: 600; }

/* Four-column rows: first card of every row sits flush left (overrides the tighter padding above). */
@media (min-width: 961px) {
	.sdlp-page .sdl-pcards.sdlp-cols-4 > .sdl-pcard:nth-child(4n+1) { padding-left: 0; border-left: 0; }
}
/* Logo wall: white, equal-height boxes */
.sdl-loc .sdlp-gallery--logos .sdlp-media__frame { background: #fff; height: 128px; display: flex; align-items: center; justify-content: center; padding: 14px 18px; box-shadow: none; }
.sdl-loc .sdlp-gallery--logos .sdlp-media__img { width: auto; max-width: 100%; max-height: 100%; height: auto; }
.sdl-loc .sdlp-gallery--logos { align-items: flex-start; }
.sdl-loc .sdlp-gallery--logos .sdlp-media__caption { font-size: 14px; margin-top: 10px; }
