/* Responsive public site and app layouts; screen width controls layout. */
[hidden]{display:none!important}
.wrap,.grid>*,.hero-grid>*,.split>*,.row>*,.checklist>li>*,.form-grid>*{min-width:0}
input,select,textarea{max-width:100%}
.f input,.f select,.f textarea{width:100%;min-width:0}
.table-wrap{max-width:100%;overscroll-behavior-x:contain}
.reviews{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.prose,.card,.review,.row .sub,.feature p{overflow-wrap:anywhere}
.site-head .nav-toggle{min-height:44px}
.nav a,.palette-switch summary{min-height:44px;display:flex;align-items:center}
.palette-options button{min-height:44px}
.site-head .nav a{font-size:.875rem;padding-inline:7px}
/* Full header navigation on desktop/tablet; one dropdown on phones. */
@media(min-width:768px){
 .site-head .head-row{height:auto;min-height:76px;flex-wrap:wrap;gap:8px 20px;padding-block:10px}
 .site-head .nav-toggle{display:none}
 .site-head .nav,.site-head .nav.open{display:flex;position:static;inset:auto;flex:1 1 700px;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;margin-left:auto;padding:0;max-height:none;overflow:visible;background:transparent;border:0}
 .site-head .nav a{font-size:.875rem;padding:8px 7px;min-height:44px}
 .site-head .nav .btn{margin-top:0}
 .site-head .palette-switch{width:auto;order:0}
 .site-head .palette-switch summary{padding:8px 10px}
 .site-head .palette-options{position:absolute;top:calc(100% + 8px);right:0;left:auto;width:260px;min-width:230px;margin:0;box-shadow:0 16px 35px #0008}
 .site-head .nav .who{max-width:200px;overflow-wrap:anywhere}
}
@media(max-width:767px){
 .site-head .head-row{height:76px;flex-wrap:nowrap}
 .site-head .nav-toggle{display:inline-flex}
 .site-head .nav{display:none;position:absolute;inset:100% 0 auto;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 16px 18px;max-height:calc(100dvh - 76px - env(safe-area-inset-top,0px));overflow-y:auto;overscroll-behavior:contain;margin:0}
 .site-head .nav.open{display:flex}
 .site-head .nav a{padding:12px;font-size:1rem;width:100%}
 .site-head .palette-switch{width:100%}
 .site-head .palette-options{position:static;box-shadow:none;width:100%;min-width:0;margin:4px 0 8px}
 .site-head .nav .who{padding:12px}
}
@media(max-width:620px){
 .wrap{padding-inline:16px}
 .hero{padding-block:36px 42px}
 .hero h1{font-size:clamp(2.8rem,12vw,4.6rem);line-height:1.03}
 .hero .lede,.lede{font-size:1rem;line-height:1.65}
 .hero-grid{gap:30px}
 .btn{min-height:44px;line-height:1.25;justify-content:center;white-space:normal}
 .hero .btn-row{display:grid;grid-template-columns:1fr}
 .hero-proof{gap:8px 14px;font-size:.875rem}
 .board{padding:14px}.board-top{font-size:.75rem;letter-spacing:.06em}
 .match{grid-template-columns:1fr;gap:9px;padding:14px}
 .match .side.r{text-align:left}
 .match .vs{justify-self:start;font-size:.75rem}
 .match .side small,.match .deal,.board-foot{font-size:.8125rem;line-height:1.45}
 .match .deal{flex-wrap:wrap}.match .deal .amt{margin-left:auto}
 .band,.page-head{padding-block:36px!important}
 .sec-head{margin-bottom:24px}.cat{white-space:normal;flex-wrap:wrap}
 .foot-grid{grid-template-columns:1fr 1fr;gap:22px}.foot-grid>div:first-child{grid-column:1/-1}
 .app-main{padding-block:24px 40px;gap:20px}
 .card{padding:16px}.row{grid-template-columns:1fr;padding:14px}
 .row .actions{grid-column:1;grid-row:auto;justify-content:flex-start}
 .row .actions .btn{flex:1 1 auto}
 .checklist li{grid-template-columns:auto minmax(0,1fr);padding:12px;gap:10px}
 .checklist li>details{grid-column:1/-1;min-width:0}
 .checklist .form-grid{min-width:0!important;width:100%}
 .form-grid .row2,.form-grid .row3,.pkg-edit{grid-template-columns:1fr}
 input,select,textarea{font-size:1rem!important;min-height:44px}
 input[type=checkbox],input[type=radio]{min-height:0;width:auto}
 .dlg-head,.dlg-body{padding:18px}.dlg-close{width:44px;height:44px}
 dialog{max-height:calc(100dvh - 24px);overflow-y:auto}
 .help,.small,.pill,.kpi dt{font-size:.875rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.match{animation:none}.btn{transition:none}}
