/* Customer-facing presentation. Court Designer controls retain their own styles. */
/* UI audit 2026-10-07: preserve wordpress/design.md; content determines wrapping.
 * Hallmark pre-emit critique (scoped remediation): P4 H4 E4 S4 R4 V3. */
:root { --hy-h1:clamp(2.25rem,4.4vw,4rem); --hy-h2:clamp(1.8rem,3.2vw,2.8rem); }
.hy-cta .hy-heading,
.hy-product-overview__intro .hy-heading,
.hy-product-applications .hy-heading,
.hy-product-inquiry .hy-heading,
.hy-product-archive-cta .hy-heading,
.hy-application-page h2,
.hy-application-index__head h2,
.hy-application-profiles__head h2,
.hy-application-systems__head h2,
.hy-application-products__head h2,
.hy-application-module h2,
.hy-application-checkpoints h2,
.hy-application-planning h2,
.hy-application-related h2,
.hy-application-faq h2,
.hy-application-cta h2 { max-width:none; min-width:0; font-size:var(--hy-h2); line-height:1.15; text-wrap:pretty; overflow-wrap:break-word; }
.hy-product-archive-hero .hy-display { max-width:none; font-size:var(--hy-h1); line-height:1.12; text-wrap:balance; }
.hy-product-passport { padding:clamp(1.5rem,3vw,2.5rem); gap:1.25rem; align-content:start; }
.hy-product-title > span { font-size:clamp(2.75rem,4.5vw,3.75rem); }
.hy-product-title small { max-width:none; font-size:clamp(1.4rem,2.2vw,1.8rem); line-height:1.2; text-wrap:pretty; }
.hy-about-page .hy-about-hero h1 { max-width:none; font-size:var(--hy-h1); line-height:1.12; }
.hy-about-page .hy-about-hero { min-height:clamp(28rem,46vw,38rem); align-items:center; }
.hy-about-page .hy-about-hero__frame { padding-block:3rem 4rem; }
.hy-about-page :is(.hy-about-section,.hy-about-cta) h2 { max-width:none; line-height:1.15; }
.hy-about-page .hy-about-support__item h3 { font-size:var(--hy-h3); line-height:1.25; }
.hy-cta__inner { gap:1rem; }
.hy-cta__inner > :is(.hy-eyebrow,.hy-heading,.hy-lede,.wp-block-buttons) { margin-block:0; }
.hy-cta__inner > .wp-block-buttons { margin-top:.5rem; }
.hy-mission__inner { gap:1rem; }
.hy-mission__inner > :is(.hy-eyebrow,.hy-heading,.hy-lede) { margin-block:0; }
.hy-mission__stats { margin-top:2rem; }
.hy-application-module h2 { font-size:clamp(1.65rem,2.4vw,2.2rem); margin-bottom:1rem; }
.hy-application-system-grid h3,.hy-application-checkpoint-grid h3 { font-size:var(--hy-h3); line-height:1.25; }
.hy-solution-tile h3 { font-size:clamp(1.65rem,2.2vw,2rem); line-height:1.15; }
.hy-solution-tile__inner > p { margin-block:0; }
.hy-system-card__body h3 { max-width:none; line-height:1.12; }
.hy-system-card:not(.hy-system-card--interlocking-flooring) .hy-system-card__body h3 { font-size:clamp(1.5rem,2.2vw,2rem); }
.hy-application-profile-table { font-variant-numeric:tabular-nums; }
@media(max-width:600px) {
 body:has(.hy-application-mobile-actions,.hy-product-mobile-actions) .hy-footer-v2__bottom { padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px)); }
 .hy-application-profile-table { overflow:visible; border:0; }
 .hy-application-profile-table table { min-width:0; width:100%; }
 .hy-application-profile-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .hy-application-profile-table tbody,.hy-application-profile-table tr,.hy-application-profile-table th,.hy-application-profile-table td { display:block; width:auto; }
 .hy-application-profile-table tr { padding-block:1.25rem; border-bottom:1px solid var(--hy-rule); }
 .hy-application-profile-table tbody th { padding:0 0 .75rem; border:0; font-size:1.15rem; line-height:1.35; }
 .hy-application-profile-table td { padding:.5rem 0; border:0; }
 .hy-application-profile-table td::before { content:attr(data-label); display:block; margin-bottom:.25rem; font-weight:600; color:var(--hy-white); }
 .hy-product-family-index strong { max-width:none; line-height:1.3; }
}
/* Copy checklists: short groups with room to scan, not decorative cards. */
.hy-application-module ul,.hy-application-planning__copy ul,.hy-about-identity ul,.hy-inquiry-brief ul { padding-left:1.25rem; margin-block:1rem 1.5rem; }
.hy-application-module li,.hy-application-planning__copy li,.hy-about-identity li,.hy-inquiry-brief li { margin-block:.55rem; line-height:1.65; }
/* Footer: project invitation followed by structured wayfinding. */
.hy-footer-v2 { background:#102a43; color:#f7fafc; border-top:4px solid #ff5b1a; font-family:var(--hy-body); }
.hy-footer-v2__shell { width:var(--hy-shell); margin-inline:auto; }
.hy-footer-v2 a { color:inherit; text-decoration:none; }
.hy-footer-v2 a:not(.hy-footer-v2__button):hover { color:#ffad87; }
.hy-footer-v2 a:focus-visible { outline:2px solid #ffad87; outline-offset:4px; }
.hy-footer-v2__contact { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding-block:2rem; border-bottom:1px solid #36516a; }
.hy-footer-v2__contact h2 { margin:0 0 .4rem; font-family:var(--hy-display); font-size:clamp(1.65rem,2.2vw,2.1rem); line-height:1.15; font-weight:600; }
.hy-footer-v2__contact p { margin:0; color:#c7d3df; font-size:.95rem; }
.hy-footer-v2 .hy-footer-v2__button { display:inline-flex; align-items:center; justify-content:space-between; gap:2rem; flex-shrink:0; min-height:48px; padding:.75rem 1.25rem; border-radius:4px; background:#ff5b1a; color:#102a43; font-weight:600; font-size:.95rem; }
.hy-footer-v2 .hy-footer-v2__button:is(:hover,:focus-visible,:active) { background:#ffad87; color:#102a43; }
.hy-footer-v2__grid { display:grid; grid-template-columns:1.5fr 1.15fr 1fr 1fr; gap:2.5rem; padding-block:2.5rem; align-items:start; }
.hy-footer-v2__grid > * { min-width:0; }
.hy-footer-v2__wordmark { display:inline-flex; flex-direction:column; font-family:var(--hy-display); font-size:2rem; font-weight:700; line-height:1; letter-spacing:.04em; }
.hy-footer-v2__wordmark span { margin-top:.5rem; font-family:var(--hy-body); font-size:.65rem; letter-spacing:.32em; font-weight:500; }
.hy-footer-v2__brand p { max-width:28ch; color:#c7d3df; font-size:.9rem; line-height:1.65; margin:1.25rem 0 .75rem; }
.hy-footer-v2__about { display:inline-flex; align-items:center; gap:1rem; min-height:44px; font-size:.9rem; }
.hy-footer-v2__grid h2 { margin:0 0 .65rem; font-family:var(--hy-body); font-weight:600; font-size:1rem; line-height:1.5; }
.hy-footer-v2__grid ul { list-style:none; margin:0; padding:0; }
.hy-footer-v2__grid li a { display:inline-flex; align-items:center; min-height:40px; padding-block:.35rem; color:#c7d3df; font-size:.9rem; line-height:1.5; }
.hy-footer-v2__grid li a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.hy-footer-v2__location { margin:.75rem 0 0; color:#a9bed0; font-size:.85rem; }
.hy-footer-v2__bottom { display:flex; justify-content:space-between; align-items:center; gap:1rem 2rem; padding-block:1.25rem; border-top:1px solid #36516a; color:#a9bed0; font-size:.75rem; }
.hy-footer-v2__bottom p { margin:0; line-height:1.7; }
.hy-footer-v2__bottom p span { display:block; }
.hy-footer-v2__bottom nav { display:flex; flex-wrap:wrap; gap:.25rem 1.25rem; }
.hy-footer-v2__bottom a { display:inline-flex; align-items:center; min-height:36px; }
@media(max-width:900px) {
 .hy-footer-v2__grid { grid-template-columns:1.25fr 1fr; gap:2rem; }
 .hy-footer-v2__bottom { align-items:start; flex-direction:column; gap:.75rem; }
}
@media(max-width:560px) {
 .hy-footer-v2__contact { align-items:start; flex-direction:column; padding-block:1.5rem; gap:1rem; }
 .hy-footer-v2__grid { grid-template-columns:1fr 1fr; gap:1.5rem 1rem; padding-block:1.75rem; }
 .hy-footer-v2__brand { grid-column:1/-1; }
 .hy-footer-v2__grid > nav:last-child { grid-column:1/-1; border-top:1px solid #36516a; padding-top:1.25rem; }
 .hy-footer-v2__grid > nav:last-child ul { display:flex; flex-wrap:wrap; gap:0 1.25rem; }
 .hy-footer-v2__brand p { max-width:36ch; margin-block:1rem .25rem; }
 .hy-footer-v2__grid li a { min-height:44px; font-size:.85rem; }
 .hy-footer-v2__bottom a { min-height:44px; }
}
:root { --hy-control-radius:4px; --hy-control-size:.9rem; --hy-heading-content:clamp(2rem,3.4vw,3.25rem); --hy-on-dark-label:#ff976d; }
.hy-solutions > .hy-solutions__head .hy-eyebrow,.hy-cta .hy-eyebrow { color:var(--hy-on-dark-label); }
.hy-application-system-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); }
.hy-application-system-grid article { border:0; border-bottom:1px solid var(--hy-rule); }
.hy-application-related__links { grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); }
.hy-application-related__head { display:block; }
.hy-application-related__head h2 { max-width:none; }
.hy-application-module h2 { margin-top:0; }
.hy-application-system-grid h3,.hy-application-checkpoint-grid h3 { margin-top:0; }
.hy-button .wp-block-button__link,.hy-application-action,.hy-product-action,.hy-inquiry-step-actions button { border-radius:var(--hy-control-radius); font-family:var(--hy-display); font-size:var(--hy-control-size); font-weight:600; letter-spacing:.025em; min-height:44px; }
.hy-inquiry-compact h1 { font-size:var(--hy-heading-content); line-height:1.15; }
:is(.hy-button .wp-block-button__link,.hy-application-action,.hy-product-action,.hy-inquiry-step-actions button,.hy-resource-grid a):focus-visible { outline:3px solid var(--hy-signal); outline-offset:4px; }
.wp-site-blocks > main,.wp-site-blocks > .hy-main { margin-block-start: 0; }
.hy-product-hub-hero { padding-block: 3rem 2.5rem; background: var(--hy-navy); color: white; }
.hy-product-hub-hero::before,.hy-product-hub-hero::after { content: none; }
.hy-product-hub-hero .hy-eyebrow { color: var(--hy-signal); }
.hy-product-hub-hero .hy-display { max-width: none; margin-top: .75rem; font-size: var(--hy-h1); }
.hy-product-hub-hero .hy-lede { margin: 1rem auto 0; color: #dce5ef; }
.hy-product-hub-scope { display: none; }
.hy-system-selector { padding-block: clamp(2.5rem,5vw,4.5rem); }
.hy-system-selector__head { gap: 2rem; align-items: start; }
.hy-system-selector__head .hy-heading { max-width: none; }
.hy-system-card__media { cursor:pointer; }
.hy-system-card__media::after { pointer-events:none; }
.hy-system-card__body h3 a { display:inline-block; min-height:44px; color:inherit; text-decoration:none; pointer-events:auto; }
.hy-system-card__categories { gap:.5rem; }
.hy-system-card__categories a { display:inline-flex; align-items:center; min-height:44px; box-sizing:border-box; padding:.55rem .75rem; border:1px solid rgba(255,255,255,.55); border-radius:4px; background:rgba(16,42,67,.72); color:#fff; text-decoration:none; }
.hy-system-card__actions a { min-height:44px; align-items:center; box-sizing:border-box; }
.hy-system-card:focus-within { outline:3px solid #ff976d; outline-offset:3px; }
.hy-system-card__body h3 a:is(:focus-visible,:active),.hy-system-card__actions a:is(:focus-visible,:active) { color:#ffad87; }
.hy-system-card__categories a:is(:focus-visible,:active) { background:#fff; color:#102a43; border-color:#fff; }
@media(hover:hover) and (pointer:fine) {
 .hy-system-card:hover { border-color:#ff976d; }
 .hy-system-card__body h3 a:hover,.hy-system-card__actions a:hover { color:#ffad87; }
 .hy-system-card__categories a:hover { background:#fff; color:#102a43; border-color:#fff; }
}
.hy-system-card--turf { background: #173e35; }
.hy-project-fit,.hy-product-hub-logic { padding-block: clamp(2.5rem,5vw,4.5rem); }
.hy-product-hub-cta a { margin: 0; }
.hy-hero { min-height: 38rem; padding-block: 9rem 5rem; }
.hy-hero::before { background: linear-gradient(90deg,rgba(8,20,38,.84),rgba(8,20,38,.25)); }
.hy-hero::after { content: none; }
.hy-hero__grid { justify-items: start; }
.hy-hero__copy { justify-items: start; text-align: left; max-width: 46rem; }
.hy-hero__copy .hy-display { max-width: 18ch; font-size: clamp(2.7rem,5.5vw,5rem); font-style: normal; }
.hy-hero__copy .hy-display span { font-style: normal; }
.hy-hero__copy .hy-lede { max-width: 39rem; margin-inline: 0; }
.hy-hero__copy .wp-block-buttons { justify-content: flex-start; }
.hy-intro { padding-block: clamp(2.5rem,5vw,4rem); }
.hy-intro__grid { gap: 2.5rem; align-items: start; }
.hy-intro__visual { min-height: 33rem; }
.hy-intro__card { margin-left: 0; padding: 1rem 0; background: transparent; box-shadow: none; }
.hy-intro__card .hy-heading { font-size: var(--hy-h2); }
.hy-solution-tile { min-height: 24rem; }
.hy-solution-tile--copy::before { content: none; }
.hy-mission { padding-block: clamp(2.5rem,5vw,4rem); }
.hy-mission .hy-heading { max-width:none; }
.hy-mission__stat { padding-inline:.75rem; min-width:0; }
.hy-mission__stat strong { font-size:clamp(1.9rem,3.6vw,3.2rem); }
.hy-mission__quantity { display:inline-flex; align-items:baseline; justify-content:center; gap:.2em; white-space:nowrap; }
.hy-mission__stat strong .hy-mission__unit { font-size:.48em; font-weight:500; color:inherit; }
@media(min-width:600px) { .hy-mission .hy-heading { white-space:nowrap; } }
.hy-application-module__body { max-width: 70ch; }
.hy-resource-grid article { display: flex; flex-direction: column; border: 0; border-top: 2px solid var(--hy-navy); background: white; }
.hy-resource-grid { align-items:start; }
.hy-resource-grid article > a { align-self:flex-start; margin-top:0; padding-block:.5rem; }
.hy-resource-actions { display:flex; flex-wrap:wrap; gap:.25rem 1.25rem; }
.hy-resource-actions a { display:inline-flex; padding-block:.5rem; }
.hycd-project-support { padding: 1.5rem clamp(1rem,3vw,2rem); border-top: 1px solid var(--hy-rule); }
.hycd-project-support p { max-width: 65ch; }
.hycd-project-support a { display: inline-block; padding-block: .65rem; font-weight: 600; }
/* Text-led modules use a shared rhythm; photographic product cards keep their composition. */
.wp-site-blocks > footer { margin-block-start: 0; }
.hy-product-archive-cta + .hy-footer { margin-block-start: 0; }
.hy-product-archive-cta > .hy-shell > div:last-child,
.hy-product-inquiry__grid > div:last-child,
.hy-application-cta__grid > div:last-child { gap: 1rem; align-content: start; }
.hy-product-hub-cta .hy-cta-actions { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
.hy-product-hub-cta .hy-cta-actions a { display: inline-flex; align-items: center; min-height: 44px; }
.hy-product-archive-card__body,
.hy-application-product-card__body,
.hy-application-card__body { min-height: 0; }
.hy-product-archive-card h3,
.hy-application-product-card__body h3 { min-height: 0; }
.hy-product-range + .hy-product-range { margin-top: 3rem; }
.hy-application-module:last-child { padding-bottom: 0; }
.hy-application-module__body > :last-child { margin-bottom: 0; }
.hy-about-page .hy-about-section,
.hy-about-page .hy-about-cta { padding-block: clamp(2.5rem,5vw,4rem); }
.hy-about-page .hy-about-cta__inner,
.hy-about-page .hy-about-gallery__head { align-items: start; gap: 1.5rem 3rem; }
.hy-about-page .hy-about-cta__action { align-content: start; }
.hy-about-page .hy-about-identity,
.hy-about-page .hy-about-support { gap: 2rem 3rem; }
.hy-about-page .hy-about-gallery__head { margin-bottom: 2rem; }
.hy-footer .hy-footer__meta p { margin-block: 0; }
.hy-footer .hy-footer-links { margin-block: 1rem 1.5rem; }
.hy-product-hub-logic > .hy-shell { grid-template-columns: 1fr; gap: 1.5rem; }
.hy-product-hub-logic ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; }
.hy-product-hub-logic li { grid-template-columns: 1fr; align-content: start; gap: .5rem; padding-block: 1.25rem; }
.hy-project-fit__head { grid-template-columns: 1fr; gap: .75rem; align-items: start; }
.hy-project-fit__head .hy-heading { max-width: none; }
.hy-product-colorways__head,.hy-product-range__summary,.hy-inquiry-form-panel__head { align-items: start; }
.hy-resource-grid h2 { margin: 0 0 .75rem; }
.hy-resource-grid p { margin: 0 0 1rem; }
.hy-application-hero__media img { position: absolute; inset: 0; }
@media(max-width:560px) {
 .hy-product-hub-logic ol { grid-template-columns: 1fr; gap: 0; }
 .hy-application-hero__media { min-height: 18rem; }
}
@media(max-width:900px) {
 .hy-intro__grid { grid-template-columns: 1fr; }
 .hy-intro__visual { min-height: 28rem; }
 .hy-system-selector__head { grid-template-columns: 1fr; gap: 1rem; }
}
@media(max-width:560px) {
 .hy-product-hub-hero { padding-block: 2.5rem 2rem; }
 .hy-hero { min-height: 0; padding-block: 7.5rem 3rem; }
 .hy-hero__copy .hy-display { font-size: 2.65rem; }
 .hy-intro__visual { min-height: 23rem; }
 .hy-solution-tile { min-height: 18rem; }
 .hy-hero__copy .wp-block-buttons { gap: .75rem; }
}
