/* Shared hierarchy, responsive navigation, and task-focused controls. */
.hy-stats-band { background:var(--hy-navy); color:white; }
.hy-stats-band .hy-stats { width:var(--hy-shell); grid-template-columns:repeat(5,minmax(0,1fr)); border:0; padding-block:1rem; }
.hy-stats-band .hy-stat { min-width:0; padding:1.3rem 1rem; min-height:7rem; }
.hy-stats-band .hy-stat strong { font-size:clamp(1.65rem,2.4vw,2.4rem); white-space:nowrap; font-variant-numeric:tabular-nums; line-height:1.2; }
.hy-stats-band .hy-stat span { font-size:.75rem; letter-spacing:.025em; line-height:1.5; }
@media(min-width:641px) and (max-width:1100px) {
 .hy-stats-band .hy-stats { grid-template-columns:repeat(6,minmax(0,1fr)); }
 .hy-stats-band .hy-stat { grid-column:span 2; }
 .hy-stats-band .hy-stat:nth-child(n+4) { grid-column:span 3; border-top:1px solid rgba(255,255,255,.18); }
 .hy-stats-band .hy-stat:nth-child(3) { border-right:0; }
}
@media(max-width:640px) {
 .hy-stats-band .hy-stats { grid-template-columns:1fr; padding-block:.5rem; }
 .hy-stats-band .hy-stat { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:5rem; padding:1rem 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }
 .hy-stats-band .hy-stat:last-child { border-bottom:0; }
 .hy-stats-band .hy-stat strong { font-size:1.85rem; }
 .hy-stats-band .hy-stat span { text-align:right; max-width:10rem; }
 .hy-product-application-list a { scroll-margin-bottom:6rem; }
}
:root { --hy-h1: clamp(2.35rem,4.4vw,4.2rem); --hy-h2: clamp(1.85rem,3.2vw,3rem); --hy-h3: clamp(1.2rem,1.9vw,1.55rem); }
[hidden] { display: none !important; }
.hy-display,.hy-application-hero h1 { font-size: var(--hy-h1); max-width: 23ch; }
.hy-heading,.hy-about-page h2,.hy-application-index h2,.hy-application-products h2,.hy-application-profiles h2,.hy-application-guide h2,.hy-application-systems h2,.hy-application-checkpoints h2,.hy-application-planning h2,.hy-application-faq h2,.hy-application-cta h2 { font-size: var(--hy-h2); }
.hy-brand { flex-shrink: 0; }
.hy-brand .wp-block-site-title { white-space: nowrap; }
.hy-nav a[aria-current] { text-decoration: underline; text-decoration-color: var(--hy-signal); text-underline-offset: .4em; }
/* Backdrop filtering creates a containing block for fixed descendants. Release it
   while the WP menu is open so the overlay uses the viewport, not header height. */
