/*
 * Hydraulic Cylinder Repair Denver — main stylesheet.
 *
 * Every color is a :root token; no box-shadow; every transition lives inside
 * prefers-reduced-motion:no-preference; magenta fills only on the .btn--primary
 * family, magenta text only in the footer column heads.
 */
/* 1. Font faces */
@font-face{
	font-family:'HCR Lettering';
	src:url('../fonts/hcr-lettering.woff2') format('woff2');
	font-weight:400;font-style:normal;font-display:swap;
	unicode-range:U+0020-007E,U+00A0-00FF,U+2013-2014,U+2018-2019,U+201C-201D,U+2022,U+2032-2033,U+2044,U+2190-2193,U+2212,U+2300;
}
/* metric-matched swap face: mixed-case lettering is 5.0% wider in Lucida */
@font-face{
	font-family:'HCR Lettering Fallback';
	src:local('Lucida Grande'),local('LucidaGrande'),local('Lucida Sans Unicode'),local('LucidaSansUnicode');
	size-adjust:95.3%;ascent-override:130.9%;descent-override:38.9%;line-gap-override:0%;
}
/* 2. Tokens */
:root{
	/* brand: the Customizer re-emits primary / accent / text (+ hover and accent states only when changed) */
	--color-primary:#2F3236;
	--color-primary-rgb:47,50,54;
	--color-primary-hover:#1B1E21;
	--color-accent:#F768EE;
	--color-accent-hover:#E95AE0;
	--color-accent-active:#D851D0;
	--color-accent-ink:#1B1E21;
	--color-accent-tint:#FFE8FC;
	--color-accent-tint-2:#FBD5F6;
	--color-text:#1B1E21;
	/* neutral surfaces: sage vellum family (OKLCH h 132) */
	--color-page:#F0F3EE;
	--color-paper:#FFFFFF;
	--color-white:#FFFFFF;
	--color-surface:#F0F3EE;
	--color-surface-2:#E6EAE4;
	--color-rule:#C3C8C1;
	--color-field:#6B7076;
	--color-muted:#4E545A;
	--color-subtle:#5F656B;
	/* dark family (footer only) */
	--color-dark:#2F3236;
	--color-dark-2:#1B1E21;
	--color-on-dark:#EEF0EC;
	--color-on-dark-muted:#B8BDBA;
	--color-dark-border:#6A7076;
	/* semantic: never magenta */
	--color-success:#1D6B43;
	--color-success-bg:#E4EFE6;
	--color-error:#A3241C;
	--color-error-bg:#FFFFFF;
	--color-focus:#1B1E21;
	--color-focus-on-dark:#F768EE;
	/* drawing */
	--dwg-ink:var(--color-primary);
	--dwg-thin:var(--color-muted);
	--dwg-paper:var(--color-paper);
	--dwg-obj:1.6px;
	--dwg-obj-focus:2.8px;
	--dwg-thin-w:.9px;
	--dwg-hatch-alpha:.7;
	/* texture: section-hatch (1px / 7px, alpha <= 9% on light, <= 7% on dark, cut regions only) */
	--hatch-45:repeating-linear-gradient(45deg,rgba(var(--color-primary-rgb),.09) 0 1px,transparent 1px 7px);
	--hatch-135:repeating-linear-gradient(135deg,rgba(var(--color-primary-rgb),.09) 0 1px,transparent 1px 7px);
	--hatch-135-dark:repeating-linear-gradient(135deg,rgba(238,240,236,.07) 0 1px,transparent 1px 7px);
	--wall-h:14px;
	--request-h2:var(--text-xl);
	/* type */
	--font-display:'HCR Lettering','HCR Lettering Fallback','Lucida Grande','Lucida Sans Unicode','Lucida Sans','DejaVu Sans',system-ui,sans-serif;
	--font:'Lucida Grande','Lucida Sans Unicode','Lucida Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Ubuntu,Cantarell,sans-serif;
	--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	--text-xs:.75rem;
	--text-sm:.875rem;
	--text-md:.9375rem;
	--text-base:1.0625rem;
	--text-lg:1.1875rem;
	--text-xl:1.3125rem;
	--text-2xl:1.625rem;
	--text-3xl:2.125rem;
	--text-4xl:2.5rem;
	--text-5xl:3rem;
	--text-6xl:4.5rem;
	--fw-normal:400;
	--fw-bold:700;
	--lh-display:1.12;
	--lh-h2:1.22;
	--lh-h3:1.3;
	--lh-ui:1.35;
	--lh-body:1.62;
	--track-h1:.005em;
	--track-h2:.045em;
	--track-h3:.01em;
	--track-nav:.02em;
	--track-btn:.06em;
	--track-label:.1em;
	/* space: complete, gap-free */
	--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;
	--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;
	--space-20:5rem;--space-24:6rem;
	/* layout */
	--width-prose:42rem;
	--width-form:62rem;
	--width-wide:75rem;
	--width-max:82rem;
	--gutter:clamp(1rem,3.2vw,2.5rem);
	/* shape + lines */
	--radius-sm:0;--radius:0;--radius-full:999px;
	--line-hair:1px;--line-object:2px;--line-keyline:2px;--line-heavy:3px;
	--shadow-sm:none;--shadow-md:none;--shadow-lg:none;
	/* motion */
	--dur-fast:120ms;--dur:180ms;--ease:cubic-bezier(.2,.6,.2,1);--transition:var(--dur) var(--ease);
	/* stacking */
	--z-raised:10;--z-dropdown:200;--z-header:300;--z-sticky:400;--z-menu:500;--z-skip:1000;
	/* chrome sizes */
	--header-h:64px;--header-h-compact:56px;--sticky-h:66px;--tap:44px;--logo-width:180px;
	/* working-line rhythm */
	--flow-w:2px;--flow-dot:7px;--flow-x:-1.625rem;--flow-pad:1.875rem;--flow-gap:.3rem;--flow-join:var(--space-16);
	/* seal-groove cards */
	--groove-x:1.25rem;--groove-w:26px;--groove-d:13px;--oring:11px;--backup-w:3px;
}
@media (min-width:768px){:root{--flow-x:-2.25rem;--flow-pad:0px;--flow-gap:.4rem;--request-h2:var(--text-2xl)}}
@media (min-width:1120px){:root{--header-h:72px}}
/* 2b. Token aliases for plugin and legacy callers */
:root{
	--color-border:var(--color-rule);
}

/* 3. Base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--space-4))}
body{margin:0;background:var(--color-page);color:var(--color-text);font:var(--fw-normal) var(--text-base)/var(--lh-body) var(--font);
	font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,svg{max-width:100%}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:var(--fw-normal)}
h1,h2,h3{font-family:var(--font-display);font-synthesis:none}
p{margin:0}
strong,b{font-weight:var(--fw-bold)}
::selection{background:var(--color-accent-tint-2);color:var(--color-text)}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:var(--space-4);top:-100px;z-index:var(--z-skip);background:var(--color-paper);color:var(--color-text);
	padding:var(--space-3) var(--space-4);border:var(--line-keyline) solid var(--color-primary)}
.skip-link:focus{top:var(--space-4)}
.container{width:100%;max-width:calc(var(--width-max) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.site-main{display:block}
/* 4. Buttons */
.btn,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:.75rem 1.375rem;
	font:var(--fw-normal) var(--text-md)/1.25 var(--font-display);font-synthesis:none;letter-spacing:var(--track-btn);text-transform:uppercase;
	text-align:center;text-decoration:none;white-space:normal;border:var(--line-keyline) solid var(--color-primary);border-radius:var(--radius);cursor:pointer}
.btn--primary,.wp-block-button__link{background:var(--color-accent);color:var(--color-accent-ink)}
.btn--primary:hover,.wp-block-button__link:hover{background:var(--color-accent-hover)}
.btn--primary:active,.wp-block-button__link:active{background:var(--color-accent-active)}
.btn--secondary,.btn--ghost,.btn--on-light,.is-style-outline .wp-block-button__link{background:var(--color-paper);color:var(--color-text)}
.btn--secondary:hover,.btn--ghost:hover,.btn--on-light:hover,.is-style-outline .wp-block-button__link:hover{background:var(--color-primary);color:var(--color-paper)}
.btn--ink,.hcr-cta--checklist .wp-block-button__link{background:var(--color-primary);color:var(--color-paper)}
.btn--ink:hover,.hcr-cta--checklist .wp-block-button__link:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}
.btn--on-dark{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}
.btn--on-dark:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}
.btn--on-dark-secondary{background:transparent;color:var(--color-on-dark);border-color:var(--color-on-dark)}
.btn--on-dark-secondary:hover{background:var(--color-on-dark);color:var(--color-dark)}
.btn--lg,.hcr-cta--intro .wp-block-button__link,.hcr-cta--closing .wp-block-button__link{min-height:56px;padding:.875rem 1.5rem;font-size:var(--text-base)}
.btn--block{display:flex;width:100%}
.btn--arrow::after,.hcr-cta--intro .wp-block-button__link::after,.hcr-cta--closing .wp-block-button__link::after{content:"\2192" / "";letter-spacing:0}
.btn[aria-disabled="true"],.btn:disabled{cursor:progress}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.wp-block-button{display:block}
.hcr-cta--closing .wp-block-button,.hcr-cta--closing .wp-block-button__link{width:100%}
@media (max-width:479px){.wp-block-button,.wp-block-button__link{width:100%}}
@media (max-width:599px){.btn--lg,.hcr-cta--intro .wp-block-button__link,.hcr-cta--closing .wp-block-button__link{font-size:var(--text-md);padding-inline:1rem}}
/* 5. Header: dimension-chain */
.site-header{position:sticky;top:0;z-index:var(--z-header);background:var(--color-paper);border-bottom:var(--line-hair) solid var(--color-primary)}
.site-header__inner{display:flex;align-items:center;gap:var(--space-4);min-height:var(--header-h)}
.site-branding{display:flex;align-items:center;gap:.6rem;min-height:var(--tap);margin-right:auto;min-width:0;color:var(--color-text);text-decoration:none}
.site-branding__mark{flex:none;width:26px;height:26px}
.site-title{max-width:9.5em;font:var(--fw-normal) var(--text-md)/1.15 var(--font-display);font-synthesis:none;letter-spacing:.01em}
.site-branding .custom-logo{display:block;width:var(--logo-width);max-width:100%;height:auto}
.header-cta{display:none;min-height:var(--tap);padding:.5rem 1rem;font-size:var(--text-sm);white-space:nowrap}
.menu-toggle{display:inline-flex;align-items:center;gap:.5rem;min-width:var(--tap);min-height:var(--tap);padding:0 .75rem;background:var(--color-paper);color:var(--color-text);
	border:var(--line-hair) solid var(--color-primary);font:var(--fw-normal) var(--text-xs)/1 var(--font-display);letter-spacing:var(--track-label);text-transform:uppercase;cursor:pointer}
.menu-toggle svg{width:18px;height:18px;flex:none}
@media (min-width:768px){.header-cta{display:inline-flex}}

/* mobile panel (< 1120): a vertical dimension chain */
.main-nav{display:none}
.main-nav.is-open{display:block;position:absolute;left:0;right:0;top:100%;z-index:var(--z-menu);max-height:calc(100vh - var(--header-h));max-height:calc(100dvh - var(--header-h));overflow:auto;
	background:var(--color-paper);border-bottom:var(--line-hair) solid var(--color-primary)}
/* the header is a stacking context: lift it while the panel is open so the panel covers the sticky bar */
.site-header:has(.main-nav.is-open){z-index:var(--z-menu)}
.main-nav__list{position:relative;list-style:none;margin:0;padding:var(--space-4) var(--gutter) var(--space-6) calc(var(--gutter) + 1.5rem)}
.main-nav__list::before{content:"";position:absolute;left:calc(var(--gutter) + .5rem);top:var(--space-4);bottom:var(--space-6);width:1px;background:var(--color-primary)}
.main-nav__list::after{content:"";position:absolute;left:calc(var(--gutter) + .5rem - 3px);top:var(--space-4);bottom:var(--space-6);width:7px;background:var(--color-primary);
	clip-path:polygon(50% 0,100% 10px,0 10px,50% 0,50% 100%,100% calc(100% - 10px),0 calc(100% - 10px),50% 100%)}
