@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--sage:#56664f;--sage2:#7b8a71;--cream:#faf5ed;--paper:#fffdf9;--terra:#b37357;--ink:#35382f;--edge:#ded9ce}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit}img{max-width:100%;display:block}.wrap{width:min(1140px,calc(100% - 36px));margin:auto}.site-header{background:rgba(250,245,237,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--edge)}.head{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:90px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--sage);font:700 1.3rem 'Playfair Display',serif}.brand img{width:65px;height:65px;object-fit:cover;border-radius:50%;border:1px solid #b7b8a2}.nav{display:flex;align-items:center;gap:26px}.nav a{text-decoration:none;font-weight:600;font-size:.94rem}.nav a[aria-current=page]{color:var(--terra);text-decoration:underline;text-underline-offset:6px}.nav a:hover{color:var(--terra)}.menu-toggle{display:none;background:transparent;border:1px solid var(--edge);border-radius:8px;padding:8px 12px;font-size:1.3rem}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.18;color:var(--sage)}h1{font-size:clamp(2.7rem,5.5vw,5.15rem);margin:10px 0 24px}h2{font-size:clamp(2rem,3.7vw,3rem);margin:0 0 20px}h3{font-size:1.55rem;margin:0 0 12px}.eyebrow{text-transform:uppercase;font-size:.78rem;font-weight:700;letter-spacing:.2em;color:var(--terra)}.hero{background:linear-gradient(115deg,#f4eadb 0%,#f9f5ee 72%);padding:80px 0}.hero-grid,.split{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}.hero p.lead{font-size:1.19rem;max-width:570px}.hero-image{width:100%;border-radius:28px;max-height:500px;object-fit:cover;box-shadow:0 24px 55px #3d332325}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:5px;padding:13px 23px;font-weight:700;background:var(--sage);color:white;border:2px solid var(--sage);margin:8px 10px 8px 0}.button.alt{background:transparent;color:var(--sage)}.button:hover{filter:brightness(1.09)}.section{padding:80px 0}.section.tint{background:var(--cream)}.section-title{text-align:center;max-width:780px;margin:0 auto 38px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.tile{background:white;border:1px solid var(--edge);border-radius:14px;overflow:hidden;box-shadow:0 10px 28px #47371f0d}.tile img{width:100%;height:240px;object-fit:cover}.tile-body{padding:24px}.tile p{margin-top:0}.pill{display:inline-block;background:#e7e9df;color:var(--sage);font-weight:700;font-size:.82rem;border-radius:99px;padding:3px 13px}.page-hero{background:var(--cream);padding:64px 0 54px;border-bottom:1px solid var(--edge)}.page-hero h1{margin-bottom:10px}.page-hero p{max-width:720px}.menu-section{padding:46px 0;border-bottom:1px solid var(--edge)}.menu-section h2{border-bottom:2px solid #cad0c2;padding-bottom:14px}.menu-items{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 35px}.menu-item{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dashed #d9d6cd;padding:12px 0}.menu-item span{font-weight:600}.menu-item b{color:var(--terra);white-space:nowrap}.callout{padding:24px 28px;background:#edf0e8;border-left:4px solid var(--sage);border-radius:8px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.contact-info p{margin:16px 0}.contact-info strong{display:inline-block;min-width:100px}.contact-info a{color:var(--sage)}.placeholder{color:#9a6b58;font-style:italic}.event{border:1px solid var(--edge);background:white;padding:26px;border-radius:12px;margin:22px 0}.event small{color:var(--terra);font-weight:700;letter-spacing:.1em}.footer{background:#334237;color:white;padding:44px 0 28px}.footer-columns{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px}.footer a{color:#f9eadb}.footer small{opacity:.83}.notice{border-top:1px solid #718075;margin-top:25px;padding-top:22px;font-size:.82rem;max-width:1050px}.demo-warning{background:#f5e6d7;color:#714a31;padding:10px 18px;font-size:.82rem;text-align:center}.text-center{text-align:center}.photo-note{font-size:.78rem;color:#777}.about-logo{width:min(340px,100%);border-radius:50%;margin:auto;box-shadow:0 12px 30px #0001}.form-note{font-size:.9rem;color:#746c5f}.cta-band{background:#af745b;color:white;text-align:center;padding:50px 0}.cta-band h2{color:white}.site-nav-label{display:none}@media(max-width:780px){.head{min-height:75px}.brand img{width:52px;height:52px}.brand{font-size:1.08rem}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:75px;flex-direction:column;align-items:stretch;gap:0;background:var(--cream);border-bottom:1px solid var(--edge);padding:8px 20px 20px}.nav.open{display:flex}.nav a{padding:10px 0}.hero-grid,.split,.contact-grid,.menu-items{grid-template-columns:1fr}.hero{padding:45px 0}.grid3{grid-template-columns:1fr}.section{padding:55px 0}.hero-image{max-height:370px}.footer-columns{display:block}}
/* Individual product detail cards on the Menu page */
.menu-jump{display:flex;flex-wrap:wrap;gap:10px;padding:28px 0 6px}.menu-jump a{border:1px solid #c4cdbd;background:#f3f5ef;border-radius:999px;padding:7px 17px;color:var(--sage);font-weight:700;text-decoration:none}.menu-jump a:hover{background:#e4eadd}.menu-intro{max-width:760px;color:#665e54}.product-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.product-detail{background:white;border:1px solid var(--edge);border-radius:16px;overflow:hidden;box-shadow:0 8px 20px #47371f0a}.product-detail-photo{position:relative;margin:0;background:#ede9e0;aspect-ratio:4/3;overflow:hidden}.product-detail-photo img{width:100%;height:100%;object-fit:cover}.product-detail-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:#2f342cb8;color:#fff;font-size:.77rem;padding:6px 12px}.product-detail-body{padding:22px 24px 25px}.product-detail-title{display:flex;justify-content:space-between;gap:14px;align-items:start}.product-detail-title h3{font-size:1.36rem;margin:0}.product-detail-price{font-weight:800;color:var(--terra);font-size:1.15rem;white-space:nowrap}.product-detail-body p{margin:.75rem 0 0}.product-detail-meta{font-weight:700;font-size:.85rem;color:var(--sage)}@media(max-width:720px){.product-detail-grid{grid-template-columns:1fr}.product-detail-photo{aspect-ratio:16/10}}


/* WALLABY WHISK CONTACT FORM */

.contact-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 48px;
  align-items: start;
}

