.firstscreen { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); column-gap:52px; row-gap:20px; align-items:start; margin-bottom:34px; }
.firstscreen-title { grid-column:1; grid-row:1; align-self:end; min-width:0; }
.firstscreen-title .eyebrow { margin-bottom:14px; font-size:11px; line-height:1.5; }
.firstscreen-title h1 { font-size:clamp(34px,4.2vw,56px); letter-spacing:-1.2px; line-height:1.12; margin:0; overflow-wrap:break-word; }
.firstscreen-title .selection-start-price { margin:16px 0 0; font-size:27px; }
.firstscreen-media { grid-column:2; grid-row:1 / span 3; align-self:center; width:100%; min-width:0; margin:0; background:#fff; border:1px solid var(--line); overflow:hidden; }
.firstscreen-media img { display:block; width:100%; height:clamp(300px,32vw,410px); object-fit:contain; }
.firstscreen-media-cover img { object-fit:cover; }
.firstscreen-media figcaption { padding:10px 16px 12px; font-size:11px; line-height:1.5; color:var(--muted); }
.firstscreen-copy { grid-column:1; grid-row:2; min-width:0; color:var(--muted); max-width:580px; font-size:16px; line-height:1.7; }
.firstscreen-actions.hero-request-actions { grid-column:1; grid-row:3; margin:0; align-self:start; display:flex; flex-wrap:wrap; gap:16px 24px; }
.firstscreen-actions .button { gap:20px; }
.service-page .service-process { margin-top:42px; }
.firstscreen + .service-group-links { margin-top:24px; }
.service-directory-list a { justify-content:flex-start; }
.service-directory-thumb { flex:0 0 64px; width:64px; height:64px; object-fit:contain; background:white; border:1px solid var(--line); }
.service-directory-list a > span:last-child { margin-left:auto; }
.catalog-collection-link > span:first-of-type { align-self:center; }
@media(max-width:1000px) { .firstscreen { column-gap:28px; } .firstscreen-title h1 { font-size:40px; } }
@media(max-width:700px) {
 .firstscreen { grid-template-columns:minmax(0,1fr); row-gap:18px; margin-bottom:28px; }
 .firstscreen-title { grid-column:1; grid-row:1; }
 .firstscreen-title .eyebrow { margin-bottom:9px; font-size:10px; letter-spacing:1.2px; }
 .firstscreen-title h1 { font-size:clamp(29px,8.2vw,36px); line-height:1.12; letter-spacing:-.7px; }
 .firstscreen-title .selection-start-price { font-size:23px; margin-top:10px; }
 .firstscreen-media { grid-column:1; grid-row:2; }
 .firstscreen-media img { height:220px; }
 .firstscreen-media-cover img { object-position:center; }
 .firstscreen-media figcaption { font-size:10px; padding:7px 11px 9px; }
 .firstscreen-copy { grid-column:1; grid-row:3; font-size:14px; line-height:1.65; }
 .firstscreen-actions.hero-request-actions { grid-column:1; grid-row:4; gap:14px; }
 .firstscreen-actions .button { width:100%; justify-content:center; }
 .service-directory-thumb { flex-basis:48px; width:48px; height:48px; }
 .service-page .service-process { margin-top:30px; }
}
@media(max-height:700px) and (max-width:700px) { .firstscreen-media img { height:190px; } }

.material-option-visual { min-height:280px; margin:0 0 20px; background:white; border-bottom:1px solid var(--line); } .material-option-visual img { width:100%; height:230px; object-fit:contain; } .material-option-visual figcaption { font-size:10px; line-height:1.5; color:var(--muted); padding:8px 0 12px; }
