:root {
  --black: #101010;
  --cream: #f7f0df;
  --yellow: #f5c833;
  --green: #1f7a3f;
  --red: #b8202b;
  --white: #ffffff;
  --muted: #6f6a60;
  --radius: 24px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "DM Sans", sans-serif;
  color: var(--black);
  background: var(--cream);
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, a { transition: .2s ease; }
.section-pad { padding: 84px max(24px, calc((100vw - var(--max))/2)); }
.topbar {
  background: var(--green);
  color: var(--white);
  text-align: center;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px max(24px, calc((100vw - var(--max))/2));
  background: rgba(247, 240, 223, .94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(16,16,16,.08);
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark {
  width: 46px; height: 46px; border-radius: 50%; display:grid; place-items:center;
  background: var(--black); color: var(--yellow); font-weight: 800;
}
.brand-copy { display:flex; flex-direction:column; line-height:1.1; }
.brand-copy strong { font-size: 17px; }
.brand-copy small { color: var(--muted); margin-top:4px; }
.site-nav { display:flex; align-items:center; gap:28px; font-weight:700; }
.site-nav a:hover { opacity:.65; }
.nav-cta { background:var(--black); color:var(--white); padding:11px 16px; border-radius:999px; }
.nav-toggle { display:none; border:1px solid #222; background:transparent; border-radius:999px; padding:8px 12px; }

.hero { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; min-height:720px; }
.eyebrow { text-transform:uppercase; letter-spacing:.15em; font-size:12px; font-weight:800; color:var(--green); }
h1,h2,h3 { margin-top:0; line-height:.98; }
h1,h2 { font-family:"Bebas Neue", sans-serif; letter-spacing:.01em; }
h1 { font-size: clamp(64px, 8vw, 122px); margin-bottom:24px; }
h1 span { color:var(--red); }
h2 { font-size: clamp(48px, 6vw, 78px); margin-bottom:18px; }
h3 { font-size:26px; margin-bottom:10px; }
.hero-lead { max-width:630px; font-size:19px; color:#403c35; }
.hero-actions { display:flex; gap:12px; margin:30px 0 24px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; justify-content:center; padding:14px 20px; border-radius:999px; font-weight:800; }
.btn-primary { background:var(--yellow); }
.btn-secondary { border:2px solid var(--black); }
.btn-dark { background:var(--black); color:var(--white); }
.btn-light { background:var(--white); color:var(--black); }
.btn-outline-light { border:2px solid rgba(255,255,255,.8); color:var(--white); }
.btn:hover { transform:translateY(-2px); }
.tagline { font-style:italic; font-weight:700; }
.hero-card { position:relative; }
.food-photo-main { min-height:560px; border-radius:42px 42px 140px 42px; }
.food-photo, .menu-photo, .product-image {
  background:
    linear-gradient(145deg, rgba(245,200,51,.45), rgba(184,32,43,.25)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.25) 0 10px, transparent 10px 20px),
    #d8c5a3;
  display:grid; place-items:center; color:#5f4d32; font-weight:800;
}
.photo-label { background:rgba(255,255,255,.8); padding:10px 14px; border-radius:999px; font-size:13px; }
.hero-badge {
  position:absolute; left:-24px; bottom:38px; background:var(--black); color:var(--white);
  width:150px; height:150px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
}
.hero-badge strong { color:var(--yellow); font-size:20px; }
.marquee { overflow:hidden; white-space:nowrap; background:var(--yellow); padding:14px 0; font-weight:900; letter-spacing:.08em; }
.marquee div { animation: marquee 18s linear infinite; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

.menu-section { background:var(--white); }
.section-heading { max-width:760px; margin-bottom:40px; }
.section-heading p:last-child { color:var(--muted); }
.menu-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.menu-card { background:#faf8f2; border:1px solid rgba(16,16,16,.08); border-radius:var(--radius); overflow:hidden; }
.menu-photo { 
  height:600px;
  overflow: hidden; 
  position; relative;
  }

.menu-card-body { padding:24px; }
.pill { display:inline-block; background:var(--yellow); font-size:11px; font-weight:800; padding:5px 9px; border-radius:999px; margin-bottom:12px; text-transform:uppercase; letter-spacing:.08em; }
.price-row { display:flex; align-items:center; justify-content:space-between; margin-top:20px; }
.price-row strong { font-size:24px; }
.price-row a { font-weight:800; color:var(--green); }

.pastry-section { display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:start; background:var(--yellow); }
.pastry-copy { position:sticky; top:110px; }
.pastry-copy p { max-width:540px; }
.pastry-points { display:flex; gap:10px; flex-wrap:wrap; margin:24px 0; }
.pastry-points span { background:rgba(255,255,255,.65); padding:8px 12px; border-radius:999px; font-weight:700; font-size:13px; }
.product-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.product-card { background:var(--white); padding:16px; border-radius:24px; }
.product-image { height:240px; border-radius:16px; margin-bottom:18px; }
.product-card button { width:100%; border:0; background:var(--black); color:var(--white); padding:12px; border-radius:999px; font-weight:800; cursor:pointer; }

.story-section { display:grid; grid-template-columns:1.2fr .8fr; gap:30px; background:var(--green); color:var(--white); }
.story-card { max-width:700px; }
.story-card .eyebrow { color:var(--yellow); }
.story-stats { display:grid; gap:14px; }
.story-stats div { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); padding:24px; border-radius:20px; }
.story-stats strong { display:block; font-family:"Bebas Neue"; font-size:48px; color:var(--yellow); }

.find-section { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; background:var(--cream); }
.location-card { display:flex; gap:14px; background:var(--white); padding:28px; border-radius:24px; box-shadow:0 18px 50px rgba(16,16,16,.08); }
.status-dot { width:14px; height:14px; border-radius:50%; background:var(--green); margin-top:8px; box-shadow:0 0 0 6px rgba(31,122,63,.12); }
.location-card strong { display:block; font-size:28px; }

.order-banner { background:var(--red); color:var(--white); display:flex; justify-content:space-between; align-items:center; gap:24px; }
.order-banner .eyebrow { color:var(--yellow); }
.order-actions { display:flex; gap:12px; flex-wrap:wrap; }
.site-footer { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; background:var(--black); color:var(--white); }
.site-footer a { display:block; color:#d7d2c7; margin:7px 0; }
.footer-brand strong { font-family:"Bebas Neue"; font-size:36px; }
.copyright { grid-column:1/-1; color:#928b81; border-top:1px solid #2b2b2b; padding-top:24px; margin-top:10px; font-size:13px; }

@media (max-width: 900px) {
  .nav-toggle { display:block; }
  .site-nav { display:none; position:absolute; top:74px; left:16px; right:16px; padding:18px; background:var(--cream); border:1px solid rgba(16,16,16,.1); border-radius:20px; flex-direction:column; align-items:stretch; }
  .site-nav.open { display:flex; }
  .hero, .pastry-section, .story-section, .find-section { grid-template-columns:1fr; }
  .hero { min-height:auto; gap:35px; }
  .food-photo-main { min-height:420px; }
  .hero-badge { left:16px; width:120px; height:120px; }
  .menu-grid { grid-template-columns:1fr; }
  .product-grid { grid-template-columns:1fr; }
  .pastry-copy { position:static; }
  .order-banner { flex-direction:column; align-items:flex-start; }
  .site-footer { grid-template-columns:1fr 1fr; }

}

@media (max-width: 580px) {
  .section-pad { padding:58px 20px; }
  .brand-copy small { display:none; }
  .hero-actions, .order-actions { width:100%; }
  .btn { width:100%; }
  .site-footer { grid-template-columns:1fr; }
  .copyright { grid-column:1; }
}
  .photo-label { 
  background: red;
  padding:0px;
  overflow: hidden;
  object-fit:cover;
  }

/* Single menu image and ordering CTA */
.menu-poster-wrap { max-width: 740px; margin: 0 auto; text-align: center; }
.menu-poster { width: 100%; height: auto; border-radius: 22px; box-shadow: 0 18px 48px rgba(16,16,16,.12); }
.menu-note { color: var(--muted); margin: 22px 0 18px; }
.menu-order-btn { min-width: 230px; }

/* Catering inquiry page */
.catering-intro {display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;background:var(--cream)}
.catering-intro h1 {font-size:clamp(56px,7vw,104px)}
.catering-intro h1 span {color:var(--red)}
.catering-intro-photo img {width:100%;height:450px;object-fit:cover;border-radius:42px 42px 110px 42px}
.catering-tags {display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.catering-tags span {border:1px solid rgba(0,0,0,.2);border-radius:999px;padding:7px 12px;font-weight:700;font-size:13px}
.catering-form-section {background:var(--white);display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;align-items:start}
.catering-form-intro p:last-child {color:var(--muted)}
.catering-form {padding:34px;border-radius:var(--radius);background:#faf8f2;border:1px solid #e9e0d0}
.form-grid {display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-wide {grid-column:1 / -1}
.form-field label {display:block;font-size:14px;font-weight:700;margin-bottom:7px}
.form-field input,.form-field textarea,.form-field select {width:100%;min-width:0;border:1px solid #cfc7b8;border-radius:12px;padding:13px 14px;background:#fff;color:var(--black);font:inherit}
.form-field textarea {resize:vertical}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus {outline:2px solid var(--green);outline-offset:2px}
.catering-submit {margin-top:24px;border:0;cursor:pointer;font:inherit}
.form-fine-print {font-size:12px;color:var(--muted);margin-bottom:0}
.visually-hidden {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.thanks-section {min-height:60vh;display:grid;place-items:center}
.thanks-card {max-width:650px;text-align:center}
.thanks-card p:not(.eyebrow) {font-size:19px;margin-bottom:30px}
@media (max-width:900px){.catering-intro,.catering-form-section{grid-template-columns:1fr;gap:32px}.catering-intro-photo img{height:340px}}
@media (max-width:550px){.form-grid{grid-template-columns:1fr}.catering-form{padding:20px}.catering-intro-photo img{height:260px}}

/* Christmas cake inquiries */
.christmas-feature {background:#fffaf0;border-radius:26px;padding:clamp(24px,4vw,55px);box-shadow:0 14px 36px rgba(0,0,0,.08)}
.christmas-feature h3 {font-size:clamp(28px,3vw,42px);line-height:1.12;margin:14px 0}
.christmas-feature p {max-width:480px}
.christmas-feature .btn {margin-top:16px}

/* Simplified DoorDash-first site */
.delivery-preview{max-width:980px;margin:36px auto 0;background:#fff;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:28px;box-shadow:0 15px 45px rgba(0,0,0,.11)}
.delivery-preview>img{width:100%;height:380px;object-fit:cover}.delivery-preview-copy{padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px}.delivery-preview-copy h3{font-family:"Bebas Neue",sans-serif;font-size:clamp(32px,4vw,52px);margin:0}.delivery-preview-copy p{margin:0}.delivery-preview-copy small{color:var(--muted)}
.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:45px;background:#f6eee0}.quick-links>div{padding:20px}.text-link{color:var(--red);font-weight:700;text-decoration:underline;text-underline-offset:5px}
.social-intro{text-align:center;background:var(--cream)}.social-intro h1{font-size:clamp(56px,8vw,100px)}.social-intro h1 span{color:var(--red)}.social-intro p:last-child{max-width:680px;margin:auto}.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.social-tile{background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.08)}.social-tile img{width:100%;height:290px;object-fit:cover}.social-tile>div{padding:30px}.social-tile h2{font-size:clamp(26px,3vw,42px);overflow-wrap:anywhere}.social-disclaimer{text-align:center;padding:0 20px 55px;color:var(--muted)}
@media(max-width:800px){.delivery-preview,.quick-links,.social-grid{grid-template-columns:1fr}.delivery-preview>img{height:270px}.social-tile img{height:230px}}


/* Left-align the complete horizontal logo on every page. */
.site-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 16px;
}
.site-header .brand {
  grid-column: 1;
  justify-self: start;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
}
.site-header .brand-logo {
  display: block;
  width: clamp(165px, 17vw, 210px);
  height: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  border-radius: 12px;
  transform: none;
}
.site-header .site-nav { grid-column: 2; justify-self: end; gap: clamp(8px, 1.35vw, 22px); font-size: 13px; white-space: nowrap; }
.site-header .nav-toggle { grid-column: 2; justify-self: end; }
@media (max-width: 1250px) {
  .site-header .nav-toggle { display: block; }
  .site-header .site-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 16px;
    right: 16px;
    padding: 18px;
    background: var(--cream);
    border: 1px solid rgba(16,16,16,.1);
    border-radius: 20px;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    white-space: normal;
  }
  .site-header .site-nav.open { display: flex; }
}
@media (max-width: 580px) {
  .site-header { padding: 12px 18px; gap: 8px; }
  .site-header .brand-logo { width: clamp(145px, 48vw, 195px); }
}
