:root{
  --gp:#298350;--gp-dark:#1B5C38;--gp-mid:#3BA068;--gp-light:#E8F5EE;
  --cream:#F8F5EF;--cream2:#EDE9DF;--cream3:#DDD9CE;
  --gold:#C8974A;--gold-lt:#F5EDDB;
  --char:#1C1A16;--stone:#4A4840;--mist:#9A9890;
  --r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:24px;
  --sh-sm:0 2px 8px rgba(0,0,0,.06);--sh-md:0 8px 32px rgba(0,0,0,.10);--sh-lg:0 20px 60px rgba(0,0,0,.13);
  --tr:all .22s ease;
}
.btn{display:inline-flex;align-items:center;gap:7px;padding:12px 28px;border-radius:100px;font-family:"Work Sans", sans-serif;font-size:13.5px;font-weight:500;letter-spacing:.02em;transition:var(--tr);border:none;cursor:pointer}
.btn-primary{background:var(--gp);color:#fff}
.btn-primary:hover{background:var(--gp-dark)}
.section-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);margin-bottom:10px}

/* ── HERO ── */
.hero{padding:72px 0 80px;text-align:center;position:relative;overflow:hidden; background-repeat: no-repeat; background-size: cover; background-position: center;}
.hero .container{position: relative; z-index: 1;}
.hero::before{content:'';position:absolute;inset:0;background-color: rgba(0,0,0,.2);}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:100px;padding:5px 14px;font-size:11.5px;font-weight:600;color:rgba(255,255,255,.85);letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px}
.hero-title{font-family:"Work Sans", sans-serif;font-size:clamp(36px,5vw,64px);font-weight:500;color:#fff;line-height:1.1;margin-bottom:14px}
.hero-sub{font-size:15px;color:rgba(255,255,255,.6);max-width:460px;margin:0 auto 36px;line-height:1.65}

/* ── CHECKER ── */
.checker{position:relative;z-index:2;margin-top:-40px;padding-bottom:80px}
.checker-card{background:#fff;border:1px solid var(--cream2);border-radius:var(--r-xl);box-shadow:var(--sh-lg);padding:40px 48px;max-width:680px;margin:0 auto}
.checker-title{font-family:"Work Sans", sans-serif;font-size:26px;font-weight:500;color:var(--char);margin-bottom:6px}
.checker-sub{font-size:13px;color:var(--mist);margin-bottom:24px}
.checker-form{display:flex;gap:10px}
.checker-input{flex:1;padding:14px 18px;border:1.5px solid var(--cream2);border-radius:var(--r-md);font-size:15px;font-family:"Work Sans", sans-serif;color:var(--char);background:var(--cream);outline:none;text-transform:uppercase;letter-spacing:.08em;transition:border-color .2s}
.checker-input:focus{border-color:var(--gp);background:#fff}
.checker-input::placeholder{text-transform:none;letter-spacing:0;color:var(--cream3)}
.checker-btn{padding:14px 28px;background:var(--gp);color:#fff;border:none;border-radius:var(--r-md);font-size:14px;font-weight:500;font-family:"Work Sans", sans-serif;transition:var(--tr);white-space:nowrap}
.checker-btn:hover{background:var(--gp-dark)}
.checker-result{margin-top:20px;padding:16px 18px;border-radius:var(--r-md);display:none;align-items:flex-start;gap:14px}
.checker-result.show{display:flex}
.checker-result.success{background:#E8F5EE;border:1.5px solid rgba(41,131,80,.3)}
.checker-result.error{background:#FFF5F5;border:1.5px solid rgba(200,40,58,.2)}
.checker-result.partial{background:var(--gold-lt);border:1.5px solid rgba(200,151,74,.3)}
.result-icon{font-size:22px;flex-shrink:0;margin-top:1px}
.result-title{font-size:14px;font-weight:600;color:var(--char);margin-bottom:3px}
.result-desc{font-size:12.5px;color:var(--stone);line-height:1.55}
.result-options{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.result-opt-pill{padding:5px 12px;border-radius:100px;font-size:11.5px;font-weight:500;background:#fff;border:1px solid rgba(41,131,80,.3);color:var(--gp)}

/* ── DELIVERY OPTIONS ── */
.options{padding:80px 0;background:#E8F5EE;}
.options-header{text-align:center;margin-bottom:48px}
.options-title{font-family:"Work Sans", sans-serif;font-size:clamp(28px,3.5vw,40px);font-weight:500;color:var(--char);margin-bottom:10px}
.options-sub{font-size:14px;color:var(--mist);max-width:440px;margin:0 auto}
.options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.opt-card{background:#fff;border:1.5px solid var(--cream2);border-radius:var(--r-xl);padding:32px 28px;transition:var(--tr);position:relative;overflow:hidden}
.opt-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.opt-card.pickup::before{background:var(--gp)}
.opt-card.local::before{background:#2970C8}
.opt-card.national::before{background:var(--gold)}
.opt-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.opt-card-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px}
.opt-icon-green{background:var(--gp-light)}
.opt-icon-blue{background:#E8F2FF}
.opt-icon-gold{background:var(--gold-lt)}
.opt-card-title{font-family:"Work Sans", sans-serif;font-size:22px;font-weight:500;color:var(--char);margin-bottom:6px}
.opt-card-desc{font-size:13px;color:var(--stone);line-height:1.65;margin-bottom:18px}
.opt-card-detail{display:flex;flex-direction:column;gap:8px}
.opt-detail-row{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--stone)}
.opt-detail-icon{font-size:14px;flex-shrink:0;margin-top:1px}
.opt-detail-text strong{color:var(--char)}
.opt-badge{display:inline-block;padding:4px 12px;border-radius:100px;font-size:11px;font-weight:600;margin-top:16px}
.badge-green{background:var(--gp-light);color:var(--gp)}
.badge-blue{background:#E8F2FF;color:#2970C8}
.badge-gold{background:var(--gold-lt);color:var(--gold)}

/* ── ZONES MAP ── */
.zones{padding:80px 0;background:#fff}
.zones-inner{display:grid;grid-template-columns:1fr 1.4fr;gap:56px;align-items:start}
.zones-copy{}
.zones-heading{font-family:"Work Sans", sans-serif;font-size:clamp(26px,3vw,38px);font-weight:500;color:var(--char);margin-bottom:14px;line-height:1.2}
.zones-desc{font-size:14px;color:var(--stone);line-height:1.7;margin-bottom:28px}
.zone-regions{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}
.zone-region{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--cream2);border-radius:var(--r-md);background:var(--cream);transition:var(--tr)}
.zone-region:hover{border-color:var(--gp);background:var(--gp-light)}
.zone-region-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.dot-green{background:var(--gp)}
.dot-blue{background:#2970C8}
.dot-gold{background:var(--gold)}
.dot-grey{background:var(--cream3)}
.zone-region-name{font-size:13.5px;font-weight:500;color:var(--char)}
.zone-region-sub{font-size:11.5px;color:var(--mist);margin-left:auto}
.zones-map{background:var(--cream);border:1px solid var(--cream2);border-radius:var(--r-xl);overflow:hidden;height:440px;position:relative}
.zones-map-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}
.zones-map-placeholder{font-size:13px;color:var(--mist);text-align:center;padding:20px}
/* Simple SVG map of Ontario */
.ontario-map{width:100%;height:100%;padding:24px}

/* ── ORDER CUTOFFS ── */
.cutoffs{padding:72px 0;background:var(--cream)}
.cutoffs-header{text-align:center;margin-bottom:44px}
.cutoffs-title{font-family:"Work Sans", sans-serif;font-size:clamp(26px,3vw,36px);font-weight:500;color:var(--char);margin-bottom:8px}
.cutoffs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:760px;margin:0 auto}
.cutoff-card{background:#fff;border:1px solid var(--cream2);border-radius:var(--r-lg);padding:24px 26px;display:flex;gap:16px;align-items:flex-start}
.cutoff-icon{font-size:26px;flex-shrink:0}
.cutoff-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mist);margin-bottom:4px}
.cutoff-time{font-family:"Work Sans", sans-serif;font-size:24px;font-weight:500;color:var(--char);line-height:1}
.cutoff-note{font-size:12px;color:var(--stone);margin-top:4px;line-height:1.5}

/* ── FAQ ── */
.faq{padding:72px 0;background:#fff}
.faq-header{text-align:center;margin-bottom:40px}
.faq-title{font-family:"Work Sans", sans-serif;font-size:clamp(26px,3vw,36px);font-weight:500;color:var(--char);margin-bottom:8px}
.faq-list{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:6px}
.faq-item{background:#E8F5EE;border:1px solid var(--gp);border-radius:var(--r-md);overflow:hidden}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;cursor:pointer;font-size:14px;font-weight:500;color:var(--char);user-select:none}
.faq-q svg{width:16px;height:16px;stroke:var(--mist);fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0;transition:transform .22s}
.faq-item.open .faq-q svg{transform:rotate(180deg);stroke:var(--gp)}
.faq-item.open .faq-q{color:var(--gp)}
.faq-a{display:none;padding:0 22px 18px;font-size:13.5px;color:var(--stone);line-height:1.7}
.faq-item.open .faq-a{display:block}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .options-grid{grid-template-columns:1fr}
  .zones-inner{grid-template-columns:1fr}
  .zones-map{height:280px}
  .cutoffs-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .checker-card{padding:28px 22px}
  .checker-form{flex-direction:column}
  .hero{padding:52px 0 60px}
  .options,.zones,.cutoffs,.faq{padding:52px 0}
}
@media(max-width: 600px) {
	.hero {
        padding: 30px 0;
    }
	.hero-eyebrow {
		margin-bottom: 10px;
		padding: 5px 10px;
	}
	.hero-title {
		font-size: 32px;
		margin-bottom: 10px;
	}
	.hero-sub {
		font-size: 14px;
		line-height: 1.5;
		max-width: 100%;
		color: #fff;
		margin: 0 0 16px;
	}
	.checker-card {
		padding: 14px 11px;
		max-width: 100%;
		margin: 0;
		border-radius: 12px;
	}
	.checker {
		padding-bottom: 30px;
	}
	.options, .zones, .cutoffs, .faq {
		padding: 30px 0;
	}
	.options-header {
		margin-bottom: 12px;
	}
	.section-label {
		margin-bottom: 6px;
		line-height: normal;
	}
	.options-title {
		font-size: 24px;
		margin-bottom: 6px;
	}
	.options-grid {
		gap: 10px;
	}
	.opt-card {
		padding: 16px 14px;
		border-radius: 12px;
	}
	.opt-card-title {
		font-size: 20px;
		line-height: normal;
	}
	.opt-card-desc {
		line-height: 1.5;
		margin-bottom: 9px;
	}
	.opt-card-detail {
		gap: 4px;
	}
	.opt-badge {
		margin-top: 8px;
	}
	.faq-title {
		font-size: 24px;
		margin-bottom: 0;
	}
	.faq-header {
		margin-bottom: 16px;
	}
	.faq-q, .faq-a {
		padding: 10px 12px;
		line-height: 1.4;
	}
}