:root {
  --cg-soil: #2C3A2E;
  --cg-leaf: #47705C;
  --cg-paper: #F4EFE2;
  --cg-stone: #E4DCC6;
  --cg-muted: #727868;
  --cg-radius-sm: 10px;
  --cg-radius-md: 14px;
}

/* Events: owner-selected A2.1 Clean Divide layout. */
body.cg-events-v2 #mainContent { padding: 0; }
body.cg-events-v2 .events-dual-feature {
  display: grid;
  width: min(1120px,calc(100% - 48px));
  min-height: 520px;
  margin: 48px auto 32px;
  overflow: hidden;
  grid-template-columns: minmax(290px,.34fr) 10px minmax(0,.66fr);
  border: 1px solid rgba(52,48,58,.16);
  border-radius: 4px;
  box-shadow: 0 22px 60px rgba(52,48,58,.11);
}
body.cg-events-v2 .events-current-panel {
  display: flex;
  min-width: 0;
  padding: clamp(36px,4vw,48px) clamp(28px,3.4vw,40px);
  flex-direction: column;
  justify-content: space-between;
  background: linear-gradient(155deg,#173d2d,#2d624d);
  color: var(--events-paper);
}
body.cg-events-v2 .events-current-panel .eyebrow { color: #decf9d; }
body.cg-events-v2 .events-current-panel h2 {
  max-width: 10ch;
  margin-top: 12px;
  color: var(--events-paper);
  font-family: 'Fraunces',serif;
  font-size: clamp(34px,3.5vw,44px);
  font-weight: 500;
  line-height: 1.02;
}
body.cg-events-v2 .events-current-panel .market-schedule {
  margin-top: 8px;
  color: #f1e3c3;
  font-family: 'Cormorant Garamond',serif;
  font-size: 21px;
  font-style: italic;
  font-weight: 600;
}
body.cg-events-v2 .events-current-panel .market-note {
  max-width: 30ch;
  margin-top: 9px;
  color: rgba(255,250,240,.7);
  font-size: 12px;
  line-height: 1.55;
}
body.cg-events-v2 .events-button-current {
  align-self: stretch;
  margin: 28px 0 0;
  border-color: rgba(255,250,240,.72);
  background: transparent;
  color: var(--events-paper);
}
body.cg-events-v2 .events-button-current:hover,
body.cg-events-v2 .events-button-current:focus-visible { border-color: var(--events-paper); background: var(--events-paper); color: var(--events-forest); }
body.cg-events-v2 .events-split-rule { background: linear-gradient(180deg,#eda65e,#cf637a 55%,#8d5b8c); }
body.cg-events-v2 .events-sunset-panel {
  position: relative;
  display: flex;
  min-width: 0;
  overflow: hidden;
  padding: clamp(44px,5vw,62px) clamp(34px,5vw,66px) 34px;
  flex-direction: column;
  justify-content: space-between;
  background:
    linear-gradient(0deg,rgba(52,55,77,.28) 0%,rgba(52,55,77,0) 46%),
    radial-gradient(circle at 88% 8%,rgba(255,216,133,.42) 0%,rgba(237,166,94,.24) 26%,transparent 52%),
    linear-gradient(118deg,#34374d 0%,#58445d 27%,#844b62 49%,#b75f5c 73%,#d98b4f 100%);
  color: var(--sunset-cream);
}
body.cg-events-v2 .sunset-panel-content { position: relative; z-index: 1; }
body.cg-events-v2 .events-sunset-panel .eyebrow { color: #ffd99f; }
body.cg-events-v2 .events-sunset-panel h1 {
  max-width: 10ch;
  margin-top: 11px;
  color: var(--sunset-cream);
  font-family: 'Fraunces',serif;
  font-size: clamp(48px,5.6vw,70px);
  font-weight: 500;
  line-height: .92;
  text-shadow: 0 3px 20px rgba(52,55,77,.22);
}
body.cg-events-v2 .sunset-market-descriptor {
  display: inline-block;
  margin-top: 17px;
  padding: 7px 11px;
  border: 1px solid rgba(255,249,239,.42);
  background: rgba(255,249,239,.12);
  color: #ffe5bf;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .13em;
  line-height: 1.3;
  text-transform: uppercase;
}
body.cg-events-v2 .events-sunset-panel .sunset-brief {
  max-width: 56ch;
  margin-top: 18px;
  color: rgba(255,249,239,.8);
  font-size: 13.5px;
  line-height: 1.58;
}
body.cg-events-v2 .events-sunset-panel .sunset-interest-button[aria-disabled="true"] {
  width: fit-content;
  max-width: 100%;
  margin-top: 23px;
  border-color: var(--sunset-cream);
  background: var(--sunset-cream);
  color: var(--sunset-plum);
  opacity: 1;
}
body.cg-events-v2 .events-sunset-panel .sunset-launch-note {
  max-width: 52ch;
  margin-top: 8px;
  color: rgba(255,249,239,.6);
  font-size: 9px;
  line-height: 1.45;
}
body.cg-events-v2 .events-sunset-panel .sunset-project-facts {
  position: relative;
  z-index: 1;
  display: flex;
  margin: 28px 0 0;
  padding: 17px 0 0;
  gap: 28px;
  border-top: 1px solid rgba(255,249,239,.23);
  background: transparent;
}
body.cg-events-v2 .events-sunset-panel .sunset-project-facts > div { padding: 0; border: 0; }
body.cg-events-v2 .events-sunset-panel .sunset-project-facts dt { color: #ffd99f; font-size: 7px; }
body.cg-events-v2 .events-sunset-panel .sunset-project-facts dd { margin-top: 3px; color: #fff5e8; font-family: 'Fraunces',serif; font-size: 14px; }
body.cg-events-v2 .events-sunset-panel .proposal-status { padding: 0; border: 0; background: transparent; color: inherit; font-size: inherit; letter-spacing: 0; }
body.cg-events-v2 .events-closing {
  display: grid;
  width: min(1120px,calc(100% - 48px));
  margin: 0 auto 48px;
  padding: 21px clamp(24px,4vw,44px);
  grid-template-columns: minmax(0,1fr);
  gap: clamp(28px,5vw,62px);
  align-items: center;
  border: 1px solid rgba(23,61,45,.16);
  border-radius: 4px;
  background: var(--events-paper);
}
body.cg-events-v2 .events-closing .question-content {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 22px;
  align-items: center;
  padding-left: 0;
  border-left: 0;
}
body.cg-events-v2 .events-closing .eyebrow { color: var(--events-pine); }
body.cg-events-v2 .events-closing h2 { margin-top: 3px; color: var(--events-forest); font-family: 'Fraunces',serif; font-size: 23px; line-height: 1.1; }
body.cg-events-v2 .events-closing .question-content p { margin-top: 4px; color: var(--events-muted); font-size: 11px; }
body.cg-events-v2 .events-closing .events-button-secondary { min-width: 160px; margin: 0; }

@media (max-width: 760px) {
  body.cg-events-v2 .events-dual-feature { width: calc(100% - 20px); min-height: 0; margin: 24px auto 18px; grid-template-columns: 1fr; }
  body.cg-events-v2 .events-current-panel { min-height: 340px; padding: 33px 25px; }
  body.cg-events-v2 .events-current-panel h2 { max-width: 12ch; font-size: clamp(36px,10vw,42px); }
  body.cg-events-v2 .events-split-rule { width: 100%; height: 9px; }
  body.cg-events-v2 .events-sunset-panel { min-height: 520px; padding: 43px 25px 32px; }
  body.cg-events-v2 .events-sunset-panel h1 { max-width: 8ch; font-size: clamp(47px,14vw,58px); }
  body.cg-events-v2 .events-sunset-panel .sunset-project-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  body.cg-events-v2 .events-sunset-panel .sunset-interest-button[aria-disabled="true"] { width: 100%; }
  body.cg-events-v2 .events-closing { width: calc(100% - 20px); margin-bottom: 26px; padding: 21px 19px; grid-template-columns: 1fr; gap: 18px; }
  body.cg-events-v2 .events-closing .question-content { grid-template-columns: 1fr; gap: 13px; padding: 0; border-top: 0; border-left: 0; }
  body.cg-events-v2 .events-closing .events-button-secondary { width: 100%; }
}

* {
  text-rendering: optimizeLegibility;
}

body {
  letter-spacing: 0.01em;
}

p {
  line-height: 1.7;
}

:focus-visible {
  outline: 2px solid var(--cg-leaf);
  outline-offset: 2px;
}

button,
a,
input,
select,
textarea {
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .08s ease;
}

.btn,
button {
  border-radius: 12px;
  font-weight: 700;
}

button:active,
.btn:active {
  transform: translateY(1px);
}

input,
select,
textarea {
  min-height: 40px;
}

[aria-busy="true"] {
  cursor: progress;
}

.cg-loading,
.cg-empty,
.cg-error {
  border: 1px dashed var(--cg-stone);
  border-radius: var(--cg-radius-sm);
  padding: 12px;
  font-size: 13px;
}

.cg-loading,
.cg-empty {
  color: var(--cg-muted);
  background: rgba(255,255,255,.55);
}

.cg-error {
  color: #8f2f24;
  background: #fff5f3;
  border-color: #e6b8b2;
}

@media (max-width: 720px) {
  .btn,
  button,
  .tab {
    min-height: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Carlin's Garden customer site V2
   Deliberately scoped to opt-in public pages so operational tools never inherit it. */
body.cg-public-v2 {
  --cg-forest: #263a2f;
  --cg-pine: #3f6854;
  --cg-sage: #789486;
  --cg-sand: #d7c393;
  --cg-cream: #fbf8ef;
  --cg-linen: #f2ead9;
  --cg-coral: #bf704f;
  --cg-ink-muted: #687267;
  --cg-shadow-sm: 0 8px 24px rgba(38,58,47,.08);
  --cg-shadow-lg: 0 24px 64px rgba(38,58,47,.14);
  --cg-radius-card: 22px;
  color: var(--cg-forest);
  -webkit-font-smoothing: antialiased;
}

body.cg-public-v2 :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid rgba(191,112,79,.55);
  outline-offset: 3px;
}

body.cg-public-v2 .btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  box-shadow: 0 7px 18px rgba(38,58,47,.13);
}

body.cg-public-v2 .cg-text-link {
  color: var(--cg-pine);
  font-size: 14px;
  font-weight: 700;
  text-underline-offset: 5px;
  text-decoration-color: var(--cg-sand);
}

body.cg-public-v2 .cg-text-link:hover { color: var(--cg-forest); }

/* Home: editorial hero, quick-to-scan fulfillment, and richer merchandising. */
body.cg-home-v2 .page {
  background:
    radial-gradient(circle at 88% 6%, rgba(215,195,147,.24), transparent 27rem),
    linear-gradient(180deg, #fbf8ef 0%, #f3ecdd 58%, #fbf8ef 100%);
}

body.cg-home-v2 .shell { max-width: 1180px; }

body.cg-home-v2 .topnav,
body.cg-about-v2 .topnav {
  border-bottom-color: rgba(190,159,99,.52);
  background: rgba(251,248,239,.9);
  backdrop-filter: blur(12px);
}

body.cg-home-v2 .brand-mark,
body.cg-about-v2 .brand-mark {
  width: 36px;
  height: 36px;
  background: var(--cg-forest);
  border-color: var(--cg-forest);
  color: #fff;
}

body.cg-home-v2 .hero-split {
  min-height: 620px;
  grid-template-columns: minmax(300px,.88fr) minmax(470px,1.4fr);
  gap: clamp(38px,6vw,78px);
}

body.cg-home-v2 .hero-split .hero-photo {
  border-radius: 32px 32px 90px 32px;
  aspect-ratio: 1.18 / 1;
  box-shadow: var(--cg-shadow-lg);
}

body.cg-home-v2 .hero-split .hero-photo::after {
  content: "Family baked in Venice, Florida";
  position: absolute;
  z-index: 2;
  right: 22px;
  top: 22px;
  padding: 8px 12px;
  border-radius: 999px;
  color: var(--cg-forest);
  background: rgba(251,248,239,.92);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.cg-home-v2 .hero-split .hero-content h1 {
  max-width: 9ch;
  font-size: clamp(44px,5.5vw,72px);
  line-height: .98;
  letter-spacing: -.035em;
}

body.cg-home-v2 .hero-split .hero-content p { font-size: 17px; }
body.cg-home-v2 .hero-split .hero-cta-row { flex-direction: row; align-items: center; }

body.cg-home-v2 .section { margin-top: clamp(70px,9vw,112px); }
body.cg-home-v2 .week-section,
body.cg-home-v2 .why-section { position: relative; }

body.cg-home-v2 .bread-grid { gap: 18px; }
body.cg-home-v2 .week-card {
  padding: clamp(22px,3vw,34px);
  border-radius: var(--cg-radius-card);
  border-color: rgba(190,159,99,.55);
  box-shadow: var(--cg-shadow-sm);
}
body.cg-home-v2 .week-card:first-child { background: #fffdf8; }
body.cg-home-v2 .week-card:last-child { background: #eef3ef; }
body.cg-home-v2 .week-card .w-big { font-size: clamp(22px,2.5vw,30px); }

body.cg-home-v2 .featured-section {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: clamp(64px,8vw,96px) max(20px,calc((100vw - 1144px)/2));
  background: var(--cg-forest);
  color: #fff;
}
body.cg-home-v2 .featured-section .section-title,
body.cg-home-v2 .featured-section .featured-subtitle { color: #fff; }
body.cg-home-v2 .featured-section .featured-subtitle { opacity: .72; }
body.cg-home-v2 .product-grid { gap: clamp(16px,3vw,28px); }
body.cg-home-v2 .product-card {
  background: var(--cg-cream);
  border-radius: var(--cg-radius-card);
  color: var(--cg-forest);
  box-shadow: 0 18px 45px rgba(0,0,0,.16);
}
body.cg-home-v2 .product-card:hover { transform: translateY(-6px); }
body.cg-home-v2 .product-photo { border-radius: 0; }
body.cg-home-v2 .featured-foot .btn { background: #fff; border-color: #fff; color: var(--cg-forest); }

body.cg-home-v2 .why-card {
  border-radius: var(--cg-radius-card);
  padding: 30px 24px;
  background: rgba(255,255,255,.6);
}
body.cg-home-v2 .final-cta {
  border-radius: 30px;
  padding: clamp(38px,6vw,64px) 24px;
  box-shadow: var(--cg-shadow-lg);
}

/* About: a calm, magazine-like reading rhythm using approved photography. */
body.cg-about-v2 .page {
  background:
    radial-gradient(circle at 12% 20%, rgba(126,155,143,.13), transparent 24rem),
    linear-gradient(180deg,#fbf8ef,#f1e9d8 72%,#fbf8ef);
}
body.cg-about-v2 .shell { max-width: 1060px; }
body.cg-about-v2 .intro { margin-top: 64px; }
body.cg-about-v2 .intro h1 { font-size: clamp(40px,6vw,64px); letter-spacing: -.025em; }
body.cg-about-v2 .intro p { font-size: clamp(22px,2.6vw,28px); }
body.cg-about-v2 .family-photo { max-width: 700px; margin-top: 48px; }
body.cg-about-v2 .family-photo .frame { border-radius: 30px 30px 80px 30px; box-shadow: var(--cg-shadow-lg); }
body.cg-about-v2 .story,
body.cg-about-v2 .faith,
body.cg-about-v2 .beyond { max-width: 760px; margin-top: 72px; }
body.cg-about-v2 .story h2,
body.cg-about-v2 .faith h2,
body.cg-about-v2 .beyond h2 { font-size: clamp(30px,4vw,42px); }
body.cg-about-v2 .story-body,
body.cg-about-v2 .faith-body,
body.cg-about-v2 .beyond-body { font-size: 17px; }
body.cg-about-v2 .bread-photo { width: 46%; margin-left: 34px; }
body.cg-about-v2 .bread-photo .frame { border-radius: 20px; }
body.cg-about-v2 .guides { margin-top: 78px; padding: 48px 28px; border-radius: 28px; background: rgba(255,255,255,.58); }
body.cg-about-v2 .quote { max-width: 760px; margin-top: 72px; padding: 42px 48px; border-radius: 28px; box-shadow: var(--cg-shadow-lg); }
body.cg-about-v2 .quote p { font-size: clamp(23px,3vw,30px); }
body.cg-about-v2 .beyond { padding: 40px; border: 1px solid rgba(190,159,99,.55); border-radius: 28px; background: var(--cg-cream); }

/* Order: visual refinements only; selectors target existing stable DOM. */
body.cg-order-v2 {
  background-color: var(--cg-linen);
  background-image:
    radial-gradient(circle at 50% -10%, rgba(215,195,147,.34), transparent 32rem),
    radial-gradient(rgba(38,58,47,.025) 1px,transparent 1px);
}
body.cg-order-v2 .wrap { max-width: 720px; }
body.cg-order-v2 .topnav {
  margin-top: 20px;
  padding: 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  box-shadow: var(--cg-shadow-sm);
  backdrop-filter: blur(10px);
}
body.cg-order-v2 .topnav a { border-radius: 999px; min-height: 42px; display: flex; align-items: center; justify-content: center; }
body.cg-order-v2 .head { padding-top: 36px; }
body.cg-order-v2 .head .n { font-size: clamp(28px,5vw,38px); }
body.cg-order-v2 .freshline { border-radius: 999px; width: fit-content; padding-inline: 18px; }
body.cg-order-v2 .infos { gap: 14px; }
body.cg-order-v2 .info { padding: 22px 18px; border-radius: 22px; box-shadow: var(--cg-shadow-sm); }
body.cg-order-v2 .sec { margin-top: 34px; }
body.cg-order-v2 .sec-h h2 { font-size: 22px; }
body.cg-order-v2 .tile { border-radius: 20px; padding: 15px; box-shadow: 0 4px 16px rgba(38,58,47,.05); }
body.cg-order-v2 .tile.addable:hover { transform: translateY(-3px); box-shadow: var(--cg-shadow-sm); }
body.cg-order-v2 .tile .photo { margin: -15px -15px 13px; border-radius: 20px 20px 0 0; }
body.cg-order-v2 :is(input, select, textarea) { border-radius: 13px; }

/* Events stays intentionally hidden from main navigation, but is preview-ready. */
body.cg-events-v2 {
  background:
    radial-gradient(circle at 85% 8%, rgba(126,155,143,.2), transparent 26rem),
    linear-gradient(180deg,#fbf8ef,#f1e9d8);
}
body.cg-events-v2 .shell { max-width: 1080px; }
body.cg-events-v2 .topnav { border-radius: 999px; background: rgba(251,248,239,.9); box-shadow: var(--cg-shadow-sm); backdrop-filter: blur(10px); }
body.cg-events-v2 .hero { margin-top: 34px; padding: clamp(48px,8vw,88px) 24px; border: 0; border-radius: 32px; background: var(--cg-forest); color: #fff; box-shadow: var(--cg-shadow-lg); }
body.cg-events-v2 .hero .eyebrow { color: #c9dbd0; }
body.cg-events-v2 .hero h1 { font-size: clamp(42px,7vw,68px); }
body.cg-events-v2 .hero p { max-width: 700px; margin-left: auto; margin-right: auto; color: rgba(255,255,255,.82); }
body.cg-events-v2 .section { margin-top: 68px; }
body.cg-events-v2 .grid { gap: 20px; }
body.cg-events-v2 .card { border-radius: 24px; box-shadow: var(--cg-shadow-sm); }
body.cg-events-v2 .pic { height: 220px; }
body.cg-events-v2 .body { padding: 24px; }
body.cg-events-v2 :is(.s-card,.soon,.dir-card,.calendar-placeholder) { border-radius: 20px; padding: 22px; }
body.cg-events-v2 .special { border-radius: 24px; padding: 26px; }
body.cg-events-v2 .notify { margin-top: 72px; padding: 48px 24px; border-radius: 28px; box-shadow: var(--cg-shadow-lg); }
body.cg-events-v2 .foot { padding: 26px 10px 0; line-height: 1.8; }

@media (max-width: 760px) {
  body.cg-home-v2 .hero-split { min-height: 0; grid-template-columns: 1fr; }
  body.cg-home-v2 .hero-split .hero-photo { border-radius: 24px 24px 58px 24px; }
  body.cg-home-v2 .hero-split .hero-photo::after { display: none; }
  body.cg-home-v2 .hero-split .hero-content h1 { max-width: none; font-size: clamp(39px,12vw,54px); }
  body.cg-home-v2 .hero-split .hero-cta-row { justify-content: center; flex-wrap: wrap; }
  body.cg-home-v2 .section { margin-top: 66px; }
  body.cg-home-v2 .featured-section { padding-top: 58px; padding-bottom: 58px; }
  body.cg-about-v2 .intro { margin-top: 42px; }
  body.cg-about-v2 .family-photo .frame { border-radius: 22px 22px 52px 22px; }
  body.cg-about-v2 .story,
  body.cg-about-v2 .faith,
  body.cg-about-v2 .beyond { margin-top: 54px; }
  body.cg-about-v2 .beyond { padding: 28px 20px; }
  body.cg-order-v2 .wrap { padding-left: 14px; padding-right: 14px; }
  body.cg-order-v2 .topnav { border-radius: 18px; }
  body.cg-events-v2 .topnav { border-radius: 20px; }
  body.cg-events-v2 .hero { margin-top: 20px; padding: 48px 20px; border-radius: 24px; }
  body.cg-events-v2 .section { margin-top: 50px; }
  body.cg-events-v2 .pic { height: 190px; }
}

/* Customer Site V2 — Phase 1 homepage composition. */
body.cg-home-v2 {
  --home-cream: #f7f0e3;
  --home-paper: #fffaf0;
  --home-forest: #183421;
  --home-forest-deep: #102719;
  --home-gold: #b78a43;
  --home-rule: rgba(81, 62, 30, .2);
  background: var(--home-cream);
}

body.cg-home-v2 .page { background: var(--home-cream); }
body.cg-home-v2 .shell { max-width: 1240px; padding: 0 22px 36px; }
body.cg-home-v2 .topnav {
  position: relative;
  top: auto;
  min-height: 78px;
  padding: 13px 20px;
  border-bottom: 1px solid var(--home-rule);
  background: rgba(255,250,240,.96);
}
body.cg-home-v2 .brand-mark {
  width: 40px;
  height: 40px;
  border: 1px solid var(--home-gold);
  background: transparent;
  color: var(--home-forest);
  font-family: 'Fraunces', serif;
  font-size: 13px;
  letter-spacing: -.06em;
}
body.cg-home-v2 .brand-copy strong {
  font-size: 17px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.cg-home-v2 .brand-copy span { margin-top: 2px; font-size: 8px; letter-spacing: .2em; }
body.cg-home-v2 .brand { gap: 11px; }
body.cg-home-v2 .nav-group { gap: 24px; }
body.cg-home-v2 .navlinks { gap: clamp(16px, 2vw, 27px); }
body.cg-home-v2 .navlinks a {
  color: var(--home-forest-deep);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.cg-home-v2 .navlinks a.active { border-color: transparent; }
body.cg-home-v2 .order-now-btn,
body.cg-home-v2 .primary-cta {
  border-radius: 4px;
  background: var(--home-forest);
  border-color: var(--home-forest);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 11px;
}

body.cg-home-v2 .hero-split {
  position: relative;
  display: block;
  min-height: 520px;
  margin-top: 0;
  overflow: hidden;
  background: var(--home-forest-deep);
}
body.cg-home-v2 .hero-split .hero-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
  aspect-ratio: auto;
  box-shadow: none;
  background:
    radial-gradient(circle at 78% 46%, rgba(183,138,67,.16), transparent 34%),
    var(--home-forest-deep);
}
body.cg-home-v2 .hero-split .hero-photo::after { display: none; }
body.cg-home-v2 .hero-split .hero-photo img {
  left: auto;
  right: 0;
  width: 70%;
  object-fit: cover;
  object-position: 50% 52%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.42) 10%, #000 24%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.42) 10%, #000 24%);
}
body.cg-home-v2 .hero-split .hero-photo .wash {
  background: linear-gradient(90deg, rgba(10,25,16,.84) 0%, rgba(10,25,16,.62) 37%, rgba(10,25,16,.14) 64%, rgba(10,25,16,.03) 84%);
}
body.cg-home-v2 .hero-overlay {
  left: auto;
  right: 24px;
  bottom: 22px;
  width: min(290px, calc(100% - 48px));
  border-radius: 4px;
  border-color: rgba(255,255,255,.25);
  background: rgba(16,39,25,.68);
  backdrop-filter: blur(6px);
  color: #fff;
}
body.cg-home-v2 .hero-overlay .dot { background: var(--home-gold); }
body.cg-home-v2 .hero-overlay .txt,
body.cg-home-v2 .hero-overlay .txt b { color: #fff; }
body.cg-home-v2 .hero-split .hero-content {
  position: relative;
  z-index: 2;
  width: min(570px, 58%);
  padding: 66px 0 62px 54px;
  color: #fff;
}
body.cg-home-v2 .hero-split .hero-content .eyebrow { color: #e3c98f; }
body.cg-home-v2 .hero-split .hero-content h1 {
  max-width: 12.5ch;
  color: #fff;
  font-size: clamp(43px, 4.9vw, 62px);
  line-height: 1.02;
  letter-spacing: -.025em;
}
body.cg-home-v2 .hero-split .hero-content p {
  max-width: 44ch;
  color: rgba(255,255,255,.86);
  font-size: 15px;
}
body.cg-home-v2 .hero-split .hero-cta-row { flex-direction: row; gap: 12px; }
body.cg-home-v2 .hero-secondary {
  border-radius: 4px;
  border-color: rgba(255,255,255,.72);
  background: rgba(0,0,0,.18);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 11px;
}

body.cg-home-v2 .section { margin-top: 0; }
body.cg-home-v2 .week-section {
  padding: 42px 12px 44px;
  border-bottom: 1px solid var(--home-rule);
  background:
    linear-gradient(90deg, transparent 0%, rgba(183,138,67,.035) 50%, transparent 100%);
}
body.cg-home-v2 .bread-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: none;
  gap: 0;
}
body.cg-home-v2 .week-card,
body.cg-home-v2 .week-card:first-child,
body.cg-home-v2 .week-card:last-child {
  min-width: 0;
  min-height: 280px;
  padding: 22px 42px 20px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
  align-items: center;
}
body.cg-home-v2 .week-card + .week-card { border-left: 1px solid rgba(81,62,30,.13); }
body.cg-home-v2 .week-card-head { flex-direction: column; gap: 8px; }
body.cg-home-v2 .week-card-icon { width: 50px; height: 50px; background: rgba(183,138,67,.08); border: 1px solid rgba(183,138,67,.24); color: var(--home-gold); }
body.cg-home-v2 .week-card-icon svg { width: 27px; height: 27px; }
body.cg-home-v2 .week-card .w-big { font-size: 21px; line-height: 1.22; margin-top: 10px; }
body.cg-home-v2 .week-card .w-sub,
body.cg-home-v2 .week-card .w-line,
body.cg-home-v2 .week-card .w-city-list li { font-size: 12.5px; }
body.cg-home-v2 .week-card .w-city-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 10px; }
body.cg-home-v2 .week-card .w-city-list li { padding-left: 0; margin: 0; }
body.cg-home-v2 .week-card .w-city-list li::before { display: none; }
body.cg-home-v2 .delivery-pricing-note { border: 0; background: transparent; font-size: 10.5px; }
body.cg-home-v2 .story-card { position: relative; justify-content: center; overflow: hidden; }
body.cg-home-v2 .story-card::after { content: '❧'; position: absolute; right: 18px; bottom: 4px; color: rgba(183,138,67,.2); font-family: 'Fraunces', serif; font-size: 68px; line-height: 1; }
body.cg-home-v2 .story-card h2 { margin-top: 12px; max-width: 12ch; font-family: 'Fraunces', serif; font-size: 32px; line-height: 1.04; font-weight: 500; }
body.cg-home-v2 .story-card p { margin-top: 14px; max-width: 33ch; color: var(--cg-ink-muted); font-size: 12.5px; }
body.cg-home-v2 .bread-link { color: var(--home-forest); font-size: 10px; letter-spacing: .1em; }
body.cg-home-v2 .week-card .bread-link { margin-top: auto; padding-top: 14px; }
body.cg-home-v2 .week-notice { margin-bottom: -24px; }
body.cg-home-v2 .mobile-when-title { display: none; }

body.cg-home-v2 .featured-section {
  position: relative;
  margin: 0;
  padding: 40px 30px 50px;
  background: linear-gradient(180deg,var(--home-paper) 0%,var(--home-paper) 72%,rgba(215,195,147,.16) 100%);
  color: var(--home-forest);
}
body.cg-home-v2 .featured-section::after { content: '—  ❧  —'; position: absolute; right: 0; bottom: 14px; left: 0; color: rgba(183,138,67,.72); font-family: 'Fraunces', serif; font-size: 15px; letter-spacing: .18em; line-height: 1; text-align: center; }
body.cg-home-v2 .featured-heading { position: relative; text-align: center; margin-bottom: 22px; }
body.cg-home-v2 .featured-heading .flourish { display: block; color: var(--home-gold); font-size: 18px; }
body.cg-home-v2 .featured-section .section-title { margin: 2px 0 0; color: var(--home-forest); font-size: 28px; text-transform: uppercase; letter-spacing: .08em; }
body.cg-home-v2 .featured-heading .bread-link { position: absolute; right: 0; bottom: 7px; }
body.cg-home-v2 .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
body.cg-home-v2 .product-card {
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cg-home-v2 .product-card:hover { transform: translateY(-3px); }
body.cg-home-v2 .product-photo { aspect-ratio: 1.35 / 1; border-radius: 3px; }
body.cg-home-v2 .product-photo img { object-position: var(--photo-focal, 50% 50%); }
body.cg-home-v2 .product-copy { display: flex; min-height: 82px; padding: 13px 4px 0; text-align: center; flex-direction: column; align-items: center; }
body.cg-home-v2 .product-copy h3 { display: -webkit-box; min-height: 2.35em; overflow: hidden; font-family: 'Fraunces', serif; font-size: 17px; line-height: 1.16; color: var(--home-forest); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
body.cg-home-v2 .product-copy p { display: -webkit-box; min-height: 2.9em; max-width: 28ch; margin-top: 4px; overflow: hidden; color: var(--cg-ink-muted); font-size: 11px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

body.cg-home-v2 .market-story { position: relative; display: grid; height: auto; padding: 0; overflow: hidden; grid-template-columns: minmax(0,1.65fr) minmax(280px,1fr); background: var(--home-paper); border-top: 1px solid rgba(183,138,67,.3); box-shadow: 0 -10px 24px rgba(81,62,30,.035); }
body.cg-home-v2 .market-story img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; object-position: center; align-self: center; filter: saturate(.9) contrast(1.02); }
body.cg-home-v2 .market-story::after { display: none; }
body.cg-home-v2 .market-story .story-card { display: flex; min-height: 100%; padding: clamp(34px,4vw,58px); align-items: flex-start; justify-content: center; flex-direction: column; background: linear-gradient(135deg,rgba(215,195,147,.2),rgba(255,250,240,.82)); border-left: 1px solid rgba(183,138,67,.24); }
body.cg-home-v2 .market-story .story-card .bread-link { margin-top: 20px; padding-top: 0; }
body.cg-home-v2 .market-story-mark { position: static; z-index: auto; display: flex; min-height: 70px; padding: 15px 28px; transform: none; align-items: center; justify-content: center; gap: 16px; color: var(--home-forest); background: var(--home-paper); border-bottom: 1px solid var(--home-rule); text-align: center; font-family: 'Fraunces', serif; font-size: clamp(19px, 2.3vw, 27px); text-transform: uppercase; letter-spacing: .08em; text-shadow: none; white-space: nowrap; }
body.cg-home-v2 .market-story-mark span { font-family: 'Work Sans', sans-serif; font-size: 10px; letter-spacing: .24em; }

body.cg-home-v2 .stay-connected {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 28px;
  padding: 32px 44px;
  background: var(--home-forest);
  color: #fff;
}
body.cg-home-v2 .stay-connected .eyebrow { color: #e3c98f; }
body.cg-home-v2 .stay-connected h2 { margin-top: 4px; color: #fff; font-family: 'Fraunces', serif; font-size: 28px; font-weight: 500; }
body.cg-home-v2 .stay-connected p { color: rgba(255,255,255,.75); font-size: 12px; }
body.cg-home-v2 .connect-actions { display: flex; gap: 10px; }
body.cg-home-v2 .connect-actions .btn { border-radius: 3px; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
body.cg-home-v2 .connect-email { background: var(--home-paper); color: var(--home-forest); border-color: var(--home-paper); }
body.cg-home-v2 .connect-social { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }

body.cg-home-v2 .footer {
  display: grid;
  grid-template-columns: minmax(210px,1.55fr) repeat(4, minmax(105px,1fr));
  column-gap: clamp(24px,3.4vw,48px);
  row-gap: 20px;
  margin-top: 0;
  padding: 34px 34px 18px;
  border-top: 0;
  text-align: left;
  background: var(--home-paper);
}
body.cg-home-v2 .footer-brand { position: relative; padding-left: 18px; align-self: start; }
body.cg-home-v2 .footer-brand::before { content: ''; position: absolute; top: 2px; bottom: 2px; left: 0; width: 2px; background: var(--home-gold); }
body.cg-home-v2 .footer-brand .brand-line { max-width: 9ch; font-size: 25px; line-height: 1.02; letter-spacing: .075em; text-transform: uppercase; }
body.cg-home-v2 .footer-brand > span { display: block; margin-top: 7px; color: var(--home-gold); font-size: 8px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; }
body.cg-home-v2 .footer-column { display: flex; padding-top: 2px; flex-direction: column; gap: 6px; }
body.cg-home-v2 .footer-column strong { margin-bottom: 6px; color: var(--home-gold); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
body.cg-home-v2 .footer-column a { width: fit-content; color: var(--home-forest); font-size: 10.5px; line-height: 1.45; text-decoration: none; }
body.cg-home-v2 .footer-column a:hover { color: var(--home-gold); }
body.cg-home-v2 .footer-bottom { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 28px; margin-top: 8px; padding-top: 15px; border-top: 1px solid rgba(183,138,67,.38); align-items: start; }
body.cg-home-v2 .footer .contact-line,
body.cg-home-v2 .footer .legal-line { margin: 0; padding: 0; color: var(--cg-ink-muted); font-size: 9.5px; line-height: 1.5; font-style: normal; }
body.cg-home-v2 .footer .legal-line { text-align: right; }

@media (max-width: 900px) {
  body.cg-home-v2 .navlinks { gap: 14px; }
  body.cg-home-v2 .navlinks a { font-size: 9px; }
  body.cg-home-v2 .hero-split .hero-photo img { width: 76%; }
  body.cg-home-v2 .hero-split .hero-content { width: 68%; padding-left: 38px; }
  body.cg-home-v2 .bread-grid { grid-template-columns: 1fr 1fr; }
  body.cg-home-v2 .market-story { grid-template-columns: 1fr; }
  body.cg-home-v2 .market-story .story-card { min-height: 0; margin-top: 0; border-top: 1px solid rgba(183,138,67,.24); border-left: 0; }
  body.cg-home-v2 .product-grid { grid-template-columns: repeat(2, 1fr); }
  body.cg-home-v2 .stay-connected { grid-template-columns: 1fr; }
  body.cg-home-v2 .footer { grid-template-columns: minmax(190px,1.4fr) repeat(2, minmax(120px,1fr)); }
}

@media (max-width: 680px) {
  body.cg-home-v2 .shell { padding: 0 12px 20px; }
  body.cg-home-v2 .topnav { min-height: 76px; padding: 14px 8px; }
  body.cg-home-v2 .brand-mark { width: 38px; height: 38px; }
  body.cg-home-v2 .brand-copy strong { font-size: 15px; }
  body.cg-home-v2 .hero-split { min-height: 590px; }
  body.cg-home-v2 .hero-split .hero-photo img { top: 0; width: 100%; height: 100%; object-position: 58% 50%; opacity: .86; -webkit-mask-image: none; mask-image: none; }
  body.cg-home-v2 .hero-split .hero-photo .wash { background: linear-gradient(180deg, rgba(10,25,16,.36) 0%, rgba(10,25,16,.53) 42%, rgba(10,25,16,.82) 100%); }
  body.cg-home-v2 .hero-split .hero-content { width: 100%; padding: 52px 22px 122px; text-align: left; }
  body.cg-home-v2 .hero-split .hero-content h1 { max-width: 12.5ch; font-size: clamp(38px, 11vw, 49px); line-height: 1.04; }
  body.cg-home-v2 .hero-split .hero-cta-row { justify-content: flex-start; align-items: stretch; flex-direction: column; max-width: 270px; }
  body.cg-home-v2 .hero-overlay { right: 20px; bottom: 18px; }
  body.cg-home-v2 .bread-grid { grid-template-columns: 1fr; }
  body.cg-home-v2 .week-card,
  body.cg-home-v2 .week-card:first-child,
  body.cg-home-v2 .week-card:last-child { padding: 28px 20px; }
  body.cg-home-v2 .week-card + .week-card { border-left: 0; border-top: 1px solid rgba(81,62,30,.13); }
  body.cg-home-v2 .market-story .story-card { margin-top: 0; }
  body.cg-home-v2 .featured-section { padding: 36px 14px 42px; }
  body.cg-home-v2 .featured-heading .bread-link { position: static; margin-top: 8px; }
  body.cg-home-v2 .product-grid { grid-template-columns: 1fr 1fr; gap: 18px 10px; }
  body.cg-home-v2 .product-photo { aspect-ratio: 1.1 / 1; }
  body.cg-home-v2 .market-story { height: auto; padding: 0; }
  body.cg-home-v2 .market-story img { width: 100%; height: auto; object-position: center; }
  body.cg-home-v2 .market-story-mark { min-height: 82px; padding: 13px 18px; flex-direction: column; gap: 2px; white-space: normal; }
  body.cg-home-v2 .stay-connected { padding: 32px 22px; }
  body.cg-home-v2 .connect-actions { flex-direction: column; }
  body.cg-home-v2 .footer { grid-template-columns: 1fr 1fr; column-gap: 28px; row-gap: 24px; padding: 30px 22px 16px; }
  body.cg-home-v2 .footer-brand { grid-column: 1 / -1; padding-bottom: 2px; }
  body.cg-home-v2 .footer-bottom { grid-template-columns: 1fr; }
  body.cg-home-v2 .footer .legal-line { text-align: left; }
}

/* Homepage responsive system: content-oriented phone and tablet layouts. */
@media (max-width: 599px) and (orientation: portrait) {
  body.cg-home-v2 { overflow-x: hidden; }
  body.cg-home-v2 .shell { width: 100%; padding: 0 10px 18px; overflow: hidden; }
  body.cg-home-v2 .topnav { min-height: 66px; padding: 9px 6px; gap: 8px; }
  body.cg-home-v2 .brand { min-width: 0; gap: 7px; }
  body.cg-home-v2 .brand-mark { width: 36px; height: 36px; font-size: 11px; }
  body.cg-home-v2 .brand-copy strong { overflow: visible; max-width: none; font-size: 13px; letter-spacing: .055em; text-overflow: clip; white-space: nowrap; }
  body.cg-home-v2 .brand-copy span { font-size: 7px; letter-spacing: .13em; }
  body.cg-home-v2 .nav-group { margin-left: auto; gap: 8px; }
  body.cg-home-v2 .navlinks { display: none; }
  body.cg-home-v2 .order-now-btn { display: inline-flex; min-width: 88px; min-height: 44px; padding: 9px 13px; }
  body.cg-home-v2 .menu-btn { display: flex; width: 44px; height: 44px; flex: 0 0 44px; }
  body.cg-home-v2 .topnav.nav-open .nav-group { order: 3; width: 100%; margin-top: 8px; }
  body.cg-home-v2 .topnav.nav-open .navlinks { display: flex; }
  body.cg-public-v2.cg-home-v2 .topnav.nav-open .navlinks a { min-height: 44px; display: flex; align-items: center; justify-content: center; }
  body.cg-home-v2 .topnav.nav-open .order-now-btn { width: 100%; }

  body.cg-home-v2 .hero-split { min-height: 430px; }
  body.cg-home-v2 .hero-split .hero-photo img { width: 100%; height: 100%; opacity: .82; object-fit: cover; object-position: 58% 50%; }
  body.cg-home-v2 .hero-split .hero-photo .wash { background: linear-gradient(180deg, rgba(10,25,16,.28) 0%, rgba(10,25,16,.48) 38%, rgba(10,25,16,.88) 100%); }
  body.cg-home-v2 .hero-split .hero-content { display: flex; width: 100%; min-height: 430px; padding: 24px 18px 20px; justify-content: flex-end; flex-direction: column; }
  body.cg-home-v2 .hero-split .hero-content .eyebrow { margin-bottom: 7px; font-size: 8px; letter-spacing: .13em; }
  body.cg-home-v2 .hero-split .hero-content h1 { width: 100%; max-width: none; font-size: clamp(29px, 8vw, 34px); line-height: 1.02; }
  body.cg-home-v2 .hero-split .hero-content p { max-width: 41ch; margin-top: 7px; font-size: 12px; line-height: 1.4; }
  body.cg-home-v2 .hero-split .hero-cta-row { width: 100%; max-width: none; margin-top: 8px; gap: 6px; }
  body.cg-home-v2 .hero-split .hero-cta-row .btn { width: 100%; min-height: 44px; padding: 10px 14px; }
  body.cg-home-v2 .hero-overlay { top: 10px; right: 10px; bottom: auto; left: auto; width: min(190px,58%); min-height: 42px; padding: 6px 9px; }
  body.cg-home-v2 .hero-overlay .txt { font-size: 9px; }
  body.cg-home-v2 .hero-overlay .txt b { font-size: 10.5px; }

  body.cg-home-v2 .week-section { padding: 15px 14px 11px; }
  body.cg-home-v2 .mobile-when-title { display: block; margin: 0 0 2px; color: var(--home-forest); font-family: 'Fraunces', serif; font-size: 19px; font-weight: 600; letter-spacing: .1em; text-align: left; text-transform: uppercase; }
  body.cg-home-v2 .bread-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  body.cg-home-v2 .week-card,
  body.cg-home-v2 .week-card:first-child,
  body.cg-home-v2 .week-card:last-child { position: relative; display: flex; min-width: 0; min-height: 160px; padding: 11px 11px 42px; gap: 2px; align-items: flex-start; text-align: left; flex-direction: column; background: linear-gradient(145deg,rgba(255,250,240,.92),rgba(215,195,147,.13)); border: 1px solid rgba(183,138,67,.26); border-radius: 3px; }
  body.cg-home-v2 .week-card + .week-card { border-top: 1px solid rgba(183,138,67,.26); border-left: 1px solid rgba(183,138,67,.26); }
  body.cg-home-v2 .week-card:not(.story-card) .week-card-head { display: flex; width: 100%; gap: 7px; align-items: center; flex-direction: row; }
  body.cg-home-v2 .week-card:not(.story-card) .week-card-icon { width: 30px; height: 30px; flex: 0 0 30px; }
  body.cg-home-v2 .week-card:not(.story-card) .week-card-icon svg { width: 17px; height: 17px; }
  body.cg-home-v2 .week-card:not(.story-card) .eyebrow { font-size: 8px; line-height: 1.2; }
  body.cg-home-v2 .week-card .w-big { display: -webkit-box; width: 100%; margin-top: 3px; overflow: hidden; font-size: 14px; line-height: 1.15; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  body.cg-home-v2 .week-card .w-sub,
  body.cg-home-v2 .week-card .w-line,
  body.cg-home-v2 .week-card .w-city-list li { font-size: 9px; line-height: 1.2; }
  body.cg-home-v2 .week-card .w-sub,
  body.cg-home-v2 .week-card .w-line { display: -webkit-box; width: 100%; overflow: hidden; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
  body.cg-home-v2 #market-pickup .w-line:last-of-type { -webkit-line-clamp: 2; }
  body.cg-home-v2 .week-card .w-list-label { display: none; }
  body.cg-home-v2 .week-card .w-city-list { width: 100%; overflow: hidden; margin-top: 1px; justify-content: flex-start; flex-wrap: nowrap; gap: 0 7px; white-space: nowrap; }
  body.cg-home-v2 .week-card .w-city-list li:nth-child(n+3) { display: none; }
  body.cg-home-v2 .week-card .delivery-pricing-note { display: none; }
  body.cg-home-v2 .week-card:not(.story-card) .bread-link { position: absolute; z-index: 2; right: 10px; bottom: 0; left: 10px; display: flex; min-height: 44px; margin: 0; padding: 9px 0 6px; overflow: hidden; align-items: center; justify-content: space-between; color: var(--home-forest); font-size: 8px; }
  body.cg-home-v2 .week-card:not(.story-card) .bread-link span { color: var(--home-gold); font-family: 'Fraunces',serif; font-size: 17px; }
  body.cg-home-v2 .week-card:not(.story-card) .bread-link::after { display: none; }
  body.cg-home-v2 .week-card:not(.story-card) .bread-link:focus-visible { outline: 2px solid var(--home-gold); outline-offset: 2px; }
  body.cg-home-v2 .week-card:not(.story-card):hover { border-color: rgba(183,138,67,.48); box-shadow: 0 5px 15px rgba(81,62,30,.06); }
  body.cg-public-v2.cg-home-v2 .market-story .story-card { position: relative; z-index: 1; display: block; min-height: 0; margin: -14px 0 0; padding: 20px 15px 11px; overflow: hidden; align-items: flex-start; background: linear-gradient(135deg,rgba(215,195,147,.24),rgba(255,250,240,.92)); border: 0; border-top: 1px solid rgba(183,138,67,.3); border-radius: 6px 6px 0 0; box-shadow: 0 -8px 18px rgba(81,62,30,.1); }
  body.cg-home-v2 .story-card::after { right: 6px; bottom: -8px; font-size: 47px; }
  body.cg-home-v2 .story-card h2 { max-width: 18ch; margin-top: 3px; font-size: 21px; line-height: 1.04; }
  body.cg-home-v2 .story-card p { display: -webkit-box; max-width: 42ch; margin-top: 3px; overflow: hidden; font-size: 10.5px; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  body.cg-home-v2 .story-card .bread-link { min-height: 32px; margin-top: 2px; padding-top: 1px; }

  body.cg-home-v2 .featured-section { padding: 22px 12px 34px; }
  body.cg-home-v2 .featured-section::after { bottom: 9px; font-size: 13px; letter-spacing: .14em; }
  body.cg-home-v2 .featured-section .section-title { font-size: 22px; }
  body.cg-home-v2 .featured-heading { margin-bottom: 12px; }
  body.cg-home-v2 .product-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
  body.cg-home-v2 .product-card { position: relative; display: grid; width: 100%; min-height: 86px; padding: 7px 22px 7px 0; grid-template-columns: minmax(82px,29%) minmax(0,1fr); gap: 11px; align-items: stretch; border-bottom: 1px solid rgba(81,62,30,.14); }
  body.cg-home-v2 .product-card:last-child { border-bottom: 0; }
  body.cg-home-v2 .product-card::after { content: '›'; position: absolute; top: 50%; right: 3px; color: var(--home-gold); font-family: 'Fraunces', serif; font-size: 25px; transform: translateY(-50%); }
  body.cg-home-v2 .product-photo { width: 100%; height: 100%; min-height: 72px; aspect-ratio: auto; }
  body.cg-home-v2 .product-copy { min-height: 0; padding: 3px 2px 3px 0; text-align: left; align-items: flex-start; justify-content: center; }
  body.cg-home-v2 .product-copy h3 { min-height: auto; font-size: 16px; line-height: 1.13; }
  body.cg-home-v2 .product-copy p { min-height: 2.6em; max-width: none; margin-top: 3px; color: #556359; font-size: 11px; line-height: 1.3; -webkit-line-clamp: 2; }

  body.cg-home-v2 .stay-connected { gap: 6px; padding: 12px 16px 10px; }
  body.cg-home-v2 .stay-connected .eyebrow { font-size: 8px; }
  body.cg-home-v2 .stay-connected h2 { margin-top: 1px; font-size: 19px; line-height: 1.05; }
  body.cg-home-v2 .stay-connected p { font-size: 10px; line-height: 1.25; }
  body.cg-home-v2 .connect-actions { display: grid; width: 100%; gap: 0; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.18); }
  body.cg-home-v2 .connect-actions .btn { width: 100%; min-height: 34px; padding: 6px 8px 0; background: transparent; border: 0; border-radius: 0; color: #fff; }
  body.cg-home-v2 .connect-actions .btn + .btn { border-left: 1px solid rgba(255,255,255,.18); }

  body.cg-home-v2 .footer { display: block; padding: 9px 16px 8px; }
  body.cg-home-v2 .footer-brand { display: none; }
  body.cg-home-v2 .footer-column { display: none; }
  body.cg-home-v2 .footer-bottom { display: grid; grid-template-columns: 1fr; gap: 3px; margin: 0; padding: 0; border-top: 0; }
  body.cg-home-v2 .footer .contact-line,
  body.cg-home-v2 .footer .legal-line { font-size: 8.75px; line-height: 1.3; text-align: left; overflow-wrap: anywhere; }
}

@media (max-width: 359px) and (orientation: portrait) {
  body.cg-home-v2 .bread-grid { grid-template-columns: 1fr; }
}

@media (min-width: 600px) and (max-width: 950px) and (orientation: landscape) and (max-height: 500px) {
  body.cg-home-v2 { overflow-x: hidden; }
  body.cg-home-v2 .shell { width: 100%; padding: 0 12px 20px; }
  body.cg-home-v2 .topnav { min-height: 58px; padding: 7px 10px; }
  body.cg-home-v2 .brand-mark { width: 34px; height: 34px; }
  body.cg-home-v2 .brand-copy strong { font-size: 13px; }
  body.cg-home-v2 .brand-copy span { font-size: 7px; }
  body.cg-home-v2 .nav-group { margin-left: auto; }
  body.cg-home-v2 .navlinks { display: none; }
  body.cg-home-v2 .order-now-btn { display: inline-flex; min-height: 44px; padding: 8px 14px; }
  body.cg-home-v2 .menu-btn { display: flex; width: 44px; height: 44px; }
  body.cg-home-v2 .topnav.nav-open .nav-group { order: 3; width: 100%; margin-top: 6px; }
  body.cg-home-v2 .topnav.nav-open .navlinks { display: grid; grid-template-columns: repeat(5,1fr); }
  body.cg-public-v2.cg-home-v2 .topnav.nav-open .navlinks a { min-height: 44px; display: flex; align-items: center; justify-content: center; }
  body.cg-home-v2 .topnav.nav-open .order-now-btn { display: none; }

  body.cg-home-v2 .hero-split { min-height: 310px; }
  body.cg-home-v2 .hero-split .hero-photo img { width: 58%; height: 100%; opacity: 1; object-fit: cover; object-position: 52% 50%; -webkit-mask-image: linear-gradient(90deg,transparent,#000 20%); mask-image: linear-gradient(90deg,transparent,#000 20%); }
  body.cg-home-v2 .hero-split .hero-photo .wash { background: linear-gradient(90deg,rgba(10,25,16,.88) 0%,rgba(10,25,16,.7) 42%,rgba(10,25,16,.08) 68%); }
  body.cg-home-v2 .hero-split .hero-content { width: 53%; padding: 24px 0 22px 28px; }
  body.cg-home-v2 .hero-split .hero-content .eyebrow { margin-bottom: 6px; font-size: 8px; }
  body.cg-home-v2 .hero-split .hero-content h1 { max-width: 13ch; font-size: clamp(27px,4.2vw,36px); line-height: 1; }
  body.cg-home-v2 .hero-split .hero-content p { margin-top: 8px; font-size: 11px; line-height: 1.35; }
  body.cg-home-v2 .hero-split .hero-cta-row { margin-top: 10px; gap: 7px; }
  body.cg-home-v2 .hero-split .hero-cta-row .btn { min-height: 40px; padding: 8px 12px; font-size: 9px; }
  body.cg-home-v2 .hero-overlay { right: 10px; bottom: 10px; width: 220px; min-height: 42px; padding: 7px 9px; }
  body.cg-home-v2 .hero-overlay .txt { font-size: 9px; }
  body.cg-home-v2 .hero-overlay .txt b { font-size: 11px; }

  body.cg-home-v2 .week-section { padding: 26px 8px; }
  body.cg-home-v2 .bread-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.cg-home-v2 .week-card,
  body.cg-home-v2 .week-card:first-child,
  body.cg-home-v2 .week-card:last-child { min-height: 235px; padding: 16px 20px; }
  body.cg-home-v2 .week-card-icon { width: 40px; height: 40px; }
  body.cg-home-v2 .week-card .w-big { font-size: 17px; }
  body.cg-home-v2 .story-card { grid-column: auto; margin-top: 0; border-top: 0; }
  body.cg-home-v2 .story-card h2 { font-size: 25px; }
  body.cg-home-v2 .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.cg-home-v2 .market-story { max-width: min(700px,84vw); margin-inline: auto; grid-template-columns: minmax(0,1.55fr) minmax(240px,.85fr); }
  body.cg-home-v2 .market-story .story-card { padding: 22px 24px; border-top: 0; border-left: 1px solid rgba(183,138,67,.24); }
  body.cg-home-v2 .stay-connected { grid-template-columns: 1fr auto; padding: 24px 30px; }
}

@media (min-width: 700px) and (max-width: 900px) and (orientation: portrait) {
  body.cg-home-v2 .shell { padding-inline: 16px; }
  body.cg-home-v2 .topnav { min-height: 72px; padding: 10px 12px; }
  body.cg-home-v2 .brand-mark { width: 38px; height: 38px; }
  body.cg-home-v2 .brand-copy strong { font-size: 14px; }
  body.cg-home-v2 .navlinks { gap: 10px; }
  body.cg-home-v2 .navlinks a { display: inline-flex; min-width: 44px; min-height: 44px; padding-inline: 5px; align-items: center; justify-content: center; font-size: 8px; }
  body.cg-home-v2 .order-now-btn { min-height: 44px; padding-inline: 14px; }
  body.cg-home-v2 .hero-split { min-height: 430px; }
  body.cg-home-v2 .hero-split .hero-photo img { width: 73%; object-position: 52% 50%; }
  body.cg-home-v2 .hero-split .hero-content { width: 60%; padding: 38px 0 34px 30px; }
  body.cg-home-v2 .hero-split .hero-content h1 { font-size: clamp(38px,5.7vw,46px); }
  body.cg-home-v2 .hero-split .hero-content p { margin-top: 10px; font-size: 12.5px; }
  body.cg-home-v2 .hero-split .hero-cta-row { margin-top: 19px; }
  body.cg-home-v2 .hero-overlay { top: 16px; right: 16px; bottom: auto; width: 250px; }
  body.cg-home-v2 .week-section { padding: 24px 12px 24px; }
  body.cg-home-v2 .mobile-when-title { display: block; margin: 0 0 12px; color: var(--home-forest); font-family: 'Fraunces', serif; font-size: 24px; font-weight: 600; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
  body.cg-home-v2 .bread-grid { grid-template-columns: 1fr 1fr; gap: 0; }
  body.cg-home-v2 .week-card,
  body.cg-home-v2 .week-card:first-child,
  body.cg-home-v2 .week-card:last-child { min-height: 220px; padding: 15px 28px; }
  body.cg-home-v2 .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 18px; }
  body.cg-home-v2 .product-photo { aspect-ratio: 1.3 / 1; }
  body.cg-home-v2 .market-story { max-width: 640px; margin-inline: auto; }
  body.cg-home-v2 .market-story .story-card { padding: 24px 30px 22px; }
  body.cg-home-v2 .market-story .story-card h2 { max-width: 18ch; margin-top: 6px; font-size: 28px; }
  body.cg-home-v2 .stay-connected { grid-template-columns: 1fr auto; padding: 28px 30px; }
  body.cg-home-v2 .connect-actions { flex-direction: column; min-width: 190px; }
  body.cg-home-v2 .connect-actions .btn { min-height: 44px; }
  body.cg-home-v2 .footer { grid-template-columns: 1.35fr repeat(2,1fr); row-gap: 13px; padding-block: 27px 15px; }
}

@media (min-width: 901px) and (max-width: 1366px) and (orientation: landscape) and (min-height: 501px) {
  body.cg-home-v2 .shell { max-width: 1180px; padding-inline: clamp(16px,2.2vw,26px); }
  body.cg-home-v2 .topnav { min-height: 72px; padding-block: 10px; }
  body.cg-home-v2 .navlinks { gap: clamp(14px,1.7vw,23px); }
  body.cg-home-v2 .navlinks a { font-size: 9px; }
  body.cg-home-v2 .hero-split { min-height: clamp(450px,52vw,510px); }
  body.cg-home-v2 .hero-split .hero-content { width: 57%; padding-left: clamp(38px,4.5vw,54px); }
  body.cg-home-v2 .hero-split .hero-content h1 { font-size: clamp(43px,4.5vw,58px); }
  body.cg-home-v2 .week-section { padding-block: 36px; }
  body.cg-home-v2 .week-card,
  body.cg-home-v2 .week-card:first-child,
  body.cg-home-v2 .week-card:last-child { min-height: 270px; padding-inline: clamp(24px,3vw,38px); }
  body.cg-home-v2 .product-grid { gap: clamp(14px,2vw,20px); }
  body.cg-home-v2 .market-story { max-width: min(920px,86vw); margin-inline: auto; }
  body.cg-home-v2 .footer { column-gap: clamp(22px,3vw,42px); }
  body.cg-home-v2 :is(.btn,.menu-btn,.navlinks a,.footer-column a) { min-width: 44px; min-height: 44px; }
}

/* About V2 direction correction — compact, warm family-story composition. */
body.cg-about-v2 {
  --about-cream: #f7f0e3;
  --about-paper: #fffaf0;
  --about-forest: #183421;
  --about-forest-deep: #102719;
  --about-gold: #b78a43;
  --about-rule: rgba(81,62,30,.2);
  background: var(--about-cream);
}
body.cg-about-v2 .page { background: var(--about-cream); }
body.cg-about-v2 .shell { max-width: 1240px; padding: 0 22px 36px; }
body.cg-about-v2 .topnav {
  position: relative;
  top: auto;
  min-height: 78px;
  padding: 13px 20px;
  border-bottom: 1px solid var(--about-rule);
  background: rgba(255,250,240,.96);
  backdrop-filter: blur(12px);
}
body.cg-about-v2 .brand { gap: 11px; }
body.cg-about-v2 .brand-mark { width: 40px; height: 40px; border: 1px solid var(--about-gold); background: transparent; color: var(--about-forest); font-family: 'Fraunces',serif; font-size: 13px; letter-spacing: -.06em; }
body.cg-about-v2 .brand-copy strong { font-size: 17px; letter-spacing: .08em; text-transform: uppercase; }
body.cg-about-v2 .brand-copy span { margin-top: 2px; font-size: 8px; letter-spacing: .2em; }
body.cg-about-v2 .nav-group { gap: 24px; }
body.cg-about-v2 .navlinks { gap: clamp(16px,2vw,27px); }
body.cg-about-v2 .navlinks a { color: var(--about-forest-deep); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
body.cg-about-v2 .navlinks a.active { border-color: transparent; color: var(--about-gold); }
body.cg-about-v2 .order-now-btn { border-radius: 4px; background: var(--about-forest); border-color: var(--about-forest); text-transform: uppercase; letter-spacing: .08em; font-size: 11px; }
body.cg-about-v2 main { overflow: hidden; }
body.cg-about-v2 .eyebrow { color: var(--about-gold); font-size: 9px; letter-spacing: .22em; }
body.cg-about-v2 .about-opening {
  display: grid;
  max-width: 1080px;
  min-height: 0;
  margin: 30px auto 0;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(183,138,67,.2);
  grid-template-columns: minmax(320px, 42fr) minmax(470px, 58fr);
  gap: clamp(32px, 4vw, 52px);
  align-items: start;
}
body.cg-about-v2 .about-opening-copy { padding: 18px 0 20px 20px; }
body.cg-about-v2 .about-opening-copy h1 {
  max-width: 11ch;
  margin-top: 9px;
  color: var(--about-forest-deep);
  font-family: 'Fraunces', serif;
  font-size: clamp(38px, 3.7vw, 49px);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -.025em;
}
body.cg-about-v2 .about-opening-copy > p {
  max-width: 33ch;
  margin-top: 17px;
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.42;
}
body.cg-about-v2 .about-opening-rule { margin-top: 22px; }
body.cg-about-v2 .about-opening-photo {
  min-height: 0;
  overflow: visible;
  aspect-ratio: auto;
}
body.cg-about-v2 .about-opening-photo::after { display: none; }
body.cg-about-v2 .about-opening-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1.48 / 1; border-radius: 3px; object-fit: cover; object-position: 50% 50%; }
body.cg-about-v2 .about-opening-photo figcaption {
  position: static;
  padding: 7px 0 0;
  color: var(--cg-ink-muted);
  background: transparent;
  font-family: 'Cormorant Garamond', serif;
  font-size: 12px;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0;
  text-align: right;
  text-transform: none;
}

body.cg-about-v2 .story {
  position: relative;
  display: grid;
  max-width: 930px;
  margin: clamp(34px, 4vw, 48px) auto 0;
  padding: 27px 24px 30px;
  border-top: 1px solid var(--about-rule);
  background: linear-gradient(90deg,rgba(234,223,200,.18),rgba(255,250,240,.28),rgba(234,223,200,.18));
  grid-template-columns: minmax(240px, .72fr) minmax(390px, 1.28fr);
  gap: clamp(34px, 5vw, 56px);
  align-items: start;
}
body.cg-about-v2 .story::before {
  content: '';
  position: absolute;
  top: -4px;
  left: 50%;
  width: 7px;
  height: 7px;
  border: 1px solid var(--about-gold);
  background: var(--about-cream);
  transform: translateX(-50%) rotate(45deg);
}
body.cg-about-v2 .story-heading { grid-column: 1; }
body.cg-about-v2 .story-heading .eyebrow { display: block; text-align: left; }
body.cg-about-v2 .story-heading h2 {
  max-width: 10ch;
  margin-top: 8px;
  color: var(--about-forest-deep);
  font-family: 'Fraunces', serif;
  font-size: clamp(30px, 3.2vw, 40px);
  font-weight: 600;
  line-height: 1.08;
  text-align: left;
}
body.cg-about-v2 .story-rule { display: block; width: 46px; height: 1px; margin-top: 20px; background: var(--about-gold); }
body.cg-about-v2 .story-body { display: block; grid-column: 2; grid-row: 1; }
body.cg-about-v2 .story-copy { max-width: 54ch; font-size: 15px; line-height: 1.68; }
body.cg-about-v2 .story-copy p + p { margin-top: 14px; }

body.cg-about-v2 .guides {
  display: block;
  max-width: 850px;
  margin: clamp(28px, 3.5vw, 38px) auto 0;
  padding: 22px 24px 11px;
  border-top: 1px solid rgba(71,94,73,.12);
  border-bottom: 1px solid rgba(71,94,73,.1);
  background: rgba(218,228,212,.46);
  color: var(--about-forest);
}
body.cg-about-v2 .guides-heading {
  display: block;
  max-width: 680px;
  margin: 0 auto 14px;
  text-align: center;
}
body.cg-about-v2 .guides-heading .eyebrow { color: var(--about-gold); }
body.cg-about-v2 .guides-heading h2 {
  max-width: 18ch;
  margin: 7px auto 0;
  color: var(--about-forest-deep);
  font-size: clamp(28px, 2.8vw, 36px);
  line-height: 1.08;
}
body.cg-about-v2 .guides-heading p {
  max-width: 58ch;
  margin: 12px auto 0;
  color: #4f5e53;
  font-size: 13.5px;
  line-height: 1.6;
}
body.cg-about-v2 .guides-row {
  display: grid;
  margin: 0;
  padding: 0;
  background: transparent;
  grid-template-columns: repeat(4,minmax(0,1fr));
  align-content: stretch;
}
body.cg-about-v2 .guides-row article {
  display: flex;
  min-height: 78px;
  padding: 4px 14px;
  border: 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
}
body.cg-about-v2 .principle-icon { display: inline-flex; width: 38px; height: 38px; margin-bottom: 8px; padding: 0; border: 0; color: #a9762e; align-items: center; justify-content: center; flex: 0 0 auto; }
body.cg-about-v2 .principle-icon svg { display: block; width: 36px; height: 36px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
body.cg-about-v2 .principle-icon svg :is(path,circle) { vector-effect: non-scaling-stroke; }
body.cg-about-v2 .guides-row h3 { max-width: none; margin: 0; color: var(--about-forest); font-size: 16px; }
body.cg-about-v2 .guides-cta { display: flex; margin-top: 9px; justify-content: center; }
body.cg-about-v2 .guides-cta .btn { min-height: 38px; padding: 8px 16px; border-color: rgba(24,52,33,.62); background: rgba(255,250,240,.55); color: var(--about-forest); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }

body.cg-about-v2 .faith {
  display: grid;
  max-width: 880px;
  margin: clamp(34px, 4.5vw, 48px) auto 0;
  padding: 0 22px;
  grid-template-columns: minmax(280px, .9fr) minmax(360px, 1.1fr);
  gap: clamp(38px, 6vw, 64px);
  align-items: center;
}
body.cg-about-v2 .faith h2 { max-width: 12ch; font-size: clamp(30px, 3.4vw, 41px); line-height: 1.08; }
body.cg-about-v2 .faith-body { padding: 10px 0 10px 24px; font-size: 15px; line-height: 1.72; }
body.cg-about-v2 .quote {
  position: relative;
  max-width: 680px;
  margin: 24px auto 0;
  padding: clamp(20px, 2.5vw, 24px) clamp(28px, 5vw, 46px);
  overflow: hidden;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cg-about-v2 .quote-mark { top: -1px; left: 50%; color: #ad7b31; font-size: 52px; opacity: .2; transform: translateX(-50%); }
body.cg-about-v2 .quote p { position: relative; max-width: 590px; margin: 0 auto; color: var(--about-forest-deep); font-size: clamp(19px, 2vw, 24px); font-style: italic; line-height: 1.42; text-align: center; }
body.cg-about-v2 .quote-rule { display: block; width: 46px; height: 1px; margin: 14px auto 0; background: #ad7b31; }

body.cg-about-v2 .beyond {
  display: grid;
  max-width: 940px;
  margin: clamp(48px, 6vw, 68px) auto 0;
  padding: 27px 24px;
  border-top: 1px solid var(--about-rule);
  border-bottom: 1px solid var(--about-rule);
  background: transparent;
  grid-template-columns: minmax(290px, 40fr) minmax(410px, 60fr);
  gap: clamp(34px, 5vw, 54px);
  align-items: center;
}
body.cg-about-v2 .beyond h2 { font-size: clamp(30px, 3.2vw, 39px); }
body.cg-about-v2 .beyond-body { margin-top: 14px; font-size: 13.5px; line-height: 1.62; }
body.cg-about-v2 .beyond-body p + p { margin-top: 10px; }
body.cg-about-v2 .book-list { margin: 0; padding: 0; border-top: 0; text-align: left; }
body.cg-about-v2 .book-list li { display: grid; margin: 0; padding: 18px 16px 18px 0; border-top: 1px solid rgba(81,62,30,.24); grid-template-columns: 104px minmax(0,1fr); gap: 22px; align-items: center; }
body.cg-about-v2 .book-list li:last-child { border-bottom: 1px solid rgba(81,62,30,.24); }
body.cg-about-v2 .book-cover { display: block; width: 104px; height: auto; max-height: 140px; object-fit: contain; box-shadow: 0 3px 10px rgba(38,58,47,.1); }
body.cg-about-v2 .book-copy { min-width: 0; }
body.cg-about-v2 .book-title { font-size: 17px; }
body.cg-about-v2 .book-list a { margin-top: 7px; }

body.cg-about-v2 .footer {
  display: grid;
  width: min(780px,100%);
  margin: 0 auto;
  padding: 10px 16px 8px;
  border-top: 1px solid var(--about-rule);
  background: transparent;
  grid-template-columns: minmax(160px,.7fr) minmax(180px,.8fr) minmax(260px,1.2fr);
  column-gap: clamp(18px,2.5vw,26px);
  align-items: center;
  text-align: left;
}
body.cg-about-v2 .footer-brand { position: relative; padding-left: 14px; grid-column: 1; grid-row: 1; align-self: center; }
body.cg-about-v2 .footer-brand::before { content: ''; position: absolute; inset: 2px auto 2px 0; width: 2px; background: var(--about-gold); }
body.cg-about-v2 .footer-brand .brand-line { max-width: 9ch; font-family: 'Fraunces',serif; font-size: 19px; font-weight: 600; line-height: 1.02; letter-spacing: .075em; text-transform: uppercase; }
body.cg-about-v2 .footer-brand > span { display: block; margin-top: 6px; color: var(--about-gold); font-size: 8px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
body.cg-about-v2 .footer .contact-line,
body.cg-about-v2 .footer .legal-line { margin: 0; padding: 0; color: var(--cg-ink-muted); font-size: 8.75px; line-height: 1.35; font-style: normal; }
body.cg-about-v2 .footer .contact-line { grid-column: 2; grid-row: 1; line-height: 1.4; }
body.cg-about-v2 .footer .contact-line a { color: inherit; text-decoration: none; }
body.cg-about-v2 .footer .legal-line { max-width: 42ch; grid-column: 3; grid-row: 1; text-align: left; }

@media (max-width: 900px) {
  body.cg-about-v2 .navlinks { gap: 12px; }
  body.cg-about-v2 .navlinks a { font-size: 8.5px; }
  body.cg-about-v2 .about-opening { margin-top: 24px; padding: 0 12px; grid-template-columns: minmax(280px, 42fr) minmax(360px, 58fr); gap: 28px; }
  body.cg-about-v2 .about-opening-copy { padding-left: 8px; }
  body.cg-about-v2 .about-opening-copy h1 { font-size: 40px; }
  body.cg-about-v2 .story { margin-top: 58px; padding-inline: 22px; grid-template-columns: .78fr 1.22fr; gap: 38px; }
  body.cg-about-v2 .guides { margin-inline: auto; padding-inline: 28px; }
  body.cg-about-v2 .faith { padding-inline: 26px; gap: 40px; }
  body.cg-about-v2 .quote { margin-inline: 26px; }
  body.cg-about-v2 .beyond { margin-inline: 26px; grid-template-columns: .9fr 1.1fr; gap: 38px; }
  body.cg-about-v2 .footer { grid-template-columns: minmax(150px,.7fr) minmax(170px,.8fr) minmax(230px,1.2fr); column-gap: 18px; }
}

@media (max-width: 680px) {
  body.cg-about-v2 .shell { padding: 0 12px 20px; }
  body.cg-about-v2 .topnav { min-height: 76px; padding: 14px 8px; }
  body.cg-about-v2 .brand-mark { width: 38px; height: 38px; }
  body.cg-about-v2 .brand-copy strong { font-size: 15px; }
  body.cg-about-v2 .navlinks { display: none; }
  body.cg-about-v2 .order-now-btn { display: inline-flex; min-height: 44px; padding: 8px 13px; }
  body.cg-about-v2 .menu-btn { width: 44px; height: 44px; }
  body.cg-about-v2 .topnav.nav-open .nav-group { order: 3; }
  body.cg-about-v2 .topnav.nav-open .navlinks { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  body.cg-about-v2 .topnav.nav-open .navlinks a { display: flex; min-height: 44px; padding: 8px; align-items: center; justify-content: center; }
  body.cg-about-v2 .topnav.nav-open .order-now-btn { display: none; }
  body.cg-about-v2 .about-opening { display: flex; margin-top: 0; padding: 0; gap: 0; }
  body.cg-about-v2 .about-opening-copy { padding: 28px 18px 22px; }
  body.cg-about-v2 .about-opening-copy h1 { font-size: clamp(33px, 9vw, 40px); }
  body.cg-about-v2 .about-opening-copy > p { max-width: 36ch; margin-top: 12px; font-size: 17px; line-height: 1.36; }
  body.cg-about-v2 .about-opening-rule { margin-top: 15px; }
  body.cg-about-v2 .about-opening-photo { aspect-ratio: auto; }
  body.cg-about-v2 .about-opening-photo img { aspect-ratio: 1.45 / 1; }
  body.cg-about-v2 .about-opening-photo img { border-radius: 0; }
  body.cg-about-v2 .about-opening-photo figcaption { padding: 6px 8px 0; font-size: 10px; }
  body.cg-about-v2 .story { display: block; margin-top: 32px; padding: 24px 18px 22px; }
  body.cg-about-v2 .story-heading h2 { max-width: 13ch; font-size: 29px; }
  body.cg-about-v2 .story-rule { margin-top: 14px; }
  body.cg-about-v2 .story-body { margin-top: 17px; }
  body.cg-about-v2 .story-copy { font-size: 13.5px; line-height: 1.6; }
  body.cg-about-v2 .story-copy p + p { margin-top: 11px; }
  body.cg-about-v2 .guides { display: block; margin: 28px 0 0; padding: 22px 18px 11px; }
  body.cg-about-v2 .guides-heading { display: block; margin-bottom: 16px; }
  body.cg-about-v2 .guides-heading h2 { font-size: 28px; }
  body.cg-about-v2 .guides-heading p { margin-top: 12px; font-size: 12.5px; line-height: 1.52; }
  body.cg-about-v2 .guides-row { margin-top: 0; grid-template-columns: 1fr 1fr; }
  body.cg-about-v2 .guides-row article { min-height: 72px; padding: 9px 6px; border-bottom: 1px solid rgba(81,62,30,.14); }
  body.cg-about-v2 .guides-row article:nth-child(even) { border-right: 0; }
  body.cg-about-v2 .guides-row article:nth-last-child(-n+2) { border-bottom: 0; }
  body.cg-about-v2 .guides-row h3 { font-size: 15px; }
  body.cg-about-v2 .principle-icon { width: 36px; height: 36px; margin-bottom: 7px; }
  body.cg-about-v2 .principle-icon svg { width: 34px; height: 34px; }
  body.cg-about-v2 .faith { display: block; margin-top: 34px; padding: 0 18px; }
  body.cg-about-v2 .faith h2 { font-size: 29px; }
  body.cg-about-v2 .faith-body { margin-top: 16px; padding: 0 0 0 15px; font-size: 13.5px; line-height: 1.6; }
  body.cg-about-v2 .quote { margin: 12px 12px 0; padding: 20px 18px; }
  body.cg-about-v2 .quote-mark { font-size: 42px; }
  body.cg-about-v2 .quote p { font-size: 18.5px; }
  body.cg-about-v2 .beyond { display: block; margin: 40px 0 0; padding: 26px 18px; }
  body.cg-about-v2 .beyond h2 { font-size: 29px; }
  body.cg-about-v2 .beyond-body { font-size: 12.75px; }
  body.cg-about-v2 .book-list { margin-top: 19px; }
  body.cg-about-v2 .book-list li { display: block; padding: 15px 0; }
  body.cg-about-v2 .book-cover { width: 108px; max-height: none; margin: 0 auto 11px; }
  body.cg-about-v2 .book-copy { text-align: center; }
  body.cg-about-v2 .book-title { font-size: 16px; }
  body.cg-about-v2 .guides-cta { margin-top: 9px; }
  body.cg-about-v2 .guides-cta .btn { min-height: 40px; padding: 8px 14px; font-size: 9px; }
  body.cg-about-v2 .footer { display: block; padding: 12px 10px 8px; }
  body.cg-about-v2 .footer-brand { display: block; padding-left: 12px; }
  body.cg-about-v2 .footer-brand .brand-line { font-size: 17px; }
  body.cg-about-v2 .footer-brand > span { margin-top: 4px; font-size: 7px; }
  body.cg-about-v2 .footer .contact-line,
  body.cg-about-v2 .footer .legal-line { margin-top: 7px; font-size: 8.75px; line-height: 1.3; text-align: left; overflow-wrap: anywhere; }
}

@media (min-width: 600px) and (max-width: 950px) and (orientation: landscape) and (max-height: 500px) {
  body.cg-about-v2 .shell { width: 100%; padding: 0 12px 20px; }
  body.cg-about-v2 .topnav { min-height: 58px; padding: 7px 10px; }
  body.cg-about-v2 .brand-mark { width: 34px; height: 34px; }
  body.cg-about-v2 .brand-copy strong { font-size: 13px; }
  body.cg-about-v2 .navlinks { display: none; }
  body.cg-about-v2 .order-now-btn { display: inline-flex; min-height: 44px; padding: 8px 14px; }
  body.cg-about-v2 .menu-btn { display: flex; width: 44px; height: 44px; }
  body.cg-about-v2 .topnav.nav-open .nav-group { order: 3; width: 100%; margin-top: 6px; }
  body.cg-about-v2 .topnav.nav-open .navlinks { display: grid; grid-template-columns: repeat(5,1fr); }
  body.cg-about-v2 .topnav.nav-open .navlinks a { display: flex; min-height: 44px; align-items: center; justify-content: center; }
  body.cg-about-v2 .topnav.nav-open .order-now-btn { display: none; }
  body.cg-about-v2 .about-opening { display: grid; min-height: 0; margin-top: 16px; grid-template-columns: minmax(300px, 42fr) minmax(380px, 58fr); }
  body.cg-about-v2 .about-opening-copy { padding: 20px 10px 22px 18px; }
  body.cg-about-v2 .about-opening-copy h1 { font-size: 33px; }
  body.cg-about-v2 .about-opening-copy > p { margin-top: 8px; font-size: 15px; }
  body.cg-about-v2 .about-opening-photo { min-height: 0; aspect-ratio: auto; }
  body.cg-about-v2 .about-opening-photo img { aspect-ratio: 1.8 / 1; }
  body.cg-about-v2 .story { margin-top: 42px; padding-top: 26px; }
  body.cg-about-v2 .guides { margin-top: 32px; padding-block: 20px 11px; }
  body.cg-about-v2 .faith { margin-top: 36px; }
  body.cg-about-v2 .quote { margin-top: 13px; padding-block: 21px; }
  body.cg-about-v2 .beyond { margin-top: 46px; padding-block: 25px; }
}

@media (min-width: 700px) and (max-width: 900px) and (orientation: portrait) {
  body.cg-about-v2 .shell { padding-inline: 16px; }
  body.cg-about-v2 .topnav { min-height: 72px; padding: 10px 12px; }
  body.cg-about-v2 .brand-mark { width: 38px; height: 38px; }
  body.cg-about-v2 .brand-copy strong { font-size: 14px; }
  body.cg-about-v2 .navlinks { gap: 8px; }
  body.cg-about-v2 .navlinks a { display: inline-flex; min-width: 44px; min-height: 44px; padding-inline: 3px; align-items: center; justify-content: center; font-size: 7.5px; }
  body.cg-about-v2 .order-now-btn { min-height: 44px; padding-inline: 14px; }
  body.cg-about-v2 .about-opening { display: flex; max-width: 680px; min-height: 0; padding-inline: 20px; flex-direction: column; gap: 0; }
  body.cg-about-v2 .about-opening-copy { padding: 22px 8px 24px; }
  body.cg-about-v2 .about-opening-copy > p { max-width: 42ch; }
  body.cg-about-v2 .about-opening-photo { min-height: 0; aspect-ratio: auto; }
  body.cg-about-v2 .about-opening-photo img { aspect-ratio: 1.55 / 1; }
  body.cg-about-v2 .story { margin-top: 54px; grid-template-columns: .78fr 1.22fr; }
  body.cg-about-v2 .guides { display: block; margin-top: 34px; padding: 22px 28px 11px; }
  body.cg-about-v2 .guides-heading { margin-bottom: 14px; }
  body.cg-about-v2 .guides-row { margin-top: 10px; grid-template-columns: 1fr 1fr; }
  body.cg-about-v2 .faith { margin-top: 42px; }
  body.cg-about-v2 .beyond { margin-top: 58px; }
  body.cg-about-v2 .footer { grid-template-columns: minmax(145px,.7fr) minmax(165px,.8fr) minmax(220px,1.2fr); column-gap: 16px; padding-block: 10px 8px; }
}

/* Preserve the approved uncropped family-photo treatment at every viewport. */
body.cg-about-v2 .about-opening-photo img {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
}

/* Permanent Homepage V2 fulfillment, middle flow, and minimal footer. */
body.cg-home-v2 .week-card { position: relative; }
body.cg-home-v2 .week-card-hit {
  position: absolute;
  z-index: 4;
  inset: 0;
  display: block;
  border-radius: inherit;
}
body.cg-home-v2 .week-card-hit:focus-visible { outline: 2px solid var(--home-gold); outline-offset: -3px; }

body.cg-home-v2 .week-section {
  padding: 24px 20px 6px;
  border-bottom: 0;
  background: transparent;
}
body.cg-home-v2 .bread-grid {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  gap: 14px;
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.cg-home-v2 .week-card,
body.cg-home-v2 .week-card:first-child,
body.cg-home-v2 .week-card:last-child {
  min-width: 0;
  min-height: 205px;
  padding: 22px 28px 20px;
  border: 1px solid rgba(183,138,67,.24);
  border-radius: 3px;
  background: rgba(255,250,240,.78);
  box-shadow: none;
  align-items: flex-start;
  text-align: left;
  cursor: pointer;
}
body.cg-home-v2 .week-card + .week-card { border-left: 1px solid rgba(183,138,67,.24); }
body.cg-home-v2 .week-card-head {
  width: 100%;
  gap: 9px;
  align-items: center;
  flex-direction: row;
}
body.cg-home-v2 .week-card-icon {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--home-gold);
  flex: 0 0 36px;
}
body.cg-home-v2 .week-card-icon svg { width: 22px; height: 22px; }
body.cg-home-v2 .week-card .w-big {
  width: 100%;
  margin-top: 8px;
  font-size: 20px;
  line-height: 1.18;
  overflow-wrap: anywhere;
}
body.cg-home-v2 .week-card .w-sub,
body.cg-home-v2 .week-card .w-line,
body.cg-home-v2 .week-card .w-city-list li { font-size: 11.5px; }
body.cg-home-v2 .week-card .w-city-list { margin-top: 6px; justify-content: flex-start; gap: 0; }
body.cg-home-v2 .week-card .w-city-list li { display: inline-flex; padding: 0; align-items: center; }
body.cg-home-v2 .week-card .w-city-list li + li::before { content: '·'; position: static; display: inline; width: auto; height: auto; margin: 0 7px; border-radius: 0; background: transparent; color: var(--home-gold); }
body.cg-home-v2 .delivery-pricing-note { font-size: 10px; }
body.cg-home-v2 .week-card:hover { border-color: rgba(183,138,67,.45); box-shadow: 0 5px 14px rgba(81,62,30,.055); }
body.cg-home-v2 .week-notice {
  max-width: 900px;
  margin: 3px auto 0;
}
body.cg-home-v2 .featured-section {
  padding: 12px 30px 28px;
  border-top: 0;
  background: var(--home-paper);
}
body.cg-home-v2 .featured-section::after,
body.cg-home-v2 .featured-heading .flourish { display: none; }
body.cg-home-v2 .featured-heading { margin-bottom: 16px; }
body.cg-home-v2 .market-story { box-shadow: none; }

body.cg-home-v2 .footer {
  display: grid;
  width: min(720px,100%);
  margin: 0 auto;
  padding: 8px 12px 7px;
  border-top: 1px solid var(--home-rule);
  background: transparent;
  grid-template-columns: minmax(150px,.7fr) minmax(170px,.8fr) minmax(245px,1.2fr);
  column-gap: clamp(14px,2vw,20px);
  align-items: center;
  text-align: left;
}
body.cg-home-v2 .footer-brand {
  position: relative;
  display: block;
  padding: 0 0 0 14px;
  grid-column: 1;
  grid-row: 1;
  align-self: center;
}
body.cg-home-v2 .footer-brand::before { content: ''; position: absolute; inset: 2px auto 2px 0; width: 2px; background: var(--home-gold); }
body.cg-home-v2 .footer-brand .brand-line { max-width: 9ch; font-family: 'Fraunces',serif; font-size: 19px; font-weight: 600; line-height: 1.02; letter-spacing: .075em; text-transform: uppercase; }
body.cg-home-v2 .footer-brand > span { display: block; margin-top: 6px; color: var(--home-gold); font-size: 8px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
body.cg-home-v2 .footer .contact-line,
body.cg-home-v2 .footer .legal-line { margin: 0; padding: 0; color: var(--cg-ink-muted); font-size: 8.75px; line-height: 1.35; font-style: normal; }
body.cg-home-v2 .footer .contact-line { grid-column: 2; grid-row: 1; line-height: 1.4; }
body.cg-home-v2 .footer .contact-line a { color: inherit; text-decoration: none; }
body.cg-home-v2 .footer .legal-line { max-width: 42ch; grid-column: 3; grid-row: 1; text-align: left; }

@media (max-width: 900px) {
  body.cg-home-v2 .footer { grid-template-columns: minmax(145px,.7fr) minmax(160px,.8fr) minmax(220px,1.2fr); column-gap: 14px; }
}

@media (max-width: 680px) {
  body.cg-home-v2 .week-section { padding: 12px 6px 4px; }
  body.cg-home-v2 .bread-grid { gap: 8px; }
  body.cg-home-v2 .week-card,
  body.cg-home-v2 .week-card:first-child,
  body.cg-home-v2 .week-card:last-child {
    min-height: 150px;
    padding: 10px 9px 12px;
  }
  body.cg-home-v2 .week-card-icon { width: 28px; height: 28px; flex-basis: 28px; }
  body.cg-home-v2 .week-card-icon svg { width: 17px; height: 17px; }
  body.cg-home-v2 .week-card .w-big { margin-top: 4px; font-size: 14px; line-height: 1.15; }
  body.cg-home-v2 #delivery .w-city-list { overflow: visible; flex-wrap: wrap; white-space: normal; }
  body.cg-home-v2 #delivery .w-city-list li:nth-child(n+3) { display: inline-flex; }
  body.cg-home-v2 #delivery .w-city-list li + li::before { margin-inline: 4px; }
  body.cg-home-v2 .featured-section { padding: 10px 10px 22px; }
  body.cg-home-v2 .featured-heading { margin-bottom: 12px; }
  body.cg-home-v2 .footer { display: block; width: 100%; padding: 8px 8px 7px; }
  body.cg-home-v2 .footer-brand { display: block; padding-left: 12px; }
  body.cg-home-v2 .footer-brand .brand-line { font-size: 17px; }
  body.cg-home-v2 .footer-brand > span { margin-top: 4px; font-size: 7px; }
  body.cg-home-v2 .footer .contact-line,
  body.cg-home-v2 .footer .legal-line { margin-top: 7px; font-size: 8.75px; line-height: 1.3; text-align: left; overflow-wrap: anywhere; }
}

@media (min-width: 600px) and (max-width: 950px) and (orientation: landscape) and (max-height: 500px) {
  body.cg-home-v2 .week-section { padding: 12px 8px 4px; }
  body.cg-home-v2 .week-card,
  body.cg-home-v2 .week-card:first-child,
  body.cg-home-v2 .week-card:last-child { min-height: 160px; padding: 12px 16px; }
  body.cg-home-v2 .featured-section { padding: 10px 16px 22px; }
  body.cg-home-v2 .topnav.nav-open .navlinks { grid-template-columns: repeat(3,1fr); }
}

@media (min-width: 700px) and (max-width: 900px) and (orientation: portrait) {
  body.cg-home-v2 .week-section { padding: 20px 16px 5px; }
  body.cg-home-v2 .bread-grid { max-width: 720px; }
  body.cg-home-v2 .week-card,
  body.cg-home-v2 .week-card:first-child,
  body.cg-home-v2 .week-card:last-child { min-height: 190px; padding: 18px 20px; }
  body.cg-home-v2 .featured-section { padding: 10px 20px 24px; }
  body.cg-home-v2 .footer { grid-template-columns: minmax(140px,.7fr) minmax(155px,.8fr) minmax(210px,1.2fr); column-gap: 12px; padding-block: 8px 7px; }
}

/* Order Page V2 — approved visual/responsive shell.
   Operational IDs, field order, inline handlers, and checkout logic remain in
   carlins-order.html; this block changes presentation only. */
body.cg-order-v2 {
  --order-cream: #f7f0e3;
  --order-paper: #fffaf0;
  --order-forest: #183421;
  --order-forest-deep: #102719;
  --order-gold: #b78a43;
  --order-sage: #789486;
  --order-rule: rgba(81,62,30,.2);
  overflow-x: clip;
  background: var(--order-cream);
  background-image: linear-gradient(180deg,var(--order-paper) 0,var(--order-cream) 28rem,var(--order-cream) 100%);
  color: var(--order-forest-deep);
  font-family: 'Work Sans','Karla',system-ui,sans-serif;
}
body.cg-order-v2::before { background: var(--order-cream); }
body.cg-order-v2 .wrap { width: 100%; max-width: 1180px; padding: 0 22px 140px; }

/* Shared Homepage/About public header. */
body.cg-order-v2 .topnav {
  position: sticky;
  z-index: 20;
  top: 0;
  display: flex;
  max-width: none;
  min-height: 78px;
  margin: 0;
  padding: 13px 20px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 0;
  border-bottom: 1px solid var(--order-rule);
  border-radius: 0;
  background: rgba(255,250,240,.96);
  box-shadow: none;
  backdrop-filter: blur(10px);
}
body.cg-order-v2 .brand { display: flex; align-items: center; gap: 11px; }
body.cg-order-v2 .brand-mark {
  display: flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  border: 1px solid var(--order-gold);
  border-radius: 0;
  background: transparent;
  color: var(--order-forest);
  font-family: 'Fraunces',serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.06em;
}
body.cg-order-v2 .brand-copy strong { display: block; font-family: 'Fraunces',serif; font-size: 17px; line-height: 1.1; letter-spacing: .08em; text-transform: uppercase; }
body.cg-order-v2 .brand-copy span { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
body.cg-order-v2 .nav-group { display: flex; align-items: center; justify-content: flex-end; gap: 24px; }
body.cg-order-v2 .navlinks { display: flex; align-items: center; gap: clamp(16px,2vw,27px); }
body.cg-order-v2 .topnav .navlinks a {
  display: inline-flex;
  min-width: 0;
  min-height: 44px;
  padding: 6px 0;
  align-items: center;
  flex: none;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--order-forest-deep);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}
body.cg-order-v2 .topnav .navlinks a:hover { color: var(--order-gold); }
body.cg-order-v2 .order-now-btn {
  display: inline-flex;
  min-width: 0;
  min-height: 44px;
  padding: 11px 20px;
  align-items: center;
  justify-content: center;
  flex: none;
  border: 1px solid var(--order-forest);
  border-radius: 3px;
  background: var(--order-forest);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}
body.cg-order-v2 .order-now-btn:hover { background: var(--order-forest-deep); border-color: var(--order-forest-deep); }
body.cg-order-v2 .menu-btn {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--order-rule);
  border-radius: 3px;
  background: transparent;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
}
body.cg-order-v2 .menu-btn span { display: block; width: 17px; height: 1.5px; margin: 0 auto; border-radius: 2px; background: var(--order-forest); transition: transform .2s ease,opacity .2s ease; }
body.cg-order-v2 .topnav.nav-open .menu-btn span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
body.cg-order-v2 .topnav.nav-open .menu-btn span:nth-child(2) { opacity: 0; }
body.cg-order-v2 .topnav.nav-open .menu-btn span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* Compact fulfillment introduction; the live date/detail hooks are intact. */
body.cg-order-v2 .head { max-width: 760px; padding: 35px 0 6px; }
body.cg-order-v2 .head svg { width: 28px; height: 28px; color: var(--order-gold); }
body.cg-order-v2 .head .n { margin-top: 8px; color: var(--order-forest); font-size: clamp(30px,4vw,42px); font-weight: 500; line-height: 1.08; }
body.cg-order-v2 .head .s { margin-top: 7px; color: var(--cg-ink-muted); font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
body.cg-order-v2 .freshline { width: fit-content; max-width: 760px; margin: 13px auto 15px; padding: 0; color: var(--order-gold); font-family: inherit; font-size: 9.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
body.cg-order-v2 .freshline::before,
body.cg-order-v2 .freshline::after { width: 34px; background: var(--order-gold); opacity: .45; }
body.cg-order-v2 .freshline svg { width: 18px; height: 18px; }
body.cg-order-v2 .infos { width: 100%; max-width: 900px; margin: 0 auto 28px; gap: 0; border-top: 1px solid var(--order-rule); border-bottom: 1px solid var(--order-rule); }
body.cg-order-v2 .info {
  display: grid;
  min-width: 0;
  padding: 17px 24px;
  grid-template-columns: 36px minmax(0,1fr);
  align-items: start;
  gap: 13px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
}
body.cg-order-v2 .info + .info { border-left: 1px solid var(--order-rule); }
body.cg-order-v2 .info::before { display: none; }
body.cg-order-v2 .info .ic,
body.cg-order-v2 .info.dv .ic,
body.cg-order-v2 .info.pk .ic { display: flex; width: 36px; height: 36px; margin: 0; align-items: center; justify-content: center; border: 0; border-radius: 0; background: transparent; color: var(--order-gold); }
body.cg-order-v2 .info .ic svg { width: 27px; height: 27px; }
body.cg-order-v2 .info-copy { min-width: 0; }
body.cg-order-v2 .info .lbl { color: var(--order-gold); font-size: 9px; letter-spacing: .16em; }
body.cg-order-v2 .info .day { margin: 3px 0 3px; color: var(--order-forest); font-size: 17px; font-weight: 500; line-height: 1.2; overflow-wrap: anywhere; }
body.cg-order-v2 .info .dt { color: var(--cg-ink-muted); font-size: 10.5px; line-height: 1.45; }
body.cg-order-v2 .info .dt b { color: var(--order-forest); font-weight: 600; }

/* Product-led catalog. */
body.cg-order-v2 .sec { margin-top: 28px; }
body.cg-order-v2 .sec.sec-wide { max-width: none; margin-top: 0; }
body.cg-order-v2 .sec-h { margin-bottom: 14px; }
body.cg-order-v2 .sec-h h2 { color: var(--order-forest); font-size: 24px; font-weight: 500; }
body.cg-order-v2 .catpills { margin-bottom: 18px; gap: 7px; }
body.cg-order-v2 .pill { min-height: 40px; padding: 8px 14px; border: 1px solid var(--order-rule); border-radius: 3px; background: transparent; color: var(--order-forest); font-size: 11px; font-weight: 600; }
body.cg-order-v2 .pill:hover { border-color: var(--order-gold); }
body.cg-order-v2 .pill.active { border-color: var(--order-forest); background: var(--order-forest); color: #fff; }
body.cg-order-v2 .grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
body.cg-order-v2 .tile {
  min-width: 0;
  padding: 13px 13px 14px;
  border: 1px solid rgba(81,62,30,.16);
  border-radius: 3px;
  background: rgba(255,250,240,.76);
  box-shadow: none;
}
body.cg-order-v2 .tile.addable:hover { transform: translateY(-2px); border-color: rgba(183,138,67,.5); box-shadow: 0 6px 18px rgba(81,62,30,.07); }
body.cg-order-v2 .tile.inuse { border-color: var(--order-sage); box-shadow: 0 0 0 1px var(--order-sage) inset; }
body.cg-order-v2 .tile .photo { margin: -13px -13px 12px; border-radius: 2px 2px 0 0; }
body.cg-order-v2 .tile .pimg { aspect-ratio: 4 / 3; }
body.cg-order-v2 .tile .badge { top: 8px; left: 8px; padding: 4px 7px; border-radius: 2px; background: rgba(16,39,25,.9); font-size: 8px; }
body.cg-order-v2 .tile .pn { color: var(--order-forest); font-size: 16px; font-weight: 500; }
body.cg-order-v2 .tile .pp { color: var(--order-forest); font-size: 15px; font-weight: 600; }
body.cg-order-v2 .tile .view-details { color: var(--order-sage); font-size: 10.5px; text-underline-offset: 3px; }
body.cg-order-v2 .tile .variant-picker { margin-top: 8px; }
body.cg-order-v2 .tile .variant-picker label { display: block; margin: 0 0 4px; color: var(--cg-ink-muted); font-size: 8.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
body.cg-order-v2 .tile .variant-picker select {
  width: 100%;
  min-height: 44px;
  padding: 9px 38px 9px 12px;
  appearance: none;
  border: 1px solid rgba(183,138,67,.42);
  border-radius: 3px;
  background-color: rgba(255,253,247,.92);
  background-image: linear-gradient(45deg,transparent 50%,var(--order-gold) 50%),linear-gradient(135deg,var(--order-gold) 50%,transparent 50%);
  background-position: calc(100% - 17px) 50%,calc(100% - 12px) 50%;
  background-repeat: no-repeat;
  background-size: 5px 5px,5px 5px;
  box-shadow: inset 0 -1px 0 rgba(183,138,67,.18);
  color: var(--order-forest);
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
  cursor: pointer;
}
body.cg-order-v2 .tile .variant-picker select:hover { border-color: rgba(183,138,67,.7); }
body.cg-order-v2 .tile .variant-picker select:focus-visible { border-color: var(--order-gold); outline: 2px solid rgba(183,138,67,.3); outline-offset: 1px; }
body.cg-order-v2 .tile .stepper,
body.cg-order-v2 .basket-item .stepper { border-color: var(--order-rule); border-radius: 3px; }
body.cg-order-v2 .tile .stepper button,
body.cg-order-v2 .basket-item .stepper button { background: transparent; color: var(--order-forest); }

/* True-desktop basket: quiet, sticky, and visually connected to the menu. */
body.cg-order-v2 .shop-layout { display: block; }
body.cg-order-v2 .basket-col { display: none; }
body.cg-order-v2 .bar { display: block; max-width: 720px; border-radius: 4px 4px 0 0; background: rgba(255,250,240,.98); border-color: rgba(183,138,67,.42); }
body.cg-order-v2 .basket-card { padding: 20px; border: 1px solid var(--order-rule); border-radius: 3px; background: rgba(255,250,240,.8); }
body.cg-order-v2 .basket-card h3 { color: var(--order-forest); font-size: 20px; font-weight: 500; }
body.cg-order-v2 .basket-item { border-bottom-color: var(--order-rule); }
body.cg-order-v2 .basket-item-thumb { border-radius: 2px; }
body.cg-order-v2 .basket-subtotal { border-top-color: var(--order-rule); color: var(--order-forest); }
body.cg-order-v2 .basket-delivery-note { border-radius: 2px; background: rgba(120,148,134,.11); color: var(--order-forest); }
body.cg-order-v2 .basket-continue,
body.cg-order-v2 .cta { border-radius: 3px; background: var(--order-forest); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
body.cg-order-v2 .basket-continue:hover,
body.cg-order-v2 .cta:hover { background: var(--order-forest-deep); }

/* Calm transactional checkout surface. */
body.cg-order-v2 .checkout-panel-overlay { padding: 24px; background: rgba(16,39,25,.58); }
body.cg-order-v2 .checkout-panel { max-width: 800px; max-height: 90vh; padding: 28px 38px 0; border: 1px solid rgba(183,138,67,.28); border-radius: 5px; background: var(--order-paper); box-shadow: 0 24px 70px rgba(16,39,25,.26); }
body.cg-order-v2 .checkout-panel-head { top: -28px; z-index: 2; margin-bottom: 4px; padding: 10px 0 5px; background: var(--order-paper); }
body.cg-order-v2 .checkout-panel-head h2 { color: var(--order-forest); font-size: 27px; font-weight: 500; }
body.cg-order-v2 .checkout-panel-close { width: 44px; height: 44px; padding: 0; border-radius: 3px; color: var(--cg-ink-muted); }
body.cg-order-v2 .checkout-panel-sub { max-width: 54ch; margin-bottom: 16px; color: var(--cg-ink-muted); font-size: 11.5px; }
body.cg-order-v2 .checkout-panel .sec { margin-top: 24px; padding-top: 22px; border-top-color: var(--order-rule); }
body.cg-order-v2 .checkout-panel .sec:first-of-type { margin-top: 6px; }
body.cg-order-v2 .checkout-panel .sec-h h2 { font-size: 20px; }
body.cg-order-v2 .checkout-panel-footer { margin-top: 25px; padding: 15px 0 22px; border-top-color: var(--order-rule); background: var(--order-paper); }
body.cg-order-v2 .toggle { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
body.cg-order-v2 .toggle #cutoffMsg { grid-column: 1 / -1; }
body.cg-order-v2 .toggle button { min-width: 0; padding: 14px 12px; border: 1px solid var(--order-rule); border-radius: 3px; background: transparent; }
body.cg-order-v2 .toggle button:hover { border-color: rgba(183,138,67,.6); }
body.cg-order-v2 .toggle button.on { border-color: var(--order-sage); background: rgba(120,148,134,.08); box-shadow: 0 0 0 1px var(--order-sage) inset; }
body.cg-order-v2 .toggle .ti { display: flex; height: 26px; align-items: center; justify-content: center; color: var(--order-gold); }
body.cg-order-v2 .toggle .ti svg { width: 24px; height: 24px; }
body.cg-order-v2 .toggle .tt { color: var(--order-forest); font-size: 13px; }
body.cg-order-v2 .toggle .td { color: var(--cg-ink-muted); font-size: 10.5px; }
body.cg-order-v2 label { color: var(--cg-ink-muted); font-size: 10px; letter-spacing: .08em; }
body.cg-order-v2 :is(input,select) { min-width: 0; border-color: var(--order-rule); border-radius: 3px; background: #fffdf7; }
body.cg-order-v2 :is(input,select):focus { border-color: var(--order-sage); outline-color: rgba(120,148,134,.45); }
body.cg-order-v2 .pickup-location-card,
body.cg-order-v2 .delivery-summary { border-color: var(--order-rule); border-radius: 3px; background: rgba(120,148,134,.07); }
body.cg-order-v2 .pickup-time-buttons button,
body.cg-order-v2 .pay-tile,
body.cg-order-v2 .tips button,
body.cg-order-v2 .rwbtn { border-radius: 3px; }
body.cg-order-v2 .pickup-time-buttons button,
body.cg-order-v2 .pay-tile,
body.cg-order-v2 .tips button { border-color: var(--order-rule); background: transparent; }
body.cg-order-v2 .pay-tile.on,
body.cg-order-v2 .tips button.on,
body.cg-order-v2 .pickup-time-buttons button.on { border-color: var(--order-sage); background: rgba(120,148,134,.08); box-shadow: 0 0 0 1px var(--order-sage) inset; color: var(--order-forest); }
body.cg-order-v2 .sum,
body.cg-order-v2 .receipt-card,
body.cg-order-v2 .notify,
body.cg-order-v2 .pay,
body.cg-order-v2 .timenote { border-radius: 3px; box-shadow: none; }
body.cg-order-v2 .sheet,
body.cg-order-v2 .payapp-sheet { border-radius: 5px 5px 0 0; background: var(--order-paper); }
body.cg-order-v2 .toast { border-radius: 3px; background: var(--order-forest-deep); }

@media (min-width: 1100px) {
  body.cg-order-v2 .shop-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 28px; align-items: start; }
  body.cg-order-v2 .basket-col { display: block; position: sticky; top: 96px; }
  body.cg-order-v2 .bar { display: none; }
}

@media (max-width: 1099px) {
  body.cg-order-v2 .wrap { max-width: 960px; }
  body.cg-order-v2 .shop-layout { display: block; }
  body.cg-order-v2 .basket-col { display: none; }
  body.cg-order-v2 .bar { display: block; }
}

@media (max-width: 760px) {
  body.cg-order-v2 .wrap { padding-right: 14px; padding-left: 14px; }
  body.cg-order-v2 .topnav { min-height: 72px; padding: 12px 8px; }
  body.cg-order-v2 .brand-mark { width: 38px; height: 38px; flex-basis: 38px; }
  body.cg-order-v2 .navlinks,
  body.cg-order-v2 .order-now-btn { display: none; }
  body.cg-order-v2 .menu-btn { display: flex; }
  body.cg-order-v2 .topnav.nav-open { align-items: flex-start; flex-wrap: wrap; background: var(--order-paper); }
  body.cg-order-v2 .topnav.nav-open .nav-group { order: 3; width: 100%; margin-top: 7px; align-items: stretch; flex-direction: column; gap: 8px; }
  body.cg-order-v2 .topnav.nav-open .navlinks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; }
  body.cg-order-v2 .topnav.nav-open .navlinks a { justify-content: center; }
  body.cg-order-v2 .topnav.nav-open .order-now-btn { display: inline-flex; }
  body.cg-order-v2 .head { padding-top: 26px; }
  body.cg-order-v2 .infos { margin-bottom: 22px; }
  body.cg-order-v2 .info { padding: 14px 15px; grid-template-columns: 30px minmax(0,1fr); gap: 9px; }
  body.cg-order-v2 .info .ic { width: 30px; height: 30px; }
  body.cg-order-v2 .info .ic svg { width: 23px; height: 23px; }
  body.cg-order-v2 .info .day { font-size: 15px; }
  body.cg-order-v2 .grid { gap: 12px; }
  body.cg-order-v2 .checkout-panel { padding-right: 24px; padding-left: 24px; }
}

@media (max-width: 520px) {
  body.cg-order-v2 .wrap { padding-right: 12px; padding-bottom: 158px; padding-left: 12px; }
  body.cg-order-v2 .brand-copy strong { font-size: 13px; }
  body.cg-order-v2 .brand-copy span { font-size: 7px; }
  body.cg-order-v2 .head .n { font-size: 29px; }
  body.cg-order-v2 .head .s { font-size: 9px; }
  body.cg-order-v2 .freshline { margin-top: 9px; margin-bottom: 12px; }
  body.cg-order-v2 .freshline::before,
  body.cg-order-v2 .freshline::after { width: 20px; }
  body.cg-order-v2 .infos { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.cg-order-v2 .info { display: block; padding: 12px 9px 13px; text-align: center; }
  body.cg-order-v2 .info .ic { margin: 0 auto 5px; }
  body.cg-order-v2 .info .lbl { font-size: 7.5px; }
  body.cg-order-v2 .info .day { font-size: 13px; line-height: 1.18; }
  body.cg-order-v2 .info .dt { font-size: 9px; line-height: 1.35; }
  body.cg-order-v2 .grid { grid-template-columns: 1fr; gap: 12px; }
  body.cg-order-v2 .tile { padding: 12px; }
  body.cg-order-v2 .tile .photo { margin: -12px -12px 11px; }
  body.cg-order-v2 .toggle { grid-template-columns: 1fr; }
  body.cg-order-v2 .toggle #cutoffMsg { grid-column: 1; }
  body.cg-order-v2 .checkout-panel-overlay { padding: 0; }
  body.cg-order-v2 .checkout-panel { width: 100%; height: 100%; max-width: none; max-height: none; padding: 18px 16px 0; border: 0; border-radius: 0; }
  body.cg-order-v2 .checkout-panel-head { top: -18px; }
  body.cg-order-v2 .checkout-panel-footer { padding-bottom: calc(18px + env(safe-area-inset-bottom)); }
  body.cg-order-v2 .bar { max-width: none; padding: 12px 12px calc(12px + env(safe-area-inset-bottom)); }
}

/* Short phone landscape: compact header, two-column menu, mobile basket,
   and full-screen checkout despite crossing the old 641px width breakpoint. */
@media (min-width: 600px) and (max-width: 950px) and (orientation: landscape) and (max-height: 520px) {
  body.cg-order-v2 .wrap { max-width: none; padding: 0 12px 128px; }
  body.cg-order-v2 .topnav { min-height: 58px; padding: 7px 10px; }
  body.cg-order-v2 .brand-mark { width: 34px; height: 34px; flex-basis: 34px; }
  body.cg-order-v2 .brand-copy strong { font-size: 13px; }
  body.cg-order-v2 .navlinks,
  body.cg-order-v2 .order-now-btn { display: none; }
  body.cg-order-v2 .menu-btn { display: flex; }
  body.cg-order-v2 .topnav.nav-open { align-items: flex-start; flex-wrap: wrap; background: var(--order-paper); }
  body.cg-order-v2 .topnav.nav-open .nav-group { order: 3; width: 100%; margin-top: 5px; align-items: stretch; flex-direction: column; gap: 5px; }
  body.cg-order-v2 .topnav.nav-open .navlinks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3px; }
  body.cg-order-v2 .topnav.nav-open .navlinks a { justify-content: center; }
  body.cg-order-v2 .topnav.nav-open .order-now-btn { display: inline-flex; }
  body.cg-order-v2 .head { padding-top: 18px; }
  body.cg-order-v2 .head .n { font-size: 28px; }
  body.cg-order-v2 .freshline { margin-block: 8px 10px; }
  body.cg-order-v2 .infos { max-width: 820px; margin-bottom: 18px; }
  body.cg-order-v2 .info { padding-block: 11px; }
  body.cg-order-v2 .grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.cg-order-v2 .shop-layout { display: block; }
  body.cg-order-v2 .basket-col { display: none; }
  body.cg-order-v2 .bar { display: block; }
  body.cg-order-v2 .checkout-panel-overlay { padding: 0; align-items: flex-end; }
  body.cg-order-v2 .checkout-panel { width: 100%; height: 100%; max-width: none; max-height: none; padding: 14px 24px 0; border: 0; border-radius: 0; }
  body.cg-order-v2 .checkout-panel-head { top: -14px; }
  body.cg-order-v2 .checkout-panel-footer { padding-bottom: calc(14px + env(safe-area-inset-bottom)); }
}

/* Consolidated public-navigation language: one current-page treatment and
   one Order Now CTA shape across Home, Our Story, Events, and Order. */
body.cg-public-v2 .topnav .navlinks a {
  min-height: 44px;
  padding: 6px 0;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #102719;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.cg-public-v2 .topnav .navlinks a:hover { border-bottom-color: rgba(183,138,67,.4); color: #b78a43; }
body.cg-public-v2 .topnav .navlinks a[aria-current="page"] {
  border-bottom-color: #b78a43;
  background: transparent;
  color: #b78a43;
  box-shadow: none;
}
body.cg-public-v2 .topnav .order-now-btn {
  display: inline-flex;
  min-width: 100px;
  min-height: 44px;
  padding: 11px 20px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border: 1px solid #183421;
  border-radius: 4px;
  background: #183421;
  box-shadow: 0 5px 12px rgba(16,39,25,.14);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
}
body.cg-public-v2 .topnav .order-now-btn:hover { border-color: #102719; background: #102719; color: #fff; }
body.cg-public-v2 .topnav .order-now-btn:focus-visible { outline: 2px solid rgba(183,138,67,.72); outline-offset: 3px; }
/* Events retains its placeholder content, but now uses the shared public
   header and accessible mobile-menu composition. */
body.cg-events-v2 .shell { max-width: 1240px; padding: 0 22px 62px; }
body.cg-events-v2 .topnav {
  position: relative;
  top: auto;
  display: flex;
  min-height: 78px;
  padding: 13px 20px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 0;
  border-bottom: 1px solid rgba(81,62,30,.2);
  border-radius: 0;
  background: rgba(255,250,240,.96);
  box-shadow: none;
}
body.cg-events-v2 .brand { gap: 11px; }
body.cg-events-v2 .brand-mark {
  display: flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  border: 1px solid #b78a43;
  border-radius: 0;
  background: transparent;
  color: #183421;
  font-family: 'Fraunces',serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.06em;
}
body.cg-events-v2 .brand-copy strong { display: block; font-size: 17px; line-height: 1.1; letter-spacing: .08em; text-transform: uppercase; }
body.cg-events-v2 .brand-copy span { display: block; margin-top: 2px; color: #727868; font-size: 8px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
body.cg-events-v2 .nav-group { display: flex; align-items: center; justify-content: flex-end; gap: 24px; }
body.cg-events-v2 .navlinks { display: flex; align-items: center; gap: clamp(16px,2vw,27px); flex-wrap: nowrap; }
body.cg-events-v2 .menu-btn {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(81,62,30,.2);
  border-radius: 4px;
  background: transparent;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
}
body.cg-events-v2 .menu-btn span { display: block; width: 17px; height: 1.5px; margin: 0 auto; border-radius: 2px; background: #183421; transition: transform .2s ease,opacity .2s ease; }
body.cg-events-v2 .topnav.nav-open .menu-btn span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
body.cg-events-v2 .topnav.nav-open .menu-btn span:nth-child(2) { opacity: 0; }
body.cg-events-v2 .topnav.nav-open .menu-btn span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

body.cg-order-v2 .variant-picker-label {
  display: block;
  margin: 0 0 4px;
  color: var(--cg-ink-muted);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
body.cg-order-v2 .fulfillment-kind { margin-bottom: -1px; color: var(--order-gold); font-size: 8.75px; font-weight: 800; letter-spacing: .16em; line-height: 1.15; text-transform: uppercase; }
@media (max-width: 760px) {
  body.cg-events-v2 .shell { padding-right: 14px; padding-left: 14px; }
  body.cg-events-v2 .topnav { position: relative; min-height: 72px; padding: 12px 8px; }
  body.cg-events-v2 .navlinks { display: none; }
  body.cg-events-v2 .menu-btn { display: flex; }
  body.cg-events-v2 .topnav.nav-open { align-items: flex-start; flex-wrap: wrap; background: #fffaf0; }
  body.cg-events-v2 .topnav.nav-open .nav-group { order: 3; width: 100%; margin-top: 7px; align-items: stretch; flex-direction: column; gap: 8px; }
  body.cg-events-v2 .topnav.nav-open .navlinks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; }
  body.cg-events-v2 .topnav.nav-open .navlinks a { justify-content: center; }
  body.cg-events-v2 .topnav.nav-open .order-now-btn { width: 100%; }
}

@media (min-width: 600px) and (max-width: 950px) and (orientation: landscape) and (max-height: 520px) {
  body.cg-events-v2 .topnav { min-height: 58px; padding: 7px 10px; }
  body.cg-events-v2 .navlinks,
  body.cg-events-v2 .order-now-btn { display: none; }
  body.cg-events-v2 .menu-btn { display: flex; }
  body.cg-events-v2 .topnav.nav-open { align-items: flex-start; flex-wrap: wrap; }
  body.cg-events-v2 .topnav.nav-open .nav-group { order: 3; width: 100%; margin-top: 5px; align-items: stretch; flex-direction: column; gap: 5px; }
  body.cg-events-v2 .topnav.nav-open .navlinks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3px; }
  body.cg-events-v2 .topnav.nav-open .navlinks a { justify-content: center; }
  body.cg-events-v2 .topnav.nav-open .order-now-btn { display: inline-flex; width: 100%; }
}

/* Shorter ordering introduction: schedules lead, products arrive sooner. */
body.cg-order-v2 .head { padding: 19px 0 2px; }
body.cg-order-v2 .head svg { width: 21px; height: 21px; }
body.cg-order-v2 .head .n { margin-top: 4px; font-size: clamp(25px,3vw,32px); line-height: 1.04; }
body.cg-order-v2 .head .s { margin-top: 5px; font-size: 9.5px; }
body.cg-order-v2 .freshline { margin: 7px auto 10px; font-size: 8.75px; }
body.cg-order-v2 .freshline svg { width: 15px; height: 15px; }
body.cg-order-v2 .freshline::before,
body.cg-order-v2 .freshline::after { width: 27px; }
body.cg-order-v2 .infos { margin-bottom: 17px; gap: 10px; border: 0; }
body.cg-order-v2 .info { min-height: 114px; padding: 12px 18px; grid-template-columns: 32px minmax(0,1fr); gap: 11px; align-items: start; border: 1px solid rgba(81,62,30,.17); border-radius: 3px; background: rgba(255,250,240,.92); box-shadow: inset 0 3px 0 rgba(183,138,67,.62), 0 7px 16px rgba(38,58,47,.065); }
body.cg-order-v2 .info + .info { border-left: 1px solid rgba(81,62,30,.16); }
body.cg-order-v2 .info .ic,
body.cg-order-v2 .info.dv .ic,
body.cg-order-v2 .info.pk .ic { width: 32px; height: 32px; border: 1px solid rgba(120,148,134,.28); border-radius: 50%; background: rgba(120,148,134,.065); color: var(--order-gold); }
body.cg-order-v2 .info .ic svg { width: 25px; height: 25px; }
body.cg-order-v2 .info .lbl { font-size: 8.5px; }
body.cg-order-v2 .info-copy { display: grid; min-width: 0; min-height: 88px; grid-template-rows: 11px 23px minmax(14px,auto) minmax(14px,auto) minmax(14px,auto); row-gap: 1px; align-content: start; }
body.cg-order-v2 .info .day { margin: 0; font-size: 18px; line-height: 1.15; }
body.cg-order-v2 .info .dt { display: contents; color: var(--cg-ink-muted); font-size: 10.25px; line-height: 1.32; }
body.cg-order-v2 .info .info-support,
body.cg-order-v2 .info .info-secondary,
body.cg-order-v2 .info .info-note { display: block; min-width: 0; align-self: start; overflow-wrap: anywhere; }
body.cg-order-v2 .info .info-support { color: var(--order-forest); font-weight: 600; }
body.cg-order-v2 .info .info-deadline,
body.cg-order-v2 .info .info-hours { color: var(--cg-ink-muted); font-weight: 600; }
body.cg-order-v2 .info .info-note { font-size: 9px; }
body.cg-order-v2 .info .info-note-empty { visibility: hidden; }
body.cg-order-v2 .sec.sec-wide > .sec-h { margin-bottom: 11px; }
body.cg-order-v2 .sec.sec-wide > .sec-h h2 { font-size: 23px; }
body.cg-order-v2 .catpills { margin-bottom: 15px; }

/* Product cards share one image and content rhythm regardless of title or
   stock-message length. */
body.cg-order-v2 .tile { border-color: rgba(81,62,30,.12); }
body.cg-order-v2 .tile .photo { aspect-ratio: 4 / 3; }
body.cg-order-v2 .tile .pimg,
body.cg-order-v2 .tile .emoji { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
body.cg-order-v2 .tile .meta { min-height: 1.25em; }
body.cg-order-v2 .tile .pn { display: -webkit-box; min-height: 2.5em; margin-top: 2px; overflow: hidden; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
body.cg-order-v2 .tile .pp { margin-top: 6px; line-height: 1.2; }
body.cg-order-v2 .tile .view-details { min-height: 24px; margin-top: 2px; padding: 3px 0; align-self: flex-start; line-height: 1.35; }
body.cg-order-v2 .tile .variant-picker { width: 100%; }
body.cg-order-v2 .tile .row { min-height: 34px; margin-top: auto; padding-top: 7px; align-items: center; }
body.cg-order-v2 .tile .avail { min-width: 44px; margin-right: 6px; font-size: 10px; line-height: 1.2; }
body.cg-order-v2 .tile .soldout { min-height: 34px; margin-top: auto; padding-top: 9px; font-size: 10px; }
body.cg-order-v2 .tile .stepper { min-height: 30px; margin-left: auto; }
body.cg-order-v2 .tile .stepper button { min-height: 30px; }
body.cg-order-v2 .tile.inuse { border-color: rgba(120,148,134,.72); background: rgba(255,250,240,.92); box-shadow: inset 0 0 0 1px rgba(120,148,134,.5); }

/* Denser desktop basket with a stronger finish at subtotal and checkout. */
body.cg-order-v2 .basket-card { padding: 17px; }
body.cg-order-v2 .basket-card h3 { margin-bottom: 9px; }
body.cg-order-v2 .basket-item { display: grid; padding: 9px 0; grid-template-columns: 44px minmax(0,1fr) auto; gap: 10px; align-items: center; }
body.cg-order-v2 .basket-item-thumb { width: 44px; height: 44px; }
body.cg-order-v2 .basket-item-name { font-size: 12.5px; line-height: 1.24; }
body.cg-order-v2 .basket-item-price { margin-top: 2px; font-size: 11px; }
body.cg-order-v2 .basket-item .stepper { margin-left: 2px; }
body.cg-order-v2 .basket-item .stepper button { width: 25px; height: 26px; }
body.cg-order-v2 .basket-item .stepper .q { width: 21px; }
body.cg-order-v2 .basket-subtotal { margin-top: 6px; padding-top: 14px; font-size: 18px; }
body.cg-order-v2 .basket-delivery-note { margin-top: 9px; padding: 8px 9px; font-size: 11px; }
body.cg-order-v2 .basket-continue { min-height: 46px; margin-top: 12px; padding: 12px; }
body.cg-order-v2 .basket-clear { margin-top: 6px; }

/* Checkout polish: compact section rhythm, unified controls, and clearer
   selected states without changing field order or interaction. */
body.cg-order-v2 .checkout-panel-sub { margin-bottom: 13px; }
body.cg-order-v2 .checkout-panel .sec { margin-top: 20px; padding-top: 18px; }
body.cg-order-v2 .checkout-panel .sec:first-of-type { margin-top: 4px; }
body.cg-order-v2 .checkout-panel .sec-h { margin-bottom: 12px; }
body.cg-order-v2 .checkout-panel .sec-h h2 { font-size: 20px; line-height: 1.2; }
body.cg-order-v2 .checkout-panel label { margin-top: 10px; margin-bottom: 5px; color: rgba(16,39,25,.76); font-size: 10.25px; font-weight: 700; }
body.cg-order-v2 .checkout-panel :is(input,select) { min-height: 45px; padding: 10px 11px; }
body.cg-order-v2 .checkout-panel .hint { margin-top: 5px; line-height: 1.45; }
body.cg-order-v2 .checkout-panel .fields { margin-top: 12px; }
body.cg-order-v2 .checkout-panel .chkrow { margin-top: 8px; }
body.cg-order-v2 .checkout-panel .chkrow label { margin: 0; font-size: 12px; font-weight: 400; }
body.cg-order-v2 .checkout-panel .toggle button { padding: 13px 12px; }
body.cg-order-v2 .checkout-panel .toggle button.on { border-color: var(--order-sage); background: rgba(120,148,134,.14); box-shadow: inset 0 0 0 1.5px rgba(63,104,84,.72); }
body.cg-order-v2 .checkout-panel .toggle button.on .tt { color: var(--order-forest-deep); font-weight: 700; }
body.cg-order-v2 .checkout-panel .toggle button.on .ti { color: #9b6d29; }
body.cg-order-v2 .pickup-time-buttons { gap: 8px; margin-top: 7px; }
body.cg-order-v2 .pickup-time-buttons button,
body.cg-order-v2 .pay-tile,
body.cg-order-v2 .tips button { min-height: 44px; padding: 10px 9px; }
body.cg-order-v2 .pay-tile.on,
body.cg-order-v2 .tips button.on,
body.cg-order-v2 .pickup-time-buttons button.on { border-color: var(--order-sage); background: rgba(120,148,134,.14); box-shadow: inset 0 0 0 1.5px rgba(63,104,84,.68); color: var(--order-forest-deep); }
body.cg-order-v2 .pay-methods { margin-top: 12px; }
body.cg-order-v2 .pay-provider-group { padding: 11px 0; }
body.cg-order-v2 .pay-provider-group:first-child { padding-top: 0; }
body.cg-order-v2 .pay-provider-group + .pay-provider-group { border-top: 1px solid rgba(183,138,67,.22); }
body.cg-order-v2 .pay-provider-group--square { margin-top: 2px; padding: 12px; border: 1px solid rgba(120,148,134,.28); background: rgba(120,148,134,.065); }
body.cg-order-v2 .pay-provider-group--square + .pay-provider-group { margin-top: 10px; }
body.cg-order-v2 .pay-provider-group--manual { color: rgba(16,39,25,.82); }
body.cg-order-v2 .pay-group-label { margin-bottom: 7px; color: rgba(16,39,25,.68); font-size: 10.5px; }
body.cg-order-v2 .pay-provider-group--square .pay-group-label { color: var(--order-forest); }
body.cg-order-v2 .pay-tiles { gap: 8px; }
body.cg-order-v2 .pay-tiles--single { grid-template-columns: minmax(0,1fr); }
body.cg-order-v2 .pay-provider-group--paypal .pay-tile { max-width: 320px; }
body.cg-order-v2 .pay-app-tiles { gap: 8px; }
body.cg-order-v2 .pay-app-tile { min-height: 48px; border-color: var(--order-rule); border-radius: 3px; background: rgba(255,253,247,.48); }
body.cg-order-v2 .pay-app-tile:hover,
body.cg-order-v2 .pay-app-tile:focus-visible { border-color: var(--order-sage); box-shadow: inset 0 0 0 1px var(--order-sage); }
body.cg-order-v2 :is(#squareCardWrap,#cashAppPayWrap,#cashAppPayReviewWrap,#paypalWrap) { margin-top: 12px !important; }
body.cg-order-v2 :is(#squareCardInput,#cashAppPayContainer,#cashAppPayReviewContainer) { padding: 10px !important; border-color: var(--order-rule) !important; border-radius: 3px !important; background: #fffdf7 !important; }
body.cg-order-v2 .rwrow { gap: 7px; }
body.cg-order-v2 .rwbtn { min-height: 45px; padding: 0 16px; background: var(--order-forest); font-size: 12px; }
body.cg-order-v2 .tips { gap: 7px; }
body.cg-order-v2 .custom-tip-entry {
  max-height: 0;
  margin-top: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: max-height .2s ease, margin-top .2s ease, opacity .16s ease;
}
body.cg-order-v2 .custom-tip-entry.on { max-height: 106px; margin-top: 10px; opacity: 1; visibility: visible; }
body.cg-order-v2 .custom-tip-entry-inner { max-width: 300px; padding-top: 1px; }
body.cg-order-v2 .custom-tip-entry label { margin-top: 0; }
body.cg-order-v2 .custom-tip-control { position: relative; display: flex; align-items: center; }
body.cg-order-v2 .custom-tip-control > span { position: absolute; left: 12px; z-index: 1; color: var(--order-gold); font-size: 15px; font-weight: 700; pointer-events: none; }
body.cg-order-v2 .custom-tip-control input { padding-left: 29px; color: var(--order-forest-deep); font-weight: 650; }
body.cg-order-v2 .custom-tip-control input[aria-invalid="true"] { border-color: #a44a3f; outline-color: rgba(164,74,63,.28); }
body.cg-order-v2 #customTipErr { color: #8f3f35; font-size: 10.5px; font-weight: 600; }
body.cg-order-v2 .checkout-panel-footer { margin-top: 21px; padding: 14px 0 18px; }
body.cg-order-v2 .checkout-panel-footer .cta { min-height: 50px; box-shadow: 0 8px 18px rgba(16,39,25,.14); font-size: 12.5px; }

/* Temporary desktop product-details review options. All three reuse one
   data-safe dialog structure and differ only in composition. */
body.cg-order-v2 .overlay.product-detail-open { background: rgba(16,39,25,.62); }
body.cg-order-v2 .product-detail-sheet { position: relative; max-height: min(700px,90vh); padding: 0; overflow-x: hidden; overflow-y: auto; border: 1px solid rgba(120,148,134,.28); border-radius: 5px; background: var(--order-paper); box-shadow: 0 24px 62px rgba(16,39,25,.25); }
body.cg-order-v2 .product-detail-dialog { min-width: 0; }
body.cg-order-v2 .product-detail-close { position: absolute; z-index: 3; top: 10px; right: 10px; display: grid; width: 40px; height: 40px; padding: 0; float: none; place-items: center; border: 1px solid rgba(120,148,134,.34); border-radius: 3px; background: rgba(239,244,237,.94); color: var(--order-forest-deep); font-size: 22px; line-height: 1; box-shadow: none; }
body.cg-order-v2 .product-detail-close:hover,
body.cg-order-v2 .product-detail-close:focus-visible { border-color: var(--order-forest); background: rgba(226,236,227,.98); outline: 2px solid rgba(120,148,134,.4); outline-offset: 2px; }
body.cg-order-v2 .product-detail-layout { display: grid; min-width: 0; }
body.cg-order-v2 .product-detail-media { min-width: 0; overflow: hidden; background: rgba(120,148,134,.1); }
body.cg-order-v2 .product-detail-media :is(.pimg,.emoji) { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; }
body.cg-order-v2 .product-detail-media .emoji { display: grid; place-items: center; color: var(--order-forest); font-size: 72px; }
body.cg-order-v2 .product-detail-content { display: flex; min-width: 0; padding: 27px 30px 26px; flex-direction: column; align-items: flex-start; }
body.cg-order-v2 .product-detail-category { margin-bottom: 7px; color: #4f6f5e; font-size: 9px; font-weight: 800; letter-spacing: .17em; line-height: 1.2; text-transform: uppercase; }
body.cg-order-v2 .product-detail-content h3 { max-width: 19ch; margin: 0; color: var(--order-forest-deep); font-family: 'Fraunces',serif; font-size: clamp(25px,2.6vw,35px); font-weight: 500; line-height: 1.08; }
body.cg-order-v2 .product-detail-price { margin-top: 10px; color: var(--order-forest); font-family: 'Fraunces',serif; font-size: 21px; font-weight: 600; line-height: 1.1; }
body.cg-order-v2 .product-detail-description { max-width: 42ch; margin-top: 15px; padding-top: 13px; border-top: 1px solid rgba(120,148,134,.3); color: #495a4f; font-size: 12.75px; line-height: 1.66; white-space: pre-line; overflow-wrap: anywhere; }
body.cg-order-v2 .product-detail-variant { width: 100%; max-width: 330px; margin-top: 16px; }
body.cg-order-v2 .product-detail-variant label { display: block; margin: 0 0 6px; color: #4f6f5e; font-size: 9px; font-weight: 800; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; }
body.cg-order-v2 .product-detail-variant select { width: 100%; min-height: 44px; padding: 9px 40px 9px 12px; appearance: none; border: 1px solid rgba(120,148,134,.4); border-radius: 3px; background-color: rgba(248,250,244,.96); background-image: linear-gradient(45deg,transparent 50%,var(--order-sage) 50%),linear-gradient(135deg,var(--order-sage) 50%,transparent 50%); background-position: calc(100% - 18px) 50%,calc(100% - 13px) 50%; background-repeat: no-repeat; background-size: 5px 5px,5px 5px; color: var(--order-forest); font-family: inherit; font-size: 12px; font-weight: 650; cursor: pointer; }
body.cg-order-v2 .product-detail-variant select:hover { border-color: var(--order-sage); }
body.cg-order-v2 .product-detail-variant select:focus-visible { border-color: var(--order-sage); outline: 2px solid rgba(120,148,134,.34); outline-offset: 2px; }
body.cg-order-v2 .product-detail-variant-label { margin-bottom: 7px; color: var(--order-forest); font-size: 9px; font-weight: 800; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; }
body.cg-order-v2 .product-detail-pill-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
body.cg-order-v2 .product-detail-variant-pill { position: relative; display: grid; min-width: 0; min-height: 50px; padding: 7px 6px; place-items: center; border: 1px solid rgba(120,148,134,.46); border-radius: 3px; background: rgba(239,244,237,.7); color: var(--order-forest); font-family: inherit; cursor: pointer; }
body.cg-order-v2 .product-detail-pill-count { font-size: 10px; font-weight: 750; line-height: 1.1; }
body.cg-order-v2 .product-detail-variant-pill strong { margin-top: 3px; font-family: 'Fraunces',serif; font-size: 13px; font-weight: 600; line-height: 1; }
body.cg-order-v2 .product-detail-pill-check { display: none; }
body.cg-order-v2 .product-detail-variant-pill[aria-pressed="true"] { border-color: var(--order-forest); background: var(--order-forest); color: #fffdf7; box-shadow: 0 5px 12px rgba(16,39,25,.16); }
body.cg-order-v2 .product-detail-variant-pill:hover { border-color: var(--order-forest); }
body.cg-order-v2 .product-detail-variant-pill:focus-visible { outline: 2px solid rgba(120,148,134,.5); outline-offset: 2px; }
body.cg-order-v2 .product-detail-availability { display: flex; width: fit-content; margin-top: 12px; padding: 7px 10px 7px 9px; border-left: 2px solid var(--order-sage); border-radius: 0 2px 2px 0; background: rgba(120,148,134,.1); align-items: baseline; gap: 8px; color: var(--order-forest); font-size: 11px; }
body.cg-order-v2 .product-detail-availability span { color: #4f6f5e; font-size: 8.5px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
body.cg-order-v2 .product-detail-availability strong { font-weight: 700; }
body.cg-order-v2 .product-detail-actions { display: flex; width: 100%; margin-top: auto; padding-top: 18px; align-items: center; gap: 11px; }
body.cg-order-v2 .product-detail-add { min-width: 176px; min-height: 44px; padding: 10px 18px; border-color: var(--order-forest); background: var(--order-forest); color: #fffdf7; box-shadow: 0 6px 14px rgba(16,39,25,.12); }
body.cg-order-v2 .product-detail-add:disabled { cursor: not-allowed; opacity: .55; }

@media (min-width: 761px) {
  body.cg-order-v2 .overlay.product-detail-open { align-items: center; padding: 28px; }
  /* Tablet keeps the approved stacked quick view. */
  body.cg-order-v2 .product-detail-sheet { width: min(560px,90vw); max-width: 560px; }
  body.cg-order-v2 .product-detail-media { height: 238px; }
  body.cg-order-v2 .product-detail-content { padding: 22px 30px 25px; }
  body.cg-order-v2 .product-detail-content h3 { max-width: 24ch; font-size: 29px; }
  body.cg-order-v2 .product-detail-actions { padding-top: 17px; }
}

@media (min-width: 600px) and (max-width: 1099px) {
  body.cg-order-v2 .product-detail-variant { max-width: none; margin-top: 12px; }
  body.cg-order-v2 .product-detail-actions { display: block; padding-top: 14px; }
  body.cg-order-v2 .product-detail-add { width: 100%; min-width: 0; }
}

@media (min-width: 1100px) {
  /* Approved desktop Style B: compact editorial modal with exact-ID choices. */
  body.cg-order-v2 .product-detail-sheet { width: min(530px,88vw); max-width: 530px; border-color: rgba(80,112,93,.48); box-shadow: 0 24px 58px rgba(16,39,25,.3); }
  body.cg-order-v2 .product-detail-media { height: 218px; border-bottom: 3px solid rgba(120,148,134,.68); }
  body.cg-order-v2 .product-detail-content { padding: 20px 26px 22px; }
  body.cg-order-v2 .product-detail-category { display: inline-flex; margin-bottom: 8px; padding: 5px 9px 4px; border: 1px solid rgba(120,148,134,.32); border-radius: 2px; background: rgba(120,148,134,.16); color: var(--order-forest); letter-spacing: .15em; }
  body.cg-order-v2 .product-detail-content h3 { color: var(--order-forest); font-size: 29px; font-weight: 600; }
  body.cg-order-v2 .product-detail-price { margin-top: 8px; color: var(--order-forest-deep); font-size: 20px; }
  body.cg-order-v2 .product-detail-description { margin-top: 13px; padding-top: 11px; border-top-color: rgba(120,148,134,.42); color: #405448; line-height: 1.62; }
  body.cg-order-v2 .product-detail-close { top: 8px; right: 8px; width: 40px; height: 40px; border-color: rgba(24,52,33,.2); border-radius: 3px; background: rgba(255,250,240,.84); color: var(--order-forest); font-size: 20px; }
  body.cg-order-v2 .product-detail-close:hover,
  body.cg-order-v2 .product-detail-close:focus-visible { border-color: rgba(24,52,33,.5); background: rgba(239,244,237,.96); }
  body.cg-order-v2 .product-detail-variant { max-width: none; margin-top: 14px; }
  body.cg-order-v2 .product-detail-availability { margin-top: 10px; padding: 6px 10px; border-left: 0; background: rgba(120,148,134,.16); color: var(--order-forest-deep); }
  body.cg-order-v2 .product-detail-availability span { color: var(--order-forest); }
  body.cg-order-v2 .product-detail-actions { display: block; padding-top: 15px; }
  body.cg-order-v2 .product-detail-add { width: 100%; min-width: 0; min-height: 44px; }
}

@media (max-width: 760px) {
  body.cg-order-v2 .overlay.product-detail-open { padding: 0; align-items: flex-end; }
  body.cg-order-v2 .product-detail-sheet { width: 100%; max-width: none; max-height: 92vh; max-height: 92dvh; border-width: 1px 0 0; border-radius: 5px 5px 0 0; overflow-y: auto; }
  body.cg-order-v2 .product-detail-media { height: 190px; }
  body.cg-order-v2 .product-detail-content { padding: 22px 20px calc(24px + env(safe-area-inset-bottom)); }
  body.cg-order-v2 .product-detail-content h3 { max-width: 22ch; font-size: 26px; }
  body.cg-order-v2 .product-detail-actions { padding-top: 20px; }
  body.cg-order-v2 .product-detail-add { min-width: 0; flex: 1; }
  body.cg-order-v2 .head { padding-top: 15px; }
  body.cg-order-v2 .infos { margin-bottom: 15px; }
  body.cg-order-v2 .info { min-height: 0; padding: 11px 13px; grid-template-columns: 28px minmax(0,1fr); gap: 8px; }
  body.cg-order-v2 .info-copy { min-height: 0; grid-template-rows: auto auto minmax(13px,auto) minmax(13px,auto) minmax(12px,auto); }
  body.cg-order-v2 .info .ic,
  body.cg-order-v2 .info.dv .ic,
  body.cg-order-v2 .info.pk .ic { width: 28px; height: 28px; }
  body.cg-order-v2 .info .ic svg { width: 23px; height: 23px; }
  body.cg-order-v2 .info .day { font-size: 16px; }
  body.cg-order-v2 .checkout-panel .sec { margin-top: 18px; padding-top: 16px; }
}

@media (max-width: 520px) {
  body.cg-order-v2 .head { padding-top: 13px; }
  body.cg-order-v2 .head svg { width: 18px; height: 18px; }
  body.cg-order-v2 .head .n { margin-top: 2px; font-size: 24px; }
  body.cg-order-v2 .head .s { margin-top: 4px; font-size: 8.5px; }
  body.cg-order-v2 .freshline { margin: 6px auto 8px; }
  body.cg-order-v2 .infos { grid-template-columns: 1fr; gap: 8px; }
  body.cg-order-v2 .info { display: grid; padding: 10px 12px; grid-template-columns: 28px minmax(0,1fr); gap: 8px; text-align: left; }
  body.cg-order-v2 .info + .info { border-left: 1px solid rgba(81,62,30,.16); }
  body.cg-order-v2 .info .ic,
  body.cg-order-v2 .info.dv .ic,
  body.cg-order-v2 .info.pk .ic { margin: 0; }
  body.cg-order-v2 .info .day { font-size: 15px; }
  body.cg-order-v2 .info .dt { font-size: 9.25px; }
  body.cg-order-v2 .sec.sec-wide > .sec-h { margin-bottom: 9px; }
  body.cg-order-v2 .tile .pn { min-height: 0; }
  body.cg-order-v2 .checkout-panel .sec { margin-top: 17px; padding-top: 15px; }
}

@media (min-width: 600px) and (max-width: 950px) and (orientation: landscape) and (max-height: 520px) {
  body.cg-order-v2 .head { padding-top: 10px; }
  body.cg-order-v2 .head svg { width: 18px; height: 18px; }
  body.cg-order-v2 .head .n { font-size: 23px; }
  body.cg-order-v2 .head .s { margin-top: 3px; font-size: 8.5px; }
  body.cg-order-v2 .freshline { margin: 5px auto 7px; }
  body.cg-order-v2 .infos { margin-bottom: 12px; }
  body.cg-order-v2 .info { min-height: 0; padding-block: 9px; }
  body.cg-order-v2 .info-copy { min-height: 0; grid-template-rows: auto auto minmax(13px,auto) minmax(13px,auto) minmax(12px,auto); }
  body.cg-order-v2 .checkout-panel .sec { margin-top: 16px; padding-top: 14px; }
}

/* Canonical public brand lockup. Home, Our Story, Events, and Order share
   one square monogram, wordmark scale, subtitle, spacing, and responsive
   header composition. Page-specific rules above remain responsible only for
   page content, not brand identity. */
body.cg-public-v2 .topnav {
  position: relative;
  top: auto;
  display: flex;
  width: 100%;
  min-height: 78px;
  margin: 0;
  padding: 13px 20px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 0;
  border-bottom: 1px solid rgba(81,62,30,.2);
  border-radius: 0;
  background: rgba(255,250,240,.96);
  box-shadow: none;
  backdrop-filter: blur(10px);
}
body.cg-public-v2 .topnav .brand { display: flex; min-width: 0; align-items: center; gap: 11px; }
body.cg-public-v2 .topnav .brand-mark {
  display: flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  border: 1px solid #b78a43;
  border-radius: 0;
  background: transparent;
  color: #183421;
  font-family: 'Fraunces',serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.06em;
}
body.cg-public-v2 .topnav .brand-copy { min-width: 0; }
body.cg-public-v2 .topnav .brand-copy strong {
  display: block;
  color: #183421;
  font-family: 'Fraunces',serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.cg-public-v2 .topnav .brand-copy span { display: block; margin-top: 2px; color: #727868; font-size: 8px; font-weight: 600; letter-spacing: .2em; line-height: 1.2; text-transform: uppercase; }
body.cg-public-v2 .topnav .nav-group { display: flex; margin-left: auto; align-items: center; justify-content: flex-end; gap: 24px; }
body.cg-public-v2 .topnav .navlinks { display: flex; align-items: center; gap: clamp(16px,2vw,27px); flex-wrap: nowrap; }
body.cg-public-v2 .topnav .menu-btn {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(81,62,30,.2);
  border-radius: 4px;
  background: transparent;
  flex: 0 0 44px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
}
body.cg-public-v2 .topnav .menu-btn span { display: block; width: 17px; height: 1.5px; margin: 0 auto; border-radius: 2px; background: #183421; }
@media (max-width: 760px) {
  body.cg-public-v2 .topnav { min-height: 72px; padding: 12px 8px; }
  body.cg-public-v2 .topnav .brand-mark { width: 38px; height: 38px; flex-basis: 38px; }
  body.cg-public-v2 .topnav .brand-copy strong { font-size: 15px; }
  body.cg-public-v2 .topnav .brand-copy span { font-size: 7.5px; letter-spacing: .16em; }
  body.cg-public-v2 .topnav .nav-group { gap: 8px; }
  body.cg-public-v2 .topnav .navlinks { display: none; }
  body.cg-public-v2 .topnav .order-now-btn { display: inline-flex; min-width: 88px; min-height: 44px; padding: 9px 13px; }
  body.cg-public-v2 .topnav .menu-btn { display: flex; }
  body.cg-public-v2 .topnav.nav-open { align-items: flex-start; flex-wrap: wrap; }
  body.cg-public-v2 .topnav.nav-open .nav-group { order: 3; width: 100%; margin-top: 7px; align-items: stretch; flex-direction: column; gap: 6px; }
  body.cg-public-v2 .topnav.nav-open .navlinks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; }
  body.cg-public-v2 .topnav.nav-open .navlinks a { justify-content: center; }
  body.cg-public-v2 .topnav.nav-open .order-now-btn { display: inline-flex; width: 100%; }
}

/* iPhone portrait review. These rules intentionally sit after the approved
   desktop and landscape systems and are limited to narrow portrait screens. */
@media (max-width: 599px) and (orientation: portrait) {
  body.cg-public-v2 .topnav .brand-copy strong { overflow: visible; max-width: none; font-size: 13px; letter-spacing: .045em; text-overflow: clip; white-space: nowrap; }

  /* The two public pages using the approved minimal identity/contact/legal
     footer share one compact, centered phone treatment. */
  body.cg-home-v2 .footer,
  body.cg-about-v2 .footer { display: block; width: 100%; padding: 10px 12px 8px; text-align: center; }
  body.cg-home-v2 .footer-brand,
  body.cg-about-v2 .footer-brand { display: block; padding: 0; text-align: center; }
  body.cg-home-v2 .footer-brand::before,
  body.cg-about-v2 .footer-brand::before { display: none; }
  body.cg-home-v2 .footer-brand .brand-line,
  body.cg-about-v2 .footer-brand .brand-line { max-width: none; margin-inline: auto; font-size: 17px; }
  body.cg-home-v2 .footer-brand > span,
  body.cg-about-v2 .footer-brand > span { margin-top: 4px; }
  body.cg-home-v2 .footer .contact-line,
  body.cg-home-v2 .footer .legal-line,
  body.cg-about-v2 .footer .contact-line,
  body.cg-about-v2 .footer .legal-line { max-width: 46ch; margin: 6px auto 0; font-size: 8.75px; line-height: 1.32; text-align: center; overflow-wrap: anywhere; }
  body.cg-home-v2 .footer .legal-line,
  body.cg-about-v2 .footer .legal-line { margin-top: 5px; }

  /* About opens as an editorial stack: full-width story first, then the
     approved uncropped family photograph and caption. */
  body.cg-about-v2 .shell { padding-right: 10px; padding-left: 10px; }
  body.cg-about-v2 .about-opening { display: flex; width: 100%; margin-top: 0; padding: 0 0 14px; flex-direction: column; gap: 0; }
  body.cg-about-v2 .about-opening-copy { width: 100%; padding: 21px 16px 14px; }
  body.cg-about-v2 .about-opening-copy h1 { max-width: 8ch; margin-top: 7px; font-size: clamp(36px,10.5vw,43px); line-height: 1.01; }
  body.cg-about-v2 .about-opening-copy > p { width: 100%; max-width: 39ch; margin-top: 11px; font-size: 16.5px; line-height: 1.48; }
  body.cg-about-v2 .about-opening-rule { margin-top: 12px; }
  body.cg-about-v2 .about-opening-photo { width: 100%; }
  body.cg-about-v2 .about-opening-photo img { width: 100%; height: auto; border-radius: 2px; }
  body.cg-about-v2 .about-opening-photo figcaption { padding: 7px 8px 0; font-size: 10.5px; text-align: center; }

  body.cg-about-v2 .story { display: block; margin-top: 22px; padding: 19px 16px 18px; }
  body.cg-about-v2 .story-heading h2 { max-width: 12ch; font-size: 28px; line-height: 1.08; }
  body.cg-about-v2 .story-rule { margin-top: 10px; }
  body.cg-about-v2 .story-body { margin-top: 12px; }
  body.cg-about-v2 .story-copy { max-width: 39ch; font-size: 14px; line-height: 1.62; }
  body.cg-about-v2 .story-copy p + p { margin-top: 12px; }

  body.cg-about-v2 .guides { margin-top: 22px; padding: 19px 14px 11px; }
  body.cg-about-v2 .guides-heading { margin-bottom: 12px; }
  body.cg-about-v2 .guides-heading h2 { font-size: 27px; }
  body.cg-about-v2 .guides-heading p { margin-top: 10px; font-size: 12.5px; line-height: 1.5; }
  body.cg-about-v2 .guides-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.cg-about-v2 .guides-row article { min-width: 0; min-height: 84px; padding: 9px 5px; justify-content: center; }
  body.cg-about-v2 .principle-icon { width: 36px; height: 36px; margin-bottom: 6px; }
  body.cg-about-v2 .principle-icon svg { width: 34px; height: 34px; }
  body.cg-about-v2 .guides-row h3 { max-width: 12ch; margin-inline: auto; font-size: 14px; line-height: 1.2; overflow-wrap: anywhere; }
  body.cg-about-v2 .guides-cta { margin-top: 8px; }
  body.cg-about-v2 .guides-cta .btn { min-height: 44px; padding: 10px 15px; }

  body.cg-about-v2 .faith { margin-top: 21px; padding: 0 16px; }
  body.cg-about-v2 .faith h2 { font-size: 28px; }
  body.cg-about-v2 .faith-body { margin-top: 12px; padding-left: 13px; font-size: 13.5px; line-height: 1.58; }
  body.cg-about-v2 .quote { margin: 5px 8px 0; padding: 15px 15px 16px; }
  body.cg-about-v2 .quote-mark { font-size: 44px; opacity: .28; }
  body.cg-about-v2 .quote p { font-size: 18px; line-height: 1.42; }
  body.cg-about-v2 .quote-rule { margin-top: 11px; }

  body.cg-about-v2 .beyond { margin-top: 28px; padding: 18px 16px 16px; border-color: rgba(183,138,67,.12); border-radius: 4px; }
  body.cg-about-v2 .beyond-intro { text-align: center; }
  body.cg-about-v2 .beyond h2 { font-size: 28px; }
  body.cg-about-v2 .beyond-body { margin-top: 12px; font-size: 13px; line-height: 1.58; text-align: left; }
  body.cg-about-v2 .book-list { margin-top: 14px; }
  body.cg-about-v2 .book-list li { padding: 14px 0; border-color: rgba(81,62,30,.16); }
  body.cg-about-v2 .book-cover { width: min(128px,42vw); margin-bottom: 9px; }
  body.cg-about-v2 .book-title { max-width: 25ch; margin-inline: auto; font-size: 16px; line-height: 1.35; }
  body.cg-about-v2 .book-list a { display: inline-flex; min-height: 44px; margin-top: 3px; padding: 9px 2px; align-items: center; }

  /* Compact sibling fulfillment cards. The longer preorder/supplies note
     remains in the DOM for wider layouts but is omitted from these narrow
     summaries, where the primary schedule information needs the space. */
  body.cg-order-v2 .infos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-bottom: 13px; border: 0; align-items: stretch; }
  body.cg-order-v2 .info { display: block; min-height: 158px; padding: 11px 10px 10px; text-align: left; }
  body.cg-order-v2 .info + .info { border-left: 1px solid rgba(81,62,30,.16); }
  body.cg-order-v2 .info .ic,
  body.cg-order-v2 .info.dv .ic,
  body.cg-order-v2 .info.pk .ic { width: 28px; height: 28px; margin: 0 0 7px; }
  body.cg-order-v2 .info .ic svg { width: 22px; height: 22px; }
  body.cg-order-v2 .info-copy { display: flex; min-height: 0; flex-direction: column; }
  body.cg-order-v2 .info .fulfillment-kind { order: 1; font-size: 9.5px; }
  body.cg-order-v2 .info .day { order: 2; margin: 2px 0 5px; font-size: clamp(14.5px,4vw,16px); line-height: 1.16; }
  body.cg-order-v2 .info .dt { display: contents; font-size: 10.5px; line-height: 1.32; }
  body.cg-order-v2 .info.dv .info-deadline { order: 3; color: var(--order-forest); }
  body.cg-order-v2 .info.dv .info-support { order: 4; }
  body.cg-order-v2 .info.pk .info-support { order: 3; }
  body.cg-order-v2 .info.pk .info-hours { order: 4; }
  body.cg-order-v2 .info.pk .info-note { display: none; }

}

@media (max-width: 359px) and (orientation: portrait) {
  body.cg-order-v2 .infos { grid-template-columns: 1fr; }
  body.cg-order-v2 .info { min-height: 0; }
}

/* Order V2 mobile review: responsive-only refinements over the approved
   desktop composition. Open transactional surfaces contain their own scroll
   so the storefront cannot move underneath a dialog. */
body.cg-order-v2:has(.overlay.on),
body.cg-order-v2:has(.checkout-panel-overlay.on),
body.cg-order-v2:has(.payapp-sheet-overlay.on) { overflow: hidden; overscroll-behavior: none; }

@media (max-width: 760px) {
  body.cg-order-v2 .topnav { padding-left: max(8px,env(safe-area-inset-left)); padding-right: max(8px,env(safe-area-inset-right)); }
  body.cg-order-v2 .topnav .menu-btn,
  body.cg-order-v2 .topnav .order-now-btn,
  body.cg-order-v2 .topnav.nav-open .navlinks a { min-height: 44px; }
  body.cg-order-v2 .topnav.nav-open .order-now-btn { width: 100%; }

  body.cg-order-v2 .catpills { max-width: 100%; margin-bottom: 13px; padding: 1px 1px 6px; scroll-padding-inline: 1px; overscroll-behavior-inline: contain; }
  body.cg-order-v2 .pill { min-height: 44px; padding: 9px 14px; flex: 0 0 auto; white-space: nowrap; }
  body.cg-order-v2 .tile .variant-picker select { min-height: 48px; font-size: 13px; }
  body.cg-order-v2 .tile .view-details { display: inline-flex; min-height: 44px; padding: 9px 0; align-items: center; }
  body.cg-order-v2 .tile .row { min-height: 44px; }
  body.cg-order-v2 .tile .stepper,
  body.cg-order-v2 .tile .stepper button { min-height: 44px; }
  body.cg-order-v2 .tile .stepper button { min-width: 44px; }

  body.cg-order-v2 .overlay.product-detail-open { overscroll-behavior: contain; }
  body.cg-order-v2 .product-detail-sheet { overscroll-behavior: contain; }
  body.cg-order-v2 .product-detail-close { width: 44px; height: 44px; }
  body.cg-order-v2 .product-detail-media { height: clamp(165px,25vh,190px); }
  body.cg-order-v2 .product-detail-content { padding-right: max(20px,env(safe-area-inset-right)); padding-left: max(20px,env(safe-area-inset-left)); }
  body.cg-order-v2 .product-detail-add { width: 100%; min-height: 48px; }

  /* Approved mobile quick view: Style-B color hierarchy with the compact
     native selector retained for quantity variants. */
  body.cg-order-v2 .product-detail-media { border-bottom: 3px solid rgba(120,148,134,.68); }
  body.cg-order-v2 .product-detail-category { display: inline-flex; margin-bottom: 8px; padding: 5px 9px 4px; border: 1px solid rgba(120,148,134,.32); border-radius: 2px; background: rgba(120,148,134,.16); color: var(--order-forest); }
  body.cg-order-v2 .product-detail-content h3 { color: var(--order-forest); font-weight: 600; }
  body.cg-order-v2 .product-detail-description { border-top-color: rgba(120,148,134,.42); color: #405448; }
  body.cg-order-v2 .product-detail-actions { display: block; padding-top: 16px; }
  body.cg-order-v2 .product-detail-add { width: 100%; }

  body.cg-order-v2 .checkout-panel-overlay { overscroll-behavior: contain; }
  body.cg-order-v2 .checkout-panel { overflow-x: hidden; overscroll-behavior: contain; }
  body.cg-order-v2 .checkout-panel-close { flex: 0 0 44px; }
  body.cg-order-v2 .checkout-panel :is(input,select) { font-size: 16px; }
  body.cg-order-v2 .custom-tip-control input { padding-left: 30px; }
  body.cg-order-v2 .pay-app-tile,
  body.cg-order-v2 .pay-tile,
  body.cg-order-v2 .tips button,
  body.cg-order-v2 .pickup-time-buttons button { min-height: 44px; }
}

@media (max-width: 520px) {
  body.cg-order-v2 .wrap { padding-right: max(12px,env(safe-area-inset-right)); padding-bottom: calc(166px + env(safe-area-inset-bottom)); padding-left: max(12px,env(safe-area-inset-left)); }
  body.cg-order-v2 .head { padding-top: 11px; }
  body.cg-order-v2 .freshline { margin: 5px auto 8px; }
  body.cg-order-v2 .infos { gap: 8px; margin-bottom: 13px; }
  body.cg-order-v2 .info { padding: 11px 12px; grid-template-columns: 32px minmax(0,1fr); gap: 10px; }
  body.cg-order-v2 .info .ic,
  body.cg-order-v2 .info.dv .ic,
  body.cg-order-v2 .info.pk .ic { width: 32px; height: 32px; }
  body.cg-order-v2 .info .lbl,
  body.cg-order-v2 .fulfillment-kind { font-size: 9.5px; }
  body.cg-order-v2 .info .day { font-size: 17px; }
  body.cg-order-v2 .info .dt { font-size: 11px; line-height: 1.38; }
  body.cg-order-v2 .info .info-note { padding-top: 1px; font-size: 10.5px; }
  body.cg-order-v2 .sec.sec-wide > .sec-h h2 { font-size: 22px; }
  body.cg-order-v2 .tile .photo { aspect-ratio: 16 / 10; }
  body.cg-order-v2 .tile .pn { min-height: 0; font-size: 17px; }
  body.cg-order-v2 .tile .pp { font-size: 16px; }
  body.cg-order-v2 .bar { padding-right: max(12px,env(safe-area-inset-right)); padding-bottom: calc(12px + env(safe-area-inset-bottom)); padding-left: max(12px,env(safe-area-inset-left)); }
  body.cg-order-v2 .bar .row { margin-bottom: 7px; }
  body.cg-order-v2 .bar .row .l { font-size: 11px; }
  body.cg-order-v2 .bar .row .t { font-size: 22px; }
  body.cg-order-v2 .bar .cta { min-height: 48px; padding: 12px; }
  body.cg-order-v2 .checkout-panel { padding-right: max(16px,env(safe-area-inset-right)); padding-left: max(16px,env(safe-area-inset-left)); }
  body.cg-order-v2 .checkout-panel-head h2 { font-size: 24px; }
  body.cg-order-v2 .checkout-panel .sec-h h2 { font-size: 19px; }
  body.cg-order-v2 .product-detail-content { padding-top: 18px; }
  body.cg-order-v2 .product-detail-content h3 { font-size: 24px; }
  body.cg-order-v2 .product-detail-description { margin-top: 12px; padding-top: 11px; line-height: 1.55; }
}

@media (min-width: 600px) and (max-width: 950px) and (orientation: landscape) and (max-height: 520px) {
  body.cg-order-v2 .wrap { padding-right: max(12px,env(safe-area-inset-right)); padding-bottom: calc(128px + env(safe-area-inset-bottom)); padding-left: max(12px,env(safe-area-inset-left)); }
  body.cg-order-v2 .topnav { padding-right: max(10px,env(safe-area-inset-right)); padding-left: max(10px,env(safe-area-inset-left)); }
  body.cg-order-v2 .head { padding-top: 8px; }
  body.cg-order-v2 .infos { margin-bottom: 11px; }
  body.cg-order-v2 .info { padding-block: 8px; }
  body.cg-order-v2 .info .dt { font-size: 10px; }
  body.cg-order-v2 .bar { padding-right: max(16px,env(safe-area-inset-right)); padding-bottom: calc(10px + env(safe-area-inset-bottom)); padding-left: max(16px,env(safe-area-inset-left)); }
  body.cg-order-v2 .overlay.product-detail-open { padding: 0; align-items: stretch; }
  body.cg-order-v2 .product-detail-sheet { width: 100%; max-width: none; height: 100vh; height: 100dvh; max-height: none; border: 0; border-radius: 0; overflow: hidden; }
  body.cg-order-v2 .product-detail-layout { height: 100%; min-height: 0; grid-template-columns: minmax(0,40%) minmax(0,60%); }
  body.cg-order-v2 .product-detail-media { height: 100%; min-height: 0; border-right: 3px solid rgba(120,148,134,.68); border-bottom: 0; }
  body.cg-order-v2 .product-detail-content { height: 100%; min-height: 0; padding: 18px max(24px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) 24px; overflow-y: auto; overscroll-behavior: contain; }
  body.cg-order-v2 .product-detail-close { top: max(8px,env(safe-area-inset-top)); right: max(8px,env(safe-area-inset-right)); width: 44px; height: 44px; }
  body.cg-order-v2 .product-detail-content h3 { max-width: 24ch; font-size: 24px; }
  body.cg-order-v2 .product-detail-description { margin-top: 10px; padding-top: 9px; line-height: 1.45; }
  body.cg-order-v2 .product-detail-variant { margin-top: 11px; }
  body.cg-order-v2 .product-detail-actions { padding-top: 12px; }
  body.cg-order-v2 .checkout-panel { padding-right: max(24px,env(safe-area-inset-right)); padding-left: max(24px,env(safe-area-inset-left)); overflow-x: hidden; overscroll-behavior: contain; }
}

@media (max-width: 380px) {
  body.cg-public-v2 .topnav { gap: 8px; }
  body.cg-public-v2 .topnav .brand { gap: 8px; }
  body.cg-public-v2 .topnav .brand-mark { width: 36px; height: 36px; flex-basis: 36px; font-size: 11px; }
  body.cg-public-v2 .topnav .brand-copy strong { overflow: visible; max-width: none; font-size: 12px; letter-spacing: .035em; text-overflow: clip; white-space: nowrap; }
  body.cg-public-v2 .topnav .brand-copy span { font-size: 7px; letter-spacing: .13em; }
  body.cg-public-v2 .topnav .order-now-btn { min-width: 84px; padding-inline: 10px; }
}

@media (min-width: 600px) and (max-width: 950px) and (orientation: landscape) and (max-height: 520px) {
  body.cg-public-v2 .topnav { min-height: 58px; padding: 7px 10px; }
  body.cg-public-v2 .topnav .brand { gap: 9px; }
  body.cg-public-v2 .topnav .brand-mark { width: 34px; height: 34px; flex-basis: 34px; font-size: 11px; }
  body.cg-public-v2 .topnav .brand-copy strong { font-size: 13px; }
  body.cg-public-v2 .topnav .brand-copy span { font-size: 7px; letter-spacing: .14em; }
  body.cg-public-v2 .topnav .navlinks,
  body.cg-public-v2 .topnav .order-now-btn { display: none; }
  body.cg-public-v2 .topnav .menu-btn { display: flex; }
  body.cg-public-v2 .topnav.nav-open { align-items: flex-start; flex-wrap: wrap; }
  body.cg-public-v2 .topnav.nav-open .nav-group { order: 3; width: 100%; margin-top: 5px; align-items: stretch; flex-direction: column; gap: 5px; }
  body.cg-public-v2 .topnav.nav-open .navlinks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3px; }
  body.cg-public-v2 .topnav.nav-open .navlinks a { justify-content: center; }
  body.cg-public-v2 .topnav.nav-open .order-now-btn { display: inline-flex; width: 100%; }
}

/* Approved iPhone-portrait storefront and fulfillment composition. */
@media (max-width: 599px) and (orientation: portrait) {
  /* The bar can show total, fee/tip notes, Clear Basket, and Review Order at
     once. A full bar-height plus a readable clearance zone remains after the
     final card, including the device safe area. */
  body.cg-order-v2 .wrap { padding-bottom: calc(196px + env(safe-area-inset-bottom)); }
  body.cg-order-v2 { scroll-padding-bottom: calc(196px + env(safe-area-inset-bottom)); }
  body.cg-order-v2 .infos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-bottom: 13px; border: 0; align-items: stretch; }
  body.cg-order-v2 .info { display: block; min-height: 158px; padding: 11px 10px 10px; text-align: left; }
  body.cg-order-v2 .info + .info { border-left: 1px solid rgba(81,62,30,.16); }
  body.cg-order-v2 .info .ic,
  body.cg-order-v2 .info.dv .ic,
  body.cg-order-v2 .info.pk .ic { width: 28px; height: 28px; margin: 0 0 7px; }
  body.cg-order-v2 .info .ic svg { width: 22px; height: 22px; }
  body.cg-order-v2 .info-copy { display: flex; min-height: 0; flex-direction: column; }
  body.cg-order-v2 .info .fulfillment-kind { order: 1; font-size: 9.5px; }
  body.cg-order-v2 .info .day { order: 2; margin: 2px 0 5px; font-size: clamp(14.5px,4vw,16px); line-height: 1.16; }
  body.cg-order-v2 .info .dt { display: contents; font-size: 10.5px; line-height: 1.32; }
  body.cg-order-v2 .info.dv .info-deadline { order: 3; color: var(--order-forest); }
  body.cg-order-v2 .info.dv .info-support { order: 4; }
  body.cg-order-v2 .info.pk .info-support { order: 3; }
  body.cg-order-v2 .info.pk .info-hours { order: 4; }
  body.cg-order-v2 .info.pk .info-note { display: none; }
  body.cg-order-v2 .grid { grid-template-columns: 1fr; gap: 10px; }
  body.cg-order-v2 .tile { display: grid; min-height: 0; padding: 10px; grid-template-columns: minmax(118px,38%) minmax(0,1fr); grid-template-rows: auto auto auto auto auto minmax(44px,auto); column-gap: 12px; row-gap: 2px; align-items: start; }
  body.cg-order-v2 .tile .photo { width: 100%; min-height: 166px; height: 100%; max-height: none; margin: 0; grid-column: 1; grid-row: 1 / 7; border-radius: 2px; aspect-ratio: auto; align-self: stretch; }
  body.cg-order-v2 .tile .photo :is(.pimg,.emoji) { width: 100%; height: 100%; min-height: 166px; aspect-ratio: auto; object-fit: cover; object-position: center; }
  body.cg-order-v2 .tile .meta { grid-column: 2; grid-row: 1; }
  body.cg-order-v2 .tile .pn { min-height: 0; grid-column: 2; grid-row: 2; font-size: 16px; line-height: 1.2; -webkit-line-clamp: 4; }
  body.cg-order-v2 .tile .pp { grid-column: 2; grid-row: 3; font-size: 15px; }
  body.cg-order-v2 .tile .variant-picker { margin-top: 5px; grid-column: 2; grid-row: 4; }
  body.cg-order-v2 .tile .variant-picker select { min-height: 44px; }
  body.cg-order-v2 .tile .view-details { margin-top: 1px; grid-column: 2; grid-row: 5; }
  body.cg-order-v2 .tile .row { min-height: 44px; padding: 0; grid-column: 2; grid-row: 6; }
  body.cg-order-v2 .tile .avail { min-width: 0; }
  body.cg-order-v2 .tile .stepper { max-width: 100%; }
}

@media (max-width: 359px) and (orientation: portrait) {
  body.cg-order-v2 .infos { grid-template-columns: 1fr; }
  body.cg-order-v2 .info { min-height: 0; }
  body.cg-order-v2 .tile { grid-template-columns: 104px minmax(0,1fr); column-gap: 9px; }
}

/* Temporary Homepage food-showcase previews. View A intentionally has no
   overrides; B and C are portrait-only and reuse the existing four linked
   product modules, images, names, and supporting lines. */
@media (max-width: 599px) and (orientation: portrait) {
  body.cg-home-v2.home-bake-view-b .featured-section,
  body.cg-home-v2.home-bake-view-c .featured-section { padding-inline: 14px; }
  body.cg-home-v2.home-bake-view-b .product-card,
  body.cg-home-v2.home-bake-view-c .product-card { position: relative; border-bottom: 0; background: transparent; }
  body.cg-home-v2.home-bake-view-b .product-card::after,
  body.cg-home-v2.home-bake-view-c .product-card::after { display: none; }
  body.cg-home-v2.home-bake-view-b .product-photo a::after,
  body.cg-home-v2.home-bake-view-c .product-photo a::after { content: ''; position: absolute; z-index: 2; inset: 0; }
  body.cg-home-v2.home-bake-view-b .product-photo a:focus-visible,
  body.cg-home-v2.home-bake-view-c .product-photo a:focus-visible { outline: 2px solid var(--home-gold); outline-offset: 3px; }

  /* B: a compact, image-led two-column bakery showcase. */
  body.cg-home-v2.home-bake-view-b .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 12px; }
  body.cg-home-v2.home-bake-view-b .product-card { display: flex; min-height: 0; padding: 0; gap: 0; align-items: stretch; flex-direction: column; }
  body.cg-home-v2.home-bake-view-b .product-photo { width: 100%; height: auto; min-height: 0; aspect-ratio: 1.08 / 1; }
  body.cg-home-v2.home-bake-view-b .product-copy { min-height: 82px; padding: 9px 2px 0; align-items: flex-start; justify-content: flex-start; text-align: left; }
  body.cg-home-v2.home-bake-view-b .product-copy h3 { min-height: 2.3em; font-size: 15px; line-height: 1.15; -webkit-line-clamp: 2; }
  body.cg-home-v2.home-bake-view-b .product-copy p { min-height: 2.7em; margin-top: 4px; font-size: 10.5px; line-height: 1.32; -webkit-line-clamp: 2; }

  /* C: one larger feature followed by three supporting image cards. */
  body.cg-home-v2.home-bake-view-c .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px 12px; }
  body.cg-home-v2.home-bake-view-c .product-card { display: flex; min-height: 0; padding: 0; gap: 0; align-items: stretch; flex-direction: column; }
  body.cg-home-v2.home-bake-view-c .product-card:first-child { grid-column: 1 / -1; }
  body.cg-home-v2.home-bake-view-c .product-card:first-child .product-photo { width: 100%; height: auto; min-height: 0; aspect-ratio: 1.75 / 1; }
  body.cg-home-v2.home-bake-view-c .product-card:first-child .product-copy { min-height: 67px; padding: 10px 3px 0; align-items: flex-start; justify-content: flex-start; text-align: left; }
  body.cg-home-v2.home-bake-view-c .product-card:first-child .product-copy h3 { min-height: 0; font-size: 18px; line-height: 1.14; }
  body.cg-home-v2.home-bake-view-c .product-card:first-child .product-copy p { min-height: 0; margin-top: 4px; font-size: 11px; line-height: 1.35; }
  body.cg-home-v2.home-bake-view-c .product-card:not(:first-child) .product-photo { width: 100%; height: auto; min-height: 0; aspect-ratio: 1.08 / 1; }
  body.cg-home-v2.home-bake-view-c .product-card:not(:first-child) .product-copy { min-height: 78px; padding: 8px 2px 0; align-items: flex-start; justify-content: flex-start; text-align: left; }
  body.cg-home-v2.home-bake-view-c .product-card:not(:first-child) .product-copy h3 { min-height: 2.25em; font-size: 14.5px; line-height: 1.14; -webkit-line-clamp: 2; }
  body.cg-home-v2.home-bake-view-c .product-card:not(:first-child) .product-copy p { min-height: 2.65em; margin-top: 3px; font-size: 10px; line-height: 1.3; -webkit-line-clamp: 2; }
}

/* Final tablet Homepage bake showcase: an image-forward native swipe rail,
   distinct from the transactional product catalog while retaining all four
   linked modules. */
@media (min-width: 600px) and (max-width: 1099px) {
  body.cg-home-v2 .featured-section .product-grid { display: flex; width: 100%; margin: 0; padding: 2px clamp(18px,3vw,30px) 12px 0; overflow-x: auto; overflow-y: hidden; gap: 18px; scroll-snap-type: x mandatory; scroll-padding-inline: 0 clamp(18px,3vw,30px); overscroll-behavior-inline: contain; scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; }
  body.cg-home-v2 .featured-section .product-grid::-webkit-scrollbar { display: none; }
  body.cg-home-v2 .featured-section .product-card { position: relative; display: flex; min-width: 0; padding: 0 0 12px; flex: 0 0 clamp(230px,38vw,420px); gap: 0; align-items: stretch; flex-direction: column; scroll-snap-align: start; scroll-snap-stop: normal; border-bottom: 1px solid rgba(81,62,30,.16); background: rgba(255,250,240,.58); }
  body.cg-home-v2 .featured-section .product-card::after { display: none; }
  body.cg-home-v2 .featured-section .product-photo { width: 100%; height: auto; min-height: 0; aspect-ratio: 1.26 / 1; }
  body.cg-home-v2 .featured-section .product-photo a::after { content: ''; position: absolute; z-index: 2; inset: 0; }
  body.cg-home-v2 .featured-section .product-photo a:focus-visible { outline: 2px solid var(--home-gold); outline-offset: 3px; }
  body.cg-home-v2 .featured-section .product-copy { min-height: 66px; padding: 11px 4px 0; align-items: flex-start; justify-content: flex-start; text-align: left; }
  body.cg-home-v2 .featured-section .product-copy h3 { min-height: 0; font-size: 18px; line-height: 1.16; -webkit-line-clamp: 2; }
  body.cg-home-v2 .featured-section .product-copy p { display: block; min-height: 0; max-width: 100%; margin-top: 5px; overflow: hidden; color: var(--cg-ink-muted); font-size: 10.5px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
}

/* Compact checkout rail for tablet-ish and wider/shorter mobile viewports.
   It exposes only the cart count beside the existing total and actions; cart
   math, persistence, and checkout behavior remain unchanged. */
body.cg-order-v2 .basket-context { display: none; }
body.cg-order-v2 .basket-drawer-overlay { display: none; }
body.cg-order-v2.basket-drawer-open { overflow: hidden; overscroll-behavior: none; }
@media (min-width: 600px) and (max-width: 1099px) {
  body.cg-order-v2 .wrap { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  body.cg-order-v2 { scroll-padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  body.cg-order-v2 .bar { display: grid; width: 100%; height: calc(68px + env(safe-area-inset-bottom)); min-height: calc(68px + env(safe-area-inset-bottom)); max-width: none; padding: 5px max(14px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left)); box-sizing: border-box; border-radius: 0; border-color: rgba(81,62,30,.2); background: rgba(255,250,240,.98); box-shadow: none; grid-template-columns: minmax(142px,1fr) minmax(140px,auto) minmax(76px,auto) clamp(170px,26vw,250px); grid-template-areas: 'total items clear review'; column-gap: 10px; align-items: center; }
  body.cg-order-v2 .bar .basket-total-block { display: grid; min-width: 0; grid-area: total; align-content: center; row-gap: 2px; }
  body.cg-order-v2 .bar .row { display: grid; min-width: 0; margin: 0; align-items: baseline; justify-content: start; row-gap: 1px; }
  body.cg-order-v2 .bar .row .l { font-size: 8.5px; line-height: 1; white-space: nowrap; }
  body.cg-order-v2 .bar .row .t { font-size: 20px; line-height: 1; white-space: nowrap; }
  body.cg-order-v2 .bar .tipnote { min-width: 0; margin: 0; overflow: hidden; color: var(--order-sage); font-size: 8.5px; line-height: 1.05; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
  body.cg-order-v2 .bar .basket-context:not([hidden]) { display: inline-flex; min-width: 0; min-height: 44px; margin: 0; padding: 5px 8px; overflow: hidden; border: 1px solid rgba(86,118,99,.42); border-radius: 3px; background: rgba(120,148,134,.1); grid-area: items; align-items: center; justify-content: center; gap: 4px; color: var(--order-forest); font-family: inherit; text-align: center; white-space: nowrap; cursor: pointer; }
  body.cg-order-v2 .bar .basket-context-icon { width: 16px; height: 16px; flex: 0 0 16px; color: var(--order-sage); }
  body.cg-order-v2 .bar .basket-context-label,
  body.cg-order-v2 .bar .basket-context strong { font-size: 9.5px; font-weight: 800; letter-spacing: .045em; line-height: 1; text-transform: uppercase; }
  body.cg-order-v2 .bar .basket-context-divider { color: rgba(65,76,62,.48); font-size: 11px; line-height: 1; }
  body.cg-order-v2 .bar .basket-context:hover { border-color: rgba(63,104,84,.64); background: rgba(120,148,134,.17); }
  body.cg-order-v2 .bar .basket-context:focus-visible { border-color: var(--order-forest); outline: 2px solid rgba(120,148,134,.42); outline-offset: 2px; }
  body.cg-order-v2 .bar .clear-basket { width: auto; min-width: 76px; min-height: 44px; margin: 0; padding: 5px 6px; grid-area: clear; color: rgba(138,59,59,.78); font-size: 10.5px; text-decoration-color: rgba(138,59,59,.55); text-underline-offset: 2px; }
  body.cg-order-v2 .bar .cta { min-width: 170px; min-height: 46px; padding: 9px 14px; grid-area: review; }

  body.cg-order-v2 .basket-drawer-overlay { position: fixed; z-index: 45; inset: 0; padding: 0 max(12px,env(safe-area-inset-right)) calc(68px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); background: rgba(16,39,25,.38); align-items: flex-end; justify-content: center; }
  body.cg-order-v2 .basket-drawer-overlay.on { display: flex; }
  body.cg-order-v2 .basket-drawer { display: flex; width: min(760px,100%); max-height: 62dvh; overflow: hidden; border: 1px solid rgba(81,62,30,.2); border-bottom: 0; border-radius: 5px 5px 0 0; background: var(--order-paper); box-shadow: 0 -16px 40px -24px rgba(16,39,25,.46); flex-direction: column; }
  body.cg-order-v2 .basket-drawer-head { display: flex; min-height: 46px; padding: 7px 10px 7px 16px; border-bottom: 1px solid var(--order-rule); align-items: center; justify-content: space-between; flex: 0 0 auto; }
  body.cg-order-v2 .basket-drawer-head h2 { margin: 0; color: var(--order-forest); font-family: 'Fraunces',serif; font-size: 20px; font-weight: 600; }
  body.cg-order-v2 .basket-drawer-close { display: inline-flex; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; align-items: center; justify-content: center; color: var(--order-forest); font: 28px/1 inherit; cursor: pointer; }
  body.cg-order-v2 .basket-drawer-close:hover { background: rgba(120,148,134,.12); color: var(--order-forest-deep); }
  body.cg-order-v2 .basket-drawer-close:focus-visible { background: rgba(120,148,134,.12); outline: 2px solid rgba(120,148,134,.48); outline-offset: 1px; }
  body.cg-order-v2 .basket-drawer-body { min-height: 0; padding: 0 16px 14px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
  body.cg-order-v2 .basket-drawer-item { display: grid; min-height: 58px; padding: 7px 0; grid-template-columns: 42px minmax(0,1fr) auto; gap: 10px; align-items: center; border-bottom: 1px solid var(--order-rule); }
  body.cg-order-v2 .basket-drawer-item .basket-item-thumb { width: 42px; height: 42px; }
  body.cg-order-v2 .basket-drawer-item .basket-item-name { overflow: hidden; font-size: 12px; line-height: 1.22; text-overflow: ellipsis; white-space: nowrap; }
  body.cg-order-v2 .basket-drawer-item .basket-item-price { margin-top: 2px; font-size: 10px; }
  body.cg-order-v2 .basket-drawer-item .stepper button { width: 44px; height: 44px; }
  body.cg-order-v2 .basket-drawer-item .stepper .q { width: 24px; }
  body.cg-order-v2 .basket-drawer-summary { padding: 9px 0 5px; color: var(--order-sage); font-size: 10px; }
  body.cg-order-v2 .basket-drawer-summary > div { display: flex; min-height: 17px; align-items: baseline; justify-content: space-between; gap: 14px; }
  body.cg-order-v2 .basket-drawer-summary .basket-drawer-total { min-height: 27px; margin-top: 5px; padding-top: 7px; border-top: 1px solid var(--order-rule); color: var(--order-forest); font-family: 'Fraunces',serif; font-size: 17px; font-weight: 700; }
  body.cg-order-v2 .basket-drawer-actions { display: grid; padding-top: 7px; grid-template-columns: minmax(96px,auto) minmax(190px,280px); gap: 10px; align-items: center; justify-content: end; }
  body.cg-order-v2 .basket-drawer-clear { min-height: 44px; padding: 7px 10px; border: 0; background: transparent; color: #8a3b3b; font-family: inherit; font-size: 11px; font-weight: 700; text-decoration: underline; cursor: pointer; }
  body.cg-order-v2 .basket-drawer-review { min-height: 46px; padding: 9px 14px; }
  body.cg-order-v2 .basket-drawer-empty { display: grid; min-height: 130px; place-content: center; justify-items: center; color: var(--order-sage); }
  body.cg-order-v2 .basket-drawer-empty svg { width: 34px; height: 34px; }
  body.cg-order-v2 .basket-drawer-empty p { margin-top: 8px; font-size: 12px; }
}

@media (min-width: 600px) and (max-width: 950px) and (orientation: landscape) and (max-height: 520px) {
  body.cg-order-v2 .wrap { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  body.cg-order-v2 { scroll-padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  body.cg-order-v2 .bar { grid-template-columns: minmax(132px,1fr) minmax(136px,auto) minmax(68px,auto) clamp(156px,25vw,210px); column-gap: 8px; }
  body.cg-order-v2 .bar .clear-basket { min-width: 68px; min-height: 44px; padding-inline: 3px; }
  body.cg-order-v2 .bar .cta { min-width: 156px; min-height: 44px; padding: 8px 10px; }
}

/* Landscape quick view: width-led split composition with enough description
   space for normal configured copy. Portrait and true-desktop details remain
   governed by their approved rules. */
@media (min-width: 600px) and (max-width: 1099px) and (orientation: landscape) and (max-height: 600px) {
  body.cg-order-v2 .overlay.product-detail-open { padding: max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); align-items: center; justify-content: center; }
  body.cg-order-v2 .product-detail-sheet { width: min(820px,calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right))); height: auto; max-width: 820px; max-height: 86vh; max-height: 86dvh; overflow: hidden; border: 1px solid rgba(120,148,134,.34); border-radius: 5px; }
  body.cg-order-v2 .product-detail-layout { height: auto; min-height: 280px; max-height: 86dvh; grid-template-columns: minmax(215px,38%) minmax(0,62%); align-items: stretch; }
  body.cg-order-v2 .product-detail-media { width: 100%; height: auto; min-height: 280px; border-right: 2px solid rgba(120,148,134,.5); border-bottom: 0; }
  body.cg-order-v2 .product-detail-media :is(.pimg,.emoji) { object-position: center; }
  body.cg-order-v2 .product-detail-content { height: auto; min-height: 0; max-height: 86dvh; padding: 13px 52px 14px 18px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
  body.cg-order-v2 .product-detail-category { margin-bottom: 4px; padding: 3px 7px; font-size: 8px; }
  body.cg-order-v2 .product-detail-content h3 { max-width: 24ch; font-size: 22px; line-height: 1.04; }
  body.cg-order-v2 .product-detail-price { margin-top: 4px; font-size: 17px; }
  body.cg-order-v2 .product-detail-description { display: block; max-width: none; max-height: 7.25em; margin-top: 7px; padding: 6px 4px 0 0; overflow-x: hidden; overflow-y: auto; font-size: 10.5px; line-height: 1.45; white-space: normal; overscroll-behavior: contain; scrollbar-width: thin; }
  body.cg-order-v2 .product-detail-variant { max-width: none; margin-top: 8px; }
  body.cg-order-v2 .product-detail-variant label { margin-bottom: 4px; font-size: 8px; }
  body.cg-order-v2 .product-detail-variant select { min-height: 44px; padding-block: 7px; font-size: 11px; }
  body.cg-order-v2 .product-detail-availability { margin-top: 6px; padding: 4px 8px; font-size: 10px; }
  body.cg-order-v2 .product-detail-actions { margin-top: 0; padding-top: 8px; }
  body.cg-order-v2 .product-detail-add { width: 100%; min-width: 0; min-height: 44px; padding-block: 9px; }
  body.cg-order-v2 .product-detail-close { top: 6px; right: 6px; width: 44px; height: 44px; }
}

@media (min-width: 600px) and (max-width: 1099px) and (orientation: landscape) and (max-height: 420px) {
  body.cg-order-v2 .product-detail-description { max-height: 5.8em; }
}

/* Events Page Phase 1: a warm editorial public page with a read-only live
   market feature and lightweight community-interest path. */
body.cg-events-v2 {
  --events-cream: #f7f0e3;
  --events-paper: #fffaf0;
  --events-forest: #183421;
  --events-forest-deep: #102719;
  --events-sage: #789486;
  --events-sage-wash: #e8eee7;
  --events-gold: #b78a43;
  --events-rule: rgba(81,62,30,.2);
  --sunset-cream:#fff9ef;
  --sunset-ink:#3d3445;
  --sunset-coral:#cf637a;
  --sunset-gold:#eda65e;
  --sunset-violet:#8d5b8c;
  --sunset-plum:#674661;
  --sunset-night:#34374d;
  overflow-x: hidden;
  background: var(--events-cream);
  color: #2c3a2e;
}
body.cg-events-v2 .page { min-height: 100vh; background: linear-gradient(180deg,#f8f2e7 0%,#f4eddf 100%); }
body.cg-events-v2 .shell { width: min(1240px,100%); max-width: 1240px; margin: 0 auto; padding: 0 22px 0; }
body.cg-events-v2 main { display: block; }
body.cg-events-v2 .eyebrow { display: block; color: var(--events-gold); font-size: 9.5px; font-weight: 700; letter-spacing: .2em; line-height: 1.35; text-transform: uppercase; }
body.cg-events-v2 :is(h1,h2,h3) { color: var(--events-forest); font-family: 'Fraunces',serif; font-weight: 600; }
body.cg-events-v2 :is(a,button):focus-visible { outline: 2px solid rgba(183,138,67,.78); outline-offset: 3px; }

body.cg-events-v2 .events-hero {
  display: grid;
  min-height: 390px;
  padding: clamp(54px,7vw,82px) clamp(32px,6vw,72px);
  grid-template-columns: minmax(0,1.15fr) minmax(300px,.72fr);
  gap: clamp(36px,6vw,78px);
  align-items: center;
  background: var(--events-paper);
  border-bottom: 1px solid rgba(183,138,67,.42);
}
body.cg-events-v2 .events-hero h1 { max-width: 13ch; margin-top: 10px; font-size: clamp(42px,5.4vw,64px); line-height: 1.02; letter-spacing: -.025em; }
body.cg-events-v2 .events-hero > p { max-width: 41ch; padding-left: clamp(24px,3vw,40px); border-left: 1px solid rgba(183,138,67,.58); color: #506154; font-family: 'Cormorant Garamond',serif; font-size: clamp(20px,2.1vw,24px); line-height: 1.48; }

body.cg-events-v2 .events-market {
  display: grid;
  width: min(1000px,calc(100% - 48px));
  margin: clamp(40px,5vw,62px) auto;
  grid-template-columns: minmax(220px,.72fr) minmax(0,1.28fr);
  gap: clamp(34px,6vw,72px);
  align-items: center;
}
body.cg-events-v2 .events-section-heading h2 { max-width: 9ch; margin-top: 8px; font-size: clamp(32px,4vw,46px); line-height: 1.06; }
body.cg-events-v2 .events-rule { display: block; width: 52px; height: 1px; margin-top: 18px; background: var(--events-gold); }
body.cg-events-v2 .market-feature {
  display: grid;
  min-height: 230px;
  padding: clamp(25px,3.5vw,38px);
  grid-template-columns: 54px minmax(0,1fr);
  gap: 22px;
  align-items: start;
  border: 1px solid var(--events-rule);
  border-top: 3px solid var(--events-gold);
  background: rgba(255,250,240,.84);
  box-shadow: 0 12px 30px -26px rgba(16,39,25,.5);
}
body.cg-events-v2 .market-icon { display: inline-flex; width: 54px; height: 54px; align-items: center; justify-content: center; border: 1px solid rgba(120,148,134,.4); color: var(--events-gold); }
body.cg-events-v2 .market-icon svg { width: 27px; height: 27px; stroke-linecap: round; stroke-linejoin: round; }
body.cg-events-v2 .market-feature h3 { margin-top: 6px; font-size: clamp(25px,3vw,34px); line-height: 1.08; }
body.cg-events-v2 .market-schedule { margin-top: 8px; color: var(--events-forest); font-size: 13px; font-weight: 700; letter-spacing: .04em; }
body.cg-events-v2 .market-note { max-width: 46ch; margin-top: 8px; color: #59675c; font-size: 12px; line-height: 1.5; }
body.cg-events-v2 .market-status { display: none; }
body.cg-events-v2 .events-button { display: inline-flex; min-height: 44px; margin-top: 20px; padding: 11px 20px; align-items: center; justify-content: center; border: 1px solid var(--events-forest); border-radius: 3px; font-size: 10px; font-weight: 700; letter-spacing: .11em; line-height: 1.2; text-align: center; text-decoration: none; text-transform: uppercase; }
body.cg-events-v2 .events-button-primary { background: var(--events-forest); color: #fff; }
body.cg-events-v2 .events-button-primary:hover { background: var(--events-forest-deep); }

body.cg-events-v2 .events-community {
  position: relative;
  display: grid;
  padding: clamp(42px,6vw,70px) clamp(30px,6vw,72px);
  grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr);
  gap: clamp(38px,6vw,76px);
  overflow: hidden;
  background:
    radial-gradient(ellipse at 82% 8%,rgba(207,99,122,.14),transparent 230px),
    linear-gradient(135deg,#fff3dc 0%,#f8e9dc 58%,#eadde9 100%);
  border-block: 1px solid rgba(103,70,97,.22);
}
body.cg-events-v2 .events-community::after { position: absolute; right: 0; bottom: 0; left: 0; z-index: 2; height: 7px; background: linear-gradient(90deg,#df6a7d 0%,#eea15f 49%,#8d5b8c 100%); content: ''; }
body.cg-events-v2 .events-community article { position: relative; z-index: 1; min-width: 0; }
body.cg-events-v2 .events-community .eyebrow { color: #963c59; }
body.cg-events-v2 .sunset-project { padding-right: clamp(28px,4vw,52px); border-right: 1px solid rgba(103,70,97,.28); }
body.cg-events-v2 .events-community h2 { max-width: 14ch; margin-top: 8px; color: var(--sunset-ink); font-size: clamp(30px,3.6vw,42px); line-height: 1.08; }
body.cg-events-v2 .events-community article > p:not(.community-kinds) { max-width: 52ch; margin-top: 15px; color: #645b62; font-size: 14px; line-height: 1.75; }
body.cg-events-v2 .events-community .sunset-tagline { margin-top: 10px; color: #68485f; font-family: 'Cormorant Garamond',serif; font-size: 21px; font-style: italic; font-weight: 600; line-height: 1.35; }
body.cg-events-v2 .sunset-project-facts { display: grid; margin-top: 20px; gap: 10px; }
body.cg-events-v2 .sunset-project-facts > div { display: grid; grid-template-columns: minmax(92px,.6fr) minmax(0,1.4fr); gap: 14px; align-items: baseline; }
body.cg-events-v2 .sunset-project-facts dt { color: #963c59; font-size: 8.5px; font-weight: 700; letter-spacing: .13em; line-height: 1.4; text-transform: uppercase; }
body.cg-events-v2 .sunset-project-facts dd { color: var(--sunset-ink); font-size: 12px; font-weight: 600; line-height: 1.45; }
body.cg-events-v2 .proposal-status { display: inline-flex; padding: 5px 9px; border: 1px solid var(--sunset-gold); background: linear-gradient(155deg,var(--sunset-night),var(--sunset-plum)); color: var(--sunset-cream); font-size: 9px; font-weight: 700; letter-spacing: .055em; line-height: 1.3; text-transform: uppercase; }
body.cg-events-v2 .community-kinds { max-width: 60ch; margin-top: 22px; padding-top: 16px; border-top: 1px solid rgba(103,70,97,.25); color: #68485f; font-family: 'Cormorant Garamond',serif; font-size: 18px; font-style: italic; line-height: 1.55; }
body.cg-events-v2 .community-kinds-grid { display: none; }

body.cg-events-v2 .events-involvement {
  position: relative;
  width: min(960px,calc(100% - 48px));
  margin: clamp(38px,5vw,56px) auto 18px;
  padding: clamp(30px,4vw,42px) clamp(26px,4.5vw,48px);
  overflow: hidden;
  background: linear-gradient(135deg,#fff9ef 0%,#f4e6de 62%,#ede2eb 100%);
  border-block: 1px solid rgba(103,70,97,.22);
}
body.cg-events-v2 .events-involvement::before { position: absolute; top: 0; right: 0; left: 0; height: 6px; background: linear-gradient(90deg,#df6a7d 0%,#eea15f 49%,#8d5b8c 100%); content: ''; }
body.cg-events-v2 .involvement-heading { max-width: 670px; }
body.cg-events-v2 .events-involvement .eyebrow { color: #963c59; }
body.cg-events-v2 .involvement-heading h2 { margin-top: 7px; color: var(--sunset-ink); font-size: clamp(29px,3.4vw,39px); line-height: 1.08; }
body.cg-events-v2 .involvement-heading p { max-width: 66ch; margin-top: 12px; color: #645b62; font-size: 13.5px; line-height: 1.7; }
body.cg-events-v2 .involvement-paths { display: grid; margin-top: clamp(25px,3.5vw,34px); padding-top: clamp(23px,3vw,30px); grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(103,70,97,.25); }
body.cg-events-v2 .involvement-path { display: flex; min-width: 0; padding-right: clamp(24px,4vw,42px); flex-direction: column; align-items: flex-start; }
body.cg-events-v2 .involvement-path + .involvement-path { padding-right: 0; padding-left: clamp(24px,4vw,42px); border-left: 1px solid rgba(103,70,97,.25); }
body.cg-events-v2 .involvement-path h3 { color: var(--sunset-ink); font-size: clamp(20px,2.2vw,25px); line-height: 1.15; }
body.cg-events-v2 .involvement-path p { max-width: 42ch; margin-top: 8px; color: #645b62; font-size: 12.5px; line-height: 1.58; }
body.cg-events-v2 .path-eyebrow { display: none; }
body.cg-events-v2 .involvement-path .interest-disclaimer { margin-top: 12px; padding-top: 11px; border-top: 1px solid rgba(207,99,122,.3); color: #645b62; font-size: 11px; }
body.cg-events-v2 .interest-disclaimer strong { color: var(--sunset-ink); }
body.cg-events-v2 .involvement-path .events-button { width: min(250px,100%); margin-top: 18px; }
body.cg-events-v2 .sunset-interest-button[aria-disabled="true"] { border-color: var(--sunset-plum); background: linear-gradient(90deg,#a95172 0%,#c7657c 50%,#765173 100%); color: var(--sunset-cream); cursor: not-allowed; opacity: .84; }
body.cg-events-v2 .involvement-path .sunset-launch-note { margin-top: 8px; color: #756a71; font-size: 10.5px; line-height: 1.45; }
body.cg-events-v2 .events-button-secondary { min-width: 220px; margin-top: 0; background: transparent; color: var(--events-forest); }
body.cg-events-v2 .events-button-secondary:hover { background: var(--events-forest); color: #fff; }
body.cg-events-v2 .question-content { display: contents; }

body.cg-events-v2 .footer {
  display: grid;
  width: min(720px,100%);
  margin: 0 auto;
  padding: 10px 12px 8px;
  grid-template-columns: minmax(150px,.7fr) minmax(170px,.8fr) minmax(245px,1.2fr);
  column-gap: clamp(14px,2vw,20px);
  align-items: center;
  border-top: 1px solid var(--events-rule);
  background: transparent;
  text-align: left;
}
body.cg-events-v2 .footer-brand { position: relative; padding-left: 14px; }
body.cg-events-v2 .footer-brand::before { content: ''; position: absolute; inset: 2px auto 2px 0; width: 2px; background: var(--events-gold); }
body.cg-events-v2 .footer-brand .brand-line { max-width: 9ch; color: var(--events-forest); font-family: 'Fraunces',serif; font-size: 19px; font-weight: 600; line-height: 1.02; letter-spacing: .075em; text-transform: uppercase; }
body.cg-events-v2 .footer-brand > span { display: block; margin-top: 6px; color: var(--events-gold); font-size: 8px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
body.cg-events-v2 .footer .contact-line,
body.cg-events-v2 .footer .legal-line { margin: 0; color: #667065; font-size: 8.75px; line-height: 1.35; }
body.cg-events-v2 .footer .contact-line a { color: inherit; text-decoration: none; }
body.cg-events-v2 .footer .legal-line { max-width: 42ch; }

@media (max-width: 900px) {
  body.cg-events-v2 .events-hero { min-height: 340px; padding-inline: 34px; grid-template-columns: minmax(0,1fr) minmax(260px,.8fr); gap: 36px; }
  body.cg-events-v2 .events-market { width: calc(100% - 36px); grid-template-columns: minmax(190px,.65fr) minmax(0,1.35fr); gap: 30px; }
  body.cg-events-v2 .events-community { gap: 38px; }
  body.cg-events-v2 .footer { grid-template-columns: minmax(140px,.7fr) minmax(155px,.8fr) minmax(210px,1.2fr); column-gap: 12px; }
}

@media (max-width: 760px) {
  body.cg-events-v2 .shell { padding-right: 10px; padding-left: 10px; }
  body.cg-events-v2 .events-hero { min-height: 0; padding: 38px 22px 34px; grid-template-columns: 1fr; gap: 24px; }
  body.cg-events-v2 .events-hero h1 { max-width: 12ch; font-size: clamp(35px,9vw,46px); }
  body.cg-events-v2 .events-hero > p { max-width: 47ch; padding: 18px 0 0; border-top: 1px solid rgba(183,138,67,.5); border-left: 0; font-size: 19px; }
  body.cg-events-v2 .events-market { width: calc(100% - 24px); margin-block: 34px; grid-template-columns: 1fr; gap: 20px; }
  body.cg-events-v2 .events-section-heading h2 { max-width: none; font-size: 34px; }
  body.cg-events-v2 .events-rule { margin-top: 13px; }
  body.cg-events-v2 .market-feature { min-height: 0; padding: 24px 20px; grid-template-columns: 44px minmax(0,1fr); gap: 15px; }
  body.cg-events-v2 .market-icon { width: 44px; height: 44px; }
  body.cg-events-v2 .market-icon svg { width: 24px; height: 24px; }
  body.cg-events-v2 .market-feature h3 { font-size: 26px; }
  body.cg-events-v2 .events-community { padding: 38px 24px; grid-template-columns: 1fr; gap: 30px; }
  body.cg-events-v2 .sunset-project { padding: 0 0 30px; border-right: 0; border-bottom: 1px solid rgba(103,70,97,.28); }
  body.cg-events-v2 .events-community h2 { font-size: 32px; }
  body.cg-events-v2 .events-involvement { width: calc(100% - 20px); margin: 30px auto 8px; padding: 27px 18px 23px; }
  body.cg-events-v2 .involvement-heading h2 { font-size: 29px; }
  body.cg-events-v2 .involvement-paths { margin-top: 22px; padding-top: 19px; grid-template-columns: 1fr; }
  body.cg-events-v2 .involvement-path { padding: 0 0 21px; }
  body.cg-events-v2 .involvement-path + .involvement-path { padding: 21px 0 0; border-top: 1px solid rgba(183,138,67,.45); border-left: 0; }
  body.cg-events-v2 .involvement-path .events-button,
  body.cg-events-v2 .events-button-secondary { width: 100%; min-width: 0; }
  body.cg-events-v2 .footer { display: block; width: 100%; padding: 10px 12px 8px; text-align: center; }
  body.cg-events-v2 .footer-brand { padding: 0; text-align: center; }
  body.cg-events-v2 .footer-brand::before { display: none; }
  body.cg-events-v2 .footer-brand .brand-line { max-width: none; margin-inline: auto; font-size: 17px; }
  body.cg-events-v2 .footer-brand > span { margin-top: 4px; }
  body.cg-events-v2 .footer .contact-line,
  body.cg-events-v2 .footer .legal-line { max-width: 46ch; margin: 6px auto 0; text-align: center; overflow-wrap: anywhere; }
}

@media (max-width: 480px) and (orientation: portrait) {
  body.cg-events-v2 .events-hero { padding: 31px 17px 28px; }
  body.cg-events-v2 .events-hero h1 { font-size: clamp(34px,10.5vw,42px); }
  body.cg-events-v2 .events-market { width: calc(100% - 14px); }
  body.cg-events-v2 .market-feature { padding: 20px 16px; grid-template-columns: 38px minmax(0,1fr); gap: 12px; }
  body.cg-events-v2 .market-icon { width: 38px; height: 38px; }
  body.cg-events-v2 .market-icon svg { width: 22px; height: 22px; }
  body.cg-events-v2 .market-feature h3 { overflow-wrap: anywhere; font-size: 23px; }
  body.cg-events-v2 .events-button-primary { width: 100%; }
  body.cg-events-v2 .events-community { padding: 33px 17px; }
}

@media (max-width: 599px) and (orientation: portrait) {
  body.cg-events-v2 .events-market { gap: 23px; }
  body.cg-events-v2 .market-feature {
    border-color: rgba(120,148,134,.3);
    border-top: 4px solid var(--events-gold);
    background: linear-gradient(145deg,rgba(255,250,240,.96),rgba(232,238,231,.62));
    box-shadow: 0 16px 34px -25px rgba(16,39,25,.52);
  }
  body.cg-events-v2 .market-status { display: block; margin-bottom: 3px; }
  body.cg-events-v2 .market-feature-copy > .eyebrow:not(.market-status) { display: none; }
  body.cg-events-v2 .market-schedule { margin-top: 10px; font-size: 14px; letter-spacing: .025em; }

  body.cg-events-v2 .events-community { display: block; padding: 0; border-block: 0; background: linear-gradient(135deg,#fff3dc 0%,#f8e9dc 58%,#eadde9 100%); }
  body.cg-events-v2 .events-community .sunset-project { padding: 29px 17px 23px; border: 0; background: transparent; }
  body.cg-events-v2 .sunset-project > .eyebrow { display: flex; align-items: center; gap: 10px; }
  body.cg-events-v2 .sunset-project > .eyebrow::after { width: 34px; height: 1px; background: rgba(207,99,122,.72); content: ''; }
  body.cg-events-v2 .sunset-project h2 { max-width: 15ch; font-size: clamp(32px,8.8vw,36px); line-height: 1.06; }
  body.cg-events-v2 .sunset-project > p { max-width: 51ch; line-height: 1.62; }
  body.cg-events-v2 .sunset-project-facts > div { grid-template-columns: 1fr; gap: 3px; }
  body.cg-events-v2 .local-people { padding: 23px 17px 27px; background: rgba(255,249,239,.62); }
  body.cg-events-v2 .local-people .eyebrow { display: flex; align-items: center; gap: 10px; }
  body.cg-events-v2 .local-people .eyebrow::after { width: 34px; height: 1px; background: rgba(141,91,140,.56); content: ''; }
  body.cg-events-v2 .local-people > p:not(.community-kinds) { margin-top: 11px; line-height: 1.62; }
  body.cg-events-v2 .community-kinds { display: none; }
  body.cg-events-v2 .community-kinds-grid { display: grid; margin: 12px 0 0; padding: 10px 0 0; border-top: 1px solid rgba(103,70,97,.24); grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 16px; list-style: none; }
  body.cg-events-v2 .community-kinds-grid li { position: relative; min-width: 0; padding: 4px 0 4px 10px; color: var(--sunset-ink); font-family: 'Cormorant Garamond',serif; font-size: 15px; font-style: italic; line-height: 1.28; overflow-wrap: anywhere; }
  body.cg-events-v2 .community-kinds-grid li::before { position: absolute; top: .74em; left: 0; width: 5px; height: 1px; background: rgba(207,99,122,.72); content: ''; }

  body.cg-events-v2 .events-involvement { width: 100%; margin: 0; padding: 0; border: 0; background: linear-gradient(135deg,#fff9ef 0%,#f4e6de 62%,#ede2eb 100%); }
  body.cg-events-v2 .involvement-heading { display: block; padding: 27px 17px 0; }
  body.cg-events-v2 .involvement-paths { margin: 0; padding: 0; border: 0; }
  body.cg-events-v2 .involvement-path { padding: 0; }
  body.cg-events-v2 .path-eyebrow { display: block; margin-bottom: 6px; }
  body.cg-events-v2 .business-preview { display: flex; padding: 22px 17px 24px; }
  body.cg-events-v2 .involvement-path + .question-path { width: 100%; margin: 0; padding: 21px 18px 20px; border: 0; background: var(--events-forest); }
  body.cg-events-v2 .question-path .path-eyebrow { color: var(--events-gold); }
  body.cg-events-v2 .question-path h3 { color: var(--events-paper); font-size: 24px; }
  body.cg-events-v2 .question-path p { margin-top: 7px; color: rgba(255,250,240,.82); }
  body.cg-events-v2 .question-path .events-button { min-height: 44px; margin-top: 14px; border-color: var(--events-paper); background: var(--events-paper); color: var(--events-forest); }
  body.cg-events-v2 .question-path .events-button:hover { border-color: var(--events-cream); background: var(--events-cream); color: var(--events-forest-deep); }
}

@media (max-width: 370px) and (orientation: portrait) {
  body.cg-events-v2 .community-kinds-grid { grid-template-columns: 1fr; }
}

@media (min-width: 600px) and (max-width: 899px) and (orientation: portrait) {
  body.cg-events-v2 .events-hero {
    min-height: 340px;
    padding: 42px clamp(24px,4vw,34px);
    grid-template-columns: minmax(0,59fr) minmax(210px,41fr);
    gap: clamp(22px,3.5vw,30px);
  }
  body.cg-events-v2 .events-hero h1 { max-width: 12ch; font-size: clamp(38px,6vw,48px); }
  body.cg-events-v2 .events-hero > p { max-width: 38ch; padding: 0 0 0 clamp(18px,2.8vw,25px); border-top: 0; border-left: 1px solid rgba(183,138,67,.52); font-size: clamp(18px,2.5vw,21px); line-height: 1.45; }

  body.cg-events-v2 .events-market { width: min(780px,calc(100% - 48px)); margin-block: 40px; grid-template-columns: 1fr; gap: 21px; }
  body.cg-events-v2 .events-section-heading h2 { max-width: none; font-size: clamp(36px,5vw,43px); }
  body.cg-events-v2 .market-feature { min-height: 0; padding: 28px 26px; grid-template-columns: 50px minmax(0,1fr); gap: 18px; border-color: rgba(120,148,134,.3); border-top: 4px solid var(--events-gold); background: linear-gradient(145deg,rgba(255,250,240,.96),rgba(232,238,231,.62)); box-shadow: 0 16px 34px -25px rgba(16,39,25,.52); }
  body.cg-events-v2 .market-icon { width: 50px; height: 50px; }
  body.cg-events-v2 .market-icon svg { width: 26px; height: 26px; }
  body.cg-events-v2 .market-feature h3 { font-size: clamp(28px,4vw,34px); }
  body.cg-events-v2 .market-schedule { margin-top: 10px; font-size: 14px; letter-spacing: .025em; }

  body.cg-events-v2 .events-community { display: block; padding: 0; border-block: 0; background: linear-gradient(135deg,#fff3dc 0%,#f8e9dc 58%,#eadde9 100%); }
  body.cg-events-v2 .events-community .sunset-project { padding: 34px clamp(28px,5vw,42px) 30px; border: 0; background: transparent; }
  body.cg-events-v2 .sunset-project > .eyebrow { display: flex; align-items: center; gap: 11px; }
  body.cg-events-v2 .sunset-project > .eyebrow::after { width: 40px; height: 1px; background: rgba(207,99,122,.72); content: ''; }
  body.cg-events-v2 .events-community .sunset-project h2 { max-width: 16ch; font-size: clamp(35px,5vw,40px); }
  body.cg-events-v2 .sunset-project > p { max-width: 62ch; line-height: 1.65; }
  body.cg-events-v2 .local-people { padding: 30px clamp(28px,5vw,42px) 34px; background: rgba(255,249,239,.62); }
  body.cg-events-v2 .local-people .eyebrow { display: flex; align-items: center; gap: 11px; }
  body.cg-events-v2 .local-people .eyebrow::after { width: 40px; height: 1px; background: rgba(141,91,140,.56); content: ''; }
  body.cg-events-v2 .events-community .local-people h2 { max-width: 16ch; font-size: clamp(34px,4.8vw,39px); }
  body.cg-events-v2 .local-people > p:not(.community-kinds) { max-width: 62ch; margin-top: 12px; line-height: 1.67; }
  body.cg-events-v2 .community-kinds { display: none; }
  body.cg-events-v2 .community-kinds-grid { display: grid; max-width: 640px; margin: 16px 0 0; padding: 12px 0 0; border-top: 1px solid rgba(103,70,97,.24); grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 34px; list-style: none; }
  body.cg-events-v2 .community-kinds-grid li { position: relative; min-width: 0; padding: 5px 0 5px 12px; color: var(--sunset-ink); font-family: 'Cormorant Garamond',serif; font-size: 16px; font-style: italic; line-height: 1.3; }
  body.cg-events-v2 .community-kinds-grid li::before { position: absolute; top: .8em; left: 0; width: 6px; height: 1px; background: rgba(207,99,122,.72); content: ''; }

  body.cg-events-v2 .events-involvement { width: min(780px,calc(100% - 48px)); margin: 4px auto 10px; }
  body.cg-events-v2 .involvement-heading { display: block; }
  body.cg-events-v2 .business-preview { display: flex; }
  body.cg-events-v2 .involvement-path + .question-path { width: 100%; margin: 0; padding: 25px 28px 24px; border: 0; background: var(--events-forest); }
  body.cg-events-v2 .question-path .path-eyebrow { display: block; margin-bottom: 7px; color: var(--events-gold); }
  body.cg-events-v2 .question-path h3 { color: var(--events-paper); font-size: 27px; }
  body.cg-events-v2 .question-path p { margin-top: 8px; color: rgba(255,250,240,.82); font-size: 13px; }
  body.cg-events-v2 .question-path .events-button { width: min(260px,100%); min-height: 44px; margin-top: 16px; border-color: var(--events-paper); background: var(--events-paper); color: var(--events-forest); }
  body.cg-events-v2 .question-path .events-button:hover { border-color: var(--events-cream); background: var(--events-cream); color: var(--events-forest-deep); }
}

@media (min-width: 600px) and (max-width: 950px) and (orientation: landscape) and (max-height: 520px) {
  body.cg-events-v2 .events-hero { min-height: 250px; padding: 26px 30px; grid-template-columns: minmax(0,1.1fr) minmax(250px,.9fr); gap: 30px; }
  body.cg-events-v2 .events-hero h1 { font-size: clamp(34px,5vw,43px); }
  body.cg-events-v2 .events-hero > p { padding-left: 24px; font-size: 18px; }
  body.cg-events-v2 .events-market { margin-block: 30px; }
  body.cg-events-v2 .market-feature { min-height: 190px; padding: 22px; }
  body.cg-events-v2 .events-community { padding-block: 34px; }
  body.cg-events-v2 .events-involvement { margin-top: 30px; padding-block: 24px; }
  body.cg-events-v2 .involvement-paths { margin-top: 20px; padding-top: 18px; }
}

@media (min-width: 900px) and (max-width: 1099px) and (orientation: landscape) {
  body.cg-events-v2 .events-market { position: relative; z-index: 1; margin: -24px auto 30px; }

  body.cg-events-v2 .events-community { padding: 32px clamp(34px,5vw,54px); grid-template-columns: minmax(0,38fr) minmax(0,62fr); gap: 0; }
  body.cg-events-v2 .sunset-project { padding: 2px clamp(30px,4vw,44px) 2px 0; border-right: 1px solid rgba(183,138,67,.48); }
  body.cg-events-v2 .events-community h2 { margin-top: 6px; }
  body.cg-events-v2 .events-community .sunset-project h2 { max-width: 10ch; font-size: clamp(32px,3.5vw,38px); }
  body.cg-events-v2 .sunset-project > p { max-width: 37ch; line-height: 1.58; }
  body.cg-events-v2 .sunset-project-facts > div { grid-template-columns: 1fr; gap: 3px; }
  body.cg-events-v2 .local-people { padding: 2px 0 2px clamp(34px,4.5vw,50px); }
  body.cg-events-v2 .events-community .local-people h2 { max-width: 14ch; font-size: clamp(32px,3.5vw,38px); }
  body.cg-events-v2 .local-people > p:not(.community-kinds) { max-width: 57ch; margin-top: 10px; line-height: 1.62; }
  body.cg-events-v2 .community-kinds { display: none; }
  body.cg-events-v2 .community-kinds-grid { display: grid; max-width: 610px; margin: 12px 0 0; padding: 10px 0 0; border-top: 1px solid rgba(183,138,67,.36); grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: clamp(34px,5vw,56px); list-style: none; }
  body.cg-events-v2 .community-kinds-grid li { position: relative; min-width: 0; padding: 5px 0 5px 12px; color: var(--events-forest); font-family: 'Cormorant Garamond',serif; font-size: 15.5px; font-style: italic; line-height: 1.25; }
  body.cg-events-v2 .community-kinds-grid li::before { position: absolute; top: .78em; left: 0; width: 6px; height: 1px; background: rgba(183,138,67,.7); content: ''; }

  body.cg-events-v2 .events-involvement { width: min(1000px,calc(100% - 24px)); margin: 22px auto 4px; }
  body.cg-events-v2 .involvement-heading { display: block; }
  body.cg-events-v2 .business-preview { display: flex; }
  body.cg-events-v2 .involvement-path + .question-path { display: grid; width: 100%; margin: 0; padding: 16px clamp(28px,4vw,42px); border: 0; background: var(--events-forest); place-items: center; }
  body.cg-events-v2 .question-content { display: flex; width: min(420px,100%); margin: 0; align-items: center; flex-direction: column; justify-self: center; text-align: center; }
  body.cg-events-v2 .question-content > :is(.path-eyebrow,h3,p) { width: 100%; text-align: center; }
  body.cg-events-v2 .question-path .path-eyebrow { display: block; margin-bottom: 4px; color: var(--events-gold); text-align: center; }
  body.cg-events-v2 .question-path h3 { color: var(--events-paper); font-size: 27px; text-align: center; }
  body.cg-events-v2 .question-path p { max-width: 54ch; margin: 5px auto 0; color: rgba(255,250,240,.82); font-size: 12.75px; text-align: center; }
  body.cg-events-v2 .question-path .events-button { width: min(218px,100%); min-height: 44px; margin: 12px auto 0; align-self: center; border-color: var(--events-paper); background: var(--events-paper); color: var(--events-forest); }
  body.cg-events-v2 .question-path .events-button:hover { border-color: var(--events-cream); background: var(--events-cream); color: var(--events-forest-deep); }
}

@media (min-width: 1100px) {
  body.cg-events-v2 .involvement-path + .question-path { display: grid; padding-right: clamp(24px,2.2vw,30px); padding-left: clamp(24px,2.2vw,30px); place-items: start center; }
  body.cg-events-v2 .question-content { display: flex; width: min(380px,100%); margin: 0; align-items: center; flex-direction: column; justify-self: center; text-align: center; }
  body.cg-events-v2 .question-path h3 { text-align: center; }
  body.cg-events-v2 .question-path p { max-width: 34ch; margin: 8px auto 0; text-align: center; }
  body.cg-events-v2 .question-path .events-button { width: min(220px,100%); min-height: 44px; margin: 18px auto 0; border-color: var(--events-forest); background: var(--events-forest); color: var(--events-paper); }
  body.cg-events-v2 .question-path .events-button:hover,
  body.cg-events-v2 .question-path .events-button:focus-visible { border-color: var(--events-forest-deep); background: var(--events-forest-deep); color: var(--events-paper); }
}

/* Events: owner-selected Sunset Welcome layout. The bold Sunset identity is
   contained to the proposal and interest chapters; Carlin's hero, live-market
   card, navigation, and footer retain their existing visual system. */
body.cg-events-v2 .events-community {
  display: block;
  padding: 0;
  overflow: hidden;
  background: transparent;
  border-block: 1px solid rgba(103,70,97,.22);
}
body.cg-events-v2 .events-community article { min-width: 0; }
body.cg-events-v2 .sunset-project {
  position: relative;
  padding: clamp(42px,5vw,58px) clamp(34px,6vw,72px) 0;
  overflow: hidden;
  border: 0;
  background: linear-gradient(145deg,#34374d 0%,#674661 55%,#9b526e 100%);
}
body.cg-events-v2 .sunset-orb {
  position: absolute;
  top: clamp(-132px,-9vw,-92px);
  right: clamp(-42px,3vw,46px);
  width: clamp(280px,32vw,410px);
  height: clamp(280px,32vw,410px);
  border-radius: 50%;
  background: linear-gradient(180deg,#f5bd73 0%,#df7482 60%,#8d5b8c 100%);
  opacity: .78;
}
body.cg-events-v2 .sunset-project > :not(.sunset-orb) { position: relative; z-index: 1; }
body.cg-events-v2 .sunset-project > .eyebrow { color: #ffd79d; }
body.cg-events-v2 .events-community .sunset-project h2 { max-width: 12ch; margin-top: 10px; color: var(--sunset-cream); font-size: clamp(42px,5.2vw,62px); line-height: .98; text-shadow: 0 3px 20px rgba(52,55,77,.24); }
body.cg-events-v2 .events-community .sunset-project .sunset-tagline { margin-top: 12px; color: #fff1dc; font-size: clamp(20px,2.1vw,24px); }
body.cg-events-v2 .events-community .sunset-project > p:not(.sunset-tagline) { max-width: 58ch; margin-top: 16px; color: rgba(255,249,239,.86); font-size: 13.5px; line-height: 1.68; }
body.cg-events-v2 .sunset-project-facts {
  display: grid;
  margin: clamp(28px,4vw,40px) calc(clamp(34px,6vw,72px) * -1) 0;
  padding: 0 clamp(34px,6vw,72px);
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  background: #fff3dc;
}
body.cg-events-v2 .sunset-project-facts > div { display: block; min-width: 0; padding: 17px clamp(12px,2vw,24px); border-right: 1px solid rgba(103,70,97,.22); }
body.cg-events-v2 .sunset-project-facts > div:first-child { padding-left: 0; }
body.cg-events-v2 .sunset-project-facts > div:last-child { padding-right: 0; border-right: 0; }
body.cg-events-v2 .sunset-project-facts dt { color: #963c59; font-size: 8px; letter-spacing: .13em; }
body.cg-events-v2 .sunset-project-facts dd { margin-top: 4px; color: var(--sunset-ink); font-size: 11.5px; }
body.cg-events-v2 .proposal-status { padding: 5px 8px; }

body.cg-events-v2 .local-people {
  display: grid;
  padding: clamp(28px,4.5vw,46px) clamp(34px,6vw,72px);
  grid-template-columns: minmax(180px,.7fr) minmax(0,1.3fr);
  grid-template-rows: auto auto auto;
  column-gap: clamp(34px,5vw,64px);
  background: linear-gradient(90deg,#fff9ef 0%,#f4e6de 58%,#ede2eb 100%);
}
body.cg-events-v2 .local-people > .eyebrow { grid-column: 1; grid-row: 1; color: #963c59; }
body.cg-events-v2 .events-community .local-people h2 { max-width: 13ch; margin-top: 7px; grid-column: 1; grid-row: 2 / span 2; color: var(--sunset-ink); font-size: clamp(30px,3.7vw,43px); line-height: 1.06; }
body.cg-events-v2 .events-community .local-people > p:not(.community-kinds) { max-width: 60ch; margin: 0; grid-column: 2; grid-row: 1 / span 2; align-self: end; color: #645b62; font-size: 13.5px; line-height: 1.68; }
body.cg-events-v2 .community-kinds { display: none; }
body.cg-events-v2 .community-kinds-grid { display: grid; max-width: 680px; margin: 18px 0 0; padding: 14px 0 0; grid-column: 2; grid-row: 3; border-top: 1px solid rgba(103,70,97,.24); grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: clamp(24px,4vw,48px); list-style: none; }
body.cg-events-v2 .community-kinds-grid li { position: relative; min-width: 0; padding: 5px 0 5px 12px; color: var(--sunset-ink); font-family: 'Cormorant Garamond',serif; font-size: 15.5px; font-style: italic; line-height: 1.3; }
body.cg-events-v2 .community-kinds-grid li::before { position: absolute; top: .78em; left: 0; width: 6px; height: 1px; background: rgba(207,99,122,.78); content: ''; }

body.cg-events-v2 .events-involvement {
  width: min(1000px,calc(100% - 48px));
  margin: clamp(30px,4vw,44px) auto 12px;
  padding: 0;
  overflow: hidden;
  background: linear-gradient(90deg,#fff9ef 0%,#f4e6de 62%,#ede2eb 100%);
  border-block: 1px solid rgba(103,70,97,.22);
}
body.cg-events-v2 .events-involvement::before { height: 7px; }
body.cg-events-v2 .involvement-heading { max-width: 760px; padding: 30px clamp(26px,4vw,42px) 20px; }
body.cg-events-v2 .involvement-heading h2 { font-size: clamp(30px,3.5vw,40px); }
body.cg-events-v2 .involvement-paths { display: grid; margin: 0; padding: 0; grid-template-columns: 1fr; border-top: 1px solid rgba(103,70,97,.22); }
body.cg-events-v2 .business-preview {
  display: grid;
  padding: 23px clamp(26px,4vw,42px) 25px;
  grid-template-columns: minmax(0,1fr) minmax(220px,.52fr);
  grid-template-rows: auto auto auto auto;
  column-gap: clamp(30px,5vw,58px);
  align-items: start;
}
body.cg-events-v2 .business-preview > .path-eyebrow { display: block; margin-bottom: 6px; grid-column: 1; grid-row: 1; }
body.cg-events-v2 .business-preview > h3 { grid-column: 1; grid-row: 2; }
body.cg-events-v2 .business-preview > .business-desktop-copy { grid-column: 1; grid-row: 3; }
body.cg-events-v2 .business-preview > .interest-disclaimer { grid-column: 1; grid-row: 4; }
body.cg-events-v2 .business-preview > .sunset-interest-button { width: 100%; margin: 0; grid-column: 2; grid-row: 2; align-self: end; }
body.cg-events-v2 .business-preview > .sunset-launch-note { margin-top: 8px; grid-column: 2; grid-row: 3 / span 2; }
body.cg-events-v2 .involvement-path + .question-path {
  display: grid;
  width: 100%;
  margin: 0;
  padding: 17px clamp(26px,4vw,42px);
  grid-column: 1 / -1;
  border: 0;
  background: var(--events-forest);
}
body.cg-events-v2 .question-content { display: grid; width: 100%; grid-template-columns: auto minmax(0,1fr) auto; column-gap: clamp(18px,3vw,34px); align-items: center; text-align: left; }
body.cg-events-v2 .question-content > .path-eyebrow { display: block; margin: 0; grid-column: 1; grid-row: 1 / span 2; color: var(--events-gold); }
body.cg-events-v2 .question-path h3 { margin: 0; grid-column: 2; grid-row: 1; color: var(--events-paper); font-size: 24px; text-align: left; }
body.cg-events-v2 .question-path p { max-width: none; margin: 3px 0 0; grid-column: 2; grid-row: 2; color: rgba(255,250,240,.82); text-align: left; }
body.cg-events-v2 .question-path .events-button { width: min(200px,100%); min-height: 44px; margin: 0; grid-column: 3; grid-row: 1 / span 2; border-color: var(--events-paper); background: var(--events-paper); color: var(--events-forest); }
body.cg-events-v2 .question-path .events-button:hover,
body.cg-events-v2 .question-path .events-button:focus-visible { border-color: var(--events-cream); background: var(--events-cream); color: var(--events-forest-deep); }

@media (max-width: 760px) {
  body.cg-events-v2 .events-community .sunset-project { padding: 33px 22px 0; background: linear-gradient(145deg,#34374d 0%,#674661 55%,#9b526e 100%); }
  body.cg-events-v2 .sunset-orb { top: -80px; right: -116px; width: 280px; height: 280px; opacity: .6; }
  body.cg-events-v2 .sunset-project > .eyebrow { max-width: 27ch; color: #ffd79d; }
  body.cg-events-v2 .events-community .sunset-project h2 { max-width: 8ch; font-size: clamp(38px,11vw,46px); }
  body.cg-events-v2 .events-community .sunset-project > p:not(.sunset-tagline) { max-width: 42ch; font-size: 13px; line-height: 1.62; }
  body.cg-events-v2 .sunset-project-facts { margin: 28px -22px 0; padding: 0 22px; grid-template-columns: 1fr; }
  body.cg-events-v2 .sunset-project-facts > div { padding: 13px 0; border-right: 0; border-bottom: 1px solid rgba(103,70,97,.2); }
  body.cg-events-v2 .sunset-project-facts > div:last-child { border-bottom: 0; }
  body.cg-events-v2 .local-people { padding: 26px 22px 30px; grid-template-columns: 1fr; grid-template-rows: auto; row-gap: 0; }
  body.cg-events-v2 .local-people > .eyebrow,
  body.cg-events-v2 .events-community .local-people h2,
  body.cg-events-v2 .events-community .local-people > p:not(.community-kinds),
  body.cg-events-v2 .community-kinds-grid { grid-column: 1; grid-row: auto; }
  body.cg-events-v2 .events-community .local-people h2 { max-width: 13ch; margin-top: 7px; font-size: clamp(32px,9vw,38px); }
  body.cg-events-v2 .events-community .local-people > p:not(.community-kinds) { margin-top: 13px; }
  body.cg-events-v2 .community-kinds-grid { margin-top: 14px; column-gap: 16px; }

  body.cg-events-v2 .events-involvement { width: 100%; margin: 0; }
  body.cg-events-v2 .involvement-heading { padding: 27px 20px 19px; }
  body.cg-events-v2 .involvement-heading h2 { font-size: 31px; }
  body.cg-events-v2 .business-preview { padding: 22px 20px 25px; grid-template-columns: 1fr; grid-template-rows: auto; }
  body.cg-events-v2 .business-preview > .path-eyebrow,
  body.cg-events-v2 .business-preview > h3,
  body.cg-events-v2 .business-preview > .business-desktop-copy,
  body.cg-events-v2 .business-preview > .interest-disclaimer,
  body.cg-events-v2 .business-preview > .sunset-interest-button,
  body.cg-events-v2 .business-preview > .sunset-launch-note { grid-column: 1; grid-row: auto; }
  body.cg-events-v2 .business-preview > .sunset-interest-button { width: 100%; margin-top: 18px; }
  body.cg-events-v2 .involvement-path + .question-path { padding: 21px 20px 22px; }
  body.cg-events-v2 .question-content { grid-template-columns: 1fr; text-align: left; }
  body.cg-events-v2 .question-content > .path-eyebrow,
  body.cg-events-v2 .question-path h3,
  body.cg-events-v2 .question-path p,
  body.cg-events-v2 .question-path .events-button { width: 100%; grid-column: 1; grid-row: auto; text-align: left; }
  body.cg-events-v2 .question-path .events-button { margin-top: 14px; justify-self: stretch; text-align: center; }
}

@media (max-width: 370px) {
  body.cg-events-v2 .community-kinds-grid { grid-template-columns: 1fr; }
}
