/* Gifhorn-IT: überarbeiteter Entwurf, 11.09.2026. */
:root{--wrap:1240px;--radius:12px;--text-soft:#afbec8}
html{scroll-padding-top:6rem}
main section[id]{scroll-margin-top:6rem}
body{background:var(--paper)}
.wrap,.top__in{min-width:0}
.hero__in>*{min-width:0}
.btn{min-height:46px;border-radius:8px;line-height:1.3;padding:.8rem 1.3rem}
.btn--primary{background:var(--accent);color:#1b1204;box-shadow:0 5px 16px -12px rgba(224,138,30,.8)}
.btn--primary:hover{background:#f0a03c}
.nav .btn{color:#1b1204}
.top{background:rgba(11,18,24,.96)}
.top__in{position:relative;min-height:78px;padding-block:.75rem}
.brand{white-space:nowrap;flex-shrink:0}
.nav{gap:1.4rem}
.nav a{white-space:nowrap}
.mobile-menu{display:none;margin-left:auto}
.mobile-menu summary{list-style:none;display:flex;align-items:center;gap:.7rem;min-height:44px;padding:.65rem .3rem;cursor:pointer;font:600 .9rem var(--font-display)}
.mobile-menu summary::-webkit-details-marker{display:none}
.menu-lines{width:21px;height:14px;position:relative;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
.menu-lines::before{content:"";position:absolute;left:0;right:0;top:5px;border-top:1.5px solid currentColor}
.mobile-menu nav{position:absolute;top:100%;left:var(--pad);right:var(--pad);padding:.7rem;background:#141d25;border:1px solid #35444f;border-radius:12px;box-shadow:0 20px 35px rgba(0,0,0,.4);max-height:calc(100dvh - 105px);overflow:auto}
.mobile-menu nav a{display:block;padding:.75rem 1rem;color:var(--text);text-decoration:none;border-radius:7px;min-height:44px}
.mobile-menu nav a:hover{background:var(--ink-3)}
.mobile-menu nav .btn{color:#1b1204;margin-top:.5rem;text-align:center;background:var(--accent)}
.hinweis{background:#85251c}
.hinweis__in{font-size:.8rem;line-height:1.45;padding-block:.6rem}
.hero{border-bottom:1px solid var(--line)}
.hero::before,.hero__logo::before,.hero__logo::after{content:none;display:none}
.hero::after{opacity:.65;background:radial-gradient(70% 90% at 87% 8%,rgba(224,138,30,.12),transparent 65%),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 48px)}
.hero__in{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:2.7rem;padding-block:clamp(2.6rem,4.8vw,4rem);align-items:center}
.hero .label{font-size:.75rem;letter-spacing:.14em;color:#b3c4cf;margin-bottom:1.15rem}
.hero .label::before{display:none}
.hero h1{font-size:clamp(2.45rem,4.1vw,3.45rem);max-width:none;line-height:1.1;letter-spacing:-.035em;text-wrap:balance}
.hero__accent{display:block;color:var(--accent-ink)}
.hero .hero__intro{font-size:1.17rem;line-height:1.6;max-width:53ch;margin-top:1.15rem;color:#c1ced6}
.hero__cta{margin-top:1.65rem;gap:.85rem}
.hero__cta .btn{padding:.85rem 1.3rem;min-height:48px}
.trust-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.3rem}
.trust-row li{padding-left:.9rem;min-width:0;line-height:1.45}
.trust-row strong{font-size:.86rem}
.trust-row span{font-size:.8rem;margin-top:.2rem;color:#afbec8}
.trust-row li::before{width:6px;height:6px;top:.42rem}
.hero__meta{display:grid;grid-template-columns:repeat(3,max-content);gap:.45rem .6rem;margin-top:1.6rem;font-size:.7rem;letter-spacing:.01em;max-width:100%}
.hero__meta span{padding:.27rem .6rem;background:transparent;backdrop-filter:none;color:#aabac5}
.hero__meta span::before{display:none}
.hero__logo{min-height:0;padding:1.5rem 0;gap:1rem;background:none;border:0;box-shadow:none;border-radius:0}
.hero__logo svg{width:min(230px,76%);height:auto;filter:none}
.hero__wort{font-size:clamp(1.85rem,3vw,2.6rem);margin-top:.2rem}
.hero__claim{font-size:.66rem;letter-spacing:.13em;max-width:34ch;line-height:1.6;color:#afbec8}
.section{padding-block:clamp(3rem,5.8vw,4.6rem)}
.section-intro{margin:.85rem 0 2rem;max-width:65ch}
.section h2{font-size:clamp(1.85rem,3.2vw,2.4rem);line-height:1.18}
.label{font-size:.75rem}
#leistungen .grid{gap:1.05rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.svc,.svc--lead{border-radius:12px;padding:1.5rem;background:#131d25;border-color:#283843;gap:.65rem}
.svc--lead{background:linear-gradient(135deg,#18252e,#131d25 65%)}
.svc--lead::before,.svc::after{display:none}
.svc:hover{transform:none;border-color:#687780;box-shadow:none}
.svc__heading{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;column-gap:.8rem;row-gap:.6rem}
.svc__ico{width:32px;height:32px;padding:0;border:0;background:none;box-sizing:border-box;grid-row:1 / span 2;align-self:center}
.svc h3,.svc--lead h3{font-size:1.08rem;font-weight:600;line-height:1.3;margin:0;text-wrap:pretty}
.svc .marker{grid-column:2;font-size:.64rem;letter-spacing:.09em;background:rgba(224,138,30,.12);border-color:rgba(240,160,60,.3);border-radius:4px}
.svc__lead{font-size:1rem;color:#c0ced7;line-height:1.55;margin-left:calc(36px + .8rem)}
.svc ul{margin:.15rem 0 0 calc(36px + .8rem);font-size:.94rem;color:#aebfc9;line-height:1.6}
.svc li{padding-left:1rem;margin-block:.2rem}
.svc li::before{width:4px;height:4px;top:.7em;box-shadow:none}
.shot-fig:hover .shot{transform:none}
.gallery .shot{aspect-ratio:4/3}
.gallery .shot img{object-fit:contain;background:var(--ink-2)}
.gallery .shot-fig:nth-child(1) .shot,.gallery .shot-fig:nth-child(4) .shot{aspect-ratio:16/10}
.fakt::after,.contact::before{display:none}
.fakt{padding:1.4rem}
.steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.step{padding-inline:0;min-width:0}
.step h3{line-height:1.35;font-size:1.06rem}
.step p{line-height:1.65}
#ueber .shot{aspect-ratio:3/2}
#ueber .shot img{object-position:center}
#ueber .lead{font-size:1.08rem}
.chips li{font-family:var(--font-body);font-size:.91rem}
.range-map text{font-size:19px}
.range-map .map-note{font-size:17px}
.faq{max-width:none}
.faq__item summary{min-height:48px;line-height:1.45}
.field label{font-family:var(--font-body);text-transform:none;letter-spacing:0;font-size:.96rem;color:#c2cfd7}
.field input,.field select,.field textarea{min-height:48px;border-color:#4b5d69;background:#111b23}
.field input::placeholder,.field textarea::placeholder{color:#9dafbb}
.dl dt{font-size:.75rem;color:#afbec8}
.qr-box p{font-size:.92rem;color:#afbec8}
@media (max-width:1080px){
  .nav{display:none}
  .mobile-menu{display:block}
  .hero__in{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:1.5rem}
  .hero h1{font-size:clamp(2.3rem,4.5vw,3rem)}
  .trust-row{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1rem}
  .hero__meta{font-size:.66rem;gap:.4rem}
  .hero__meta span{padding:.25rem .5rem}
}
@media (max-width:760px){
  .hero__in{grid-template-columns:minmax(0,1fr);gap:1.6rem}
  .hero h1{font-size:clamp(2.3rem,6.5vw,3.2rem);max-width:19ch}
  .hero .hero__intro{max-width:56ch;font-size:1.08rem}
  .trust-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero__logo{padding:.4rem 0 0;gap:.5rem}
  .hero__logo svg{width:98px}
  .hero__wort{font-size:1.65rem}
  .hero__claim{font-size:.66rem;letter-spacing:.12em;max-width:none}
  .hero__meta{font-size:.72rem;justify-content:start;margin-top:1.5rem}
  #leistungen .grid{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .range-map{width:min(100%,440px)}
}
@media (max-width:520px){
  :root{--pad:1.2rem}
  html{scroll-padding-top:5rem}
  main section[id]{scroll-margin-top:5rem}
  .top__in{min-height:70px;gap:.75rem}
  .brand{font-size:1.08rem;gap:.45rem}
  .brand__mark{height:41px}
  .mobile-menu summary{font-size:.84rem}
  .hinweis__in{font-size:.75rem;line-height:1.45;padding-block:.6rem}
  .hero__in{padding-block:2rem;gap:1.5rem}
  .hero .label{font-size:.68rem;letter-spacing:.09em;margin-bottom:.9rem}
  .hero h1{font-size:clamp(2.1rem,8.6vw,2.65rem);max-width:16ch}
  .hero__cta{margin-top:1.35rem;gap:.65rem}
  .hero__cta .btn{flex:1 1 100%;font-size:.96rem}
  .trust-row{grid-template-columns:1fr;margin-top:2.2rem;gap:.9rem}
  .trust-row strong{font-size:.94rem}
  .trust-row span{font-size:.87rem;margin-top:.08rem}
  .hero__meta{grid-template-columns:repeat(2,max-content);font-size:.67rem;gap:.45rem}
  .hero__meta span{padding:.25rem .6rem}
  .hero__claim{max-width:30ch;font-size:.63rem}
  .svc{padding:1.25rem}
  .svc__lead,.svc ul{margin-left:0}
  .svc__heading{grid-template-columns:32px minmax(0,1fr);column-gap:.7rem}
  .svc__ico{width:28px;height:28px}
  .section h2{font-size:1.85rem}
  .steps{grid-template-columns:1fr;gap:1.4rem}
  .foot__in{gap:1rem}
  .foot .spacer{display:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.mobile-menu{display:none}.nav{display:flex}.hero__meta span{border-color:#777}}
