:root{
    --olive:#5C6B47;
    --olive-deep:#414B32;
    --clay:#C17A56;
    --clay-deep:#A2603E;
    --cream:#F5EFE2;
    --paper:#FCF9F2;
    --ink:#3A362C;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{ background:var(--paper); color:var(--ink); font-family:'Karla', sans-serif; line-height:1.65; }
  h1,h2{ font-family:'Cormorant Garamond', serif; font-weight:600; }

  nav{ display:flex; justify-content:space-between; align-items:center; padding:24px 6vw; background:var(--cream); }
  .brand{ font-family:'Cormorant Garamond', serif; font-weight:600; font-size:1.4rem; color:var(--olive-deep); }
  nav a{ color:var(--ink); text-decoration:none; font-size:0.85rem; letter-spacing:0.03em; margin-left:26px; font-weight:600; }
  nav a:hover{ color:var(--clay-deep); }

  .hero{ background:var(--cream); padding:20px 6vw 80px; display:grid; grid-template-columns:1.2fr 0.8fr; gap:44px; align-items:center; }
  @media(max-width:800px){ .hero{ grid-template-columns:1fr; padding:20px 6vw 50px; } }
  .eyebrow{ font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--clay-deep); font-weight:700; margin-bottom:16px; display:block; }
  .hero h1{ font-size:clamp(2.4rem, 6vw, 3.6rem); color:var(--olive-deep); margin-bottom:16px; line-height:1.1; }
  .hero .tagline{ font-size:1.08rem; color:#6b6252; max-width:420px; margin-bottom:26px; }
  .cta-row{ display:flex; gap:14px; flex-wrap:wrap; }
  .btn{ padding:13px 28px; border-radius:30px; font-size:0.85rem; letter-spacing:0.02em; text-decoration:none; display:inline-block; font-weight:600; transition:opacity 0.2s; }
  .btn:hover{ opacity:0.85; }
  .btn-primary{ background:var(--olive); color:var(--paper); }
  .btn-outline{ background:transparent; color:var(--olive-deep); border:1.5px solid var(--olive-deep); }

  .hero-photo{
    aspect-ratio:4/5; border-radius:16px; overflow:hidden;
    background:linear-gradient(135deg, rgba(92,107,71,0.16), rgba(193,122,86,0.16));
    display:flex; align-items:center; justify-content:center;
    font-family:'Cormorant Garamond', serif; font-style:italic; color:rgba(58,54,44,0.4); font-size:0.9rem;
    border:3px solid var(--olive-deep);
  }
  .hero-photo img{ width:100%; height:100%; object-fit:cover; display:block; }

  section{ padding:64px 6vw; }
  .section-head{ max-width:560px; margin:0 auto 36px; text-align:center; }
  .section-head .eyebrow{ color:var(--clay-deep); margin:0 0 12px; }
  .section-head h2{ font-size:clamp(1.7rem, 4vw, 2.3rem); color:var(--olive-deep); }
  .section-head p{ color:#8a8070; margin-top:8px; font-size:0.92rem; }

  .about{ text-align:center; }
  .about p{ max-width:600px; margin:0 auto; font-size:1.03rem; color:#4a4438; }

  .menu-scroll{ display:flex; gap:16px; overflow-x:auto; padding-bottom:10px; }
  .menu-card{ flex:0 0 220px; background:var(--cream); border-radius:14px; padding:22px; }
  .menu-card .cat{ font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--clay-deep); font-weight:700; margin-bottom:8px; }
  .menu-card h3{ font-family:'Cormorant Garamond', serif; font-size:1.15rem; margin-bottom:6px; color:var(--olive-deep); }
  .menu-card p{ font-size:0.82rem; color:#8a8070; margin-bottom:8px; }
  .menu-card .price{ font-weight:700; color:var(--clay-deep); }
  .menu-note{ text-align:center; margin-top:24px; font-size:0.82rem; color:#a3937e; font-style:italic; }

  .floral-divider{
    width:100%; padding:14px 0; text-align:center; background:var(--paper);
  }
  .floral-divider img{ height:26px; width:auto; }
  .exterior .section-head{ padding:0 6vw; }
  .exterior-photo{
    width:100%; aspect-ratio:3/2; max-height:640px; position:relative;
    display:flex; align-items:center; justify-content:center;
    font-family:'Cormorant Garamond', serif; font-style:italic; font-size:1rem; color:rgba(58,54,44,0.4);
    background:linear-gradient(135deg, rgba(92,107,71,0.14), rgba(193,122,86,0.14));
    overflow:hidden;
  }
  .exterior-photo .frame-border{
    position:absolute; left:50%; transform:translateX(-50%); z-index:2;
    padding:6px 22px; background:rgba(255,255,255,0.0);
  }
  .exterior-photo .frame-border img{ height:24px; width:auto; filter:drop-shadow(0 1px 3px rgba(0,0,0,0.5)); }
  .exterior-photo .frame-top{ top:16px; }
  .exterior-photo .frame-bottom{ bottom:16px; }
  .exterior-photo img{ width:100%; height:100%; object-fit:cover; display:block; }

  .gallery{ background:var(--cream); padding:64px 0; }
  .gallery .section-head{ padding:0 6vw; }
  .gallery-border{ width:100%; text-align:center; padding:8px 0 24px; }
  .gallery-border img{ height:26px; width:auto; }
  .gallery-grid{ display:grid; grid-template-columns:repeat(6, 1fr); gap:0; width:100%; }
  @media(max-width:900px){ .gallery-grid{ grid-template-columns:repeat(3, 1fr); } }
  @media(max-width:560px){ .gallery-grid{ grid-template-columns:repeat(2, 1fr); } }
  .photo-slot{
    aspect-ratio:4/5;
    display:flex; align-items:center; justify-content:center;
    font-family:'Cormorant Garamond', serif; font-style:italic; font-size:0.85rem; color:rgba(58,54,44,0.4);
    background:linear-gradient(135deg, rgba(92,107,71,0.12), rgba(193,122,86,0.12));
    border:1px solid rgba(58,54,44,0.15); overflow:hidden;
  }
  .photo-slot img{ width:100%; height:100%; object-fit:cover; display:block; }

  .find-us{ background:var(--paper); }
  .find-grid{ display:grid; grid-template-columns:1fr 1fr; gap:36px; max-width:1000px; margin:0 auto; align-items:stretch; }
  @media(max-width:800px){ .find-grid{ grid-template-columns:1fr; } }
  .map-embed{ border-radius:16px; overflow:hidden; border:1.5px solid rgba(58,54,44,0.15); min-height:320px; }
  .map-embed iframe{ width:100%; height:100%; min-height:320px; border:0; display:block; }
  .find-info{ display:flex; flex-direction:column; justify-content:center; gap:22px; }
  .find-item strong{ display:block; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--clay-deep); margin-bottom:6px; font-weight:700; }
  .find-item p, .find-item a{ color:var(--ink); font-size:1rem; text-decoration:none; }

  footer{ text-align:center; padding:22px 6vw; background:var(--olive-deep); color:#c9c4b3; font-size:0.78rem; }

/* ------------------------------------------------------------------
   cezdesigns-portfolio-embed
   This build is also framed as a scrollable preview inside the
   CezDesigns portfolio. Containing the overscroll stops a scroll that
   reaches this document's top or bottom edge from chaining out and
   moving the CezDesigns page behind it. Harmless when the site is
   viewed on its own.
   ------------------------------------------------------------------ */
html { overscroll-behavior-y: contain; }
