*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#2d2926;background:#fbf8f4;font-family:"DM Sans",sans-serif;line-height:1.6}.announcement{padding:8px 8%;background:#eee3da;font-size:12px;color:#6f5a4b}.site-header{display:flex;align-items:center;justify-content:space-between;padding:22px 8%;background:#fffdf9;position:sticky;top:0;z-index:10;border-bottom:1px solid #eee5dd}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#2d2926}.brand-mark{font-size:42px;line-height:1;color:#a7866d;transform:rotate(180deg);display:inline-block}.brand strong{display:block;font-family:"Playfair Display",serif;font-size:23px;letter-spacing:2px;font-weight:500;text-transform:uppercase}.brand small{display:block;text-align:center;font-size:10px;letter-spacing:4px;text-transform:uppercase;color:#8c7769}.nav{display:flex;align-items:center;gap:28px}.nav a{color:#5c514a;text-decoration:none;font-size:14px}.nav a:hover,.nav a.active{color:#9b765c}.button{display:inline-block;border:1px solid #a48670;background:#a48670;color:white;padding:13px 25px;text-decoration:none;font-size:13px;letter-spacing:.2px;cursor:pointer;transition:.2s}.button:hover{background:#866951}.button-outline{background:transparent;color:#594b42}.button-small{padding:10px 24px}.menu-toggle{display:none;border:0;background:none;font-size:24px}.section-shell{padding-left:8%;padding-right:8%}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:#eadbd0}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:70px 30px 70px 0}.eyebrow{font-size:12px;letter-spacing:4px;text-transform:uppercase;color:#a17f67;margin:0 0 16px}.hero h1,h2{font-family:"Playfair Display",serif;font-weight:400;line-height:1.1}.hero h1{font-size:clamp(45px,5vw,76px);margin:0 0 22px}.hero h1 em{font-style:italic}.hero-text{max-width:470px;color:#6c6059;font-size:16px}.button-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px}.hero-image{position:relative;min-height:560px}.hero-image img{width:100%;height:100%;object-fit:cover}.quote-badge{position:absolute;left:-55px;bottom:50px;width:135px;height:135px;border:1px solid #b99a84;border-radius:50%;background:#eadbd0e8;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#98775f}.quote-badge span{display:block}.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:34px 8%;background:#fffaf5;text-align:center}.feature-strip>div{padding:0 18px;border-right:1px solid #e9ded4}.feature-strip>div:last-child{border:0}.feature-strip span{font-size:32px;color:#a48670}.feature-strip h3{font-family:"Playfair Display",serif;font-size:19px;font-weight:400;margin:6px 0}.feature-strip p{font-size:13px;color:#84766d;margin:0}.content-section{padding-top:90px;padding-bottom:90px}.section-heading{text-align:center;max-width:680px;margin:0 auto 42px}.section-heading h2{font-size:46px;margin:0 0 12px}.section-heading>p:last-child{color:#7b6e65;margin:0}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.service-card{min-width:0}.service-card img{width:100%;height:170px;object-fit:cover;border-radius:3px}.service-card h3{font-family:"Playfair Display",serif;font-weight:400;font-size:20px;margin:12px 0 2px}.service-card p{font-size:13px;color:#84766d;margin:0 0 14px}.service-card a{font-size:13px;color:#98775f;text-decoration:none;border-bottom:1px solid #cdb8a8;padding-bottom:5px}.about-section{display:grid;grid-template-columns:1fr 1fr;background:#eee3da}.about-image img{width:100%;height:100%;min-height:450px;object-fit:cover}.about-copy{padding:85px 12%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.about-copy h2{font-size:50px;margin:0 0 20px}.about-copy p{color:#75675e;max-width:480px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-grid img{width:100%;height:320px;object-fit:cover}.contact-section{padding:90px 8%;background:#e8d9cd}.booking-form{max-width:720px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-form label{font-size:13px;color:#6d5c50}.booking-form label:nth-of-type(3),.booking-form label:nth-of-type(4),.booking-form button,.form-note{grid-column:1/-1}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #cbb7a7;background:#fffaf6;font:inherit;color:#332c27}.booking-form textarea{resize:vertical}.form-note{font-size:12px;color:#816e61;margin:0}.footer{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;padding:42px 8%;background:#2d2926;color:#eee4dc;font-size:13px}.footer .brand{color:#eee4dc}.footer .brand strong{font-size:18px}.footer p{margin:8px 0}.footer-brand .brand-mark{color:#c6a68d}@media(max-width:1000px){.service-grid{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:54px}.nav{gap:15px}}@media(max-width:700px){.site-header{padding:18px 6%}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px;background:#fffdf9;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{text-align:center;padding:8px}.section-shell{padding-left:6%;padding-right:6%}.hero{grid-template-columns:1fr}.hero-copy{padding:60px 0}.hero-image{min-height:420px}.quote-badge{left:20px;bottom:20px}.feature-strip{grid-template-columns:1fr 1fr;padding:25px 6%;gap:20px}.feature-strip>div{border:0}.content-section{padding-top:65px;padding-bottom:65px}.section-heading h2{font-size:38px}.service-grid{grid-template-columns:1fr 1fr}.service-card img{height:150px}.about-section{grid-template-columns:1fr}.about-copy{padding:55px 8%}.about-copy h2{font-size:42px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:260px}.contact-section{padding:65px 6%}.booking-form{grid-template-columns:1fr}.booking-form label:nth-of-type(3),.booking-form label:nth-of-type(4),.booking-form button,.form-note{grid-column:auto}.footer{padding:35px 6%;flex-direction:column}}