.hy-header:has(.is-menu-open) { -webkit-backdrop-filter:none; backdrop-filter:none; z-index:100000; }
.hy-nav .wp-block-navigation__responsive-container.is-menu-open {
 position:fixed; inset:0; width:100%; height:100vh; height:100dvh;
 box-sizing:border-box; margin:0; overflow-y:auto;
 padding:max(1.5rem,env(safe-area-inset-top)) max(1.5rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left));
 background:var(--hy-paper); color:var(--hy-ink); overscroll-behavior:contain;
}
body.home .hy-nav .is-menu-open .wp-block-navigation-item__content,.hy-nav .is-menu-open .wp-block-navigation-item__content { color: var(--hy-ink); font-size: 1.4rem; padding: .65rem; }
.hy-nav .wp-block-navigation__responsive-container-close { color: var(--hy-ink); min-height: 44px; min-width: 44px; }
button,a,input,select { touch-action: manipulation; }
.hy-footer-links { display: flex; flex-wrap: wrap; gap: .5rem 1.8rem; margin-block: 1.6rem; }
.hy-footer-links a { padding-block: .6rem; }
.hy-product-archive-hero { padding-top: 3rem; }
.hy-product-family-index a { min-height: 4.4rem; }
.hy-product-archive-card { display: flex; flex-direction: column; }
.hy-product-archive-card__media { flex: none; }
.hy-product-archive-card__body { flex: 1; min-height: 17rem; }
.hy-product-archive-card h3 { font-size: var(--hy-h3); line-height: 1.22; min-height: 3.7em; }
.hy-product-archive-card__link { padding-block: .6rem; }
.hy-application-product-card h3 { font-size: var(--hy-h3); }
.hy-catalogue-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; padding-block: 1.5rem; }
.hy-catalogue-filter label { display: grid; gap: .35rem; flex: 1 1 14rem; }
.hy-catalogue-filter input,.hy-catalogue-filter select,.hy-finish-search input { width:100%; min-height:44px; padding:.7rem; border:1px solid var(--hy-rule); background:white; color:var(--hy-ink); font:inherit; }
.hy-catalogue-filter button,.hy-finish-clear { min-height:44px; padding:.6rem 1rem; cursor:pointer; }
.hy-featured-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.4rem; }
.hy-featured-card { display:flex; flex-direction:column; min-width:0; }
.hy-featured-card img { width:100%; aspect-ratio:1; object-fit:contain; background:var(--hy-paper-alt); }
.hy-featured-card h3 { margin:.7rem 0; font-family:var(--hy-display); font-size:1.5rem; }
.hy-featured-card p { margin:0 0 1rem; }
.hy-featured-link { margin-top:auto; padding:.5rem 0; }
.hy-application-hero__copy { padding-block:3rem; }
.hy-application-hero,.hy-application-hero__media { min-height:32rem; }
.hy-application-hero__actions { flex-wrap:wrap; }
.hy-application-scope { display:none; }
.hy-application-hero__lede { font-size:1.05rem; }
.hy-utility-page { padding-block:3rem 5rem; min-height:55vh; }
.hy-utility-page h1 { margin-bottom:1.5rem; }
.hy-utility-page h2 { font-family:var(--hy-display); font-size:var(--hy-h2); }
.hy-resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin-top:2rem; }
.hy-resource-grid article { padding:1.6rem; border:1px solid var(--hy-rule); }
.hy-resource-grid h2 { font-size:var(--hy-h3); }
.hy-project-empty { padding:2rem; background:var(--hy-paper-alt); }
.hy-inquiry-compact { padding-top:2rem; }
.hy-inquiry-compact > header { max-width:58rem; margin-bottom:1.5rem; }
.hy-inquiry-compact h1 { font-size:var(--hy-h2); margin:0; }
.hy-inquiry-compact .hy-lede { font-size:1rem; margin:.75rem 0; }
.hy-inquiry-compact .hy-inquiry-workspace__grid { grid-template-columns:minmax(0,2fr) minmax(15rem,1fr); gap:2rem; }
.hy-inquiry-compact .hy-inquiry-form-panel { padding:1.5rem; }
.hy-inquiry-compact .hy-inquiry-brief { padding:1.4rem; background:var(--hy-paper-alt); }
.hy-inquiry-compact .hy-inquiry-brief h2 { font-size:var(--hy-h3); }
.hy-inquiry-fields { gap:1rem; }
.hy-field-error,.hy-form-errors { color:#a51d24; font-size:.9rem; }
.hy-inquiry-field [aria-invalid=true] { border-color:#a51d24; }
.hy-inquiry-form details { margin-block:1.4rem; }
.hy-inquiry-form summary { cursor:pointer; padding:.7rem 0; font-weight:600; }
.hy-form-contact-note { margin:0 0 .75rem; }
.hy-colorway-card { display:flex; flex-direction:column; margin:0; }
.hy-finish-button { display:flex; flex-direction:column; padding:0; border:0; background:transparent; color:inherit; cursor:pointer; text-align:left; height:100%; font:inherit; }
.hy-finish-button .hy-colorway-card__media { width:100%; }
.hy-finish-label { padding:.7rem; display:grid; gap:.3rem; }
.hy-finish-button[aria-pressed=true] { outline:3px solid var(--hy-signal); outline-offset:-3px; }
.hy-finish-button[aria-pressed=true] .hy-finish-label::after { content:'Selected ✓'; font-weight:700; }
.hy-finish-search { display:block; max-width:30rem; margin:1.2rem 0; }
.hy-finish-selection { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin:1.2rem 0; }
.hy-finish-dialog { width:min(42rem,calc(100% - 2rem)); max-height:90dvh; border:1px solid var(--hy-rule); padding:1.2rem; color:var(--hy-ink); }
.hy-finish-dialog::backdrop { background:rgba(8,20,38,.75); }
.hy-finish-dialog img { max-height:55vh; margin:auto; object-fit:contain; }
.hy-finish-dialog button { min-height:44px; cursor:pointer; padding:.6rem 1rem; }
.hy-finish-dialog header { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.hy-finish-dialog h2 { font-size:1.4rem; }
.hy-finish-dialog { overscroll-behavior:contain; }
.hy-application-product-card__body { display:flex; flex-direction:column; flex:1; }
.hy-application-product-card__body h3 { min-height:3.7em; }
.hy-application-product-card__link { margin-top:auto; }
.hy-application-related h2 { font-size:var(--hy-h2); }
input,select,textarea { scroll-margin-block:6rem; }
@media(max-width:1100px) {
 .hy-header-cta { display:none; }
 .hy-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none !important; }
 .hy-nav .wp-block-navigation__responsive-container-open { display:flex !important; min-width:44px; min-height:44px; align-items:center; justify-content:center; }
 body.home .hy-nav .wp-block-navigation__responsive-container-open { color:white; }
 .hy-nav .is-menu-open .wp-block-navigation__container { align-items:stretch; width:100%; }
 .hy-header__inner { min-height:4.8rem; }
}
@media(max-width:960px) {
 .hy-featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hy-inquiry-compact .hy-inquiry-workspace__grid { grid-template-columns:1fr; }
 .hy-inquiry-compact .hy-inquiry-brief { position:static; }
 .hy-application-hero__media { min-height:18rem; max-height:24rem; }
 .hy-application-hero__copy { padding:2rem max(1rem,4vw); }
 .hy-about-page h2 { font-size:var(--hy-h2); }
}
@media(max-width:560px) {
 .hy-application-guide,.hy-application-products,.hy-application-profiles,.hy-application-systems,.hy-application-checkpoints,.hy-application-planning,.hy-application-related,.hy-application-faq { padding-block:2.75rem; }
 .hy-hero { min-height:0; padding-block:7.5rem 3rem; }
 .hy-hero .hy-display { font-size:2.5rem; }
 .hy-section { padding-block:2.5rem; }
 .hy-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hy-stat { min-height:5rem; }
 .hy-stat:last-child { grid-column:1 / -1; }
 .hy-mission__stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hy-solution-tile { min-height:18rem; }
 .hy-featured-grid { gap:1rem; }
 .hy-featured-card p { font-size:.88rem; }
 .hy-resource-grid { grid-template-columns:1fr; }
 .hy-inquiry-compact .hy-inquiry-form-panel { padding:1rem; }
 .hy-product-stage { min-height:21rem; }
 .hy-product-passport { padding-block:2rem; }
 .hy-product-range { padding-block:2.5rem; }
 .hy-product-family-index { grid-template-columns:1fr 1fr; }
 .hy-product-family-index a { min-height:3.5rem; }
 .hy-application-mobile-actions,.hy-product-mobile-actions { padding-bottom:env(safe-area-inset-bottom,0px); }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; } }
