/* =====================================================================
   R10.29.0 — EXACT REFERENCE HOMEPAGE
   Final homepage-only composition layer based directly on the user-supplied
   DelishDrop reference. Keeps Uncle Ben's Pizza data and ordering logic.
   ===================================================================== */
:root{
  --exact-green:#045943;
  --exact-green-dark:#034b39;
  --exact-green-soft:#caedac;
  --exact-yellow:#ffc633;
  --exact-yellow-2:#f6b917;
  --exact-red:#ff5238;
  --exact-orange:#ff6a45;
  --exact-ink:#101511;
  --exact-muted:#70746f;
  --exact-paper:#fff;
  --exact-shell:1480px;
  --exact-radius:24px;
}

body.sf-reference-theme.ref-exact-home{
  background:#cfd0d2!important;
  color:var(--exact-ink)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
body.sf-reference-theme.ref-exact-home main.container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  overflow:visible!important;
}
body.sf-reference-theme.ref-exact-home .footer-cta-wrap{display:none!important}

/* ------------------------------------------------------------------
   HEADER — integrated into hero, like supplied reference
   ------------------------------------------------------------------ */
body.sf-reference-theme.ref-exact-home .theme-site-header{
  background:var(--exact-green)!important;
  border:0!important;
  box-shadow:none!important;
}
body.sf-reference-theme.ref-exact-home .theme-site-header .site-header-inner{
  width:min(var(--exact-shell),calc(100% - 64px))!important;
  max-width:none!important;
  min-height:76px!important;
  margin:0 auto!important;
  padding:16px 0 10px!important;
  display:grid!important;
  grid-template-columns:210px minmax(0,1fr) auto!important;
  gap:24px!important;
  align-items:center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.sf-reference-theme.ref-exact-home .theme-site-header .brand{
  width:180px!important;
  min-width:180px!important;
  height:50px!important;
}
body.sf-reference-theme.ref-exact-home .theme-site-header .brand-logo{
  width:auto!important;
  height:48px!important;
  max-width:175px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
body.sf-reference-theme.ref-exact-home .theme-site-header #main-navigation{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:24px!important;
  position:static!important;
  width:auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.sf-reference-theme.ref-exact-home .theme-site-header #main-navigation>a{
  padding:0!important;
  min-height:auto!important;
  line-height:1.2!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:rgba(255,255,255,.82)!important;
  font-size:13px!important;
  font-weight:600!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body.sf-reference-theme.ref-exact-home .theme-site-header #main-navigation>a:hover,
body.sf-reference-theme.ref-exact-home .theme-site-header #main-navigation>a.active{
  color:#fff!important;
  background:transparent!important;
}
body.sf-reference-theme.ref-exact-home .theme-site-header .header-actions{
  display:flex!important;
  gap:16px!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
body.sf-reference-theme.ref-exact-home .exact-home-cart,
body.sf-reference-theme.ref-exact-home .exact-home-login{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:0!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:650!important;
  text-decoration:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.sf-reference-theme.ref-exact-home .exact-home-login{
  min-width:72px!important;
  padding:0 18px!important;
  border:1px solid rgba(255,255,255,.48)!important;
  border-radius:999px!important;
}
body.sf-reference-theme.ref-exact-home .exact-home-login:hover{
  background:rgba(255,255,255,.08)!important;
}

/* ------------------------------------------------------------------
   HERO — three-column composition from reference
   ------------------------------------------------------------------ */
.exact-home-hero{
  width:100%;
  margin:0;
  background:var(--exact-green);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.exact-home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:url('/assets/images/patterns/adinkra-watermark.svg');
  background-size:360px;
  opacity:.055;
  pointer-events:none;
}
.exact-home-hero-inner{
  width:min(var(--exact-shell),calc(100% - 64px));
  min-height:560px;
  margin:0 auto;
  padding:38px 0 58px;
  display:grid;
  grid-template-columns:minmax(360px,.86fr) minmax(430px,1.05fr) minmax(280px,.68fr);
  gap:22px;
  align-items:center;
  position:relative;
  z-index:1;
}
.exact-home-copy{align-self:center;max-width:520px;padding-left:8px}
.exact-kicker{
  display:block;
  margin-bottom:17px;
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:650;
  letter-spacing:.02em;
}
.exact-home-copy h1{
  margin:0 0 20px;
  color:#fff;
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(58px,5vw,82px);
  line-height:.95;
  letter-spacing:-.055em;
  font-weight:830;
}
.exact-home-copy p{
  max-width:430px;
  margin:0 0 26px;
  color:rgba(255,255,255,.76);
  font-size:14px;
  line-height:1.6;
}
.exact-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 22px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}
.exact-cta-yellow{background:var(--exact-yellow);color:#362800;box-shadow:0 8px 22px rgba(0,0,0,.10)}
.exact-cta-yellow:hover{background:#ffd45a}
.exact-home-foodstage{height:470px;position:relative;display:grid;place-items:center}
.exact-food-orbit{
  position:absolute;
  width:385px;
  height:385px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 0 0 52px rgba(255,255,255,.018),0 0 0 104px rgba(255,255,255,.012);
}
.exact-burger-frame{
  width:385px;
  height:385px;
  border-radius:46% 54% 45% 55% / 54% 44% 56% 46%;
  overflow:hidden;
  transform:rotate(-3deg);
  box-shadow:0 30px 55px rgba(0,0,0,.24);
  background:#10261d;
}
.exact-burger-frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);object-position:47% 52%}
.exact-deco-star{position:absolute;left:42px;bottom:55px;color:var(--exact-yellow);font-size:34px;transform:rotate(12deg)}
.exact-home-socialproof{height:420px;position:relative;align-self:center}
.exact-mini-review{position:absolute;top:26px;left:0;width:230px;color:#fff}
.exact-mini-review span{color:var(--exact-yellow);font-size:13px;letter-spacing:.06em}
.exact-mini-review p{margin:7px 0 0;font-size:12px;line-height:1.45;color:rgba(255,255,255,.82)}
.exact-round-photo{
  position:absolute;
  right:8px;
  top:82px;
  width:210px;
  height:210px;
  overflow:hidden;
  border-radius:42% 58% 44% 56% / 58% 42% 58% 42%;
  border:4px solid rgba(255,255,255,.16);
  box-shadow:0 18px 34px rgba(0,0,0,.16);
}
.exact-round-photo img{width:100%;height:100%;object-fit:cover;object-position:72% center}
.exact-review-strip{position:absolute;right:0;bottom:32px;display:flex;align-items:center;gap:12px}
.exact-avatar-stack{display:flex;align-items:center}
.exact-avatar-stack b{width:34px;height:34px;margin-left:-7px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--exact-green);color:var(--exact-green);font-size:9px;font-weight:900}
.exact-avatar-stack b:first-child{margin-left:0}
.exact-review-strip strong{display:block;font-size:12px;color:#fff}
.exact-review-strip small{display:block;margin-top:2px;font-size:10px;color:rgba(255,255,255,.65)}
.exact-scroll-cue{position:absolute;right:12px;bottom:34px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;color:#fff;text-decoration:none;font-size:18px}

/* ------------------------------------------------------------------
   PROMO CARDS — exact left-stack / right-large arrangement
   ------------------------------------------------------------------ */
.exact-promo-grid{
  width:min(var(--exact-shell),calc(100% - 64px));
  margin:0 auto;
  padding:56px 0 46px;
  display:grid;
  grid-template-columns:.93fr 1.07fr;
  gap:18px;
  background:#fff;
}
.exact-promo-stack{display:grid;grid-template-rows:1fr 1fr;gap:18px}
.exact-promo{
  position:relative;
  overflow:hidden;
  min-height:205px;
  border-radius:22px;
  text-decoration:none;
  color:#141711;
  box-shadow:none;
}
.exact-promo-stack .exact-promo{min-height:194px}
.exact-promo-yellow{background:#ffd75d}
.exact-promo-green{background:var(--exact-green)}
.exact-promo-red{background:linear-gradient(135deg,#ff6544,#f44733);min-height:406px;color:#fff}
.exact-promo img{position:absolute;right:0;bottom:0;width:56%;height:100%;object-fit:cover;object-position:center}
.exact-promo-stack .exact-promo img{width:52%}
.exact-promo-green img{clip-path:ellipse(70% 75% at 70% 56%)}
.exact-promo-red img{width:61%;clip-path:ellipse(70% 75% at 74% 56%)}
.exact-promo-copy{position:relative;z-index:2;width:51%;padding:24px 0 20px 25px}
.exact-promo-red .exact-promo-copy{width:48%;padding:38px 0 28px 34px}
.exact-promo-copy span{display:block;margin-bottom:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.045em}
.exact-promo-copy h2{margin:0 0 16px;font-size:30px;line-height:.96;letter-spacing:-.035em;font-weight:900}
.exact-promo-red .exact-promo-copy h2{font-size:46px;color:#fff}
.exact-promo-copy>b{display:inline-flex;margin:0 0 18px;color:inherit;font-size:13px;font-weight:900}
.exact-promo-copy em{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 13px;border-radius:999px;background:#fff;color:#1f201b;font-size:10px;font-weight:800;font-style:normal}
.exact-promo-green,.exact-promo-green .exact-promo-copy h2,.exact-promo-green .exact-promo-copy>b{color:#fff}
.exact-burst{width:86px;height:86px!important;border-radius:50%;display:grid!important;place-items:center;text-align:center;background:#fff!important;color:var(--exact-red)!important;line-height:1.05;transform:rotate(-7deg);box-shadow:0 12px 25px rgba(0,0,0,.10)}

/* ------------------------------------------------------------------
   TOP PICKS
   ------------------------------------------------------------------ */
.exact-home-section{width:min(var(--exact-shell),calc(100% - 64px));margin:0 auto;background:#fff}
.exact-top-picks{padding:14px 0 58px}
.exact-section-heading.centered{text-align:center;margin-bottom:26px}
.exact-section-heading h2{margin:0;font-size:34px;line-height:1.1;letter-spacing:-.03em;font-weight:820;color:#111}
.exact-top-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.exact-top-card{position:relative;overflow:hidden;border-radius:18px;background:#fff;border:1px solid #eceae4;text-decoration:none;color:#141711;box-shadow:0 10px 24px rgba(23,28,25,.04)}
.exact-card-rating{position:absolute;top:12px;right:14px;z-index:3;font-size:10px;font-weight:800;color:#625c4f}.exact-card-rating::first-letter{color:var(--exact-yellow)}
.exact-top-image{height:245px;background:#faf8f2;overflow:hidden}
.exact-top-image img{width:100%;height:100%;object-fit:cover}
.exact-top-copy{position:relative;padding:18px 62px 19px 18px;min-height:142px}
.exact-top-copy small{display:block;margin-bottom:5px;color:#858079;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.exact-top-copy h3{margin:0 0 6px;font-size:18px;line-height:1.15;font-weight:800}
.exact-top-copy p{margin:0 0 14px;color:#76716a;font-size:11px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.exact-top-copy strong{font-size:16px;color:#101a15}.exact-round-add{position:absolute;right:16px;bottom:16px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--exact-green);color:#fff;font-size:20px;font-weight:400}

/* ------------------------------------------------------------------
   CATEGORY STAGE — light green + central pizza + floating tiles
   ------------------------------------------------------------------ */
.exact-category-stage{width:100%;padding:58px max(32px,calc((100% - var(--exact-shell))/2));background:var(--exact-green-soft);position:relative;overflow:hidden}
.exact-category-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-bottom:18px}
.exact-category-head span{display:block;font-size:16px;font-weight:800}.exact-category-head h2{margin:0;font-size:35px;line-height:1.05;font-weight:850;letter-spacing:-.03em}.exact-category-head p{justify-self:end;max-width:430px;margin:6px 0 0;font-size:11px;line-height:1.55;color:#536551}
.exact-category-scene{height:390px;position:relative;max-width:980px;margin:0 auto}
.exact-category-pizza{position:absolute;left:50%;top:50%;width:460px;height:300px;transform:translate(-50%,-49%) rotate(-4deg);border-radius:48% 52% 44% 56% / 58% 42% 58% 42%;overflow:hidden;box-shadow:0 24px 44px rgba(23,78,56,.16)}
.exact-category-pizza img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}
.exact-category-float{position:absolute;width:150px;min-height:118px;padding:16px 14px;border-radius:16px;background:#fff;text-decoration:none;color:#131713;box-shadow:0 14px 26px rgba(24,65,48,.08);display:flex;flex-direction:column;align-items:center;text-align:center}
.exact-category-float span{width:36px;height:36px;border-radius:10px;overflow:hidden;margin-bottom:8px}.exact-category-float span img{width:100%;height:100%;object-fit:cover}.exact-category-float strong{font-size:12px;line-height:1.15}.exact-category-float small{margin-top:6px;font-size:8px;color:#7e827d}.exact-category-float-1{left:7%;top:26%}.exact-category-float-2{right:7%;top:16%}.exact-category-float-3{right:1%;bottom:9%}.exact-category-float-4{left:15%;bottom:6%}
.exact-view-categories{position:absolute;right:max(34px,calc((100% - var(--exact-shell))/2));bottom:28px;display:inline-flex;min-height:34px;align-items:center;padding:0 15px;border-radius:999px;background:var(--exact-green);color:#fff;text-decoration:none;font-size:10px;font-weight:800}

/* ------------------------------------------------------------------
   FLASH DEALS — compact grid from right-hand continuation reference
   ------------------------------------------------------------------ */
.exact-flash{padding:54px 0 64px}
.exact-flash-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1040px;margin:0 auto}
.exact-flash-card{position:relative;display:grid;grid-template-columns:120px 1fr;min-height:150px;border:1px solid #ece8e0;border-radius:18px;background:#fff;text-decoration:none;color:#151713;overflow:hidden;box-shadow:0 8px 18px rgba(24,28,25,.035)}
.exact-flash-card>img{width:120px;height:100%;object-fit:cover;background:#faf8f2}.exact-flash-card>div{position:relative;padding:16px 42px 14px 14px}.exact-flash-card small{display:block;margin-bottom:4px;color:#8a857e;font-size:8px;text-transform:uppercase}.exact-flash-card h3{margin:0 0 6px;font-size:13px;line-height:1.18}.exact-flash-meta{display:flex;gap:9px;margin-bottom:12px;color:#74706a;font-size:8px}.exact-flash-meta span:first-child{color:#a47300}.exact-flash-card strong{font-size:14px}.exact-flash-card b{position:absolute;right:13px;bottom:12px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--exact-green);color:#fff;font-size:17px}.exact-flash-badge{position:absolute;z-index:3;top:10px;left:10px;padding:4px 8px;border-radius:999px;background:var(--exact-yellow);color:#372b04;font-size:7px;font-weight:900}.exact-flash-footer{text-align:center;margin-top:25px}.exact-flash-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 17px;border-radius:999px;background:var(--exact-green);color:#fff;text-decoration:none;font-size:10px;font-weight:800}

/* Footer remains simple, quiet, and below the supplied reference composition. */
body.sf-reference-theme.ref-exact-home .site-footer.modern-footer{width:min(var(--exact-shell),calc(100% - 64px))!important;margin:0 auto!important}

@media (min-width:1600px){
  :root{--exact-shell:1580px}
  .exact-home-hero-inner{min-height:600px;grid-template-columns:minmax(390px,.84fr) minmax(470px,1.06fr) minmax(300px,.64fr)}
  .exact-burger-frame{width:420px;height:420px}.exact-food-orbit{width:420px;height:420px}.exact-home-copy h1{font-size:86px}.exact-top-image{height:275px}
}

@media (max-width:1100px){
  body.sf-reference-theme.ref-exact-home .theme-site-header .site-header-inner{width:100%!important;padding:12px 18px!important;grid-template-columns:52px minmax(0,1fr) auto!important}
  body.sf-reference-theme.ref-exact-home .mobile-menu-toggle{display:flex!important;grid-column:1!important;grid-row:1!important;width:44px!important;height:44px!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:12px!important;padding:10px!important;flex-direction:column!important;justify-content:center!important;gap:4px!important}
  body.sf-reference-theme.ref-exact-home .mobile-menu-toggle span{width:20px!important;height:2px!important;background:#fff!important}
  body.sf-reference-theme.ref-exact-home .theme-site-header .brand{grid-column:2!important;grid-row:1!important;width:auto!important;min-width:0!important;height:46px!important}.theme-site-header .brand-logo{height:44px!important;max-width:140px!important}
  body.sf-reference-theme.ref-exact-home .theme-site-header .header-actions{grid-column:3!important;grid-row:1!important;gap:8px!important}.exact-home-cart{font-size:12px!important}.exact-home-login{min-width:64px!important;height:36px!important;font-size:12px!important}
  body.sf-reference-theme.ref-exact-home .theme-site-header #main-navigation{display:none!important;position:absolute!important;top:72px!important;left:14px!important;right:14px!important;background:#fff!important;padding:12px!important;border-radius:14px!important;box-shadow:0 15px 35px rgba(0,0,0,.15)!important;flex-direction:column!important;align-items:stretch!important;z-index:120!important}
  body.sf-reference-theme.ref-exact-home.nav-open .theme-site-header #main-navigation{display:flex!important}.theme-site-header #main-navigation>a{color:#242824!important;padding:10px 12px!important}
  .exact-home-hero-inner{width:100%;padding:32px 20px 44px;grid-template-columns:1fr;gap:18px;min-height:auto}.exact-home-copy{max-width:none;text-align:left;padding:0}.exact-home-copy h1{font-size:52px;max-width:500px}.exact-home-copy p{font-size:14px}.exact-home-foodstage{height:340px}.exact-burger-frame,.exact-food-orbit{width:300px;height:300px}.exact-deco-star{left:9%;bottom:25px}.exact-home-socialproof{height:190px}.exact-mini-review{top:0;left:0;width:48%}.exact-round-photo{top:0;right:0;width:145px;height:145px}.exact-review-strip{left:0;right:auto;bottom:0}.exact-scroll-cue{display:none}
  .exact-promo-grid{width:100%;padding:24px 16px;grid-template-columns:1fr;gap:12px}.exact-promo-stack{gap:12px}.exact-promo-stack .exact-promo{min-height:170px}.exact-promo-red{min-height:245px}.exact-promo-red .exact-promo-copy h2{font-size:34px}.exact-promo-red img{width:59%}
  .exact-home-section{width:100%;padding-left:16px;padding-right:16px}.exact-top-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exact-top-image{height:170px}.exact-top-copy{padding:12px 40px 14px 12px;min-height:126px}.exact-top-copy h3{font-size:14px}.exact-top-copy p{font-size:10px}.exact-section-heading h2{font-size:30px}
  .exact-category-stage{padding:34px 16px}.exact-category-head{grid-template-columns:1fr;gap:10px}.exact-category-head p{justify-self:start;margin:0}.exact-category-scene{height:auto;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:14px 0 18px}.exact-category-pizza{display:none}.exact-category-float{position:static;flex:0 0 150px;scroll-snap-align:start}.exact-view-categories{position:static;margin-top:6px;width:max-content}
  .exact-flash{padding-top:36px}.exact-flash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exact-flash-card{grid-template-columns:78px 1fr;min-height:120px}.exact-flash-card>img{width:78px}.exact-flash-card>div{padding:11px 34px 10px 10px}.exact-flash-card h3{font-size:11px}.exact-flash-card strong{font-size:12px}
}

@media (max-width:620px){
  body.sf-reference-theme.ref-exact-home .exact-home-cart{display:none!important}
  .exact-home-copy h1{font-size:46px}.exact-home-foodstage{height:310px}.exact-burger-frame,.exact-food-orbit{width:270px;height:270px}.exact-home-socialproof{height:165px}.exact-mini-review{width:58%}.exact-round-photo{width:126px;height:126px}.exact-review-strip{bottom:4px}.exact-promo-copy{width:55%;padding:20px 0 18px 18px}.exact-promo-copy h2{font-size:24px}.exact-promo-red .exact-promo-copy{width:55%;padding:26px 0 22px 20px}.exact-promo-red .exact-promo-copy h2{font-size:30px}.exact-promo img{width:51%}.exact-promo-red img{width:55%}.exact-top-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.exact-top-image{height:145px}.exact-top-copy h3{font-size:13px}.exact-top-copy strong{font-size:13px}.exact-flash-grid{grid-template-columns:1fr}.exact-flash-card{grid-template-columns:90px 1fr}.exact-flash-card>img{width:90px}
}
.exact-home-reviews{padding:46px 0 64px}.exact-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.exact-review-grid article{padding:24px;border:1px solid #ece8e0;border-radius:18px;background:#fff}.exact-review-grid span{color:var(--exact-yellow-2);letter-spacing:.08em}.exact-review-grid p{min-height:52px;margin:12px 0 18px;color:#5f625d;font-size:13px;line-height:1.55}.exact-review-grid strong{font-size:12px;color:#1d251f}
@media(max-width:1100px){.exact-home-reviews{padding:34px 16px 48px}.exact-review-grid{grid-template-columns:1fr;gap:10px}.exact-review-grid p{min-height:auto}}