.main-nav__list > .menu-item{position:relative;display:flex;flex-wrap:wrap;align-items:center}
.main-nav__list > .menu-item::before{content:"";position:absolute;left:-1.25rem;top:0;width:.75rem;height:1px;background:var(--color-primary)}
.main-nav__list > .menu-item > a,.nav__toggle-parent,.nav__label{flex:1 1 auto;display:flex;align-items:center;min-height:var(--tap);color:var(--color-text);text-decoration:none;
	font:var(--fw-normal) var(--text-base)/1.2 var(--font-display);font-synthesis:none;letter-spacing:var(--track-nav)}
.nav__toggle-parent{justify-content:space-between;gap:.5rem;padding:0;background:none;border:0;cursor:pointer;text-align:left}
.nav__toggle-parent::after,.nav__chevron{content:"";flex:none;width:10px;height:6px;background:currentColor;clip-path:polygon(0 0,100% 0,50% 100%)}
.nav__disclosure{display:grid;place-items:center;flex:none;width:var(--tap);height:var(--tap);padding:0;background:none;border:0;color:var(--color-text);cursor:pointer}
.nav__chevron{display:block}
.nav__disclosure[aria-expanded="true"] .nav__chevron,.nav__toggle-parent[aria-expanded="true"]::after{transform:rotate(180deg)}
.sub-menu{display:none;flex-basis:100%;list-style:none;margin:0 0 var(--space-2);padding:0 0 0 var(--space-4);border-left:var(--line-hair) solid var(--color-rule)}
.menu-item.is-open > .sub-menu{display:block}
.sub-menu a{display:flex;align-items:center;min-height:var(--tap);padding:.35rem 0;color:var(--color-text);text-decoration:none;font:var(--fw-normal) var(--text-md)/1.3 var(--font)}
.sub-menu [aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.3em}
.main-nav a:hover,.nav__toggle-parent:hover{text-decoration:underline;text-underline-offset:.3em}
/* JS off below 1120: no burger (it cannot work); the whole menu renders expanded under the brand row, header not sticky */
@media (max-width:1119px){
	.no-js .site-header{position:static}
	.no-js .site-header__inner{flex-wrap:wrap}
	.no-js .menu-toggle{display:none}
	.no-js .main-nav{display:block;flex-basis:100%;order:3;margin-inline:calc(var(--gutter) * -1);border-top:var(--line-hair) solid var(--color-rule)}
	.no-js .sub-menu{display:block}
	.no-js .nav__disclosure,.no-js .nav__toggle-parent::after{display:none}
}
/* desktop (>= 1120): the chain. One 1px line, 13px extension ticks at every item boundary, filled arrowheads at both ends, labels sit above the line like dimension values */
@media (min-width:1120px){
	.menu-toggle{display:none}
	.site-header__inner{flex-wrap:nowrap}
	.site-branding{margin-right:0;flex:none}
	.main-nav,.main-nav.is-open{display:block;position:static;flex:1 1 auto;min-width:0;max-height:none;overflow:visible;background:none;border:0}
	.main-nav__list{display:flex;align-items:stretch;width:max-content;max-width:100%;min-height:var(--header-h);margin:0 auto;padding:0;
		background:linear-gradient(var(--color-primary),var(--color-primary)) right 0 bottom 10px/1px 13px no-repeat}
	.main-nav__list::before{left:0;right:0;top:auto;bottom:16px;width:auto;height:1px}
	.main-nav__list::after{left:0;right:0;top:auto;bottom:13px;width:auto;height:7px;
		clip-path:polygon(0 50%,10px 0,10px 100%,0 50%,100% 50%,calc(100% - 10px) 0,calc(100% - 10px) 100%,100% 50%)}
	.main-nav__list > .menu-item{flex-wrap:nowrap;align-items:flex-end;padding:0 .75rem 21px}
	/* seven or more top-level items: tighter segments so the row never runs under the header CTA */
	.main-nav__list:has(> .menu-item:nth-child(7)) > .menu-item{padding-inline:.45rem}
	.main-nav__list > .menu-item::before{left:0;top:auto;bottom:10px;width:1px;height:13px}
	.main-nav__list > .menu-item::after{content:"";position:absolute;left:0;right:0;bottom:15.5px;height:2px;background:var(--color-primary);transform:scaleX(0)}
	.main-nav__list > .menu-item:is(:hover,:focus-within,.current-menu-item,.current-menu-ancestor,.current-menu-parent,.is-open)::after{transform:scaleX(1)}
	.main-nav__list > .menu-item > a,.nav__toggle-parent,.nav__label{flex:0 1 auto;min-height:var(--tap);align-items:flex-end;padding-bottom:3px;font-size:var(--text-sm);text-wrap:balance}
	.nav__toggle-parent{justify-content:flex-start}
	.nav__toggle-parent::after{margin:0 0 .45em .1rem}
	.nav__disclosure{width:24px;height:var(--tap);align-items:end;padding-bottom:10px;margin-left:.2rem}
	.main-nav a:hover,.nav__toggle-parent:hover{text-decoration:none}
	.sub-menu,.no-js .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:16.5rem;margin:0;padding:.375rem 0;z-index:var(--z-dropdown);
		background:var(--color-paper);border:var(--line-hair) solid var(--color-primary);border-top:var(--line-object) solid var(--color-primary)}
	.menu-item-has-children:is(:hover,:focus-within,.is-open) > .sub-menu{display:block}
	.js .menu-item-has-children.is-closed > .sub-menu,
	.js .main-nav__list:has(> .menu-item:hover) > .menu-item:not(:hover) > .sub-menu{display:none}
	.sub-menu a{padding:.55rem 1rem;border-left:var(--line-heavy) solid transparent}
	.sub-menu a:hover{background:var(--color-page);text-decoration:underline;text-underline-offset:.25em}
	.sub-menu [aria-current="page"]{border-left-color:var(--color-primary);text-decoration:none}
	.site-header.is-shrunk{--header-h:var(--header-h-compact)}
	.site-header.is-shrunk .main-nav__list > .menu-item{padding-bottom:15px}
}
@media (min-width:1280px){
	.main-nav__list > .menu-item{padding-inline:1rem}
	.main-nav__list > .menu-item > a,.nav__toggle-parent,.nav__label{font-size:var(--text-md)}
	.header-cta{padding-inline:1.25rem}
}
/* 6. Breadcrumbs */
.breadcrumbs{margin:0 0 var(--space-3)}
.breadcrumbs > .container{max-width:none;padding-inline:0}
.breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:0 .5rem;list-style:none;margin:0;padding:0;
	font:var(--fw-normal) var(--text-xs)/1.4 var(--font-display);font-synthesis:none;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--color-muted)}
.breadcrumbs__item{display:flex;align-items:center;gap:.5rem}
.breadcrumbs__item:not(:last-child)::after{content:"/" / "";color:var(--color-rule)}
.breadcrumbs__item a{display:inline-flex;align-items:center;min-height:var(--tap);margin-block:-.8rem;color:var(--color-muted);text-decoration:none}
.breadcrumbs__item a:hover{color:var(--color-text);text-decoration:underline;text-underline-offset:.3em}
.breadcrumbs__item [aria-current="page"]{color:var(--color-text)}
/* 7. Hero: section-view */
.hero{padding:0 0 var(--space-8)}
.hero__sheet{position:relative;background:var(--color-paper);margin-inline:calc(var(--gutter) * -1);padding:var(--space-4) var(--gutter) var(--space-8)}
.hero__title{font:var(--fw-normal) clamp(var(--text-3xl),1.4rem + 2.2vw,var(--text-5xl))/var(--lh-display) var(--font-display);letter-spacing:var(--track-h1);
	max-width:24em;margin:0 0 var(--space-4);text-wrap:balance}
.hero__intro{max-width:36rem}
.hero__intro .wp-block-paragraph{font-size:var(--text-base);line-height:1.58;margin:0 0 var(--space-4)}
.hero__intro .wp-block-buttons,.hero__actions{margin-top:var(--space-6)}
.hero__figure{margin:var(--space-10) 0 0;min-width:0;display:grid;grid-template-columns:clamp(8.5rem,32%,13rem) minmax(0,1fr);
	grid-template-areas:"side side" "end note";column-gap:var(--space-5);row-gap:var(--space-3);align-items:end}
.hero__note{grid-area:note;display:grid;gap:.15rem;align-self:center;padding-left:var(--space-4);border-left:var(--line-hair) solid var(--color-rule);
	font:var(--fw-normal) var(--text-xs)/1.45 var(--font-display);font-synthesis:none;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--color-muted)}
