/* FB Projekt – Gestaltung (aus dem freigegebenen Prototyp übernommen) */

/* Layout: ruhiges Raster wie ein Bauplan – Maßlinien als Trenner, Inhalte in einer 1180px-Spalte, Olivgrün nur für Handlungen und Marke */
:root{
  --olive:#788B32; --olive-dark:#5F6F26; --green:#173B2C; --green-2:#21503D;
  --lime:#6F7A30; --lime-dark:#5A6427; --lime-soft:#EEF0E2; --charcoal:#222823;
  --paper:#F7F6EF; --white:#FFFFFF; --ink:#1E2A22; --muted:#56605A; --line:#D9DCCB; --tint:#ECEEE0;
  --display:"Montserrat", "Arial", sans-serif;
  --body:"Source Sans 3", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --wrap:1180px; --r:4px;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--body)}
a{color:var(--green)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,label:focus-within{outline:3px solid var(--olive);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--display);color:var(--green);line-height:1.12;margin:0;text-wrap:balance}
h1{overflow-wrap:break-word;hyphens:auto;font-weight:800;font-size:clamp(2.1rem,5.2vw,3.9rem);letter-spacing:-.01em}
h2{font-weight:800;font-size:clamp(1.6rem,3.2vw,2.5rem)}
h3{font-weight:700;font-size:1.2rem}
p{margin:0;max-width:65ch}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.label{font:600 .78rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--olive-dark);display:flex;align-items:center;gap:.7rem}
.label::before{content:"";width:28px;height:2px;background:var(--olive)}
.skip{position:absolute;left:-999px;top:0;background:var(--green);color:#fff;padding:.6rem 1rem;z-index:99}
.skip:focus{left:12px;top:12px}

/* Kopf */
.topbar{background:var(--green);color:#DDE3CF;font:500 .85rem/1 var(--display)}
.topbar .wrap{display:flex;gap:1.5rem;justify-content:flex-end;padding-block:.55rem;flex-wrap:wrap}
.topbar span{white-space:nowrap}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--white);border-bottom:1px solid var(--line)}
header.site nav a{white-space:nowrap}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.8rem}
.brand{display:block;color:var(--olive);line-height:0}
.brand svg{width:clamp(230px,26vw,330px);height:auto;aspect-ratio:7904/1396;fill:currentColor}
nav.main{display:flex;align-items:center;gap:.25rem}
nav.main a{font:600 .82rem/1 var(--display);letter-spacing:.07em;text-transform:uppercase;color:var(--charcoal);text-decoration:none;padding:.75rem .8rem;border-radius:2px}
nav.main a:hover,nav.main a[aria-current="page"]{background:var(--tint)}
.btn{display:inline-flex;align-items:center;gap:.6rem;font:700 .9rem/1 var(--display);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;border:2px solid var(--lime);background:var(--lime);color:#fff;padding:1rem 1.5rem;border-radius:2px;cursor:pointer}
.btn:hover{background:var(--lime-dark);border-color:var(--lime-dark)}
.btn.ghost{background:transparent;color:var(--green);border-color:var(--green)}
.btn.ghost:hover{background:var(--green);color:#fff}
.btn.light{background:#fff;border-color:#fff;color:var(--green)}
nav.main .btn{margin-left:.6rem;padding:.85rem 1.2rem;color:var(--charcoal)}
nav.main .btn:hover{background:var(--lime-dark)}
.menu-toggle{display:none;background:none;border:2px solid var(--green);border-radius:var(--r);padding:.55rem .7rem;font:700 .9rem/1 var(--display);color:var(--green);cursor:pointer}
@media (max-width:1380px){
  .menu-toggle{display:block}
  nav.main{position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:.5rem clamp(16px,4vw,40px) 1rem;display:none}
  nav.main.open{display:flex}
  nav.main .btn{margin:.5rem 0 0;justify-content:center}
  .topbar .wrap{justify-content:flex-start;gap:1rem}
}

/* Seiten */
section{padding-block:clamp(3rem,7vw,5.5rem)}
.dim{position:relative;height:18px;margin:0 auto;max-width:var(--wrap)}
.dim::before{content:"";position:absolute;left:clamp(16px,4vw,40px);right:clamp(16px,4vw,40px);top:9px;border-top:1px solid var(--line)}
.dim::after{content:"";position:absolute;left:clamp(16px,4vw,40px);right:clamp(16px,4vw,40px);top:3px;height:12px;border-left:1px solid var(--line);border-right:1px solid var(--line)}

/* Startseiten-Hero: Foto über volle Breite, Text links auf aufgehelltem Verlauf */
.hero-full{position:relative;padding:0;min-height:clamp(520px,72vh,720px);display:flex;align-items:center;overflow:hidden;background:var(--tint)}
.hero-full{background:var(--paper)}
.hero-full img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center;filter:saturate(.88) contrast(.96)}
.hero-full::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(250,250,245,.36) 0%,rgba(250,250,245,.3) 25%,rgba(250,250,245,.22) 42%,rgba(250,250,245,.15) 58%,rgba(250,250,245,.14) 100%)}
.hero-full .wrap{position:relative;z-index:2;width:100%;padding-block:clamp(3rem,7vw,5rem) clamp(7rem,12vw,9rem)}
.hero-full .bar{width:64px;height:6px;background:var(--lime);margin-bottom:1.6rem}
.hero-full h1{font-size:clamp(2.2rem,6vw,5rem);line-height:1.02;text-transform:uppercase;color:var(--charcoal);letter-spacing:-.01em;hyphens:none;overflow-wrap:normal}
.hero-full h1 span.l{display:block;white-space:nowrap}
.hero-full h1 .lime{color:#6F7A30}
.hero-full h1{text-shadow:0 0 22px rgba(255,255,250,.7)}
.hero-full .actions{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:.8rem}
.hero-full .sym{z-index:2}
@media (max-width:700px){.hero-full img.bg{object-position:72% center}.hero-full::before{background:linear-gradient(180deg,rgba(247,246,239,.72) 0%,rgba(247,246,239,.58) 55%,rgba(247,246,239,.15) 100%)}}
.cards-overlap{position:relative;z-index:3;margin-top:clamp(-6rem,-9vw,-4rem);padding-block:0 clamp(3rem,6vw,4.5rem)}
.cards-overlap .inner{background:var(--white);padding:clamp(1rem,2.5vw,1.8rem);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.8rem,1.8vw,1.4rem);box-shadow:0 18px 40px -24px rgba(23,40,30,.45)}
@media (max-width:980px){.cards-overlap .inner{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.cards-overlap .inner{grid-template-columns:1fr}}
.card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--paper);min-width:0}
.card .top{display:flex;align-items:center;gap:.9rem;padding-right:.8rem}
.card .sq{flex:0 0 auto;width:64px;height:64px;display:grid;place-items:center;background:var(--lime);color:#fff}
.card .sq svg{width:32px;height:32px}
.card h3{font-size:clamp(.8rem,.9vw,.95rem);letter-spacing:.05em;hyphens:manual;text-transform:uppercase;color:var(--charcoal)}
.card .img{aspect-ratio:4/3;width:100%;height:auto;max-width:100%;object-fit:cover;display:block;background:var(--tint)}
.card .ph{aspect-ratio:4/3;display:grid;place-items:center;color:var(--olive-dark);font:600 .8rem/1.3 var(--display);text-align:center;background:
  repeating-linear-gradient(0deg,transparent 0 22px,rgba(120,139,50,.18) 22px 24px),repeating-linear-gradient(90deg,transparent 0 22px,rgba(120,139,50,.18) 22px 24px),var(--tint)}
.card:hover .top h3{color:var(--olive-dark)}
.card .go{padding:.8rem .9rem;font:700 .8rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--olive-dark)}


