:root{
  --bg0:#F6FBF8; --bg1:#EEF8F2; --ink:#0E1B14;
  --line:rgba(14,27,20,.12); --glass:rgba(255,255,255,.74);
  --shadow:0 18px 55px rgba(14,27,20,.08); --shadow2:0 10px 30px rgba(14,27,20,.10);
  --r:18px; --r2:24px; --max:1120px; --focus:3px solid rgba(47,143,99,.55);
}
*{box-sizing:border-box}
body{
  margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  color:var(--ink);
  background:
    radial-gradient(1100px 520px at 10% 10%, rgba(123,203,155,.32), transparent 60%),
    radial-gradient(900px 520px at 80% 5%, rgba(191,234,211,.55), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  line-height:1.55; text-rendering:optimizeLegibility;
}
img{max-width:100%; height:auto; display:block}
a{color:inherit}
.wrap{max-width:var(--max); margin:0 auto; padding:0 18px}
.main{padding:26px 0 64px}
.skip-link{position:absolute; left:-9999px; top:8px; background:#fff; padding:10px 12px; border-radius:12px; border:1px solid var(--line); z-index:9999}
.skip-link:focus{left:12px; outline:var(--focus)}
.header{position:sticky; top:0; z-index:1000; backdrop-filter:blur(12px);
  background:linear-gradient(180deg,var(--glass),rgba(255,255,255,.60)); border-bottom:1px solid var(--line)}
.header__inner{max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:10px 18px; gap:12px}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; min-width:0}
.brand__name{font-weight:900; letter-spacing:.2px; font-size:1.12rem; white-space:nowrap}
.nav{display:flex; gap:14px; justify-content:center; align-items:center}
.nav__link{text-decoration:none; font-weight:700; color:rgba(14,27,20,.82); padding:10px 10px; border-radius:12px}
.nav__link:hover{background:rgba(123,203,155,.16)}
.nav__link:focus-visible{outline:var(--focus)}
.nav__link.is-active{background:linear-gradient(180deg,rgba(123,203,155,.22),rgba(191,234,211,.18)); border:1px solid rgba(47,143,99,.16)}
.navbtn{display:none; justify-self:center; width:42px; height:42px; border-radius:14px; border:1px solid var(--line);
  background:rgba(255,255,255,.75); box-shadow:0 6px 18px rgba(14,27,20,.06)}
.navbtn:focus-visible{outline:var(--focus)}
.navbtn__bar{display:block; width:18px; height:2px; margin:4px auto; background:rgba(14,27,20,.72); border-radius:999px}
.cta{border:1px solid rgba(47,143,99,.18);
  background:linear-gradient(135deg,rgba(47,143,99,.96),rgba(123,203,155,.96));
  color:#fff; font-weight:800; padding:12px 14px; border-radius:16px; box-shadow:var(--shadow2); cursor:pointer}
.cta:hover{filter:brightness(1.02)}
.cta:active{transform:translateY(1px)}
.cta:focus-visible{outline:var(--focus)}
.cta--small{justify-self:end; padding:10px 12px; border-radius:14px; font-size:.95rem}
.cta--ghost{background:rgba(255,255,255,.86); color:var(--ink); border:1px solid var(--line); box-shadow:none}
.hero{margin-top:10px; border-radius:var(--r2); overflow:hidden; border:1px solid rgba(47,143,99,.16); box-shadow:var(--shadow);
  background:radial-gradient(800px 360px at 20% 20%, rgba(191,234,211,.78), transparent 60%),
          radial-gradient(700px 340px at 90% 0%, rgba(123,203,155,.52), transparent 55%),
          rgba(255,255,255,.64)}
.hero__grid{display:grid; grid-template-columns:1.05fr .95fr; gap:18px; align-items:center; padding:22px}
.kicker{display:inline-flex; gap:10px; align-items:center; font-weight:750; color:rgba(14,27,20,.78);
  background:rgba(255,255,255,.72); border:1px solid var(--line); padding:8px 10px; border-radius:999px}
.h1{font-size:clamp(1.65rem,3.6vw,2.55rem); line-height:1.12; letter-spacing:-.02em; margin:12px 0 10px}
.lead{font-size:1.08rem; color:rgba(14,27,20,.78); margin:0 0 16px}
.hero__actions{display:flex; gap:10px; flex-wrap:wrap}
.hero__media{border-radius:18px; overflow:hidden; border:1px solid rgba(14,27,20,.10); background:rgba(255,255,255,.5)}
.grid{margin-top:22px; display:grid; grid-template-columns:repeat(12,1fr); gap:14px}
.card{grid-column:span 4; border-radius:var(--r); border:1px solid rgba(14,27,20,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.56));
  box-shadow:0 12px 40px rgba(14,27,20,.06); padding:16px}
.card h2{margin:0 0 8px}
.card p{margin:0; color:rgba(14,27,20,.78)}
.section{margin-top:18px; border-radius:var(--r2); border:1px solid rgba(14,27,20,.10); background:rgba(255,255,255,.64); box-shadow:var(--shadow); padding:18px}
.section h2{margin:0 0 10px}
.cols{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.media{border-radius:18px; overflow:hidden; border:1px solid rgba(14,27,20,.10); background:rgba(255,255,255,.5)}
.list{margin:10px 0 0; padding-left:18px; color:rgba(14,27,20,.78)}
.note{margin-top:12px; padding:12px 14px; border-radius:16px; border:1px solid rgba(47,143,99,.18);
  background:linear-gradient(135deg,rgba(191,234,211,.44),rgba(255,255,255,.74)); color:rgba(14,27,20,.78)}
.muted{color:rgba(14,27,20,.68)}
.tiny{font-size:.92rem}
.hr{height:1px; background:var(--line); margin:18px 0}
.footer{border-top:1px solid var(--line); background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.66))}
.footer__grid{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:16px; padding:22px 18px}
.footer__brand{font-weight:900}
.footer__title{font-weight:800; margin-bottom:6px}
.footer__bottom{display:flex; justify-content:space-between; align-items:center; padding:12px 18px 22px; color:rgba(14,27,20,.58); font-size:.95rem}
.footer a{color:rgba(14,27,20,.72)}
.footer a:hover{text-decoration:underline}
.footer a:focus-visible{outline:var(--focus)}
.modal{position:fixed; inset:0; display:none; z-index:2000}
.modal.is-open{display:block}
.modal__backdrop{position:absolute; inset:0; background:rgba(10,20,14,.38)}
.modal__panel{position:relative; margin:calc(18px + env(safe-area-inset-top)) auto; max-width:780px; background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px); border:1px solid rgba(14,27,20,.14); border-radius:22px; box-shadow:var(--shadow); padding:16px;
  max-height:calc(100dvh - 36px - env(safe-area-inset-bottom)); overflow:auto}
