.flow-nav{display:flex;gap:6px;padding:20px 0 12px;border-bottom:1px solid #d7ddce;max-width:720px;margin:auto}
.flow-nav button{flex:1;min-height:44px;padding:10px 12px;border:0;border-radius:10px;background:none;color:#66735e;font-size:13px;text-align:left}
.flow-nav button span{font:10px ui-monospace,monospace;margin-right:8px;opacity:.65}.flow-nav button[aria-current=step]{background:#e4ebd7;color:#344a35;font-weight:650}.flow-nav button:disabled{opacity:.4;cursor:default}
.flow-screen{padding:24px 0 30px}.flow-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.flow-heading h2{font-size:30px;margin:0;line-height:1.2}.text-button{border:0;background:transparent;color:#4d6740;min-height:44px;padding:10px 0;font-size:12px;text-underline-offset:4px}.text-button:hover{text-decoration:underline}
#date-view{max-width:720px;margin:auto}.month-select-label{display:none}.date-confirm{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 max(14px,env(safe-area-inset-bottom));background:#f4f2eb;border-top:1px solid #d7ddce}.date-confirm>span{font-size:14px;font-weight:550;text-transform:capitalize}.date-confirm .primary{margin:0;min-width:180px;min-height:48px;padding:10px 18px}.calendar-explainer{margin-top:16px;font-size:11px;color:#65725b}.calendar-explainer summary{min-height:36px;cursor:pointer;padding:10px 0}.calendar-explainer .calendar-help{margin-top:0}
.results-heading{align-items:end}.results-heading h2{text-transform:capitalize;margin-top:5px}.results-heading #toggle-filters{border:1px solid #cad4bc;border-radius:10px;padding:10px 15px}.results-heading #toggle-filters[aria-expanded=true]{background:#e4ebd7}.flow-screen .week-picker{margin-bottom:16px}.flow-screen .daily-heading{display:none}#support-details{max-width:1120px;margin:auto}#support-details .coverage{margin:12px 0 18px;padding-top:12px}
body[data-flow=welcome] .intro{min-height:min(690px,calc(100svh - 180px));padding-block:38px}body[data-flow=welcome] footer{margin-top:20px}
.intro-tagline{display:block;font-size:.42em;letter-spacing:-.02em;margin-top:12px}
@media(max-width:650px){
 .top{min-height:66px;padding:9px 0;gap:4px}.top nav{width:auto;margin-left:auto}.top nav a{min-height:40px}.top nav a[aria-current=page],.top nav a[href="/tools/visor"]{display:none}
 .top,main,footer{width:calc(100% - 32px)}.flow-nav{padding:12px 0 10px;gap:4px}.flow-nav button{font-size:12px;padding:9px 8px;text-align:center}.flow-nav button span{margin-right:4px}
 .flow-screen{padding:18px 0}.flow-heading{margin-bottom:16px;gap:10px}.flow-heading h2{font-size:25px;letter-spacing:-.8px}.text-button{font-size:12px}
 /* Keep the reading/action column whole; the calendar becomes a small landscape print. */
 body[data-flow=welcome] .intro{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;min-height:0;align-content:start;padding:32px 0 28px}
 .intro .intro-copy{min-width:0}.intro h1{font-size:clamp(52px,14.4vw,62px);line-height:1.03;letter-spacing:-.065em;margin:18px 0 0}.intro .intro-tagline{font-size:clamp(22px,5.8vw,27px);line-height:1.25;letter-spacing:-.035em;margin-top:12px}.intro-tagline em{white-space:nowrap}
 .intro .intro-copy>.eyebrow{font-size:9px;letter-spacing:.06em;gap:10px;margin:0}.intro .lead{font-size:15px;line-height:1.6;max-width:none;margin:14px 0 0}.intro .micro{font-size:11px;line-height:1.6;margin:12px 0 0;max-width:40ch}.intro .primary{width:100%;font-size:14px;padding:13px 18px;gap:16px;min-width:0;min-height:54px;margin-top:22px}
 .intro .week-card{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;width:100%;max-width:none;margin:0;padding:10px;border-radius:16px;box-shadow:3px 4px 0 #e1e6d8;transform:none;align-self:start;justify-self:stretch}
 .week-card>.eyebrow,.week-card .week-foot{display:none}.week-card .week-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;font-size:8px;padding:0;width:100%;max-width:280px;justify-self:center}.week-card .week-days span{padding:7px 0}.week-card .week-art{height:102px}.week-card .sun{width:49px;height:49px;right:17%;top:9px}.week-card .arch{width:38%;height:112px;bottom:-30px;left:8%}.week-card .steps{height:68px}.week-card .ticket{padding:9px 12px;font-size:7px;bottom:12px;right:12%;transform:rotate(-6deg)}.week-card .ticket span{font-size:20px;margin-left:14px}
 body[data-flow=welcome] footer{margin-top:0;padding:18px 0 22px;flex-direction:row;align-items:center;gap:16px;font-size:10px}
 .flow-screen .week-picker{padding:15px 10px;border-radius:16px}.calendar-months{display:none}.month-select-label{display:flex;align-items:center;gap:14px;margin-bottom:18px;font-size:12px;color:#5d6e50}.month-select-label select{font:inherit;font-size:16px;flex:1;min-width:0;min-height:44px;padding:8px 12px;border:1px solid #cbd4bf;border-radius:9px;background:#f8faf3;color:#344a35}.calendar-caption strong{display:none}.calendar-caption{margin-bottom:12px}.calendar-caption p{font-size:12px}.calendar-weekdays{gap:4px;margin-bottom:8px}
 .calendar-days{gap:4px}.calendar-days .calendar-day{min-height:54px;height:auto;gap:4px;padding:8px 2px;border-radius:9px}.calendar-days .calendar-day[aria-pressed=true]{padding:7px 1px}.calendar-days .day-number{font-size:19px}.calendar-days .day-marker,.calendar-days .day-count{display:none}.calendar-days .day-dots{min-height:9px;max-width:34px;gap:3px}.calendar-days .category-dot{width:5px;height:5px}.calendar-legend{gap:8px 13px;margin-top:14px;padding-top:12px}.calendar-key{font-size:10px}
 .date-confirm{gap:10px;padding-top:12px}.date-confirm>span{font-size:12px}.date-confirm .primary{min-width:145px;width:auto;font-size:13px}.calendar-explainer{margin-top:8px}
 .results-heading{align-items:center}.results-heading h2{font-size:24px}.results-heading #change-day{padding-top:0;min-height:34px}.results-toolbar{margin-bottom:16px}.plan-search input{font-size:16px}.cost-filter select{font-size:16px}.filter-row .filters{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:6px}.filter-row .filters button{flex:none;min-height:44px}.event{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:15px}.event h3{font-size:18px;line-height:1.3}.event .actions{grid-column:1/-1;flex-wrap:wrap}.event .open{min-height:44px}.event .date strong{font-size:24px}.event .sources summary{min-height:44px}.event .note{line-height:1.5}
 .progress-panel .progress-sources{max-height:180px}.flow-screen .skeleton i{height:64px}.flow-screen .day-empty{padding:20px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.flow-screen{scroll-behavior:auto}}
.flow-heading h2:focus{outline:none}.results-heading h2,.date-confirm>span{text-transform:none}
@media(max-width:650px){.top{flex-wrap:nowrap}.top .brand{font-size:20px}.top nav a{font-size:11px;padding:8px}.calendar-caption{display:none}}
.results-view-actions{display:flex;gap:8px;align-items:center;flex:none}
.map-view-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid #344a35;border-radius:10px;background:#344a35;color:#fff;padding:10px 14px;font:inherit;font-size:12px;font-weight:600;line-height:1.3;cursor:pointer;white-space:nowrap}
.map-view-button svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.map-view-button:hover{background:#243826}.map-view-button:disabled{opacity:.65;cursor:wait}
.proximity-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-5px 0 18px}.proximity-chip{display:inline-flex;align-items:center;min-height:40px;max-width:100%;padding:8px 13px;border:1px solid #bbcda5;border-radius:22px;background:#e4ecd7;color:#3a5030;font:inherit;font-size:12px;line-height:1.5;cursor:pointer;text-align:left;overflow-wrap:anywhere}.proximity-chip:hover{background:#d8e5c5}.proximity-summary>span{font-size:11px;color:#68775b;line-height:1.6}
.event-preview-distance{display:block;font:11px/1.5 ui-sans-serif,system-ui,sans-serif;color:#6d7d61;margin-top:4px;letter-spacing:0}.event-preview-distance:empty{display:none}
@media(max-width:650px){.results-heading{flex-wrap:wrap}.results-heading>div:first-child{flex:1;min-width:150px}.results-view-actions{gap:6px}.results-heading #toggle-filters,.map-view-button{padding:10px 12px;font-size:12px}.proximity-summary{margin-top:0}.proximity-chip{font-size:11px}.proximity-summary>span{font-size:10px}}
@media(max-width:400px){.results-view-actions{width:100%;justify-content:flex-end}.results-view-actions .map-view-button{flex:1}.results-view-actions #toggle-filters{min-width:96px}}
