/* 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; }
}

/* ---- Re-aim (2026-09-21): hero two-door framing + product shot ---- */
.homepage-refined .hero-doors { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 12px; }
.homepage-refined .hero-door { display:flex; flex-direction:column; gap:2px; flex:1 1 180px; min-width:180px; padding:12px 16px; border:2px solid var(--ink); background:var(--paper); color:var(--ink); text-decoration:none; }
.homepage-refined .hero-door b { font:900 15px/1.2 var(--hg-font-mark, "Archivo Black", sans-serif); }
.homepage-refined .hero-door span { font:600 12px/1.4 var(--hg-font-mono, "IBM Plex Mono", monospace); color:var(--hg-muted, #5a5a5a); }
.homepage-refined .hero-door:hover, .homepage-refined .hero-door:focus-visible { box-shadow:var(--hg-shadow-sm, 4px 4px 0 #171717); transform:translate(-1px,-1px); }
.homepage-refined .hero-shot { margin:0; }
.homepage-refined .hero-shot .alive-window-body { padding:16px; }
.homepage-refined .hero-shot img { display:block; width:100%; height:auto; }
