/* Scoped to this three-page extension of the existing Product system. */
.four-attachment-product { --attachment-paper:#f2f1ee; --attachment-navy:#061a29; }
.four-attachment-product [hidden] { display:none!important; }
.four-attachment-product p { line-height:1.7; }
.four-attachment-product h2 { line-height:1.13; }
.four-attachment-product figure { margin:0; }
.four-attachment-product figure img { width:100%; height:auto; display:block; }
.four-attachment-product figcaption { font-size:.9rem; line-height:1.6; padding:1rem 0; }
.attachment-hero { --internal-hero-min-height:clamp(43rem,calc(100svh - 4.5rem),57rem); background:#061a29; }
.attachment-hero .internal-hero__media { left:42%; width:58%; }
.attachment-hero .internal-hero__media img { width:auto; max-width:100%; left:50%; transform:translateX(-50%); object-fit:contain; object-position:center; mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 90%,transparent 100%); }
.attachment-hero::after { background:linear-gradient(90deg,#061a29 0%,rgb(6 26 41 / 98%) 27%,rgb(6 26 41 / 60%) 45%,rgb(6 26 41 / 0%) 65%); }
.attachment-hero .internal-hero__content { padding-block:0; }
.attachment-hero-copy { width:min(100%,32rem); justify-content:center; padding-block:4rem; }
.attachment-hero-copy h1 { margin:0; font-size:clamp(3.2rem,4.8vw,4.7rem); line-height:1.05; }
.attachment-hero-copy .lead { font-size:1.15rem; margin-top:2rem; max-width:28rem; }
.attachment-hero-copy .actions { margin-top:3rem; gap:1.25rem; flex-wrap:wrap; padding-top:0; }
.four-attachment-product .grass-overview__intro { margin-bottom:3.5rem; }
.four-attachment-product #overview { padding-bottom:0; }
.four-attachment-product .grass-overview__definition p+p { margin-top:1.5rem; font-size:1.05rem; }
.attachment-evidence-band { display:grid; grid-template-columns:1fr 1fr; align-items:center; background:var(--attachment-paper); }
.attachment-evidence-band figure { align-self:start; }
.attachment-evidence-band figcaption { padding-inline:2rem; }
.attachment-band-copy { padding:3rem max(2rem,calc((100vw - 80rem)/2)) 3rem clamp(2rem,5vw,5rem); }
.attachment-band-copy h3 { font-size:clamp(1.8rem,2.5vw,2.5rem); line-height:1.2; margin:0 0 1.5rem; color:var(--navy); }
.attachment-band-copy p { color:#42525d; max-width:32rem; }
.attachment-evidence-band--reverse .attachment-band-copy { padding:3rem clamp(2rem,5vw,5rem) 3rem max(2rem,calc((100vw - 80rem)/2)); }
.attachment-dark { color:#fff; background:var(--attachment-navy); }
.attachment-dark h2,.attachment-dark h3 { color:#fff; }
.attachment-dark p,.attachment-dark figcaption { color:#d2dbe0; }
.attachment-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,7vw,7rem); align-items:start; }
.attachment-heading h2 { font-size:clamp(2.3rem,3.8vw,3.8rem); margin:0; }
.attachment-heading p { margin-top:0; }
.attachment-detail-band { display:grid; grid-template-columns:1fr 1.15fr; align-items:start; gap:0; margin-top:3.5rem; }
.attachment-detail-band figure+figure { margin-top:5rem; }
.attachment-detail-band figcaption { padding-inline:2rem; }
.attachment-asymmetric { display:grid; grid-template-columns:1.05fr .8fr; gap:clamp(3rem,7vw,7rem); align-items:center; }
.attachment-heading + .attachment-asymmetric { margin-top:3.5rem; }
.attachment-asymmetric h2 { font-size:clamp(2.3rem,3.6vw,3.6rem); }
.attachment-asymmetric h3 { font-size:clamp(1.7rem,2.5vw,2.5rem); line-height:1.2; }
.attachment-match { background:var(--attachment-paper); }
.attachment-match-layout { display:grid; grid-template-columns:1fr .8fr; gap:clamp(3rem,7vw,7rem); align-items:center; }
.attachment-match h2 { font-size:clamp(2.3rem,3.4vw,3.4rem); margin:0 0 1.5rem; }
.attachment-match p { color:#42525d; max-width:38rem; }
.attachment-match .button { margin-top:1.5rem; }
.attachment-spec-copy { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
.attachment-spec-copy h3 { font-size:1.6rem; line-height:1.3; }
.attachment-table { min-width:42rem; font-size:1rem; }
.attachment-table th,.attachment-table td { padding:1rem; }
.attachment-table thead th { white-space:normal; line-height:1.4; }
.four-attachment-product .grass-spec-table-wrap:focus-visible { outline:2px solid var(--gold); }
.four-attachment-product .rfq-title { font-size:clamp(3rem,5vw,5rem); line-height:1.15; }
.four-attachment-product .ap-rfq-independent { display:inline-block; margin-top:1.5rem; color:var(--gold); }
.four-attachment-product .ap-rfq__helper { font-size:.85rem; color:#d2dde2; margin:0; }
@media(max-width:64.03rem) {
 .attachment-hero-copy { width:26rem; }
 .attachment-hero-copy h1 { font-size:3.4rem; }
 .attachment-hero .internal-hero__media { left:40%; width:60%; }
 .attachment-heading { gap:2.5rem; }
}
@media(max-width:48.03rem) {
 .attachment-hero { --internal-hero-min-height:0; }
 .attachment-hero-copy h1 { position:absolute; top:2.5rem; font-size:clamp(2.6rem,9.5vw,3.6rem); left:var(--content-gutter); right:var(--content-gutter); }
 .attachment-hero-copy .lead { position:absolute; top:7.3rem; left:var(--content-gutter); right:var(--content-gutter); font-size:1rem; margin:0; }
 .attachment-hero-copy .actions { margin-top:1.5rem; gap:1rem; }
 .attachment-evidence-band,.attachment-heading,.attachment-asymmetric,.attachment-match-layout,.attachment-spec-copy { grid-template-columns:1fr; }
 .attachment-evidence-band--reverse figure { order:-1; }
 .attachment-band-copy,.attachment-evidence-band--reverse .attachment-band-copy { padding:2rem var(--content-gutter) 3rem; }
 .attachment-detail-band { grid-template-columns:1fr; }
 .attachment-detail-band figure+figure { width:85%; margin:2rem var(--content-gutter) 0 auto; }
 .attachment-heading { gap:1.5rem; }
 .attachment-asymmetric,.attachment-match-layout { gap:2rem; }
 .attachment-match figure { width:85%; justify-self:end; }
 .attachment-table { font-size:.93rem; }
 .four-attachment-product .grass-overview__intro h2 { font-size:2.5rem; line-height:1.15; }
}
/* Bounded 2026-10-14 visual candidate, following the qualified QC pilot. */
.attachment-hero { --internal-hero-min-height:clamp(32rem,41.67vw,50rem); }
.attachment-hero .internal-hero__media { inset:0; width:100%; height:100%; }
.attachment-hero .internal-hero__media img { width:100%; max-width:none; left:0; transform:none; object-fit:contain; object-position:center; mask-image:none; }
.attachment-hero::after { background:linear-gradient(90deg,rgb(6 26 41 / 83%) 0%,rgb(6 26 41 / 67%) 28%,rgb(6 26 41 / 24%) 49%,transparent 67%); }
.attachment-hero-copy { width:min(100%,31rem); padding-block:3rem; }
.attachment-hero-copy h1 { font-size:clamp(3rem,4.8vw,4.6rem); line-height:1.1; }
.attachment-hero-copy .lead { margin-top:1.5rem; }
.attachment-hero-copy .actions { margin-top:2rem; }
.attachment-evidence-band { display:flex; flex-direction:column; gap:2.5rem; background:transparent; padding-bottom:6rem; }
.attachment-band-copy,.attachment-evidence-band--reverse .attachment-band-copy { order:-1; padding:0; width:100%; max-width:46rem; align-self:flex-start; }
.attachment-band-copy p { max-width:46rem; }
.attachment-evidence-band figure { align-self:center; width:min(100%,36rem); }
.attachment-evidence-band figure img { max-height:36rem; object-fit:contain; }
.attachment-evidence-band figcaption { padding-inline:0; }
.attachment-detail-band { display:flex; flex-direction:column; gap:3.5rem; align-items:center; }
.attachment-detail-band figure { width:min(100%,45rem); }
.attachment-detail-band figure:first-child { width:min(100%,31.5rem); }
.attachment-detail-band figure+figure { width:min(100%,50rem); margin-top:0; }
.attachment-detail-band figure img { max-height:42rem; object-fit:contain; }
.attachment-detail-band figcaption { padding-inline:0; }
.attachment-asymmetric { gap:3.5rem; }
.attachment-asymmetric figure { width:min(100%,32rem); justify-self:center; }
.attachment-asymmetric figure img { max-height:32rem; object-fit:contain; }
@media(max-width:48.03rem) {
 .attachment-evidence-band { gap:2rem; padding-bottom:3.5rem; }
 .attachment-evidence-band--reverse figure { order:0; }
 .attachment-evidence-band figure img,.attachment-detail-band figure img,.attachment-asymmetric figure img { max-height:none; }
 .attachment-detail-band { gap:2.5rem; }
 .attachment-detail-band figure+figure { width:100%; margin:0; }
 .attachment-asymmetric { gap:2.5rem; }
}

/* Owner 2026-10-14: one continuous photo with left overlay at every width. */
.attachment-hero { --internal-hero-min-height:0; min-height:0; display:grid; aspect-ratio:1942 / 809; }
.attachment-hero .internal-hero__media,
.attachment-hero .internal-hero__media picture,
.attachment-hero .internal-hero__media img { position:absolute; inset:0; width:100%; height:100%; padding:0; }
.attachment-hero .internal-hero__media img { max-width:none; max-height:none; transform:none; object-fit:cover; object-position:center; mask-image:none; }
.attachment-hero::after { display:block; background:linear-gradient(90deg,rgb(6 26 41 / 83%) 0%,rgb(6 26 41 / 67%) 28%,rgb(6 26 41 / 24%) 49%,transparent 67%); }
.attachment-hero .internal-hero__content { position:relative; height:100%; min-height:0; padding-block:0; }
.attachment-hero-copy { min-height:0; width:min(31rem,38vw); padding-block:2.5rem; justify-content:center; }
.attachment-hero-copy h1 { white-space:normal; max-width:100%; text-wrap:pretty; }
.attachment-hero-copy .lead { max-width:26ch; text-wrap:pretty; hyphens:none; overflow-wrap:normal; }
.attachment-hero-copy .actions { max-width:100%; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
@media(max-width:64.03rem) and (min-width:48.04rem) {
 .attachment-hero-copy { width:38vw; padding-block:1.5rem; }
 .attachment-hero-copy h1 { font-size:clamp(2rem,4.4vw,3rem); }
 .attachment-hero-copy .lead { font-size:1rem; margin-top:1rem; line-height:1.5; }
 .attachment-hero-copy .actions { margin-top:1.25rem; gap:.75rem; }
 .attachment-hero-copy .actions a { padding:.65rem .8rem; font-size:.8rem; }
}
@media(max-width:48.03rem) {
 .attachment-hero { aspect-ratio:auto; height:max(11.25rem,41.67vw); }
 .attachment-hero .internal-hero__media img { object-position:70% center; }
 .attachment-hero .internal-hero__content { width:calc(100% - 2rem); }
 .attachment-hero-copy { width:46%; padding-block:.5rem; }
 .attachment-hero-copy h1 { position:static; width:auto; font-size:clamp(1.25rem,3.6vw,2.2rem); line-height:1.1; letter-spacing:-.03em; }
 .attachment-hero-copy .lead { position:static; width:auto; font-size:clamp(.75rem,2.05vw,1rem); line-height:1.35; margin-top:.4rem; max-width:100%; }
 .attachment-hero-copy .actions { margin-top:.5rem; gap:.25rem; flex-direction:column; align-items:flex-start; }
 .attachment-hero-copy .actions a { font-size:clamp(.7rem,1.7vw,.8rem); min-height:clamp(1.75rem,4.2vw,2.25rem); padding:.3rem .55rem; line-height:1.2; }
 .attachment-hero-copy .actions .button--text { padding:.3rem 0; }
}
.attachment-hero-copy .hero-phrase { display:inline-block; max-width:100%; vertical-align:top; }
