/* Signing Agent Handbook: callouts and tables. Class prefix: sah- only. */

/* Ruled-margin callout, like a notary journal page:
   pale plum ground, brass rule down the left, plum label. */
.is-style-sah-callout,
.sah-callout {
	background: var(--wp--preset--color--accent-3);
	border-left: 4px solid var(--wp--preset--color--accent-2);
	border-radius: 0 4px 4px 0;
	padding: 1.1rem 1.35rem;
	margin-block: 1.75rem;
	color: var(--wp--preset--color--contrast);
}
.wp-block-quote.is-style-sah-callout {
	font-style: normal;
	font-size: inherit;
	font-family: inherit;
}
.is-style-sah-callout > :first-child,
.sah-callout > :first-child { margin-top: 0; }
.is-style-sah-callout > :last-child,
.sah-callout > :last-child { margin-bottom: 0; }

/* Callout label ("The quick answer", "Key facts", "Common slip-ups" ...). */
.sah-callout__label,
.is-style-sah-callout > p:first-child > strong:first-child {
	display: block;
	font-family: var(--wp--preset--font-family--literata);
	font-weight: 650;
	color: var(--wp--preset--color--accent-1);
	letter-spacing: 0.01em;
	margin-bottom: 0.35rem;
}

/* "Required by law vs. Expected by companies" table. */
.is-style-sah-law-vs-practice table,
.sah-law-vs-practice {
	border-collapse: collapse;
	width: 100%;
	font-size: 0.95em;
}
.is-style-sah-law-vs-practice th,
.is-style-sah-law-vs-practice td {
	border: 1px solid var(--wp--preset--color--accent-5);
	padding: 0.6rem 0.75rem;
	vertical-align: top;
	text-align: left;
}
.is-style-sah-law-vs-practice thead th {
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--literata);
	font-weight: 600;
}
.is-style-sah-law-vs-practice tbody tr:nth-child(even) td {
	background: var(--wp--preset--color--accent-3);
}

/* Disclosure line near affiliate links. */
.sah-disclosure {
	font-size: 0.9em;
	color: var(--wp--preset--color--accent-4);
	border-top: 1px solid var(--wp--preset--color--accent-5);
	padding-top: 0.5rem;
}

/* Source / "checked on" notes. */
.sah-checked {
	font-size: 0.875em;
	color: var(--wp--preset--color--accent-4);
}

/* Visible keyboard focus. */
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-2);
	outline-offset: 2px;
}

/* =====================================================================
   1.1.0 "Toolbox" layout. Structure from the Oct 23 mockups, identity
   is SAH's own: journal-page hero, file-folder topics, notary stamp.
   Hub colours: --hc (strong) and --tc (tint).
   ===================================================================== */
:root {
	--sah-plum: var(--wp--preset--color--accent-1);
	--sah-brass: var(--wp--preset--color--accent-2);
	--sah-pale: var(--wp--preset--color--accent-3);
	--sah-muted: var(--wp--preset--color--accent-4);
	--sah-rule: var(--wp--preset--color--accent-5);
	--sah-ink: var(--wp--preset--color--contrast);
	--sah-base: var(--wp--preset--color--base);
	--sah-night: var(--wp--preset--color--night);
	--sah-parch2: var(--wp--preset--color--parch-2);
	--sah-serif: var(--wp--preset--font-family--literata);
	--sah-shadow: 0 1px 0 var(--sah-rule), 0 10px 24px -16px rgb(31 27 36 / .45);
	--hc: var(--wp--preset--color--hub-start);
	--tc: var(--wp--preset--color--tint-start);
}
.sah-hub-start, .category-getting-started { --hc: var(--wp--preset--color--hub-start); --tc: var(--wp--preset--color--tint-start); }
.sah-hub-state, .category-state-requirements { --hc: var(--wp--preset--color--hub-state); --tc: var(--wp--preset--color--tint-state); }
.sah-hub-equip, .category-equipment-eo { --hc: var(--wp--preset--color--hub-equip); --tc: var(--wp--preset--color--tint-equip); }
.sah-hub-find, .category-finding-signings { --hc: var(--wp--preset--color--hub-find); --tc: var(--wp--preset--color--tint-find); }
.sah-hub-train, .category-training-courses { --hc: var(--wp--preset--color--hub-train); --tc: var(--wp--preset--color--tint-train); }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important;
	width: 1px; word-wrap: normal !important;
}
/* Literata for dates and numbers. */
.wp-block-post-date, .sah-date, .sah-stamp, .sah-n, .is-style-sah-path li::before, .sah-toc li::before { font-variant-numeric: lining-nums; }
.wp-block-post-date, .sah-date { font-family: var(--sah-serif); }

