/* ============================================================
   FRISCHKOPF - frischkopf.de - style.css - v7
   Kreativagentur aus Meckenheim
   Display: Archivo (Headlines, Labels) / Text: Instrument Sans
   ============================================================ */

:root{
  --fresh-green:#D1F614;
  --fresh-green-deep:#B4D40A;
  --fresh-black:#101313;
  --fresh-dark:#171A1A;
  --fresh-white:#FFFFFF;
  --fresh-offwhite:#F7F7F4;
  --fresh-grey:#5C6161;
  --fresh-line:#E4E4DE;
  --fresh-line-dark:rgba(255,255,255,.14);
  --radius:14px;
  --radius-s:10px;
  --maxw:1240px;
  --nav-h:78px;
  --star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='%23000'%3E%3Crect x='42' y='3' width='16' height='94' rx='3'/%3E%3Crect x='42' y='3' width='16' height='94' rx='3' transform='rotate(60 50 50)'/%3E%3Crect x='42' y='3' width='16' height='94' rx='3' transform='rotate(120 50 50)'/%3E%3C/g%3E%3C/svg%3E");
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

body{
  font-family:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:19px;
  font-weight:400;
  line-height:1.68;
  color:var(--fresh-black);
  background:var(--fresh-white);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{max-width:100%;height:auto;display:block}
a{color:var(--fresh-black)}

/* Fliesstext-Links: ohne Farbe erkennbar, Neon nur beim Hover */
.prose p a,.prose li a,.prose dd a,.svc p a,.faq-item p a,.footnote a{
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
  text-decoration-color:rgba(16,19,19,.38);
  transition:background-color .12s ease,text-decoration-color .12s ease;
}
.prose p a:hover,.prose li a:hover,.prose dd a:hover,
.svc p a:hover,.faq-item p a:hover,.footnote a:hover{
  background:var(--fresh-green);
  text-decoration-color:var(--fresh-black);
}
a:focus-visible,button:focus-visible,summary:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--fresh-black);
  outline-offset:2px;
  border-radius:3px;
}
.site-header a:focus-visible,.site-footer a:focus-visible,
.site-header button:focus-visible,.cta-band a:focus-visible{
  outline-color:var(--fresh-green);
}
.cta-band a:focus-visible{outline-color:var(--fresh-black)}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}

/* ---------- Typografie ---------- */
h1,h2,h3,h4{
  font-family:'Archivo','Instrument Sans',sans-serif;
  color:var(--fresh-black);
  font-weight:700;
  letter-spacing:-.03em;
}
h1{
  font-size:clamp(38px,6vw,80px);
  line-height:1.02;
  letter-spacing:-.04em;
}
h2{
  font-size:clamp(29px,4vw,50px);
  line-height:1.06;
  margin-bottom:22px;
}
h3{
  font-size:clamp(21px,2.3vw,27px);
  line-height:1.2;
  letter-spacing:-.02em;
  margin-bottom:10px;
}
h4{
  font-size:19px;
  line-height:1.35;
  letter-spacing:-.01em;
  margin-bottom:8px;
}
p{margin-bottom:20px}
p:last-child{margin-bottom:0}
strong{font-weight:600}

/* Neon-Marker: das Wiedererkennungsmerkmal */
.mark{
  background:var(--fresh-green);
  color:var(--fresh-black);
  padding:0 .1em;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}

