/* Silver Fox block theme: the layer theme.json can't express. Colors, type sizes and spacing come
   from theme.json presets (var(--wp--preset--…)); this file lays out the sections, the modules and
   the chrome built from core blocks. Icons live in icons.css (generated by build/build_wp.py). */

:root {
	--sf-coq: var(--wp--preset--color--coquelicot);
	--sf-coq-hover: var(--wp--preset--color--coquelicot-hover);
	--sf-coq-text: #cc360b;   /* Coquelicot, darkened for text under 24px: 5.1:1 on white (the brand orange is 3.5:1) */
	--sf-lic: var(--wp--preset--color--licorice);
	--sf-tint: var(--wp--preset--color--tint);
	--sf-coral: var(--wp--preset--color--coral);
	--sf-ink: var(--wp--preset--color--licorice);
	--sf-ink2: rgba(34, 9, 1, .78);
	--sf-ink3: rgba(34, 9, 1, .62);
	--sf-ink4: #6e6e73;   /* captions and sources: 5.1:1 on white (Taupe #8d8d92 was 3.3:1) */
	--sf-rule: rgba(141, 141, 146, .32);
	--sf-rule2: rgba(141, 141, 146, .5);
	--sf-on-dark: rgba(255, 255, 255, .74);
	--sf-dark-rule: rgba(255, 255, 255, .16);
	--sf-shadow: 0 1px 2px rgba(34,9,1,.05), 0 8px 24px rgba(34,9,1,.06);
	--sf-shadow-lg: 0 2px 4px rgba(34,9,1,.05), 0 18px 48px rgba(34,9,1,.12);
	--sf-section: clamp(48px, 6vw, 64px);
	--sf-header: 80px;
}
@media (max-width: 767px) { :root { --sf-header: 64px; } }