.brand img{display:block;width:245px;height:auto;max-height:72px;object-fit:contain}
.footer .brand img{width:220px;filter:none;opacity:1}
.footer a{color:#eee4dc;text-decoration:none}
.footer a:hover{text-decoration:underline}
@media(max-width:700px){.brand img{width:205px}.footer .brand img{width:195px}}

/* Refined header logo sizing */
.site-header .brand img{width:185px;max-width:100%;height:auto;display:block}
.footer .brand img{width:175px;max-width:100%;height:auto;display:block}
@media(max-width:700px){
  .site-header .brand img{width:150px}
  .footer .brand img{width:160px}
}

.service-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.menu-category{background:#fffdf9;border:1px solid #eadfd6;padding:25px}
.menu-category h3{font-family:"Playfair Display",serif;font-size:26px;font-weight:400;margin:0 0 18px;color:#765b49}
.price-list>div{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid #eee5dd;font-size:14px}
.price-list>div:last-child{border-bottom:0}
.price-list strong{font-weight:600;white-space:nowrap;color:#8f6d55}
.info-section{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:70px 8%;background:#fffaf5}
.info-card{padding:35px;background:#eee3da}
.info-card h2{font-size:38px;margin:0 0 18px}
.info-card p{color:#6f6259}
.info-card a{color:inherit}
.offer-badge{display:inline-block;margin-top:12px;padding:14px 18px;background:#a48670;color:white;text-align:center;font-size:14px}
.offer-badge small{font-size:11px}
@media(max-width:800px){.service-menu{grid-template-columns:1fr}.info-section{grid-template-columns:1fr;padding:55px 6%}}

/* Service menu refinements */
.service-menu{align-items:start}
.menu-category{border-radius:4px;box-shadow:0 8px 24px rgba(92,70,54,.04)}
.price-list span{line-height:1.45}
.price-list strong{font-size:13px}
.service-menu + *{margin-top:0}
@media(max-width:700px){
  .menu-category{padding:20px 16px}
  .menu-category h3{font-size:24px}
  .price-list>div{align-items:flex-start;font-size:13px;padding:11px 0}
  .price-list span{max-width:72%}
  .price-list strong{text-align:right}
  .booking-form input,.booking-form select,.booking-form textarea{font-size:16px}
}


/* Lime-green theme */
:root{
  --lime:#b8d83f;
  --lime-dark:#566b18;
  --lime-pale:#f3f8df;
  --lime-soft:#e7f0bd;
  --ink:#26301d;
  --muted:#66705a;
}
body{color:var(--ink);background:#fbfdf5}
.announcement{background:var(--lime-soft);color:var(--lime-dark)}
.site-header{background:#fbfdf5;border-bottom-color:#dfe8b9}
.brand{color:var(--ink)}
.brand-mark{color:var(--lime-dark)}
.brand small{color:var(--lime-dark)}
.nav a{color:#536044}
.nav a:hover,.nav a.active{color:var(--lime-dark)}
.button{border-color:var(--lime-dark);background:var(--lime-dark)}
.button:hover{background:#3e4f10}
.button-outline{background:transparent;color:var(--lime-dark)}
.hero{background:var(--lime-pale)}
.eyebrow{color:var(--lime-dark)}
.hero-text{color:var(--muted)}
.feature-strip{background:#f8fbe9}
.feature-strip>div{border-right-color:#e1e9bd}
.feature-strip span{color:var(--lime-dark)}
.feature-strip p,.service-card p,.section-heading>p:last-child{color:var(--muted)}
.hero h1,.section-heading h2,.about-copy h2{color:var(--ink)}
.about-section{background:var(--lime-soft)}
.about-copy p{color:var(--muted)}
.contact-section{background:var(--lime-pale)}
.booking-form label{color:#536044}
.booking-form input,.booking-form select,.booking-form textarea{border-color:#cbd99a;background:#fffef8;color:var(--ink)}
.footer{background:#26301d;color:#eef5d5}
.footer .brand{color:#eef5d5}
.footer .brand-mark{color:var(--lime)}
.footer a{color:#eef5d5}
.footer .brand small{color:#d6e69a}
.footer .brand strong{color:#eef5d5}
.info-section{background:#f8fbe9}
.info-card{background:var(--lime-soft)}
.info-card p{color:var(--muted)}
.offer-badge{background:var(--lime-dark)}
.menu-category{background:#fcfef6;border-color:#dce7b1}
.menu-category summary{color:var(--lime-dark)}
.price-list>div{border-bottom-color:#e5eccb}
.price-list strong{color:var(--lime-dark)}

/* Expandable service categories */
.menu-category{
  overflow:hidden;
}
.menu-category summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  cursor:pointer;
  list-style:none;
  font-family:"Playfair Display",serif;
  font-size:26px;
  font-weight:400;
  margin:0;
  padding:0;
  user-select:none;
}
.menu-category summary::-webkit-details-marker{display:none}
.menu-category summary::marker{display:none}
.menu-category[open] summary{margin-bottom:18px}
.summary-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border:1px solid #c6d58e;
  border-radius:50%;
  font-family:"DM Sans",sans-serif;
  font-size:22px;
  line-height:1;
  flex:0 0 auto;
}
.menu-category[open] .summary-icon{transform:rotate(45deg)}
@media(max-width:700px){
  .menu-category summary{font-size:24px}
  .summary-icon{width:28px;height:28px;font-size:20px}
}


/* Keep only the Book Now button label white */
.book-now-button,
.book-now-button:visited,
.book-now-button:hover,
.book-now-button:focus {
  color: #ffffff !important;
}

/* Welcome message */
.welcome-line {
  color: var(--lime-dark);
  font-weight: 600;
  line-height: 1.5;
  margin: 0 0 14px;
}

/* Footer logo uses the same lime-green theme as the main logo */
.footer .footer-brand img {
  filter: none !important;
}

.hidden-field {
  position: absolute !important;
  left: -9999px !important;
  height: 1px;
  overflow: hidden;
}

.form-success {
  margin: 14px 0;
  padding: 12px 14px;
  border: 1px solid #b8d83f;
  border-radius: 8px;
  background: #f3f8df;
  color: #566b18;
  font-weight: 600;
}
.booking-form button:disabled {
  opacity: 0.7;
  cursor: wait;
}