.hero__note-flag{display:inline-flex;align-items:center;gap:.45rem}
.hero__note-flag svg{width:14px;height:14px;flex:none}
.hero__note-pennant{fill:var(--color-accent)}
.hero__note-link{display:inline-flex;align-items:center;min-height:var(--tap);color:var(--color-text);text-decoration:underline;text-underline-offset:.3em}
.hero--compact .hero__sheet{padding-bottom:var(--space-6)}
.hero--compact .hero__title{margin-bottom:0}
/* contact: the form (with the same drawing in its helper) follows the hero directly, so the hero figure waits for the desktop grid */
@media (max-width:1199px){.hcr-role-contact .hero__figure{display:none}}
@media (min-width:768px){
	.hero{padding:var(--space-6) 0 var(--space-12)}
	.hero__figure{max-width:46rem}
	.hero__sheet{margin-inline:0;padding:var(--space-6) var(--space-8) var(--space-10);border:var(--line-hair) solid var(--color-primary)}
	/* drafting centering marks: one 12px tick crossing the frame at the midpoint of each edge (never zone letters) */
	.hero__sheet::before{content:"";position:absolute;inset:-7px;pointer-events:none;
		background:linear-gradient(var(--color-primary),var(--color-primary)) 50% 0/1px 13px no-repeat,
			linear-gradient(var(--color-primary),var(--color-primary)) 50% 100%/1px 13px no-repeat,
			linear-gradient(var(--color-primary),var(--color-primary)) 0 50%/13px 1px no-repeat,
			linear-gradient(var(--color-primary),var(--color-primary)) 100% 50%/13px 1px no-repeat}
}
@media (min-width:1200px){
	.hero{padding-top:var(--space-4)}
	.hero__sheet{display:grid;grid-template-columns:minmax(0,4.6fr) minmax(0,7.4fr);grid-template-areas:"crumbs crumbs" "title title" "intro figure";
		column-gap:var(--space-10);align-items:start;padding:var(--space-5) var(--space-8) var(--space-10)}
	.hero__sheet > .breadcrumbs{grid-area:crumbs}
	.hero__title{grid-area:title;max-width:none}
	.hero__intro{grid-area:intro}
	.hero__intro .wp-block-paragraph{font-size:var(--text-base)}
	.hero__figure{grid-area:figure;margin:var(--space-2) 0 0;max-width:none}
	.hero--no-figure .hero__sheet{grid-template-areas:"crumbs crumbs" "title title" "intro intro"}
}
/* 8. Drawing component */
.dwg-set{display:block}
.dwg{display:block;width:100%;height:auto;color:var(--dwg-ink);overflow:visible}
.dwg :is(path,circle,rect,polygon){vector-effect:non-scaling-stroke}
.dwg__obj{stroke:var(--dwg-ink);stroke-width:var(--dwg-obj);stroke-linejoin:miter}
.dwg__thin,.dwg__leader,.dwg__ext,.dwg__dimline{stroke:var(--dwg-thin);stroke-width:var(--dwg-thin-w)}
.dwg__centre{stroke:var(--dwg-thin);stroke-width:var(--dwg-thin-w);stroke-dasharray:18 4 3 4}
.dwg__hidden{stroke:var(--dwg-thin);stroke-width:1px;stroke-dasharray:6 4}
.dwg__phantom-line{stroke:var(--dwg-thin);stroke-width:1px;stroke-dasharray:18 4 3 4 3 4}
.dwg__arrow,.dwg__dot{fill:var(--dwg-thin)}
.dwg__seal{fill:var(--dwg-ink)}
.dwg__hatch{stroke:var(--dwg-ink);stroke-opacity:var(--dwg-hatch-alpha)}
.dwg text{font-family:var(--font-display);font-synthesis:none;fill:var(--color-text)}
.dwg__label-text{letter-spacing:.05em}
.dwg__key-box,.dwg__label-box{fill:var(--dwg-paper)}
.dwg__staff{stroke:var(--dwg-ink);stroke-width:1.2px}
.dwg__pennant{fill:var(--color-accent);stroke:var(--dwg-ink);stroke-width:1px;stroke-linejoin:round}
.dwg__flag{transform-box:fill-box;transform-origin:0 100%}
.dwg__flag--down{transform-origin:0 0}
/* focus: three cues, never color alone (heavier object line + boxed label + 1.3x flag); no tints in the hero */
.dwg-set[data-focus="rod"] .dwg__part--rod,
.dwg-set[data-focus="seals"] :is(.dwg__part--gland,.dwg__part--piston),
.dwg-set[data-focus="barrel"] .dwg__part--barrel,
.dwg-set[data-focus="mounts"] .dwg__part--mount{--dwg-obj:var(--dwg-obj-focus)}
.dwg-set[data-focus="rod"] .dwg__label--rod .dwg__label-box,
.dwg-set[data-focus="seals"] .dwg__label--seals .dwg__label-box,
.dwg-set[data-focus="barrel"] .dwg__label--barrel .dwg__label-box,
.dwg-set[data-focus="mounts"] .dwg__label--mount .dwg__label-box,
.dwg-set[data-focus="rod"] .dwg__dim--d .dwg__key-box,
.dwg-set[data-focus="barrel"] .dwg__dim--c .dwg__key-box{stroke:var(--dwg-ink);stroke-width:1.25px}
.dwg-set[data-focus="rod"] .dwg__flag--rod,
.dwg-set[data-focus="seals"] .dwg__flag--seals,
.dwg-set[data-focus="barrel"] .dwg__flag--barrel{transform:scale(1.3)}
/* hero, phones (< 600): labels hidden (the <desc> carries them; 21u would render under 12px), letters and flags enlarged */
.dwg__key{transform-box:fill-box;transform-origin:center}
@media (max-width:599px){
	.dwg-set--hero .dwg__labels{display:none}
	.dwg-set--hero .dwg--side .dwg__key{transform:scale(1.7)}
	.dwg-set--hero .dwg--end .dwg__key{transform:scale(1.3)}
	.dwg-set--hero .dwg__flag{transform:scale(1.5)}
	.dwg-set--hero[data-focus="rod"] .dwg__flag--rod,.dwg-set--hero[data-focus="seals"] .dwg__flag--seals,.dwg-set--hero[data-focus="barrel"] .dwg__flag--barrel{transform:scale(1.9)}
}
.dwg-set--hero{display:contents}
.dwg-set--hero .dwg--side{grid-area:side}
.dwg-set--hero .dwg--end{grid-area:end}
.js .dwg-set--hero.is-linked .dwg__dim{cursor:pointer}
/* form helper: one geometry per cylinder type; the page default is data-variant, the visitor's own answer wins (no JS) */
.dwg-set--form .dwg__variant{display:none}
.dwg-set--form[data-variant="welded"] .dwg__variant--welded,
.dwg-set--form[data-variant="tie-rod"] .dwg__variant--tie-rod,
.dwg-set--form[data-variant="telescopic"] .dwg__variant--telescopic{display:inline}
.lead-form:has(.lead-form__type option[value="welded"]:checked) .dwg-set--form .dwg__variant,
.lead-form:has(.lead-form__type option[value="tie-rod"]:checked) .dwg-set--form .dwg__variant,
.lead-form:has(.lead-form__type option[value="telescopic"]:checked) .dwg-set--form .dwg__variant{display:none}
.lead-form:has(.lead-form__type option[value="welded"]:checked) .dwg-set--form .dwg__variant--welded,
.lead-form:has(.lead-form__type option[value="tie-rod"]:checked) .dwg-set--form .dwg__variant--tie-rod,
.lead-form:has(.lead-form__type option[value="telescopic"]:checked) .dwg-set--form .dwg__variant--telescopic{display:inline}
/* the live tie: focusing a dimension field turns the matching drawing letter into its graphite key chip + a heavier dimension line */
.lead-form__dims:has([name="cyl_dim_a"]:focus) .dwg__dim--a,
.lead-form__dims:has([name="cyl_dim_b"]:focus) .dwg__dim--b,
.lead-form__dims:has([name="cyl_dim_c"]:focus) .dwg__dim--c,
.lead-form__dims:has([name="cyl_dim_d"]:focus) .dwg__dim--d,
.dwg__dim.is-active{--dwg-thin-w:2.4px;--dwg-thin:var(--dwg-ink)}
.lead-form__dims:has([name="cyl_dim_a"]:focus) .dwg__dim--a .dwg__key-box,
.lead-form__dims:has([name="cyl_dim_b"]:focus) .dwg__dim--b .dwg__key-box,
.lead-form__dims:has([name="cyl_dim_c"]:focus) .dwg__dim--c .dwg__key-box,
.lead-form__dims:has([name="cyl_dim_d"]:focus) .dwg__dim--d .dwg__key-box,
.dwg__dim.is-active .dwg__key-box{fill:var(--color-primary)}
.lead-form__dims:has([name="cyl_dim_a"]:focus) .dwg__dim--a .dwg__letter,
.lead-form__dims:has([name="cyl_dim_b"]:focus) .dwg__dim--b .dwg__letter,
.lead-form__dims:has([name="cyl_dim_c"]:focus) .dwg__dim--c .dwg__letter,
.lead-form__dims:has([name="cyl_dim_d"]:focus) .dwg__dim--d .dwg__letter,
.dwg__dim.is-active .dwg__letter{fill:var(--color-paper)}
.dwg-set--form{display:contents}
.dwg-set--mini{max-width:28rem}
/* 9. On this page */
.toc{max-width:var(--width-prose);margin-bottom:var(--space-10);background:var(--color-paper);border:var(--line-hair) solid var(--color-rule);
	border-top:var(--line-object) solid var(--color-primary)}
.toc__summary{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap);padding:.5rem var(--space-4);cursor:pointer;list-style:none;
	font:var(--fw-normal) var(--text-xs)/1.3 var(--font-display);font-synthesis:none;letter-spacing:var(--track-label);text-transform:uppercase}
.toc__summary::-webkit-details-marker{display:none}
.toc__summary::after{content:"";margin-left:auto;width:12px;height:12px;flex:none;
	background:linear-gradient(var(--color-primary),var(--color-primary)) center/12px 2px no-repeat,linear-gradient(var(--color-primary),var(--color-primary)) center/2px 12px no-repeat}
.toc[open] > .toc__summary::after{background:linear-gradient(var(--color-primary),var(--color-primary)) center/12px 2px no-repeat}
.toc__count{font-family:var(--font);letter-spacing:0;text-transform:none;color:var(--color-muted);font-variant-numeric:tabular-nums}
.toc__list{display:grid;list-style:none;margin:0;padding:0 var(--space-4) var(--space-3)}
.toc__link{position:relative;display:flex;align-items:center;min-height:var(--tap);padding:.35rem 0 .35rem 1.25rem;border-top:var(--line-hair) solid var(--color-rule);
	font-size:var(--text-md);line-height:1.35;color:var(--color-text);text-decoration:none}
.toc__link::before{content:"";position:absolute;left:0;top:50%;width:9px;height:10px;margin-top:-5px;background:var(--color-primary);clip-path:polygon(0 0,100% 50%,0 100%)}
.toc__link:hover,.toc__link[aria-current="location"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.25em}
@media (min-width:768px){.toc__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-6)}}
@media (hover:hover) and (pointer:fine){.toc__link{min-height:2.25rem;font-size:var(--text-sm)}}
/* 10. Prose, content blocks, working-line rhythm */
.page-body{position:relative;padding:var(--space-4) 0 var(--space-16)}
.page-body--flow{padding-bottom:var(--flow-join)}
.prose-content{position:relative;display:flow-root;max-width:var(--width-prose)}
/* one column reference for the prose, the TOC and the request head: on phones the column steps right by --flow-pad so the line has a gutter */
.prose-content,.toc,.request__head{margin-left:max(var(--flow-pad),calc((100% - var(--width-prose)) / 2));margin-right:auto}
.page-body--plain :is(.prose-content,.toc){margin-left:auto}
.prose-content > :last-child{margin-bottom:0}
.prose-content h2{font:var(--fw-normal) var(--text-xl)/var(--lh-h2) var(--font-display);letter-spacing:var(--track-h2);text-transform:uppercase;
	margin:var(--space-12) 0 var(--space-5);text-wrap:balance}
.prose-content > h2:first-child,.prose-content :where(.readmore__visible,.readmore__inner) > h2:first-child{margin-top:0}
.prose-content h3{font:var(--fw-normal) var(--text-xl)/var(--lh-h3) var(--font-display);letter-spacing:var(--track-h3);margin:var(--space-8) 0 var(--space-3)}
.prose-content p{margin:0 0 var(--space-5)}
.prose-content a{text-decoration-thickness:1px;text-underline-offset:.2em}
.prose-content a:hover{text-decoration-thickness:2px}
.prose-content :is(ul,ol){margin:0 0 var(--space-6);padding:0;list-style:none}
.prose-content li{position:relative;padding-left:1.5rem;margin-bottom:.45rem}
.prose-content ul:not(.hcr-checklist) > li::before{content:"";position:absolute;left:.1rem;top:.8em;width:.7rem;height:1px;background:var(--color-primary)}
.prose-content ol{counter-reset:hcr-ol}
.prose-content ol > li{counter-increment:hcr-ol}
.prose-content ol > li::before{content:counter(hcr-ol) ".";position:absolute;left:0;font-variant-numeric:tabular-nums;color:var(--color-muted)}
/* checklist: a ruled spec list on a paper sheet (not checkboxes: nothing is interactive) */
.prose-content ul.hcr-checklist{background:var(--color-paper);border:var(--line-hair) solid var(--color-primary);padding:var(--space-1) var(--space-5)}
.hcr-checklist > li{padding:.65rem 0 .65rem 2rem;margin:0;border-bottom:var(--line-hair) solid var(--color-rule)}
.hcr-checklist > li:last-child{border-bottom:0}
.hcr-checklist > li::before{content:"";position:absolute;left:.2rem;top:1.05rem;width:.8rem;height:.42rem;border-left:2px solid var(--color-primary);
	border-bottom:2px solid var(--color-primary);transform:rotate(-45deg)}
/* caution: a drafting note, graphite only, no generated word (text is never changed) */
.prose-content p.hcr-caution{position:relative;background:var(--color-paper);border-top:var(--line-object) solid var(--color-primary);
	border-bottom:var(--line-hair) solid var(--color-primary);padding:var(--space-4) var(--space-4) var(--space-4) 3.25rem;font-size:var(--text-md);line-height:1.55}
