/* Approved Harbor Grit homepage refinement; scoped to the homepage. */

.homepage-refined .alive-hero { padding:var(--space-hero-top) 0 48px; }
.homepage-refined .alive-h1 { font-size:clamp(2rem,4.3vw,3.25rem); line-height:1.05; max-width:20ch; letter-spacing:-.035em; margin-bottom:24px; text-wrap:balance; }
.homepage-refined .alive-h2 { font-size:clamp(1.5rem,3vw,2rem); line-height:1.12; }
.homepage-refined .alive-sub { max-width:52ch; font-size:17px; line-height:1.6; }
.homepage-refined .alive-hero-grid { gap:48px; align-items:center; }
.homepage-refined .alive-window-head { background:var(--ink); color:var(--paper); padding:16px; border-left:6px solid var(--signal); }
.homepage-refined .alive-window-body { min-height:240px; }
.homepage-refined .alive-floor-feed { padding-top:16px; }
.homepage-refined .alive-floor-feed li { padding:16px 0; }
.homepage-refined .alive-section { padding:40px 0 48px; }
.homepage-refined .alive-section .alive-sub { max-width:72ch; }
.homepage-refined .alive-section .alive-roster { margin-top:16px; }
.homepage-refined .alive-roster-row { padding:12px 16px; }
.homepage-refined .team-expand { background:var(--hg-paper); border:2px solid var(--ink); border-top:0; }
.homepage-refined .team-expand summary { cursor:pointer; display:flex; justify-content:space-between; padding:16px; font:600 13px "IBM Plex Mono",monospace; }
.homepage-refined .team-expand .alive-roster { margin:0; border:0; border-top:2px solid var(--ink); }
.homepage-refined #start { padding-top:64px; }
.homepage-refined .section-head { margin-bottom:32px; }
.homepage-refined .section-head p { max-width:65ch; }
.homepage-refined .doors { gap:32px; }
.homepage-refined .door { display:flex; flex-direction:column; padding:32px; }
.homepage-refined .door .price-list { flex:1; }
.homepage-refined .door .btn { align-self:flex-start; }
.homepage-refined .portfolio-wall { gap:24px; }
.homepage-refined .product { display:flex; flex-direction:column; }
.homepage-refined .product-shot { aspect-ratio:4/3; background:var(--paper); }
.homepage-refined .product-shot img { width:100%; height:100%; object-fit:contain; }
.homepage-refined .product-action { margin-top:auto; padding-top:20px; }
@media(max-width:999px) {
 .homepage-refined .alive-roster-row { grid-template-columns:1fr 1fr; gap:8px; }
 .homepage-refined .alive-roster-role { grid-column:1/-1; }
 .homepage-refined .alive-roster-nums { display:none; }
}
@media(max-width:719px) {
 .homepage-refined .alive-hero { padding:40px 0; }
 .homepage-refined .alive-hero-grid { gap:32px; }
 .homepage-refined .alive-window { margin-right:8px; }
 .homepage-refined .alive-h1 { font-size:clamp(2rem,8.5vw,2.75rem); }
 .homepage-refined .alive-section { padding:32px 0; }
 .homepage-refined .door { padding:24px; }
 .homepage-refined .doors { gap:24px; }
 .homepage-refined #start { padding-top:40px; }
}

.homepage-refined .product-shot picture { display:block; width:100%; height:100%; }
.homepage-refined .team-expand[open] summary span { font-size:0; }
.homepage-refined .team-expand[open] summary span::after { content:"−"; font-size:16px; }
@media(max-width:999px) {
 .homepage-refined .alive-roster-seat { grid-column:1; grid-row:1; }
 .homepage-refined .alive-roster-name { grid-column:2; grid-row:1; }
 .homepage-refined .alive-roster-role { grid-column:1; grid-row:2; }
 .homepage-refined .alive-roster-meta { grid-column:2; grid-row:2; justify-self:end; }
}