/* Label mit Asterisk */
.label{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Archivo',sans-serif;
  font-size:13px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--fresh-black);
  margin-bottom:20px;
}
.label::before{
  content:"";width:15px;height:15px;flex:0 0 auto;
  background:var(--fresh-green-deep);
  -webkit-mask:var(--star) center/contain no-repeat;
  mask:var(--star) center/contain no-repeat;
}
.label.on-dark{color:#F0F0EC}
.label.on-dark::before{background:var(--fresh-green)}
.label.on-green{color:var(--fresh-black)}
.label.on-green::before{background:var(--fresh-black)}

.lead{font-size:clamp(20px,2.2vw,24px);line-height:1.5;letter-spacing:-.01em}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:'Archivo',sans-serif;font-weight:600;font-size:15px;
  letter-spacing:.08em;text-transform:uppercase;line-height:1;
  padding:19px 30px;border-radius:999px;border:2px solid transparent;
  cursor:pointer;text-decoration:none;
  transition:transform .15s ease,background-color .15s ease,color .15s ease,border-color .15s ease;
}
.btn:hover{transform:translateY(-2px);text-decoration:none}
.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.btn-primary{background:var(--fresh-green);color:var(--fresh-black);border-color:var(--fresh-green)}
.btn-primary:hover{background:var(--fresh-green-deep);border-color:var(--fresh-green-deep)}
.btn-outline{background:transparent;color:var(--fresh-black);border-color:var(--fresh-black)}
.btn-outline:hover{background:var(--fresh-black);color:var(--fresh-white)}
.btn-dark{background:var(--fresh-black);color:var(--fresh-green);border-color:var(--fresh-black)}
.btn-dark:hover{background:var(--fresh-dark);border-color:var(--fresh-dark)}
.btn::after{content:"\2192";font-size:17px;line-height:1;transform:translateY(-1px)}
.btn-noarrow::after{content:none}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(16,19,19,.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.nav{
  max-width:var(--maxw);margin:0 auto;padding:0 26px;
  height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;gap:26px;
}
.logo{display:inline-flex;align-items:center;line-height:0}
.site-header .logo img{height:34px;width:auto}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none}
.nav-links > li > a,.nav-links .sub-toggle{
  display:inline-block;white-space:nowrap;
  font-family:'Archivo',sans-serif;font-size:13.5px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  color:#F2F2EE;text-decoration:none;
  padding:6px 0 5px;
  border-bottom:3px solid transparent;
  transition:color .15s ease,border-color .15s ease;
}
.nav-links a:hover{color:var(--fresh-white);border-bottom-color:var(--fresh-green);text-decoration:none}
.nav-links a.active{color:var(--fresh-white);border-bottom-color:var(--fresh-green)}

/* Untermenue Leistungen */
.has-sub{position:relative;padding:27px 0}
.caret{
  display:inline-block;width:7px;height:7px;margin:0 0 2px 6px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .15s ease;
}
.has-sub:hover .caret,.has-sub:focus-within .caret{transform:rotate(225deg);margin-bottom:-1px}
.subnav{
  display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);
  min-width:290px;list-style:none;
  background:var(--fresh-black);
  border:1px solid var(--fresh-line-dark);
  border-radius:var(--radius-s);
  padding:9px;
  box-shadow:0 22px 50px rgba(0,0,0,.4);
}
.has-sub:hover .subnav,.has-sub:focus-within .subnav{display:block}
.subnav a{
  display:block;padding:11px 15px;
  font-family:'Instrument Sans',sans-serif;
  font-size:15.5px;font-weight:500;letter-spacing:0;text-transform:none;
  color:#F2F2EE;text-decoration:none;border-radius:6px;
  border-bottom:0;
}
.subnav a:hover{background:rgba(209,246,20,.14);color:var(--fresh-green)}
.subnav a.active{color:var(--fresh-green)}
.nav-cta{
  font-family:'Archivo',sans-serif;font-size:13.5px;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;
  background:var(--fresh-green);color:var(--fresh-black);
  border-radius:999px;padding:14px 22px;white-space:nowrap;text-decoration:none;
  transition:background-color .15s ease;
}
.nav-cta:hover{background:var(--fresh-white);text-decoration:none}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.burger span{
  display:block;width:26px;height:2.5px;background:var(--fresh-green);
  margin:5px 0;border-radius:2px;transition:transform .2s ease,opacity .2s ease;
}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

.nav-cta-mobile{display:none}

/* ---------- Hero ---------- */
.hero{padding:76px 0 84px;overflow:hidden}
.hero-grid{
  max-width:var(--maxw);margin:0 auto;padding:0 26px;
  display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center;
}
.hero h1{margin-bottom:26px;max-width:15ch}
.hero-sub{font-size:clamp(18px,1.9vw,21px);max-width:46ch;color:var(--fresh-grey);margin-bottom:36px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:34px}
.hero-meta{
  font-family:'Archivo',sans-serif;font-size:12.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--fresh-grey);
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;
}
.hero-meta i{
  width:11px;height:11px;display:inline-block;font-style:normal;
  background:var(--fresh-green-deep);
  -webkit-mask:var(--star) center/contain no-repeat;
  mask:var(--star) center/contain no-repeat;
}
.hero-visual{position:relative;z-index:0}
.hero-text{position:relative;z-index:1}
.hero-visual img{width:100%;height:auto}
@media (min-width:981px){
  .hero-visual img{transform:scale(1.07);transform-origin:right center}
}

