:root { --berten-green:#a2d12d; --berten-dark:#101012; --berten-muted:#f3f4f1; --berten-width:1200px; }
* { box-sizing:border-box; }
body.berten-site { margin:0; color:#151515; background:#fff; font:17px/1.7 system-ui,-apple-system,"Segoe UI",sans-serif; }
.berten-shell { width:min(calc(100% - 40px),var(--berten-width)); margin-inline:auto; }
.berten-header { position:sticky; z-index:1000; top:0; background:rgba(16,16,18,.97); box-shadow:0 2px 16px rgba(0,0,0,.2); }
.berten-header-inner { width:min(calc(100% - 40px),var(--berten-width)); min-height:82px; margin:auto; display:flex; align-items:center; gap:2rem; }
.berten-brand { flex:0 0 auto; line-height:0; }.berten-brand img { width:auto; height:58px; max-width:220px; object-fit:contain; }
.berten-navigation { margin-left:auto; display:flex; align-items:center; gap:1rem; }
.berten-navigation > .mod-menu { display:flex; flex-direction:row; align-items:center; flex-wrap:wrap; gap:.15rem; margin:0; padding:0; list-style:none; }
.berten-navigation > .mod-menu > li { position:relative; }
.berten-navigation .mod-menu a,.berten-navigation .mod-menu__separator { display:block; padding:.75rem .7rem; color:#fff; text-decoration:none; font-size:.88rem; text-transform:uppercase; letter-spacing:.04em; cursor:default; }
.berten-navigation .mod-menu a:hover,.berten-navigation .mod-menu .active>a { color:var(--berten-green); }
.berten-navigation .mod-menu__sub { position:absolute; z-index:20; top:100%; left:0; display:none; min-width:250px; margin:0; padding:.55rem; list-style:none; background:#fff; border-radius:3px; box-shadow:0 12px 28px rgba(0,0,0,.25); }
.berten-navigation .mod-menu__sub a { color:#181818; padding:.45rem .65rem; text-transform:none; letter-spacing:0; }
.berten-navigation .parent:hover>.mod-menu__sub,.berten-navigation .parent:focus-within>.mod-menu__sub { display:block; }
.berten-navigation .mod-languages { margin-left:.5rem; }.berten-navigation .mod-languages ul { display:flex; gap:.4rem; margin:0; padding:0; list-style:none; }
.berten-navigation .mod-languages li,.berten-navigation .mod-languages li.lang-active,.berten-navigation .mod-languages a { background:transparent; }
.berten-navigation .mod-languages li { margin:0; }
.berten-navigation .mod-languages a { display:flex; padding:.15rem; }
.berten-navigation .mod-languages img { width:24px; }
.berten-nav-toggle { display:none; margin-left:auto; border:0; background:transparent; padding:.5rem; }.berten-nav-toggle span:not(.visually-hidden) { display:block; width:28px; height:2px; margin:6px; background:#fff; }
.berten-hero { position:relative; min-height:430px; display:grid; align-items:center; overflow:hidden; color:#fff; background:#202225 url('../images/hero.jpg') center/cover no-repeat; }
.berten-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.12)); }
.berten-hero-content { position:relative; padding-block:5rem; }.berten-hero h1,.berten-hero h2 { max-width:100%; margin:.15em 0 !important; color:#fff; font-size:clamp(2.4rem,6vw,5rem) !important; line-height:1.08 !important; text-shadow:0 2px 12px #000; }.berten-hero h3 { max-width:100%; margin:.5rem 0 !important; color:#fff; font-size:clamp(1rem,2vw,1.35rem) !important; line-height:1.25 !important; text-shadow:0 2px 12px #000; }
.berten-hero p { max-width:650px; font-size:1.2rem; }.berten-hero a { color:#fff; }
.berten-section { padding:clamp(2.5rem,6vw,5rem) 0; }.berten-section-muted { background:var(--berten-muted); }
.berten-grid { display:grid; align-items:center; gap:clamp(2rem,6vw,5rem); }.berten-grid-equal { grid-template-columns:repeat(2,minmax(0,1fr)); }.berten-grid-wide { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }.berten-grid-narrow { grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); }
.berten-position:only-child { grid-column:1/-1; }.berten-media img { display:block; width:100%; height:auto; }
.berten-component { padding-block:2.5rem; }.berten-component:empty { display:none; }
.berten-site h1,.berten-site h2,.berten-site h3 { color:#18202a; line-height:1.25; }.berten-site h2 { font-size:clamp(1.7rem,3vw,2.6rem); }.berten-site h4 { color:var(--berten-green); }
.berten-site a { color:#739b10; }.berten-site .btn,.berten-site button,.berten-site input[type=submit] { border-color:var(--berten-green); background:var(--berten-green); color:#111; }
.berten-site img { max-width:100%; }.berten-site table { max-width:100%; }
.berten-image-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:.75rem; }
.berten-image-gallery a { display:block; overflow:hidden; border-radius:4px; background:#eee; aspect-ratio:4/3; }
.berten-image-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }.berten-image-gallery a:hover img { transform:scale(1.04); }
.berten-testimonials { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(280px,34%); gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; padding:.5rem 0 1rem; }
.berten-testimonial { scroll-snap-align:start; padding:1.5rem; background:var(--berten-muted); border-radius:6px; }.berten-testimonial blockquote { margin:1rem 0; font-size:.95rem; }.berten-testimonial-stars { color:var(--berten-green); font-size:1.3rem; letter-spacing:.12em; }
.berten-footer { padding:2.5rem 0; color:#eee; background:var(--berten-dark); }.berten-footer a { color:var(--berten-green); }
@media (max-width:1350px) {
  .berten-header-inner { min-height:70px; }.berten-brand img { height:48px; }
  .berten-nav-toggle { position:absolute; top:14px; right:20px; z-index:2; display:block; width:52px; height:44px; font-size:0 !important; color:#fff !important; background:transparent !important; }.berten-nav-toggle::before { content:"☰"; font-size:30px; line-height:1; }.berten-navigation { display:none; position:absolute; inset:70px 0 auto; padding:1rem 20px 1.5rem; background:var(--berten-dark); }
  .berten-navigation.is-open { display:block; }.berten-navigation > .mod-menu { display:block; }.berten-navigation .mod-menu a,.berten-navigation .mod-menu__separator { padding:.65rem 0; }
  .berten-navigation .mod-menu__sub { position:static; display:block; min-width:0; padding:0 0 0 1rem; background:transparent; box-shadow:none; }.berten-navigation .mod-menu__sub a { color:#ddd; }
  .berten-grid-equal,.berten-grid-wide,.berten-grid-narrow { grid-template-columns:1fr; }.berten-hero { min-height:340px; }
}
@media (max-width:520px) { .berten-shell,.berten-header-inner { width:min(calc(100% - 28px),var(--berten-width)); } body.berten-site { font-size:16px; } }
@media (max-width:700px) { .berten-testimonials { grid-auto-columns:85%; } }