.modal__head{display:flex; align-items:center; justify-content:space-between; gap:12px}
.iconbtn{width:44px; height:44px; border-radius:14px; border:1px solid var(--line); background:rgba(255,255,255,.82); cursor:pointer}
.iconbtn:focus-visible{outline:var(--focus)}
.formbox{min-height:200px}
.floatbtn{position:fixed; left:14px; bottom:calc(14px + env(safe-area-inset-bottom)); z-index:1600; display:flex; align-items:center; gap:10px;
  padding:12px 14px; border-radius:999px; border:1px solid rgba(47,143,99,.18); background:rgba(255,255,255,.9); box-shadow:var(--shadow2); cursor:pointer}
.floatbtn:focus-visible{outline:var(--focus)}
.floatbtn__icon{color:rgba(47,143,99,.95)}
.floatbtn__label{font-weight:900}
.callbtn{position:fixed; left:50%; transform:translateX(-50%); bottom:calc(14px + env(safe-area-inset-bottom)); z-index:1600; width:54px; height:54px; display:none;
  align-items:center; justify-content:center; border-radius:999px; background:linear-gradient(135deg,rgba(47,143,99,.98),rgba(123,203,155,.98)); color:#fff; box-shadow:var(--shadow2);
  border:1px solid rgba(47,143,99,.18); text-decoration:none}
.callbtn:focus-visible{outline:var(--focus)}
.cookie{position:fixed; left:0; right:0; bottom:0; padding:12px 14px calc(12px + env(safe-area-inset-bottom)); z-index:1700}
.cookie__inner{max-width:var(--max); margin:0 auto; display:flex; gap:14px; align-items:flex-start; justify-content:space-between; border-radius:18px;
  border:1px solid rgba(14,27,20,.14); background:rgba(255,255,255,.92); backdrop-filter:blur(10px); box-shadow:var(--shadow2); padding:12px 14px}
.cookie p{margin:0; color:rgba(14,27,20,.74)}
.cookie__actions{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.link:hover{text-decoration:underline}
.link:focus-visible{outline:var(--focus)}
.section, .grid, .footer{content-visibility:auto; contain-intrinsic-size: 1px 900px}
@media (max-width: 960px){
  .header__inner{grid-template-columns:1fr auto auto}
  .nav{position:absolute; left:18px; right:18px; top:62px; display:none; flex-direction:column; gap:6px; padding:10px;
    background:rgba(255,255,255,.92); backdrop-filter:blur(12px); border:1px solid rgba(14,27,20,.12); border-radius:18px; box-shadow:var(--shadow2)}
  .nav.is-open{display:flex}
  .navbtn{display:block}
  .cta--small{display:none}
  .hero__grid{grid-template-columns:1fr}
  .cols{grid-template-columns:1fr}
  .card{grid-column:span 12}
  .footer__grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .callbtn{display:flex}
  .floatbtn__label{display:none}
  .modal__panel{margin: calc(12px + env(safe-area-inset-top)) 12px}
}


/* Lightweight native contact form (fast, accessible) */
.form{display:grid; gap:12px}
.form .field{display:grid; gap:6px}
.field__label{font-weight:900; font-size:14px}
.form__row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media (max-width:640px){.form__row{grid-template-columns:1fr}}
.input{width:100%; padding:12px 14px; border-radius:14px; border:1px solid rgba(14,27,20,.14);
  background:rgba(255,255,255,.86); box-shadow:0 1px 0 rgba(255,255,255,.55) inset; color:inherit}
.input:focus{outline:none; border-color:rgba(47,143,99,.35); box-shadow:0 0 0 4px rgba(47,143,99,.15)}
.input--textarea{min-height:140px; resize:vertical}
.check{display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.35}
.check input{margin-top:3px}
.form__actions{display:flex; align-items:center; gap:12px; flex-wrap:wrap}
.form.is-sending{opacity:.9}
.form.is-sending .cta{opacity:.7; pointer-events:none}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.form__alt{display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.linklike{border:0; background:transparent; padding:0; color:rgba(47,143,99,.95); font-weight:900; cursor:pointer; text-decoration:underline}
.linklike:focus-visible{outline:var(--focus)}
.form__embedded{border:1px dashed rgba(14,27,20,.2); border-radius:18px; padding:12px; background:rgba(255,255,255,.65)}