/* ---------- Subhero (Unterseiten) ---------- */
.subhero{
  background:var(--fresh-black);color:#F2F2EE;
  position:relative;overflow:hidden;
}
.subhero::after{
  content:"";position:absolute;right:-90px;top:-70px;
  width:400px;height:400px;
  background:var(--fresh-green);opacity:.13;
  -webkit-mask:var(--star) center/contain no-repeat;
  mask:var(--star) center/contain no-repeat;
  pointer-events:none;
}
.subhero-inner{
  position:relative;z-index:1;
  max-width:var(--maxw);margin:0 auto;padding:70px 26px 76px;
}
.subhero h1{color:var(--fresh-white);font-size:clamp(34px,4.8vw,60px);margin-bottom:20px;max-width:20ch}
.subhero-sub{font-size:clamp(18px,1.9vw,21px);max-width:56ch;color:#C9CCCA}

/* ---------- Breadcrumbs ---------- */
.breadcrumb{padding:18px 0 0}
.breadcrumb ol{
  max-width:var(--maxw);margin:0 auto;padding:0 26px;
  list-style:none;display:flex;flex-wrap:wrap;gap:8px;
  font-size:14px;color:var(--fresh-grey);
}
.breadcrumb li::after{content:"/";margin-left:8px;color:var(--fresh-line)}
.breadcrumb li:last-child::after{content:none}
.breadcrumb a{color:var(--fresh-grey);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--fresh-line)}
.breadcrumb a:hover{color:var(--fresh-black)}
.breadcrumb [aria-current]{color:var(--fresh-black);font-weight:500}

