/* Page composition. Shared brand tokens and chrome remain in hero.css / pages.css. */
.a-page h1,.a-page h2,.a-page h3 { text-wrap: balance; }
.a-page main { overflow: clip; }
.a-wrap { max-width:1280px; margin-inline:auto; }
.a-section { padding:clamp(56px,7vw,100px) var(--gutter); }
.a-section h2 { margin:0; font-size:clamp(2rem,4vw,3.6rem); line-height:1.06; letter-spacing:-.03em; }
.a-section p { color:var(--text-2); }
.a-intro { display:grid; grid-template-columns:1fr 1fr; gap:32px 80px; align-items:start; }
.a-intro > div > p { font-size:17px; line-height:1.6; max-width:44ch; margin:20px 0 0; }
.a-intro .ticks { margin:0; }
.a-page .ticks a,.a-page .a-cell-copy a,.a-page .a-note a { color:var(--gold-2); text-decoration:underline; text-underline-offset:4px; }
.a-page .ticks li { padding-block:10px; }
.a-text-link { display:inline-flex; align-items:center; gap:14px; min-height:44px; font-size:14px; font-weight:600; color:var(--text); }
.a-text-link:hover { color:var(--gold-2); }
.a-page .hero-actions { gap:16px 24px; }
.a-page .hero-actions svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; }
.a-page .page-kicker { border-top:1px solid var(--gold); padding-top:13px; width:fit-content; min-width:110px; }
.a-photo-grid { margin:44px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 28px; }
.a-photo-cell { min-width:0; }
.a-photo-cell figure { margin:0; overflow:hidden; background:var(--bg-2); }
.a-photo-cell figure img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.a-cell-copy { display:grid; grid-template-columns:32px 1fr; gap:14px; padding:18px 0 0; border-top:1px solid var(--line); margin-top:14px; }
.a-num { color:var(--gold); font-size:14px; line-height:1.5; font-variant-numeric:tabular-nums; }
.a-cell-copy h3 { margin:0; font-size:clamp(19px,1.8vw,25px); line-height:1.2; font-weight:600; letter-spacing:-.015em; }
.a-cell-copy p { margin:9px 0 0; font-size:15px; line-height:1.55; max-width:48ch; }
.a-note { margin:28px 0 0; font-size:15px; }
.a-rule { border-top:1px solid var(--line); }
.a-page .sec-cta { padding-top:0; }
.a-page .cta-inner h2 { font-size:clamp(2rem,3.2vw,3rem); }
.a-page .sec-cta .btn { white-space:normal; text-align:center; }
#scope,#contact { scroll-margin-top:calc(var(--nav-h) + 24px); }
@media(max-width:759px) {
 .a-intro { grid-template-columns:1fr; gap:26px; }
 .a-photo-grid { grid-template-columns:1fr; gap:36px; margin-top:32px; }
 .a-cell-copy { grid-template-columns:28px 1fr; gap:10px; padding-top:14px; margin-top:12px; }
 .a-cell-copy h3 { font-size:22px; }
 .a-cell-copy p { font-size:15px; }
 .a-page .hero-actions { align-items:flex-start; }
 .a-page .hero-actions .btn { width:auto; min-height:48px; white-space:normal; }
 .a-page .hero-actions .a-text-link { min-height:44px; }
}

.a-page .page-hero { min-height:720px; padding-top:calc(var(--nav-h) + 74px); padding-bottom:64px; align-items:center; }
.a-page .page-hero-bg { left:36%; }
.a-page .page-hero-bg img { object-position:45% 50%; }
.a-page .page-hero-shade { background:linear-gradient(90deg,var(--bg) 22%,rgba(14,14,13,.88) 38%,rgba(14,14,13,0) 69%),linear-gradient(180deg,rgba(14,14,13,.25),transparent 25%,transparent 80%,var(--bg)); }
.a-page .page-hero .hero-title { font-size:clamp(3.8rem,6.6vw,6rem); max-width:11ch; line-height:1.02; letter-spacing:-.04em; }
.a-page .page-hero .hero-line { max-width:35ch; font-size:18px; line-height:1.55; margin-top:24px; }
.a-page .page-hero .hero-actions { max-width:450px; }
@media(max-width:759px) {
 .a-page .page-hero { display:flex; flex-direction:column; align-items:stretch; padding:0 0 36px; min-height:0; }
 .a-page .page-hero-bg { position:relative; inset:auto; height:350px; width:100%; }
 .a-page .page-hero-bg img { object-position:50% 43%; }
 .a-page .page-hero-shade { inset:0 0 auto; height:351px; background:linear-gradient(180deg,rgba(14,14,13,.35),transparent 35%,transparent 70%,var(--bg)); }
 .a-page .page-hero-content { padding:0 var(--gutter); margin-top:-18px; }
 .a-page .page-hero .hero-title { font-size:clamp(2.8rem,12vw,4.2rem); max-width:15ch; }
 .a-page .page-hero .hero-line { font-size:16px; margin-top:16px; max-width:38ch; }
 .a-page .page-kicker { margin-bottom:18px; }
 .a-page .hero-actions { margin-top:24px; }
}

.a-install-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
.a-install-grid .a-photo-cell { grid-column:span 3; }
.a-install-grid .a-photo-cell:nth-child(-n+2) { grid-column:span 6; }
.a-install-grid .a-photo-cell:nth-child(n+3) .a-cell-copy { grid-template-columns:24px 1fr; gap:8px; }
.a-install-grid .a-photo-cell:nth-child(n+3) h3 { font-size:21px; }
.a-install-proof .band-proof { max-width:none; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.a-install-proof .band-proof dt b { display:block; font-size:clamp(3rem,5vw,4.6rem); margin-bottom:14px; }
.a-install-proof .band-proof dt { min-height:134px; color:var(--text); }
.a-install-proof .a-text-link { margin-top:28px; color:var(--gold-2); }
.a-install-proof .a-text-link svg { width:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
.a-install-proof .band-shade { background:rgba(14,14,13,.83); }
@media(max-width:999px) { .a-install-grid .a-photo-cell { grid-column:span 6; } .a-install-proof .band-proof { grid-template-columns:1fr 1fr; gap:28px; } }
@media(max-width:759px) { .a-install-grid { grid-template-columns:1fr; } .a-install-grid .a-photo-cell,.a-install-grid .a-photo-cell:nth-child(-n+2) { grid-column:auto; } .a-install-proof .band-proof { gap:28px 18px; } .a-install-proof .band-proof dt { min-height:126px; font-size:14px; } .a-install-proof .band-proof dd { font-size:14px; } }

/* 2026-10-09 hero photo (two fitters hanging a wall unit): keep them in frame on desktop, keep their hard hats clear of the top on phones */
@media (min-width: 760px) { .a-installation .page-hero-bg img { object-position: 70% 50%; } }
@media (max-width: 759px) { .a-installation .page-hero-bg img { object-position: 50% 0%; } }