.prose-content p.hcr-caution::before{content:"";position:absolute;left:1rem;top:1.05rem;width:1.3rem;height:1.15rem;background:var(--color-primary);
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 20'%3E%3Cpath d='M11 1.5 21 18.5H1Z' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M11 7v6' stroke='%23000' stroke-width='2'/%3E%3Ccircle cx='11' cy='15.6' r='1.2'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 20'%3E%3Cpath d='M11 1.5 21 18.5H1Z' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M11 7v6' stroke='%23000' stroke-width='2'/%3E%3Ccircle cx='11' cy='15.6' r='1.2'/%3E%3C/svg%3E") center/contain no-repeat}
.prose-content .wp-block-buttons{margin:var(--space-6) 0 var(--space-8)}
.prose-content .hcr-cta--closing{margin-bottom:0}
/* in-content FAQ: visible Q/A items (default) */
.hcr-faq{margin:0 0 var(--space-8)}
.hcr-faq__item{background:var(--color-paper);border:var(--line-hair) solid var(--color-rule);border-top:var(--line-object) solid var(--color-primary);padding:var(--space-5);margin:0 0 var(--space-4)}
.prose-content .hcr-faq__question{font:var(--fw-normal) var(--text-lg)/var(--lh-h3) var(--font-display);letter-spacing:var(--track-h3);margin:0}
.prose-content .hcr-faq__item p{margin:var(--space-3) 0 0;font-size:var(--text-md);line-height:1.6}
/* opt-in accordion (faq_content_accordion) */
details.hcr-faq__item{padding:0}
.hcr-faq__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--tap);padding:var(--space-4) var(--space-5);cursor:pointer;list-style:none}
.hcr-faq__summary::-webkit-details-marker{display:none}
.hcr-faq__summary::after{content:"";flex:none;width:14px;height:14px;
	background:linear-gradient(var(--color-primary),var(--color-primary)) center/14px 2px no-repeat,linear-gradient(var(--color-primary),var(--color-primary)) center/2px 14px no-repeat}
details.hcr-faq__item[open] > .hcr-faq__summary::after{background:linear-gradient(var(--color-primary),var(--color-primary)) center/14px 2px no-repeat}
.hcr-faq__answer{padding:0 var(--space-5) var(--space-5)}
.prose-content .hcr-faq__answer p{margin-top:0}
/* Read More: keep the gutter inside the collapsed box so the H2 branches are not clipped */
.prose-content .readmore__inner{margin-left:calc(var(--flow-x) - var(--flow-dot));padding-left:calc(var(--flow-dot) - var(--flow-x))}
.readmore__btn{display:none;margin-top:var(--space-6)}
.js .readmore.is-ready .readmore__btn{display:inline-flex}
.js .readmore.is-collapsed .readmore__hidden{display:none}
.readmore--height{position:relative}
.js .readmore--height.is-collapsed .readmore__inner{max-height:var(--readmore-h,480px);overflow:hidden;
	-webkit-mask-image:linear-gradient(180deg,black 70%,transparent);mask-image:linear-gradient(180deg,black 70%,transparent)}
@media (min-width:768px){
	.prose-content h2{font-size:var(--text-2xl);margin-top:var(--space-14)}
	.prose-content h3{font-size:1.375rem}
}

/* rhythm: working-line. One continuous 2px graphite line in the left gutter; every body H2 is fed by an identical tee
   (junction dot + 2px branch + flow triangle). No per-index state, no numerals, no letters. */
.page-body--flow .prose-content::before,.page-body--end .prose-content::before{content:"";position:absolute;left:calc(var(--flow-x) - var(--flow-w) / 2);
	top:.9rem;bottom:0;width:var(--flow-w);background:var(--color-primary)}
.page-body--flow .prose-content::before{bottom:calc(var(--flow-join) * -1)}
/* plugged end (no request section follows the body): the ISO 1219 blocked-line bar */
.page-body--end .prose-content::after{content:"";position:absolute;left:calc(var(--flow-x) - 7px);bottom:0;width:14px;height:var(--flow-w);background:var(--color-primary)}
.page-body:is(.page-body--flow,.page-body--end) .prose-content h2::before{content:"";position:absolute;left:calc(var(--flow-x) - var(--flow-dot) / 2);
	width:calc(var(--flow-dot) / 2 - var(--flow-x) - var(--flow-gap));height:10px;margin-top:calc(.61em - 5px);background:var(--color-primary);
	-webkit-mask:radial-gradient(circle at calc(var(--flow-dot) / 2) 50%,black calc(var(--flow-dot) / 2 - .5px),transparent calc(var(--flow-dot) / 2)) 0 0/100% 100% no-repeat,
		linear-gradient(black,black) 0 50%/calc(100% - 8px) 2px no-repeat,
		linear-gradient(to top right,black 50%,transparent 50%) 100% 0/9px 50% no-repeat,
		linear-gradient(to bottom right,black 50%,transparent 50%) 100% 100%/9px 50% no-repeat;
	mask:radial-gradient(circle at calc(var(--flow-dot) / 2) 50%,black calc(var(--flow-dot) / 2 - .5px),transparent calc(var(--flow-dot) / 2)) 0 0/100% 100% no-repeat,
		linear-gradient(black,black) 0 50%/calc(100% - 8px) 2px no-repeat,
		linear-gradient(to top right,black 50%,transparent 50%) 100% 0/9px 50% no-repeat,
		linear-gradient(to bottom right,black 50%,transparent 50%) 100% 100%/9px 50% no-repeat}
/* 11. Request section + lead form */
.request{position:relative;background:var(--color-paper);border-top:var(--line-hair) solid var(--color-primary);border-bottom:var(--line-hair) solid var(--color-primary);
	padding:0 0 var(--space-16);scroll-margin-top:var(--header-h-compact)}
.request::before{content:"";display:block;height:var(--wall-h);background:var(--hatch-45);border-bottom:var(--line-hair) solid var(--color-primary)}
.request__inner{position:relative}
.request__head{position:relative;max-width:var(--width-prose);padding-top:var(--space-12)}
/* the inlet: the line enters through the hatched wall and turns 90 degrees into the H2 as an elbow (no dot: the line ends here) */
.request__head::before{content:"";position:absolute;left:calc(var(--flow-x) - var(--flow-w) / 2);top:calc((var(--wall-h) + var(--line-hair)) * -1);
	height:calc(var(--wall-h) + var(--line-hair) + var(--space-12) + .61 * var(--request-h2) + 1px);width:var(--flow-w);background:var(--color-primary)}
.request__head::after{content:"";position:absolute;left:calc(var(--flow-x) - var(--flow-w) / 2);top:calc(var(--space-12) + .61 * var(--request-h2) - 5px);
	width:calc(var(--flow-w) / 2 - var(--flow-x) - var(--flow-gap));height:10px;background:var(--color-primary);
	-webkit-mask:linear-gradient(black,black) 0 50%/calc(100% - 8px) 2px no-repeat,linear-gradient(to top right,black 50%,transparent 50%) 100% 0/9px 50% no-repeat,linear-gradient(to bottom right,black 50%,transparent 50%) 100% 100%/9px 50% no-repeat;
	mask:linear-gradient(black,black) 0 50%/calc(100% - 8px) 2px no-repeat,linear-gradient(to top right,black 50%,transparent 50%) 100% 0/9px 50% no-repeat,linear-gradient(to bottom right,black 50%,transparent 50%) 100% 100%/9px 50% no-repeat}
.request__title{font:var(--fw-normal) var(--request-h2)/var(--lh-h2) var(--font-display);letter-spacing:var(--track-h2);text-transform:uppercase;margin:0 0 var(--space-5)}
.request__steps{display:grid;gap:var(--space-2);list-style:none;margin:0 0 var(--space-10);padding:0;counter-reset:hcr-step}
.request__step{display:grid;grid-template-columns:2rem minmax(0,1fr);font-size:var(--text-md);line-height:1.5;counter-increment:hcr-step}
.request__step::before{content:counter(hcr-step);align-self:start;margin-right:.6rem;border-right:var(--line-hair) solid var(--color-rule);
	font:var(--fw-normal) var(--text-md)/1.5 var(--font);font-variant-numeric:tabular-nums}
.request__body{max-width:var(--width-form);margin:0 auto}
.request__notice{max-width:var(--width-form);margin:var(--space-8) auto 0;padding-top:var(--space-4);border-top:var(--line-hair) solid var(--color-rule);
	font-size:var(--text-sm);line-height:1.5;color:var(--color-muted)}
.request__fallback{max-width:var(--width-prose);margin:0 auto}

/* the form (plugin [hcr_quote_form] markup) */
.lead-form{display:grid;gap:var(--space-10)}
.lead-form__intro{font-size:var(--text-sm);line-height:1.5;color:var(--color-muted);margin:0}
.lead-form__group{min-width:0;margin:0;padding:0;border:0}
.lead-form__legend{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:0;margin:0 0 var(--space-5);
	font:var(--fw-normal) var(--text-sm)/1.3 var(--font-display);font-synthesis:none;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--color-text)}
.lead-form__legend::after{content:"";flex:1;height:1px;background:var(--color-primary)}
.lead-form__grid{display:grid;gap:var(--space-5) var(--space-6)}
.lead-form__field{display:grid;gap:.4rem;align-content:start;min-width:0}
.lead-form__label{font:var(--fw-normal) var(--text-base)/1.3 var(--font-display);font-synthesis:none;letter-spacing:.01em;color:var(--color-text)}
.lead-form__req{font:var(--fw-normal) var(--text-sm)/1 var(--font);letter-spacing:0;color:var(--color-muted)}
.lead-form__help{font-size:var(--text-sm);line-height:1.45;color:var(--color-subtle);margin:0}
.lead-form__input,.lead-form__select,.lead-form__textarea{width:100%;min-height:48px;padding:.7rem .8rem;background:var(--color-paper);color:var(--color-text);
	border:var(--line-hair) solid var(--color-field);border-radius:var(--radius);font:var(--fw-normal) var(--text-base)/1.35 var(--font)}
.lead-form__textarea{min-height:9rem;resize:vertical}
.lead-form__input:hover,.lead-form__select:hover,.lead-form__textarea:hover{border-color:var(--color-primary)}
.lead-form__input:focus-visible,.lead-form__select:focus-visible,.lead-form__textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:0;border-color:var(--color-focus)}
.lead-form__input::placeholder,.lead-form__textarea::placeholder{color:var(--color-subtle);opacity:1}
.lead-form__select-wrap{position:relative;display:block}
.lead-form__select{appearance:none;padding-right:2.5rem}
.lead-form__select-wrap::after{content:"";position:absolute;right:.9rem;top:50%;width:12px;height:7px;margin-top:-3px;pointer-events:none;background:var(--color-primary);clip-path:polygon(0 0,100% 0,50% 100%)}
.lead-form__choices{display:grid;gap:0 var(--space-6);margin:0;padding:0;border:0;min-width:0}
.lead-form__choice{display:flex;align-items:flex-start;gap:.7rem;min-height:var(--tap);padding:.6rem .5rem;margin:0;font-size:var(--text-md);line-height:1.4;
	cursor:pointer;border-bottom:var(--line-hair) solid var(--color-rule);border-left:var(--line-heavy) solid transparent}
.lead-form__choice:has(input:checked){background:var(--color-surface-2);border-left-color:var(--color-primary)}
.lead-form__choice-input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--color-primary)}
.lead-form__choices-legend{padding:0;margin:0 0 var(--space-2);font:var(--fw-normal) var(--text-base)/1.3 var(--font-display);font-synthesis:none;letter-spacing:.01em}
.lead-form__error{font-size:var(--text-sm);line-height:1.4;color:var(--color-error);margin:0}
.lead-form__field.has-error :is(.lead-form__input,.lead-form__select,.lead-form__textarea){border:var(--line-object) solid var(--color-error)}
.lead-form__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
/* dimension helper: the hero's letters, again, next to the fields */
.lead-form__dims{background:var(--color-paper);border:var(--line-hair) solid var(--color-primary)}
.lead-form__dims-summary{display:flex;align-items:center;gap:var(--space-3);min-height:52px;padding:.75rem var(--space-5);cursor:pointer;list-style:none;
	font:var(--fw-normal) var(--text-sm)/1.3 var(--font-display);font-synthesis:none;letter-spacing:var(--track-label);text-transform:uppercase}