.subhero .breadcrumb{padding:0 0 24px}
.subhero .breadcrumb ol{padding:0;max-width:none;color:#9DA2A0}
.subhero .breadcrumb li::after{color:rgba(255,255,255,.28)}
.subhero .breadcrumb a{color:#9DA2A0;text-decoration-color:rgba(255,255,255,.28)}
.subhero .breadcrumb a:hover{color:var(--fresh-green)}
.subhero .breadcrumb [aria-current]{color:#F0F0EC}

/* ---------- Sections ---------- */
.section{padding:104px 0}
.section.tight{padding:78px 0}
.section.tint{background:var(--fresh-offwhite)}
.section.dark{background:var(--fresh-black);color:#D9DBD9}
.section.dark h2,.section.dark h3{color:var(--fresh-white)}
.section-head{max-width:660px;margin-bottom:56px}
.section-head p{font-size:20px;color:var(--fresh-grey)}
.section.dark .section-head p{color:#B8BCBA}
.section-head.wide{max-width:880px}
.divider{height:1px;background:var(--fresh-line);border:0;max-width:var(--maxw);margin:0 auto}

/* ---------- Prose ---------- */
.prose{max-width:none}
.prose h2{margin-top:0}
.prose h3{margin-top:40px}
.prose > p,.prose > ul,.prose > ol{max-width:74ch}
.prose h2 + p{margin-top:0}
ul.check{list-style:none;margin:20px 0 26px;max-width:74ch}
ul.check li{position:relative;padding-left:30px;margin-bottom:11px;font-size:18px}
ul.check li::before{
  content:"";position:absolute;left:0;top:.55em;
  width:13px;height:13px;
  background:var(--fresh-green-deep);
  -webkit-mask:var(--star) center/contain no-repeat;
  mask:var(--star) center/contain no-repeat;
}
.section.dark ul.check li::before{background:var(--fresh-green)}
ul.plain{list-style:none;margin:20px 0 26px}
ul.plain li{margin-bottom:10px}
.prose ol{margin:20px 0 26px 22px}
.prose ol li{margin-bottom:10px;padding-left:6px}

/* Zweispaltiges Textlayout */
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.cols.narrow{gap:44px}
.cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}
.stack > * + *{margin-top:16px}

/* ---------- Leistungsliste (statt Kartenwand) ---------- */
.svc-list{list-style:none;border-top:1px solid var(--fresh-line)}
.svc{
  position:relative;
  border-bottom:1px solid var(--fresh-line);
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr) auto;
  gap:34px;align-items:baseline;
  padding:30px 22px;margin:0 -22px;
  transition:background-color .16s ease;
}
.svc h3{margin-bottom:0}
.svc h3 a{text-decoration:none;color:var(--fresh-black)}
.svc h3 a::after{content:"";position:absolute;inset:0}
.svc p{font-size:17px;color:var(--fresh-grey);margin:0}
.svc .svc-go{
  font-family:'Archivo',sans-serif;font-size:12.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--fresh-grey);
  white-space:nowrap;
}
.svc:hover{background:var(--fresh-green)}
.svc:hover p,.svc:hover .svc-go{color:var(--fresh-black)}
.svc:focus-within{background:var(--fresh-green)}

/* Leistungsbloecke auf der Uebersicht */
.svc-block{
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);
  gap:48px;padding:46px 0;border-top:1px solid var(--fresh-line);
}
.svc-block:first-of-type{border-top:0;padding-top:0}
.svc-block h2{margin-bottom:0}
.svc-block .prose p:last-child{font-weight:500}

/* ---------- Split: Text + Neon-Flaeche ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center}
.split.flip .split-media{order:-1}
.panel{
  background:var(--fresh-offwhite);
  border-radius:var(--radius);
  padding:44px 40px;
}
.panel.green{background:var(--fresh-green)}
.panel.green h3,.panel.green p,.panel.green li{color:var(--fresh-black)}
.panel.black{background:var(--fresh-black)}
.panel.black h3{color:var(--fresh-white)}
.panel.black p,.panel.black li{color:#C9CCCA}
.panel h3{margin-bottom:14px}
.panel p{font-size:17px}
.panel + .panel{margin-top:20px}

/* Zitat / Merksatz */
.claim{
  font-family:'Archivo',sans-serif;font-weight:700;
  font-size:clamp(26px,3.4vw,42px);line-height:1.1;letter-spacing:-.03em;
  max-width:18ch;
}

/* ---------- Faktenreihe ---------- */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:8px}
.fact{border-top:3px solid var(--fresh-green);padding-top:18px}
.fact b{
  display:block;font-family:'Archivo',sans-serif;font-weight:700;
  font-size:clamp(22px,2.4vw,28px);line-height:1.15;letter-spacing:-.02em;
  margin-bottom:8px;
}
.fact span{font-size:16.5px;color:var(--fresh-grey);display:block;line-height:1.55}
.section.dark .fact span{color:#B8BCBA}

/* ---------- FAQ ---------- */
.faq-list{max-width:900px}
.faq-item{border-bottom:1px solid var(--fresh-line)}
.faq-item summary{
  display:flex;align-items:flex-start;justify-content:space-between;gap:26px;
  padding:24px 0;cursor:pointer;list-style:none;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary h3{margin:0;font-size:clamp(19px,2vw,23px)}
.faq-item summary::after{
  content:"";flex:0 0 auto;width:16px;height:16px;margin-top:8px;
  background:var(--fresh-black);
  -webkit-mask:var(--star) center/contain no-repeat;
  mask:var(--star) center/contain no-repeat;
  transition:transform .2s ease,background-color .2s ease;
}
.faq-item[open] summary::after{transform:rotate(90deg);background:var(--fresh-green-deep)}
.faq-item summary:hover h3{color:var(--fresh-grey)}
.faq-item p{padding:0 0 26px;font-size:17.5px;max-width:80ch}
.faq-item p + p{padding-top:0}

/* ---------- CTA-Band ---------- */
.cta-band{position:relative;overflow:hidden;background:var(--fresh-green);color:var(--fresh-black)}
.cta-band::after{
  content:"";position:absolute;right:-120px;bottom:-160px;
  width:520px;height:520px;
  background:var(--fresh-black);opacity:.09;
  -webkit-mask:var(--star) center/contain no-repeat;
  mask:var(--star) center/contain no-repeat;
  pointer-events:none;
}
.cta-inner{
  position:relative;z-index:1;
  max-width:var(--maxw);margin:0 auto;padding:86px 26px;
}
.cta-inner h2{max-width:16ch;margin-bottom:22px}
.cta-inner p{max-width:52ch;font-size:19px;margin-bottom:34px}
.cta-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.cta-direct{
  margin-top:30px;font-size:17px;
  display:flex;gap:26px;flex-wrap:wrap;
}
.cta-direct a{font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}

/* ---------- Formular ---------- */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:820px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1 / -1}
.field label{
  font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
}
.field input,.field select,.field textarea{
  font-family:'Instrument Sans',sans-serif;font-size:17px;color:var(--fresh-black);
  background:var(--fresh-white);
  border:2px solid var(--fresh-line);border-radius:var(--radius-s);
  padding:14px 16px;width:100%;
}
.field textarea{min-height:170px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--fresh-black);outline:none}
.field .btn{align-self:flex-start}
#captcha-feld input{max-width:220px}
.field-hint{font-size:14.5px;color:var(--fresh-grey);margin-top:14px}
.checkline{display:flex;gap:12px;align-items:flex-start;font-size:16px;margin-bottom:0}
.checkline label{font-family:'Instrument Sans',sans-serif;font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.5}
.checkline a{text-decoration:underline;text-underline-offset:3px}
.field abbr{color:var(--fresh-grey);text-decoration:none;border:0}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-alert{
  max-width:820px;margin:0 0 26px;padding:16px 20px;font-size:17px;
  background:var(--fresh-white);border-left:4px solid var(--fresh-black);border-radius:var(--radius-s);
}
.checkline input{width:20px;height:20px;flex:0 0 auto;margin-top:3px;accent-color:var(--fresh-green-deep)}

