:root{
  --dark:#143638;
  --dark-2:#1d4a4d;
  --green:#5fb94a;
  --green-light:#7ed957;
  --green-deep:#3f8f31;
  --cream:#f4f8f3;
  --text:#1b2524;
  --muted:#5a6b69;
  --radius:16px;
  --shadow:0 10px 30px rgba(20,54,56,.12);
  --container:1140px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',system-ui,sans-serif;color:var(--text);background:var(--cream);line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}
.hidden{display:none}

/* HEADER */
.site-header{position:sticky;top:0;z-index:50;background:rgba(20,54,56,.96);backdrop-filter:blur(8px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand img{height:48px;border-radius:8px}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{color:#dff3d8;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--green-light)}
.lang-switch{display:flex;gap:4px;background:rgba(255,255,255,.08);border-radius:999px;padding:4px}
.lang-switch button{border:0;background:transparent;color:#cfe6c9;font-weight:600;padding:4px 12px;border-radius:999px;cursor:pointer;font-family:inherit}
.lang-switch button.active{background:var(--green);color:#0c2425}
.burger{display:none;background:transparent;border:0;color:#fff;font-size:28px;cursor:pointer}

/* BUTTONS */
.btn{display:inline-block;padding:14px 28px;border-radius:999px;font-weight:600;cursor:pointer;border:2px solid transparent;transition:transform .15s,box-shadow .2s,background .2s;font-family:inherit;font-size:1rem}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--green);color:#0c2425;box-shadow:0 8px 20px rgba(95,185,74,.35)}
.btn-primary:hover{background:var(--green-light)}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.btn-ghost:hover{border-color:var(--green-light);color:var(--green-light)}

/* HERO */
.hero{background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 100%);color:#fff;padding:72px 0 90px;overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:40px}
.eyebrow{display:inline-block;color:var(--green-light);font-weight:600;letter-spacing:.5px;text-transform:uppercase;font-size:.8rem;margin-bottom:14px}
.hero h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:1.1;margin-bottom:18px}
.hero p{color:#cfe0dd;font-size:1.1rem;max-width:520px;margin-bottom:30px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-logo img{max-width:340px;margin:0 auto;border-radius:24px;box-shadow:var(--shadow)}

/* SECTIONS */
.section{padding:84px 0}
.section-alt{background:#eaf2e7}
.section-dark{background:var(--dark);color:#fff}
.section-title{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700;text-align:center}
.section-dark .section-title{color:#fff}
.section-lead{text-align:center;color:var(--muted);margin:10px auto 44px;max-width:560px}
.section-dark .section-lead{color:#cfe0dd}

/* CARDS */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:26px}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;transition:transform .2s}
.card:hover{transform:translateY(-6px)}
.service .card-icon{font-size:2.6rem;margin-bottom:14px}
.service h3{font-size:1.3rem;margin-bottom:10px;color:var(--dark)}
.service p{color:var(--muted)}

/* OFFER CARDS */
.offer{padding:0;overflow:hidden;display:flex;flex-direction:column}
.offer img{width:100%;height:200px;object-fit:cover;background:#dfe9dc}
.offer-body{padding:22px 24px 26px}
.offer .tag{display:inline-block;background:var(--green);color:#0c2425;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 12px;border-radius:999px;margin-bottom:12px}
.offer h3{font-size:1.25rem;margin-bottom:8px;color:var(--dark)}
.offer p{color:var(--muted);font-size:.96rem}
.offer .price{margin-top:14px;font-weight:700;color:var(--green-deep);font-size:1.1rem}
.loading{grid-column:1/-1;text-align:center;color:var(--muted)}
.empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:30px}

/* FILTER */
.filter{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:36px}
.filter button{border:2px solid var(--green);background:transparent;color:var(--green-deep);font-weight:600;padding:8px 20px;border-radius:999px;cursor:pointer;font-family:inherit;transition:.2s}
.filter button.active,.filter button:hover{background:var(--green);color:#0c2425}

/* ABOUT */
.about{display:grid;grid-template-columns:1.4fr .9fr;gap:50px;align-items:center}
.about .section-title{text-align:left}
.about p{color:var(--muted);margin-bottom:14px}
.ticks{list-style:none;margin-top:18px}
.ticks li{padding-left:32px;position:relative;margin-bottom:10px;font-weight:500}
.ticks li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
.about-box{background:var(--dark);color:#fff;border-radius:var(--radius);padding:36px;display:grid;gap:24px}
.stat{display:flex;align-items:baseline;gap:12px}
.stat strong{font-size:2.2rem;color:var(--green-light)}
.stat span{color:#cfe0dd}

/* CONTACT */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.contact .section-title{text-align:left}
.contact p{color:#cfe0dd;margin-bottom:20px}
.owner{display:flex;align-items:center;gap:16px;margin:20px 0 24px}
.owner img{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid var(--green)}
.owner strong{display:block;color:#fff;font-size:1.1rem}
.owner span{color:var(--green-light);font-size:.9rem}
.contact-list{list-style:none;display:grid;gap:12px}
.contact-list a:hover{color:var(--green-light)}
.contact-form{display:grid;gap:14px}
.contact-form input,.contact-form textarea{width:100%;padding:14px 16px;border-radius:12px;border:0;font-family:inherit;font-size:1rem}
.contact-form textarea{resize:vertical}

/* LEGAL / IMPRESSUM */
.legal-inner{max-width:760px}
.legal .section-title{text-align:left;margin-bottom:28px}
.legal h2{font-size:1.15rem;font-weight:600;color:var(--dark);margin:30px 0 8px}
.legal p{color:var(--text);margin-bottom:6px;word-break:break-word}
.legal a{color:var(--green-deep);font-weight:500}
.legal a:hover{text-decoration:underline}
.legal-h-spaced{margin-top:56px}
.legal-form{background:#fff;border:1px solid #e0e8de;border-radius:var(--radius);padding:22px 24px;margin-top:12px}
.legal-form p{margin-bottom:14px}
.legal-note{color:var(--muted);font-size:.9rem}
.legal-back{margin-top:40px}
.legal-back a:hover{text-decoration:none}

.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.footer-legal a{color:var(--green-light);font-weight:600;font-size:12px;opacity:.75}
.footer-legal a:hover{text-decoration:underline;opacity:1}

/* FOOTER */
.site-footer{background:#0d2526;color:#9fc2bd;padding:30px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer-logo{height:90px;border-radius:6px}
.admin-link{color:var(--green-light);font-weight:600;font-size:12px;opacity:.75}
.admin-link:hover{text-decoration:underline}
.footer-credit{flex-basis:100%;display:flex;align-items:center;justify-content:center;gap:5px;margin:8px 0 0;font-size:9px;opacity:.4;letter-spacing:.5px;color:inherit;text-decoration:none}
.footer-credit:hover{opacity:.8}
.footer-credit-logo{height:12px;width:auto}

/* POLBOAI CHAT */
#polboai{position:fixed;right:22px;bottom:22px;z-index:120;font-family:'Poppins',sans-serif}
.ai-fab{width:60px;height:60px;border-radius:50%;border:0;background:var(--green);color:#0c2425;font-size:26px;cursor:pointer;box-shadow:0 10px 26px rgba(95,185,74,.45);transition:transform .15s}
.ai-fab:hover{transform:scale(1.08)}
.ai-panel{position:absolute;right:0;bottom:74px;width:340px;max-width:calc(100vw - 32px);background:#fff;border-radius:18px;box-shadow:0 18px 50px rgba(20,54,56,.28);overflow:hidden;display:flex;flex-direction:column}
.ai-panel[hidden]{display:none}
.ai-head{background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px 18px}
.ai-title{font-weight:700}
.ai-title::before{content:"🤖 "}
.ai-close{background:transparent;border:0;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.ai-hint{font-size:.82rem;color:var(--muted);padding:10px 16px;background:#eaf2e7}
.ai-log{padding:14px 16px;display:flex;flex-direction:column;gap:10px;height:300px;overflow-y:auto}
.ai-msg{max-width:85%;padding:10px 13px;border-radius:14px;font-size:.92rem;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}
.ai-msg.user{align-self:flex-end;background:var(--green);color:#0c2425;border-bottom-right-radius:4px}
.ai-msg.assistant{align-self:flex-start;background:#eef2ef;color:var(--text);border-bottom-left-radius:4px}
.ai-msg.typing{opacity:.6;font-style:italic}
.ai-form{display:flex;gap:8px;padding:12px;border-top:1px solid #e6ece5}
.ai-input{flex:1;padding:11px 14px;border-radius:999px;border:1px solid #d4ddd1;font-family:inherit;font-size:.92rem;outline:none}
.ai-input:focus{border-color:var(--green)}
.ai-send{border:0;background:var(--green);color:#0c2425;font-weight:600;padding:0 18px;border-radius:999px;cursor:pointer;font-family:inherit}
.ai-send:hover{background:var(--green-light)}

/* RESPONSIVE */
@media(max-width:860px){
  .hero-inner,.about,.contact{grid-template-columns:1fr}
  .hero-logo{order:-1}
  .hero-logo img{max-width:240px}
  .nav-links{position:fixed;inset:74px 0 auto 0;background:var(--dark);flex-direction:column;padding:24px;gap:18px;transform:translateY(-150%);transition:transform .3s}
  .nav-links.open{transform:translateY(0)}
  .burger{display:block}
}

/* cookie consent banner */
.cookie-banner{position:fixed;left:24px;right:24px;bottom:24px;z-index:200;display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center;background:var(--dark);color:#fff;padding:18px 24px;border-radius:var(--radius);box-shadow:var(--shadow);max-width:760px;margin:0 auto}
.cookie-banner p{margin:0;font-size:.95rem}
.cookie-banner .btn{padding:10px 22px;white-space:nowrap}
.cookie-banner[hidden]{display:none}
