/* Homepage header: keep search beside navigation instead of a second row. */
.topnav{min-height:64px;padding:8px 20px;grid-template-columns:auto minmax(0,1fr) minmax(180px,280px) 44px;gap:16px}
.topnav>.search-box{grid-column:3;grid-row:1;justify-self:stretch;width:100%;min-width:0;height:36px}
.topnav>.search-box input{min-width:0}
.topnav>.theme-switch{grid-column:4;grid-row:1}
@media(min-width:1201px){
 .topnav>.nav-toggle{display:none}
 .topnav>.nav-links,.topnav>.nav-links.open{display:flex;position:static;grid-column:2;grid-row:1;flex-direction:row;justify-self:center;gap:20px;border:0;background:transparent}
 .topnav>.nav-links a{padding:0;border:0;font-size:14px;white-space:nowrap}
}
@media(max-width:1200px){
 .topnav{grid-template-columns:auto minmax(0,1fr) 44px 44px;gap:12px}
 .topnav>.search-box{grid-column:2;grid-row:1}
 .topnav>.nav-toggle{display:block;grid-column:3;grid-row:1;justify-self:center}
 .topnav>.nav-links{display:none;position:absolute;top:100%;left:0;right:0;grid-column:1/-1;flex-direction:column;gap:0;background:var(--surface);border-bottom:1px solid var(--border);z-index:60}
 .topnav>.nav-links.open{display:flex}
 .topnav>.nav-links a{padding:14px 20px;border-top:1px solid var(--border);font-size:15px}
}
@media(max-width:600px){
 .topnav{min-height:60px;padding:8px 12px;gap:6px;grid-template-columns:auto minmax(0,1fr) 44px 44px}
 .topnav .ttn-brand-title{font-size:20px;letter-spacing:-.7px}
 .topnav .ttn-brand-tagline{display:none}
 .topnav>.search-box{padding:6px;gap:4px}
 .topnav>.search-box input{font-size:12px}
 .topnav>.nav-toggle{padding:11px;width:44px}
}
@media(max-width:1200px) and (pointer:coarse){.topnav{grid-template-columns:auto minmax(0,1fr) 44px 44px}.topnav>.nav-toggle{min-height:44px}}
/* Eight section links still leave room for search above the compact breakpoint. */
@media(min-width:1201px) and (max-width:1399px){.topnav{grid-template-columns:auto minmax(0,1fr) minmax(160px,220px) 44px;gap:12px}.topnav>.nav-links{gap:12px}.topnav>.nav-links a{font-size:13px}}