/* ---------- Tabellen ---------- */
.table-wrap{overflow-x:auto;margin:26px 0}
table{border-collapse:collapse;width:100%;font-size:17px;min-width:520px}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--fresh-line);vertical-align:top}
th{
  font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  background:var(--fresh-offwhite);
}

/* ---------- Glossar ---------- */
.glossar-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 44px}
.glossar-nav a{
  font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
  border:2px solid var(--fresh-line);border-radius:999px;padding:9px 18px;
}
.glossar-nav a:hover{border-color:var(--fresh-black);background:var(--fresh-green)}
.term-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.prose dl{margin:0}
.prose dt{
  font-family:'Archivo',sans-serif;font-weight:700;
  font-size:clamp(19px,2.1vw,22px);line-height:1.25;letter-spacing:-.02em;
  margin:26px 0 8px;
}
.prose dd{margin:0 0 4px;font-size:17.5px;color:var(--fresh-grey);max-width:74ch}
.prose dd a{color:var(--fresh-black);white-space:nowrap}
.prose dd a{color:var(--fresh-black)}
.definition{
  border-left:4px solid var(--fresh-green);
  padding:4px 0 4px 22px;margin:0 0 30px;
  font-size:20px;line-height:1.55;
}

/* ---------- Personenkarte ---------- */
.person-card{
  display:grid;grid-template-columns:132px minmax(0,1fr);gap:28px;align-items:center;
  background:var(--fresh-offwhite);border-radius:var(--radius);
  padding:30px;margin:26px 0;max-width:760px;
}
.person-card img{width:132px;height:132px;border-radius:50%;object-fit:cover}
.person-role{
  font-family:'Archivo',sans-serif;font-size:12.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--fresh-grey);margin-bottom:12px;
}
.person-card p:last-child{font-size:17px}