html { scroll-padding-top: calc(var(--sf-header) + 16px); }
body { -webkit-font-smoothing: antialiased; }
img { height: auto; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.site-main, .page-sections { margin: 0; }
.page-sections > *, .site-main > * { margin-block: 0 !important; }
figure { margin: 0; }
p { margin-block: 0 1em; }
p:last-child { margin-bottom: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus-visible { outline: 3px solid var(--wp--preset--color--mikado); outline-offset: 2px; }
h1 em, h2 em { font-style: normal; color: var(--sf-coq); }
.wp-block-heading { margin-block: 0; }
.wp-element-caption { margin-top: 10px; line-height: 1.45; }

/* ---------- type helpers ---------- */
.eyebrow, .wp-block-post-terms.eyebrow { font-size: 14px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--sf-coq-text); margin-bottom: 12px !important; }
.eyebrow a { color: inherit; text-decoration: none; }
.section--dark .eyebrow, .feature .eyebrow { color: var(--sf-coral); }
.lead, .wp-block-post-excerpt.lead .wp-block-post-excerpt__excerpt { font-size: var(--wp--preset--font-size--lead); line-height: 1.45; color: var(--sf-ink2); }
.h-like { font-size: var(--wp--preset--font-size--h-3); font-weight: 700; color: var(--sf-ink); line-height: 1.26; margin: 0 0 12px; letter-spacing: -.01em; }
.muted { color: var(--sf-ink3); }
.small { font-size: 14px; }
.narrow { max-width: 48rem; }
.link-arrow { font-weight: 600; text-decoration: none; display: inline; color: var(--sf-coq-text); }
.link-arrow::after { content: "→"; display: inline-block; margin-left: 6px; transition: transform .15s; }   /* inline, so a wrapped link keeps its arrow beside the last word */
a:hover .link-arrow::after, .link-arrow:hover::after { transform: translateX(3px); }
p.link-arrow { margin: 0; }

/* ---------- buttons ---------- */
.wp-block-buttons { gap: 12px; }
.wp-block-button__link { white-space: nowrap; transition: background .15s, color .15s, border-color .15s; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--sf-coq); color: #fff; border-color: var(--sf-coq); }
.btn-light .wp-block-button__link { background: #fff; color: var(--sf-coq-text); border-color: #fff; }
.btn-light .wp-block-button__link:hover { background: var(--sf-tint); border-color: var(--sf-tint); color: var(--sf-coq-hover); }
.btn-ghost-light .wp-block-button__link, .wp-block-button.is-style-outline.btn-ghost-light .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255,255,255,.85); }
.btn-ghost-light .wp-block-button__link:hover { background: #fff; color: var(--sf-coq-text); border-color: #fff; }
.badge { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 4px 9px; border-radius: 999px; line-height: 1.3; margin: 0 !important; }
.badge--stock { background: #e9f7ef; color: #146c3a; }
.badge--logo { background: #fff4d6; color: #7a5600; }
.badge--custom { background: var(--sf-tint); color: var(--wp--preset--color--rufous); }

/* ---------- header (template part) ---------- */
header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar header.wp-block-template-part { top: 32px; }
.site-header { background: #fff; border-bottom: 1px solid var(--sf-rule); position: relative; }
.site-header .bar { min-height: var(--sf-header); gap: 24px; }
.site-header .logo { margin: 0; flex: none; }
/* the brand: the Lot Sherpa logo alone (Barrett, 2026-10-27); Silver Fox Marketing is credited in the footer */
.site-header .brand-mark > * { margin: 0 !important; }
.site-header .logo-ls { display: block; line-height: 0; }
.site-header .logo-ls svg { height: 44px; width: auto; display: block; }
@media (max-width: 1150px) and (min-width: 992px) { .site-header .logo-ls svg { height: 38px; } }
.utils { gap: 12px; flex: none; margin-left: auto; }
.utils .tel { margin: 0; white-space: nowrap; }
.utils .tel a { color: var(--sf-ink); text-decoration: none; font-weight: 600; font-size: 15px; display: inline-flex; align-items: center; gap: 6px; }
.utils .tel a::before { content: ""; width: 16px; height: 16px; background: var(--sf-coq); -webkit-mask: var(--ico-phone) center/contain no-repeat; mask: var(--ico-phone) center/contain no-repeat; }
.header-buttons { flex-wrap: nowrap; }
/* on the shop, its button shows where you are (2026-10-27): darker, with a bar under it */
.sf-store-page .header-buttons .btn-shop .wp-block-button__link { background: var(--sf-coq-text, #c2370a); position: relative; }
.sf-store-page .header-buttons .btn-shop .wp-block-button__link::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 5px; height: 2px; border-radius: 2px; background: rgba(255,255,255,.75); }

/* core navigation as the three-group mega-menu */
.sf-mega-nav { flex: 1; }
.sf-mega-nav .wp-block-navigation__container { gap: 4px; }
.sf-mega-nav .wp-block-navigation-item { position: static; }
.sf-mega-nav > .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 28px 8px 26px; color: var(--sf-ink); font-weight: 600; }
.sf-mega-nav .wp-block-navigation__container > .has-child > .wp-block-navigation-item__content:hover,
.sf-mega-nav .wp-block-navigation__container > .has-child:hover > .wp-block-navigation-item__content { color: var(--sf-coq-text); }
.sf-mega-nav .wp-block-navigation__submenu-icon { color: var(--sf-ink3); }
@media (min-width: 992px) {
	/* the panel spans the header: WordPress sets position: relative on the navigation and its list,
	   which made the panel only as wide as the three menu labels (290–385 px) and crushed its columns */
	.sf-mega-nav, .sf-mega-nav .wp-block-navigation__responsive-container, .sf-mega-nav .wp-block-navigation__responsive-close,
	.sf-mega-nav .wp-block-navigation__responsive-dialog, .sf-mega-nav .wp-block-navigation__responsive-container-content,
	.sf-mega-nav .wp-block-navigation__container { position: static !important; }
	/* the panel, after OptiSigns' (Kaleb's touchstone; Barrett 2026-10-26: the headings read like "a ton
	   of the same text"): three columns and a featured card, a grey label over a column of groups, a bold
	   heading with a coloured icon over each group, a small grey icon on every link, a "Let's talk" row */
	.sf-mega-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
		position: absolute; left: 0 !important; right: 0; top: 100%; width: auto !important; min-width: 0 !important;
		display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.05fr); column-gap: 40px; align-items: start;
		padding: 30px max(2.5rem, calc((100% - 1200px) / 2)) 0; background: #fff;
		border: 0; border-top: 1px solid var(--sf-rule); border-bottom: 1px solid var(--sf-rule); box-shadow: var(--sf-shadow-lg); border-radius: 0;
	}
	.sf-mega-nav .wp-block-navigation__container > .has-child.sf-open > .wp-block-navigation__submenu-container { visibility: visible; opacity: 1; height: auto; overflow: visible; }
	.sf-mega-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { white-space: nowrap; }
	/* every level inside the panel is always open, with no toggles of its own */
	.sf-mega-nav .sf-col .wp-block-navigation__submenu-container {
		position: static !important; visibility: visible !important; opacity: 1 !important; width: auto !important; height: auto !important; min-width: 0 !important;
		overflow: visible !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; background: transparent !important;
		display: flex; flex-direction: column;
	}
	.sf-mega-nav .sf-col .wp-block-navigation-submenu__toggle, .sf-mega-nav .sf-col .wp-block-navigation__submenu-icon { display: none; }
	.sf-mega-nav .sf-col, .sf-mega-nav .sf-group { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; }
	.sf-mega-nav .sf-col--label > .wp-block-navigation__submenu-container { gap: 22px; }
	/* a stacked column: two groups one over another, with no label of its own */
	.sf-mega-nav .sf-col--stack > .wp-block-navigation__submenu-container { gap: 22px; }
	.sf-mega-nav .sf-col--stack > .wp-block-navigation-item__content { display: none !important; }
	/* the column's grey label (Products: five families in three columns; the featured card) */
	.sf-mega-nav .sf-col--label > .wp-block-navigation-item__content { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sf-ink4); font-weight: 600; padding: 0 0 14px; cursor: default; }
	/* a group's heading: bold, dark, with its icon in Coquelicot */
	.sf-mega-nav .sf-group > .wp-block-navigation-item__content { display: flex; gap: 10px; align-items: center; padding: 0 0 8px; font-size: 16px; font-weight: 700; color: var(--sf-ink); line-height: 1.3; }
	.sf-mega-nav .sf-group > .wp-block-navigation-item__content::before { content: ""; flex: none; width: 24px; height: 24px; background: var(--sf-coq); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
	.sf-mega-nav .sf-group--ls > .wp-block-navigation-item__content::before { width: 32px; background: url(../logos/ls-glyph-tight.svg) center / contain no-repeat; -webkit-mask: none; mask: none; }
	.sf-mega-nav .sf-group > .wp-block-navigation-item__content:hover { color: var(--sf-coq-text); }
	/* its links: indented under the heading, each with a small grey icon */
	.sf-mega-nav .sf-group > .wp-block-navigation__submenu-container { padding-left: 14px !important; }
	.sf-mega-nav .sf-group .wp-block-navigation-link > .wp-block-navigation-item__content { display: flex; gap: 10px; align-items: flex-start; padding: 6px 0; font-weight: 500; font-size: 15px; color: var(--sf-ink2); line-height: 1.35; }
	.sf-mega-nav .sf-group .wp-block-navigation-link > .wp-block-navigation-item__content::before { content: ""; flex: none; width: 18px; height: 18px; margin-top: 1px; background: var(--sf-ink4); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
	.sf-mega-nav .sf-group .wp-block-navigation-link > .wp-block-navigation-item__content:hover { color: var(--sf-coq-text); }
	.sf-mega-nav .sf-group .wp-block-navigation-link > .wp-block-navigation-item__content:hover::before { background: var(--sf-coq); }
	/* the featured card: picture, title, one line, a button */
	.sf-mega-nav .sf-featured > .wp-block-navigation-item__content {
		display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 14px 16px 18px; border-radius: 14px; background: var(--sf-tint); color: var(--sf-ink); white-space: normal;
	}
	/* the picture itself comes from menu.css (generated with the card's data), so only longhands here */
	.sf-mega-nav .sf-featured > .wp-block-navigation-item__content::before { content: ""; display: block; width: 100%; aspect-ratio: 16 / 10; margin-bottom: 6px; border-radius: 10px;
		background-color: #fff; background-position: center; background-size: contain; background-repeat: no-repeat; background-origin: content-box; padding: 10px; box-sizing: border-box; }
	.sf-mega-nav .sf-featured--dgb > .wp-block-navigation-item__content::before { background-size: cover; background-origin: padding-box; padding: 0; }
	.sf-mega-nav .sf-featured .wp-block-navigation-item__label { font-size: 16px; font-weight: 700; }
	.sf-mega-nav .sf-featured .wp-block-navigation-item__description { display: block; font-size: 14px; line-height: 1.45; color: var(--sf-ink2); font-weight: 400; }
	.sf-mega-nav .sf-featured > .wp-block-navigation-item__content::after { justify-self: start; margin-top: 8px; padding: 8px 18px; border-radius: 999px; background: var(--sf-coq); color: #fff; font-size: 14px; font-weight: 600; }
	.sf-mega-nav .sf-featured > .wp-block-navigation-item__content:hover::after { background: var(--sf-coq-hover); }
	/* the "Let's talk" row along the bottom */
	.sf-mega-nav .sf-talk { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 18px; margin-top: 26px; padding: 14px 0 16px; border-top: 1px dashed var(--sf-rule); }
	.sf-mega-nav .sf-talk > .wp-block-navigation-item__content { flex: none !important; padding: 0 !important; font-size: 14px; color: var(--sf-ink3); cursor: default; }
	.sf-mega-nav .sf-talk > .wp-block-navigation__submenu-container { flex-direction: row; flex: 1 1 auto; align-items: center; gap: 28px; margin: 0 !important; }
	.sf-mega-nav .sf-talk .sf-talk-link:last-child { margin-left: auto; }
	.sf-mega-nav .sf-talk .sf-talk-link > .wp-block-navigation-item__content { display: flex; gap: 8px; align-items: center; padding: 0; font-weight: 600; font-size: 15px; color: var(--sf-coq-text); }
	.sf-mega-nav .sf-talk .sf-talk-link > .wp-block-navigation-item__content::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
}
@media (max-width: 1150px) { .utils .tel { display: none; } }
@media (max-width: 1100px) { .utils .btn-quote { display: none; } }   /* the header fits beside the menu; every page offers a quote in its hero and band */
@media (max-width: 480px) {
	.site-header .logo-ls svg { height: 30px !important; }
	.utils .wp-block-button__link { padding: .45rem .7rem !important; font-size: 13px !important; }
	.site-header .bar { gap: 10px !important; }
}
@media (max-width: 991px) {
	.sf-mega-nav { flex: 0; order: 3; }
	.sf-mega-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.sf-mega-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.utils .btn-quote { display: none; }
	.utils .wp-block-button__link { padding: .5rem .85rem; font-size: 14px; }
	.site-header .logo-ls svg { height: 34px; }
	.site-header .bar { gap: 12px; }
	.sf-mega-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 24px 1.25rem; }
	.sf-mega-nav .is-menu-open .wp-block-navigation__container { gap: 18px; }
	.sf-mega-nav .is-menu-open .wp-block-navigation-item__content { font-size: 16px; }
	.sf-mega-nav .is-menu-open .sf-col--label > .wp-block-navigation-item__content { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sf-ink4); }
	.sf-mega-nav .is-menu-open .sf-group > .wp-block-navigation-item__content { display: flex; gap: 10px; align-items: center; font-weight: 700; color: var(--sf-ink); }
	.sf-mega-nav .is-menu-open .sf-group > .wp-block-navigation-item__content::before { content: ""; flex: none; width: 22px; height: 22px; background: var(--sf-coq); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
	.sf-mega-nav .is-menu-open .sf-group--ls > .wp-block-navigation-item__content::before { width: 30px; background: url(../logos/ls-glyph-tight.svg) center / contain no-repeat; -webkit-mask: none; mask: none; }
	.sf-mega-nav .is-menu-open .sf-group .wp-block-navigation-link > .wp-block-navigation-item__content { display: flex; gap: 10px; align-items: center; font-weight: 500; color: var(--sf-ink2); }
	.sf-mega-nav .is-menu-open .sf-group .wp-block-navigation-link > .wp-block-navigation-item__content::before { content: ""; flex: none; width: 18px; height: 18px; background: var(--sf-ink4); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
	.sf-mega-nav .is-menu-open .sf-col--featured, .sf-mega-nav .is-menu-open .sf-talk { display: none; }
	.sf-mega-nav .is-menu-open .sf-col--stack > .wp-block-navigation-item__content { display: none !important; }
	/* one indent for a group's links, not one per nesting level, so a link fits on a line */
	.sf-mega-nav .is-menu-open .wp-block-navigation__submenu-container { padding: 4px 0 0 !important; gap: 0 !important; }
	.sf-mega-nav .is-menu-open .sf-group > .wp-block-navigation__submenu-container { padding-left: 14px !important; }
	.sf-mega-nav .is-menu-open .sf-col .wp-block-navigation-item__content { padding: 7px 0 !important; line-height: 1.35; }
	.sf-mega-nav .is-menu-open .sf-col--label > .wp-block-navigation-item__content { padding-top: 16px !important; }
	.sf-mega-nav .is-menu-open .sf-group { margin-top: 10px; }
}

/* ---------- sections ---------- */
.section { padding-block: var(--sf-section); }
.section--tint { background: var(--sf-tint); }
.section--dark { background: var(--sf-lic); color: var(--sf-on-dark); }
.section--dark h2, .section--dark h3 { color: #fff; }
.section--dark .lead { color: var(--sf-on-dark); }
.section--flush { padding-top: 0; }
.section--slim { padding-block: 20px; border-bottom: 1px solid var(--sf-rule); }
.section--compact { padding-block: 40px; }
.section-head { max-width: 48rem; margin-bottom: 40px; }
.section-head > * + * { margin-top: 0; }
.section-head h2 + .lead { margin-top: 16px; }
.section-top { margin-bottom: 28px; gap: 24px; }
.section-top .section-head { margin-bottom: 0; }
.section-top .head-link { margin: 0; }

/* hero */
.hero { position: relative; overflow: hidden; padding-block: 64px; }
.hero::before { content: ""; position: absolute; width: 1100px; height: 1100px; right: -380px; top: -520px; background: radial-gradient(closest-side, rgba(253,65,13,.16), rgba(255,200,23,.10) 55%, rgba(255,255,255,0) 100%); pointer-events: none; }
.hero--tint { background: var(--sf-tint); }
.hero--tint::before { display: none; }
.hero > * { position: relative; }
.hero-grid { gap: 56px !important; margin: 0 !important; }
.hero h1 { margin-block: 0 20px; }
.hero .lead { margin-bottom: 28px; }
.hero .micro { margin-top: 14px; font-size: 14px; color: var(--sf-ink3); display: flex; align-items: center; gap: 8px; }
.hero .micro::before { content: ""; width: 16px; height: 16px; flex: none; background: var(--sf-coq); -webkit-mask: var(--ico-clock) center/contain no-repeat; mask: var(--ico-clock) center/contain no-repeat; }
.hero-img img { border-radius: 14px; box-shadow: var(--sf-shadow-lg); width: 100%; }
.hero-img figcaption { font-size: 13px; color: var(--sf-ink3); }
/* an illustration in the hero (the showroom pages' isometric drawings): no frame, no shadow */
.hero-art { margin: 0 !important; }
.hero-art img { width: 100%; height: auto; }
.hero-art { background: var(--sf-tint); border-radius: 14px; padding: 40px; display: flex; justify-content: center; }
.hero-art img { max-height: 360px; width: auto; filter: drop-shadow(0 10px 18px rgba(34,9,1,.2)); }
.crumbs { font-size: 13px; color: var(--sf-ink3); margin-bottom: 20px; }
.crumbs a { color: var(--sf-ink3); text-decoration: none; }
.crumbs a:hover { color: var(--sf-coq-text); }
.crumbs span[aria-hidden] { margin: 0 6px; color: var(--sf-ink4); }
.mosaic { display: grid; grid-template-columns: 1.55fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; height: 470px; }
.mosaic > * { margin: 0 !important; height: 100%; }
.mosaic img { width: 100%; height: 100%; object-fit: cover; border-radius: 14px; box-shadow: var(--sf-shadow); }
.mosaic .m-main { grid-row: span 2; }
.mosaic .m-main img { object-position: 18% center; }
.names { margin-top: 44px !important; padding-top: 22px; border-top: 1px solid var(--sf-rule); font-weight: 700; font-size: 15px; color: var(--sf-ink3); letter-spacing: .02em; word-spacing: 6px; }
.names strong { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sf-ink4); font-weight: 600; margin-right: 14px; word-spacing: 0; }
.lockup-ls { gap: 14px !important; margin-bottom: 22px; }
.lockup-ls .ls-mark { margin: 0; flex-shrink: 0; }
.lockup-ls .ls-mark img { height: 46px; width: auto; max-width: none; }
.lockup-ls .ls-text { font-size: 13px; line-height: 1.35; color: var(--sf-ink3); border-left: 1px solid var(--sf-rule2); padding-left: 14px; margin: 0; }
.lockup-ls .ls-text strong { color: var(--sf-ink); font-size: 14px; }
@media (max-width: 781px) {
	.hero { padding-block: 40px 44px; }
	.hero-grid { gap: 32px !important; }
	.mosaic { height: 300px; gap: 10px; }
	.hero .wp-block-buttons > .wp-block-button { flex: 1 1 auto; }
	.hero .wp-block-buttons .wp-block-button__link { width: 100%; }
}

/* ---------- grids (WordPress grid layouts, made responsive) ---------- */
@media (max-width: 991px) {
	.cards, .who-grid, .figures.n-4, .pillars, .gallery, .team, .family { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.split, .steps, .messages { grid-template-columns: 1fr !important; }
}
@media (max-width: 767px) {
	.cards, .figures, .figures.n-4, .pillars, .gallery:not(.keep-2), .team { grid-template-columns: 1fr !important; }
	.who-grid, .family, .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
}

/* cards */
.card { background: #fff; border: 1px solid var(--sf-rule); border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; position: relative; transition: box-shadow .15s, transform .15s; }
.card > * { margin: 0 !important; }
.card:has(h3 a):hover { box-shadow: var(--sf-shadow-lg); transform: translateY(-2px); }
.card h3 a { color: inherit; text-decoration: none; }
.card h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.card:hover h3 a { color: var(--sf-coq-text); }
.card-img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.xsell .card-img img, .note-card .card-img img { aspect-ratio: 16/10; }
.art-panel { background: var(--sf-tint); aspect-ratio: 4/3; position: relative; margin: 0 !important; }
.art-panel img { position: absolute; inset: 22px; width: calc(100% - 44px) !important; height: calc(100% - 44px) !important; object-fit: contain; filter: drop-shadow(0 6px 10px rgba(34,9,1,.18)); }
.icon-panel { aspect-ratio: 4/3; background: var(--sf-tint) var(--ico-tile) center / 64px no-repeat; margin: 0 !important; }
/* the way into a page: an icon in a small tile over the title (Barrett, 2026-10-26: icons and simple
   renderings, not install photos, so it's clear at a glance where each card goes) */
.nav-icon { width: 56px; height: 56px; flex: none; border-radius: 14px; background: var(--sf-tint) var(--ico-tile) center / 28px no-repeat; margin: 0 0 6px !important; transition: background-color .15s; }
.nav-icon.ico-ls { background: var(--sf-tint) url(../logos/ls-glyph-tight.svg) center / 34px no-repeat; }
.card--nav .card-body { padding: 24px 24px 26px; }
.card--nav:hover .nav-icon, .who:hover .nav-icon { background-color: #ffe3da; }
.card-body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.card-body > * { margin: 0 !important; }
.card-body h3 { font-size: 20px; line-height: 1.3; }
.card-body p { font-size: 15px; }
.card-body .link-arrow { margin-top: auto !important; padding-top: 6px; font-size: 15px; }
.card-top { justify-content: space-between; }
.card-kicker, .card-kicker a { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 600; color: var(--sf-ink4); text-decoration: none; }
.note-card .card-kicker a { color: var(--sf-coq-text); position: relative; z-index: 2; }
.card-img { margin: 0 !important; }
.family .card-body h3 { font-size: 19px; }
.story { border: 0; border-radius: 0; background: transparent; }
.story .card-img img { border-radius: 14px; }
.story .card-body { padding: 18px 0 0; }
.story .card-body h3 { font-size: 22px; }
@media (max-width: 767px) {
	.family .art-panel img { inset: 12px; width: calc(100% - 24px) !important; height: calc(100% - 24px) !important; }
	.family .card-body { padding: 12px 12px 14px; gap: 4px; }
	.family .card-body h3 { font-size: 15px; }
	.family .card-body p { font-size: 12.5px; line-height: 1.45; }
}

/* pillars and steps */
.pillars { gap: 40px 48px !important; }
.pillar h3 { font-size: 22px; margin-bottom: 8px; }
.pillar::before, .step::after, .callout::before { content: ""; display: block; width: 28px; height: 28px; background: var(--sf-coq); -webkit-mask: var(--ico) center/contain no-repeat; mask: var(--ico) center/contain no-repeat; }
.pillar::before { width: 52px; height: 52px; border-radius: 12px; background: var(--sf-tint); -webkit-mask: none; mask: none; margin-bottom: 18px; background-image: var(--ico-tile); background-size: 28px; background-position: center; background-repeat: no-repeat; }
.step { background: #fff; border: 1px solid var(--sf-rule); border-radius: 14px; padding: 28px 26px 30px; position: relative; }
.step::after { position: absolute; right: 22px; top: 26px; width: 34px; height: 34px; background: var(--sf-coral); }
.step-num { display: inline-flex !important; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 999px; background: var(--sf-coq); color: #fff; font-weight: 700; font-size: 18px; margin-bottom: 16px !important; }
.step h3 { font-size: 22px; margin-bottom: 8px; }

/* ---------- global module: figures strip ---------- */
.figures { gap: 0 !important; border-top: 1px solid var(--sf-rule); border-bottom: 1px solid var(--sf-rule); }
.fig { padding: 30px 28px 26px; border-left: 1px solid var(--sf-rule); display: flex; flex-direction: column; }
.fig > * { margin: 0 !important; }
.fig:first-child { border-left: 0; padding-left: 0; }
.fig-num { font-size: var(--wp--preset--font-size--figure); line-height: 1.05; font-weight: 700; color: var(--sf-coq); letter-spacing: -.02em; }
.fig-num em { font-style: normal; font-size: 22px; letter-spacing: 0; margin-left: 4px; }
.fig-label { margin: 10px 0 14px !important; color: var(--sf-ink); font-weight: 500; line-height: 1.45; }
.fig-src { margin-top: auto !important; font-size: 12.5px; line-height: 1.45; color: var(--sf-ink4); }
.section--dark .figures, .section--dark .fig { border-color: var(--sf-dark-rule); }
.section--dark .fig-num { color: var(--sf-coral); }
.section--dark .fig-label { color: #fff; }
.section--dark .fig-src { color: rgba(255,255,255,.55); }
.figures-note { font-size: 13px; color: var(--sf-ink4); margin-top: 16px !important; }
@media (max-width: 991px) { .figures.n-4 .fig:nth-child(3) { border-left: 0; padding-left: 0; } .figures.n-4 .fig:nth-child(n+3) { border-top: 1px solid var(--sf-rule); } }
@media (max-width: 767px) { .figures.n-4 .fig:nth-child(n+2) { border-top: 1px solid var(--sf-rule); } .section--dark .figures.n-4 .fig:nth-child(n+2) { border-top-color: var(--sf-dark-rule); } .fig { border-left: 0; padding: 24px 0 22px; } .fig + .fig { border-top: 1px solid var(--sf-rule); } .section--dark .fig + .fig { border-top-color: var(--sf-dark-rule); } }

/* ---------- who cards ---------- */
.who { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 22px 22px 24px; border-radius: 14px; background: #fff; border: 1px solid var(--sf-rule); transition: box-shadow .15s, border-color .15s; }
.who > * { margin: 0 !important; }
.who-copy > * { margin: 0 !important; }
.who h3 { font-size: 18px; line-height: 1.3; margin-bottom: 6px !important; }
.who h3 a { color: var(--sf-ink); text-decoration: none; }
.who h3 a::after { content: ""; position: absolute; inset: 0; }
.who p { font-size: 14.5px; line-height: 1.5; color: var(--sf-ink2); }
.who:hover { box-shadow: var(--sf-shadow); border-color: #ffd2c4; }
.who:hover h3 a { color: var(--sf-coq-text); }
@media (max-width: 767px) { .who { padding: 16px; gap: 8px; } .who .nav-icon { width: 44px; height: 44px; background-size: 22px; } .who h3 { font-size: 15.5px; } .who p { display: none; } }

/* ---------- situations, gallery, feature ---------- */
.situations > * + * { margin-top: 56px !important; }
.sit { gap: 56px !important; margin-bottom: 0 !important; }
.sit-img img { border-radius: 14px; width: 100%; aspect-ratio: 4/3; object-fit: cover; box-shadow: var(--sf-shadow); }
.sit-art { background: #fff; border-radius: 14px; aspect-ratio: 4/3; position: relative; box-shadow: var(--sf-shadow); margin: 0 !important; }
.sit-art img { position: absolute; inset: 9%; width: 82% !important; height: 82% !important; box-shadow: none !important; aspect-ratio: auto !important; object-fit: contain !important; filter: drop-shadow(0 8px 14px rgba(34,9,1,.18)); }
.sit-n { font-weight: 700; color: var(--sf-coq-text); font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 8px !important; }
.sit h3 { margin-bottom: 12px; }
@media (max-width: 781px) { .sit { gap: 20px !important; } .sit--flip { flex-direction: column-reverse; } .situations > * + * { margin-top: 40px !important; } }
.gallery { gap: 16px !important; }
.gallery figure { margin: 0 !important; }
.gal img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 10px; }
.gal figcaption { font-size: 13px; color: var(--sf-ink3); }
.gal figcaption strong { color: var(--sf-ink); display: block; font-size: 14px; }
.gallery-nav { font-weight: 600; font-size: 15px; word-spacing: 4px; text-align: center; }
.gallery-nav a { text-decoration: none; word-spacing: 0; }
.names .nw { word-spacing: 0; color: var(--sf-ink3); }
.feature { background: var(--sf-lic); border-radius: 14px; overflow: hidden; gap: 0 !important; color: var(--sf-on-dark); margin: 0 !important; }
.feature-pics { gap: 2px !important; height: 100%; }
.feature-pics figure { margin: 0 !important; }
.feature-pics img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 3/4; }
.feature-pics:not(:has(> :nth-child(2))) img { aspect-ratio: 4/3; }
.feature-copy { padding: 44px !important; }
.feature-copy h2 { color: #fff; font-size: 34px; margin-bottom: 16px; }
.feature-copy .link-arrow { color: var(--sf-coral); }
@media (max-width: 781px) { .feature-copy { padding: 28px 22px !important; } .feature-copy h2 { font-size: 26px; } }

/* ---------- tiers, messages ---------- */
.split { gap: 24px !important; }
.tier { border: 1px solid var(--sf-rule); border-radius: 14px; padding: 28px 26px; background: #fff; display: flex; flex-direction: column; gap: 14px; }
.tier > * { margin: 0 !important; }
.tier--stock { border: 2px solid var(--sf-coq); box-shadow: var(--sf-shadow); }
.tier .badge { align-self: flex-start; }
.tier h3 { font-size: 22px; }
.tier .wp-block-buttons { margin-top: auto !important; }
ul.checks { list-style: none; padding: 0; display: grid; gap: 8px; }
ul.checks li { display: block; position: relative; padding-left: 28px; font-size: 15px; line-height: 1.45; }
ul.checks li::before { content: ""; width: 18px; height: 18px; position: absolute; left: 0; top: .15em; background: var(--sf-coq); -webkit-mask: var(--ico-check) center/contain no-repeat; mask: var(--ico-check) center/contain no-repeat; }
.messages { gap: 0 !important; border-top: 1px solid var(--sf-dark-rule); }
.msg { padding: 28px 28px 30px 0; border-bottom: 1px solid var(--sf-dark-rule); }
.msg > * { margin: 0 !important; }
.msg:not(:nth-child(3n+1)) { padding-left: 28px; border-left: 1px solid var(--sf-dark-rule); }
.msg .n { font-size: 13px; font-weight: 700; color: var(--sf-coral); letter-spacing: 1px; }
.msg h3 { font-size: 21px; margin: 6px 0 8px !important; }
@media (max-width: 991px) { .msg:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; } .msg { padding-right: 0; } }

/* ---------- global module: FAQ ---------- */
.faq-layout { gap: 56px !important; margin: 0 !important; }
.faq-intro { margin-bottom: 0; }
.sf-faq { border-top: 1px solid var(--sf-rule); }
.sf-faq > * { margin: 0 !important; }
.sf-faq .faq-q { font-size: 19px; line-height: 1.4; font-weight: 600; letter-spacing: 0; padding: 22px 52px 22px 0; border-top: 1px solid var(--sf-rule); position: relative; cursor: pointer; }
.sf-faq .faq-q:first-child { border-top: 0; }
.sf-faq .faq-q::after { content: ""; position: absolute; right: 0; top: 50%; width: 34px; height: 34px; margin-top: -17px; border-radius: 999px; background: var(--sf-tint) var(--ico-chev-tile) center/14px no-repeat; transition: transform .2s; }
.sf-faq .faq-q[aria-expanded="true"]::after { transform: rotate(180deg); }
.section--tint .sf-faq .faq-q::after { background-color: #fff; }
.sf-faq .faq-q:hover { color: var(--sf-coq-text); }
.sf-faq .faq-a { padding: 0 64px 22px 0; }
.sf-faq .faq-a[hidden] { display: none; }
.faq-title { margin-top: 48px !important; }
@media (max-width: 781px) { .faq-layout { gap: 20px !important; } .sf-faq .faq-q { font-size: 17px; } .sf-faq .faq-a { padding-right: 0; } }

/* ---------- global module: closing band ---------- */
.band { position: relative; overflow: hidden; color: #fff; padding-block: 72px; }
.band::before { content: ""; position: absolute; width: 900px; height: 900px; left: -300px; bottom: -620px; background: radial-gradient(closest-side, rgba(255,200,23,.45), rgba(255,200,23,0)); pointer-events: none; }
.band > * { position: relative; }
.band-grid { gap: 56px !important; margin-block: 0 !important; }
.band h2 { color: #fff; margin-bottom: 16px; }
.band .lead { color: rgba(255,255,255,.95); margin-bottom: 28px; }
.band .fork { margin-top: 22px !important; font-size: 14px; color: rgba(255,255,255,.9); }
.band .fork strong { color: #fff; }
/* the ways in beside the form: phone, email, the shop (Barrett, 2026-10-26: polish the closing section) */
.band-reach { list-style: none; padding: 0; margin: 0 0 28px !important; display: grid; gap: 12px; }
.band-reach li { display: flex; align-items: center; gap: 12px; font-size: 16px; color: rgba(255,255,255,.95); }
.band-reach .bi { flex: none; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.16); position: relative; }
.band-reach .bi::after { content: ""; position: absolute; inset: 10px; background: #fff; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.band-reach a { color: #fff; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(255,255,255,.45); text-underline-offset: 3px; }
.band-reach a:hover { text-decoration-color: #fff; }
.form-card { background: #fff; color: var(--sf-ink2); border-radius: 18px; padding: 30px 30px 26px; box-shadow: 0 2px 4px rgba(34,9,1,.08), 0 24px 48px rgba(34,9,1,.22); }
.form-card > * { margin: 0 !important; }
.form-card h3 { font-size: 22px; margin-bottom: 4px !important; color: var(--sf-ink); }
.form-card .form-sub { font-size: 14.5px; color: var(--sf-ink3); margin-bottom: 18px !important; }
.form-card h2 { font-size: 26px; margin-bottom: 18px !important; }
.form-card .muted { font-size: 14px; margin-bottom: 18px !important; color: var(--sf-ink3); }
@media (max-width: 781px) { .band { padding-block: 52px; } .band-grid { gap: 36px !important; } .form-card { padding: 22px 18px; } }

/* Contact Form 7 */
.wpcf7 form { margin: 0; }
.sf-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sf-form-grid .full { grid-column: 1 / -1; }
.wpcf7 label.f, .wpcf7 .f legend { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--sf-ink); }
.wpcf7 fieldset.f { border: 0; padding: 0; margin: 0; }
.wpcf7 .f legend { margin-bottom: 6px; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 textarea { font: 15px var(--wp--preset--font-family--montserrat); color: var(--sf-ink); padding: 12px 14px; border: 1px solid var(--sf-rule2); border-radius: 8px; background: #fff; width: 100%; box-sizing: border-box; transition: border-color .15s, box-shadow .15s; }
.wpcf7 input:hover, .wpcf7 textarea:hover { border-color: #c9b8b2; }
.wpcf7 textarea { height: 96px; resize: vertical; }
.wpcf7 ::placeholder { color: #a8958f; }
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: none; border-color: var(--sf-coq); box-shadow: 0 0 0 3px rgba(253,65,13,.18); }
.wpcf7 .req { color: var(--sf-coq-text); font-weight: 700; }
.wpcf7 .opt { font-weight: 500; color: var(--sf-ink4); }
.wpcf7 label.f .req, .wpcf7 label.f .opt { display: inline; }
/* the label's words on one line, the field under them, never wider than its column */
.wpcf7 label.f { flex-direction: row; flex-wrap: wrap; align-items: baseline; column-gap: 6px; row-gap: 6px; min-width: 0; }
.wpcf7 label.f > .wpcf7-form-control-wrap { flex: 0 0 100%; min-width: 0; }
.sf-form-grid > * { min-width: 0; }
/* a photo or a file: a dashed drop box with the browser's own picker */
.wpcf7 .sf-file input[type=file] { width: 100%; box-sizing: border-box; padding: 12px; border: 1px dashed #c9b8b2; border-radius: 8px; background: #fffaf8; font: 14px var(--wp--preset--font-family--montserrat); color: var(--sf-ink3); cursor: pointer; }
.wpcf7 .sf-file input[type=file]::file-selector-button { margin-right: 12px; padding: 7px 14px; border: 1px solid var(--sf-rule2); border-radius: 999px; background: #fff; font: 600 13px var(--wp--preset--font-family--montserrat); color: var(--sf-ink); cursor: pointer; }
.wpcf7 .sf-file input[type=file]:hover { border-color: var(--sf-coq); }
.sf-seg .wpcf7-radio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.sf-seg .wpcf7-list-item { margin: 0; }
.sf-seg .wpcf7-list-item label { display: block; position: relative; }
.sf-seg .wpcf7-list-item input { position: absolute; opacity: 0; }
.sf-seg .wpcf7-list-item-label { display: block; text-align: center; padding: 10px 6px; border: 1px solid var(--sf-rule2); border-radius: 8px; font-weight: 600; font-size: 14px; cursor: pointer; color: var(--sf-ink2); transition: border-color .15s, background-color .15s; }
.sf-seg .wpcf7-list-item-label:hover { border-color: #c9b8b2; }
.sf-seg input:focus-visible + .wpcf7-list-item-label { box-shadow: 0 0 0 3px rgba(253,65,13,.18); border-color: var(--sf-coq); }
.sf-seg--4 .wpcf7-radio { grid-template-columns: repeat(2, 1fr); }
.sf-seg input:checked + .wpcf7-list-item-label { border-color: var(--sf-coq); background: var(--sf-tint); color: var(--sf-coq-text); }
.wpcf7 .sf-submit, .wpcf7 input[type=submit] { margin-top: 16px; width: 100%; background: var(--sf-coq); color: #fff; border: 2px solid var(--sf-coq); border-radius: 8px; padding: .9rem 1.5rem; font: 600 16px var(--wp--preset--font-family--montserrat); cursor: pointer; }
.wpcf7 input[type=submit]:hover { background: var(--sf-coq-hover); border-color: var(--sf-coq-hover); }
.wpcf7 .form-note { font-size: 12.5px; color: var(--sf-ink4); margin: 12px 0 0; }
.wpcf7-spinner { display: none; }
.wpcf7 form .wpcf7-response-output { margin: 12px 0 0; border-radius: 4px; font-size: 14px; }
@media (max-width: 781px) { .sf-form-grid { grid-template-columns: 1fr; } }

/* ---------- global module: see it on a real lot ---------- */
.reallot { display: grid !important; grid-template-columns: 1.4fr 1fr 1fr; gap: 16px; }
.reallot > * { margin: 0 !important; position: relative; border-radius: 14px; overflow: hidden; }
.reallot img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/3; }
.reallot figcaption { position: absolute; left: 12px; bottom: 12px; right: 12px; margin: 0; background: rgba(34,9,1,.78); color: #fff; font-size: 13px; padding: 7px 10px; border-radius: 6px; }
@media (max-width: 767px) { .reallot { grid-template-columns: 1fr 1fr; } .reallot > :first-child { grid-column: 1 / -1; }
	.reallot > * { overflow: visible; } .reallot img { border-radius: 12px; }
	.reallot figcaption { position: static; background: none; color: var(--sf-ink3); padding: 6px 2px 0; font-size: 12.5px; } }

/* ---------- global module: Field Notes cards (query loop) ---------- */
.notes-grid .wp-block-post-template { gap: 24px; }
.notes-grid .wp-block-post-template > li { margin: 0; }
.note-card { height: 100%; }
.note-card .wp-block-post-featured-image { margin: 0; }
.note-card .wp-block-post-featured-image img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.note-card .wp-block-post-title { font-size: 20px; line-height: 1.3; }
.note-card .wp-block-post-title a { color: var(--sf-ink); text-decoration: none; }
.note-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.note-card:hover .wp-block-post-title a { color: var(--sf-coq-text); }
.note-card .wp-block-post-excerpt { font-size: 15px; margin: 0; }
.note-card .wp-block-post-excerpt__more-text { display: none; }
@media (max-width: 991px) { .notes-grid .wp-block-post-template { grid-template-columns: 1fr !important; } }

/* ---------- article (Field Note) ---------- */
.article-head { padding-block: 48px 8px; }
.article-head > * { margin-block: 0 !important; }
.article-head .wp-block-post-title { font-size: var(--wp--preset--font-size--h-1); line-height: 1.16; margin-block: 6px 16px !important; }
.article-head .lead { margin-bottom: 18px !important; }
.byline { gap: 6px 10px !important; font-size: 14px; color: var(--sf-ink3); }
.byline > * { margin: 0 !important; font-size: 14px; }
.byline > * + *::before { content: "·"; margin-right: 10px; color: var(--sf-ink4); }
.article-hero { margin-top: 28px !important; }
.article-hero img { border-radius: 14px; }
.article { font-size: 17px; line-height: 1.7; padding-bottom: 32px; }
.article > h2 { font-size: 30px; margin-block: 44px 14px !important; }
.article > p, .article > ul { margin-block: 0 1.1em !important; }
.takeaways { background: var(--sf-tint); border-radius: 14px; padding: 26px 30px 24px; margin-block: 28px 24px !important; border-left: 4px solid var(--sf-coq); }
.takeaways > * { margin: 0 !important; }
.takeaways h2 { font-size: 15px !important; letter-spacing: 2px; text-transform: uppercase; color: var(--sf-coq-text); margin-bottom: 12px !important; }
.takeaways ul.checks li { font-size: 16px; color: var(--sf-ink); }
.callout { gap: 16px !important; border: 1px solid var(--sf-rule); border-radius: 14px; padding: 20px 22px; margin-block: 28px !important; background: #fff; box-shadow: var(--sf-shadow); }
.callout::before { flex: none; width: 44px; height: 44px; border-radius: 10px; background: var(--sf-coq) var(--ico-tile-white) center/24px no-repeat; -webkit-mask: none; mask: none; }
.callout-copy { flex: 1; }
.callout-copy > * { margin: 0 0 6px !important; font-size: 16px; }
.callout-img { flex: none; margin: 0 !important; }
.callout-img img { width: 120px; height: 90px; object-fit: cover; border-radius: 8px; }
.wp-block-table.data { margin-block: 24px 8px !important; border: 1px solid var(--sf-rule); border-radius: 16px; overflow: hidden; }
.wp-block-table.data table { border-collapse: collapse; font-size: 15px; width: 100%; }
.wp-block-table.data th, .wp-block-table.data td { text-align: left; padding: 13px 18px; border: 0; border-bottom: 1px solid var(--sf-rule); }
.wp-block-table.data thead { border: 0; }
.wp-block-table.data thead th { background: var(--sf-tint); color: var(--sf-ink); font-weight: 700; font-size: 14px; }
.wp-block-table.data tbody tr:last-child td { border-bottom: 0; }
.wp-block-table.data td:last-child { font-weight: 700; color: var(--sf-ink); }
.wp-block-table.data figcaption { font-size: 12.5px; color: var(--sf-ink4); padding: 12px 18px 14px; margin: 0; text-align: left; border-top: 1px solid var(--sf-rule); }
.sources { font-size: 14px; color: var(--sf-ink3); margin-top: 40px !important; }
.sources h2 { font-size: 22px !important; margin-bottom: 12px !important; }
.source-list { counter-reset: s; }
.source-list p { counter-increment: s; padding-left: 26px; position: relative; margin-bottom: 8px !important; }
.source-list p::before { content: counter(s) "."; position: absolute; left: 0; font-weight: 700; color: var(--sf-ink); }
@media (max-width: 781px) { .article { font-size: 16px; } .article > h2 { font-size: 24px; margin-block-start: 36px !important; } .takeaways { padding: 20px 18px; } .callout { flex-direction: column; } .callout-img img { width: 100%; height: 140px; } }

/* ---------- company pages ---------- */
.quote-grid { gap: 40px !important; margin: 0 !important; }
.quote-side > * { margin: 0 0 12px !important; }
.quote-side h3 { font-size: 20px; margin-top: 18px !important; }
.quote-side h3:first-child { margin-top: 0 !important; }
.steps-list { padding-left: 1.2em; }
.steps-list li { margin-bottom: 8px; }
.contact-grid { gap: 32px !important; margin: 0 !important; }
.contact-grid h2 { font-size: 26px; margin: 4px 0 10px !important; }
.contact-grid h2 a { text-decoration: none; }
/* the email address is one long word: smaller, and never broken mid-name (2026-10-27) */
.contact-grid h2 a[href^="mailto:"] { font-size: clamp(17px, 1.6vw, 21px); white-space: nowrap; }
.team { gap: 16px !important; }
.team-card { background: #fff; border: 1px solid var(--sf-rule); border-radius: 10px; padding: 18px 20px; }
.team-card > * { margin: 0 !important; }
.team-card h3 { font-size: 18px; margin-bottom: 4px !important; }
.team-card p { font-size: 14px; color: var(--sf-ink3); }
.division-row { gap: 48px !important; margin: 0 !important; }
.two-col { gap: 48px !important; margin: 0 !important; }
.two-col h2 { font-size: 28px; margin: 4px 0 14px !important; }
.two-col ul { padding-left: 1.1em; }
.two-col li { margin-bottom: 8px; }

/* ---------- footer (template part) ---------- */
.site-footer { color: var(--sf-on-dark); font-size: 15px; padding-top: 64px; }
.site-footer a { color: var(--sf-on-dark); text-decoration: none; }
.site-footer a:hover { color: #fff; }
.foot-top { gap: 40px !important; margin-block: 0 44px !important; }
.footer-logo img { height: 42px; width: auto; }
/* the ShortCut's own logo (build/prepare_ls_logos.py), over its spotlight on Home and atop its guide */
.sc-logo { margin-top: 0 !important; margin-bottom: 0 !important; }   /* side margins left alone: they centre it in the guide's column */
.sc-logo img { height: 30px; width: auto; display: block; }
.sc-logo--lead { margin-bottom: 20px !important; }
.sc-logo--lead img { height: 44px; }
.foot-brand > * { margin: 0 0 14px !important; }
.foot-brand p { font-size: 14px; line-height: 1.6; }
.foot-col h4 { color: #fff; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 14px !important; }
.foot-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.foot-col li { font-size: 14.5px; line-height: 1.4; }
.foot-sign { gap: 40px !important; padding: 30px 0; margin-block: 0 !important; border-top: 1px solid var(--sf-dark-rule); }
.foot-sign h3 { color: #fff; font-size: 20px; margin-bottom: 4px !important; }
.foot-sign p { margin: 0; font-size: 14px; }
.sf-signup { display: flex; gap: 10px; }
.sf-signup .wpcf7-form-control-wrap { flex: 1; }
.sf-signup input[type=email] { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.25) !important; color: #fff !important; }
.sf-signup input::placeholder { color: rgba(255,255,255,.5); }
.sf-signup .sf-submit, .sf-signup input[type=submit] { width: auto; margin: 0; }
.foot-lockup { padding: 26px 0; border-top: 1px solid var(--sf-dark-rule); margin-block: 0 !important; }
.division { gap: 14px !important; margin: 0 !important; }
.division .ls-mark, .division .sf-mark { margin: 0; }
.division .ls-mark img { height: 34px; width: auto; }
.division .sf-mark img { height: 22px; width: auto; }
.division-text a { color: #fff; }
.division-text { font-size: 14px; line-height: 1.35; border-left: 1px solid var(--sf-dark-rule); padding-left: 14px; margin: 0 !important; }
.division-text strong { color: #fff; font-weight: 600; }
.social { display: flex; gap: 10px; margin: 0 !important; }
.social a { width: 38px; height: 38px; border-radius: 999px; border: 1px solid var(--sf-dark-rule); display: inline-flex; align-items: center; justify-content: center; font-size: 0; color: transparent; position: relative; }
.social a::before { content: ""; width: 17px; height: 17px; background: var(--sf-on-dark); -webkit-mask: var(--ico-social) center/contain no-repeat; mask: var(--ico-social) center/contain no-repeat; }
.social a[aria-label=LinkedIn] { --ico-social: var(--ico-linkedin); }
.social a[aria-label=Facebook] { --ico-social: var(--ico-facebook); }
.social a[aria-label=Instagram] { --ico-social: var(--ico-instagram); }
.social a:hover { border-color: var(--sf-coral); }
.legal { padding: 18px 0 28px; border-top: 1px solid var(--sf-dark-rule); font-size: 13px; color: rgba(255,255,255,.55); margin-block: 0 !important; }
.legal p { margin: 0; }
.legal p:last-child { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.legal a { color: rgba(255,255,255,.55); }
@media (max-width: 781px) { .site-footer { padding-top: 48px; } .foot-top { gap: 28px !important; } .foot-sign { gap: 14px !important; } .sf-signup { flex-direction: column; } .sf-signup input[type=submit] { width: 100%; } }

/* ---------- planned-page note (local and staging only) ---------- */
.sf-toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); background: var(--sf-lic); color: #fff; padding: 12px 18px; border-radius: 8px; font-size: 14px; box-shadow: var(--sf-shadow-lg); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; z-index: 100; max-width: calc(100% - 32px); }
.sf-toast.show { opacity: 1; transform: translate(-50%, 0); }
.sf-toast code { color: var(--sf-coral); font-size: 13px; }


/* ---------- round 3 (2026-10-23): Who it's for groups, the calendar, Lot Guides, campaign landings ---------- */
.who-grid.n-5 .who h3 { font-size: 16.5px; }
.who-grid.n-5 .who { padding: 20px 18px 22px; }
.months .card-kicker { color: var(--sf-coq-text); }
.months .card h3 { font-size: 22px; }
.months .art-panel { height: 170px; }
.months .card-img img { height: 170px; width: 100%; object-fit: cover; }
@media (min-width: 992px) and (max-width: 1199px) { .months { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
.guide-head .eyebrow { margin-bottom: 4px !important; }
.article-img { margin-block: 24px 28px !important; }
.article-img img { border-radius: 14px; }
/* a tall photo in an article sits at half the column, not the whole of it */
.article-img--portrait { max-width: 400px; }
.article-img.art { background: var(--sf-tint); border-radius: 14px; padding: 28px 24px 16px; }
.article-img.art img { max-height: 150px; width: auto; margin-inline: auto; display: block; border-radius: 0; filter: drop-shadow(0 6px 10px rgba(34,9,1,.18)); }
.article-img figcaption { font-size: 13px; color: var(--sf-ink3); }
.wp-block-table.data.compare td:last-child { font-weight: 400; color: inherit; }
.wp-block-table.data.compare td:first-child { font-weight: 700; color: var(--sf-ink); }
.article .steps { margin-block: 20px 28px !important; }
.more-guides { margin-top: 48px !important; padding-top: 32px; border-top: 1px solid var(--sf-rule); }
.more-guides > * { margin-block: 0 !important; }
.more-guides > h2 { font-size: 24px; margin-bottom: 16px !important; }
.more-guides .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.more-guides .card-img img { height: 160px; width: 100%; object-fit: cover; }
.landing-header .tel { margin: 0; white-space: nowrap; }
.landing-header .tel a { color: var(--sf-ink); text-decoration: none; font-weight: 700; font-size: 16px; display: inline-flex; align-items: center; gap: 6px; }
.landing-header .tel a::before { content: ""; width: 16px; height: 16px; background: var(--sf-coq); -webkit-mask: var(--ico-phone) center/contain no-repeat; mask: var(--ico-phone) center/contain no-repeat; }
.landing-footer { padding-block: 32px 20px; }
.landing-home { margin: 0; }
.landing-home a { color: var(--sf-on-dark); text-decoration: none; font-weight: 600; }
.landing-close { text-align: center; }
.landing-close-inner { max-width: 680px; margin-inline: auto !important; }
.landing-close-inner > * { margin-block: 0 16px !important; }
.landing-close .wp-block-buttons { justify-content: center; margin-top: 8px !important; }
@media (max-width: 767px) { .more-guides .cards { grid-template-columns: 1fr !important; } .months .art-panel, .months .card-img img { height: 140px; } }
.guide-head { padding-bottom: 8px !important; }
.guide-head .byline { padding-bottom: 22px; margin-bottom: 30px !important; border-bottom: 1px solid var(--sf-rule); }
.audiences .tier > p:last-child { margin-top: auto !important; }
.audiences .tier ul.checks li { font-size: 15.5px; }
.figures.n-1 { grid-template-columns: 1fr !important; }
.figures.n-1 .fig { display: grid; grid-template-columns: max-content minmax(0, 640px); justify-content: start; column-gap: 40px; align-items: center; }
.figures.n-1 .fig-num { grid-row: span 2; }
.figures.n-1 .fig-label { margin: 0 0 10px !important; align-self: end; }
.figures.n-1 .fig-src { align-self: start; margin-top: 0 !important; }
@media (max-width: 600px) { .figures.n-1 .fig { grid-template-columns: 1fr; } .figures.n-1 .fig-num { grid-row: auto; } .figures.n-1 .fig-label { margin: 10px 0 14px !important; } }
.figures.n-1 .fig { border-left: 0 !important; padding-left: 0 !important; }

/* Kaleb's v2 page illustrations on the Lot Sherpa page */
.v2-pair figure img { width: 100%; height: auto; border-radius: 12px; background: #fff; }
.v2-pair figcaption { font-size: 13px; color: var(--sf-on-dark); text-align: center; }
.v2-media { padding: 32px !important; }
.v2-pair { gap: 16px !important; }
@media (max-width: 781px) { .v2-media { padding: 22px 22px 0 !important; } }
.v2-iso img { width: 100%; height: auto; }
.v2-iso-grid { gap: 48px !important; }
.v2-iso-grid h3 { font-size: 22px; margin-block: 12px 10px !important; }

/* ---------- audit fixes, 2026-10-23 ---------- */
/* headings never strand one word; body text avoids a lone last word */
h1, h2, h3, .eyebrow, .card-kicker, .sit-n { text-wrap: balance; }
p, li { text-wrap: pretty; }
.nw { white-space: nowrap; }

/* tables: no forced equal columns (words broke mid-word on phones); wide tables scroll sideways */
.wp-block-table.data { overflow-x: auto; }
.wp-block-table.data table.has-fixed-layout { table-layout: auto; }
.wp-block-table.data th, .wp-block-table.data td { overflow-wrap: normal; word-break: normal; hyphens: manual; }
@media (max-width: 767px) {
	.wp-block-table.data:has(th:nth-child(3)) table { min-width: 620px; }
	.wp-block-table.data th, .wp-block-table.data td { padding: 11px 14px; }
}
.wp-block-table.data + p, .wp-block-table + p { margin-top: 28px !important; }

/* a card with its own second link (Shop, Request a quote) above the title's card-wide link */
.card-action { position: relative; z-index: 2; }

/* a lone last card in a three-column grid sits in the middle column, not the left (cols-3 only: in a
   four-column grid it pushed the fourth card onto a row of its own) */
@media (min-width: 992px) {
	.cards.cols-3.is-layout-grid > :last-child:nth-child(3n+1), .gallery.cols-3 > :last-child:nth-child(3n+1),
	.notes-grid .wp-block-post-template > :last-child:nth-child(3n+1) { grid-column: 2; }
}
/* on phones a two-column grid's odd last card spans the row */
@media (max-width: 767px) {
	.who-grid > :last-child:nth-child(odd), .family > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* rows of five or seven: centered flex rows instead of a ragged grid */
.center-rows.is-layout-grid { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 24px !important; }
.center-rows.is-layout-grid > * { flex: 0 1 calc((100% - 48px) / 3); margin: 0 !important; }
@media (max-width: 991px) { .center-rows.is-layout-grid > * { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 767px) { .center-rows.is-layout-grid:not(.family) > * { flex-basis: 100%; } .center-rows.family.is-layout-grid { gap: 12px !important; } .center-rows.family.is-layout-grid > * { flex-basis: calc((100% - 12px) / 2); } }

/* shape cards: the size line takes two lines' room, so the titles line up */
.shapes .card-top { min-height: 2.9em; align-items: flex-start !important; }

/* closing band buttons: full width on phones, like the hero's */
@media (max-width: 781px) {
	.band .wp-block-buttons { flex-direction: column; align-items: stretch !important; }
	.band .wp-block-button, .band .wp-block-button__link { width: 100%; }
}

/* the guide template's breadcrumb gets the same air as the hero pages' */
.guide-head .crumbs { margin-bottom: 22px; }

/* product rows on the family pages */
.jump { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 40px !important; }
.jump a { font-size: 14px; font-weight: 600; text-decoration: none; color: var(--sf-ink); background: #fff; border: 1px solid var(--sf-rule2); border-radius: 999px; padding: 7px 14px; }
.jump a:hover { border-color: var(--sf-coq-text); color: var(--sf-coq-text); }
.prows > * + * { margin-top: 64px !important; }
.prow .badge { margin-bottom: 10px !important; }
.prow .checks { margin-block: 4px 0 !important; }
.prow-links, .prow-text .prow-links { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 18px !important; }
.prow-texts { margin-top: 64px !important; gap: 24px !important; }
.prow-text { background: #fff; border: 1px solid var(--sf-rule); border-radius: 14px; padding: 28px 28px 30px; }
.prow-text > * { margin: 0 0 10px !important; }
.prow-text h3 { font-size: 22px; }
@media (max-width: 781px) { .prows > * + * { margin-top: 48px !important; } .prow-texts { grid-template-columns: 1fr !important; margin-top: 48px !important; } }
/* the store price table: the price is the bold column, not "Sold in" */
.wp-block-table.data.prices td:last-child { font-weight: 400; color: inherit; }
.wp-block-table.data.prices td:nth-child(2) { font-weight: 700; color: var(--sf-ink); white-space: nowrap; }
@media (max-width: 767px) { .wp-block-table.data.prices th:first-child { width: 52%; } }
/* checklists inside an article read at body size */
.wp-block-post-content ul.checks li, .guide-body ul.checks li { font-size: inherit; }
/* the byline's dots never start a wrapped line on phones */
@media (max-width: 600px) { .byline > * + *::before { display: none; } .byline { gap: 4px 14px !important; } }
/* outline buttons: the text and border in the darker orange, so the label reads at 5.1:1 */
.wp-block-button.is-style-outline:not(.btn-ghost-light) .wp-block-button__link { color: var(--sf-coq-text); border-color: var(--sf-coq-text); }
/* click to enlarge: the zoom button sits above a card's own link, and shows without hover on touch screens */
.wp-lightbox-container { position: relative; }
.wp-lightbox-container > button { z-index: 3; }
.wp-lightbox-container img { cursor: zoom-in; }
.card .wp-lightbox-container img, .who .wp-lightbox-container img { cursor: pointer; }
@media (hover: none) { .wp-lightbox-container > button { opacity: .9 !important; } }

/* ---------- Google reviews (Barrett, 2026-10-26: our reviews scrolling across the page, like OptiSigns') ---------- */
.section--reviews { overflow: hidden; }
.section--reviews .rating { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.section--reviews .rating-stars, .review-stars span[aria-hidden] { color: #f5a400; letter-spacing: 2px; }
.reviews { display: grid; gap: 20px; margin-top: 36px !important; }
.reviews > * { margin: 0 !important; }
/* without the script (or with reduced motion) a row scrolls by hand */
.reviews-row { overflow-x: auto; scrollbar-width: thin; padding: 4px 2.5rem 12px; }
.reviews-track { display: flex; gap: 20px; width: max-content; }
.reviews-track > * { margin: 0 !important; }
.review { flex: none; width: 360px; display: flex; flex-direction: column; gap: 12px; padding: 24px 24px 22px; background: #fff; border: 1px solid var(--sf-rule); border-radius: 14px; box-shadow: var(--sf-shadow); }
.review > * { margin: 0 !important; }
.review-stars { font-size: 17px; line-height: 1; }
.review-text { font-size: 15px; line-height: 1.6; color: var(--sf-ink2); flex: 1; }
.review-by { display: flex; flex-direction: column; gap: 2px; font-size: 14px; color: var(--sf-ink4); }
.review-by strong { color: var(--sf-ink); font-size: 15px; }
/* with the script: each row repeats itself and drifts, one row each way, and stops under the pointer */
.reviews.is-moving .reviews-row { overflow: hidden; padding-inline: 0; -webkit-mask: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.reviews.is-moving .reviews-track { animation: sf-reviews var(--dur, 80s) linear infinite; }
.reviews.is-moving .reviews-row--reverse .reviews-track { animation-direction: reverse; }
.reviews.is-moving .reviews-row:hover .reviews-track, .reviews.is-moving .reviews-row:focus-within .reviews-track, .reviews.is-paused .reviews-track { animation-play-state: paused; }
@keyframes sf-reviews { from { transform: translateX(0); } to { transform: translateX(calc(-50% - var(--gap, 20px) / 2)); } }
.drift-pause { display: inline-flex; flex: none; white-space: nowrap; align-items: center; gap: 8px; margin-top: 18px; padding: 8px 14px; border: 1px solid var(--sf-rule2); border-radius: 999px; background: #fff; font: 600 13px var(--wp--preset--font-family--montserrat); color: var(--sf-ink2); cursor: pointer; }
.drift-pause:hover { border-color: var(--sf-coq-text); color: var(--sf-coq-text); }
.drift-pause:focus-visible { outline: 2px solid var(--sf-coq); outline-offset: 2px; }
@media (max-width: 781px) { .review { width: 290px; padding: 20px; } .review-text { font-size: 14.5px; } .reviews-row { padding-inline: 1.25rem; } }
@media (prefers-reduced-motion: reduce) { .reviews.is-moving .reviews-track { animation: none; } }

/* About's Silver Fox Marketing section (Kaleb, 2026-10-27) */
.about-sf-mark { margin: 0 !important; }
.about-sf-mark img { width: 100%; max-width: 380px; height: auto; }

/* ---------- the dealer groups' logos (Barrett, 2026-10-27: logos, not names, in a carousel) ---------- */
.section--logos { padding-block: 40px 44px; border-bottom: 1px solid var(--sf-rule); overflow: hidden; }
.logos-label { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 22px !important; font-size: 12px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sf-ink4); }
/* the toggle: a round + that turns to − when the logos are open */
.logos-more { flex: none; position: relative; width: 38px; height: 38px; padding: 0; border: 1px solid var(--sf-rule2); border-radius: 50%; background: #fff; color: var(--sf-ink2); cursor: pointer; transition: border-color .15s, color .15s; }
.logos-more span, .logos-more span::before { position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; margin: -1px 0 0 -7px; border-radius: 2px; background: currentColor; }
.logos-more span::before { content: ""; left: 0; top: 0; margin: 0; transform: rotate(90deg); transition: transform .2s; }
.logos-more[aria-expanded="true"] span::before { transform: rotate(0deg); }
.logos-more:hover { border-color: var(--sf-coq-text); color: var(--sf-coq-text); }
.logos-more:focus-visible { outline: 2px solid var(--sf-coq); outline-offset: 2px; }
.logo-strip > * { margin: 0 !important; }
.logos-row { overflow-x: auto; scrollbar-width: thin; padding: 6px 2.5rem 10px; }
.logos-track { --gap: 64px; display: flex; align-items: center; gap: var(--gap); width: max-content; }
.logos-track > * { margin: 0 !important; flex: none; }
.dealer-logo img { display: block; height: 56px; width: auto; max-width: 200px; object-fit: contain; filter: grayscale(1); opacity: .62; transition: filter .2s, opacity .2s; }
.dealer-logo:hover img { filter: none; opacity: 1; }
.logo-strip.is-moving .logos-row { overflow: hidden; padding-inline: 0; -webkit-mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.logo-strip.is-moving .logos-track { animation: sf-reviews var(--dur, 60s) linear infinite; }
.logo-strip.is-moving .logos-row:hover .logos-track, .logo-strip.is-paused .logos-track { animation-play-state: paused; }
/* "See all": every group at once, still, in a grid (the drifting copies hidden) */
.logo-strip.is-open .logos-row { overflow: visible; -webkit-mask: none; mask: none; padding: 6px 2.5rem 10px; }
.logo-strip.is-open .logos-track { animation: none; flex-wrap: wrap; justify-content: center; align-items: center;
	gap: 36px 56px; width: auto; max-width: 1120px; margin: 8px auto 0 !important; }
.logo-strip.is-open .logos-track > [aria-hidden="true"] { display: none; }
@media (max-width: 781px) { .dealer-logo img { height: 40px; max-width: 150px; } .logos-track { --gap: 40px; } .logos-row { padding-inline: 1.25rem; }
	.logo-strip.is-open .logos-row { padding-inline: 1.25rem; } .logo-strip.is-open .logos-track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-items: center; gap: 28px 16px; } }
@media (prefers-reduced-motion: reduce) { .logo-strip.is-moving .logos-track { animation: none; } }

/* one of our LinkedIn articles, as a small card (Barrett, 2026-10-27) */
.li-article { display: flex; align-items: flex-start; gap: 20px; max-width: 760px; margin: 0 auto; padding: 24px 26px; border: 1px solid var(--sf-rule); border-radius: 14px; background: #fff; }
.li-article > * { margin: 0 !important; }
.li-article .nav-icon { margin: 0 !important; }
.li-copy > * { margin: 0 0 6px !important; }
.li-copy h3 { font-size: 19px; line-height: 1.3; }
.li-copy p { font-size: 15px; color: var(--sf-ink2); }
.li-copy .li-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sf-coq-text); margin-bottom: 4px !important; }
@media (max-width: 781px) { .li-article { flex-direction: column; gap: 12px; padding: 20px; } }

/* ---------- Home, reordered after the audit (Barrett, 2026-10-27) ---------- */
/* proof under the hero's buttons */
.hero-proof { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 26px !important; font-size: 14.5px; color: var(--sf-ink2); }
.hero-proof span + span { position: relative; }
.hero-proof span:not(.proof-stars) + span::before { content: ""; position: absolute; left: -12px; top: 50%; width: 4px; height: 4px; margin-top: -2px; border-radius: 50%; background: var(--sf-rule2); }
.hero-proof .proof-stars { color: #f5a400; letter-spacing: 2px; margin-right: -14px; }
.hero-proof strong { color: var(--sf-ink); }
/* on phones the hero keeps its main photo only */
@media (max-width: 781px) { .mosaic > :not(.m-main) { display: none !important; } .mosaic { grid-template-columns: 1fr !important; } }
/* what we make: a rendering, the place, its main products */
.places { gap: 24px !important; }
.place-card .card-img img { aspect-ratio: 16 / 10; }
.place-card h3 a::after { display: none; }
.place-links { list-style: none; padding: 0; margin: 4px 0 0 !important; display: grid; gap: 6px; }
.place-links a { color: var(--sf-ink2); text-decoration: none; font-size: 15px; }
.place-links a:hover { color: var(--sf-coq-text); text-decoration: underline; }
/* the monthly programs beside the ShortCut */
.programs-row { gap: 56px !important; }
.programs-copy > * { margin: 0 0 14px !important; }
.programs-copy h2 { margin-bottom: 18px !important; }
.shortcut-card { max-width: 420px; margin-left: auto; }
.shortcut-card .art-panel { aspect-ratio: 16 / 9; }
.shortcut-card h3 a::after { display: none; }
/* the Builders, on the dark band */
.section--dark .builders .card { background: rgba(255,255,255,.04); border-color: var(--sf-dark-rule); }
.section--dark .builders .card h3, .section--dark .builders .card h3 a { color: #fff; }
.section--dark .builders .card p { color: var(--sf-on-dark); }
.section--dark .builders .link-arrow { color: var(--sf-coral); }
.builders .card-img img { aspect-ratio: 16 / 9; }
/* who it's for, by store and by moment */
.who-label { margin: 8px 0 14px !important; font-size: 12px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sf-ink4); }
.who-label ~ .who-label { margin-top: 32px !important; }
.who-more { margin-top: 28px !important; font-size: 15px; color: var(--sf-ink2); }
@media (max-width: 781px) {
	.programs-row { gap: 32px !important; } .shortcut-card { max-width: none; margin: 0; }
	.places { grid-template-columns: 1fr !important; }
	.hero-proof { flex-direction: column; align-items: flex-start; gap: 6px; }
	.hero-proof span:not(.proof-stars) + span::before { display: none; }
	.hero-proof .proof-stars { margin-right: 0; }
}