.lead-form__dims-summary::-webkit-details-marker{display:none}
.lead-form__dims-summary::before{content:"";flex:none;width:12px;height:12px;
	background:linear-gradient(var(--color-primary),var(--color-primary)) center/12px 2px no-repeat,linear-gradient(var(--color-primary),var(--color-primary)) center/2px 12px no-repeat}
.lead-form__dims[open] > .lead-form__dims-summary::before{background:linear-gradient(var(--color-primary),var(--color-primary)) center/12px 2px no-repeat}
.lead-form__dims-opt{margin-left:auto;padding:.1rem .45rem;border:var(--line-hair) solid var(--color-field);font:var(--fw-normal) var(--text-xs)/1.4 var(--font);letter-spacing:0;text-transform:none;color:var(--color-muted)}
.lead-form__dims-body{display:grid;gap:var(--space-6);padding:var(--space-5) var(--space-5) var(--space-6);border-top:var(--line-hair) solid var(--color-rule)}
.lead-form__dims-safety{position:relative;padding:var(--space-3) var(--space-4) var(--space-3) 2.75rem;border-top:var(--line-object) solid var(--color-primary);
	border-bottom:var(--line-hair) solid var(--color-primary);font-size:var(--text-sm);line-height:1.5;margin:0}
.lead-form__dims-safety::before{content:"";position:absolute;left:.85rem;top:.8rem;width:1.1rem;height:1rem;background:var(--color-primary);
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 20'%3E%3Cpath d='M11 1.5 21 18.5H1Z' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M11 7v6' stroke='%23000' stroke-width='2'/%3E%3Ccircle cx='11' cy='15.6' r='1.2'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 20'%3E%3Cpath d='M11 1.5 21 18.5H1Z' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M11 7v6' stroke='%23000' stroke-width='2'/%3E%3Ccircle cx='11' cy='15.6' r='1.2'/%3E%3C/svg%3E") center/contain no-repeat}
.lead-form__dims-figure{margin:0;display:grid;grid-template-columns:minmax(0,2.6fr) minmax(0,1fr);gap:var(--space-4);align-items:center}
.lead-form__dims-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-content:start;align-items:end;min-width:0;margin:0;padding:0;border:0}
.lead-form__dim--c{grid-column:1 / -1}
.lead-form__dim{display:grid;grid-template-columns:40px minmax(0,1fr);gap:.4rem .5rem;align-items:center}
.lead-form__dim > .lead-form__label{grid-column:1 / -1;align-self:end}
.lead-form__dim-key{display:grid;place-items:center;width:40px;height:48px;background:var(--color-primary);color:var(--color-paper);
	font:var(--fw-normal) var(--text-xl)/1 var(--font-display);font-synthesis:none}
.lead-form__dim .lead-form__input{font-variant-numeric:tabular-nums}
.lead-form__dim-row{display:flex;flex-wrap:wrap;gap:var(--space-2);min-width:0}
.lead-form__dim-row > .lead-form__input{flex:1 1 8rem;min-width:0}
.lead-form__dim-row > .lead-form__select-wrap{flex:1 1 16.5rem;min-width:0}
.lead-form__dim > .lead-form__dim-key{align-self:start}
.lead-form__dim[hidden]{display:none}
.lead-form__dims-foot{display:grid;gap:var(--space-4);align-items:end}
/* photos: seven labeled slots; the whole slot is the tap target; the native input stays visible until JS enhances it */
.lead-form__limits{font-size:var(--text-sm);line-height:1.5;color:var(--color-muted);margin:0 0 var(--space-4)}
.lead-form__photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.photo-slot{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon name" "hint hint" "input input";gap:.35rem .6rem;
	align-content:start;padding:var(--space-3);background:var(--color-paper);border:1.5px dashed var(--color-field)}
.photo-slot:hover{border-style:solid;border-color:var(--color-primary)}
.photo-slot:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}
.photo-slot__icon{grid-area:icon;width:40px;height:26px;color:var(--color-primary)}
.photo-slot__name{grid-area:name;align-self:center;font:var(--fw-normal) var(--text-xs)/1.3 var(--font-display);font-synthesis:none;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.photo-slot__name::after{content:"";position:absolute;inset:0}
.photo-slot__hint{grid-area:hint;font-size:var(--text-sm);line-height:1.4;color:var(--color-subtle);margin:0}
.photo-slot__input{grid-area:input;position:relative;z-index:var(--z-raised);width:100%;min-width:0;min-height:var(--tap);font:var(--fw-normal) var(--text-sm)/1.3 var(--font);color:var(--color-muted)}
.photo-slot__input::file-selector-button{display:block;min-height:36px;margin:0 0 .4rem;padding:0 .7rem;background:var(--color-paper);color:var(--color-text);
	border:var(--line-hair) solid var(--color-primary);border-radius:0;font:var(--fw-normal) var(--text-xs)/1 var(--font-display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.photo-slot__add{grid-area:input;display:none;align-items:center;gap:.45rem;min-height:1.75rem;font:var(--fw-normal) var(--text-xs)/1.3 var(--font-display);font-synthesis:none;
	letter-spacing:.08em;text-transform:uppercase;color:var(--color-text);text-decoration:underline;text-underline-offset:.3em}
.photo-slot__add svg{width:14px;height:14px;flex:none}
.js .photo-slot.is-enhanced .photo-slot__input{position:absolute;width:1px;height:1px;min-height:0;opacity:0;overflow:hidden}
.js .photo-slot.is-enhanced .photo-slot__add{display:inline-flex}
.js .photo-slot.is-enhanced.is-filled .photo-slot__add{display:none}
.photo-slot.is-filled{border-style:solid;border-color:var(--color-primary)}
.photo-slot__preview{grid-area:input;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);min-width:0}
.photo-slot__preview[hidden]{display:none}
.photo-slot__thumb{flex:none;width:56px;height:42px;object-fit:cover;border:var(--line-hair) solid var(--color-rule)}
.photo-slot__file{flex:1 1 100%;order:3;min-width:0;font-size:var(--text-sm);overflow-wrap:anywhere}
.photo-slot__remove{position:relative;z-index:var(--z-raised);min-height:var(--tap);padding:0 .4rem;background:none;border:0;color:var(--color-text);
	font:var(--fw-normal) var(--text-sm)/1 var(--font);text-decoration:underline;text-underline-offset:.25em;cursor:pointer}
.photo-slot.has-error{border:var(--line-object) solid var(--color-error)}
.photo-slot--more{grid-column:1 / -1}
.lead-form__notes{display:grid;gap:var(--space-2);margin:var(--space-4) 0 0;padding:0;list-style:none}
.lead-form__note{position:relative;padding-left:1.25rem;font-size:var(--text-sm);line-height:1.45;color:var(--color-muted)}
.lead-form__note::before{content:"";position:absolute;left:0;top:.65em;width:.6rem;height:1px;background:var(--color-primary)}
.lead-form__submit{display:grid;gap:var(--space-4);padding-top:var(--space-6);border-top:var(--line-object) solid var(--color-primary)}
.lead-form__button.is-loading{cursor:progress}
.lead-form__spinner{display:none;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full)}
.lead-form__button.is-loading .lead-form__spinner{display:inline-block}
.lead-form__progress{height:4px;background:var(--color-surface-2)}
.lead-form__progress-bar{display:block;height:100%;width:var(--hcr-progress,0%);background:var(--color-primary)}
.lead-form__consent{font-size:var(--text-sm);line-height:1.5;color:var(--color-muted);max-width:44rem;margin:0}
.lead-form__consent a{color:var(--color-text)}
.lead-form__feedback:empty{display:none}
.lead-form__feedback.is-success{padding:var(--space-4) var(--space-5);background:var(--color-success-bg);color:var(--color-success);border-top:var(--line-object) solid var(--color-success)}
.lead-form__feedback.is-error{padding:var(--space-4) var(--space-5);background:var(--color-error-bg);color:var(--color-error);border:var(--line-hair) solid var(--color-error);border-top-width:var(--line-object)}
@media (min-width:600px){
	.lead-form__grid--2,.lead-form__choices--2{grid-template-columns:repeat(2,minmax(0,1fr))}
	.lead-form__field--wide{grid-column:1 / -1}
	.lead-form__photos{grid-template-columns:repeat(3,minmax(0,1fr))}
	.photo-slot__icon{width:56px;height:36px}
	.lead-form__submit .btn{justify-self:start}
}
@media (min-width:1024px){
	.lead-form__dims-body{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"safety safety" "figure fields" "foot foot";column-gap:var(--space-8)}
	.lead-form__dims-safety{grid-area:safety}
	.lead-form__dims-figure{grid-area:figure;grid-template-columns:1fr;align-self:start}
	.lead-form__dims-figure .dwg--end{max-width:13rem;justify-self:end;margin-top:calc(var(--space-6) * -1)}
	.lead-form__dims-fields{grid-area:fields}
	.lead-form__dims-foot{grid-area:foot}
}
@media (max-width:599px){
	.photo-slot{gap:.3rem .5rem;padding:.625rem}
	.photo-slot__icon{width:32px;height:21px}
	.photo-slot__hint{font-size:.8125rem;line-height:1.35}
	.dwg-set--form .dwg--side .dwg__key{transform:scale(1.6)}
	.lead-form__dims-figure{grid-template-columns:1fr}
	.lead-form__dims-figure .dwg--end{max-width:9.5rem;justify-self:center}
	.lead-form__submit .btn{width:100%}
}
/* 11b. Lead form: additional plugin markup hooks */
/* the photo slot's whole-box <label> wraps icon, name, hint and input: it lends its children to the slot grid */
.photo-slot__box{display:contents;cursor:pointer}
/* the upload bar is a native <progress> */
.lead-form__progress{display:block;width:100%;height:4px;border:0;-webkit-appearance:none;appearance:none;background:var(--color-surface-2);color:var(--color-primary)}
.lead-form__progress[hidden]{display:none}
.lead-form__progress::-webkit-progress-bar{background:var(--color-surface-2)}
.lead-form__progress::-webkit-progress-value{background:var(--color-primary)}
.lead-form__progress::-moz-progress-bar{background:var(--color-primary)}
/* the no-JS result box (PRG redirect): same looks as the live feedback; never magenta */
.lead-form__notice{padding:var(--space-4) var(--space-5);font-size:var(--text-md);line-height:1.5}
.lead-form__notice:focus{outline:3px solid var(--color-focus);outline-offset:3px}
.lead-form__notice p{margin:0}
.lead-form__notice p + p{margin-top:var(--space-2)}
.lead-form__notice--success{background:var(--color-success-bg);color:var(--color-success);border-top:var(--line-object) solid var(--color-success)}
.lead-form__notice--error{background:var(--color-error-bg);color:var(--color-error);border:var(--line-hair) solid var(--color-error);border-top-width:var(--line-object)}
.lead-form__notice-reattach{font-weight:var(--fw-bold)}
/* the single "repaired before" checkbox sits between the description and the removed radios */
.lead-form__choice--single{border-top:var(--line-hair) solid var(--color-rule)}
/* text legend used when the drawing helper is unavailable: the key chips beside each letter's meaning */
.lead-form__dims-figure--legend{grid-template-columns:1fr}
.lead-form__dims-legend{display:grid;gap:var(--space-2);list-style:none;margin:0;padding:0}
.lead-form__dims-legend-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-md);line-height:1.4}
.lead-form__dims-legend-item .lead-form__dim-key{flex:none;width:32px;height:36px;font-size:var(--text-lg)}
/* 12. Cards: seal-groove + grids */
.section{padding:var(--space-16) 0}
.section-head{display:flex;align-items:center;gap:var(--space-4);margin:0 0 var(--space-8)}
.section-head__title{font:var(--fw-normal) var(--text-xl)/var(--lh-h2) var(--font-display);font-synthesis:none;letter-spacing:var(--track-h2);text-transform:uppercase}
.section-head::after{content:"";flex:1;height:1px;background:var(--color-primary)}
.related{padding:var(--space-16) 0 var(--space-20)}
.silo-index__group + .silo-index__group{margin-top:var(--space-16)}
.cards{display:grid;grid-template-columns:1fr;gap:var(--space-10) var(--space-8);list-style:none;margin:0;padding:0}
/* seal-groove: an unboxed card whose 2px top object line carries a machined gland groove (26 x 13, 2px walls) holding an
   O-ring section (11px) + a backup-ring bar (3 x 11). The line is two real segments with a gap: the groove is never a paint mask. */