/* ---------- Footer ---------- */
.site-footer{
  background:var(--fresh-black);color:#B9BDBB;
  padding:84px 0 36px;font-size:16.5px;
  border-top:4px solid var(--fresh-green);
}
.footer-grid{
  display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:46px;
  max-width:var(--maxw);margin:0 auto;padding:0 26px 58px;
}
.site-footer .logo img{height:30px;width:auto;margin-bottom:20px}
.footer-about{max-width:330px;color:#9DA2A0;font-size:16px}
.footer-place{
  margin-top:18px;font-family:'Archivo',sans-serif;font-size:12.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--fresh-green);
}
.footer-grid h2{
  color:var(--fresh-white);font-size:13px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;
}
.footer-grid ul{list-style:none}
.footer-grid li{margin-bottom:11px}
.footer-grid a{color:#B9BDBB;text-decoration:none}
.footer-grid a:hover{color:var(--fresh-green);text-decoration:underline;text-underline-offset:3px}
.footer-bottom{
  max-width:var(--maxw);margin:0 auto;padding:26px 26px 0;
  border-top:1px solid var(--fresh-line-dark);
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  color:#8B908E;font-size:15px;
}
.footer-bottom a{color:#B9BDBB;font-weight:600;text-decoration:none}
.footer-bottom a:hover{color:var(--fresh-green)}

/* ---------- Cookie-Banner ---------- */
.cookie-banner{
  display:none;position:fixed;left:22px;right:22px;bottom:22px;z-index:100;
  max-width:600px;margin:0 auto;
  background:var(--fresh-black);color:#D9DBD9;
  border:1px solid var(--fresh-line-dark);border-top:3px solid var(--fresh-green);
  border-radius:var(--radius);padding:24px 26px;
  box-shadow:0 24px 60px rgba(0,0,0,.4);
}
.cookie-banner.show{display:block}
.cookie-banner p{font-size:15.5px;line-height:1.6;margin-bottom:18px}
.cookie-banner a{color:var(--fresh-green);text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;gap:12px;flex-wrap:wrap}
.cookie-actions .btn{padding:14px 22px;font-size:13.5px}
.cookie-actions .btn-outline{color:#F2F2EE;border-color:rgba(255,255,255,.5)}
.cookie-actions .btn-outline:hover{background:var(--fresh-white);color:var(--fresh-black)}

/* ---------- 404 ---------- */
.error-page{padding:120px 0 130px;text-align:left}
.error-code{
  font-family:'Archivo',sans-serif;font-weight:700;font-size:clamp(80px,16vw,190px);
  line-height:.9;letter-spacing:-.05em;margin-bottom:22px;
}
.error-code .mark{font-size:.5em;padding:0 .08em;vertical-align:.34em}

/* ---------- Responsive ---------- */
@media (max-width:1340px){
  .nav{gap:16px}
  .nav-links{gap:19px}
  .nav-links > li > a{font-size:12.5px;letter-spacing:.06em}
  .nav-cta{padding:13px 18px;font-size:12.5px}
  .site-header .logo img{height:30px}
}
@media (max-width:1160px){
  .nav-links{gap:15px}
  .nav-links > li > a{font-size:12px;letter-spacing:.04em}
}
@media (max-width:1080px){
  .nav-links,.nav-cta{display:none}
  .nav-links.open .nav-cta-mobile .nav-cta{display:inline-flex;margin-top:18px}
  .burger{display:block}
  .nav-links.open{
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:absolute;top:var(--nav-h);left:0;right:0;
    background:var(--fresh-black);padding:16px 26px 30px;
    border-top:1px solid var(--fresh-line-dark);
    max-height:calc(100vh - var(--nav-h));overflow-y:auto;
  }
  .nav-links.open > li > a{display:block;padding:14px 0;font-size:16px;border-bottom:1px solid var(--fresh-line-dark)}
  .nav-links.open .nav-cta-mobile{display:block;border:0}
  .nav-links.open .nav-cta-mobile a{border:0;padding:16px 24px}
  .nav-links.open .has-sub{padding:0}
  .nav-links.open .subnav{
    display:block;position:static;transform:none;min-width:0;
    background:transparent;border:0;box-shadow:none;padding:6px 0 10px 16px;
  }
  .nav-links.open .subnav a{padding:10px 0;font-size:15.5px;color:#B9BDBB}
  .nav-links.open .subnav a:hover{background:transparent}
}
@media (max-width:980px){
  .section{padding:76px 0}
  .section.tight{padding:60px 0}
  .hero{padding:54px 0 60px}
  .hero-grid{grid-template-columns:1fr;gap:38px}
  .hero-visual{order:-1}
  .hero h1{max-width:none}
  .cols,.split{grid-template-columns:1fr;gap:36px}
  .svc-block{grid-template-columns:1fr;gap:16px;padding:34px 0}
  .split.flip .split-media{order:0}
  .cols-3,.facts{grid-template-columns:1fr;gap:28px}
  .term-grid{grid-template-columns:1fr}
  .svc{grid-template-columns:1fr;gap:10px;padding:26px 18px;margin:0 -18px}
  .svc .svc-go{display:none}
  .footer-grid{grid-template-columns:1fr 1fr;gap:38px}
  .cta-inner{padding:66px 26px}
  .form-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  body{font-size:18px}
  .wrap,.hero-grid,.nav,.subhero-inner,.cta-inner,.footer-grid,.footer-bottom,.breadcrumb ol{padding-left:20px;padding-right:20px}
  .footer-grid{grid-template-columns:1fr;gap:34px}
  .panel{padding:32px 26px}
  .btn{width:100%;justify-content:center}
  .hero-actions{flex-direction:column;align-items:stretch}
  .cta-actions{flex-direction:column;align-items:stretch}
  .cta-band::after{width:340px;right:-140px;bottom:-120px;height:340px}
  .subhero::after{width:250px;height:250px;right:-70px}
  .person-card{grid-template-columns:1fr}
  .cookie-banner{left:12px;right:12px;bottom:12px;padding:20px}
  .cookie-actions .btn{width:100%;justify-content:center}
}