/* Seitenkopf der Unterseiten – gleiche Bildsprache wie die Startseite */
.page-hero{position:relative;overflow:hidden;background:var(--paper);min-height:clamp(320px,44vh,440px);display:flex;align-items:center;padding:0;border-bottom:1px solid var(--line)}
.page-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(250,250,245,.72) 0%,rgba(250,250,245,.55) 28%,rgba(250,250,245,.18) 44%,rgba(250,250,245,0) 54%)}
.page-hero:not(.plain) h1,.page-hero:not(.plain) .lead,.page-hero:not(.plain) .crumb{text-shadow:0 0 18px rgba(255,255,250,.85),0 0 3px rgba(255,255,250,.6)}
.page-hero.tall{min-height:clamp(420px,62vh,600px)}
.page-hero.split{--tx:min(400px,34vw);--il:calc(max(0px,(100% - var(--wrap))/2) + clamp(16px,4vw,40px) + var(--tx) + 3rem)}
.page-hero.split img.bg{left:var(--il);width:calc(100% - var(--il));right:auto;max-width:none}
.page-hero.split::before{left:var(--il);width:90px;right:auto;background:linear-gradient(90deg,var(--paper),rgba(247,246,239,0))}
.page-hero.split h1,.page-hero.split .lead,.page-hero.split .crumb{text-shadow:none}
.page-hero.split .wrap>*{max-width:var(--tx)}
.page-hero.split .bar{max-width:56px}
.page-hero.split h1{font-size:clamp(1.9rem,3.3vw,3.1rem)}
.page-hero.split .lead{font-size:1.05rem}
@media (max-width:700px){.page-hero.split{display:flex;flex-direction:column;align-items:stretch;min-height:0}.page-hero.split img.bg{position:static;width:100%;height:260px;order:-1}.page-hero.split::before{display:none}.page-hero.split .wrap>*{max-width:none}}

.page-hero.plain::before{background:
  linear-gradient(90deg,var(--paper) 0%,var(--paper) 46%,rgba(247,246,239,.55) 54%,rgba(247,246,239,.1) 70%,rgba(247,246,239,0) 100%),
  repeating-linear-gradient(0deg,transparent 0 46px,rgba(120,139,50,.16) 46px 49px),
  repeating-linear-gradient(90deg,transparent 0 46px,rgba(120,139,50,.16) 46px 49px)}
