:root {
  --navy:#062d5f;
  --navy-dark:#03224a;
  --gold:#e59600;
  --coral:#ff5c4d;
  --cream:#fff8ec;
  --paper:#fffdfa;
  --text:#0b2b57;
  --muted:#5d6877;
  --line:#dfe4ea;
  --shadow:0 12px 30px rgba(6,45,95,.08);
  --radius:18px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--paper);line-height:1.55}
a{color:inherit}img{max-width:100%;display:block}button,input,textarea{font:inherit}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:999;background:#fff;padding:.7rem 1rem}.skip-link:focus{left:8px}
.site-header{background:rgba(255,253,250,.98);border-bottom:1px solid rgba(229,150,0,.65);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}
.header-inner{max-width:var(--max);margin:auto;min-height:104px;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand img{width:390px;max-height:82px;object-fit:contain;object-position:left center}
.site-nav{display:flex;align-items:center;gap:34px}.site-nav a{text-decoration:none;font-weight:700;font-size:1.05rem;padding:9px 0;border-bottom:4px solid transparent}.site-nav a:hover,.site-nav a:focus-visible,.site-nav a.active{color:var(--coral);border-color:var(--coral)}
.menu-button{display:none;border:0;border-radius:999px;width:46px;height:46px;background:var(--coral);color:#fff;font-size:1.35rem;cursor:pointer}

.hero-vector-panel{
  width:100%;
  background:#fbf6ea;
  border-bottom:1px solid #efe2ce;
  overflow:hidden;
}
.hero-vector{
  display:block;
  width:100%;
  height:auto;
  max-height:460px;
  object-fit:fill;
}
.section{padding:66px 24px}.section-inner{max-width:var(--max);margin:auto}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.info-card{min-height:310px;padding:32px 24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);text-align:center}.icon{width:60px;height:60px;margin:0 auto 18px;color:var(--gold)}.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.info-card h3{margin:0 0 12px;text-transform:uppercase;font-size:1.25rem}.info-card strong{display:block;font-size:1.25rem;margin-bottom:8px}.info-card p{margin:0}
.form-section{padding-top:0}.form-shell{max-width:1060px;margin:auto;background:#fff;border:1px solid #edf0f4;border-radius:var(--radius);box-shadow:var(--shadow);padding:36px 48px 40px}.form-shell h2{max-width:860px;margin:0 auto 28px;text-align:center;text-transform:uppercase;font-size:clamp(1.45rem,3vw,2rem);line-height:1.25;letter-spacing:.025em}.form-shell h2::after{content:"";display:block;width:64px;height:3px;background:var(--gold);margin:16px auto 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}label{font-weight:700}input,textarea{width:100%;border:1px solid #cfd6df;border-radius:8px;padding:15px 16px;color:var(--text);background:#fff}input:focus,textarea:focus{outline:3px solid rgba(255,92,77,.2);border-color:var(--coral)}.consent{grid-column:1/-1;display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;padding:14px 16px;border:1px solid #cfd6df;border-radius:8px}.consent input{width:20px;height:20px;margin-top:4px}.consent label{font-weight:400}.submit-button{grid-column:1/-1;border:0;border-radius:8px;background:var(--navy);color:#fff;padding:16px 20px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.submit-button:hover,.submit-button:focus-visible{background:var(--navy-dark)}.form-note{color:var(--muted);font-size:.9rem;margin:14px 0 0;text-align:center}
.site-footer{border-top:1px solid #e4e8ee;background:#fff}.footer-grid{max-width:var(--max);margin:auto;padding:38px 24px 26px;display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:34px}.footer-block+.footer-block{border-left:1px solid #d8dee7;padding-left:34px}.footer-block h2{font-size:1rem;text-transform:uppercase;margin:0 0 10px}.footer-block p{margin:0 0 7px;font-size:.95rem}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.footer-links a{text-decoration:underline}.copyright{text-align:center;padding:0 24px 25px;color:var(--muted);font-size:.9rem}
.page-hero{background:var(--cream);border-bottom:1px solid #f0e4cf}.page-hero .section-inner{padding:56px 24px}.page-hero h1{margin:0 0 8px;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1}.page-hero p{margin:0;font-size:1.15rem}.content-card{max-width:900px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px}.content-card h2{margin-top:2rem}.content-card h2:first-child{margin-top:0}.magazine-layout{display:grid;grid-template-columns:minmax(280px,430px) 1fr;gap:42px;align-items:start}.magazine-image{border-radius:14px;box-shadow:var(--shadow)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.gallery-placeholder{aspect-ratio:4/3;background:linear-gradient(135deg,#eef2f6,#fff);display:grid;place-items:center;color:var(--muted);font-weight:700;padding:24px;text-align:center}.gallery-card h2{font-size:1.1rem;margin:16px 18px 6px}.gallery-card p{margin:0 18px 18px;color:var(--muted)}.back-link{display:inline-block;margin-top:24px;font-weight:700}.success{text-align:center}
@media(max-width:1100px){.header-inner{min-height:94px}.brand img{width:335px}.site-nav{gap:24px}}
@media(max-width:920px){.header-inner{min-height:92px}.brand img{width:300px}.menu-button{display:grid;place-items:center}.site-nav{display:none;position:absolute;top:100%;right:16px;left:16px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:12px 20px;flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav a{padding:13px 4px}.info-grid{grid-template-columns:repeat(2,1fr)}.magazine-layout{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.header-inner{padding:12px 16px}.brand img{width:235px}.section{padding:44px 16px}.info-grid,.gallery-grid{grid-template-columns:1fr}.info-card{min-height:auto}.form-shell{padding:28px 18px}.form-grid{grid-template-columns:1fr}.field.full,.consent,.submit-button{grid-column:1}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-block+.footer-block{border-left:0;border-top:1px solid #d8dee7;padding:22px 0 0}.page-hero .section-inner{padding:42px 16px}.content-card{padding:24px 18px}}


@media(max-width:620px){.hero-vector{min-width:720px;width:720px;transform:translateX(calc((100vw - 720px)/2));}}


/* Exakter Kopfbereich auf Basis der freigegebenen Vorlage */
.hero-exact-panel {
  background: #fff8ec;
  padding: 0;
  margin: 0;
  border-bottom: 0;
  overflow: hidden;
}
.hero-exact-image {
  display: block;
  width: min(100%, 1280px);
  height: auto;
  margin: 0 auto;
}
@media (max-width: 620px) {
  .hero-exact-image {
    width: 100%;
    max-width: 100%;
  }
}


/* Zweizeilige Überschrift über dem Kontaktformular */
.form-shell h2 span {
  display: block;
  font-size: inherit;
  line-height: inherit;
}
.form-shell h2 span + span {
  margin-top: .35rem;
}


/* Minimale Anpassungen */
.hero-exact-panel {
  background: #fcf2e8;
}
.hero-exact-image {
  width: min(100%, 1280px);
  background: #fcf2e8;
}
.form-shell h2 {
  max-width: none;
  margin: 0 0 22px;
  text-align: left;
  text-transform: none;
  font-size: 1.05rem;
  line-height: 1.45;
  letter-spacing: 0;
}
.form-shell h2::after {
  margin: 12px 0 0;
}
.form-shell h2 span {
  font-size: inherit;
  line-height: inherit;
}
.form-shell h2 span + span {
  margin-top: .12rem;
}
@media (max-width: 620px) {
  .form-shell h2 { font-size: .98rem; }
}


/* --- Startseite: Umsetzung Vorschlag 2 --- */
.hero-exact-panel{background:#fcf2e8;padding:0;margin:0;overflow:hidden}
.hero-exact-image{display:block;width:min(100%,1280px);height:auto;margin:0 auto;background:#fcf2e8}
.homepage-info{padding-top:30px;padding-bottom:22px}
.home-info-grid{gap:24px}
.home-info-card{min-height:286px;padding:28px 20px;border-color:#efe4d4;box-shadow:0 10px 24px rgba(6,45,95,.08);text-align:left}
.home-info-card .icon{margin:0 0 16px;color:var(--gold)}
.home-info-card h3{margin:0 0 12px;text-transform:none;font-size:1rem;color:var(--navy)}
.home-info-card strong{display:block;margin-bottom:12px;color:var(--gold);font-size:1.12rem;line-height:1.4}
.home-info-card p{margin:0;color:var(--text)}
.card-link{display:inline-flex;align-items:center;gap:.55rem;margin-top:16px;color:var(--gold);font-weight:700;text-decoration:none}
.card-link:hover,.card-link:focus-visible{text-decoration:underline}

.step-highlight{padding-top:4px;padding-bottom:24px}
.steps-strip{position:relative;display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:0;max-width:1120px;margin:0 auto;background:linear-gradient(90deg,#062d5f 0%, #0a3f84 100%);border-radius:16px;box-shadow:0 12px 30px rgba(6,45,95,.18);overflow:hidden}
.steps-strip-lines{position:absolute;width:78px;height:78px;pointer-events:none;opacity:.95}
.steps-strip-lines.left{left:10px;bottom:10px;border-left:3px solid var(--gold);border-bottom:3px solid var(--gold);border-radius:0 0 0 16px}
.steps-strip-lines.left::before,.steps-strip-lines.left::after,.steps-strip-lines.right::before,.steps-strip-lines.right::after{content:"";position:absolute;inset:0;border-radius:inherit}
.steps-strip-lines.left::before{left:8px;bottom:8px;top:-8px;right:-8px;border-left:3px solid var(--gold);border-bottom:3px solid var(--gold);border-radius:0 0 0 16px}
.steps-strip-lines.left::after{left:16px;bottom:16px;top:-16px;right:-16px;border-left:3px solid var(--gold);border-bottom:3px solid var(--gold);border-radius:0 0 0 16px}
.steps-strip-lines.right{right:10px;bottom:10px;border-right:3px solid var(--gold);border-bottom:3px solid var(--gold);border-radius:0 0 16px 0}
.steps-strip-lines.right::before{left:-8px;bottom:8px;top:-8px;right:8px;border-right:3px solid var(--gold);border-bottom:3px solid var(--gold);border-radius:0 0 16px 0}
.steps-strip-lines.right::after{left:-16px;bottom:16px;top:-16px;right:16px;border-right:3px solid var(--gold);border-bottom:3px solid var(--gold);border-radius:0 0 16px 0}
.step-item{display:flex;align-items:center;gap:24px;padding:28px 44px;min-height:138px;position:relative;z-index:1}
.step-separator{width:1px;align-self:stretch;background:rgba(229,150,0,.95);margin:18px 0}
.step-badge{width:82px;height:82px;border:4px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-size:2.45rem;font-weight:800;color:var(--gold);background:transparent;flex:0 0 auto}
.step-copy{max-width:370px}
.step-title{font-size:1.05rem;font-weight:800;color:var(--gold);text-transform:none;line-height:1.2;margin-bottom:6px}
.step-copy p{margin:0;color:#fff;font-size:1rem;font-weight:700;line-height:1.35}

.form-section{padding-top:0;padding-bottom:32px}
.home-form-shell{max-width:1120px;padding:26px 32px 28px;border-color:#efe4d4;box-shadow:none}
.home-form-shell h2{margin:0;color:var(--navy);text-align:left;text-transform:none;letter-spacing:0;font-size:1.2rem;line-height:1.2}
.home-form-shell h2::after{display:none}
.form-intro{margin:12px 0 20px;color:var(--text)}
.home-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-form-grid .full{grid-column:1 / -1}
.home-form-grid label{font-size:.95rem;font-weight:700;color:var(--navy)}
.home-form-grid input,.home-form-grid textarea{border:1px solid #d5dbe3;border-radius:8px;padding:14px 15px}
.home-form-grid textarea{min-height:68px;resize:vertical}
.consent-inline{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;border:0;padding:0;border-radius:0}
.consent-inline input{width:18px;height:18px;margin-top:3px}
.consent-inline label{font-weight:400;color:var(--text)}
.privacy-note{margin:-8px 0 0;padding:0 0 4px 34px;font-size:.95rem}
.privacy-note a{color:var(--gold);text-decoration:none}
.privacy-note a:hover,.privacy-note a:focus-visible{text-decoration:underline}
.submit-button-accent{display:flex;justify-content:center;align-items:center;gap:.75rem;width:100%;background:linear-gradient(90deg,#ef9113 0%, #f3a12d 100%);border-radius:8px;color:#fff;text-transform:none;font-size:1rem;letter-spacing:0;padding:15px 20px}
.submit-button-accent:hover,.submit-button-accent:focus-visible{background:linear-gradient(90deg,#df850d 0%, #ea9620 100%)}

.site-footer-simple{background:#fff;border-top:0}
.site-footer-simple .copyright{padding-top:18px;color:#5b6780;border-top:1px solid #cfd8e6;max-width:1120px;margin:0 auto 24px}

@media(max-width:1100px){
  .home-form-grid{grid-template-columns:1fr 1fr}
  .home-form-grid .field:nth-child(3){grid-column:1 / -1}
}
@media(max-width:920px){
  .home-info-grid{grid-template-columns:repeat(2,1fr)}
  .steps-strip{grid-template-columns:1fr}
  .step-separator{display:none}
  .step-item{padding:24px 24px}
  .step-item + .step-item{border-top:1px solid rgba(229,150,0,.4)}
  .steps-strip-lines.right{display:none}
  .site-footer-simple .copyright{margin-left:16px;margin-right:16px}
}
@media(max-width:620px){
  .homepage-info{padding-top:18px}
  .home-info-grid{grid-template-columns:1fr}
  .home-info-card{min-height:auto}
  .step-item{flex-direction:column;align-items:flex-start;gap:16px}
  .step-copy{max-width:none}
  .home-form-shell{padding:22px 18px}
  .home-form-grid{grid-template-columns:1fr}
  .privacy-note{padding-left:0}
  .site-footer-simple .copyright{padding-left:0;padding-right:0}
}


/* --- Korrekturen nach Feedback --- */
.hero-exact-panel{background:#fcf2e8;padding:0;margin:0;border-bottom:0;overflow:hidden}
.hero-exact-image{display:block;width:100%;max-width:none;height:auto;margin:0;background:#fcf2e8}
.submit-button,.submit-button.full{background:var(--navy);color:#fff;text-transform:none;letter-spacing:0}
.submit-button:hover,.submit-button:focus-visible,.submit-button.full:hover,.submit-button.full:focus-visible{background:var(--navy-dark)}
/* Sicherstellen, dass der normale Footer auf der Startseite wieder vollständig erscheint */
.site-footer{border-top:1px solid #e4e8ee;background:#fff}
.footer-grid{max-width:var(--max);margin:auto;padding:38px 24px 26px;display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:34px}
.footer-block+.footer-block{border-left:1px solid #d8dee7;padding-left:34px}
.footer-block h2{font-size:1rem;text-transform:uppercase;margin:0 0 10px}
.footer-block p{margin:0 0 7px;font-size:.95rem}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.footer-links a{text-decoration:underline}
@media(max-width:620px){
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-block+.footer-block{border-left:0;border-top:1px solid #d8dee7;padding:22px 0 0}
}


/* --- Kopfbereich: 20% kleiner und schärfer --- */
.hero-exact-panel{
  background:#fcf2e8;
  padding:0;
}
.hero-exact-image{
  display:block;
  width:80%;
  max-width:1600px;
  height:auto;
  margin:0 auto;
  background:#fcf2e8;
}
@media (max-width: 1200px){
  .hero-exact-image{width:88%;}
}
@media (max-width: 820px){
  .hero-exact-image{width:94%;}
}
@media (max-width: 620px){
  .hero-exact-image{width:100%;}
}


/* --- Kopfbereich ohne seitliche/obere Absetzung, weiterhin etwas kompakter --- */
.hero-exact-panel{
  background:#fcf2e8;
  padding:0;
  margin:0;
  border-bottom:0;
  overflow:hidden;
}
.hero-exact-image{
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  margin:0;
  background:#fcf2e8;
}


/* --- Feinanpassung Kreise im Schritt-Bereich --- */
.step-badge{width:70px;height:70px;font-size:2.1rem}

/* --- Mediengalerie und vergrößerte Ansicht --- */
.magazine-preview,
.gallery-card{margin:0}
.magazine-preview figcaption,
.gallery-card figcaption{padding:14px 18px 17px;font-weight:700;text-align:center;color:var(--navy)}
.magazine-preview figcaption{padding-left:0;padding-right:0}
.media-zoom-button{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in;text-align:inherit}
.media-zoom-button:focus-visible{outline:4px solid rgba(255,92,77,.45);outline-offset:4px;border-radius:14px}
.magazine-image{width:100%;border-radius:14px;box-shadow:var(--shadow)}
.magazine-zoom-button{border-radius:14px}
.gallery-zoom-button{overflow:hidden;background:#f3f5f8}
.gallery-image{width:100%;height:330px;object-fit:contain;background:#f3f5f8;transition:transform .25s ease}
.media-zoom-button:hover .gallery-image,
.media-zoom-button:focus-visible .gallery-image{transform:scale(1.025)}
.zoom-hint{position:absolute;right:12px;bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(3,34,74,.9);color:#fff;font-size:.82rem;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.pdf-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--coral);font-weight:700}

.media-lightbox{width:min(96vw,1400px);height:min(94vh,980px);padding:0;border:0;border-radius:16px;background:transparent;overflow:visible}
.media-lightbox::backdrop{background:rgba(0,15,35,.86);backdrop-filter:blur(3px)}
.lightbox-panel{position:relative;display:flex;flex-direction:column;width:100%;height:100%;padding:52px 20px 16px;border-radius:16px;background:#111a27;box-shadow:0 24px 70px rgba(0,0,0,.5)}
.lightbox-close{position:absolute;top:10px;right:12px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#fff;color:#062d5f;font-size:2rem;line-height:1;cursor:pointer}
.lightbox-close:hover,.lightbox-close:focus-visible{background:var(--coral);color:#fff}
.lightbox-content{display:grid;place-items:center;min-height:0;flex:1;overflow:auto}
.lightbox-image{display:block;max-width:100%;max-height:calc(94vh - 105px);width:auto;height:auto;object-fit:contain}
.lightbox-pdf{display:block;width:100%;height:100%;min-height:70vh;border:0;border-radius:8px;background:#fff}
.lightbox-caption{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.75rem;margin:10px 0 0;color:#fff;text-align:center;font-weight:700}
.lightbox-caption a{color:#ffd27a;font-size:.9rem}

@media(max-width:920px){
  .gallery-image{height:300px}
}
@media(max-width:620px){
  .gallery-image{height:auto;max-height:72vh}
  .zoom-hint{font-size:.76rem}
  .media-lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;border-radius:0}
  .lightbox-panel{border-radius:0;padding:52px 8px 10px}
  .lightbox-image{max-height:calc(100vh - 100px)}
  .lightbox-pdf{min-height:calc(100vh - 105px)}
}
