:root{--gp-dark:#1a3a2a;--gp-mid:#2a5a3f;--gp-accent:#4a9e6f;--gp-light:#e8f0e9;--gp-cream:#faf8f4;--gp-gold:#c8a84b;--gp-text:#1c1c1c;--gp-muted:#6b7280;--gp-border:#e2e8e4}

  /* Hero */
.hero{background-size: cover; background-repeat: no-repeat; background-position: center top;padding:64px 0; position: relative;}
.hero:before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, .2);
    pointer-events: none;
}
.hero-inner{ padding: 0 13px; max-width: 1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center; position: relative; z-index: 1;}
.hero-tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:12px}
.hero-title{font-family:"Work Sans", sans-serif;font-size:46px;font-weight:600;color:#fff;line-height:1.1;margin-bottom:14px}
.hero-desc{font-size:14px;color:var(--white);line-height:1.7;}

  /* Postal checker */
.postal-checker{background-color: var(--gp);border-radius:16px;padding:24px;}
.pc-label{font-size:13px;font-weight:500;color:var(--white);margin-bottom:14px}
.pc-row{display:flex;gap:10px}
.pc-input{flex:1;border:none;border-radius:10px;padding:12px 16px;font-size:14px;font-family:inherit;background:#fff;color:var(--gp-text);text-transform:uppercase;letter-spacing:.05em; outline: unset;}
.pc-input:focus{outline:1px solid #a8d8bc;}
.pc-btn{background-color:var(--white);color:var(--gp);border:none;border-radius:10px;padding:12px 20px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .2s;white-space:nowrap}
.pc-btn:hover{background-color: #000; color: var(--white);}
.pc-result{margin-top:12px;padding:12px 14px;border-radius:10px;font-size:13px;display:none}
.pc-result.show{display:block}
.pc-result.ok{background:rgba(255,255,255,.12);color:#a8d8bc}
.pc-result.fail{background:rgba(239,68,68,.15);color:#fca5a5}
.pc-result.title{font-weight:500;margin-bottom:4px}

  /* Delivery zone cards */
.zones-section{padding:72px 0;background:#fff}
  .zones-inner{padding: 0 13px; max-width: 1200px;margin:0 auto}
  .section-tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--char);margin-bottom:10px}
  .section-heading{font-family:"Work Sans", sans-serif;font-size:36px;font-weight:600;color:var(--gp);margin-bottom:8px}
  .section-sub{font-size:14px;color:var(--gp-muted);margin-bottom:40px;max-width:560px}
  .zones-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .zone-card{border:1.5px solid var(--gp-border);border-radius:18px;overflow:hidden;transition:transform .2s,box-shadow .2s}
  .zone-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(26,58,42,.08)}
  .zone-card.featured{border-color:var(--gp);}
  .zone-header{padding:24px;position:relative}
  .zone-icon{font-size:36px;margin-bottom:12px}
  .zone-badge{position:absolute;top:16px;right:16px;background-color:var(--gp);color:#fff;font-size:10px;font-weight:500;padding:4px 10px;border-radius:20px}
  .zone-name{font-family:"Work Sans", sans-serif;font-size:22px;font-weight:600;color:var(--gp);margin-bottom:6px}
  .zone-coverage{font-size:13px;color:var(--gp-muted);margin-bottom:16px}
  .zone-features{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
  .zone-feat{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gp-muted)}
  .zone-feat-dot{width:18px;height:18px;border-radius:50%;background:var(--gp-light);display:flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0}
  .zone-divider{border:none;border-top:1px solid var(--gp-border);margin:0 24px}
  .zone-footer{padding:16px 24px;display:flex;align-items:center;justify-content:space-between}
  .zone-price{font-size:13px;color:var(--gp-muted)}
  .zone-price strong{color:var(--gp);font-weight:500}
  .zone-cta{font-size:12px;color:var(--gp);font-weight:500;text-decoration:none;border:1px solid var(--gp);border-radius:20px;padding:6px 14px;transition:all .2s}
  .zone-cta:hover{background:var(--gp);color:#fff}

  /* Map placeholder */
  .map-section{background:#e8f0e9;border-top:1px solid var(--gp-border);border-bottom:1px solid var(--gp-border);padding:64px 0;}
  .map-inner{padding: 0 13px; max-width: 1200px;margin:0 auto}
  .map-placeholder{background:#d4e8d8;border-radius:20px;height:400px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;border:2px dashed #a8d8bc;margin-top:32px}
  .map-placeholder-icon{font-size:48px}
  .map-placeholder-text{font-size:15px;color:var(--gp);font-weight:500}
  .map-placeholder-sub{font-size:13px;color:var(--gp-muted)}

  /* Pickup locations */
  .locations-section{padding:72px 0;}
  .locations-inner{padding: 0 13px; max-width: 1200px;margin:0 auto}
  .locations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:32px}
  .location-card{border:1.5px solid var(--gp-border);border-radius:16px;padding:24px;display:flex;gap:18px;align-items:flex-start;transition:border-color .2s}
  .location-card:hover{border-color:var(--gp);}
  .loc-icon{width:52px;height:52px;border-radius:14px;background:var(--gp-light);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}
  .loc-name{font-size:16px;font-weight:500;color:var(--gp);margin-bottom:4px}
  .loc-address{font-size:13px;color:var(--gp-muted);line-height:1.5;margin-bottom:8px}
  .loc-hours{font-size:12px;color:var(--gp-muted);margin-bottom:10px}
  .loc-hours strong{color:var(--gp)}
  .loc-tags{display:flex;gap:6px;flex-wrap:wrap}
  .loc-tag{font-size:10px;border:1px solid var(--gp-border);color:var(--gp-muted);padding:3px 10px;border-radius:20px;}
  /* Retail partners */
  .partners-section{background:linear-gradient(135deg,#E8F5EE 0%,#C8E8D8 100%);border-top:1px solid var(--gp-border);padding:72px 0;}
  .partners-inner{padding: 0 13px; max-width: 1200px;margin:0 auto}
  .partners-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:12px}
  .partners-note{font-size:13px;color:var(--gp-muted)}
  .partner-filter{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}
  .pf-btn{padding:7px 16px;border-radius:20px;border:1px solid var(--gp-border);font-size:12px;font-family:inherit;color:var(--gp-muted);background:#fff;cursor:pointer;transition:all .2s}
  .pf-btn.active,.pf-btn:hover{background:var(--gp);color:#fff;border-color:var(--gp)}
  .partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .partner-card{background:#fff;border:1px solid var(--gp-border);border-radius:14px;padding:18px 20px;display:flex;gap:14px;align-items:flex-start;transition:transform .2s,box-shadow .2s}
  .partner-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(26,58,42,.07)}
  .partner-card[data-visible="false"]{display:none}
  .partner-logo{width:44px;height:44px;border-radius:10px;background:var(--gp-light);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
  .partner-name{font-size:14px;font-weight:500;color:var(--gp);margin-bottom:2px}
  .partner-city{font-size:12px;color:var(--gp-muted);margin-bottom:6px}
  .partner-tags{display:flex;gap:5px;flex-wrap:wrap}
  .partner-tag{font-size:9px;background:var(--gp-light);color:var(--gp);padding:2px 8px;border-radius:20px}

  /* Nationwide CTA */
  .nationwide-section{background-color:var(--gp);padding:60px 0;text-align:center}
  .nationwide-inner{max-width:600px;margin:0 auto; padding: 0 13px;}
  .nationwide-inner h2{font-family:"Work Sans", sans-serif;font-size:34px;font-weight:600;color:#fff;margin-bottom:10px}
  .nationwide-inner p{font-size:14px;color:var(--white);margin-bottom:24px;line-height:1.7}
  .cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
  .cta-btn{padding:13px 26px;border-radius:50px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;text-decoration:none;transition:all .2s;display:inline-block}
  .cta-btn.primary{background:#fff;color:var(--gp);border:none}
  .cta-btn.primary:hover{background:#000; color: var(--white);}
  .cta-btn.outline{background:transparent;color:var(--white);border:1px solid var(--white);}
  .cta-btn.outline:hover{border-color:var(--white); color: var(--gp); background-color: var(--white);}

@media(max-width:900px){.hero-inner{grid-template-columns:1fr}.zones-grid{grid-template-columns:1fr}.locations-grid{grid-template-columns:1fr}.partners-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width: 600px) {
	.hero, .zones-section, .map-section, .locations-section, .partners-section, .nationwide-section {
		padding: 30px 0;
	}
	.hero-inner {
		gap: 12px;
	}
	.hero-tag {
		margin-bottom: 6px;
	}
	.hero-title {
		font-size: 32px;
		margin-bottom: 8px;
	}
	.hero-desc {
		line-height: 1.5;
	}
	.postal-checker {
		padding: 16px;
		border-radius: 8px;
	}
	.pc-label {
		margin-bottom: 8px;
	}
	.pc-row {
		gap: 6px;
	}
	.pc-input {
		padding: 10px 12px;
		font-size: 16px;
		line-height: normal;
	}
	.pc-btn {
		padding: 10px 12px;
	}
	.section-tag {
		margin-bottom: 8px;
		line-height: normal;
	}
	.section-heading {
		font-size: 26px;
		margin-bottom: 6px;
	}
	.section-sub {
		max-width: 100%;
		margin-bottom: 10px;
	}
	.zones-grid {
		gap: 12px;
	}
	.zone-header {
		padding: 16px;
	}
	.zone-badge {
		top: 12px;
		right: 12px;
	}
	.zone-name {
		font-size: 20px;
		margin-bottom: 4px;
	}
	.zone-coverage {
		margin-bottom: 8px;
	}
	.zone-features {
		margin-bottom: 0;
		gap: 6px;
	}
	.zone-footer {
		padding: 16px;
	}
	.map-section .section-sub {
		margin: 0;
	}
	.map-placeholder {
		height: 300px;
		margin-top: 16px;
	}
	.locations-grid {
		margin-top: 16px;
	}
	.location-card {
		border-radius: 8px;
		padding: 12px;
		gap: 8px;
	}
	.partners-header {
		margin-bottom: 16px;
		gap: 8px;
	}
	.partner-filter {
		gap: 6px;
		margin-bottom: 10px;
	}
	.partners-grid {
		grid-template-columns: repeat(1, 1fr);
		gap: 8px;
	}
	.partner-card {
		border-radius: 8px;
		padding: 10px;
		gap: 8px;
	}
	.nationwide-inner h2 {
		font-size: 26px;
		margin-bottom: 8px;
	}
	.nationwide-inner p {
		margin-bottom: 12px;
		line-height: 1.5;
	}
	.cta-btns {
		gap: 6px;
	}
	.cta-btn {
		padding: 10px 12px;
		font-size: 12px;
	}
}