.page-hero .wrap{position:relative;z-index:2;width:100%;padding-block:clamp(2.6rem,6vw,4rem)}
.page-hero .crumb{margin-bottom:1.2rem}
.page-hero .bar{width:56px;height:6px;background:var(--lime);margin-bottom:1.3rem}
.page-hero h1{text-transform:uppercase;color:var(--charcoal);font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.04;max-width:16ch;hyphens:manual}
.page-hero .lead{margin-top:1.1rem;font-size:1.15rem;color:#3E4740;max-width:52ch}
.page-hero .cta{margin-top:1.8rem}
.page-hero .sym-tag{position:absolute;right:1rem;bottom:1rem;z-index:2;font:600 .7rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;background:rgba(23,59,44,.82);color:#fff;padding:.4rem .55rem}
@media (max-width:700px){.page-hero::before{background:linear-gradient(180deg,rgba(250,250,245,.78),rgba(250,250,245,.5))}}
h1,h2,h3{color:var(--charcoal)}
.label::before{background:var(--lime);height:3px}
.checklist li::before{background:var(--lime)}
.checklist li{color:var(--charcoal)}
.btn.ghost{color:var(--charcoal);border-color:var(--charcoal)}
.btn.ghost:hover{background:var(--charcoal);color:#fff}
.steps li{border-top-color:var(--lime)}
.note{border-left-color:var(--lime)}
.progress li.on b,.progress li.done b{border-color:var(--lime);background:var(--lime);color:#fff}
.progress li.on{box-shadow:inset 3px 0 0 var(--lime)}
.choice:has(input:checked){border-color:var(--lime-dark);background:#F5F8E4}
.choice input{accent-color:var(--lime-dark)}

/* Hero (Unterseiten, alt) */
.hero{padding-block:0;background:var(--white)}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding-block:clamp(2.5rem,6vw,4.5rem)}
.hero h1 .ol{color:var(--olive)}
.hero p.lead{font-size:1.2rem;color:var(--muted);margin-top:1.3rem}
.hero .actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
figure{margin:0;position:relative}
.photo{width:100%;height:auto;max-width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:var(--r);background:var(--tint)}
figcaption.sym{position:absolute;right:.6rem;bottom:.6rem;font:600 .7rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;background:rgba(23,59,44,.82);color:#fff;padding:.4rem .55rem;border-radius:2px}
.facts{display:flex;flex-wrap:wrap;gap:1.6rem 2.4rem;margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.facts div{font:600 .9rem/1.3 var(--display);color:var(--green)}
.facts small{display:block;font:400 .82rem/1.3 var(--body);color:var(--muted);margin-top:.2rem}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}}

/* Leistungen */
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.2rem}
@media (max-width:980px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.grid4{grid-template-columns:1fr}}
.svc{background:var(--white);padding:1.6rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.8rem;text-decoration:none;color:inherit;min-width:0}
.svc:hover{background:#FBFBF6}
.svc .code{font:700 .75rem/1 var(--display);letter-spacing:.12em;color:var(--olive-dark)}
.svc p{color:var(--muted);font-size:.98rem}
.svc .more{margin-top:auto;font:700 .9rem/1 var(--display);color:var(--olive-dark)}
.svc .ico{width:44px;height:44px;color:var(--olive)}
.head-row{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;flex-wrap:wrap}
.head-row > div{display:grid;gap:.9rem;min-width:0}

/* Ablauf */
.steps{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;counter-reset:s}
@media (max-width:860px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.steps li{counter-increment:s;border-top:3px solid var(--olive);padding-top:1rem;display:grid;gap:.5rem}
.steps li::before{content:"Schritt " counter(s);font:700 .75rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--olive-dark)}
.steps p{color:var(--muted);font-size:.98rem}

/* Band */
.band{background:var(--green);color:#E4E9D8}
.band h2{color:#fff}
.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.band p{color:#C9D29A;margin-top:.6rem}
.band .phone{font:800 clamp(1.6rem,3.4vw,2.4rem)/1 var(--display);color:#fff;letter-spacing:.01em;user-select:all}

/* Detailseite */
.detail-hero{background:var(--white);border-bottom:1px solid var(--line)}
.detail-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
@media (max-width:860px){.detail-hero .wrap{grid-template-columns:1fr}}
.crumb{font:500 .85rem/1 var(--display);color:var(--muted);margin-bottom:1.4rem}
.crumb a{color:var(--muted)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.checklist{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.1rem}
.checklist li{display:flex;gap:.8rem;align-items:baseline;padding:.75rem 0;border-bottom:1px solid var(--line);font-weight:600;color:var(--green)}
.checklist li::before{content:"";flex:0 0 10px;height:10px;background:var(--olive);transform:translateY(-1px)}
.note{background:var(--tint);border-left:3px solid var(--olive);padding:1rem 1.2rem;font-size:.95rem;color:var(--muted)}
.panel{background:var(--white);border:1px solid var(--line);padding:clamp(1.3rem,3vw,2rem);border-radius:var(--r)}
.placeholder-photo{aspect-ratio:4/3;border-radius:var(--r);background:
  repeating-linear-gradient(0deg,transparent 0 38px,rgba(120,139,50,.18) 38px 40px),
  repeating-linear-gradient(90deg,transparent 0 38px,rgba(120,139,50,.18) 38px 40px),var(--tint);
  display:grid;place-items:center;text-align:center;color:var(--olive-dark);font:600 .9rem/1.4 var(--display);padding:1rem}

/* Formular */
.form-wrap{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem)}
@media (max-width:860px){.form-wrap{grid-template-columns:minmax(0,1fr)}}
.progress{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;align-content:start}
.progress li{display:flex;gap:.8rem;align-items:center;padding:.7rem .9rem;border-radius:var(--r);font:600 .95rem/1.2 var(--display);color:var(--muted)}
.progress li b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--line);font-size:.8rem;flex:0 0 auto}
.progress li.on{background:var(--white);color:var(--green);box-shadow:inset 3px 0 0 var(--olive)}
.progress li.on b,.progress li.done b{border-color:var(--olive);background:var(--olive);color:#fff}
@media (max-width:860px){.progress{grid-template-columns:repeat(4,minmax(0,1fr))}.progress li{flex-direction:column;text-align:center;font-size:.72rem;padding:.5rem .2rem}.progress li.on{box-shadow:inset 0 -3px 0 var(--olive)}}
fieldset{border:0;margin:0;padding:0;display:grid;gap:1.1rem;min-width:0}
legend{font:800 1.4rem/1.2 var(--display);color:var(--green);margin-bottom:.6rem;padding:0}
.field{display:grid;gap:.4rem;min-width:0}
.panel{min-width:0;max-width:100%}.panel fieldset,.panel form{min-width:0}.panel fieldset{grid-template-columns:minmax(0,1fr)}
.field input,.field select,.field textarea{min-width:0;max-width:100%;width:100%}
.field label,.field .lbl{font:600 .9rem/1.2 var(--display);color:var(--green)}
.field .hint{font-size:.85rem;color:var(--muted)}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{width:100%;font:400 1rem/1.4 var(--body);color:var(--ink);background:#fff;border:1.5px solid #C7CBB5;border-radius:var(--r);padding:.75rem .85rem}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--olive)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:.7rem}
.choice{position:relative;display:flex;gap:.7rem;align-items:center;border:1.5px solid #C7CBB5;border-radius:var(--r);padding:.85rem .9rem;background:#fff;cursor:pointer;font-weight:600;color:var(--green)}
.choice input{accent-color:var(--olive);width:18px;height:18px;flex:0 0 auto}
.choice:has(input:checked){border-color:var(--olive);background:#F4F6EA}
.form-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.8rem;flex-wrap:wrap}
.err{color:#9B2C1F;font-size:.9rem;font-weight:600}
.summary{display:grid;gap:.1rem;margin:0}
.summary div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
.summary dt{font:600 .85rem/1.4 var(--display);color:var(--muted)}
.summary dd{margin:0;font-weight:600;color:var(--green);overflow-wrap:anywhere}
@media (max-width:520px){.summary div{grid-template-columns:1fr;gap:.2rem}}

/* Jobs */
.job{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.3rem 0;border-bottom:1px solid var(--line)}
.job .meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.chip{font:600 .78rem/1 var(--display);background:var(--tint);color:var(--green);padding:.4rem .6rem;border-radius:2px}
.chip.ex{background:#FFF4D6;color:#6B4E00}
@media (max-width:620px){.job{grid-template-columns:1fr}}

/* Rechtliches */
.legal h2{font-size:1.35rem;margin-top:2rem;margin-bottom:.6rem}
.legal p{margin-bottom:.4rem}
.legal address{font-style:normal;line-height:1.7}

/* Fuß */
footer.site{background:var(--green);color:#C8D0BE;padding-block:3.2rem 1.6rem;font-size:.95rem}
footer.site .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
@media (max-width:860px){footer.site .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer.site .cols{grid-template-columns:1fr}}
footer.site h4{color:#fff;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.9rem}
footer.site a{color:#E4E9D8;text-decoration:none}
footer.site a:hover{text-decoration:underline}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
footer.site .brand svg{width:240px;fill:#fff}
footer.site .base{margin-top:2.6rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem}
.proto{background:#FFF4D6;color:#6B4E00;font:600 .82rem/1.4 var(--display);text-align:center;padding:.5rem 16px}

/* Gewerk-Unterseiten */
section.alt{background:var(--white)}
.prose p+p{margin-top:1rem}.prose p{color:#3E4740;font-size:1.05rem}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(2rem,4vw,3rem)}
.svc-item{background:var(--paper);padding:clamp(1.2rem,2.4vw,1.8rem)}
.svc-item .dot{display:block;width:28px;height:5px;background:var(--lime);margin-bottom:1rem}
.svc-item h3{font-size:1.05rem;color:var(--charcoal)}
.svc-item p{margin-top:.5rem;color:var(--muted);font-size:.97rem}
@media (max-width:900px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr}}
.steps{list-style:none;padding:0;margin:clamp(1.8rem,4vw,2.6rem) 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2.4vw,2rem);counter-reset:s}
.steps li{border-top:4px solid var(--lime);padding-top:1.1rem}
.steps .n{font:800 1.9rem/1 var(--display);color:var(--olive)}
.steps h3{margin-top:.7rem;font-size:1.05rem;color:var(--charcoal)}
.steps p{margin-top:.4rem;color:var(--muted);font-size:.97rem}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.faq{display:grid;gap:.6rem}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:var(--r)}
.faq summary{cursor:pointer;list-style:none;padding:1rem 1.2rem;font:700 1rem/1.35 var(--display);color:var(--charcoal);display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--olive-dark);font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 1.2rem 1.1rem;color:var(--muted)}
.others{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem}
.other{display:flex;align-items:center;gap:1rem;background:var(--paper);text-decoration:none;color:var(--charcoal);font:700 .9rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.04em;padding-right:1rem}
.other .sq{flex:0 0 auto;width:56px;height:56px;display:grid;place-items:center;background:var(--lime)}
.other .sq svg{width:30px;height:30px}
.other .arr{margin-left:auto;color:var(--olive-dark)}
.other:hover{background:var(--tint)}
@media (max-width:760px){.others{grid-template-columns:1fr}}
.gw-switch{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}
.gw-switch a{font:600 .8rem/1 var(--display);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--charcoal);border:1.5px solid var(--line);background:var(--white);padding:.6rem .8rem;border-radius:2px}
.gw-switch a:hover{border-color:var(--lime)}
.gw-switch a[aria-current]{background:var(--lime);border-color:var(--lime)}
.others.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1180px){.others.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.others.four{grid-template-columns:1fr}}
.page-hero .cta{display:flex;flex-wrap:wrap;gap:.6rem}.page-hero .cta .btn.ghost{background:var(--white)}
@media (max-width:520px){.page-hero h1,.page-hero.split h1{font-size:1.7rem}}
.choice{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.6rem);margin-top:clamp(1.6rem,3vw,2.4rem)}
.person{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--lime);padding:clamp(1.3rem,2.6vw,2rem);min-width:0}
.person .ini{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--green);color:#fff;font:700 1.25rem/1 var(--display);box-shadow:0 0 0 4px var(--lime)}
.person h3{margin-top:1.3rem;font-size:1.2rem;color:var(--charcoal)}
.person .role{margin-top:.4rem;color:var(--muted)}
.person .mail{display:inline-block;margin-top:1rem;color:var(--charcoal);font-weight:600;text-decoration-color:var(--lime);text-decoration-thickness:2px;text-underline-offset:4px;overflow-wrap:anywhere}
.person .mail:hover{color:var(--olive-dark)}
@media (max-width:900px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.team{grid-template-columns:1fr}}
.person{display:flex;flex-direction:column}.person .ini{flex:0 0 auto}.person .role{margin-bottom:1rem}.person .mail{margin-top:auto;align-self:flex-start}
.hero-band{position:relative;padding:0;height:clamp(340px,62vh,640px);overflow:hidden;background:var(--paper)}
.hero-band img.bg{width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.hero-band .sym-tag{position:absolute;right:1rem;bottom:1rem;font:600 .7rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;background:rgba(23,59,44,.82);color:#fff;padding:.4rem .55rem}
.hero-box-wrap{padding:0;position:relative;z-index:3}
.hero-box{background:var(--paper);border-top:6px solid var(--lime);max-width:640px;margin-top:clamp(-11rem,-14vw,-5rem);padding:clamp(1.4rem,3.2vw,2.6rem) clamp(1.2rem,3.2vw,2.8rem) clamp(1.2rem,2.6vw,2rem);box-shadow:0 22px 44px -28px rgba(23,40,30,.5)}
.hero-box h1{margin-top:.9rem;text-transform:uppercase;color:var(--charcoal);font-size:clamp(1.9rem,4vw,3.3rem);line-height:1.04}
.hero-box .lead{margin-top:1rem;font-size:1.1rem;color:#3E4740;max-width:46ch}
@media (max-width:560px){.hero-box{margin-top:-2.5rem;margin-inline:-4px}.hero-box h1{font-size:1.75rem}}
.hero-full.about{min-height:clamp(520px,78vh,780px)}
.hero-full.about .wrap{padding-block:clamp(3rem,6vw,4.5rem)}
.hero-full.about img.bg{object-position:60% 30%;filter:saturate(.92)}
.hero-full.about::before{background:linear-gradient(90deg,rgba(250,250,245,.86) 0%,rgba(250,250,245,.74) 26%,rgba(250,250,245,.4) 44%,rgba(250,250,245,.16) 60%,rgba(250,250,245,.12) 100%)}
.hero-full.about .label::before{display:none}
.hero-full.about .lead{margin-top:1.2rem;font-size:1.15rem;color:#2E3530;max-width:40ch;text-shadow:0 0 14px rgba(255,255,250,.8)}
.hero-full.about h1{font-size:clamp(2.2rem,5.2vw,4.4rem)}
.hero-full .sym{position:absolute;right:1rem;bottom:1rem;font:600 .7rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;background:rgba(23,59,44,.82);color:#fff;padding:.4rem .55rem}
@media (max-width:700px){.hero-full.about img.bg{object-position:28% 30%}.hero-full.about::before{background:linear-gradient(180deg,rgba(247,246,239,.82),rgba(247,246,239,.6))}}
.hero-whole{position:relative;padding:0;overflow:hidden;background:var(--paper)}
.hero-whole img.bg{display:block;width:100%;height:auto;max-width:none}
.hero-whole::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(250,250,245,.42) 0%,rgba(250,250,245,.26) 30%,rgba(250,250,245,.1) 55%,rgba(250,250,245,.06) 100%)}
.hero-whole .wrap{position:absolute;left:0;right:0;top:0;z-index:2;padding-top:clamp(1rem,1.6vw,1.8rem)}
.hero-whole .bar{width:64px;height:6px;background:var(--lime);margin:.7rem 0 .8rem}
.hero-whole h1{white-space:nowrap;text-transform:uppercase;color:var(--charcoal);font-size:clamp(1.6rem,3vw,3.4rem);line-height:1.02;text-shadow:0 0 24px rgba(255,255,250,.85),0 0 6px rgba(255,255,250,.6)}
.hero-whole h1 span.l{display:block;white-space:nowrap}
.hero-whole h1 .lime{color:#6F7A30}
.hero-whole .crumb{text-shadow:0 0 8px rgba(255,255,250,.9)}
.hero-whole .sym{position:absolute;z-index:2;right:1rem;bottom:1rem;font:600 .7rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;background:rgba(23,59,44,.82);color:#fff;padding:.4rem .55rem}
@media (max-width:1100px){.hero-whole h1{white-space:normal;font-size:clamp(1.6rem,4.4vw,2.6rem)}.hero-whole .wrap{position:static;padding-block:1.4rem 0;background:var(--paper)}.hero-whole{display:flex;flex-direction:column-reverse}.hero-whole .wrap{padding-bottom:1.2rem}.hero-whole::before{display:none}.hero-whole h1{text-shadow:none}}
.intro{max-width:62ch;font:600 clamp(1.1rem,1.7vw,1.35rem)/1.5 var(--display);color:var(--charcoal)}
.intro-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem 2rem}
.other{min-width:0}.other>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.hero-whole h1 .lime{color:#6F7A30;text-shadow:0 0 18px rgba(255,255,250,.95),0 0 4px rgba(255,255,250,.8)}
@media (min-width:1101px){.hero-whole img.bg{aspect-ratio:16/8.4;height:auto;object-fit:cover;object-position:50% 0%;max-height:78vh;min-height:520px}}
@media (min-width:1101px){.hero-whole.tr .wrap{text-align:right}.hero-whole.tr .bar{margin-left:auto}.hero-whole.tr .crumb{text-align:right;max-width:none;margin-left:auto}.hero-whole.tr::before{background:linear-gradient(180deg,rgba(250,250,245,.62) 0%,rgba(250,250,245,.45) 14%,rgba(250,250,245,0) 30%),linear-gradient(270deg,rgba(250,250,245,.22) 0%,rgba(250,250,245,.06) 60%,rgba(250,250,245,.04) 100%)}}
@media (min-width:1101px){.hero-whole.tr img.bg{aspect-ratio:auto;max-height:none;min-height:0;object-fit:fill}}
@media (min-width:1101px){.hero-whole.tr{max-width:1100px;margin:clamp(1.5rem,3vw,2.5rem) auto 0}.hero-whole.tr .wrap{padding-inline:2.2rem}.hero-whole.tr h1{font-size:clamp(1.5rem,2.3vw,2.5rem)}}
.about-hero{padding-block:clamp(2rem,4.5vw,3.8rem)}
.ah-wrap{max-width:1440px;margin:0 auto;padding-inline:clamp(16px,4vw,40px);display:grid;grid-template-columns:minmax(300px,400px) minmax(0,900px);justify-content:center;gap:clamp(1.8rem,4vw,3.5rem);align-items:center}
.ah-text .bar{width:56px;height:6px;background:var(--lime);margin:1.1rem 0 1rem}
.ah-text h1{margin-top:.9rem;text-transform:uppercase;color:var(--charcoal);font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.04}
.ah-text h1 .lime{color:var(--lime-dark)}
.ah-text .lead{margin-top:1.1rem;font-size:1.12rem;color:#3E4740;max-width:42ch}
.ah-text .cta{margin-top:1.6rem}
.ah-img{position:relative;margin:0}
.ah-img img{display:block;width:100%;height:auto;max-width:none;border-top:6px solid var(--lime);box-shadow:0 24px 48px -30px rgba(23,40,30,.55)}
.ah-img .sym{position:absolute;right:.8rem;bottom:.8rem;font:600 .7rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;background:rgba(23,59,44,.82);color:#fff;padding:.4rem .55rem}
@media (max-width:1000px){.ah-wrap{grid-template-columns:minmax(0,1fr)}.ah-img{order:-1}}
.contact-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.2rem}
.contact-list li{display:flex;gap:.9rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--line)}
.contact-list .ci{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;background:var(--lime);color:#fff}
.contact-list .ci svg{width:22px;height:22px}
.contact-list small{display:block;font:600 .72rem/1.2 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.contact-list a,.contact-list li>span:last-child{font-weight:600;color:var(--charcoal);text-decoration:none;overflow-wrap:anywhere}
.contact-list a:hover{color:var(--olive-dark);text-decoration:underline}
.contact-list li{gap:1rem;padding:.85rem 0}
.contact-list .ci{width:auto;height:auto;background:none;color:var(--charcoal)}
.contact-list .ci svg{width:26px;height:26px;stroke-width:1.8}
.contact-list small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.contact-list a,.contact-list li>span:last-child{font:500 1.25rem/1.3 var(--body,inherit);color:var(--charcoal)}
.contact-list .tag{font:600 .72rem/1 var(--display);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-left:.4rem;vertical-align:middle}
.contact-person{margin-top:1.2rem}.contact-person p{font-size:1.1rem;color:var(--charcoal)}.contact-person .contact-list{margin-top:.2rem}.contact-person .contact-list li{border-bottom:0;padding:.4rem 0}

.display{font-size:clamp(2.1rem,4.6vw,4rem);line-height:1.04;letter-spacing:-.015em;color:var(--charcoal);margin-top:1rem}
.display.sm{font-size:clamp(1.9rem,3.6vw,3.1rem)}
.display .lime{color:var(--lime-dark)}
.intro-big{background:var(--paper)}
.intro-text{margin-top:1.6rem;max-width:58ch;font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.6;color:var(--charcoal)}
.more-line{margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.arrow-link{font:700 1rem/1.3 var(--display);color:var(--charcoal);text-decoration:none;display:inline-flex;gap:.4rem;align-items:baseline}
.arrow-link:hover{color:var(--olive-dark);text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:2px;text-underline-offset:4px}
.arrow-link.accent{color:var(--olive-dark)}
.next-steps{list-style:none;padding:0;margin:clamp(2rem,4vw,3rem) 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.2rem,2.6vw,2.4rem)}
.next-steps li{border-top:2px solid var(--line);padding-top:1.4rem;display:flex;flex-direction:column}
.next-steps .n{font:600 .9rem/1 var(--display);letter-spacing:.12em;color:var(--olive-dark)}
.next-steps h3{margin-top:1.2rem;font-size:clamp(1.15rem,1.5vw,1.4rem);color:var(--charcoal)}
.next-steps p{margin-top:1rem;color:var(--muted);flex:1}
.next-steps .arrow-link{margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--line)}
@media (max-width:980px){.next-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.next-steps{grid-template-columns:1fr}}
.news-teaser{background:var(--paper)}
.teaser-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,2rem);margin-top:clamp(1.6rem,3vw,2.4rem)}
.teaser-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
.teaser{background:var(--white);border-top:5px solid var(--olive);padding:clamp(1.4rem,3vw,2.6rem);display:flex;flex-direction:column;min-width:0}
.teaser .kicker{font:600 .82rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--olive-dark)}
.teaser h3{margin-top:1.3rem;font-size:clamp(1.25rem,1.8vw,1.6rem);color:var(--charcoal)}
.teaser p:not(.kicker){margin-top:1.1rem;color:var(--muted);font-size:1.05rem;flex:1}
.teaser .arrow-link{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.95rem}
@media (max-width:860px){.teaser-grid,.teaser-grid.three{grid-template-columns:1fr}}
.lst-head{display:grid;grid-template-columns:1fr minmax(0,44ch);gap:2rem;align-items:end}
.lst-head p{color:var(--muted);font-size:1.1rem}
@media (max-width:860px){.lst-head{grid-template-columns:1fr}}
.lst-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.8rem);margin-top:clamp(2rem,4vw,3rem)}
@media (max-width:1000px){.lst-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.lst-grid{grid-template-columns:1fr}}
.lst-card{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:inherit;min-width:0}
.lst-card .pic{position:relative;width:100%}
.lst-card .pic img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;max-width:none}
.lst-card .pic .tag{position:absolute;right:.7rem;bottom:.7rem;background:#fff;color:var(--charcoal);font:500 .75rem/1 var(--body,inherit);padding:.35rem .5rem}
.lst-card .rnd{width:84px;height:84px;border-radius:50%;background:var(--olive);display:grid;place-items:center;margin-top:-42px;position:relative;z-index:1;border:4px solid var(--white)}
.lst-card .rnd svg{width:40px;height:40px}
.lst-card h3{margin-top:1.2rem;font-size:clamp(1rem,1.3vw,1.2rem);text-transform:uppercase;letter-spacing:.04em;color:var(--charcoal);hyphens:manual}
.lst-card .ln{width:44px;height:4px;background:var(--olive);margin:1rem auto}
.lst-card p{color:var(--muted);max-width:30ch}
.lst-card:hover h3{color:var(--olive-dark)}
.req-modal{border:0;padding:0;width:min(760px,calc(100% - 24px));max-height:calc(100% - 24px);background:var(--paper);color:var(--charcoal);box-shadow:0 30px 80px -20px rgba(0,0,0,.45)}
.req-modal::backdrop{background:rgba(23,40,30,.6)}
.req-modal form{padding:clamp(1.4rem,4vw,3rem);display:grid;gap:1.1rem}
.rm-close{position:absolute;right:1rem;top:1rem;background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--charcoal);padding:.4rem}
.rm-step{font:600 .85rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--olive-dark)}
.rm-pane{display:grid;gap:1.1rem}.rm-pane[hidden]{display:none}
.rm-pane h2{font-size:clamp(1.7rem,3.4vw,2.6rem);color:var(--charcoal)}
.rm-note{background:#EDF1E2;padding:.9rem 1rem;font-size:.98rem}
.rm-actions{display:flex;justify-content:flex-end;gap:.7rem;flex-wrap:wrap}
.rm-sum{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.2rem;margin:0}
.rm-sum dt{font-weight:700}.rm-sum dd{margin:0;overflow-wrap:anywhere}
.req-modal .choice{display:block;line-height:1.5}.req-modal .choice input{margin-right:.5rem;vertical-align:-2px}
.rm-hint{color:var(--muted);font-size:.98rem}
.rm-sum{background:#EDF1E2;padding:1.1rem 1.3rem}
.req-modal{overflow:auto}

.req-modal{width:min(1040px,calc(100% - 24px));overflow:hidden}
.req-modal[open]{animation:rmIn .28s ease-out}
@keyframes rmIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.rm-layout{display:grid;grid-template-columns:280px minmax(0,1fr);max-height:calc(100vh - 24px)}
.req-modal form{overflow:auto;max-height:calc(100vh - 24px)}
.rm-side{background:var(--green);color:#E4E9D8;padding:2.6rem 1.8rem;display:flex;flex-direction:column;gap:.35rem;position:relative;overflow:hidden;
  background-image:repeating-linear-gradient(0deg,transparent 0 46px,rgba(111,122,48,.09) 46px 48px),repeating-linear-gradient(90deg,transparent 0 46px,rgba(111,122,48,.09) 46px 48px)}
.rm-mono{width:64px;color:var(--lime);margin-bottom:1.6rem}.rm-mono svg{width:100%;height:auto;display:block;fill:currentColor}
.rm-side-k{font:600 .75rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.rm-side-n{font:700 1.35rem/1.2 var(--display);color:#fff;margin-top:.5rem}
.rm-side-r{font-size:.92rem;color:#C9D29A}
.rm-side-c{margin-top:1.4rem;line-height:1.8}.rm-side-c a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(111,122,48,.6);overflow-wrap:anywhere}
.rm-side-t{margin-top:auto;padding-top:2rem;font-size:.9rem;color:#C9D29A}
.rm-prog{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.rm-prog span{height:5px;background:var(--line);transition:background .25s}.rm-prog span.on{background:var(--lime)}
.rm-tiles{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.rm-tiles legend{font:600 .9rem/1.2 var(--display);color:var(--green);margin-bottom:.8rem;padding:0}
.rm-tile{position:relative;display:flex;align-items:center;gap:.9rem;background:var(--white);border:2px solid var(--line);padding:.6rem .9rem .6rem .6rem;cursor:pointer;transition:border-color .15s,transform .15s;min-width:0}
.rm-tile:hover{border-color:var(--lime);transform:translateY(-2px)}
.rm-tile input{position:absolute;opacity:0;pointer-events:none}
.rm-tile img{width:74px;height:58px;object-fit:cover;flex:0 0 auto;max-width:none}
.rm-tile .tx{font:700 .95rem/1.25 var(--display);color:var(--charcoal);text-transform:uppercase;letter-spacing:.03em;overflow-wrap:anywhere;hyphens:manual}
.rm-tile .ck{margin-left:auto;flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;color:transparent;font-size:.8rem}
.rm-tile:has(input:checked){border-color:var(--lime);background:#EEF0E2}
.rm-tile:has(input:checked) .ck{background:var(--lime);border-color:var(--lime);color:#fff}
.rm-tile:has(input:focus-visible){outline:3px solid var(--olive);outline-offset:2px}
@media (max-width:760px){.rm-layout{grid-template-columns:1fr}.rm-side{display:none}.rm-tiles{grid-template-columns:1fr}}
.req-modal .field input,.req-modal .field select,.req-modal .field textarea{font:400 1rem/1.4 inherit;padding:.8rem .9rem;border:1.5px solid #A9B39A;background:var(--white);color:var(--charcoal);border-radius:2px;min-height:48px}
.req-modal .field input:focus,.req-modal .field select:focus,.req-modal .field textarea:focus{outline:3px solid var(--lime);outline-offset:0;border-color:var(--olive)}
.rm-side-c{font-size:.92rem}
.intro-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.4rem)}
.info{background:var(--white);border:1px solid var(--line);border-top:5px solid var(--olive);padding:clamp(1.2rem,2.4vw,2rem);display:flex;flex-direction:column;gap:.9rem;min-width:0}
.info h3{font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.2;color:var(--charcoal);hyphens:manual}
.info p{color:var(--muted);line-height:1.6}
.u-link{margin-top:auto;align-self:flex-start;font:600 .95rem/1.3 var(--display);color:var(--olive-dark);text-decoration:none;border-bottom:2px solid var(--lime);padding-bottom:2px}
.u-link:hover{color:var(--charcoal)}
@media (max-width:1000px){.intro-split{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.info-grid{grid-template-columns:minmax(0,1fr)}}
.intro-big .display{font-size:clamp(2rem,3.6vw,3.4rem)}
.info{position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.info:hover{transform:translateY(-3px);box-shadow:0 18px 36px -26px rgba(23,40,30,.55)}
.info .ib{width:46px;height:46px;display:grid;place-items:center;background:var(--lime);color:#fff}
.info .ib svg{width:24px;height:24px}
.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:auto}
.chip-link{display:inline-flex;align-items:center;gap:.4rem;font:600 .8rem/1 var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--charcoal);text-decoration:none;background:var(--paper);border:1px solid var(--line);padding:.5rem .6rem}
.chip-link svg{width:16px;height:16px}
.chip-link:hover{background:var(--lime);border-color:var(--lime)}
.info.dark{background:var(--green);border-color:var(--green);border-top-color:var(--lime);color:#E4E9D8}
.info.dark h3{color:#fff;font-size:clamp(1.6rem,2.4vw,2.2rem);position:relative}
.info.dark p{color:#C9D29A;position:relative}
.info.dark .k{font:600 .75rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.radar{position:absolute;right:-50px;bottom:-50px;width:210px;height:210px;fill:none;stroke:rgba(111,122,48,.35);stroke-width:1.5}
.radar .dot{fill:var(--lime);stroke:none}
.radar circle:not(.dot){animation:pulse 3.2s ease-out infinite;transform-origin:100px 100px}
.radar circle:nth-child(2){animation-delay:.5s}.radar circle:nth-child(3){animation-delay:1s}
@keyframes pulse{0%{opacity:.25}50%{opacity:1}100%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.radar circle{animation:none}.info{transition:none}}
.info.lime{background:#EEF0E2;border-color:#D4D9BC;border-top-color:var(--lime-dark)}
.info.lime .ib{background:var(--charcoal);color:var(--lime)}
.big-tel{font:800 clamp(1.15rem,1.7vw,1.45rem)/1.2 var(--display);color:var(--charcoal);text-decoration:none;white-space:nowrap}
.big-tel:hover{color:var(--olive-dark)}
.info.lime .u-link{margin-top:0}
.career-band{background:var(--green);color:#E4E9D8;position:relative;overflow:hidden;
  background-image:repeating-linear-gradient(0deg,transparent 0 46px,rgba(111,122,48,.07) 46px 48px),repeating-linear-gradient(90deg,transparent 0 46px,rgba(111,122,48,.07) 46px 48px)}
.cb-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center;position:relative}
.career-band .label{color:var(--lime)}
.career-band .display{color:#fff}
.career-band .display .lime{color:var(--lime)}
.cb-text{margin-top:1.4rem;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.6;color:#D7DEC6;max-width:48ch}
.cb-box{border:1px solid rgba(201,210,154,.45);border-top:5px solid var(--lime);background:rgba(10,30,20,.35);padding:clamp(1.5rem,3.4vw,2.8rem);backdrop-filter:blur(2px)}
.cb-box h3{color:#fff;font-size:clamp(1.3rem,2vw,1.7rem)}
.cb-box>p{margin-top:1rem;color:#D7DEC6;line-height:1.6}
.cb-k{margin-top:1.6rem!important;font:600 .75rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--lime)!important}
.cb-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}
.cb-chips a{display:inline-flex;align-items:center;gap:.45rem;font:600 .82rem/1 var(--display);text-transform:uppercase;letter-spacing:.04em;color:#fff;text-decoration:none;border:1px solid rgba(201,210,154,.5);padding:.6rem .75rem}
.cb-chips a svg{width:17px;height:17px}
.cb-chips a:hover{background:var(--lime);border-color:var(--lime);color:#fff}
.cb-cta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;margin-top:1.8rem}
.cb-cta span{font-size:.92rem;color:#C9D29A}
@media (max-width:900px){.cb-split{grid-template-columns:minmax(0,1fr)}}
.career-band+.band{background:#12301F;border-top:4px solid var(--lime)}
.lst-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.6rem);margin-top:clamp(2rem,4vw,3rem)}
.lst-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.4rem}
.grp-h{display:flex;align-items:center;gap:1rem;font:700 .85rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--olive-dark)}
.grp-h::after{content:"";flex:1;height:2px;background:var(--lime)}
.grp-note{font:600 .78rem/1.3 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--olive-dark)}
.rm-gh{grid-column:1/-1;font:700 .75rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--olive-dark);margin-top:.4rem}
.kick-group{display:inline-block;font:700 .75rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--charcoal);background:var(--lime);padding:.4rem .55rem;margin-bottom:.9rem}
@media (max-width:1000px){.lst-groups{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.lst-grid.two{grid-template-columns:minmax(0,1fr)}}
.career-band{background-color:var(--olive);background-image:repeating-linear-gradient(0deg,transparent 0 46px,rgba(255,255,255,.07) 46px 48px),repeating-linear-gradient(90deg,transparent 0 46px,rgba(255,255,255,.07) 46px 48px);color:#fff}
.career-band .label{color:#fff}.career-band .label::before{background:var(--lime)}
.career-band .display .lime{color:#EEF0E2}
.career-band .cb-text{color:#F2F5E4}
.career-band .cb-box{background:var(--green);border:0;border-top:5px solid var(--lime);box-shadow:0 26px 50px -30px rgba(10,25,15,.7)}
.career-band+.band{background:var(--green);border-top:0}
.cards-overlap .card{transition:transform .2s,box-shadow .2s;overflow:hidden}
.cards-overlap .card:hover,.cards-overlap .card:focus-visible{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(23,40,30,.6)}
.cards-overlap .card .img{transition:transform .4s}
.cards-overlap .card:hover .img{transform:scale(1.04)}
.cards-overlap .card .go{position:relative;z-index:1;background:var(--paper)}
.lst-card .pic{overflow:hidden}.lst-card .pic img{transition:transform .4s}.lst-card{transition:transform .2s}
.lst-card:hover{transform:translateY(-4px)}.lst-card:hover .pic img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.cards-overlap .card,.cards-overlap .card .img,.lst-card,.lst-card .pic img{transition:none}}
.lst-card{padding-bottom:1.4rem;border:1px solid transparent;transition:transform .2s,box-shadow .2s,border-color .2s}
.lst-card:hover,.lst-card:focus-visible{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(23,40,30,.6);border-color:var(--line);background:var(--white)}
.lst-card .rnd{transition:background .2s,transform .2s}
.lst-card:hover .rnd{background:var(--lime);transform:scale(1.06)}
.lst-card:hover .rnd svg{stroke:var(--charcoal)}
.lst-card p{padding-inline:.8rem}
@media (prefers-reduced-motion:reduce){.lst-card,.lst-card .rnd{transition:none}}

/* Farbanpassung Oliv */
.btn,nav.main .btn{color:#fff}
.btn.ghost{color:var(--green)}.btn.light{color:var(--green)}
.card .sq svg *,.other .sq svg *{stroke:#fff}
.lst-card .rnd{background:var(--olive-dark)}
.lst-card:hover .rnd{background:var(--olive)}
.lst-card:hover .rnd svg{stroke:#fff}
.contact-list .ci{color:var(--charcoal)}
.hero-full h1 .lime,.display .lime,.ah-text h1 .lime{color:var(--lime)}
.career-band .display .lime{color:#EEF0E2}
.cb-box .btn,.career-band .btn{background:#fff;border-color:#fff;color:var(--green)}
.cb-box .btn:hover{background:#EEF0E2;border-color:#EEF0E2}
.info.lime{background:var(--lime-soft);border-color:#D4D9BC;border-top-color:var(--lime)}
.info.lime .ib{background:var(--charcoal);color:#fff}
.info .ib{color:#fff}
.rm-tile:has(input:checked) .ck{color:#fff}
.cb-chips a:hover{color:#fff}
.chip-link:hover{color:#fff}
.gw-switch a[aria-current]{color:#fff}
.kick-group{color:#fff}
.rm-side-k,.career-band .label,.cb-k{color:#C7D08F!important}
.rm-mono{color:#C7D08F}
.radar .dot{fill:#C7D08F}
.fb-front .hero-full{max-width:1600px;margin-inline:auto;min-height:0;aspect-ratio:1572/860;max-height:86vh}
@media (max-width:700px){.fb-front .hero-full{aspect-ratio:auto;min-height:560px;max-height:none}.fb-front .hero-full img.bg{object-position:30% center!important}}
.fb-front .cards-overlap{margin-top:clamp(1.2rem,2.5vw,2rem)}
.fb-front .hero-full .wrap{padding-block:clamp(3rem,6vw,5rem)}
.fb-front .hero-full{max-width:none;width:100%;aspect-ratio:auto;max-height:none;height:min(88vh,calc(100vw * 0.56));min-height:520px}
.fb-front .hero-full::before{display:none}
.fb-front .hero-full img.bg{filter:none}
.fb-front .hero-full h1,.fb-front .hero-full h1 .lime{text-shadow:none}
@media (max-width:700px){.fb-front .hero-full::before{display:block;background:linear-gradient(180deg,rgba(247,246,239,.55),rgba(247,246,239,0) 70%)}}
.fb-front .cards-overlap .inner{background:transparent;box-shadow:none;padding:0;gap:clamp(1rem,2.4vw,2.2rem)}
.scard{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:inherit;min-width:0;padding-bottom:1.2rem;transition:transform .2s}
.scard .pic{width:100%;overflow:hidden}
.scard .pic img{display:block;width:100%;aspect-ratio:16/8.4;object-fit:cover;max-width:none;transition:transform .4s}
.badge{width:clamp(64px,6vw,84px);height:auto;margin-top:calc(clamp(64px,6vw,84px) / -2);position:relative;z-index:1;filter:drop-shadow(0 6px 10px rgba(23,40,30,.25));transition:transform .2s}
.scard h3{margin-top:1rem;font-size:clamp(.95rem,1.2vw,1.15rem);text-transform:uppercase;letter-spacing:.05em;color:var(--charcoal);hyphens:manual}
.scard .ln{width:40px;height:3px;background:var(--olive);margin-top:.8rem;transition:width .2s}
.scard:hover{transform:translateY(-4px)}.scard:hover .pic img{transform:scale(1.04)}.scard:hover .badge{transform:scale(1.07)}.scard:hover .ln{width:64px}
.lst-card .badge{width:84px;margin-top:-42px}
.lst-card:hover .badge{transform:scale(1.07)}
@media (prefers-reduced-motion:reduce){.scard,.scard .pic img,.badge,.scard .ln{transition:none}}
.career-band{background-color:#6F7A30}
.career-band .cb-box{border-top-color:#C7D08F}
.career-band .label::before{background:#C7D08F}
.career-band{background-color:#E7E4D6;color:var(--charcoal);background-image:repeating-linear-gradient(0deg,transparent 0 46px,rgba(111,122,48,.10) 46px 48px),repeating-linear-gradient(90deg,transparent 0 46px,rgba(111,122,48,.10) 46px 48px)}
.career-band .display{color:var(--charcoal)}
.career-band .display .lime{color:var(--lime)}
.career-band .cb-text{color:#3E4740}
.career-band>.wrap .label,.career-band .cb-split>div>.label{color:var(--olive-dark)!important}
.career-band .cb-split>div>.label::before{background:var(--lime)}
.career-band .cb-box{border-top-color:var(--lime)}
.career-band+.band{border-top:0}
.badge{width:clamp(52px,4.4vw,64px);margin-top:calc(clamp(52px,4.4vw,64px) / -2)}
.lst-card .badge{width:64px;margin-top:-32px}
.info .ib{background:var(--charcoal);color:#fff}
.scard:hover,.lst-card:hover,.lst-card:focus-visible{transform:none;box-shadow:none;background:transparent;border-color:transparent}
.scard:hover .pic img,.lst-card:hover .pic img{transform:none}
.scard:hover .badge,.lst-card:hover .badge,.scard:focus-visible .badge,.lst-card:focus-visible .badge{transform:scale(1.12) translateY(-3px);filter:drop-shadow(0 10px 14px rgba(23,40,30,.35))}
.info .ib,.info.lime .ib{background:none;color:var(--charcoal);width:auto;height:auto;justify-content:start;display:block}
.info .ib svg{width:34px;height:34px;stroke-width:1.8}
.fb-front .cards-overlap{background:#E7E4D6;margin-top:0;padding-block:clamp(2rem,4vw,3.2rem)}
.steps-band{background:#E7E4D6}.steps-band .next-steps li,.steps-band .next-steps .arrow-link{border-color:#CFCAB5}
.news-teaser{background:#E7E4D6;border-top:1px solid #CFCAB5}
.career-band{border-top:1px solid #CFCAB5}
.fb-front .cards-overlap,.steps-band,.news-teaser,.intro-big{background:var(--paper)}
.career-band{background-color:var(--paper)}
.steps-band,.news-teaser,.career-band,.intro-big{border-top:1px solid var(--line)}
.steps-band .next-steps li,.steps-band .next-steps .arrow-link{border-color:var(--line)}
.career-band{background-image:none}
.fb-front section{border-top:0!important}
main section,.page-hero{border-top:0!important;border-bottom:0!important}
.page-hero.plain::before{background:none!important}
.rm-side{background-image:none}
.scard .pic img{aspect-ratio:4/3}

/* ===================================================================
   WordPress-Anpassungen: Blöcke auf das Prototyp-Raster abbilden
   =================================================================== */
.site-head,.site-foot{display:contents}
.fb-main{display:block}
:where(.fb-main .is-layout-flow) > *{margin-block:0}
.wp-block-post-content > *{margin-block:0}
.pb0{padding-bottom:0}
.muted{color:var(--muted)}
.mt{margin-top:1.2rem}
.narrow{max-width:820px}
.wrap.wide{max-width:1500px}
.wrap.intro-split{max-width:1440px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.label + .wp-block-heading,.label + h2{margin-top:.9rem}
.wp-block-heading + .muted,.wp-block-heading + p.muted{margin-top:.8rem}
.panel h3 + p,.panel h3 + .contact-list{margin-top:.6rem}
.stack{display:grid;gap:1.4rem;align-content:start}
.stack > .wp-block-group > h3 + p{margin-top:.4rem}

/* Bilder als Hintergrund */
.wp-block-image.bg{position:absolute;inset:0;margin:0;z-index:0}
.wp-block-image.bg img{width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.fb-front .hero-full .wp-block-image.bg img{object-position:center 40%}
@media (max-width:700px){.fb-front .hero-full .wp-block-image.bg img{object-position:30% center}}
.page-hero.split .wp-block-image.bg{left:var(--il);width:calc(100% - var(--il));right:auto}
@media (max-width:700px){.page-hero.split .wp-block-image.bg{position:static;width:100%;height:260px;order:-1}}
.fb-page-rohbau .page-hero .bg img{object-position:70% 60%}
.fb-page-bewehrung .page-hero .bg img{object-position:65% center}
.fb-page-gartenbau .page-hero .bg img{object-position:20% 75%}
.fb-page-reinigung .page-hero .bg img{object-position:40% 35%}
.fb-page-leistungen .page-hero .bg img{object-position:62% center}
.wp-block-image.ah-img{margin:0}
.wp-block-image.ah-img img{display:block;width:100%;height:auto;border-top:6px solid var(--lime);box-shadow:0 24px 48px -30px rgba(23,40,30,.55)}

/* Buttons (WordPress-Buttons im Stil von .btn) */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:.8rem}
.wp-block-buttons.actions{margin-top:2.2rem}
.wp-block-button__link{display:inline-flex;align-items:center;gap:.6rem;border:2px solid var(--lime);text-decoration:none}
.wp-block-button__link:hover{border-color:var(--lime-dark)}
.cb-box .wp-block-button__link{background:#fff;border-color:#fff;color:var(--green)}
.cb-box .wp-block-button__link:hover{background:#EEF0E2;border-color:#EEF0E2}
.cb-box .wp-block-buttons.cb-cta{margin-top:1.8rem}
.cb-note{margin-top:.7rem!important;font-size:.92rem;color:#C9D29A!important}

/* Startseite */
.scard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2.4vw,2.2rem)}
@media (max-width:980px){.scard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.scard-grid{grid-template-columns:1fr}}
p.arrow-link a,a.arrow-link{font:700 1rem/1.3 var(--display);color:var(--charcoal);text-decoration:none}
p.arrow-link a:hover{color:var(--olive-dark);text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:2px;text-underline-offset:4px}
.next-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.2rem,2.6vw,2.4rem);margin-top:clamp(2rem,4vw,3rem)}
.next-steps > .step{border-top:2px solid var(--line);padding-top:1.4rem;display:flex;flex-direction:column}
.next-steps .n{font:600 .9rem/1 var(--display);letter-spacing:.12em;color:var(--olive-dark)}
.next-steps .step h3{margin-top:1.2rem;font-size:clamp(1.15rem,1.5vw,1.4rem)}
.next-steps .step > p:not(.n):not(.arrow-link){margin-top:1rem;color:var(--muted);flex:1}
.next-steps .step > .arrow-link{margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--line)}
@media (max-width:980px){.next-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.next-steps{grid-template-columns:1fr}}
.teaser .arrow-link + .arrow-link{border-top:0;margin-top:.4rem;padding-top:0}

/* Gewerk-Seiten */
.steps{display:grid}
.steps > .step{border-top:4px solid var(--lime);padding-top:1.1rem}
.steps p.n{margin-top:0}
.kick-group{display:inline-block;max-width:none}
.page-hero .kick-group + h1{margin-top:0}

/* Formulare auf der Seite */
.req-inline{max-width:1040px;margin:0 auto;background:var(--paper);border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(0,0,0,.35)}
.rm-layout form{padding:clamp(1.4rem,4vw,3rem);display:grid;gap:1.1rem;align-content:start}
.req-inline .rm-layout{max-height:none}
.req-inline form{max-height:none;overflow:visible}
.req-inline .field input,.req-inline .field select,.req-inline .field textarea{padding:.8rem .9rem;border:1.5px solid #A9B39A;background:var(--white);border-radius:2px;min-height:48px}
.req-inline .choice,.req-modal .choice{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;color:var(--ink);line-height:1.5}
.rm-pane h2:focus{outline:none}
.rm-done h2{color:var(--olive-dark)}
.fbp-job .done h2{color:var(--olive-dark)}
.fbp-job .done p{margin-top:.8rem;color:var(--muted)}
.fbp-job .choice{font-weight:400;color:var(--ink)}
.fbp-job,.wrap.narrow .fbp-job{margin-top:1.8rem}
.rm-sum dt,.rm-sum dd{line-height:1.4}

/* Kontaktband */
.band-cta{display:grid;gap:1rem;justify-items:start}
.band a.phone{text-decoration:none}

/* Einträge (News, Bauvorhaben) */
.entry > * + *{margin-top:1.1rem}
.entry h2{margin-top:2.2rem;font-size:1.5rem}
.entry h3{margin-top:1.6rem}
.entry img{max-width:100%;height:auto}
.entry .entry-image img{width:100%;aspect-ratio:16/9;object-fit:cover;border-top:6px solid var(--lime)}
.entry ul,.entry ol{padding-left:1.3rem}
.page-hero .wp-block-post-terms{margin-bottom:.8rem}
.page-hero .wp-block-post-terms a{color:inherit;text-decoration:none}
.page-hero .wp-block-post-date{margin-top:.8rem;font-size:1rem}
.posts .teaser-grid{margin-top:0;list-style:none;padding:0}
.posts .teaser{padding-top:0}
.teaser .teaser-img{margin:0 calc(-1 * clamp(1.4rem,3vw,2.6rem)) 1.4rem}
.teaser .teaser-img img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.teaser .wp-block-post-date.kicker{margin-top:clamp(1.4rem,3vw,2.6rem)}
.teaser .teaser-img + .wp-block-post-date.kicker{margin-top:0}
.teaser .wp-block-post-title{margin-top:1rem;font-size:clamp(1.2rem,1.6vw,1.45rem)}
.teaser .wp-block-post-title a{color:var(--charcoal);text-decoration:none}
.teaser .wp-block-post-excerpt{margin-top:.9rem;color:var(--muted)}
.teaser .wp-block-post-excerpt__more-link{font:700 .95rem/1.3 var(--display);color:var(--olive-dark)}
.pager{margin-top:2.4rem;display:flex;gap:1rem;font:600 .95rem/1 var(--display)}
.wp-block-query-no-results{grid-column:1/-1}
.person img.ini{object-fit:cover}
.jobs .job h3 a{color:inherit;text-decoration:none}
.fbp-editor-note{font:500 .8rem/1.4 var(--body);color:var(--muted);margin-top:.4rem}
.scard .pic img,.lst-card .pic img,.rm-tile img{height:auto}
.scard .pic img,.lst-card .pic img{aspect-ratio:4/3;height:auto}
.rm-tile img{height:58px}
.topbar a{color:inherit;text-decoration:none}
.topbar a:hover{text-decoration:underline}
nav.main a.btn[aria-current]{background:var(--lime);color:#fff}
.lang-switch{display:inline-flex;gap:.45rem;align-items:center;letter-spacing:.06em}
.lang-switch a{color:#C9D29A}
.lang-switch [aria-current]{color:#fff;font-weight:700}
