.lasanada-page {
  --la-black: #191919;
  --la-ink: #303030;
  --la-muted: #707070;
  --la-paper: #f7f7f5;
  --la-white: #ffffff;
  --la-line: #e2e2e0;
  min-height: 100vh;
  margin: 0;
  color: var(--la-ink);
  background: var(--la-paper);
  font-family: "DM Sans", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

.lasanada-page *,
.lasanada-page *::before,
.lasanada-page *::after { box-sizing: border-box; }
.lasanada-page a { color: inherit; text-decoration: none; }
.lasanada-page button,
.lasanada-page select { font: inherit; }
.lasanada-page [hidden] { display: none !important; }
.lasanada-page html { scroll-behavior: smooth; }
.lasanada-page img { max-width: 100%; }

.lasanada-ribbon {
  min-height: 31px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 6px 12px;
  color: #ffffff;
  background: var(--la-black);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .2em;
}

.lasanada-ribbon span { color: #c9c9c9; }

.lasanada-header,
.lasanada-footer {
  width: min(100% - 48px, 1240px);
  min-height: 83px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.lasanada-header { border-bottom: 1px solid rgba(32, 27, 23, .1); }
.lasanada-brand { display: inline-flex; align-items: center; gap: 10px; }
.lasanada-brand img { width: 43px; height: 43px; border-radius: 50%; object-fit: cover; }
.lasanada-brand > span { font: 700 20px "Playfair Display", Georgia, serif; letter-spacing: .09em; }
.lasanada-brand small { display: block; margin-top: 3px; font: 600 7px "DM Sans", sans-serif; letter-spacing: .18em; }
.organization-link { color: #4c4c4c; font-size: 10px; font-weight: 600; transition: opacity .2s ease; }
.organization-link:hover { opacity: .63; }

.lasanada-hero {
  position: relative;
  min-height: 610px;
  padding: 65px max(6%, calc((100% - 1150px) / 2)) 70px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, .75fr);
  align-items: center;
  gap: clamp(36px, 7vw, 100px);
  overflow: hidden;
  background:
    radial-gradient(ellipse at 75% 42%, rgba(220, 220, 220, .5), transparent 34%),
    linear-gradient(125deg, #f9f9f8, #eeeeec);
}

.lasanada-hero::before,
.lasanada-hero::after {
  position: absolute;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(32, 27, 23, .08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.lasanada-hero::before { top: -260px; left: -150px; }
.lasanada-hero::after { right: -200px; bottom: -240px; width: 420px; height: 420px; }
.hero-copy { position: relative; z-index: 1; animation: la-rise .7s both; }
.lasanada-page .eyebrow { margin: 0 0 18px; color: #5a5a5a; font-size: 9px; font-weight: 700; letter-spacing: .2em; }
.hero-copy .eyebrow { display: flex; align-items: center; gap: 9px; }
.hero-copy .eyebrow span { width: 24px; height: 1px; background: var(--la-black); }
.hero-copy h1,
.section-heading h2,
.order-copy h2,
.flyer-section h2 { margin: 0; font: 500 clamp(43px, 5.7vw, 72px)/1.02 "Playfair Display", Georgia, serif; letter-spacing: -.05em; }
.hero-copy h1 em,
.section-heading h2 em,
.order-copy h2 em,
.flyer-section h2 em { color: #666666; font-weight: 500; }
.hero-description { max-width: 470px; margin: 20px 0 25px; color: #666666; font-size: 13px; line-height: 1.9; }
.hero-button {
  min-height: 48px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  gap: 27px;
  border-radius: 999px;
  color: #ffffff !important;
  background: var(--la-black);
  box-shadow: 0 8px 18px rgba(32, 27, 23, .14);
  font-size: 11px;
  font-weight: 600;
  transition: transform .2s ease, box-shadow .2s ease;
}

.hero-button:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(32, 27, 23, .2); }
.event-date { display: flex; align-items: center; gap: 11px; margin-top: 30px; color: #737373; font-size: 9px; }
.event-date time { display: block; margin-top: 4px; color: var(--la-ink); font-size: 12px; font-weight: 700; }
.date-icon { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid #cccccc; border-radius: 50%; color: #444444; background: rgba(255,255,255,.7); font: 600 15px "Playfair Display", Georgia, serif; }

.flyer-preview {
  position: relative;
  z-index: 1;
  width: min(100%, 355px);
  margin: 0 auto;
  padding: 10px 10px 0;
  border: 1px solid #e5e5e5;
  background: #ffffff;
  box-shadow: 0 23px 65px rgba(39, 31, 23, .2);
  transform: rotate(2deg);
  animation: la-float 6s ease-in-out infinite;
}

.flyer-preview img { width: 100%; display: block; }
.flyer-preview figcaption { min-height: 40px; display: flex; align-items: center; justify-content: space-between; padding-inline: 8px; color: #666666; font: italic 12px "Playfair Display", Georgia, serif; }
.flyer-preview figcaption span { font-size: 18px; }
.flyer-tape { position: absolute; z-index: 2; top: -10px; left: 39%; width: 83px; height: 20px; background: rgba(220, 207, 183, .74); transform: rotate(-7deg); }
.hero-flower { position: absolute; color: #555555; opacity: .28; animation: la-float 5s ease-in-out infinite; }
.flower-left { bottom: 12%; left: 4%; font-size: 27px; }
.flower-right { top: 13%; right: 5%; font-size: 20px; animation-delay: -2s; }

.menu-section {
  width: min(100% - 48px, 1160px);
  margin: auto;
  padding: 82px 0 92px;
}

.section-heading { margin-bottom: 35px; text-align: center; }
.section-heading .eyebrow { margin-bottom: 12px; }
.section-heading h2,
.order-copy h2,
.flyer-section h2 { font-size: clamp(34px, 4vw, 49px); }
.section-heading > p:last-child { margin: 12px 0 0; color: var(--la-muted); font-size: 12px; }
.menu-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.menu-card { min-height: 260px; padding: 21px 19px 17px; display: flex; flex-direction: column; border: 1px solid var(--la-line); border-radius: 17px; background: var(--la-white); box-shadow: 0 7px 22px rgba(39, 31, 23, .04); transition: transform .23s ease, box-shadow .23s ease, border-color .23s ease; }
.menu-card:hover { transform: translateY(-5px); border-color: #a6a6a6; box-shadow: 0 16px 32px rgba(39, 31, 23, .1); }
.menu-card-featured { color: #ffffff; background: var(--la-black); }
.menu-index { color: #737373; font-size: 8px; font-weight: 700; letter-spacing: .16em; }
.menu-card-featured .menu-index { color: #d4d4d4; }
.menu-art { margin: 19px 0 13px; color: #555555; font-size: 23px; }
.menu-card-featured .menu-art { color: #e2e2e2; }
.menu-card h3 { margin: 0 0 8px; font: 500 18px/1.2 "Playfair Display", Georgia, serif; }
.menu-card > p { margin: 0; color: var(--la-muted); font-size: 10px; line-height: 1.7; }
.menu-card-featured > p { color: #d0d0d0; }
.menu-card-bottom { margin-top: auto; padding-top: 19px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid var(--la-line); }
.menu-card-featured .menu-card-bottom { border-color: rgba(255,255,255,.2); }
.menu-card-bottom strong { font: 600 23px "Playfair Display", Georgia, serif; }
.menu-card-bottom a { color: #555555; font-size: 9px; font-weight: 700; }
.menu-card-bottom a span { padding-left: 4px; }
.menu-card-featured .menu-card-bottom a { color: #ffffff; }

.order-section {
  padding: 75px max(6%, calc((100% - 1050px) / 2));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(290px, .75fr);
  align-items: center;
  gap: clamp(35px, 7vw, 85px);
  color: #ffffff;
  background: #222222;
}

.order-section .eyebrow { color: #cccccc; }
.order-copy h2 { line-height: 1.13; }
.order-copy h2 em { color: #d3d3d3; }
.order-copy > p:last-child { max-width: 420px; margin: 17px 0 0; color: #c9c9c9; font-size: 12px; line-height: 1.8; }
.order-card { padding: 23px; border: 1px solid rgba(255,255,255,.13); border-radius: 17px; background: rgba(255,255,255,.07); }
.order-card label { display: block; margin: 0 0 7px; color: #e4e4e4; font-size: 10px; font-weight: 600; }
.order-card select { width: 100%; min-height: 43px; margin: 0 0 16px; padding: 0 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 9px; outline: 0; color: #303030; background: #ffffff; font-size: 11px; }
.order-card select:focus-visible,
.order-card button:focus-visible,
.menu-card a:focus-visible,
.flyer-download:focus-visible,
.organization-link:focus-visible { outline: 3px solid #b0b0b0; outline-offset: 3px; }
.order-total { margin: 3px 0 15px; display: flex; justify-content: space-between; align-items: center; color: #dddddd; font-size: 10px; }
.order-total strong { color: white; font: 600 25px "Playfair Display", Georgia, serif; }
.order-submit { width: 100%; min-height: 46px; padding: 0 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 0; border-radius: 999px; color: #222222; background: #f1f1f1; cursor: pointer; font-size: 10px; font-weight: 700; transition: transform .2s ease, opacity .2s ease; }
.order-submit:hover:not(:disabled) { transform: translateY(-2px); }
.order-submit:disabled { cursor: not-allowed; opacity: .58; }
.order-status { min-height: 15px; margin: 11px 0 0; color: #e0e0e0; font-size: 9px; line-height: 1.6; }
.order-footnote { margin: 9px 0 0; color: #bdbdbd; font-size: 8px; line-height: 1.7; }

.flyer-section { width: min(100% - 48px, 1050px); min-height: 230px; margin: auto; padding: 56px 0; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.flyer-section h2 { margin-bottom: 19px; }
.flyer-section > img { width: 135px; height: 135px; border: 1px solid var(--la-line); border-radius: 50%; box-shadow: 0 10px 30px rgba(39, 31, 23, .1); object-fit: cover; }
.flyer-download { display: inline-flex; align-items: center; gap: 13px; padding-bottom: 5px; border-bottom: 1px solid #888888; color: #444444; font-size: 10px; font-weight: 700; }

.lasanada-footer { min-height: 94px; border-top: 1px solid var(--la-line); }
.lasanada-footer .lasanada-brand img { width: 34px; height: 34px; }
.lasanada-footer .lasanada-brand > span { font-size: 16px; }
.lasanada-footer .lasanada-brand small { font-size: 6px; }
.lasanada-site-links { display: flex; align-items: center; gap: 20px; }
.lasanada-footer > small { color: #777777; font-size: 9px; }
.lasanada-toast { position: fixed; z-index: 5; right: 20px; bottom: 20px; max-width: calc(100vw - 40px); padding: 13px 17px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; color: #ffffff; background: #222222; box-shadow: 0 12px 30px rgba(32,27,23,.2); font-size: 11px; opacity: 0; pointer-events: none; transform: translateY(10px); transition: opacity .2s ease, transform .2s ease; }
.lasanada-toast.is-visible { opacity: 1; transform: translateY(0); }

@keyframes la-rise {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes la-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -7px; }
}

@media (max-width: 900px) {
  .lasanada-hero { min-height: 560px; grid-template-columns: minmax(0, 1fr) minmax(280px, .75fr); gap: 30px; }
  .hero-copy h1 { font-size: clamp(42px, 6vw, 57px); }
  .menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .lasanada-ribbon { font-size: 7px; letter-spacing: .15em; }
  .lasanada-header,
  .lasanada-footer { width: calc(100% - 32px); min-height: 70px; }
  .lasanada-brand { gap: 7px; }
  .lasanada-brand img { width: 35px; height: 35px; }
  .lasanada-brand > span { font-size: 16px; }
  .lasanada-brand small { font-size: 5px; letter-spacing: .11em; }
  .organization-link { max-width: 120px; font-size: 8px; text-align: right; }
  .lasanada-hero { min-height: 0; padding: 47px 7% 38px; grid-template-columns: 1fr; gap: 37px; }
  .hero-copy h1 { font-size: clamp(43px, 11vw, 58px); }
  .hero-description { font-size: 12px; }
  .flyer-preview { width: min(78%, 330px); }
  .flower-left { left: 2%; }
  .menu-section { width: calc(100% - 32px); padding: 62px 0 70px; }
  .section-heading { margin-bottom: 27px; }
  .menu-grid { gap: 11px; }
  .menu-card { min-height: 240px; padding: 16px 13px 14px; border-radius: 14px; }
  .menu-card h3 { font-size: 16px; }
  .menu-card > p { font-size: 9px; }
  .menu-card-bottom strong { font-size: 20px; }
  .menu-card-bottom a { font-size: 8px; }
  .order-section { padding: 56px 7%; grid-template-columns: 1fr; gap: 24px; }
  .flyer-section { width: calc(100% - 32px); min-height: 190px; padding: 42px 0; }
  .flyer-section > img { width: 92px; height: 92px; }
  .lasanada-footer { flex-wrap: wrap; padding: 17px 0; gap: 10px; }
  .lasanada-site-links { order: 3; width: 100%; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
  .lasanada-site-links .organization-link { max-width: none; text-align: left; }
}

@media (max-width: 360px) {
  .organization-link { max-width: 100px; }
  .menu-grid { grid-template-columns: 1fr; }
  .menu-card { min-height: 220px; padding: 20px; }
}

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