  :root{
    --cream:#FBF6EA;
    --cream-2:#F2E9D4;
    --ink:#2C2013;
    --brown:#4A3520;
    --brown-2:#6B4E2E;
    --olive:#6E6432;
    --terracotta:#E2601F;
    --terracotta-dark:#B7480F;
    --gold:#C79A3F;
    --line:#E4D7BA;
  }
  html {scroll-behavior: smooth;}
  *{box-sizing:border-box;}
  dl,dt,dd{margin:0;}
  body{margin:0;background:var(--cream);font-family:'Jost',ui-sans-serif,system-ui,sans-serif;color:var(--ink);text-wrap:pretty;}
  h1,h2,h3,.serif{font-family:'Cormorant Garamond',Georgia,serif;}
  a{color:var(--terracotta-dark);text-decoration:none;}
  a:hover{color:var(--terracotta);}
  img{max-width:100%;}
  .eyebrow{
    font-family:'Jost',sans-serif;
    letter-spacing:0.22em;
    text-transform:uppercase;
    font-size:13px;
    font-weight:600;
    color:var(--terracotta-dark);
  }
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:16px 30px;border-radius:2px;
    font-family:'Jost',sans-serif;font-weight:600;font-size:15px;
    letter-spacing:0.03em;cursor:pointer;border:1px solid transparent;
  }
  .btn-primary{background:var(--terracotta);color:#FFF9EF;}
  .btn-outline{background:transparent;color:var(--cream);border:1px solid rgba(251,246,234,0.55);}
  .card-shadow{box-shadow:0 18px 40px -22px rgba(44,32,19,0.45);}

  .wrap{max-width:1440px;margin:0 auto;background:var(--cream);}
  .nav{display:flex;align-items:center;justify-content:space-between;padding:22px 72px;background:var(--cream);border-bottom:1px solid var(--line);}
  .nav-links{display:flex;align-items:center;gap:44px;}
  .nav-links a{color:var(--brown);font-size:15px;font-weight:500;}

  .hero{position:relative;display:flex;align-items:stretch;min-height:640px;background:linear-gradient(120deg,var(--brown) 0%, #3A2A18 55%, var(--ink) 100%);overflow:hidden;}
  .hero-noise{position:absolute;inset:0;opacity:0.10;background-image:radial-gradient(circle at 15% 20%, #fff 0, transparent 2px),radial-gradient(circle at 85% 75%, #fff 0, transparent 2px);background-size:34px 34px;}
  .hero-copy{flex:1;display:flex;flex-direction:column;justify-content:center;gap:26px;padding:80px 40px 80px 72px;max-width:640px;position:relative;z-index:1;}
  .hero-stats{display:flex;gap:36px;margin-top:26px;padding-top:26px;border-top:1px solid rgba(251,246,234,0.16);flex-wrap:wrap;}
  .hero-img{flex:1;position:relative;min-height:340px;}
  .hero-img img{width:100%;height:100%;object-fit:cover;display:block;}
  .hero-img-fade{position:absolute;inset:0;background:linear-gradient(90deg, var(--brown) 0%, rgba(74,53,32,0) 22%);}

  .about{display:flex;align-items:center;gap:64px;padding:110px 72px;background:var(--cream);flex-wrap:wrap;}
  .about-img{flex:1 1 360px;position:relative;}
  .about-badge{position:absolute;bottom:-28px;left:-28px;background:var(--terracotta);color:#FFF9EF;padding:22px 28px;max-width:230px;}
  .about-copy{flex:1 1 360px;display:flex;flex-direction:column;gap:22px;padding-left:24px;}
  .about-stats{display:flex;gap:40px;margin-top:10px;flex-wrap:wrap;}

  .features{padding:100px 72px;background:var(--cream-2);}
  .features-head{text-align:center;max-width:640px;margin:0 auto 60px;display:flex;flex-direction:column;gap:16px;align-items:center;}
  .features-grid{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:28px;}
  .feature-card{background:var(--cream);padding:36px 28px;border:1px solid var(--line);display:flex;flex-direction:column;gap:16px;}

  .gallery{padding:100px 72px;background:var(--cream);}
  .gallery-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:44px;flex-wrap:wrap;gap:16px;}
  .gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px;}
  .gallery-grid img{width:100%;object-fit:cover;display:block;}
  .gallery-side{display:flex;flex-direction:column;gap:20px;}
  .gallery-note{background:var(--brown);color:#FBF6EA;padding:36px 30px;display:flex;flex-direction:column;justify-content:center;gap:14px;}

  .testimonial{padding:110px 72px;background:var(--cream-2);display:flex;justify-content:center;}
  .testimonial-inner{max-width:760px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:28px;}

  .cta{padding:100px 72px;background:linear-gradient(120deg,var(--brown) 0%, #3A2A18 60%, var(--ink) 100%);display:flex;align-items:center;justify-content:space-between;gap:60px;flex-wrap:wrap;}
  .cta-copy{display:flex;flex-direction:column;gap:20px;max-width:560px;}
  .cta-actions{display:flex;gap:16px;margin-top:10px;flex-wrap:wrap;}
  .cta-card{background:rgba(251,246,234,0.06);border:1px solid rgba(251,246,234,0.16);padding:40px;display:flex;flex-direction:column;gap:26px;min-width:300px;flex:1 1 320px;max-width:400px;}
  .cta-card-row{display:flex;gap:16px;align-items:flex-start;}

  .footer{padding:56px 72px 40px;background:var(--ink);display:flex;flex-direction:column;gap:36px;}
  .footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;}
  .footer-cols{display:flex;gap:80px;flex-wrap:wrap;}
  .footer-col{display:flex;flex-direction:column;gap:14px;}
  .footer-bottom{border-top:1px solid rgba(251,246,234,0.12);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

  @media (max-width: 900px){
    .nav{padding:18px 24px;}
    .nav-links{display:none;}
    .hero{flex-direction:column;}
    .hero-copy{padding:56px 24px;max-width:none;}
    .hero-img{min-height:280px;}
    .about{padding:64px 24px;flex-direction:column;}
    .about-copy{padding-left:0;}
    .features{padding:64px 24px;}
    .features-grid{grid-template-columns:1fr 1fr;}
    .gallery{padding:64px 24px;}
    .gallery-grid{grid-template-columns:1fr;}
    .testimonial{padding:64px 24px;}
    .cta{padding:64px 24px;}
    .footer{padding:40px 24px 28px;}
  }
  @media (max-width: 560px){
    .features-grid{grid-template-columns:1fr;}
    h1{font-size:40px !important;}
  }
  .maps{background:var(--cream);display:flex;}
  .maps iframe{width:100%;height:450px;display:block;border:0;border-radius:4px;}

  @media (max-width: 900px){
    .maps{padding:0 24px 64px;}
    .maps iframe{height:320px;}
  }

  /* Menu button (nav + hero) */
  .menu-pdf-trigger{
    background:none;border:none;padding:0;margin:0;
    font-family:'Jost',sans-serif;font-size:15px;font-weight:500;
    color:var(--brown);cursor:pointer;
  }
  .menu-pdf-trigger:hover{color:var(--terracotta);}
  .btn.menu-pdf-trigger{
    display:inline-flex;align-items:center;gap:10px;
    padding:16px 30px;border-radius:2px;
    font-weight:600;font-size:15px;letter-spacing:0.03em;
  }
  .btn.menu-pdf-trigger:hover{color:var(--cream);}

  /* Menu PDF popup overlay */
  .menu-modal-overlay{
    position:fixed;inset:0;z-index:1000;
    background:rgba(44,32,19,0.72);
    display:flex;align-items:center;justify-content:center;
    padding:24px;
  }
  .menu-modal-overlay[hidden]{display:none;}
  .menu-modal{
    background:var(--cream);
    width:100%;max-width:900px;height:90vh;max-height:900px;
    border-radius:4px;overflow:hidden;
    display:flex;flex-direction:column;
    box-shadow:0 24px 60px rgba(0,0,0,0.35);
  }
  .menu-modal-header{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 20px;background:var(--brown);color:#FBF6EA;
    font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;font-weight:600;
  }
  .menu-modal-header-actions{display:flex;align-items:center;gap:16px;}
  .menu-modal-download{
    font-family:'Jost',sans-serif;font-size:13px;font-weight:600;
    letter-spacing:0.04em;text-transform:uppercase;color:var(--gold);
  }
  .menu-modal-download:hover{color:#FBF6EA;}
  .menu-modal-close{
    background:none;border:none;color:#FBF6EA;font-size:28px;line-height:1;
    cursor:pointer;padding:0;width:28px;height:28px;
  }
  .menu-modal-close:hover{color:var(--gold);}
  .menu-modal-body{flex:1;background:#3A2A18;position:relative;}
  .menu-modal-body iframe{width:100%;height:100%;border:0;display:block;}
  .menu-modal-loading{
    color:#D7C9AC;font-size:14px;text-align:center;
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;
  }
  @media (max-width: 560px){
    .menu-modal{height:100vh;max-height:none;border-radius:0;}
    .menu-modal-overlay{padding:0;}
  }

  /* FAQ accordion */
  .faq{padding:100px 72px;background:var(--cream-2);}
  .faq-head{text-align:center;max-width:640px;margin:0 auto 48px;display:flex;flex-direction:column;gap:16px;align-items:center;}
  .faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
  .faq-item{
    background:var(--cream);border:1px solid var(--line);
    padding:6px 24px;
  }
  .faq-item summary{
    list-style:none;cursor:pointer;
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:18px 0;
    font-family:'Jost',sans-serif;font-weight:600;font-size:16px;color:var(--ink);
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:"+";
    flex-shrink:0;
    font-family:'Jost',sans-serif;font-size:22px;font-weight:400;
    color:var(--terracotta-dark);
    transition:transform 0.2s ease;
  }
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item p{
    margin:0 0 20px;font-size:14px;line-height:1.75;color:var(--brown-2);
    padding-right:38px;
  }

  @media (max-width: 900px){
    .faq{padding:64px 24px;}
  }

  /* Review / testimonial slider (Swiper) */
  .review-swiper{max-width:760px;width:100%;padding-bottom:48px;}
  .review-slide{
    text-align:center;
    display:flex;flex-direction:column;align-items:center;gap:28px;
  }
  .review-text{
    font-size:30px;line-height:1.5;font-weight:500;font-style:italic;
    color:var(--ink);margin:0;
  }
  .review-author{display:flex;flex-direction:column;gap:4px;}
  .review-author cite{
    font-style:normal;font-weight:600;font-size:15px;color:var(--brown);
  }
  .review-author span{font-size:13px;color:var(--brown-2);}

  .review-swiper .swiper-button-prev,
  .review-swiper .swiper-button-next{
    width:40px;height:40px;border-radius:50%;
    background:var(--cream);border:1px solid var(--line);
    color:var(--brown);
    top:40%;
  }
  .review-swiper .swiper-button-prev:hover,
  .review-swiper .swiper-button-next:hover{
    background:var(--terracotta);color:#FFF9EF;border-color:var(--terracotta);
  }
  .review-swiper .swiper-button-prev::after,
  .review-swiper .swiper-button-next::after{font-size:16px;font-weight:700;}
  .review-swiper .swiper-button-prev{left:-56px;}
  .review-swiper .swiper-button-next{right:-56px;}
  .review-swiper .swiper-pagination-bullet{
    width:9px;height:9px;background:var(--line);opacity:1;
  }
  .review-swiper .swiper-pagination-bullet-active{background:var(--terracotta-dark);}

  @media (max-width: 900px){
    .review-swiper .swiper-button-prev,
    .review-swiper .swiper-button-next{display:none;}
  }