/* ---------- flag label: the "sign here" tab ---------- */
.is-style-sah-flag, .sah-gflag a {
	display: inline-block; font: 700 .78rem/1 var(--wp--preset--font-family--atkinson-hyperlegible);
	letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--sah-plum);
	padding: 7px 22px 7px 12px; margin: 0;
	clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%);
}
.is-style-sah-flag.sah-flag--ox { background: var(--wp--preset--color--hub-train); }
.is-style-sah-eyebrow { font: 700 .85rem/1 var(--wp--preset--font-family--atkinson-hyperlegible); color: var(--sah-brass); letter-spacing: .06em; text-transform: uppercase; }
.is-style-sah-label { font: 700 .8rem/1.2 var(--wp--preset--font-family--atkinson-hyperlegible); letter-spacing: .1em; text-transform: uppercase; color: var(--sah-brass); margin-bottom: 8px; }
.is-style-sah-dek, .sah-dek, .sah-lead { font-size: 1.2rem; max-width: 36em; color: #2E2834; }

/* ---------- buttons ---------- */
.wp-block-button .wp-block-button__link { border-radius: 3px; font-weight: 700; }
.sah-btn-plum .wp-block-button__link { background: var(--sah-plum); color: var(--sah-base); }
.sah-btn-plum .wp-block-button__link:hover { background: #5E2752; color: var(--sah-base); }
.sah-btn-brass .wp-block-button__link { background: var(--sah-brass); color: #fff; }
.sah-btn-brass .wp-block-button__link:hover { background: #654310; color: #fff; }
.sah-btn-line .wp-block-button__link { border: 2px solid var(--sah-plum); color: var(--sah-plum); background: transparent; }
.sah-btn-line .wp-block-button__link:hover { background: var(--sah-pale); }
.sah-btn-light .wp-block-button__link { background: var(--sah-base); color: var(--sah-plum); }

/* ---------- header ---------- */
header.wp-block-template-part { position: sticky; top: 0; z-index: 20; }
.admin-bar header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
.sah-header { background: var(--sah-plum); color: var(--sah-base); border-bottom: 3px solid var(--sah-brass); }
.sah-header__bar { min-height: 68px; gap: 22px; }
.sah-brand { margin: 0; font: 650 1.22rem/1.1 var(--sah-serif); white-space: nowrap; }
.sah-brand a { color: var(--sah-base); text-decoration: none; display: inline-flex; align-items: center; gap: 10px; }
.sah-brand a::before { content: ""; width: 34px; height: 34px; flex: none; background: url(../img/seal.svg) center / contain no-repeat; }
.sah-brand a:hover { color: var(--sah-base); }
.sah-nav { margin-left: auto; font-size: .92rem; gap: 18px; }
.sah-nav .wp-block-navigation-item__content { color: var(--sah-base); text-decoration: none; }
.sah-nav .wp-block-navigation-item__content:hover { text-decoration: underline; }
.sah-nav .current-menu-item > a, .sah-nav [aria-current] { text-decoration: underline; text-decoration-color: #E8C98A; text-decoration-thickness: 2px; text-underline-offset: .35em; }
.sah-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--sah-plum); color: var(--sah-base); }
.sah-nav .wp-block-navigation__responsive-container-open, .sah-nav .wp-block-navigation__responsive-container-close { color: var(--sah-base); }
.sah-hdr-btn .wp-block-button__link { padding: 10px 14px; font-size: .92rem; white-space: nowrap; }

/* ---------- hero: journal page ---------- */
.sah-hero {
	background:
		linear-gradient(90deg, transparent 0 46px, rgb(74 29 63 / .28) 46px 48px, transparent 48px 52px, rgb(74 29 63 / .28) 52px 54px, transparent 54px),
		repeating-linear-gradient(180deg, transparent 0 33px, var(--sah-rule) 33px 34px), var(--sah-base);
	padding-top: 56px; padding-bottom: 64px; border-bottom: 1px solid var(--sah-rule);
	margin-block-start: 0;
}
.sah-hero__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: start; padding-left: 56px; }
.sah-hero__grid > * { margin-block-start: 0 !important; }
.sah-hero__h { color: var(--sah-ink); margin-top: 18px; margin-bottom: .4em; }
.sign { position: relative; color: var(--sah-plum); white-space: nowrap; }
.sign::after { content: ""; position: absolute; left: -2px; right: -4px; bottom: .02em; height: 3px; background: var(--sah-brass); }
.sign::before { content: "\00D7"; position: absolute; left: -.55em; bottom: .08em; font: 700 .42em/1 sans-serif; color: var(--sah-brass); }
.sah-hero__copy .wp-block-buttons { margin-top: 24px; }

/* ---------- problem picker ---------- */
.is-style-sah-picker { background: #fff; border: 1px solid var(--sah-rule); border-top: 6px solid var(--sah-plum); box-shadow: var(--sah-shadow); padding: 0 0 10px; position: relative; }
.is-style-sah-picker > * { margin-block-start: 0; }
.is-style-sah-picker > .is-style-sah-flag { position: absolute; top: -6px; left: -10px; transform: translateY(-55%); }
.is-style-sah-picker .sah-picker__h { font-size: 1.45rem; margin: 26px 22px 4px; color: var(--sah-ink); }
.is-style-sah-picker .sah-hint { margin: 0 22px 10px; color: var(--sah-muted); font-size: .95rem; }
.is-style-sah-picks { list-style: none; margin: 0; padding: 0; }
.is-style-sah-picks li { border-top: 1px solid var(--sah-rule); margin: 0; }
.is-style-sah-picks li a { display: grid; grid-template-columns: 30px 1fr auto; gap: 10px; align-items: center; padding: 12px 22px; min-height: 56px; text-decoration: none; color: var(--sah-ink); }
.is-style-sah-picks li a::before { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--hc); color: #fff; font: 700 14px/1 var(--sah-serif); }
.is-style-sah-picks li a::after { content: "\2192"; font-weight: 700; color: var(--sah-plum); }
.is-style-sah-picks li a:hover { background: var(--sah-pale); }
.is-style-sah-picks strong { display: block; line-height: 1.3; }
.is-style-sah-picks em { display: block; font-style: normal; color: var(--sah-muted); font-size: .88rem; line-height: 1.35; }
.sah-ic-start { --hc: var(--wp--preset--color--hub-start); } .sah-ic-state { --hc: var(--wp--preset--color--hub-state); }
.sah-ic-equip { --hc: var(--wp--preset--color--hub-equip); } .sah-ic-find { --hc: var(--wp--preset--color--hub-find); }
.sah-ic-train { --hc: var(--wp--preset--color--hub-train); }
.sah-ic-start a::before { content: "1"; } .sah-ic-state a::before { content: "TX"; } .sah-ic-train a::before { content: "\00A7"; }
.sah-ic-equip a::before { content: "E"; } .sah-ic-find a::before { content: "$"; }
.sah-ic-train a[href*="scam-alert"]::before { content: "!"; }
.sah-ic-start a[href*="how-long"]::before { content: "\23F1"; }
.is-style-sah-picker .sah-more { margin: 0; padding: 12px 22px 6px; font-weight: 700; font-size: .95rem; }

/* ---------- sections ---------- */
.sah-sec { padding-top: 64px; padding-bottom: 64px; margin-block-start: 0 !important; }
.sah-sec-alt { background: var(--sah-parch2); border-block: 1px solid var(--sah-rule); }
.sah-sec-trust { padding-top: 0; }
.sah-sec-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 26px; flex-wrap: wrap; }
.sah-sec-head > * { margin: 0 !important; }
.sah-sec-head p { color: var(--sah-muted); max-width: 32em; }

/* ---------- topic folders ---------- */
.sah-topics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 46px 22px; padding-top: 18px; }
.sah-topics > * { margin-block-start: 0 !important; }
.is-style-sah-folder { position: relative; background: #fff; border: 1px solid var(--sah-rule); border-left: 7px solid var(--hc); box-shadow: var(--sah-shadow); padding: 22px 22px 18px; display: flex; flex-direction: column; }
.is-style-sah-folder > * { margin-block-start: 0; }
.sah-tab { position: absolute; top: -27px; left: -7px; margin: 0; background: var(--hc); color: #fff; font: 700 .74rem/1 var(--wp--preset--font-family--atkinson-hyperlegible); letter-spacing: .08em; text-transform: uppercase; padding: 8px 14px 9px; border-radius: 4px 10px 0 0; }
.is-style-sah-folder h3 { margin: 0 0 .3em; color: var(--sah-ink); }
.sah-folder__blurb { font-size: .98rem; color: #3A3440; margin-bottom: .8em; }
.sah-folder__q { margin-bottom: 14px; }
.sah-folder__list { margin: 0; padding: 0; list-style: none; font-size: .95rem; }
.sah-folder__list li { padding: 6px 0; border-top: 1px dashed var(--sah-rule); margin: 0; }
.sah-folder__link { margin: 0; font: inherit; }
.sah-folder__link a { color: var(--sah-ink); text-decoration-color: var(--hc); }
.sah-empty { color: var(--sah-muted); font-size: .92rem; font-style: italic; }
.sah-all { margin-top: auto; margin-bottom: 0; font-size: .95rem; }
.sah-all a { font-weight: 700; color: var(--hc); text-decoration: none; }
.sah-all a:hover { text-decoration: underline; }
.is-style-sah-checker { position: relative; background: var(--sah-plum); color: var(--sah-base); border-left: 7px solid var(--sah-brass); box-shadow: var(--sah-shadow); padding: 22px 22px 18px; display: flex; flex-direction: column; --hc: var(--sah-brass); }
.is-style-sah-checker > * { margin-block-start: 0; }
.is-style-sah-checker h3, .is-style-sah-checker p { color: var(--sah-base); }
.is-style-sah-checker .wp-block-buttons { margin-top: auto; }

/* ---------- dated notice ---------- */
.is-style-sah-notice { background: var(--sah-base); border: 4px double var(--sah-plum); padding: 34px 36px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; position: relative; }
.is-style-sah-notice > * { margin-block-start: 0 !important; }
.sah-stamp { position: absolute; top: -48px; right: -26px; width: 112px; height: 112px; margin: 0; border-radius: 50%; border: 3px solid var(--wp--preset--color--hub-train); color: var(--wp--preset--color--hub-train); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; transform: rotate(-9deg); background: rgb(250 246 238 / .92); font-family: var(--sah-serif); line-height: 1; box-shadow: inset 0 0 0 5px var(--sah-base), inset 0 0 0 6.5px var(--wp--preset--color--hub-train); }
.sah-stamp b { font-size: .8rem; letter-spacing: .14em; }
.sah-stamp span { font-size: 2.1rem; font-weight: 700; }
.sah-stamp i { font-style: normal; font-size: .8rem; letter-spacing: .1em; }
.sah-notice__main h2 { margin-top: 14px; }
.sah-src { font-size: .88rem; color: var(--sah-muted); border-top: 1px solid var(--sah-rule); padding-top: 10px; margin-top: 16px; }
.is-style-sah-check { list-style: none; margin: 0; padding: 0; }
.is-style-sah-check li { border: 1px solid var(--sah-rule); background: #fff; margin: 0 0 10px; display: grid; grid-template-columns: 28px 1fr; gap: 12px; align-items: center; padding: 13px 14px; }
.is-style-sah-check li::before { content: ""; width: 22px; height: 22px; border: 2px solid var(--sah-plum); border-radius: 2px; }
.is-style-sah-check li:has(> a) { padding: 0; grid-template-columns: 1fr; }
.is-style-sah-check li:has(> a)::before { display: none; }
.is-style-sah-check li > a { display: grid; grid-template-columns: 28px 1fr auto; gap: 12px; align-items: center; padding: 13px 14px; text-decoration: none; color: var(--sah-ink); }
.is-style-sah-check li > a::before { content: ""; width: 22px; height: 22px; border: 2px solid var(--sah-plum); border-radius: 2px; }
.is-style-sah-check li > a::after { content: "\2192"; font-weight: 700; color: var(--sah-plum); }
.is-style-sah-check li > a:hover { background: var(--sah-pale); }
.is-style-sah-check strong { display: block; line-height: 1.3; }
.is-style-sah-check small { color: var(--sah-muted); font-size: .88rem; display: block; line-height: 1.35; }

/* ---------- guide cards ---------- */
.is-style-sah-cards { gap: 24px; }
.is-style-sah-cards > li { margin: 0; display: flex; }
.sah-card { background: #fff; border: 1px solid var(--sah-rule); box-shadow: var(--sah-shadow); display: flex; flex-direction: column; width: 100%; }
.sah-card > * { margin-block-start: 0; }
.sah-card__img { margin: 0; border-bottom: 4px solid var(--hc); background: var(--sah-base); }
.sah-card__img img { display: block; width: 100%; }
.sah-card__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.sah-card__body > * { margin: 0 !important; }
.sah-card__title { font-size: 1.12rem; }
.sah-card__title a { color: var(--sah-ink); text-decoration: none; }
.sah-card__title a:hover { text-decoration: underline; }
.sah-chip { font-size: 0; }
.sah-chip a { display: inline-block; font: 700 .75rem/1 var(--wp--preset--font-family--atkinson-hyperlegible); letter-spacing: .06em; text-transform: uppercase; color: var(--hc); border: 1.5px solid var(--hc); padding: 5px 8px; border-radius: 2px; background: #fff; text-decoration: none; margin-right: 6px; }
.sah-chip .wp-block-post-terms__separator { display: none; }
.sah-meta { font-size: .88rem; color: var(--sah-muted); margin-top: auto !important; gap: 0 !important; }
.sah-meta > * { margin: 0; }
.sah-meta .sah-rt::before { content: "\00B7"; margin: 0 .4em; }

/* ---------- trust strip ---------- */
.sah-trust { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 3px solid var(--sah-plum); border-bottom: 1px solid var(--sah-rule); }
.sah-trust > * { margin: 0 !important; padding: 24px 24px 20px; border-right: 1px solid var(--sah-rule); }
.sah-trust > *:last-child { border-right: 0; }
.sah-trust h3 { font-size: 1.15rem; color: var(--sah-ink); margin: 0 0 .4em; }
.sah-trust p { font-size: .98rem; color: #3A3440; margin: 0; }
.sah-trust .sah-n { font: 700 .8rem var(--wp--preset--font-family--atkinson-hyperlegible); color: var(--sah-brass); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 6px; }
.sah-trust-links { font-weight: 700; margin-top: 18px; }
.sah-trust-links a { margin-right: 22px; }

/* ---------- footer ---------- */
footer.wp-block-template-part { margin-block-start: 0; }
.sah-footer { background: var(--sah-night); color: #E9E3EC; padding-top: 44px; padding-bottom: 30px; font-size: .95rem; }
.sah-footer a { color: #F1E6EE; }
.sah-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 30px; }
.sah-footer__grid > * { margin: 0 !important; }
.sah-footer__brand { font: 650 1.2rem var(--sah-serif); }
.sah-footer__brand a { color: #fff; text-decoration: none; display: inline-flex; gap: 10px; align-items: center; }
.sah-footer__brand a::before { content: ""; width: 34px; height: 34px; background: url(../img/seal.svg) center / contain no-repeat; }
.is-style-sah-plain, .sah-footer__links { list-style: none; padding: 0; }
.sah-footer__links { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; align-content: start; }
.sah-footer__links li { margin: 0; }
.sah-footer__fine { grid-column: 1 / -1; border-top: 1px solid #3A3240; padding-top: 16px; color: #C8BFCC; font-size: .86rem; }

/* ---------- guide ---------- */
main.sah-guide, main.sah-home, main.sah-page, main.sah-archive-page, main.sah-index-page { margin-block-start: 0; }
.sah-ghead { background: repeating-linear-gradient(180deg, transparent 0 33px, var(--sah-rule) 33px 34px), var(--sah-pale); border-bottom: 1px solid var(--sah-rule); padding-top: 30px; padding-bottom: 34px; margin-block-start: 0; }
.sah-ghead__in > * { margin-block-start: 12px; }
.sah-ghead__in > :first-child { margin-block-start: 0; }
.sah-crumbs { font-size: .9rem; color: var(--sah-muted); gap: .4em !important; }
.sah-crumbs > * { margin: 0; }
.sah-crumbs a { color: var(--sah-muted); }
.sah-crumbs .wp-block-post-terms__separator { display: none; }
.sah-gflag { font-size: 0; }
.sah-gflag a { background: var(--hc); text-decoration: none; margin-right: 6px; }
.sah-gflag .wp-block-post-terms__separator { display: none; }
.sah-guide__h { max-width: 20em; color: var(--sah-ink); font-size: clamp(1.9rem, 1.3rem + 2vw, 2.8rem); }
.sah-byline { gap: 8px !important; margin-top: 16px !important; font-size: .92rem; }
.sah-byline > * { margin: 0 !important; }
.sah-chiprow { background: #fff; border: 1px solid var(--sah-rule); padding: 6px 10px; border-radius: 2px; font-size: .92rem; }
.sah-published::before { content: "Published "; font-family: var(--wp--preset--font-family--atkinson-hyperlegible); }
.sah-factdate { font-family: var(--sah-serif); }
.sah-glayout { display: grid; grid-template-columns: 250px minmax(0, 680px); gap: 56px; justify-content: center; padding-top: 36px; padding-bottom: 20px; }
.sah-glayout > * { margin-block-start: 0 !important; }
.sah-rail { position: sticky; top: 96px; align-self: start; display: flex; flex-direction: column; gap: 18px; }
.sah-rail > * { margin: 0; }
.sah-toc { border-left: 3px double var(--sah-plum); padding: 2px 0 2px 16px; }
.sah-toc__h { font: 700 .8rem/1 var(--wp--preset--font-family--atkinson-hyperlegible); letter-spacing: .1em; text-transform: uppercase; color: var(--sah-brass); margin: 0 0 10px; }
.sah-toc ol { list-style: none; margin: 0; padding: 0; font-size: .92rem; counter-reset: t; }
.sah-toc li { padding: 5px 0; counter-increment: t; display: grid; grid-template-columns: 22px 1fr; margin: 0; }
.sah-toc li::before { content: counter(t); font: 600 .85rem var(--sah-serif); color: var(--sah-muted); }
.sah-toc a { color: var(--sah-ink); text-decoration: none; line-height: 1.35; }
.sah-toc a:hover { color: var(--sah-plum); text-decoration: underline; }
.sah-railcard { background: var(--sah-plum); color: var(--sah-base); padding: 16px 16px 18px; font-size: .92rem; }
.sah-railcard > * { margin: 0 0 .5em; }
.sah-railcard h3 { color: var(--sah-base); font-size: 1.05rem; }
.sah-railcard a { color: #fff; font-weight: 700; }
.sah-mtoc { display: none; }
.sah-guide__main > * { margin-block-start: 0; }
.sah-figure { margin: 0; border: 1px solid var(--sah-rule); border-bottom: 0; background: var(--sah-base); }
.sah-figure img { display: block; width: 100%; height: auto; }
.sah-figcap { font-size: .84rem; color: var(--sah-muted); padding: 8px 12px; border: 1px solid var(--sah-rule); background: #fff; margin: 0 0 26px; }
.sah-prose h2 { margin-top: 1.8em; scroll-margin-top: 110px; }
.sah-prose h3 { scroll-margin-top: 110px; }
.is-style-sah-step { display: grid; grid-template-columns: 48px 1fr; gap: 14px; align-items: center; }
.is-style-sah-step .sah-n { width: 46px; height: 46px; border-radius: 50%; background: var(--sah-plum); color: #fff; display: grid; place-items: center; font: 700 1.25rem var(--sah-serif); box-shadow: inset 0 0 0 3px var(--sah-plum), inset 0 0 0 5px #fff; }
.is-style-sah-step .screen-reader-text + * , .is-style-sah-step { }
.sah-prose a, .is-style-sah-answer a, .sah-sources a { overflow-wrap: anywhere; }
.is-style-sah-answer { position: relative; background: var(--sah-pale); border-left: 5px solid var(--sah-brass); padding: 30px 24px 18px; margin: 8px 0 14px; }
.is-style-sah-answer > .is-style-sah-flag { position: absolute; top: -12px; left: -5px; }
.is-style-sah-answer > p:last-child { margin: 0; }
.is-style-sah-disclose { border: 1.5px dashed var(--sah-muted); padding: 10px 14px; font-size: .92rem; color: #3A3440; margin: 0 0 26px !important; }
.sah-keyfacts { margin-top: 26px; }
.is-style-sah-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 28px; padding: 0; list-style: none; }
.is-style-sah-facts li { background: #fff; border: 1px solid var(--sah-rule); border-top: 4px solid var(--hc); padding: 12px 14px; font-size: .96rem; margin: 0; }
.is-style-sah-facts li strong { display: block; font-family: var(--sah-serif); color: var(--sah-plum); margin-bottom: 2px; }
.sah-prose .wp-block-table { overflow-x: auto; }
.sah-prose .wp-block-table table { border-collapse: collapse; width: 100%; font-size: .95rem; background: #fff; }
.sah-prose .wp-block-table th, .sah-prose .wp-block-table td { border: 1px solid var(--sah-rule); padding: .6rem .75rem; vertical-align: top; text-align: left; }
.sah-prose .wp-block-table thead { border-bottom: 0; }
.sah-prose .wp-block-table thead th { background: var(--sah-plum); color: var(--sah-base); font-family: var(--sah-serif); font-weight: 600; }
.sah-prose .wp-block-table tbody tr:nth-child(even) td { background: var(--sah-pale); }
.sah-prose .wp-block-table tbody td:first-child { font-weight: 700; }
.is-style-sah-slipups { position: relative; border: 1px solid var(--sah-rule); border-left: 5px solid var(--wp--preset--color--hub-train); background: #fff; padding: 30px 22px 14px; margin: 30px 0; }
.is-style-sah-slipups > .is-style-sah-flag { position: absolute; top: -12px; left: -5px; }
.is-style-sah-slipups ul { margin: 0; padding-left: 1.2em; }
.is-style-sah-faq { border: 1px solid var(--sah-rule); background: #fff; margin: 0 0 10px !important; }
.is-style-sah-faq summary { cursor: pointer; padding: 14px 16px; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.is-style-sah-faq summary::-webkit-details-marker { display: none; }
.is-style-sah-faq summary::after { content: "+"; font: 700 1.3rem/1 var(--sah-serif); color: var(--sah-plum); }
.is-style-sah-faq[open] summary::after { content: "\2212"; }
.is-style-sah-faq > :not(summary) { padding: 0 16px; margin: 0 0 14px; }
.is-style-sah-next { background: var(--sah-plum); color: var(--sah-base); padding: 22px 24px; margin: 30px 0; }
.is-style-sah-next p { margin: 0; }
.is-style-sah-next strong { color: #fff; }
.is-style-sah-next a { color: #fff; }
.is-style-sah-checked { font-size: .95rem; background: var(--sah-parch2); border: 1px solid var(--sah-rule); padding: 14px 16px; margin-top: 2em; }
.is-style-sah-checked h2 { margin-top: 0; font-size: 1.25rem; }
.sah-sources { font-size: .88rem; color: #3A3440; }
.sah-sources li { margin-bottom: .35em; }
.sah-fine { font-size: .88rem; color: var(--sah-muted); font-style: italic; }
.sah-sec-related { border-top: 1px solid var(--sah-rule); }

/* ---------- start here / state rules ---------- */
.sah-page-content > * + * { margin-block-start: 1.4rem; }
.sah-page-content > h2 { margin-top: 2.4rem; }
.sah-paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 46px 22px; padding-top: 30px; }
.sah-paths > * { margin-block-start: 0 !important; }
.is-style-sah-path { list-style: none; margin: 6px 0 0; padding: 0; counter-reset: p; }
.is-style-sah-path li { counter-increment: p; display: grid; grid-template-columns: 34px 1fr; gap: 0 8px; padding: 9px 0; border-top: 1px dashed var(--sah-rule); font-size: .97rem; line-height: 1.4; margin: 0; }
.is-style-sah-path li::before { content: counter(p); grid-row: span 2; width: 26px; height: 26px; border-radius: 50%; background: var(--tc); border: 1.5px solid var(--hc); color: var(--hc); display: grid; place-items: center; font: 700 .85rem var(--sah-serif); }
.is-style-sah-path li a { color: var(--sah-ink); font-weight: 700; text-decoration-color: var(--hc); }
.is-style-sah-path li small { display: block; color: var(--sah-muted); font-size: .86rem; }
.sah-lvp { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--sah-rule); background: #fff; }
.sah-lvp > * { margin: 0 !important; padding: 20px 22px; }
.sah-lvp > :first-child { border-right: 1px solid var(--sah-rule); background: var(--sah-pale); }
.sah-lvp h3 { font-size: 1.1rem; }
.sah-lvp ul { margin: 0; padding-left: 1.2em; }
.sah-checker-row .is-style-sah-checker { max-width: 560px; margin-top: 46px; }
.sah-checker-row .sah-tab { background: var(--sah-brass); }
.is-style-sah-isnt { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 28px; list-style: none; padding: 0; margin: 0; }
.is-style-sah-isnt li { padding: 12px 0 12px 34px; border-top: 1px solid var(--sah-rule); position: relative; margin: 0; }
.is-style-sah-isnt li::before { content: ""; position: absolute; left: 0; top: 16px; width: 20px; height: 20px; border: 2px solid var(--sah-plum); border-radius: 50%; background: radial-gradient(circle, var(--sah-plum) 0 4px, transparent 5px); }
.is-style-sah-panel { background: #fff; border: 1px solid var(--sah-rule); padding: 18px 22px; }
.is-style-sah-panel > * { margin: 0 0 .5em; }

/* ---------- tablets: collapse the nav into the menu button ---------- */
@media (max-width: 860px) {
	.wp-block-buttons > .wp-block-button.sah-hdr-btn, .sah-header .sah-hdr-btn { display: none; }
	.sah-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.sah-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.sah-header__bar { min-height: 58px; }
	.sah-brand { font-size: 1.05rem; }
	.sah-hero { padding-top: 34px; padding-bottom: 40px; background: repeating-linear-gradient(180deg, transparent 0 33px, var(--sah-rule) 33px 34px), var(--sah-base); }
	.sah-hero__grid { grid-template-columns: 1fr; gap: 44px; padding-left: 0; }
	.sah-hero__copy .wp-block-button { flex: 1; }
	.sah-hero__copy .wp-block-button__link { width: 100%; }
	.sah-sec { padding-top: 44px; padding-bottom: 44px; }
	.sah-topics, .sah-paths { grid-template-columns: 1fr; gap: 44px; }
	.sah-topics .sah-folder__q { display: none; }
	.is-style-sah-notice { grid-template-columns: 1fr; padding: 26px 18px 20px; gap: 18px; }
	.sah-stamp { width: 86px; height: 86px; top: -34px; right: -6px; }
	.sah-stamp span { font-size: 1.6rem; }
	.sah-notice__main h2 { margin-top: 30px; }
	.is-style-sah-cards.is-layout-grid { grid-template-columns: 1fr !important; gap: 14px; }
	.sah-card { flex-direction: row; }
	.sah-card__img { flex: 0 0 116px; border-bottom: 0; border-right: 4px solid var(--hc); }
	.sah-card__img a, .sah-card__img img { height: 100%; }
	.sah-card__body { padding: 12px 14px; }
	.sah-card__title { font-size: 1rem; }
	.sah-trust { grid-template-columns: 1fr; }
	.sah-trust > * { border-right: 0; border-bottom: 1px solid var(--sah-rule); padding: 18px 4px; }
	.sah-footer__grid { grid-template-columns: 1fr; }
	.sah-glayout { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 22px; }
	.sah-rail { display: none; }
	.sah-mtoc { display: block; border: 1px solid var(--sah-rule); border-left: 4px solid var(--sah-plum); background: #fff; margin: 0 0 20px; }
	.sah-mtoc summary { padding: 12px 14px; font-weight: 700; cursor: pointer; }
	.sah-mtoc ol { margin: 0; padding: 0 14px 12px 34px; font-size: .95rem; }
	.sah-mtoc li { padding: 4px 0; }
	.is-style-sah-facts { grid-template-columns: 1fr; }
	.sah-lvp { grid-template-columns: 1fr; }
	.sah-lvp > :first-child { border-right: 0; border-bottom: 1px solid var(--sah-rule); }
	.is-style-sah-isnt { grid-template-columns: 1fr; }
	.is-style-sah-step { grid-template-columns: 40px 1fr; }
	.is-style-sah-step .sah-n { width: 38px; height: 38px; font-size: 1.05rem; }
}

/* Row layout: icon | title + subline | arrow. */
.is-style-sah-picks li a > strong, .is-style-sah-picks li a > em,
.is-style-sah-check li > strong, .is-style-sah-check li > small,
.is-style-sah-check li > a > strong, .is-style-sah-check li > a > small { grid-column: 2; }
.is-style-sah-picks li a::before, .is-style-sah-check li::before, .is-style-sah-check li > a::before { grid-column: 1; grid-row: 1 / span 2; }
.is-style-sah-picks li a::after, .is-style-sah-check li > a::after { grid-column: 3; grid-row: 1 / span 2; }
.is-style-sah-picks li a, .is-style-sah-check li, .is-style-sah-check li > a { row-gap: 2px; }
.is-style-sah-check li:has(> a) { display: block; }

/* The six nav links need ~1160px; below that use the menu button. */
.sah-nav .wp-block-navigation-item__content { white-space: nowrap; }
@media (max-width: 1160px) {
	.sah-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.sah-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* Open mobile menu: plum panel, big left-aligned links. */
.sah-nav .wp-block-navigation__responsive-container.is-menu-open { background-color: var(--sah-plum) !important; color: var(--sah-base) !important; padding: 24px 28px; }
.sah-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; padding-top: 40px; }
.sah-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: 4px !important; width: 100%; }
.sah-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid rgb(250 246 238 / .2); }
.sah-nav .is-menu-open .wp-block-navigation-item__content { color: var(--sah-base) !important; font-size: 1.15rem; padding: 12px 0 !important; display: block; }
