/* Shared product heading. Hero placement remains with each existing adapter.
   Normal typography matches the approved ZP/APT/CP header cascade. */
@font-face{font-family:"Tool Product Heading Anton";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/anton-latin.woff2") format("woff2")}
.tool-product-heading[data-tool-product-heading]{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 27%;gap:6px 12px;align-items:start;container-type:inline-size}
.tool-product-heading[data-tool-product-heading],.tool-product-heading[data-tool-product-heading] *{box-sizing:border-box}
.tool-product-heading[data-tool-product-heading] .tool-product-brand{grid-column:1;grid-row:1;margin:0;padding:0;font:700 clamp(23px,2.55vw,38px)/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.025em;color:#101315}
.tool-product-heading[data-tool-product-heading] .tool-product-brand-mark{font-size:.45em;line-height:0;vertical-align:super;margin-left:.08em}
.tool-product-heading[data-tool-product-heading] .tool-product-logo{display:block;width:100%;max-width:220px;aspect-ratio:480 / 291;justify-self:end;grid-column:2;grid-row:1 / 3}
.tool-product-heading[data-tool-product-heading] .tool-product-logo img{display:block;width:100%;height:100%;max-width:100%;aspect-ratio:480 / 291;object-fit:contain;object-position:right top}
.tool-product-heading[data-tool-product-heading] .tool-product-logo:focus-visible{outline:3px solid #164f8b;outline-offset:3px}
.tool-product-heading[data-tool-product-heading] .tool-product-title{grid-column:1 / -1;grid-row:2;min-width:0;margin:0;padding:0;font-family:"Tool Product Heading Anton",Impact,"Arial Narrow",sans-serif;font-style:normal;font-weight:400;font-synthesis:none;letter-spacing:0;line-height:1.06;color:#080b0d;text-transform:none;overflow-wrap:normal}
.tool-product-heading[data-tool-product-heading] .tool-product-model{display:block;font-size:clamp(54px,6.35vw,96px);font-size:clamp(54px,12.3cqw,96px);line-height:1.1}
.tool-product-heading[data-tool-product-heading] .tool-product-type{display:block;font-size:clamp(36px,4.4vw,66px);font-size:clamp(36px,8.4cqw,66px);line-height:1.12;margin-top:3px}
.tool-product-heading[data-tool-product-heading] .tool-product-qualifier{display:block;margin-top:14px;font:700 20px/1.35 Arial,Helvetica,sans-serif;letter-spacing:0;text-transform:none}
.tool-product-heading[data-tool-product-heading][data-tool-has-logo="false"]{grid-template-columns:minmax(0,1fr)}
.tool-product-heading[data-tool-product-heading] .tool-product-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Reuse the established explicit long-title treatment; adapters supply the flag. */
.tool-product-heading.tool-product-heading--long[data-tool-product-heading] .tool-product-logo{grid-row:1}
.tool-product-heading.tool-product-heading--long[data-tool-product-heading] .tool-product-title{overflow-wrap:anywhere}
.tool-product-heading.tool-product-heading--long[data-tool-product-heading] .tool-product-model{font-size:clamp(42px,5.5vw,84px);font-size:clamp(42px,10.6cqw,84px)}
.tool-product-heading.tool-product-heading--long[data-tool-product-heading] .tool-product-type{font-size:clamp(32px,4vw,60px);font-size:clamp(32px,7.6cqw,60px)}
@media(max-width:900px){
 .tool-product-heading[data-tool-product-heading]{width:100%;gap:8px 12px;grid-template-columns:minmax(0,1fr) 29%}
 .tool-product-heading[data-tool-product-heading] .tool-product-logo{grid-row:1}
 .tool-product-heading[data-tool-product-heading] .tool-product-brand{font-size:clamp(18px,5.3vw,36px);line-height:1.2}
 .tool-product-heading[data-tool-product-heading] .tool-product-model{font-size:clamp(48px,13vw,86px);font-size:clamp(48px,13cqw,86px)}
 .tool-product-heading[data-tool-product-heading] .tool-product-type{font-size:clamp(32px,8.7vw,59px);font-size:clamp(32px,8.7cqw,59px);margin-top:1px}
 .tool-product-heading[data-tool-product-heading] .tool-product-qualifier{font-size:18px;margin-top:8px}
 .tool-product-heading.tool-product-heading--long[data-tool-product-heading] .tool-product-model{font-size:clamp(38px,10.6vw,78px);font-size:clamp(38px,10.6cqw,78px)}
 .tool-product-heading.tool-product-heading--long[data-tool-product-heading] .tool-product-type{font-size:clamp(29px,8vw,56px);font-size:clamp(29px,8cqw,56px)}
}
@media(max-width:359px){.tool-product-heading[data-tool-product-heading] .tool-product-brand{font-size:16px}}

/* Preserve the ZP subtitle spacing whether the qualifier belongs in the H1 or follows it. */
.tool-product-heading[data-tool-product-heading] .tool-product-title>.tool-product-qualifier{margin-top:14px}
.tool-product-heading[data-tool-product-heading]>.tool-product-qualifier--outside{grid-column:1 / -1;grid-row:3;margin:8px 0 0}
@media(max-width:900px){.tool-product-heading[data-tool-product-heading] .tool-product-title>.tool-product-qualifier{margin-top:16px}}
/* Existing product families keep their gallery and copy layout. */
.cp-product-layout>.tool-product-heading,#viper-zp-refresh .zp-hero>.tool-product-heading,#chipping-family-refresh .zp-hero>.tool-product-heading,[data-apt-product] .apt-product-layout>.tool-product-heading{grid-column:2;grid-row:1}
/* Retire the compact trial's narrower page cap for the shared product header. */
.product-main.compact571:has([data-tool-product-heading]){max-width:1440px}
