*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Mulish',system-ui,sans-serif;background:#F2EBDD;color:#1F3D2F;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
input,textarea,button,select{font-family:inherit}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(31,61,47,0.45)}70%{box-shadow:0 0 0 18px rgba(31,61,47,0)}100%{box-shadow:0 0 0 0 rgba(31,61,47,0)}}

/* ---- desktop/mobile nav toggling ---- */
.nav-desktop{display:flex;align-items:center;gap:clamp(14px,2.2vw,30px)}
.nav-burger{display:none;background:transparent;border:none;padding:8px;color:#1F3D2F;cursor:pointer;flex:none}
.nav-mobile{display:none;background:#F2EBDD;border-top:1px solid rgba(184,145,80,0.28);padding:6px clamp(16px,4vw,40px) 16px;flex-direction:column;gap:0}
.nav-mobile.open{display:flex}
@media (max-width:859px){
  .nav-desktop{display:none}
  .nav-burger{display:flex}
}

/* ---- hover effects (replace style-hover) ---- */
.nav-link{font-size:14.5px;font-weight:600;letter-spacing:0.01em;color:#1F3D2F;padding:5px 0;border-bottom:1.5px solid transparent;transition:border-color .2s ease}
.nav-link:hover{border-bottom:1.5px solid #B89150}
.btn-wa{background:#1F3D2F;color:#F2EBDD;padding:11px 20px;border-radius:999px;font-weight:700;font-size:13.5px;display:inline-flex;align-items:center;gap:8px;box-shadow:0 6px 18px rgba(31,61,47,0.22);transition:background .2s ease,transform .18s ease;flex:none}
.btn-wa:hover{background:#16301f;transform:translateY(-1px)}
.btn-wa-lg{background:#1F3D2F;color:#F2EBDD;padding:16px 28px;border-radius:999px;font-weight:700;font-size:15px;display:inline-flex;align-items:center;gap:10px;box-shadow:0 14px 28px rgba(31,61,47,0.28);transition:background .2s ease,transform .2s ease}
.btn-wa-lg:hover{background:#16301f;transform:translateY(-2px)}
.btn-outline{border:1.8px solid #1F3D2F;color:#1F3D2F;padding:15px 26px;border-radius:999px;font-weight:600;font-size:15px;display:inline-flex;align-items:center;transition:background .2s ease,color .2s ease}
.btn-outline:hover{background:#1F3D2F;color:#F2EBDD}
.card-area{background:#fff;border:1px solid rgba(184,145,80,0.28);border-radius:10px;padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:14px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.card-area:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(31,61,47,0.12);border-color:rgba(184,145,80,0.7)}
.card-area-sm{background:#fff;border:1px solid rgba(184,145,80,0.25);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:12px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.card-area-sm:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(31,61,47,0.09);border-color:rgba(184,145,80,0.65)}
.img-zoom{transition:transform .5s ease}
.img-zoom-wrap:hover .img-zoom{transform:scale(1.04)}
.card-step{background:#fff;border:1px solid rgba(184,145,80,0.25);border-radius:12px;padding:clamp(28px,3vw,40px);position:relative;overflow:hidden;transition:box-shadow .25s ease}
.card-step:hover{box-shadow:0 20px 44px rgba(31,61,47,0.1)}
.card-trust{border:1px solid rgba(184,145,80,0.28);border-radius:12px;padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:14px;transition:background .25s ease,border-color .25s ease}
.card-trust:hover{background:rgba(242,235,221,0.06);border-color:rgba(184,145,80,0.6)}
.review-cta{display:inline-flex;align-items:center;gap:10px;border:1.8px solid #1F3D2F;color:#1F3D2F;padding:14px 28px;border-radius:999px;font-weight:700;font-size:15px;transition:background .2s ease,color .2s ease}
.review-cta:hover{background:#1F3D2F;color:#F2EBDD}
.contact-wa{background:#1F3D2F;color:#F2EBDD;padding:18px 22px;border-radius:12px;font-weight:700;font-size:17px;display:flex;align-items:center;gap:14px;box-shadow:0 12px 28px rgba(31,61,47,0.22);transition:background .2s ease,transform .2s ease}
.contact-wa:hover{background:#16301f;transform:translateY(-2px)}
.footer-link{color:rgba(242,235,221,0.72);transition:color .15s ease}
.footer-link:hover{color:#B89150}
.footer-link-sm{color:rgba(242,235,221,0.62);transition:color .15s ease}
.footer-link-sm:hover{color:#B89150}
.submit-btn{margin-top:2px;background:#1F3D2F;color:#F2EBDD;border:none;padding:15px;border-radius:999px;font-weight:700;font-size:15px;cursor:pointer;transition:background .2s ease,transform .18s ease}
.submit-btn:hover{background:#16301f;transform:translateY(-1px)}
.form-input{width:100%;padding:12px 14px;border:1px solid rgba(31,61,47,0.2);border-radius:8px;background:#FBF7EF;font-size:15px;color:#1F3D2F;outline:none;transition:border-color .2s ease}
.form-input:focus{border-color:#1F3D2F}
.fab-wa-wrap{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;align-items:center;gap:10px}
.fab-wa{flex:none;width:62px;height:62px;border-radius:50%;background:#1F3D2F;color:#F2EBDD;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(31,61,47,0.42);animation:waPulse 2.6s infinite;transition:transform .2s ease,background .2s ease}
.fab-wa:hover{transform:scale(1.08);background:#16301f}
.fab-wa-label{background:#1F3D2F;color:#F2EBDD;font-size:13.5px;font-weight:700;padding:11px 18px;border-radius:999px;white-space:nowrap;box-shadow:0 8px 20px rgba(31,61,47,0.32);transition:transform .2s ease,background .2s ease}
.fab-wa-label:hover{background:#16301f;transform:translateY(-1px)}
.fab-wa-label-short{display:none}
@media (max-width:480px){
  .fab-wa-wrap{right:16px;bottom:16px;gap:8px}
  .fab-wa{width:54px;height:54px}
  .fab-wa-label{font-size:12px;padding:8px 12px}
  .fab-wa-label-full{display:none}
  .fab-wa-label-short{display:inline}
}
.faq-toggle{font-size:22px;color:#B89150;flex:none;font-weight:300;line-height:1}
.faq-item[open] .faq-icon-plus{display:none}
.faq-item:not([open]) .faq-icon-minus{display:none}
.faq-answer{padding:0 4px 20px;font-size:15px;line-height:1.7;color:#4a564c}
.faq-summary{width:100%;background:transparent;border:none;padding:20px 4px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none}
.faq-summary::-webkit-details-marker{display:none}
[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}
.breadcrumb{font-size:13px;color:#8a7748;font-weight:600}
.breadcrumb a{color:#8a7748;transition:color .15s ease}
.breadcrumb a:hover{color:#1F3D2F}
.area-link-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid rgba(184,145,80,0.28);border-radius:10px;padding:18px 20px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.area-link-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(31,61,47,0.1);border-color:rgba(184,145,80,0.7)}
@media (max-width:640px){
  .grid-2x2{grid-template-columns:1fr !important}
}

/* ---- cookie consent banner ---- */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:100;background:#16301f;color:#F2EBDD;padding:18px clamp(16px,4vw,40px);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;box-shadow:0 -8px 24px rgba(0,0,0,0.18)}
.cookie-banner-text{margin:0;font-size:13.5px;line-height:1.55;color:rgba(242,235,221,0.86);max-width:62ch;flex:1 1 320px}
.cookie-banner-text a{color:#B89150;font-weight:700;text-decoration:underline}
.cookie-banner-actions{display:flex;gap:10px;flex:none}
.cookie-btn{border-radius:999px;padding:10px 20px;font-size:13.5px;font-weight:700;cursor:pointer;border:1.5px solid transparent}
.cookie-btn-solid{background:#F2EBDD;color:#1F3D2F;border-color:#F2EBDD}
.cookie-btn-solid:hover{background:#fff}
.cookie-btn-outline{background:transparent;color:#F2EBDD;border-color:rgba(242,235,221,0.5)}
.cookie-btn-outline:hover{border-color:#F2EBDD}
