/* Horizon Homepage V22 shortcode plugin CSS. Generated from V21, scoped for WordPress/Elementor. */
.hz-shell {
 --bg:#f8f4eb;
 --bg-soft:#fffdf8;
 --ink:#162318;
 --muted:#5d675d;
 --line:rgba(22,35,24,.10);
 --green:#0c7b46;
 --green-deep:#095833;
 --green-soft:#dff3e5;
 --gold:#caa35d;
 --gold-soft:#f5ead3;
 --terracotta:#b4532f;
 --shadow:0 18px 50px rgba(20,32,22,.10);
 --radius:26px;
 --radius-sm:18px;
 --container:min(1180px, calc(100vw - 32px));
}
.hz-shell, .hz-shell * {box-sizing:border-box;}
html {scroll-behavior:smooth;}
.hz-shell {margin:0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color:var(--ink); background:
radial-gradient(circle at top left, rgba(202,163,93,.18), transparent 28%),
radial-gradient(circle at top right, rgba(12,123,70,.12), transparent 24%),
linear-gradient(180deg, #fbfaf6 0%, #f8f4eb 100%);
}
.hz-shell a {color:inherit; text-decoration:none;}
.hz-shell img {max-width:100%; display:block;}
.hz-shell {overflow:hidden;}
.hz-container {width:var(--container); margin:0 auto;}
.hz-section {padding:86px 0; position:relative;}
.hz-kicker {display:inline-flex; align-items:center; gap:10px; padding:8px 14px; border-radius:999px; background:rgba(12,123,70,.08); color:var(--green-deep); font-weight:700; font-size:12px; letter-spacing:.12em; text-transform:uppercase;}
.hz-kicker::before {content:''; width:8px; height:8px; border-radius:999px; background:var(--gold); box-shadow:0 0 0 6px rgba(202,163,93,.18);}
.hz-display {font-size:clamp(38px,5.2vw,68px); line-height:1.02; letter-spacing:-.035em; margin:18px 0 16px; font-weight:900; max-width:920px;}
.hz-h2 {font-size:clamp(32px,4vw,52px); line-height:1.05; letter-spacing:-.03em; margin:18px 0 14px; font-weight:900;}
.hz-h3 {font-size:clamp(22px,2vw,30px); line-height:1.15; margin:0 0 12px; font-weight:800;}
.hz-lead {font-size:18px; line-height:1.72; color:#334133; max-width:760px;}
.hz-muted {color:var(--muted);}
.hz-topbar {position:sticky; top:0; z-index:50; backdrop-filter:blur(14px); background:rgba(248,244,235,.86); border-bottom:1px solid rgba(22,35,24,.06);}
.hz-nav {display:flex; align-items:center; justify-content:space-between; gap:24px; padding:12px 0;}
.hz-brand {display:flex; align-items:center; gap:14px; min-width:0;}
.hz-brand-mark {width:92px; height:42px; flex:0 0 auto; background-image:url('horizon-logo.webp'); background-size:contain; background-position:center; background-repeat:no-repeat; filter:drop-shadow(0 8px 20px rgba(0,0,0,.10));}
.hz-brand-meta {display:flex; flex-direction:column; gap:2px;}
.hz-brand-title {font-size:16px; font-weight:900; letter-spacing:.02em; text-transform:uppercase;}
.hz-brand-sub {font-size:12px; color:var(--muted);}
.hz-links {display:flex; gap:22px; align-items:center; flex-wrap:wrap; justify-content:flex-end;}
.hz-links a {font-size:14px; color:#354235; font-weight:700;}
.hz-actions {display:flex; align-items:center; gap:10px;}
.hz-btn {display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 22px; border-radius:999px; border:1px solid transparent; font-size:15px; font-weight:800; transition:transform.18s ease, box-shadow.18s ease, background.18s ease, border-color.18s ease; box-shadow:0 8px 22px rgba(0,0,0,.06);}
.hz-btn:hover {transform:translateY(-2px);}
.hz-btn-primary {background:linear-gradient(135deg, var(--green) 0%, var(--green-deep) 100%); color:white;}
.hz-btn-secondary {background:white; color:var(--ink); border-color:rgba(22,35,24,.08);}
.hz-btn-terra {background:linear-gradient(135deg, #c86a3d 0%, var(--terracotta) 100%); color:white;}
.hz-btn-ghost {background:rgba(255,255,255,.55); border-color:rgba(22,35,24,.08); color:var(--green-deep);}
.hz-hero {padding:64px 0 42px; position:relative;}
.hz-hero-grid {display:grid; grid-template-columns:1.15fr.85fr; gap:36px; align-items:start;}
.hz-hero-card {background:rgba(255,255,255,.72); border:1px solid rgba(22,35,24,.08); box-shadow:var(--shadow); border-radius:32px; padding:34px; backdrop-filter: blur(10px); position:relative; overflow:hidden;}
.hz-hero-card::after {content:''; position:absolute; inset:auto -80px -80px auto; width:220px; height:220px; background:radial-gradient(circle, rgba(12,123,70,.18), transparent 66%);}
.hz-cta-row {display:flex; gap:14px; flex-wrap:wrap; margin:26px 0 26px;}
.hz-pill-row {display:flex; flex-wrap:wrap; gap:10px; margin-top:16px;}
.hz-pill {padding:10px 14px; border-radius:999px; font-size:13px; font-weight:800; color:var(--green-deep); background:rgba(12,123,70,.08); border:1px solid rgba(12,123,70,.10);}
.hz-proof-strip {display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:28px;}
.hz-proof {background:white; border:1px solid rgba(22,35,24,.06); border-radius:20px; padding:18px; box-shadow:0 8px 24px rgba(0,0,0,.04);}
.hz-proof b {display:block; font-size:18px; margin-bottom:5px;}
.hz-proof span {font-size:13px; line-height:1.55; color:var(--muted);}
.hz-side-stack {display:flex; flex-direction:column; gap:18px;}
.hz-card {background:rgba(255,255,255,.78); border:1px solid rgba(22,35,24,.08); border-radius:28px; box-shadow:var(--shadow); overflow:hidden;}
.hz-card-pad {padding:28px;}
.hz-logo-wrap {display:flex; justify-content:center; align-items:center; background:linear-gradient(160deg, #fffdf9 0%, #f3efdf 100%); border-bottom:1px solid rgba(22,35,24,.06); padding:26px; min-height:185px; overflow:visible;}
.hz-market-logo-panel {width:min(100%, 340px); height:145px; background-image:url('horizon-logo.webp'); background-size:contain; background-position:center center; background-repeat:no-repeat;}
.hz-cafe-logo-panel {width:min(100%, 255px); height:155px; background-image:url('horizon-cafe-logo.webp'); background-size:contain; background-position:center center; background-repeat:no-repeat;}
.hz-cafe-logo-badge {width:96px; height:96px; flex:0 0 auto; border-radius:999px; background:#fff url('horizon-cafe-logo.webp') center/contain no-repeat; padding:8px; box-shadow:0 10px 30px rgba(0,0,0,.20);}

.hz-mini-list {display:grid; gap:12px; margin:18px 0 0;}
.hz-mini-list div {display:flex; gap:12px; align-items:flex-start;}
.hz-mini-badge {flex:0 0 auto; width:28px; height:28px; border-radius:999px; display:grid; place-items:center; background:var(--green-soft); color:var(--green-deep); font-weight:900;}
.hz-grid-2 {display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:22px;}
.hz-grid-3 {display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px;}
.hz-feature {background:rgba(255,255,255,.78); border:1px solid rgba(22,35,24,.08); border-radius:26px; padding:28px; box-shadow:var(--shadow); position:relative; overflow:hidden;}
.hz-feature::before {content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg, var(--green), var(--gold));}
.hz-icon {width:52px; height:52px; border-radius:16px; display:grid; place-items:center; background:linear-gradient(135deg, rgba(12,123,70,.12), rgba(202,163,93,.16)); font-size:24px; margin-bottom:18px;}
.hz-highlight {display:grid; grid-template-columns:1.05fr.95fr; gap:28px; align-items:stretch;}
.hz-panel-dark {background:linear-gradient(140deg, #10341f 0%, #0b2415 100%); color:white; border-radius:34px; padding:34px; box-shadow:0 26px 60px rgba(6,18,10,.28); position:relative; overflow:hidden;}
.hz-panel-dark::after {content:''; position:absolute; inset:auto -60px -60px auto; width:220px; height:220px; background:radial-gradient(circle, rgba(202,163,93,.35), transparent 70%);}
.hz-panel-dark.hz-h3,.hz-panel-dark.hz-muted,.hz-panel-dark li,.hz-panel-dark p {color:rgba(255,255,255,.92);}
.hz-bullets {display:grid; gap:12px; margin:20px 0 0; padding:0; list-style:none;}
.hz-bullets li {display:flex; gap:12px; align-items:flex-start; line-height:1.65;}
.hz-bullets li::before {content:'+'; width:24px; height:24px; border-radius:999px; flex:0 0 auto; display:grid; place-items:center; background:rgba(255,255,255,.12); color:#f6deb3; font-weight:900; margin-top:1px;}
.hz-checklist {display:grid; gap:12px; margin-top:20px;}
.hz-check {padding:14px 16px; border-radius:18px; background:white; border:1px solid rgba(22,35,24,.08); box-shadow:0 8px 22px rgba(0,0,0,.04);}
.hz-cafe-delivery {display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:20px;}
.hz-linkbox {padding:18px; border-radius:18px; background:white; border:1px solid rgba(22,35,24,.08); box-shadow:0 8px 22px rgba(0,0,0,.04);}
.hz-linkbox small {display:block; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px;}
.hz-linkbox b {display:block; font-size:18px; margin-bottom:6px;}
.hz-bg-ribbon {position:absolute; inset:auto -10% -10% auto; width:260px; height:260px; background:radial-gradient(circle, rgba(12,123,70,.10), transparent 70%); pointer-events:none;}
.hz-quote {font-size:24px; line-height:1.4; font-weight:800; margin:0;}
.hz-contact-grid {display:grid; grid-template-columns:1.2fr.8fr; gap:24px;}
.hz-contact-card {background:white; border-radius:30px; padding:32px; box-shadow:var(--shadow); border:1px solid rgba(22,35,24,.08);}
.hz-list-plain {display:grid; gap:12px; padding:0; margin:18px 0 0; list-style:none;}
.hz-list-plain li {display:flex; gap:12px; align-items:flex-start; line-height:1.6;}
.hz-fine {font-size:13px; line-height:1.6; color:var(--muted);}
.hz-footer {padding:24px 0 110px; color:var(--muted); font-size:14px;}
.hz-footer-inner {display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; align-items:center; border-top:1px solid rgba(22,35,24,.08); padding-top:24px;}
.hz-mobile-bar {position:fixed; left:12px; right:12px; bottom:12px; z-index:60; display:none; gap:10px; background:rgba(255,255,255,.88); backdrop-filter:blur(14px); border:1px solid rgba(22,35,24,.08); border-radius:20px; padding:10px; box-shadow:0 20px 50px rgba(0,0,0,.12);}
.hz-mobile-bar a {flex:1; min-width:0;}
.hz-mobile-bar.hz-btn {width:100%; padding:14px 16px; font-size:14px;}

.hz-platforms {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:22px;}
.hz-platform-card {display:flex; align-items:center; gap:14px; padding:16px; border-radius:20px; background:rgba(255,255,255,.78); border:1px solid rgba(22,35,24,.08); box-shadow:0 10px 28px rgba(0,0,0,.055); transition:transform.18s ease, box-shadow.18s ease, border-color.18s ease;}
.hz-platform-card:hover {transform:translateY(-2px); box-shadow:0 18px 40px rgba(0,0,0,.10); border-color:rgba(12,123,70,.22);}
.hz-platform-logo {width:46px; height:46px; border-radius:15px; display:grid; place-items:center; flex:0 0 auto; color:#fff; font-weight:950; letter-spacing:-.03em; box-shadow:0 9px 22px rgba(0,0,0,.12);}
.hz-platform-copy {min-width:0;}
.hz-platform-copy small {display:block; font-size:11px; line-height:1.2; color:var(--muted); font-weight:800; text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px;}
.hz-platform-copy b {display:block; font-size:17px; line-height:1.15; color:var(--ink);}
.hz-platform-copy span {display:block; font-size:13px; line-height:1.45; color:var(--muted); margin-top:3px;}
.hz-logo-instacart {background:linear-gradient(145deg,#43a047,#0c7b46);}
.hz-logo-fb {background:linear-gradient(145deg,#1877f2,#0a4aa0); font-family:Arial, sans-serif; font-size:28px;}
.hz-logo-dd {background:linear-gradient(145deg,#ff4738,#b82519); font-size:17px;}
.hz-logo-ue {background:linear-gradient(145deg,#111,#3a3a3a); font-size:15px;}
.hz-logo-pm {background:linear-gradient(145deg,#2b2b2b,#111); font-size:13px;}
.hz-logo-ig {background:linear-gradient(145deg,#7b3ff2,#d94872,#f6b64d); font-size:16px;}
.hz-marketing-band {margin-top:32px; display:grid; grid-template-columns:1.1fr.9fr; gap:22px; align-items:stretch;}
.hz-story-card {position:relative; overflow:hidden; padding:30px; border-radius:30px; background:linear-gradient(145deg, rgba(255,255,255,.86), rgba(250,244,231,.86)); border:1px solid rgba(22,35,24,.08); box-shadow:var(--shadow);}
.hz-story-card::after {content:''; position:absolute; width:220px; height:220px; border-radius:999px; right:-90px; bottom:-90px; background:radial-gradient(circle, rgba(202,163,93,.24), transparent 70%);}
.hz-story-card p {position:relative; z-index:1;}
.hz-micro-head {font-size:14px; letter-spacing:.12em; text-transform:uppercase; font-weight:900; color:var(--green-deep); margin:0 0 10px;}
.hz-copy-stack {display:grid; gap:16px; margin-top:22px;}
.hz-copy-block {padding:20px; border-radius:22px; background:white; border:1px solid rgba(22,35,24,.07); box-shadow:0 8px 22px rgba(0,0,0,.035);}
.hz-copy-block strong {display:block; font-size:18px; margin-bottom:6px;}
.hz-copy-block span {display:block; font-size:14px; line-height:1.65; color:var(--muted);}
.hz-dual-cta {display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:22px;}
.hz-channel-panel {padding:26px; border-radius:30px; background:linear-gradient(140deg, #0f2f1d 0%, #0b2115 100%); color:white; box-shadow:0 22px 58px rgba(6,18,10,.26);}
.hz-channel-panel.hz-platform-card {background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.12); box-shadow:none;}
.hz-channel-panel.hz-platform-copy b,.hz-channel-panel.hz-platform-copy span,.hz-channel-panel.hz-platform-copy small {color:rgba(255,255,255,.92);}
.hz-channel-panel.hz-platforms {grid-template-columns:1fr;}
@media (max-width: 900px) {
.hz-platforms,.hz-marketing-band,.hz-dual-cta {grid-template-columns:1fr;}
}

@media (max-width: 1100px) {
.hz-hero-grid,.hz-highlight,.hz-contact-grid {grid-template-columns:1fr;}
.hz-grid-3 {grid-template-columns:repeat(2, minmax(0,1fr));}
.hz-proof-strip {grid-template-columns:repeat(2,1fr);}
.hz-links {display:none;}
}
@media (max-width: 720px) {
.hz-section {padding:68px 0;}
.hz-grid-2,.hz-grid-3,.hz-proof-strip,.hz-cafe-delivery {grid-template-columns:1fr;}
.hz-brand-mark {width:72px; height:34px;}
.hz-nav {padding:10px 0;}
.hz-actions {display:none;}
.hz-mobile-bar {display:flex;}
.hz-hero-card,.hz-contact-card,.hz-panel-dark,.hz-card-pad {padding:24px;}
.hz-display {font-size:clamp(34px,12vw,54px);}
}

/* V14 WORDPRESS FULL-WIDTH FIX */
html, body {
  overflow-x: hidden !important;
}
body .hz-shell,
.entry-content .hz-shell,
.wp-block-html .hz-shell,
.elementor .hz-shell,
.elementor-widget-html .hz-shell {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  overflow-x: hidden !important;
}
body .hz-container,
.entry-content .hz-container,
.wp-block-html .hz-container,
.elementor .hz-container,
.elementor-widget-html .hz-container {
  width: min(1360px, calc(100vw - 56px)) !important;
  max-width: min(1360px, calc(100vw - 56px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.hz-hero-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
  gap: 32px !important;
}
.hz-side-stack,
.hz-card,
.hz-hero-card {
  min-width: 0 !important;
}
.hz-display {
  font-size: clamp(34px, 4.7vw, 64px) !important;
  line-height: 1.02 !important;
}
.hz-links {
  gap: 18px !important;
}
.hz-actions .hz-btn {
  padding: 13px 18px !important;
}
@media (max-width: 1280px) {
  .hz-container {
    width: min(1180px, calc(100vw - 40px)) !important;
    max-width: min(1180px, calc(100vw - 40px)) !important;
  }
  .hz-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(330px, .8fr) !important;
    gap: 24px !important;
  }
  .hz-display {
    font-size: clamp(32px, 4.2vw, 54px) !important;
  }
  .hz-brand-title {
    font-size: 14px !important;
  }
  .hz-links {
    gap: 12px !important;
  }
}
@media (max-width: 1120px) {
  .hz-hero-grid,
  .hz-highlight,
  .hz-contact-grid {
    grid-template-columns: 1fr !important;
  }
  .hz-links {
    display: none !important;
  }
  .hz-side-stack {
    max-width: 760px !important;
    margin: 0 auto !important;
  }
}
@media (max-width: 760px) {
  .hz-container {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
  .hz-brand-meta {
    display: none !important;
  }
  .hz-brand-mark {
    width: 82px !important;
    height: 38px !important;
  }
  .hz-display {
    font-size: clamp(34px, 11vw, 48px) !important;
  }
}


/* V15 HIDE OLD WORDPRESS / HESTIA THEME CHROME */
body.page .navbar,
body.page nav.navbar,
body.page .navbar-default,
body.page .navbar-fixed-top,
body.page .hestia-topbar,
body.page .top-bar,
body.page .page-header,
body.page .header-filter,
body.page .hestia-title,
body.page .title-in-content,
body.page .page-title,
body.page .entry-title,
body.page .single-page-header,
body.page .header-small,
body.page .breadcrumb,
body.page .breadcrumbs {
  display: none !important;
}

body.page .main,
body.page .main-content,
body.page .blog-post,
body.page .section,
body.page .content-area,
body.page .site-main,
body.page .entry-content,
body.page .page-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.page .main > .container,
body.page .container,
body.page .content-area,
body.page .site-content,
body.page .entry-content {
  max-width: none !important;
  width: 100% !important;
}

body.page .entry-content > * {
  max-width: none !important;
}

body.page {
  background: #f8f4eb !important;
}

/* Keep Horizon custom header visible without breaking child layout.
   V19 included an overly broad display reset on every child element, which made
   the Elementor version stack the brand, links, and button instead of respecting
   flex/grid header rules. */
body.page .hz-topbar {
  display: block !important;
}

body.page .hz-shell,
body.page .hz-shell * {
  box-sizing: border-box !important;
}


/* V17 HEADER OVERLAP FIX */
.hz-topbar {
  z-index: 999 !important;
}
.hz-nav {
  display: grid !important;
  grid-template-columns: minmax(280px, 1fr) minmax(0, auto) auto !important;
  align-items: center !important;
  gap: 18px !important;
  min-height: 82px !important;
}
.hz-brand {
  min-width: 0 !important;
  max-width: 420px !important;
}
.hz-brand-title {
  line-height: 1.12 !important;
}
.hz-brand-sub {
  line-height: 1.35 !important;
  max-width: 360px !important;
}
.hz-links {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 15px !important;
  flex-wrap: wrap !important;
  max-width: 560px !important;
  row-gap: 8px !important;
}
.hz-links a {
  white-space: nowrap !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
}
.hz-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  min-width: max-content !important;
}
.hz-actions .hz-btn {
  white-space: nowrap !important;
  padding: 13px 18px !important;
  font-size: 14px !important;
}
@media (max-width: 1320px) {
  .hz-nav {
    grid-template-columns: minmax(270px, 1fr) auto !important;
  }
  .hz-links {
    display: none !important;
  }
}
@media (max-width: 760px) {
  .hz-nav {
    grid-template-columns: 1fr !important;
    min-height: 68px !important;
  }
  .hz-brand {
    max-width: 100% !important;
  }
  .hz-brand-meta {
    display: flex !important;
  }
  .hz-brand-title {
    font-size: 13px !important;
  }
  .hz-brand-sub {
    font-size: 11px !important;
    max-width: 260px !important;
  }
  .hz-actions {
    display: none !important;
  }
}



/* V18 WORDPRESS LIVE POLISH: remove old theme chrome, reduce header crowding, protect against overlap */
body:not(.elementor-editor-active) header:not(.hz-topbar),
body:not(.elementor-editor-active) .navbar,
body:not(.elementor-editor-active) nav.navbar,
body:not(.elementor-editor-active) .navbar-default,
body:not(.elementor-editor-active) .navbar-fixed-top,
body:not(.elementor-editor-active) .hestia-topbar,
body:not(.elementor-editor-active) .top-bar,
body:not(.elementor-editor-active) .page-header,
body:not(.elementor-editor-active) .header-filter,
body:not(.elementor-editor-active) .hestia-title,
body:not(.elementor-editor-active) .title-in-content,
body:not(.elementor-editor-active) .page-title,
body:not(.elementor-editor-active) h1.entry-title,
body:not(.elementor-editor-active) .entry-title,
body:not(.elementor-editor-active) .single-page-header,
body:not(.elementor-editor-active) .header-small,
body:not(.elementor-editor-active) .breadcrumb,
body:not(.elementor-editor-active) .breadcrumbs,
body:not(.elementor-editor-active) footer:not(.hz-footer),
body:not(.elementor-editor-active) .footer:not(.hz-footer),
body:not(.elementor-editor-active) .hestia-footer,
body:not(.elementor-editor-active) #colophon,
body:not(.elementor-editor-active) .site-footer {
  display: none !important;
}

body:not(.elementor-editor-active) .main,
body:not(.elementor-editor-active) .main-content,
body:not(.elementor-editor-active) .blog-post,
body:not(.elementor-editor-active) .section,
body:not(.elementor-editor-active) .content-area,
body:not(.elementor-editor-active) .site-main,
body:not(.elementor-editor-active) .entry-content,
body:not(.elementor-editor-active) .page-content,
body:not(.elementor-editor-active) .elementor,
body:not(.elementor-editor-active) .elementor-section,
body:not(.elementor-editor-active) .elementor-container,
body:not(.elementor-editor-active) .elementor-column,
body:not(.elementor-editor-active) .elementor-widget-wrap,
body:not(.elementor-editor-active) .elementor-widget-html {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body:not(.elementor-editor-active) .main > .container,
body:not(.elementor-editor-active) .container,
body:not(.elementor-editor-active) .content-area,
body:not(.elementor-editor-active) .site-content,
body:not(.elementor-editor-active) .entry-content,
body:not(.elementor-editor-active) .elementor-section,
body:not(.elementor-editor-active) .elementor-container {
  max-width: none !important;
  width: 100% !important;
}

.hz-shell {
  isolation: isolate !important;
}
.hz-topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
}
.hz-nav {
  grid-template-columns: minmax(280px, 1fr) minmax(0, auto) auto !important;
}
.hz-actions {
  min-width: 0 !important;
}
.hz-actions .hz-btn-secondary {
  display: none !important;
}
.hz-actions .hz-btn-primary {
  padding-left: 24px !important;
  padding-right: 24px !important;
}
.hz-hero {
  padding-top: clamp(48px, 5vw, 72px) !important;
}
.hz-hero-card,
.hz-card,
.hz-contact-card,
.hz-panel-dark {
  box-shadow: 0 18px 48px rgba(20,32,22,.08) !important;
}
@media (max-width: 1320px) {
  .hz-nav {
    grid-template-columns: minmax(260px, 1fr) auto !important;
  }
  .hz-links {
    display: none !important;
  }
}
@media (max-width: 900px) {
  .hz-actions {
    display: none !important;
  }
  .hz-nav {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 760px) {
  .hz-hero {
    padding-top: 36px !important;
  }
  .hz-mobile-bar {
    display: flex !important;
  }
}


/* V19 COPY AND LAYOUT POLISH: synchronized card rows, real cafe copy, cleaner spacing */
.hz-card-title {
  font-size: clamp(24px, 2.1vw, 32px) !important;
  letter-spacing: -0.025em !important;
  line-height: 1.08 !important;
  margin: 0 0 12px !important;
}
.hz-standout-intro {
  margin: 0 0 20px !important;
  color: var(--muted) !important;
  font-size: 15px !important;
  line-height: 1.72 !important;
}
.hz-mini-list > div {
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
}
.hz-mini-list > div > div {
  display: block !important;
}
.hz-standout-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 18px !important;
}
.hz-standout-row {
  display: grid !important;
  grid-template-columns: 32px minmax(128px, .72fr) minmax(0, 1.28fr) !important;
  gap: 14px !important;
  align-items: start !important;
  padding: 14px 14px !important;
  border: 1px solid rgba(22,35,24,.07) !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, rgba(12,123,70,.045), rgba(202,163,93,.035)) !important;
}
.hz-standout-title {
  font-weight: 900 !important;
  line-height: 1.24 !important;
  color: var(--ink) !important;
}
.hz-standout-row p {
  margin: 0 !important;
  color: var(--muted) !important;
  font-size: 14px !important;
  line-height: 1.58 !important;
}
.hz-cafe-panel-head {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 14px !important;
}
.hz-cafe-story-copy {
  line-height: 1.75 !important;
  color: rgba(255,255,255,.84) !important;
  margin: 18px 0 0 !important;
}
.hz-cafe-points {
  display: grid !important;
  gap: 12px !important;
  margin-top: 20px !important;
}
.hz-cafe-point {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  padding: 14px 15px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}
.hz-cafe-dot {
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(255,255,255,.13) !important;
  color: #f4dcae !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.hz-cafe-point strong {
  display: block !important;
  color: #fff !important;
  font-weight: 900 !important;
  margin: 0 0 3px !important;
}
.hz-cafe-point p {
  margin: 0 !important;
  color: rgba(255,255,255,.80) !important;
  font-size: 14px !important;
  line-height: 1.56 !important;
}
.hz-feature p,
.hz-copy-block span,
.hz-platform-copy span,
.hz-proof span,
.hz-check span {
  text-wrap: pretty;
}
@media (max-width: 720px) {
  .hz-standout-row {
    grid-template-columns: 32px minmax(0, 1fr) !important;
  }
  .hz-standout-row p {
    grid-column: 2 / -1 !important;
  }
  .hz-cafe-panel-head {
    align-items: flex-start !important;
  }
}

.hz-panel-dark .hz-h3,
.hz-panel-dark .hz-muted,
.hz-panel-dark li,
.hz-panel-dark p {
  color: rgba(255,255,255,.90);
}



/* V20 ELEMENTOR HEADER DISPLAY LOCK
   Fixes the WordPress/Elementor-only header stacking issue.
   Root cause: Elementor/theme display rules plus the prior broad display reset made
   nav/action elements revert to normal block/inline flow. These rules lock the
   Horizon header back into its intended grid/flex layout without affecting the rest
   of the page. */
body.page .hz-shell .hz-topbar,
.elementor .hz-shell .hz-topbar,
.hz-shell .hz-topbar {
  display: block !important;
  width: 100% !important;
}
body.page .hz-shell .hz-topbar .hz-nav,
.elementor .hz-shell .hz-topbar .hz-nav,
.hz-shell .hz-topbar .hz-nav {
  display: grid !important;
  grid-template-columns: minmax(360px, 1fr) minmax(0, auto) auto !important;
  align-items: center !important;
  justify-content: stretch !important;
  gap: 18px !important;
  min-height: 76px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}
body.page .hz-shell .hz-topbar .hz-brand,
.elementor .hz-shell .hz-topbar .hz-brand,
.hz-shell .hz-topbar .hz-brand {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
  max-width: 440px !important;
}
body.page .hz-shell .hz-topbar .hz-brand-mark,
.elementor .hz-shell .hz-topbar .hz-brand-mark,
.hz-shell .hz-topbar .hz-brand-mark {
  display: block !important;
  flex: 0 0 92px !important;
  width: 92px !important;
  height: 42px !important;
}
body.page .hz-shell .hz-topbar .hz-brand-meta,
.elementor .hz-shell .hz-topbar .hz-brand-meta,
.hz-shell .hz-topbar .hz-brand-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}
body.page .hz-shell .hz-topbar .hz-brand-title,
.elementor .hz-shell .hz-topbar .hz-brand-title,
.hz-shell .hz-topbar .hz-brand-title {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.page .hz-shell .hz-topbar .hz-brand-sub,
.elementor .hz-shell .hz-topbar .hz-brand-sub,
.hz-shell .hz-topbar .hz-brand-sub {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.page .hz-shell .hz-topbar .hz-links,
.elementor .hz-shell .hz-topbar .hz-links,
.hz-shell .hz-topbar .hz-links {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 18px !important;
  min-width: 0 !important;
  max-width: none !important;
}
body.page .hz-shell .hz-topbar .hz-links a,
.elementor .hz-shell .hz-topbar .hz-links a,
.hz-shell .hz-topbar .hz-links a {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}
body.page .hz-shell .hz-topbar .hz-actions,
.elementor .hz-shell .hz-topbar .hz-actions,
.hz-shell .hz-topbar .hz-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  min-width: max-content !important;
}
body.page .hz-shell .hz-topbar .hz-actions .hz-btn,
.elementor .hz-shell .hz-topbar .hz-actions .hz-btn,
.hz-shell .hz-topbar .hz-actions .hz-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}
@media (max-width: 1320px) {
  body.page .hz-shell .hz-topbar .hz-nav,
  .elementor .hz-shell .hz-topbar .hz-nav,
  .hz-shell .hz-topbar .hz-nav {
    grid-template-columns: minmax(300px, 1fr) auto !important;
  }
  body.page .hz-shell .hz-topbar .hz-links,
  .elementor .hz-shell .hz-topbar .hz-links,
  .hz-shell .hz-topbar .hz-links {
    display: none !important;
  }
}
@media (max-width: 900px) {
  body.page .hz-shell .hz-topbar .hz-nav,
  .elementor .hz-shell .hz-topbar .hz-nav,
  .hz-shell .hz-topbar .hz-nav {
    grid-template-columns: 1fr !important;
  }
  body.page .hz-shell .hz-topbar .hz-actions,
  .elementor .hz-shell .hz-topbar .hz-actions,
  .hz-shell .hz-topbar .hz-actions {
    display: none !important;
  }
}
@media (max-width: 520px) {
  body.page .hz-shell .hz-topbar .hz-brand-mark,
  .elementor .hz-shell .hz-topbar .hz-brand-mark,
  .hz-shell .hz-topbar .hz-brand-mark {
    flex-basis: 72px !important;
    width: 72px !important;
    height: 34px !important;
  }
  body.page .hz-shell .hz-topbar .hz-brand-title,
  .elementor .hz-shell .hz-topbar .hz-brand-title,
  .hz-shell .hz-topbar .hz-brand-title {
    font-size: 13px !important;
  }
  body.page .hz-shell .hz-topbar .hz-brand-sub,
  .elementor .hz-shell .hz-topbar .hz-brand-sub,
  .hz-shell .hz-topbar .hz-brand-sub {
    font-size: 11px !important;
  }
}

/* V23 WORDPRESS / ELEMENTOR TYPOGRAPHY COLOR GUARD
   Reason: some WordPress theme/link rules forced button text and selected links to render near-black.
   This locks Horizon's intended premium palette without changing the layout. */
.hz-shell {
  --ink: #17271b !important;
  --body: #334135 !important;
  --muted: #606b60 !important;
  --deep-heading: #16291c !important;
}
.hz-shell,
.hz-shell p,
.hz-shell li,
.hz-shell span,
.hz-shell div {
  color: inherit;
}
.hz-shell .hz-display,
.hz-shell .hz-h2,
.hz-shell .hz-h3,
.hz-shell .hz-card-title,
.hz-shell .hz-brand-title,
.hz-shell .hz-proof b,
.hz-shell .hz-feature h3,
.hz-shell .hz-feature strong,
.hz-shell .hz-check strong,
.hz-shell .hz-copy-block strong,
.hz-shell .hz-platform-copy b,
.hz-shell .hz-quote,
.hz-shell strong {
  color: var(--deep-heading) !important;
}
.hz-shell .hz-lead {
  color: var(--body) !important;
}
.hz-shell .hz-muted,
.hz-shell .hz-fine,
.hz-shell .hz-brand-sub,
.hz-shell .hz-platform-copy span,
.hz-shell .hz-platform-copy small,
.hz-shell .hz-copy-block span,
.hz-shell .hz-proof span,
.hz-shell .hz-check span,
.hz-shell .hz-standout-row p,
.hz-shell .hz-standout-intro {
  color: var(--muted) !important;
}
.hz-shell .hz-kicker,
.hz-shell .hz-pill,
.hz-shell .hz-mini-badge,
.hz-shell .hz-standout-num,
.hz-shell .hz-micro-head {
  color: var(--green-deep) !important;
}
.hz-shell .hz-links a,
.hz-shell .hz-links a:link,
.hz-shell .hz-links a:visited {
  color: #263528 !important;
}
.hz-shell .hz-links a:hover {
  color: var(--green-deep) !important;
}
.hz-shell a.hz-btn,
.hz-shell a.hz-btn:link,
.hz-shell a.hz-btn:visited,
.hz-shell .hz-mobile-bar a,
.hz-shell .hz-mobile-bar a:link,
.hz-shell .hz-mobile-bar a:visited {
  text-decoration: none !important;
}
.hz-shell a.hz-btn-primary,
.hz-shell a.hz-btn-primary:link,
.hz-shell a.hz-btn-primary:visited,
.hz-shell .hz-btn-primary,
.hz-shell .hz-btn-primary:link,
.hz-shell .hz-btn-primary:visited,
.hz-shell a.hz-btn-terra,
.hz-shell a.hz-btn-terra:link,
.hz-shell a.hz-btn-terra:visited,
.hz-shell .hz-btn-terra,
.hz-shell .hz-btn-terra:link,
.hz-shell .hz-btn-terra:visited {
  color: #ffffff !important;
}
.hz-shell a.hz-btn-primary *,
.hz-shell .hz-btn-primary *,
.hz-shell a.hz-btn-terra *,
.hz-shell .hz-btn-terra * {
  color: #ffffff !important;
}
.hz-shell a.hz-btn-secondary,
.hz-shell a.hz-btn-secondary:link,
.hz-shell a.hz-btn-secondary:visited,
.hz-shell .hz-btn-secondary,
.hz-shell .hz-btn-secondary:link,
.hz-shell .hz-btn-secondary:visited {
  color: var(--deep-heading) !important;
}
.hz-shell a.hz-btn-ghost,
.hz-shell a.hz-btn-ghost:link,
.hz-shell a.hz-btn-ghost:visited,
.hz-shell .hz-btn-ghost,
.hz-shell .hz-btn-ghost:link,
.hz-shell .hz-btn-ghost:visited {
  color: var(--green-deep) !important;
}
.hz-shell .hz-platform-logo,
.hz-shell .hz-platform-logo *,
.hz-shell .hz-logo-instacart,
.hz-shell .hz-logo-fb,
.hz-shell .hz-logo-dd,
.hz-shell .hz-logo-ue,
.hz-shell .hz-logo-pm,
.hz-shell .hz-logo-ig {
  color: #ffffff !important;
}
.hz-shell .hz-panel-dark,
.hz-shell .hz-panel-dark .hz-h2,
.hz-shell .hz-panel-dark .hz-h3,
.hz-shell .hz-panel-dark .hz-card-title,
.hz-shell .hz-panel-dark strong,
.hz-shell .hz-panel-dark li,
.hz-shell .hz-panel-dark p {
  color: rgba(255,255,255,.92) !important;
}
.hz-shell .hz-panel-dark .hz-lead,
.hz-shell .hz-panel-dark .hz-muted,
.hz-shell .hz-panel-dark .hz-cafe-story-copy,
.hz-shell .hz-panel-dark .hz-cafe-point p,
.hz-shell .hz-panel-dark .hz-copy-block span {
  color: rgba(255,255,255,.82) !important;
}
.hz-shell .hz-panel-dark .hz-kicker {
  color: #ffffff !important;
}
.hz-shell .hz-panel-dark a.hz-btn-ghost,
.hz-shell .hz-panel-dark a.hz-btn-ghost:link,
.hz-shell .hz-panel-dark a.hz-btn-ghost:visited {
  color: #ffffff !important;
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.22) !important;
}
.hz-shell .hz-mobile-bar .hz-btn-primary,
.hz-shell .hz-mobile-bar .hz-btn-terra {
  color: #ffffff !important;
}
