/* Shared brand and responsive refinements. Retain the approved typography and artwork. */
:root{--red:#7a1631;--blue:#7a1631;--blue-dark:#591025;--forest:#7a1631;--gold:#7a1631}
.dropdown{max-height:calc(100dvh - 155px);overflow-y:auto;overscroll-behavior:contain}
.classic-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);align-items:center;gap:48px}
.hero .homepage-skyline-logo{display:block;width:100%;max-width:370px;height:auto;justify-self:end;margin:0}
.classic-hero-copy{min-width:0}
@media(max-width:1100px){
 .nav-row{position:relative}
 nav.main{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);border-bottom:1px solid var(--hairline);flex-direction:column;align-items:stretch;padding:12px;gap:2px;max-height:70dvh;overflow-y:auto}
 nav.main.open{display:flex}
 .hamburger{display:block;min-width:44px;min-height:44px}
 .dropdown{position:static;display:none;box-shadow:none;border:none;border-left:2px solid var(--hairline);margin-left:12px;min-width:0;max-height:none;overflow:visible}
 .practice-group.open>.dropdown{display:block}
}
@media(max-width:760px){
 .grid.c2,.grid.c3{grid-template-columns:minmax(0,1fr)}
 .grid>*{min-width:0}
 .term{white-space:normal}
 .term::before{position:fixed;left:16px;right:16px;bottom:16px;width:auto;transform:none;box-sizing:border-box}
 .card,.btn,.info-block{overflow-wrap:anywhere;max-width:100%;box-sizing:border-box}
 table.fees,table.fees tbody,table.fees tr,table.fees td{display:block;width:100%;box-sizing:border-box}
 table.fees thead,table.fees tr:has(th){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 table.fees tr{padding:12px 0;border-bottom:1px solid var(--hairline)}
 table.fees td{padding:6px 14px;border:0;font-size:15px;white-space:normal}
 table.fees td::before{content:attr(data-label);display:block;font-family:var(--mono);font-size:10px;letter-spacing:1px;font-weight:700;color:var(--red,#7A1631)}
 table.fees td.fee{white-space:normal}
 .classic-hero-grid{grid-template-columns:1fr;gap:26px}
 .hero .homepage-skyline-logo{width:min(68vw,270px);justify-self:center}
}
@media(max-width:380px){
 .logo small{font-size:9px;letter-spacing:1.2px}
 .nav-row{gap:10px}
 .topbar .wrap>span:last-child{white-space:normal}
}