.card{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding-top:calc(var(--groove-d) + var(--space-3))}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:var(--groove-d);pointer-events:none;
	background:linear-gradient(var(--color-primary),var(--color-primary)) 0 0/var(--groove-x) var(--line-object) no-repeat,
		linear-gradient(var(--color-primary),var(--color-primary)) calc(var(--groove-x) + var(--groove-w)) 0/100% var(--line-object) no-repeat,
		linear-gradient(var(--color-primary),var(--color-primary)) var(--groove-x) 0/var(--line-object) 100% no-repeat,
		linear-gradient(var(--color-primary),var(--color-primary)) calc(var(--groove-x) + var(--groove-w) - var(--line-object)) 0/var(--line-object) 100% no-repeat,
		linear-gradient(var(--color-primary),var(--color-primary)) var(--groove-x) 100%/var(--groove-w) var(--line-object) no-repeat}
.card::after{content:"";position:absolute;top:0;left:calc(var(--groove-x) + var(--line-object) + 3px);width:calc(var(--oring) + 2px + var(--backup-w));height:var(--oring);
	pointer-events:none;transform-origin:50% 100%;
	background:radial-gradient(circle at calc(var(--oring) / 2) 50%,var(--color-primary) calc(var(--oring) / 2 - .6px),transparent calc(var(--oring) / 2)) 0 0/var(--oring) 100% no-repeat,
		linear-gradient(var(--color-primary),var(--color-primary)) 100% 0/var(--backup-w) 100% no-repeat}
.card__eyebrow{position:absolute;top:calc(var(--line-object) + .35rem);left:calc(var(--groove-x) + var(--groove-w) + .75rem);right:0;
	font:var(--fw-normal) var(--text-xs)/1.3 var(--font-display);font-synthesis:none;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--color-muted)}
.card__title{margin-top:var(--space-2);font:var(--fw-normal) var(--text-lg)/var(--lh-h3) var(--font-display);font-synthesis:none;letter-spacing:var(--track-h3)}
.card__title a{color:var(--color-text);text-decoration:none}
.card__title a::after{content:"";position:absolute;inset:0}
.card__text{font-size:var(--text-md);line-height:1.55;color:var(--color-muted);margin:0}
.card__more{margin-top:auto;padding-top:var(--space-2);font:var(--fw-normal) var(--text-sm)/1.3 var(--font-display);font-synthesis:none;letter-spacing:.06em;text-transform:uppercase}
.card:is(:hover,:focus-within) .card__title a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
.card:focus-within{outline:3px solid var(--color-focus);outline-offset:6px}
.card__title a:focus-visible{outline:0}
.card--row{display:grid;gap:var(--space-2) var(--space-8)}
.card--index .card__title{font-size:var(--text-base)}
@media (min-width:600px){.cards,.cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:768px){.card--row{grid-template-columns:16rem minmax(0,1fr)}.card--row .card__text{grid-column:2;grid-row:1 / span 2}}
@media (min-width:1024px){.cards--3,.cards--4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1200px){.cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* 13. Footer */
.site-footer{background:var(--color-dark);color:var(--color-on-dark);font-size:var(--text-md)}
.site-footer::before{content:"";display:block;height:var(--wall-h);background:var(--hatch-135-dark);border-bottom:var(--line-hair) solid var(--color-dark-border)}
.site-footer :focus-visible{outline-color:var(--color-focus-on-dark)}
.footer-grid{display:grid;gap:var(--space-8);padding:var(--space-14) 0 var(--space-10);grid-template-columns:repeat(2,minmax(0,1fr))}
.footer-brand{grid-column:1 / -1;display:grid;gap:var(--space-4);align-content:start}
.footer-brand__name{font:var(--fw-normal) var(--text-lg)/1.2 var(--font-display);font-synthesis:none;letter-spacing:.01em;margin:0}
.footer-brand__notice{font-size:var(--text-sm);line-height:1.55;color:var(--color-on-dark);margin:0;max-width:34rem}
.footer-email{display:inline-flex;align-items:center;gap:.6rem;min-width:0;min-height:var(--tap);color:var(--color-on-dark);text-decoration:underline;text-underline-offset:.25em}
.footer-email svg{width:20px;height:20px;flex:none}
.footer-email__address{min-width:0;overflow-wrap:anywhere;font:var(--fw-normal) var(--text-md)/1.3 var(--font-display);font-synthesis:none;letter-spacing:.02em}
.footer-col__title{margin:0 0 var(--space-3);font:var(--fw-normal) var(--text-xs)/1.3 var(--font-display);font-synthesis:none;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--color-accent)}
.footer-col__list{list-style:none;margin:0;padding:0}
.footer-col__link{display:inline-flex;align-items:center;min-height:var(--tap);padding:.3rem 0;line-height:1.35;color:var(--color-on-dark);text-decoration:none}
.footer-col__link:hover{text-decoration:underline;text-underline-offset:.25em}
.footer-legal{background:var(--color-dark-2);color:var(--color-on-dark-muted);font-size:var(--text-sm)}
.footer-legal__inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 var(--space-6);padding-block:var(--space-3)}
.footer-legal__link{display:inline-flex;align-items:center;min-height:var(--tap);color:var(--color-on-dark);text-underline-offset:.2em}
@media (min-width:1024px){.footer-grid{grid-template-columns:1.5fr repeat(4,minmax(0,1fr))}.footer-brand{grid-column:auto}}
/* 14. Mobile sticky bar */
.sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);display:flex;gap:var(--space-2);padding:.5rem var(--gutter) calc(.5rem + env(safe-area-inset-bottom));
	background:var(--color-paper);border-top:var(--line-object) solid var(--color-primary)}
.sticky-bar__cta{flex:1;min-height:48px}
.no-js .sticky-bar__cta{background:var(--color-primary);color:var(--color-paper)}
.sticky-bar__email{display:grid;place-items:center;flex:none;width:48px;height:48px;background:var(--color-paper);color:var(--color-primary);border:var(--line-keyline) solid var(--color-primary)}
.sticky-bar__email svg{width:22px;height:22px}
body.has-sticky-bar{padding-bottom:calc(var(--sticky-h) + env(safe-area-inset-bottom))}
.js .sticky-bar.is-suppressed{transform:translateY(110%);visibility:hidden}
/* narrow phones: the default label stays on one line so the bar keeps its reserved height */
@media (max-width:359px){.sticky-bar__cta{padding-inline:.5rem;font-size:var(--text-sm);letter-spacing:.04em}}
/* keyboard focus is never scrolled under the bar */
@media (max-width:767px){html:has(body.has-sticky-bar){scroll-padding-bottom:calc(var(--sticky-h) + env(safe-area-inset-bottom) + var(--space-4))}}
@media (min-width:768px){.sticky-bar{display:none}body.has-sticky-bar{padding-bottom:0}}
/* 15. 404, search, pagination, banners */
.error-404{padding:var(--space-8) 0 var(--space-16)}
.error-404__sheet{position:relative;display:grid;gap:var(--space-8);background:var(--color-paper);padding:var(--space-8) var(--gutter);border:var(--line-hair) solid var(--color-primary)}
.error-404__cut{display:grid;place-items:center;width:12rem;aspect-ratio:1;background:var(--hatch-45) var(--color-paper);border:var(--line-object) solid var(--color-primary)}
.error-404__code{padding:.25rem .75rem;background:var(--color-paper);font:var(--fw-normal) var(--text-6xl)/1 var(--font-display);font-synthesis:none}
.error-404__links{display:grid;gap:0;list-style:none;margin:var(--space-6) 0 0;padding:0}
.error-404__links a{display:inline-flex;align-items:center;min-height:var(--tap)}
.search-form{display:flex;gap:var(--space-2);max-width:32rem}
.search-form__input{flex:1;min-width:0;min-height:48px;padding:.6rem .8rem;background:var(--color-paper);border:var(--line-hair) solid var(--color-field);font:var(--fw-normal) var(--text-base)/1.3 var(--font);color:var(--color-text)}
.page-header{padding:var(--space-8) 0 var(--space-6);background:var(--color-paper);border-bottom:var(--line-hair) solid var(--color-primary)}
.page-header__title{font:var(--fw-normal) var(--text-3xl)/var(--lh-display) var(--font-display);font-synthesis:none;margin:0 0 var(--space-4)}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-10)}
.hcr-posts__more{margin:var(--space-10) 0 0;text-align:center}
.pagination .page-numbers{display:inline-grid;place-items:center;min-width:var(--tap);min-height:var(--tap);padding:0 .6rem;border:var(--line-hair) solid var(--color-field);
	font:var(--fw-normal) var(--text-md)/1 var(--font);font-variant-numeric:tabular-nums;color:var(--color-text);text-decoration:none}
