/* Fonts - local copies of the Google fonts used in the original design
   Place woff2 files in assets/fonts/ with the following suggested names:
   - HankenGrotesk-Regular.woff2
   - HankenGrotesk-Medium.woff2
   - HankenGrotesk-SemiBold.woff2
   - HankenGrotesk-Bold.woff2
   - SchibstedGrotesk-Regular.woff2
   - SchibstedGrotesk-Medium.woff2
   - SchibstedGrotesk-SemiBold.woff2
   - SchibstedGrotesk-Bold.woff2
*/
@font-face{font-family:'HankenGrotesk';src:url('../fonts/HankenGrotesk-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'HankenGrotesk';src:url('../fonts/HankenGrotesk-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'HankenGrotesk';src:url('../fonts/HankenGrotesk-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'SchibstedGrotesk';src:url('../fonts/SchibstedGrotesk-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'SchibstedGrotesk';src:url('../fonts/SchibstedGrotesk-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'SchibstedGrotesk';src:url('../fonts/SchibstedGrotesk-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* Base reset and variables copied from the provided HTML */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'SchibstedGrotesk',system-ui,sans-serif;color:#23271F;background:#fff;width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:'HankenGrotesk',system-ui,sans-serif}
img{display:block;max-width:100%;height:auto}
input,select,textarea{font-family:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:#6FA82E;box-shadow:0 0 0 3px rgba(111,168,46,.15)}

/* Nav / header */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:0;cursor:pointer;padding:8px;z-index:200;flex:none}
.nav-burger span{display:block;width:24px;height:2px;background:#23271F;border-radius:2px;transition:all .25s ease}
.nav-burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.nav-links{display:flex;gap:6px;align-items:center}

/* Hero */
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;min-height:600px}
.hero-copy{padding:clamp(48px,6vw,90px) clamp(24px,5vw,72px);display:flex;flex-direction:column;justify-content:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#4C7A1E;background:#EEF5E4;padding:8px 16px;border-radius:999px;width:fit-content;margin-bottom:28px}
.hero-copy h1{font-size:clamp(40px,5vw,62px);line-height:1.04;font-weight:700;letter-spacing:-.025em;color:#23271F}
.hero-copy .accent{color:#6FA82E}
.lead{font-size:18.5px;line-height:1.6;color:#5C6157;margin-top:26px;max-width:480px}
.stats{display:flex;gap:36px;margin-top:40px;flex-wrap:wrap}
.stat-num{font-size:34px;font-weight:700;color:#23271F;letter-spacing:-.02em}
.stat-label{font-size:14px;color:#6E7368;margin-top:2px}
.divider{width:1px;background:#E7E9E2}
.hero-img{position:relative;background:#6FA82E;min-height:340px}
.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-caption{position:absolute;left:0;bottom:0;right:0;padding:28px 32px;background:linear-gradient(0deg,rgba(20,24,17,.82),transparent);color:#fff;font-size:14px;font-weight:600}

/* Trust bar */
.trust-bar{background:#fff;border-bottom:1px solid #EFF0EC;padding:20px clamp(24px,5vw,72px)}
.trust-inner{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 30px}
.trust-inner a{display:flex;align-items:center;gap:11px}
.stars{color:#F2B01E;font-size:18px;letter-spacing:2px}
.trust-item{display:flex;align-items:center;gap:10px}

/* Offer */
.offer{padding:clamp(56px,7vw,84px) clamp(24px,5vw,72px);background:#F6F7F3}
.offer-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:46px;gap:24px;flex-wrap:wrap}
.offer-head h2{font-size:clamp(30px,4vw,40px);font-weight:700;letter-spacing:-.02em;color:#23271F;max-width:480px;line-height:1.1}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.cat-item{position:relative;height:220px;border-radius:12px;overflow:hidden}
.cat-item img{width:100%;height:100%;object-fit:cover}
.cat-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,24,17,.82),rgba(20,24,17,.05) 55%)}
.cat-copy{position:absolute;left:16px;right:16px;bottom:15px;color:#fff}
.cat-copy h3{font-size:18px;font-weight:700}
.cat-copy p{color:#D9E2CC;font-size:12.5px;margin-top:3px}

/* Service */
.service{background:#EEF5E4;padding:clamp(56px,7vw,84px) clamp(24px,5vw,72px)}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.service-copy .eyebrow.small{font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#4C7A1E;margin-bottom:14px}
.service-copy h2{font-size:clamp(30px,4vw,40px);font-weight:700;color:#23271F}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;max-width:480px}
.card{background:#fff;border:1px solid #DCE7CC;border-radius:10px;padding:20px}
.link-out{display:inline-flex;align-items:center;gap:9px;margin-top:24px;font-weight:600;font-size:15.5px;color:#4C7A1E;border-bottom:1px solid rgba(76,122,30,.35);padding-bottom:3px}
.lead-form-wrap{background:#fff;border:1px solid #DCE7CC;border-radius:14px;padding:clamp(26px,3vw,36px);box-shadow:0 6px 24px rgba(40,60,20,.06)}
.lead-form-wrap h3{font-size:22px;font-weight:700;color:#23271F}
.lead-form-wrap .muted{font-size:14.5px;color:#6E7368;margin-top:6px}

/* Testimonials */
.reviews{padding:clamp(56px,7vw,84px) clamp(24px,5vw,72px);background:#F6F7F3}

/* FAQ */
.faq-list{padding:clamp(56px,7vw,84px) clamp(24px,5vw,72px);background:#F6F7F3}
.faq-item{background:#fff;border:1px solid #E7E9E2;border-radius:10px;padding:4px 22px}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:17px;font-weight:600;color:#23271F;cursor:pointer}
.chev{color:#6FA82E;font-size:24px;font-weight:400}
.faq-item p{font-size:15px;line-height:1.6;color:#6E7368;padding:0 0 20px}

/* Map / Kontakt */
.map-block{padding:clamp(56px,7vw,84px) clamp(24px,5vw,72px)}
.map-wrap{position:relative;border-radius:12px;overflow:hidden;border:1px solid #E7E9E2;max-width:1080px;margin:0 auto}
.map-wrap iframe{width:100%;height:440px;border:0;display:block;pointer-events:none}
.map-card{position:absolute;left:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);background:#fff;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.16);padding:22px 24px;max-width:340px;z-index:2}
.map-title{font-size:16px;font-weight:700}
.map-addr{font-size:14.5px;color:#6E7368;margin-top:6px;padding-left:32px}
.map-actions a{display:inline-block;margin-right:8px;margin-top:12px;padding:11px 16px;border-radius:999px}

/* Kontakt */
.contact{background:#2F5320;color:#fff;padding:clamp(56px,7vw,80px) clamp(24px,5vw,72px)}
.kontakt-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.contact-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:38px}
.contact-actions .btn{background:#84C13D;color:#1C3312;font-weight:700;padding:15px 26px;border-radius:999px;display:inline-block;margin-right:10px}
.contact-actions .whatsapp{background:#25D366;color:#fff}
.contact-actions .outline{border:1px solid rgba(255,255,255,.35);color:#fff}
.label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#9FD15F;margin-bottom:8px}

/* WPForms styling to match original form look */
.wpforms-form{max-width:640px;margin:0 auto;background:#fff;padding:20px;border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,0.06)}
.wpforms-form .wpforms-field{margin-bottom:14px}
.wpforms-form label{display:block;font-weight:700;margin-bottom:6px}
.wpforms-form input[type="text"],.wpforms-form input[type="email"],.wpforms-form textarea,.wpforms-form select{width:100%;padding:12px 14px;border:1px solid #D7DAD1;border-radius:9px;font-size:15px;color:#23271F}
.wpforms-form button[type="submit"],.wpforms-form input[type="submit"]{width:100%;margin-top:20px;background:#6FA82E;color:#fff;font-weight:700;font-size:16px;padding:15px;border:0;border-radius:999px;cursor:pointer}
.wpforms-form .wpforms-field-required{color:#6FA82E}

/* Footer */
footer.site-footer{background:#23271F;color:#B7BBB0;padding:34px clamp(24px,5vw,72px);display:flex;justify-content:space-between;align-items:center;font-size:14px;flex-wrap:wrap;gap:14px}
footer .site-info{color:#B7BBB0}

/* Responsive */
@media (max-width:860px){
  .nav-burger{display:flex}
  .nav-links{display:none;position:fixed;inset:0;background:rgba(255,255,255,.97);flex-direction:column;justify-content:center;align-items:center;gap:30px;z-index:100;font-size:20px;font-weight:600;color:#23271F}
  .nav-links.open{display:flex}
  .nav-links .btn-tel{font-size:18px;padding:14px 28px}
  .hero-grid{grid-template-columns:1fr}
  .hero-img{min-height:260px}
  .split-grid{grid-template-columns:1fr}
  .kontakt-grid{grid-template-columns:1fr;gap:32px}
  .lead-form-grid{grid-template-columns:1fr}
}
@media (max-width:520px){
  .cat-grid > div{height:190px}
}
