:root {
  --green:#123d2b;
  --orange:#f45b35;
  --cream:#fff8ed;
  --ink:#424b43}
* {
  box-sizing:border-box}
html {
  scroll-behavior:smooth}
body {
  margin:0;
  background:var(--cream);
  color:var(--green);
  font-family:Arial,Helvetica,sans-serif}
a {
  color:inherit}
header {
  max-width:1440px;
  margin:auto;
  padding:35px 6%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px}
.logo {
  display:block;
  width:310px;
  height:auto}
.launch {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase}
.dot {
  width:7px;
  height:7px;
  background:var(--orange);
  border-radius:50%}
main {
  overflow:hidden}
.hero {
  max-width:1440px;
  margin:auto;
  display:grid;
  grid-template-columns:1.08fr 1fr;
  min-height:660px;
  padding:20px 0 65px 6%;
  align-items:center;
  gap:20px}
.copy {
  position:relative;
  z-index:2}
.eyebrow {
  font-size:11px;
  letter-spacing:2px;
  font-weight:700;
  text-transform:uppercase;
  margin:0 0 26px;
  display:flex;
  align-items:center;
  gap:13px}
.eyebrow:before {
  content:'';
  height:1px;
  width:32px;
  background:var(--orange)}
h1 {
  font-size:clamp(60px,6.8vw,102px);
  line-height:.97;
  letter-spacing:-6px;
  margin:0;
  font-weight:800}
h1 span {
  color:var(--orange)}
.intro {
  font-size:17px;
  line-height:1.7;
  max-width:390px;
  color:var(--ink);
  margin:30px 0}
.cta {
  display:inline-flex;
  gap:27px;
  align-items:center;
  border-radius:999px;
  padding:19px 26px;
  text-decoration:none;
  background:var(--green);
  color:var(--cream);
  font-size:14px;
  font-weight:700;
  transition:background .2s,transform .2s}
.cta:hover {
  background:#235b40;
  transform:translateY(-2px)}
a:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:5px}
.note {
  font-size:11px;
  letter-spacing:1px;
  margin-top:23px;
  color:#6b7269}
.visual {
  height:575px;
  position:relative;
  margin-right:-90px}
.photo {
  height:100%;
  width:100%;
  border-radius:45% 0 0 45%;
  overflow:hidden;
  position:relative;
  background:#f9f1e4}
.photo img {
  height:100%;
  width:100%;
  max-width:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.stamp {
  position:absolute;
  left:6px;
  top:15px;
  background:var(--orange);
  color:var(--cream);
  height:115px;
  width:115px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-weight:700;
  line-height:1.3;
  font-size:14px;
  transform:rotate(-12deg);
  border:7px solid var(--cream)}
.caption {
  position:absolute;
  bottom:19px;
  left:25px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px 20px;
  background:var(--cream);
  border-radius:7px;
  box-shadow:0 4px 25px #123d2b0d}
.caption small {
  font-size:10px;
  letter-spacing:1.5px;
  display:block;
  margin-bottom:5px}
.caption strong {
  font-size:14px}
.caption b {
  font-size:23px;
  color:var(--orange)}
.strip {
  border-top:1px solid #123d2b25;
  border-bottom:1px solid #123d2b25;
  display:flex;
  justify-content:space-evenly;
  gap:18px;
  padding:22px 5%;
  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase}
.strip span {
  color:var(--orange)}
.about {
  max-width:1280px;
  margin:auto;
  padding:85px 6% 90px;
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:90px}
.about h2 {
  font-size:clamp(35px,4vw,51px);
  line-height:1.07;
  letter-spacing:-2px;
  margin:0 0 22px}
.about p {
  font-size:15px;
  line-height:1.8;
  color:var(--ink);
  max-width:420px;
  margin:0}
.details {
  border-top:1px solid #123d2b30}
.detail {
  padding:22px 0;
  border-bottom:1px solid #123d2b30;
  display:grid;
  grid-template-columns:40px 1fr;
  gap:15px}
.number {
  color:var(--orange);
  font-size:12px;
  padding-top:4px}
.detail h3 {
  margin:0 0 7px;
  font-size:19px;
  letter-spacing:-.4px}
.detail p {
  font-size:13px;
  line-height:1.6}
.last {
  background:var(--green);
  color:var(--cream);
  padding:55px 6%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px}
.last h2 {
  font-size:36px;
  letter-spacing:-1px;
  margin:0}
.last p {
  font-size:14px;
  margin:10px 0 0;
  color:#d1ded3}
.last .soon {
  font-size:12px;
  letter-spacing:2px;
  border:1px solid #fff8ed55;
  padding:14px 19px;
  border-radius:99px;
  white-space:nowrap}
footer {
  padding:25px 6%;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:11px;
  color:#677166}
footer strong {
  color:var(--green)}
@media(min-width:1600px) {
  .hero {
  padding-left:86px}
}
@media(max-width:900px) {
  header {
  padding:25px 6%}
.logo {
  width:260px}
.hero {
  min-height:auto;
  padding:25px 6% 50px;
  grid-template-columns:1fr;
  gap:40px}
h1 {
  font-size:clamp(60px,11vw,90px);
  letter-spacing:-4px}
.intro {
  max-width:500px}
.visual {
  height:440px;
  margin-right:-7%;
  margin-left:18%;
  }
.photo {
  border-radius:45% 0 0 45%}
.about {
  gap:40px;
  padding-top:60px}
.strip {
  font-size:9px;
  letter-spacing:1px}
.caption {
  left:0}
}
@media(max-width:560px) {
  header {
  padding:25px 6%}
.logo {
  width:215px}
.launch {
  font-size:9px;
  letter-spacing:1px;
  gap:6px}
.hero {
  padding-top:25px;
  gap:30px}
.eyebrow {
  font-size:9px;
  letter-spacing:1.5px;
  margin-bottom:22px}
h1 {
  font-size:clamp(48px,12vw,63px);
  letter-spacing:-3px}
.intro {
  font-size:15px;
  margin:25px 0}
.cta {
  padding:17px 22px}
.visual {
  height:335px;
  margin-left:4%}
.stamp {
  height:88px;
  width:88px;
  font-size:11px;
  top:0}
.caption {
  bottom:8px;
  padding:12px 15px}
.strip {
  flex-wrap:wrap;
  line-height:1.6;
  column-gap:16px;
  row-gap:5px;
  padding:16px}
.about {
  grid-template-columns:1fr;
  gap:35px;
  padding:50px 6%}
.about h2 {
  font-size:39px}
.last {
  padding:35px 6%;
  display:block}
.last h2 {
  font-size:30px}
.last .soon {
  display:inline-block;
  margin-top:22px}
footer {
  flex-direction:column;
  gap:9px}
}
@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto}
.cta {
  transition:none}
}

/* Full-width white background for the introduction. */
.cooking-background { background: #ffffff; }

/* An open, editorial contact section with understated underline fields. */
.contact-section { background:#fff8ed; padding:84px 6% 72px; }
.contact-inner { max-width:1126px; margin:0 auto; display:grid; grid-template-columns:1fr 1.15fr; gap:80px; }
.contact-copy h2 { font-size:clamp(36px,4vw,53px); line-height:1.05; letter-spacing:-2px; margin:0 0 24px; }
.contact-copy > p:not(.eyebrow) { color:#424b43; font-size:15px; line-height:1.8; max-width:330px; }
.contact-email { display:inline-flex; align-items:center; gap:20px; color:#123d2b; font-size:18px; font-weight:700; text-decoration:none; border-bottom:1px solid #123d2b40; padding:10px 0; margin-top:12px; }
.contact-email span { color:#f45b35; }
.field-pair { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.contact-field label { display:block; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; font-weight:700; margin-bottom:11px; }
.contact-field input,.contact-field textarea { border:0; border-bottom:1px solid #123d2b65; border-radius:0; background:transparent; font:16px/1.5 Arial,Helvetica,sans-serif; color:#123d2b; width:100%; padding:10px 0 16px; outline:none; transition:border-color .2s; }
.contact-field input::placeholder,.contact-field textarea::placeholder { color:#6b7269; opacity:1; font-size:14px; }
.contact-field input:focus,.contact-field textarea:focus { border-bottom:2px solid #f45b35; padding-bottom:15px; }
.message-field { margin-top:35px; }
.contact-field textarea { resize:vertical; min-height:110px; }
.contact-privacy { font-size:11px; color:#626b62; line-height:1.6; margin:18px 0 24px; }
.send-button { border:0; border-radius:99px; display:inline-flex; align-items:center; gap:36px; padding:18px 25px; background:#123d2b; color:#fff8ed; font:700 14px Arial,Helvetica,sans-serif; cursor:pointer; }
.send-button:hover { background:#235b40; }
.send-button:focus-visible { outline:3px solid #f45b35; outline-offset:5px; }
.send-button:disabled { opacity:.65; cursor:wait; }
.form-status { min-height:20px; font-size:13px; line-height:1.6; margin-top:18px; }
.form-status.error { color:#a12b16; }
.form-status.success { color:#123d2b; }
.form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
footer a { text-decoration:none; }
footer a:hover { text-decoration:underline; }
@media(max-width:900px) { .contact-inner { gap:40px; } }
@media(max-width:650px) { .contact-section { padding:54px 6% 40px; } .contact-inner { grid-template-columns:1fr; gap:36px; } .field-pair { grid-template-columns:1fr; gap:27px; } .contact-email { font-size:17px; } }

/* Food slideshow: gentle dissolves, restrained zoom, accessible controls. */
.food-carousel { position:relative; width:100%; height:100%; }
.food-slide { position:absolute; inset:0; opacity:0; transition:opacity 1s ease; }
.food-slide.is-active { opacity:1; z-index:1; }
.food-slide img { animation:food-drift 7s ease-out both; animation-play-state:paused; }
.food-carousel[data-playing="true"] .food-slide.is-active img { animation-play-state:running; }
.food-slide:not(.is-active) img { animation:none; }
@keyframes food-drift { from { transform:scale(1); } to { transform:scale(1.045); } }
.carousel-toggle { position:absolute; top:25px; right:110px; z-index:3; border:1px solid #123d2b30; border-radius:99px; background:#fff8edf2; color:#123d2b; font:700 11px Arial,sans-serif; padding:12px 18px; cursor:pointer; }
.carousel-controls { position:absolute; bottom:-25px; right:110px; z-index:3; display:flex; gap:7px; align-items:center; background:#fff8ed; border:1px solid #123d2b20; border-radius:99px; padding:4px 7px; }
.carousel-arrow { border:0; background:transparent; color:#123d2b; width:36px; height:36px; font-size:20px; cursor:pointer; }
.carousel-dots { display:flex; align-items:center; }
.slide-dot { width:28px; height:36px; padding:0; border:0; background:transparent; position:relative; cursor:pointer; }
.slide-dot:after { content:''; width:6px; height:6px; border-radius:50%; background:#123d2b40; position:absolute; left:11px; top:15px; transition:background .2s,transform .2s; }
.slide-dot.is-active:after { background:#f45b35; transform:scale(1.35); }
.food-carousel button:focus-visible { outline:2px solid #123d2b; outline-offset:2px; border-radius:99px; }
.visual > .caption { z-index:4; bottom:30px; pointer-events:none; }
.visual > .stamp { z-index:4; pointer-events:none; }
@media(max-width:900px) { .carousel-controls { right:40px; } .carousel-toggle { right:40px; } .visual { margin-bottom:25px; } }
@media(max-width:560px) { .carousel-controls { right:32px; } .carousel-toggle { right:32px; top:15px; } .caption strong { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .food-slide { transition:none; } .food-slide img { animation:none !important; } .slide-dot:after { transition:none; } }