.pagination .page-numbers.current{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-paper)}
.pagination .page-numbers:is(.prev,.next){font:var(--fw-normal) var(--text-sm)/1 var(--font-display);letter-spacing:var(--track-label);text-transform:uppercase}
.pagination .page-numbers.dots{border:0}
.cta-banner{background:var(--color-paper);border-block:var(--line-hair) solid var(--color-primary);padding:var(--space-12) 0}
.cta-banner__title{font:var(--fw-normal) var(--text-2xl)/var(--lh-h2) var(--font-display);font-synthesis:none;letter-spacing:var(--track-h2);text-transform:uppercase;margin:0 0 var(--space-4)}
.promo-bar{background:var(--color-dark-2);color:var(--color-on-dark);font-size:var(--text-sm);text-align:center;padding:.5rem var(--gutter)}
.promo-bar a{color:var(--color-on-dark)}
@media (min-width:768px){.error-404__sheet{grid-template-columns:auto minmax(0,1fr);align-items:center;padding:var(--space-10)}}
/* 17. WordPress core, admin bar, content extras */
/* the sticky header clears the logged-in admin bar (fixed from 601px: 46px, 32px from 783px) */
@media (min-width:601px){.admin-bar .site-header{top:46px}}
@media (min-width:783px){.admin-bar .site-header{top:32px}}
.custom-logo-link{display:block;line-height:0}
/* hero: an optional image (hero_background_image meta) takes the drawing's place in the figure */
.hero__photo{grid-column:1 / -1;display:block;width:100%;height:auto;border:var(--line-hair) solid var(--color-primary)}
/* mobile panel: a URL-less parent's chevron lines up with the 44px disclosure chevrons of the linked parents */
@media (max-width:1119px){.nav__toggle-parent::after{margin-right:17px}}
/* content blocks beyond headings, paragraphs, lists and buttons (typography stays inside .prose-content) */
.prose-content h4{font:var(--fw-normal) var(--text-lg)/var(--lh-h3) var(--font-display);font-synthesis:none;letter-spacing:var(--track-h3);margin:var(--space-6) 0 var(--space-2)}
.prose-content li > :is(ul,ol){margin:.45rem 0 0}
.prose-content blockquote{margin:0 0 var(--space-6);padding:var(--space-2) 0 var(--space-2) var(--space-5);border-left:var(--line-object) solid var(--color-primary)}
.prose-content blockquote p:last-child{margin-bottom:0}
.prose-content :is(figure,.wp-block-image,.wp-block-embed){margin:0 0 var(--space-6)}
.prose-content img{height:auto}
.prose-content iframe{max-width:100%}
.prose-content :is(figcaption,.wp-element-caption){margin-top:var(--space-2);font-size:var(--text-sm);line-height:1.45;color:var(--color-muted)}
.prose-content :is(hr,.wp-block-separator){height:0;margin:var(--space-10) 0;border:0;border-top:var(--line-hair) solid var(--color-rule)}
.prose-content .wp-block-table{overflow-x:auto}
.prose-content table{width:100%;margin:0 0 var(--space-6);border-collapse:collapse;font-size:var(--text-md);line-height:1.45}
.prose-content :is(th,td){padding:.6rem .75rem;border:var(--line-hair) solid var(--color-rule);text-align:left;vertical-align:top}
.prose-content th{background:var(--color-surface-2);font-weight:var(--fw-normal);font-family:var(--font-display);font-synthesis:none;letter-spacing:.02em}
.prose-content :is(code,kbd){font-family:var(--font-mono);font-size:.9em}
.prose-content pre{overflow-x:auto;margin:0 0 var(--space-6);padding:var(--space-4);background:var(--color-paper);border:var(--line-hair) solid var(--color-rule);font-size:var(--text-sm)}
.prose-content .has-text-align-center{text-align:center}
.prose-content .has-text-align-right{text-align:right}
/* Read More alignment (content_readmore_align meta) */
.js .readmore--center.is-ready > .readmore__btn,.js .readmore--right.is-ready > .readmore__btn,.js .readmore--block.is-ready > .readmore__btn{display:flex;width:max-content;max-width:100%}
.readmore--center > .readmore__btn{margin-inline:auto}
.readmore--right > .readmore__btn{margin-left:auto}
.js .readmore--block.is-ready > .readmore__btn{width:100%}
/* compact page header (search, archives, blog index, 404, tool pages) and the CTA banner's text + action rows */
.page-header__text{max-width:var(--width-prose);margin:0 0 var(--space-5);font-size:var(--text-base);line-height:1.55;color:var(--color-muted)}
.page-header__text p{margin:0 0 var(--space-3)}
.page-header__text p:last-child{margin-bottom:0}
.page-header .breadcrumbs{margin-bottom:var(--space-4)}
.cta-banner__text{max-width:var(--width-prose);margin:0 0 var(--space-5);font-size:var(--text-base);line-height:1.55}
.cta-banner__actions{margin:var(--space-6) 0 0}
.cta-banner .cta-banner__actions{margin-top:0}
/* per-page map embed (off by default) */
.hcr-map iframe{display:block;width:100%;min-height:320px;border:var(--line-hair) solid var(--color-primary)}
/* search results: a list of horizontal result rows is one column at every width */
.cards:has(> .card--row){grid-template-columns:minmax(0,1fr);max-width:var(--width-wide)}
/* the search field never widens its column (a % width zeroes the input's min-content contribution); 404 sheet reflows at 320 */
.search-form__input{width:100%}
@media (max-width:767px){.error-404__sheet{grid-template-columns:minmax(0,1fr)}}
/* 18. Optional modules (off by default; each hides itself when empty).
   Every rule reuses the sheet grammar: paper panels, 1px rule frames, 2px graphite top lines, lettering caps labels,
   graphite marks. No magenta beyond .btn--primary, no shadows, no tints. */

/* generic grids used by the plugin grids, blog lists and archives (same columns as .cards) */
.grid{display:grid;grid-template-columns:1fr;gap:var(--space-10) var(--space-8);list-style:none;margin:0;padding:0}
@media (min-width:600px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.grid--3,.grid--4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1200px){.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
h2.section-head{font:var(--fw-normal) var(--text-xl)/var(--lh-h2) var(--font-display);font-synthesis:none;letter-spacing:var(--track-h2);text-transform:uppercase}

/* blog / project cards: the seal-groove card with an optional image and a text CTA */
.card__media{display:block;order:-1;margin:0 0 var(--space-2);line-height:0;border:var(--line-hair) solid var(--color-rule)}
.card__media img{display:block;width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover}
.card__body{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}
.card__excerpt{font-size:var(--text-md);line-height:1.55;color:var(--color-muted);margin:0}
.card__cta{position:relative;z-index:var(--z-raised);align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;min-height:var(--tap);color:var(--color-text);
	font:var(--fw-normal) var(--text-sm)/1.3 var(--font-display);font-synthesis:none;letter-spacing:.06em;text-transform:uppercase;text-underline-offset:.3em}
.card__cta svg{width:14px;height:14px;flex:none}
.entry-meta{font-size:var(--text-sm);line-height:1.4;color:var(--color-muted);font-variant-numeric:tabular-nums}

/* stand-alone FAQ (faq_items meta / [hcr_faq]); in-content FAQs use .hcr-faq (section 10) */
.faq{padding:var(--space-12) 0}
.faq__heading{max-width:var(--width-prose);margin:0 auto var(--space-6);font:var(--fw-normal) var(--text-xl)/var(--lh-h2) var(--font-display);font-synthesis:none;letter-spacing:var(--track-h2);text-transform:uppercase}
.faq__list{display:grid;gap:var(--space-3);max-width:var(--width-prose);margin:0 auto}
.faq__item{background:var(--color-paper);border:var(--line-hair) solid var(--color-rule);border-top:var(--line-object) solid var(--color-primary)}
.faq__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--tap);padding:var(--space-4) var(--space-5);cursor:pointer;list-style:none}
.faq__summary::-webkit-details-marker{display:none}
.faq-question{margin:0;font:var(--fw-normal) var(--text-lg)/var(--lh-h3) var(--font-display);font-synthesis:none;letter-spacing:var(--track-h3)}
.faq__chevron{display:grid;place-items:center;flex:none;width:18px;height:18px;color:var(--color-primary)}
.faq__chevron svg{width:16px;height:16px;transform:rotate(90deg)}
.faq__item[open] .faq__chevron svg{transform:rotate(-90deg)}
.faq__answer{padding:0 var(--space-5) var(--space-5);font-size:var(--text-md);line-height:1.6}
.faq__answer p{margin:0 0 var(--space-3)}
.faq__answer p:last-child{margin-bottom:0}

/* trust bar (rating, metrics, review chips, badge list) */
.trust-bar{background:var(--color-paper);border-block:var(--line-hair) solid var(--color-primary)}
.trust-bar__inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-8);padding-block:var(--space-4)}
.trust-rating{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:var(--text-md);line-height:1.4}
.trust-rating a{display:inline-flex;align-items:center;min-height:var(--tap);color:var(--color-text);text-underline-offset:.2em}
.stars{display:inline-flex;gap:2px;color:var(--color-primary)}
.stars svg{width:16px;height:16px}
.trust-metric{display:grid;gap:.1rem;padding-left:var(--space-4);border-left:var(--line-hair) solid var(--color-rule)}
.trust-metric__value{font:var(--fw-normal) var(--text-xl)/1.1 var(--font);font-variant-numeric:tabular-nums}
.trust-metric__label{font:var(--fw-normal) var(--text-xs)/1.3 var(--font-display);font-synthesis:none;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--color-muted)}
.trust-chip,.trust-badge{display:inline-flex;align-items:center;gap:.45rem;min-height:36px;padding:.25rem .7rem;background:var(--color-paper);border:var(--line-hair) solid var(--color-field);font-size:var(--text-sm);line-height:1.3}
.trust-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-bottom:var(--space-4)}
.trust-badge svg{width:14px;height:14px;flex:none;color:var(--color-primary)}

/* testimonials ([hcr_testimonials]) */
.testimonials{padding:var(--space-16) 0}
.testimonials__track{display:grid;grid-template-columns:1fr;gap:var(--space-6)}
.testimonial{margin:0;padding:var(--space-5);background:var(--color-paper);border:var(--line-hair) solid var(--color-rule);border-top:var(--line-object) solid var(--color-primary)}
.testimonial__stars{display:flex;gap:2px;margin-bottom:var(--space-3);color:var(--color-primary)}
.testimonial__stars svg{width:16px;height:16px}
.testimonial__text{margin:0 0 var(--space-4);padding:0;border:0;font-size:var(--text-base);line-height:1.6}
.testimonial__text p{margin:0 0 var(--space-3)}
.testimonial__author{font:var(--fw-normal) var(--text-sm)/1.3 var(--font-display);font-synthesis:none;letter-spacing:var(--track-label);text-transform:uppercase}
.testimonial__location{font-size:var(--text-sm);color:var(--color-muted)}
@media (min-width:768px){.testimonials__track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.testimonials__track{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* E-E-A-T: author box, fact-check line, freshness line */
.author-box{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-5);max-width:var(--width-prose);margin:var(--space-12) auto;padding:var(--space-5);
	background:var(--color-paper);border:var(--line-hair) solid var(--color-rule);border-top:var(--line-object) solid var(--color-primary)}
.author-box__photo img{display:block;width:72px;height:72px;object-fit:cover;border:var(--line-hair) solid var(--color-primary)}
.author-box__body{display:grid;gap:var(--space-2);min-width:0}
.author-box__eyebrow{font:var(--fw-normal) var(--text-xs)/1.3 var(--font-display);font-synthesis:none;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--color-muted)}
.author-box__name{font:var(--fw-normal) var(--text-lg)/var(--lh-h3) var(--font-display);font-synthesis:none;letter-spacing:var(--track-h3)}
.author-box__creds{margin:0;font-size:var(--text-sm);color:var(--color-muted)}
.author-box__bio{font-size:var(--text-md);line-height:1.55}
.author-box__bio p{margin:0 0 var(--space-3)}
.author-box__social{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.author-box__social a{display:grid;place-items:center;width:var(--tap);height:var(--tap);color:var(--color-primary);border:var(--line-hair) solid var(--color-field)}
.author-box__social svg{width:18px;height:18px}
.author-box__all{display:inline-flex;align-items:center;gap:.4rem;min-height:var(--tap);color:var(--color-text);text-underline-offset:.2em}
.author-box__all svg{width:14px;height:14px}
.fact-check{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;max-width:var(--width-prose);margin:0 auto var(--space-6);font-size:var(--text-sm);line-height:1.45;color:var(--color-muted)}
.fact-check > svg{width:16px;height:16px;flex:none;color:var(--color-primary)}
.fact-check a{color:var(--color-text)}
.fact-check__details{position:relative}
.fact-check__details > summary{display:grid;place-items:center;width:var(--tap);height:var(--tap);margin-block:-.8rem;cursor:pointer;list-style:none;color:var(--color-primary)}
.fact-check__details > summary::-webkit-details-marker{display:none}
.fact-check__details > summary svg{width:16px;height:16px}
/* the panel drops out of flow so opening it never reflows the line */
.fact-check__panel{position:absolute;left:0;top:100%;z-index:var(--z-dropdown);width:min(22rem,80vw);padding:var(--space-4);background:var(--color-paper);color:var(--color-text);
	border:var(--line-hair) solid var(--color-primary);border-top:var(--line-object) solid var(--color-primary)}
.fact-check__panel p{margin:0 0 var(--space-2)}
.fact-check__panel p:last-child{margin-bottom:0}
.freshness{display:flex;align-items:center;gap:.5rem;max-width:var(--width-prose);margin:0 auto var(--space-4);font-size:var(--text-sm);color:var(--color-muted);font-variant-numeric:tabular-nums}
.freshness svg{width:16px;height:16px;flex:none;color:var(--color-primary)}

/* credentials, awards, guarantees ([hcr_credentials] [hcr_awards] [hcr_guarantees]) */
.credentials,.awards,.guarantees{display:grid;gap:var(--space-3);margin:var(--space-8) 0}
.credential{display:flex;align-items:center;gap:.6rem;min-height:var(--tap);padding:.5rem var(--space-4);background:var(--color-paper);border:var(--line-hair) solid var(--color-rule);font-size:var(--text-md);line-height:1.4}
.credential svg{width:18px;height:18px;flex:none;color:var(--color-primary)}
.credential__value{color:var(--color-muted);font-variant-numeric:tabular-nums}
.credential a{color:var(--color-text)}
.awards{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));align-items:center}
.awards img{display:block;max-width:100%;height:auto;max-height:72px;width:auto;margin-inline:auto}
.guarantee{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem var(--space-3);padding:var(--space-5);background:var(--color-paper);border:var(--line-hair) solid var(--color-rule);border-top:var(--line-object) solid var(--color-primary)}
.guarantee > svg{grid-row:span 2;width:20px;height:20px;color:var(--color-primary)}
.guarantee > h3{margin:0;font:var(--fw-normal) var(--text-lg)/var(--lh-h3) var(--font-display);font-synthesis:none;letter-spacing:var(--track-h3)}
.guarantee > p{margin:0;font-size:var(--text-md);line-height:1.55;color:var(--color-muted)}
@media (min-width:768px){.credentials,.guarantees{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* projects + team ([hcr_projects] [hcr_team]) */
.projects{padding:var(--space-16) 0}
.projects__grid,.team-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8)}
.project-card{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3);border-top:var(--line-object) solid var(--color-primary)}
.project-card__images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
.project-card__images img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border:var(--line-hair) solid var(--color-rule)}
.project-card__body{display:flex;flex-direction:column;gap:var(--space-2)}
.project-card__meta{margin:0;font:var(--fw-normal) var(--text-xs)/1.3 var(--font-display);font-synthesis:none;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--color-muted)}
.project-card__meta a{color:var(--color-muted)}
.team-card{display:grid;gap:var(--space-2);justify-items:start;padding-top:var(--space-3);border-top:var(--line-object) solid var(--color-primary)}
.team-card__photo img{display:block;width:96px;height:96px;object-fit:cover;border:var(--line-hair) solid var(--color-primary)}
@media (min-width:600px){.projects__grid,.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.projects__grid,.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* local areas + area check (area members; off on this site), silo cross-links */
.local-areas,.silo{padding:var(--space-12) 0}
.local-areas__heading,.silo__heading{margin:0 0 var(--space-5);font:var(--fw-normal) var(--text-xl)/var(--lh-h2) var(--font-display);font-synthesis:none;letter-spacing:var(--track-h2);text-transform:uppercase}
.area-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0 0 var(--space-6);padding:0}
.area-chips > li{display:inline-flex;align-items:center;min-height:36px;padding:.25rem .75rem;background:var(--color-paper);border:var(--line-hair) solid var(--color-field);font-size:var(--text-sm)}
.area-check{display:flex;flex-wrap:wrap;gap:var(--space-2);max-width:36rem}
.area-check__label{flex:1 1 14rem;min-width:0}
.area-check__label input{width:100%;min-height:48px;padding:.6rem .8rem;background:var(--color-paper);color:var(--color-text);border:var(--line-hair) solid var(--color-field);border-radius:var(--radius);font:var(--fw-normal) var(--text-base)/1.3 var(--font)}
.area-check__result{display:grid;gap:var(--space-3);justify-items:start;max-width:36rem;margin-top:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-paper);border:var(--line-hair) solid var(--color-rule);border-top:var(--line-object) solid var(--color-primary)}
.area-check__result[hidden]{display:none}
.area-check__result.is-yes{background:var(--color-success-bg);border-top-color:var(--color-success)}
.area-check__msg{margin:0;font-size:var(--text-md);line-height:1.5}
.silo__links{display:flex;flex-wrap:wrap;gap:0 var(--space-6)}
.silo__links a,.silo__links-item{display:inline-flex;align-items:center;min-height:var(--tap);color:var(--color-text);text-underline-offset:.2em}
.silo__links-item{color:var(--color-muted)}