.contact-info a {
  color: #56664f;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.contact-info a:hover {
  color: #a96f55;
}

.contact-note {
  background: #f4eee4;
  border-left: 4px solid #8b9a7c;
  padding: 20px 24px;
  margin-top: 32px;
  border-radius: 12px;
}

.contact-note h3 {
  margin-top: 0;
}

.form-card {
  background: #f9f5ed;
  border: 1px solid #e4ddcf;
  border-radius: 20px;
  padding: 36px;
  box-shadow: 0 8px 30px rgba(65, 70, 55, 0.06);
}

.form-card h2 {
  margin-bottom: 24px;
}

.contact-form label {
  display: block;
  font-weight: 600;
  color: #3f4b39;
  margin-bottom: 7px;
}

.contact-form input:not([type="hidden"]):not(.honeypot),
.contact-form select,
.contact-form textarea {
  display: block;
  width: 100%;
  padding: 13px 15px;
  margin-bottom: 20px;
  background: #fffdf9;
  border: 1px solid #c9c8bb;
  border-radius: 10px;
  font: inherit;
  color: #333;
  box-sizing: border-box;
}

.contact-form textarea {
  resize: vertical;
  min-height: 140px;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: #56664f;
  box-shadow: 0 0 0 3px rgba(86, 102, 79, 0.12);
}

.contact-form .button.primary {
  width: 100%;
  margin-top: 5px;
  padding: 14px 24px;
  background: #56664f;
  color: #fff;
  border: none;
  border-radius: 10px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.contact-form .button.primary:hover {
  background: #3f4b39;
}

.form-note {
  font-size: 0.82rem;
  color: #77756e;
  margin-top: 15px;
}

.honeypot {
  display: none !important;
}

/* Mobile layout */
@media (max-width: 800px) {
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .form-card {
    padding: 24px;
  }
}

