:root{--paper:#f8f7f1;--white:#fffefa;--ink:#253a2d;--green:#29573e;--olive:#606d4d;--muted:#626b5c;--line:#dce0d3;--pale:#edf0e3;--lime:#e6edbf;--clay:#b9704f;--heading:'DM Sans',Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b7734f;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.65}::selection{background:var(--lime)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--heading);font-weight:400;line-height:1.18;letter-spacing:-.045em}h1{font-size:clamp(42px,4.65vw,68px);margin-bottom:26px}h2{font-size:clamp(30px,3.1vw,44px);margin-bottom:20px}h3{font-size:24px}h1 em,h2 em{color:var(--olive);font-weight:400}p{color:var(--muted)}strong{font-weight:600}button{border:0}svg{display:block}.icon{width:21px;height:21px;flex-shrink:0}.wrap{width:min(1240px,calc(100% - 100px));margin-inline:auto}.section{padding-top:85px;padding-bottom:85px}.compact-top{padding-top:25px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:20px;background:var(--green);padding:12px 20px;color:white;z-index:50}.skip-link:focus{top:15px}.topline{background:#e9eddd;font-size:10px;letter-spacing:.045em}.topline>.wrap{height:34px;display:flex;align-items:center;justify-content:space-between}.topline span:last-child{display:flex;align-items:center;gap:10px}.topline .icon{height:14px;width:14px}.header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-family:var(--heading);font-size:32px;font-weight:500;letter-spacing:-1.5px;white-space:nowrap}.brand>.icon{width:34px;height:37px;color:var(--green)}.brand-dot{color:#8e9b65}.header nav{display:flex;align-items:center;gap:31px;font-size:13px;font-weight:500}.header nav>a{padding-block:10px}.header nav>a[aria-current]{color:var(--green);text-decoration:underline;text-underline-offset:8px}.nav-garden{border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;gap:9px;padding:11px 17px!important;margin-left:7px}.nav-garden .icon{width:17px;height:17px}.menu-toggle{display:none}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:600;color:var(--olive);display:flex;align-items:center;gap:10px;line-height:1.5;margin-bottom:23px}.eyebrow-line{width:23px;height:1px;background:currentColor}.hero{display:grid;grid-template-columns:1.14fr 1fr;gap:55px;padding-top:66px;padding-bottom:86px;align-items:center}.hero-copy{padding-bottom:15px}.hero h1{font-size:clamp(42px,4.6vw,65px);line-height:1.19;letter-spacing:-3.1px}.hero-description{font-size:15px;line-height:1.9;margin-bottom:28px}.hero .eyebrow{margin-bottom:24px;font-size:9px}.location-search{position:relative;max-width:600px;z-index:5}.search-field{border:1px solid #c8cfbd;border-radius:7px;background:var(--white);display:flex;align-items:center;gap:12px;padding:7px 7px 7px 16px;min-height:61px;box-shadow:0 5px 14px #1f3d2510}.search-field>.icon{width:19px;color:var(--olive)}.search-field input{min-width:0;flex:1;width:100%;border:0;background:transparent;outline:0;color:var(--ink);font-size:13px;padding:10px 0}.search-field:focus-within{outline:2px solid #7d9267;outline-offset:2px}.search-field input:focus-visible{outline:0}.search-field button{background:var(--green);color:white;border-radius:4px;display:flex;align-items:center;gap:13px;padding:13px 15px;font-size:12px;white-space:nowrap}.search-field button:hover{background:#173c28}.search-field button .icon{width:17px}.search-results{position:absolute;top:calc(100% + 7px);left:0;right:0;background:var(--white);border:1px solid var(--line);box-shadow:0 15px 35px #263b2b23;border-radius:7px;padding:7px;max-height:340px;overflow:auto}.search-results[hidden]{display:none}.search-results a{display:flex;align-items:center;gap:13px;padding:10px 12px;border-radius:3px}.search-results a:hover,.search-results a:focus{background:var(--pale)}.search-results a span{flex:1}.search-results small{display:block;color:var(--muted);font-size:11px}.search-results p{padding:12px;margin:0;font-size:13px}.try-cities{display:flex;align-items:center;gap:12px;font-size:10px;margin-top:14px;flex-wrap:wrap}.try-cities span{color:var(--muted)}.try-cities a{text-decoration:underline;text-decoration-color:#aeb79e;text-underline-offset:3px}.hero-proof{display:flex;gap:19px;font-size:10px;color:var(--muted);margin-top:26px}.hero-proof span{display:flex;align-items:center;gap:5px}.hero-proof .icon{width:13px;height:13px;color:var(--olive)}.hero-visual{position:relative;padding-bottom:65px;isolation:isolate}.photo-frame{position:relative;height:398px;margin-left:25px;overflow:hidden;border-radius:130px 8px 8px 8px;background:#233c2e}.photo-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#11291c14,#11291c11 35%,#11291cc9)}.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:45% 50%;filter:saturate(.65)}.photo-caption{position:absolute;left:35px;bottom:115px;z-index:1;color:white}.photo-caption>span{font-size:9px;letter-spacing:.17em;opacity:.8}.photo-caption p{font-family:var(--heading);font-size:30px;line-height:1.2;color:#fffcf1;margin:12px 0 0;letter-spacing:-.8px}.frost-stamp{position:absolute;right:-17px;top:27px;background:#e8edce;width:95px;height:95px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transform:rotate(12deg);border:5px solid var(--paper);box-shadow:0 0 0 1px #bfc8ad}.frost-stamp .icon{width:25px;height:25px}.frost-stamp span{font-size:8px;letter-spacing:.11em;line-height:1.4;text-align:center}.season-preview{position:absolute;bottom:0;left:0;right:20px;padding:22px 25px 15px;background:var(--white);border:1px solid #d5d9cc;border-radius:7px;box-shadow:0 13px 23px #253a2d0c;transition:transform .2s}.season-preview:hover{transform:translateY(-3px)}.season-preview-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;gap:6px}.season-preview-top>span:first-child{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600}.season-preview-top>span:last-child{font-size:7px;letter-spacing:.1em;display:flex;align-items:center;gap:8px;color:var(--muted)}.season-preview-top .icon{width:13px;height:13px}.preview-dates{display:flex;justify-content:space-between;gap:5px;padding:18px 0 14px}.preview-dates>div>span{display:block;font-size:8px;letter-spacing:.07em;color:var(--muted)}.preview-dates strong{font-family:var(--heading);font-size:29px;font-weight:400;letter-spacing:-1px}.preview-dates>div:last-child{text-align:right}.season-bridge{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;font-size:8px;color:var(--olive)}.season-bridge .icon{width:22px}.preview-season,.mini-season{height:6px;background:#eaece3;border-radius:10px;position:relative;overflow:hidden}.preview-season>span,.mini-season>span{position:absolute;top:0;bottom:0;background:#8da57a;border-radius:10px}.preview-months{display:flex;justify-content:space-between;font-size:7px;color:var(--muted);margin-top:5px}.season-preview small{font-size:8px;color:var(--muted);display:block;margin-top:8px}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:25px}.trust-strip>div{display:flex;justify-content:center;align-items:center;gap:14px;border-right:1px solid var(--line)}.trust-strip>div:first-child{justify-content:flex-start}.trust-strip>div:last-child{justify-content:flex-end;border:0}.trust-strip .icon{width:28px;height:28px;color:var(--olive)}.trust-strip strong{display:block;font-size:13px;margin-bottom:2px}.trust-strip span{font-size:11px;color:var(--muted)}.trust-strip strong{color:var(--ink)}.map-section{display:grid;grid-template-columns:.76fr 1.24fr;gap:60px;align-items:center}.map-intro>p{max-width:330px;font-size:14px;line-height:1.9}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 20px;border-radius:5px;font-size:12px;font-weight:500;line-height:1.5;border:1px solid transparent;transition:background .15s,transform .15s}.button:hover{transform:translateY(-2px)}.button.dark{background:var(--green);color:white}.button.light{border-color:#bfc8b4;background:transparent;color:var(--ink)}.button.light:hover{background:var(--pale)}.button.cream{background:var(--lime);color:#293e2b}.button .icon{width:17px;height:17px}.map-key{margin-top:30px;max-width:240px}.map-key .eyebrow{font-size:8px;margin-bottom:10px}.color-scale{background:linear-gradient(90deg,#e1e6cb,#d0d9b0,#b3c39a,#82a17b,#557960);height:7px;border-radius:4px}.map-key>div:last-child{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:6px}.fineprint{font-size:11px!important;line-height:1.7!important;color:var(--muted);margin-top:16px}.fineprint a{text-decoration:underline;text-underline-offset:2px}.map-intro .fineprint{font-size:10px!important;max-width:300px}.map-canvas{background:radial-gradient(ellipse at center,#edf0e5 0%,transparent 70%);padding:10px 0;position:relative}.usa-map{width:100%;height:auto}.usa-map path{stroke:var(--paper);stroke-width:1.1;transition:fill .2s}.usa-map a:hover path,.usa-map a:focus path{fill:#b7784e;stroke:#7f4d31;stroke-width:1.4}.usa-map text{font:9px var(--sans);fill:#324b35;pointer-events:none;text-anchor:middle;dominant-baseline:middle;opacity:.85}.map-hint{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:10px;font-style:normal;color:var(--olive);margin-right:30px}.map-hint .icon{width:14px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:30px}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:14px}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:500;padding-bottom:3px;border-bottom:1px solid #abb79f;white-space:nowrap}.text-link .icon{width:17px;height:17px}.popular-section{background:#eef0e6;border-block:1px solid #e1e5d8}.popular-section .section{padding-block:58px}.city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.city-card{display:block;background:var(--white);padding:23px 21px 18px;border:1px solid #dce1d2;border-radius:5px;transition:transform .15s,border-color .15s}.city-card:hover{transform:translateY(-4px);border-color:#8b9d79}.city-state{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.city-state .icon{width:14px;height:14px}.city-card h3{font-size:24px;letter-spacing:-1px;margin:12px 0 23px;min-height:29px}.city-card-dates{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:var(--muted)}.city-card-dates strong{display:block;font-size:18px;font-family:var(--heading);color:var(--ink);font-weight:400;margin-top:3px}.mini-season{height:4px;margin-top:20px}.city-foot{font-size:9px;color:var(--muted);display:block;margin-top:8px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.guide-art{height:160px;border-radius:5px;margin-bottom:22px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#e9eddf}.guide-art:before,.guide-art:after{content:'';position:absolute;width:170px;height:170px;border:1px solid #7e94753a;border-radius:50%;transform:translate(-40px,30px)}.guide-art:after{transform:translate(45px,-20px);width:220px;height:220px}.guide-art>.icon{width:65px;height:65px;stroke-width:1;color:#52714d;transform:rotate(-12deg)}.guide-art>span{position:absolute;bottom:13px;left:17px;font-size:8px;letter-spacing:.13em;color:var(--olive)}.art-1{background:#ece6d8}.art-1 .icon{color:#9a7954}.art-1:before,.art-1:after{border-color:#b7a17d60}.art-2{background:#e3e9e3}.art-2 .icon{color:#608276}.guide-card .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:12px}.guide-card h3{font-size:25px;letter-spacing:-.7px;line-height:1.3;max-width:340px;margin-bottom:13px}.guide-card p{font-size:12px;line-height:1.9;margin-bottom:18px}.guide-card .text-link{font-size:11px}.guide-card:hover .guide-art>.icon{transform:rotate(0deg);transition:transform .3s}.closing-banner{border-radius:7px;background:#294b36;color:#fcfbf2;padding:44px 50px;display:flex;justify-content:space-between;align-items:center;margin-bottom:75px;position:relative;overflow:hidden}.closing-banner:after{content:'';position:absolute;width:350px;height:350px;border:1px solid #ffffff15;right:-100px;top:-120px;border-radius:50%;pointer-events:none}.closing-banner>div{display:flex;align-items:center;gap:28px}.closing-banner>div>.icon{width:58px;height:67px;stroke-width:1;color:#cbd8a8}.closing-banner h2{font-size:35px;margin:0}.closing-banner h2 em{color:#d9e3bd}.closing-banner .button{position:relative;z-index:1}footer{border-top:1px solid var(--line);padding-top:49px}.footer-main{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:40px;padding-bottom:45px}.footer-main .brand{font-size:29px}.footer-main .brand .icon{width:28px}.footer-main p{font-size:12px;margin-top:14px;line-height:1.8}.footer-main .eyebrow{font-size:9px;margin-bottom:18px;padding-top:8px}.footer-main>div>a:not(.brand){display:block;font-size:11px;margin-block:9px;color:var(--muted)}.footer-note{display:flex;gap:12px;align-items:flex-start;padding-top:10px}.footer-note>.icon{color:var(--olive);width:24px;height:24px}.footer-note p{margin:0;font-size:11px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted);padding-block:18px}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}.breadcrumbs{display:flex;gap:11px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:38px}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs>span:not([aria-current]){color:#aab29f}.page-intro{padding-top:25px;padding-bottom:45px}.page-intro h1{font-size:60px}.lead{font-size:17px;line-height:1.85;max-width:770px}.lead strong{color:var(--ink)}.page-intro .location-search{margin-top:28px}.muted{color:var(--muted);font-size:12px}.state-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:30px}.state-grid>a{display:flex;align-items:center;gap:10px;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.state-grid>a span{flex:1}.state-grid>a small{color:var(--muted);font-size:10px}.state-grid>a>.icon{width:15px;height:15px}.state-grid>a:hover span{text-decoration:underline;text-underline-offset:4px}.info-note{display:flex;gap:15px;background:var(--pale);padding:20px 25px;border-radius:5px;margin-top:35px}.info-note p{font-size:12px;margin:0}.info-note>.icon{margin-top:3px;color:var(--olive)}.table-wrap{overflow:auto;background:var(--white);border:1px solid var(--line);border-radius:6px}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:13px}thead{background:#edf0e5;color:var(--olive);font-size:10px;letter-spacing:.035em}th,td{padding:17px 23px;border-bottom:1px solid var(--line)}th{font-weight:500}tbody tr:last-child>*{border:0}tbody tr:hover{background:#f5f6ee}tbody th{color:var(--green)}tbody th a:hover{text-decoration:underline}tbody .icon{width:17px}.city-intro{padding-top:25px;padding-bottom:35px}.city-title-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.city-title-row h1{font-size:57px}.city-title-row .eyebrow{margin-bottom:15px}.city-intro .lead{font-size:15px;max-width:790px;margin-bottom:20px}.source-pill{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--olive);flex-wrap:wrap}.source-pill .icon{width:14px;height:14px}.source-pill>span{padding-inline:4px}.season-workspace{display:grid;grid-template-columns:1fr 275px;gap:22px}.season-main{background:var(--white);border:1px solid var(--line);border-radius:7px;padding:30px}.season-main h2{font-size:30px}.season-main .section-heading{align-items:center;margin-bottom:25px}.badge{font-size:10px;white-space:nowrap;color:var(--olive);padding:4px 10px;border:1px solid var(--line);border-radius:20px}.risk-control{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);padding:4px;border-radius:6px;gap:4px;background:#f2f3eb}.risk-control button{background:transparent;padding:10px 5px;border-radius:4px;font-size:11px;color:var(--olive);transition:background .2s}.risk-control button small{display:block;font-size:9px;opacity:.8}.risk-control button[aria-pressed=true]{background:var(--green);color:white}.date-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;padding:29px 0 15px;gap:24px}.date-metrics>div>.icon{width:23px;height:23px;color:var(--olive);margin-bottom:15px}.date-metrics>div>span{font-size:8px;letter-spacing:.07em;display:block;color:var(--muted);white-space:nowrap}.date-metrics strong{display:block;font-family:var(--heading);font-size:29px;letter-spacing:-1px;font-weight:400;margin-block:5px}.date-metrics strong b{font-weight:400}.date-metrics strong i{font-size:17px;font-style:normal}.date-metrics small{font-size:10px;line-height:1.65;color:var(--muted);display:block}.date-metrics small b{font-weight:500}.season-chart{padding-top:43px}.season-chart-track{height:15px;position:relative}.winter-track{position:absolute;inset:0;background:#e7ebe2;border-radius:3px}.growing-track{position:absolute;top:0;bottom:0;background:#98af7f;border-radius:3px;transition:left .25s,width .25s}.date-marker{height:25px;width:1px;position:absolute;top:-5px;background:#537047;transition:left .25s}.date-marker>span{position:absolute;left:50%;top:-25px;transform:translateX(-50%);font-size:9px;white-space:nowrap;color:var(--green)}.chart-months{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);margin-top:12px;gap:5px}.season-legend{display:flex;gap:20px;font-size:9px;color:var(--muted);margin-top:20px}.season-legend>span{display:flex;align-items:center;gap:5px}.season-legend i{width:8px;height:8px;border-radius:2px}.legend-growing{background:#98af7f}.legend-cold{background:#e7ebe2}.risk-explanation{font-size:11px;margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line);min-height:55px}.station-card{background:#eaf0df;padding:28px 24px;border-radius:7px}.station-card>.icon{width:25px;height:25px;color:var(--green);margin-bottom:20px}.station-card>.eyebrow{font-size:8px;line-height:1.7;margin-bottom:15px}.station-card h3{font-size:22px;letter-spacing:-.6px;text-transform:capitalize}.station-card dl{font-size:10px;margin-block:23px}.station-card dl>div{display:flex;justify-content:space-between;padding-block:7px;border-bottom:1px solid #d4ddc6;gap:10px}.station-card dt{color:var(--muted)}.station-card dd{margin:0;text-align:right}.station-card p{font-size:11px;line-height:1.85}.station-card .text-link{font-size:10px;white-space:normal}.station-source{display:flex;align-items:center;gap:6px;font-size:9px;margin-top:19px;color:var(--olive)}.station-source .icon{width:12px;height:12px}.planting-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid var(--line);padding-top:27px}.step-number{font-family:var(--heading);font-style:normal;font-size:26px;color:#91a080;display:block;margin-bottom:15px}.planting-preview h3{font-size:25px}.planting-preview p{font-size:12px;line-height:1.9}.faq-section{display:grid;grid-template-columns:1fr 1.6fr;gap:50px}.faq-section details{border-top:1px solid var(--line);padding:18px 0}.faq-section details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:13px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:15px}summary:after{content:'+';font-size:18px;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:12px;line-height:1.9;margin:15px 0 0}.article{max-width:1000px;padding-top:25px;padding-bottom:80px}.article h1{font-size:56px;max-width:780px}.article-body{max-width:740px}.article-body h2{font-size:28px;margin:37px 0 15px}.article-body p,.article-body li{font-size:14px;line-height:1.95}.article-body p.lead{font-size:18px}.article-body a:not(.button){color:var(--green);text-decoration:underline;text-underline-offset:3px}.article-body code{font-size:11px;overflow-wrap:anywhere;background:var(--pale);padding:3px}.article-body li{color:var(--muted);margin-bottom:8px}.article-callout{border-left:3px solid #96a571;background:var(--pale);padding:22px 25px;font-family:var(--heading);font-style:normal;font-size:19px;margin-block:30px}.article-body .button{margin-top:20px}.planner-layout{display:grid;grid-template-columns:360px 1fr;gap:45px;margin-bottom:85px}.planner-controls{background:#eef0e5;padding:30px;border:1px solid var(--line);border-radius:7px}.planner-controls label{display:block;font-size:11px;font-weight:500;margin:17px 0 7px}.planner-controls select,.planner-controls input{width:100%;padding:12px 10px;border:1px solid #cbd1c1;border-radius:4px;background:var(--white);color:var(--ink);font-size:12px;min-height:44px}.planner-controls .eyebrow{font-size:9px;margin-bottom:16px}.planner-controls .fineprint{font-size:10px!important}.planner-divider{height:1px;background:#d4dac8;margin-block:26px}.input-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input-pair label{font-size:10px;min-height:30px}.planner-result{background:var(--white);border:1px solid var(--line);border-radius:7px;padding:35px 40px;box-shadow:0 10px 35px #314b2f05}.planner-result-heading{display:flex;align-items:center;gap:12px;margin-bottom:25px}.planner-result-heading .eyebrow{margin:0;flex:1;font-size:9px}.planner-result-heading>.icon{width:29px;height:29px;color:var(--olive)}.icon-button{background:var(--pale);border:1px solid var(--line);padding:8px;border-radius:50%;color:var(--green)}.planner-result>p{font-size:12px}.planner-result h2{font-size:34px;margin-bottom:10px}.plan-timeline{padding:20px 0 0 25px}.plan-timeline>div{position:relative;border-left:1px solid #d2dac5;padding:0 0 27px 30px}.plan-timeline>div:last-child{border-color:transparent}.timeline-dot{position:absolute;left:-6px;top:4px;width:11px;height:11px;border:2px solid var(--white);background:#7d9968;border-radius:50%;box-shadow:0 0 0 1px #7d9968}.plan-timeline .eyebrow{font-size:8px;margin-bottom:6px}.plan-timeline strong{font-family:var(--heading);font-weight:400;font-size:29px;display:block;letter-spacing:-.6px}.plan-timeline p{font-size:11px;margin:5px 0 0}.planner-result>.text-link{margin:20px 0 0;display:flex;width:fit-content;white-space:normal}.empty-page{padding-block:90px;min-height:550px}.empty-page .text-link{margin-top:25px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:var(--green);color:white;padding:12px 22px;border-radius:5px;font-size:12px;box-shadow:0 5px 20px #20332122;transition:opacity .2s,transform .2s;z-index:99;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.hero{gap:75px;padding-top:80px;padding-bottom:90px}.hero h1{font-size:69px}.photo-frame{height:425px}}
@media(max-width:1150px){.wrap{width:calc(100% - 60px)}.hero{gap:25px}.hero h1{font-size:53px;letter-spacing:-2.4px}.hero .eyebrow{font-size:8px}.hero-proof{gap:10px;font-size:9px}.hero-description{font-size:14px}.photo-frame{height:380px}.search-field{gap:8px;padding-left:11px}.search-field button{padding-inline:10px;gap:6px;font-size:11px}.season-preview{padding:18px}.season-preview-top>span:last-child{font-size:6px}.preview-dates strong{font-size:27px}.season-bridge{font-size:7px}.header nav{gap:20px;font-size:12px}.map-section{gap:35px}.city-card{padding:20px 15px}.city-card h3{font-size:22px}.city-card-dates{font-size:8px}.date-metrics{gap:14px}.date-metrics strong{font-size:24px}.date-metrics>div>span{font-size:7px}.season-workspace{grid-template-columns:1fr 250px;gap:16px}.season-main{padding:24px}.season-main h2{font-size:26px}.station-card{padding:23px 20px}.footer-main{gap:25px}.planner-layout{grid-template-columns:320px 1fr;gap:25px}}
@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;gap:20px;padding-block:48px 60px}.hero h1{font-size:43px;letter-spacing:-1.8px}.hero-description{font-size:13px}.desktop-break{display:none}.hero-proof{flex-wrap:wrap;row-gap:6px}.hero .search-field{flex-wrap:wrap;padding:10px;gap:7px}.hero .search-field input{width:70%}.hero .search-field button{width:100%;justify-content:center}.photo-frame{height:370px;border-top-left-radius:100px;margin-left:12px}.photo-caption{left:25px;bottom:120px}.photo-caption p{font-size:26px}.season-preview{right:0;padding:16px}.season-preview-top>span:last-child{display:none}.preview-dates strong{font-size:25px}.preview-dates>div>span{font-size:7px}.frost-stamp{right:-10px;width:78px;height:78px;top:20px}.frost-stamp span{font-size:7px}.brand{font-size:28px}.header nav{gap:18px;font-size:11px}.nav-garden{padding:9px 11px!important;margin:0}.trust-strip strong{font-size:11px}.trust-strip span{font-size:9px}.trust-strip>div{gap:10px}.trust-strip .icon{width:23px;height:23px}.map-section{grid-template-columns:.85fr 1.15fr;gap:20px}.map-intro h2{font-size:32px}.map-intro>p{font-size:12px}.city-grid{grid-template-columns:repeat(2,1fr)}.city-card h3{font-size:26px}.city-card-dates{font-size:10px}.city-card-dates strong{font-size:22px}.section{padding-block:60px}.section-heading h2{font-size:34px}.guide-grid{gap:22px}.guide-card h3{font-size:23px}.guide-art{height:145px}.footer-main{grid-template-columns:1.1fr 1fr 1fr}.footer-note{display:none}.city-title-row h1{font-size:48px}.season-workspace{grid-template-columns:1fr}.station-card{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.station-card>.icon{display:none}.station-card>.eyebrow{grid-column:1/-1}.station-card h3{margin-bottom:10px}.station-card dl{grid-column:2;grid-row:2/5;margin:0}.station-card p{grid-column:1}.station-card .text-link{grid-column:1;width:fit-content}.station-card .station-source{grid-column:1/-1}.date-metrics strong{font-size:32px}.date-metrics>div>span{font-size:9px}.planner-layout{grid-template-columns:280px 1fr;gap:20px}.planner-controls{padding:24px}.planner-result{padding:27px}.planner-result h2{font-size:30px}.plan-timeline strong{font-size:25px}.closing-banner{padding:35px}.closing-banner h2{font-size:30px}}
@media(max-width:680px){.wrap{width:calc(100% - 38px)}.topline>.wrap{height:29px;justify-content:center;font-size:8px}.topline span:last-child{display:none}.header{height:77px;position:relative}.brand{font-size:28px}.brand>.icon{width:29px;height:31px}.menu-toggle{display:block;background:transparent;padding:8px;color:var(--green)}.header nav{position:absolute;top:76px;left:-19px;right:-19px;background:var(--paper);border-bottom:1px solid var(--line);z-index:30;padding:20px;display:none;box-shadow:0 12px 20px #26382c0a}.header nav.open{display:flex;align-items:stretch;flex-direction:column;gap:6px;font-size:13px}.nav-garden{width:fit-content;margin-top:5px}.hero{grid-template-columns:1fr;padding-top:38px;padding-bottom:42px;gap:30px}.hero-copy{padding:0}.hero h1{font-size:clamp(37px,9.3vw,59px);letter-spacing:-1.9px;margin-bottom:18px}.hero .eyebrow{font-size:8px;margin-bottom:19px}.hero-description{font-size:14px;margin-bottom:23px;line-height:1.8;max-width:440px}.hero .search-field{flex-wrap:nowrap;padding:6px 6px 6px 12px;gap:8px}.hero .search-field input{width:100%;font-size:12px}.hero .search-field button{width:auto;padding:13px 11px;font-size:11px}.hero .search-field button .icon{width:15px}.hero-proof{font-size:9px;margin-top:20px;gap:17px}.try-cities{font-size:9px;gap:10px}.hero-visual{margin:5px 9px 0 0;padding-bottom:65px}.photo-frame{height:310px;margin-left:15px;border-top-left-radius:95px}.photo-caption{bottom:100px}.photo-caption p{font-size:27px}.frost-stamp{right:-15px;top:18px;width:80px;height:80px}.season-preview{right:12px;padding:18px 20px}.season-preview-top>span:last-child{display:flex;font-size:6px}.preview-dates strong{font-size:29px}.preview-dates>div>span{font-size:8px}.season-bridge{font-size:8px}.trust-strip{grid-template-columns:1fr;padding-block:8px}.trust-strip>div,.trust-strip>div:first-child,.trust-strip>div:last-child{justify-content:flex-start;border:0;padding:12px 3px;gap:16px}.trust-strip>div:not(:last-child){border-bottom:1px solid var(--line)}.trust-strip strong{font-size:12px}.trust-strip span{font-size:10px}.section{padding-block:47px}.map-section{grid-template-columns:1fr;gap:15px}.map-intro h2{font-size:35px}.map-intro>p{max-width:420px;font-size:13px}.map-key{margin-top:22px;max-width:250px}.map-intro .fineprint{max-width:360px}.map-canvas{margin-top:-15px}.map-hint{margin-right:0;font-size:9px}.section-heading{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:24px}.section-heading h2{font-size:32px}.section-heading .eyebrow{font-size:8px}.popular-section .section{padding-block:40px}.city-grid{gap:12px}.city-card{padding:17px 13px}.city-card h3{font-size:22px;min-height:26px;margin:11px 0 19px}.city-state{font-size:9px}.city-card-dates{font-size:8px;gap:5px}.city-card-dates strong{font-size:19px}.city-foot{font-size:8px}.guide-grid{grid-template-columns:1fr;gap:34px}.guide-art{height:180px}.guide-card h3{font-size:26px;max-width:none}.guide-card p{font-size:13px}.closing-banner{padding:30px 25px;flex-direction:column;align-items:flex-start;gap:27px;margin-bottom:45px}.closing-banner>div{gap:18px}.closing-banner>div>.icon{width:40px;height:50px}.closing-banner h2{font-size:29px}.closing-banner .button{margin-left:58px;padding-inline:14px;font-size:11px}footer{padding-top:33px}.footer-main{grid-template-columns:1fr 1fr;column-gap:20px;row-gap:25px;padding-bottom:28px}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div:first-child p{margin-bottom:0}.footer-main .eyebrow{margin-bottom:11px;font-size:8px}.footer-main>div>a:not(.brand){font-size:11px}.footer-bottom{flex-direction:column;gap:5px;font-size:8px;padding-block:16px}.breadcrumbs{font-size:10px;gap:7px;margin-bottom:26px}.page-intro,.city-intro{padding-top:20px;padding-bottom:25px}.page-intro h1{font-size:44px}.page-intro .lead{font-size:14px}.state-grid{grid-template-columns:1fr}.state-grid>a{font-size:14px;padding-block:14px}.compact-top{padding-top:20px}.city-title-row{display:block}.city-title-row h1{font-size:43px;letter-spacing:-2px}.city-title-row .eyebrow{font-size:8px}.save-garden{font-size:11px;padding:10px 13px;margin-bottom:20px}.city-intro .lead{font-size:13px}.source-pill{font-size:9px;gap:5px}.season-main{padding:23px 17px}.season-main .section-heading{flex-direction:row;align-items:center;gap:10px}.season-main h2{font-size:25px}.badge{font-size:8px;padding:4px 7px}.risk-control button{font-size:10px;padding:10px 2px}.risk-control button small{font-size:8px}.date-metrics{gap:13px;padding-top:24px;grid-template-columns:1fr 1fr}.date-metrics>div:nth-child(2){grid-column:1/-1;grid-row:2;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:15px;border-top:1px solid var(--line)}.date-metrics>div:nth-child(2)>.icon{margin:0;width:20px;height:20px}.date-metrics>div:nth-child(2)>strong{margin:0;font-size:23px;margin-left:auto}.date-metrics>div:nth-child(2)>small{width:100%;font-size:9px}.date-metrics>div>span{font-size:8px}.date-metrics strong{font-size:29px}.date-metrics small{font-size:10px}.date-metrics>div>.icon{margin-bottom:10px;width:21px;height:21px}.season-chart{padding-top:37px}.chart-months{font-size:7px;gap:3px}.season-legend{gap:12px;font-size:8px}.risk-explanation{font-size:10px}.station-card{padding:24px 20px;display:block}.station-card>.eyebrow{font-size:8px}.station-card h3{font-size:24px}.station-card dl{margin-block:18px}.station-card .text-link{font-size:11px}.planting-preview{grid-template-columns:1fr;gap:17px}.planting-preview>div{position:relative;padding-left:43px}.step-number{position:absolute;left:0;top:-3px;font-size:22px}.planting-preview h3{font-size:23px;margin-bottom:10px}.planting-preview p{font-size:12px}.faq-section{grid-template-columns:1fr;gap:30px}.faq-section h2{font-size:33px}.table-wrap th,.table-wrap td{padding:14px 17px;font-size:12px}.table-wrap thead th{font-size:9px}.article{padding-top:20px;padding-bottom:50px}.article h1{font-size:42px;letter-spacing:-1.8px}.article .eyebrow{font-size:9px}.article-body h2{font-size:27px}.article-body p,.article-body li{font-size:13px}.article-body p.lead{font-size:16px}.article-callout{font-size:18px;padding:19px}.planner-layout{grid-template-columns:1fr;gap:20px;margin-bottom:45px}.planner-controls{padding:25px}.planner-controls .input-pair label{min-height:0}.planner-result{padding:25px}.planner-result h2{font-size:32px}.planner-result-heading{gap:8px}.planner-result-heading .eyebrow{font-size:8px}.plan-timeline{padding-left:7px}.plan-timeline>div{padding-left:22px}.plan-timeline strong{font-size:28px}.empty-page{padding-block:60px}.empty-page h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.photo-caption{top:60px;bottom:auto}.photo-caption p{font-size:28px}.footer-independence{font-size:9px;color:var(--muted);padding-bottom:15px}.footer-independence a{text-decoration:underline;text-underline-offset:3px}
.guide-art>span{color:#4d5b3e}.risk-control button small{opacity:1}.step-number{color:#606d4d}
@media(max-width:680px){.photo-caption{top:42px;bottom:auto}.photo-caption p{font-size:25px}.photo-caption>span{font-size:8px}}
@media print{.topline,.header,footer,.planner-controls,.page-intro,.planner-result-heading button,.planner-result>.button,.planner-result>.text-link,.toast,.skip-link{display:none!important}.planner-layout{display:block;width:100%;margin:0}.planner-result{border:0;box-shadow:none;padding:20px}.planner-result p{color:#333}body{background:white;color:black}}
[hidden]{display:none!important}
.crop-section .lead{font-size:17px;max-width:820px}.crop-section>.fineprint{max-width:900px}.crop-section .table-wrap{margin-top:25px}.crop-section .table-wrap a{white-space:nowrap}.fall-invite{display:flex;align-items:center;justify-content:space-between;gap:35px;background:#eef0e5;border:1px solid var(--line);border-radius:8px;padding:30px 35px;margin-top:35px}.fall-invite .eyebrow{margin-bottom:12px}.fall-invite h3{font-size:30px;margin-bottom:10px}.fall-invite p{font-size:13px;max-width:600px;margin-bottom:0}.fall-invite .button{flex-shrink:0}#zip-context{font-size:13px;padding:20px;margin-block:20px}#fall-status{font-size:clamp(28px,3vw,42px)}#fall-caveat{background:var(--pale);border-left:3px solid var(--olive);padding:15px;font-size:13px}.planner-controls a,.crop-section .fineprint a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.fall-invite{display:block;padding:24px}.fall-invite .button{margin-top:22px}.crop-section .lead{font-size:15px}.crop-section table{min-width:590px}}
/* Direct, readable typography for location guides and tools. */
h1,h2,h3{font-family:var(--heading);font-style:normal;font-weight:600;letter-spacing:-.025em;line-height:1.2;text-wrap:balance}
em,i{font-style:normal}
.hero h1{font-size:clamp(40px,4.1vw,58px);line-height:1.12;letter-spacing:-.035em;max-width:620px}
.hero-description{font-size:16px;line-height:1.75;max-width:520px}
.brand{font-family:var(--heading);font-weight:700;letter-spacing:-1px}
.section-heading h2,.map-intro h2,.faq-section h2{font-size:clamp(27px,2.7vw,38px)}
.section-heading h2{max-width:780px}
.city-title-row h1,.page-intro h1,.article h1{font-size:clamp(32px,3.6vw,50px);line-height:1.18;letter-spacing:-.03em;max-width:950px}
.city-title-row>div{min-width:0;flex:1}.save-garden{flex-shrink:0}
.season-main h2{font-size:clamp(22px,2.1vw,28px)}
.guide-card h3,.planting-preview h3{font-size:23px;line-height:1.3;letter-spacing:-.02em}
.station-card h3{font-size:20px;line-height:1.35;letter-spacing:0}
.eyebrow{letter-spacing:.08em;font-weight:600}
.date-metrics strong,.preview-dates strong,.plan-timeline strong{font-weight:500;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.step-number{font-family:var(--sans);font-weight:500;font-style:normal}
.article-callout{font-family:var(--sans);font-size:16px;line-height:1.7}
.closing-banner h2{font-size:clamp(25px,2.6vw,35px);max-width:660px}
.fall-invite h3{font-size:26px}
@media(max-width:900px){.hero h1{font-size:clamp(33px,4.8vw,43px)}.hero-description{font-size:14px}.date-metrics strong{font-size:28px}.preview-dates strong{font-size:27px}.plan-timeline strong{font-size:25px}}
@media(max-width:680px){.hero h1{font-size:clamp(37px,10vw,47px)}.city-title-row h1,.page-intro h1,.article h1{font-size:34px}.section-heading h2,.map-intro h2,.faq-section h2{font-size:29px}.hero-description{font-size:15px}.guide-card h3{font-size:24px}.season-main .section-heading{align-items:flex-start}.season-main h2{font-size:23px}.closing-banner .button{margin-left:0}.preview-dates strong{font-size:27px}.date-metrics strong{font-size:27px}}
.title-accent{color:var(--olive);font-style:normal}
.closing-banner .title-accent{color:var(--lime)}
.brand{font-size:26px;letter-spacing:-.9px;gap:10px;flex-shrink:0}
.brand-icon{width:34px;height:34px;flex:none}
.brand-name{color:var(--ink)}
.brand-name>span{color:var(--olive)}
.footer-main .brand{font-size:24px}
@media(min-width:681px) and (max-width:900px){.header{height:78px;position:relative}.menu-toggle{display:block;background:transparent;padding:8px;color:var(--green)}.header nav{position:absolute;top:77px;left:-30px;right:-30px;background:var(--paper);border-bottom:1px solid var(--line);z-index:30;padding:20px 30px;display:none;box-shadow:0 12px 20px #26382c0a}.header nav.open{display:flex;align-items:stretch;flex-direction:column;gap:6px;font-size:13px}.nav-garden{width:fit-content;margin-top:5px}}
@media(max-width:380px){.brand{font-size:23px;gap:8px}.brand-icon{width:30px;height:30px}}