/* video facade (click-to-load) + map embed */
.video-facade{position:relative;display:grid;place-items:center;gap:var(--space-3);aspect-ratio:16 / 9;margin:0 0 var(--space-6);padding:var(--space-6);background:var(--hatch-45) var(--color-paper);
	border:var(--line-hair) solid var(--color-primary);color:var(--color-text);text-decoration:none;text-align:center}
.video-facade__play{display:grid;place-items:center;width:64px;height:64px;background:var(--color-primary);color:var(--color-paper);border-radius:var(--radius-full)}
.video-facade__play svg{width:24px;height:24px}
.video-facade__label{padding:.2rem .6rem;background:var(--color-paper);font:var(--fw-normal) var(--text-sm)/1.3 var(--font-display);font-synthesis:none;letter-spacing:var(--track-label);text-transform:uppercase}
.map-embed{padding:0 0 var(--space-12)}
.map-embed iframe{display:block;width:100%;min-height:320px;border:var(--line-hair) solid var(--color-primary)}

/* provider directory ([hcr_directory]; off by default) */
.directory{padding:var(--space-12) 0}
.directory__heading{margin:0 0 var(--space-6);font:var(--fw-normal) var(--text-xl)/var(--lh-h2) var(--font-display);font-synthesis:none;letter-spacing:var(--track-h2);text-transform:uppercase}
.directory__list{display:grid;gap:var(--space-4)}
.directory__card{position:relative;display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:.3rem var(--space-4);padding:var(--space-5);background:var(--color-paper);border:var(--line-hair) solid var(--color-rule)}
.directory__card--featured{border:var(--line-object) solid var(--color-primary)}
.directory__rank{grid-row:span 5;align-self:start;display:grid;place-items:center;width:2.5rem;height:2.5rem;border:var(--line-hair) solid var(--color-primary);font:var(--fw-normal) var(--text-md)/1 var(--font);font-variant-numeric:tabular-nums}
.directory__name{margin:0;font:var(--fw-normal) var(--text-lg)/var(--lh-h3) var(--font-display);font-synthesis:none;letter-spacing:var(--track-h3)}
.directory__rating{display:flex;align-items:center;gap:.35rem;font-size:var(--text-sm);font-variant-numeric:tabular-nums}
.directory__star svg{width:14px;height:14px;color:var(--color-primary)}
.directory__rating-count{color:var(--color-muted)}
.directory__desc{margin:0;font-size:var(--text-md);line-height:1.55;color:var(--color-muted)}
.directory__meta{display:flex;align-items:center;gap:.4rem;margin:0;font-size:var(--text-sm);color:var(--color-muted)}
.directory__icon svg{width:14px;height:14px;color:var(--color-primary)}
.directory__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}
.directory__action{display:inline-flex;align-items:center;gap:.4rem;min-height:var(--tap);padding:0 .8rem;background:var(--color-paper);color:var(--color-text);border:var(--line-hair) solid var(--color-primary);
	font:var(--fw-normal) var(--text-xs)/1 var(--font-display);font-synthesis:none;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.directory__action svg{width:14px;height:14px;flex:none}
.directory__action:hover{background:var(--color-primary);color:var(--color-paper)}

/* affiliate layer (off unless enabled): the link is a .btn; the disclosure is a quiet note */
.affiliate-disclosure{margin:var(--space-4) 0;padding-left:var(--space-4);border-left:var(--line-hair) solid var(--color-rule);font-size:var(--text-sm);line-height:1.5;color:var(--color-muted)}
/* 19. Optional chrome: top bar + open-now badge, header search, footer social row, widget titles */
/* top bar: only when hours / phone / SMS are set; an ink band, never magenta */
.topbar{background:var(--color-dark-2);color:var(--color-on-dark);font-size:var(--text-sm)}
.topbar__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:0 var(--space-6);min-height:36px}
.topbar a{display:inline-flex;align-items:center;gap:.45rem;min-height:var(--tap);color:var(--color-on-dark);text-decoration:none}
.topbar a:hover{text-decoration:underline;text-underline-offset:.25em}
.topbar svg{width:15px;height:15px;flex:none}
.topbar :focus-visible{outline-color:var(--color-focus-on-dark)}
.topbar__afterhours{color:var(--color-on-dark-muted)}
.open-now{display:inline-flex;align-items:center;gap:.45rem;margin-right:auto;font:var(--fw-normal) var(--text-xs)/1.3 var(--font-display);font-synthesis:none;letter-spacing:var(--track-label);text-transform:uppercase}
.open-now__dot{width:8px;height:8px;flex:none;border:var(--line-hair) solid currentColor;border-radius:var(--radius-full)}
.open-now.is-open .open-now__dot{background:currentColor}
.open-now__next{font-family:var(--font);letter-spacing:.02em;text-transform:none;color:var(--color-on-dark-muted)}
/* header search (Customizer toggle, off by default): only where the chain has room */
.header-search{display:none}
@media (min-width:1280px){.header-search{display:block;flex:0 1 15rem;min-width:0}.header-search .search-form{max-width:none}}
/* promo bar links keep a 44px target */
.promo-bar a{display:inline-flex;align-items:center;min-height:var(--tap);text-underline-offset:.2em}
/* footer social row (only when real profile URLs exist) */
.footer-social{display:flex;flex-wrap:wrap;gap:0 var(--space-2);list-style:none;margin:0;padding:0}
.footer-social .footer-col__link{justify-content:center;min-width:var(--tap)}
.footer-social svg{width:18px;height:18px;flex:none}
/* widget areas (registered by the theme; empty by default) */
.widget,.footer-widget{margin:0 0 var(--space-8)}
.widget__title,.footer-widget__title{margin:0 0 var(--space-3);font:var(--fw-normal) var(--text-xs)/1.3 var(--font-display);font-synthesis:none;letter-spacing:var(--track-label);text-transform:uppercase}
/* 16. Motion, forced colors, print */
@media (prefers-reduced-motion:no-preference){
	.btn,.wp-block-button__link{transition:background-color var(--dur-fast) linear,color var(--dur-fast) linear,border-color var(--dur-fast) linear}
	.site-header{transition:min-height var(--dur) var(--ease)}
	.main-nav__list > .menu-item::after{transition:transform var(--dur) var(--ease)}
	.card::after{transition:transform var(--dur) var(--ease)}
	.card:hover::after{transform:scaleY(.82)}
	.sticky-bar{transition:transform var(--dur) var(--ease),visibility 0s linear var(--dur)}
	.sticky-bar:not(.is-suppressed){transition:transform var(--dur) var(--ease)}
	.lead-form__button.is-loading .lead-form__spinner{animation:hcr-spin .8s linear infinite}
	.js .readmore--height .readmore__inner{transition:max-height var(--transition)}
}
@keyframes hcr-spin{to{transform:rotate(1turn)}}
@media (forced-colors:active){
	/* Only the author-drawn parts opt out of forcing. They take system colors from tokens set on the parts themselves,
	   so the Customizer's inline :root colors cannot mask them, and ordinary controls keep the browser's forced palette. */
	.prose-content::before,.prose-content::after,.prose-content h2::before,.request__head::before,.request__head::after,.card::before,.card::after,
	.main-nav__list::before,.main-nav__list::after,.main-nav__list > .menu-item::before,.main-nav__list > .menu-item::after,.toc__link::before{forced-color-adjust:none;--color-primary:CanvasText}
	.dwg{forced-color-adjust:none;color:CanvasText;--color-primary:CanvasText;--color-text:CanvasText;--color-paper:Canvas;--color-accent:Highlight;
		--dwg-ink:CanvasText;--dwg-thin:CanvasText;--dwg-paper:Canvas}
	.dwg__pennant{fill:Highlight;stroke:CanvasText}
	.dwg__key-box,.dwg__label-box{fill:Canvas}
	.hero__note-pennant{fill:Highlight}
	.btn,.wp-block-button__link{border-color:ButtonText}
	/* CSS-drawn glyphs (chevrons, select arrow, +/- toggles, caution triangles) keep their shape in system colors */
	.nav__toggle-parent::after,.nav__chevron,.lead-form__select-wrap::after,.prose-content p.hcr-caution::before,.lead-form__dims-safety::before,
	.toc__summary::after,.lead-form__dims-summary::before,.hcr-faq__summary::after{forced-color-adjust:none;--color-primary:CanvasText}
	.nav__toggle-parent::after,.nav__chevron{background-color:CanvasText}
}
@media print{
	.site-header,.sticky-bar,.toc,.request,.related,.footer-grid,.skip-link{display:none!important}
	body{background:var(--color-paper)}
	.hero__sheet{border:0}
	.prose-content::before,.prose-content h2::before{display:none}
}
