/* IPEC Website 2.0: Unterseiten.
   Das alte Seitenlayout bleibt (Galerien, FAQ, Karten, Formulare). Diese Datei lädt nach dem alten CSS und legt
   Kikis Design darüber: Header, Kontakt und Footer 1:1 aus styles.css (Teil 1, alles unter body.v2-site),
   danach ihre Farben, Schrift und Bausteine für die Inhalte (Teil 2). Nur aktiv mit body.v2-site. */

/* ===== Teil 1: Header, Kontakt, Footer aus styles.css ===== */
:root{--hair:1px;
  --panel-shadow:0 4px 14px rgba(6,12,26,.08),0 22px 56px rgba(6,12,26,.16),0 56px 140px -8px rgba(6,12,26,.26);
  --navy:#1b3055; --navy-deep:#14243f; --navy-ink:#0f1b30; --navy-band:rgba(27,62,119,.6);
  --blue:#a2bde3; --blue-40:#dae5f4; --blue-20:#ecf2f9;
  --text:#c9d6ea;                 
  --muted:#9fb2cf;                
  --line:rgba(162,189,227,.22);
  --white:#fff;
  --magenta:#e31c79;
  --wrap:1320px; --gut:clamp(20px,4vw,56px);
  --ease:cubic-bezier(.25,1,.5,1);
  --h2:clamp(30px,3.1vw,46px);
  --sec:clamp(80px,9vw,136px);
  --strip:clamp(460px,62svh,620px);}
/* Grundregeln aus styles.css, nur innerhalb von Header, Kontakt und Footer */
body.v2-site :is(.hdr,.contact,.ftr),body.v2-site :is(.hdr,.contact,.ftr) *{box-sizing:border-box}
body.v2-site :is(.hdr,.contact,.ftr){font:400 17px/1.65 Lato,system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums;text-align:left}
body.v2-site :is(.hdr,.contact,.ftr) img{display:block;max-width:100%}
body.v2-site :is(.hdr,.contact,.ftr) a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
body.v2-site :is(.contact,.ftr) .wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
body.v2-site .contact h2{color:var(--white);font-weight:700;margin:0 0 24px;text-wrap:balance;font-size:var(--h2);line-height:1.1;letter-spacing:-.02em;max-width:18em;text-transform:none;text-align:left;font-family:Lato,sans-serif}
body.v2-site .contact h2::after,body.v2-site .contact h2::before{content:none}
body.v2-site :is(.contact,.ftr) p{margin:0 0 18px;max-width:40em;text-wrap:pretty}
body.v2-site .contact .lead{font-size:clamp(19px,1.45vw,22px);line-height:1.5;color:var(--blue-40)}
body.v2-site .contact strong{color:var(--white)}
body.v2-site .contact fieldset{min-width:0}
body.v2-site .contact input,body.v2-site .contact textarea{width:auto;max-width:none;box-shadow:none;margin:0;height:auto}
body.v2-site .contact label{margin:0;text-transform:none;letter-spacing:normal}
body.v2-site .ftr p{margin:0}
body.v2-site .gt-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}


body.v2-site .hdr .btn,body.v2-site .contact .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:2px;background:var(--white);color:var(--navy);font:700 13px/1 Lato;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid var(--white);cursor:pointer;transition:background-color .25s var(--ease),color .25s var(--ease)}
body.v2-site .hdr .btn:hover,body.v2-site .contact .btn:hover{background:var(--blue-20)}
body.v2-site .hdr .btn-sm,body.v2-site .contact .btn-sm{min-height:40px;padding:0 18px;font-size:12px}
body.v2-site .hdr .btn-light,body.v2-site .contact .btn-light{background:var(--white);color:var(--navy);border-color:var(--white)}
body.v2-site .hdr{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;height:80px;padding:0 var(--gut);transition:background-color .35s var(--ease),height .35s var(--ease)}
body.v2-site .hdr-logo img{height:34px;width:auto}
body.v2-site .hdr .logo-dark{display:none}
body.v2-site .hdr-nav{display:flex;gap:clamp(18px,2.2vw,36px)}
body.v2-site .hdr-nav a{white-space:nowrap;font:700 12px/1 Lato;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--white);padding:10px 0}
body.v2-site .hdr-nav a:hover{text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:.7em}
body.v2-site .hdr-end{display:flex;align-items:center;gap:22px}
body.v2-site .lang{display:flex;gap:12px;font:700 11px/1 Lato;letter-spacing:.12em}
body.v2-site .lang a{text-decoration:none;color:var(--white);opacity:.72}
body.v2-site .lang a.on,body.v2-site .lang a:hover{opacity:1}
body.v2-site .burger{display:none;background:none;border:0;width:40px;height:40px;padding:10px 8px;cursor:pointer}
body.v2-site .burger span{display:block;height:1.5px;background:var(--white);margin:6px 0}
body.v2-site .hdr.solid{background:var(--navy);height:66px;box-shadow:0 1px 0 var(--line)}
body.v2-site .hdr .btn-ghost,body.v2-site .contact .btn-ghost{gap:10px;background:transparent;color:var(--navy);border-color:var(--navy)}
body.v2-site .hdr .btn-ghost:hover,body.v2-site .contact .btn-ghost:hover{background:var(--navy);color:#fff}
body.v2-site .hdr .btn-ghost svg,body.v2-site .contact .btn-ghost svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}
body.v2-site .hdr .btn-ghost:hover svg,body.v2-site .contact .btn-ghost:hover svg{transform:translateY(2px)}
body.v2-site .contact{background:var(--navy);color:var(--blue-40);padding:var(--sec) 0}
body.v2-site .contact-in{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,96px)}
body.v2-site .cdata{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:18px}
body.v2-site .cdata li{font-size:16px;color:#fff}
body.v2-site .cdata span{display:block;margin-bottom:2px;font-size:13px;color:var(--blue)}
body.v2-site .cdata a{text-decoration-color:var(--blue)}
body.v2-site .form{display:grid;gap:18px;align-content:start}
body.v2-site .form label{display:grid;gap:6px;font:700 13px/1.2 Lato;color:var(--blue-40)}
body.v2-site .form label i{font-style:normal;font-weight:400;color:var(--blue)}
body.v2-site .form input,body.v2-site .form textarea{font:400 16px Lato;color:#fff;background:rgba(255,255,255,.04);border:1px solid rgba(162,189,227,.3);padding:12px 14px;border-radius:2px;outline:none;transition:border-color .2s,background-color .2s;caret-color:var(--blue)}
body.v2-site .form input:focus,body.v2-site .form textarea:focus{border-color:var(--blue);background:rgba(255,255,255,.07)}
body.v2-site .form input[aria-invalid="true"]{border-color:#f1a5c8}
body.v2-site .frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
body.v2-site .interest{border:0;padding:0;margin:0 0 6px;display:flex;flex-wrap:wrap;gap:8px}
body.v2-site .interest legend{font:700 13px/1 Lato;color:var(--blue-40);margin-bottom:12px}
body.v2-site .interest label{display:block}
body.v2-site .interest input{position:absolute;opacity:0}
body.v2-site .interest span{display:inline-block;padding:10px 16px;border:1px solid rgba(162,189,227,.35);border-radius:20px;font:400 14px/1 Lato;color:#fff;cursor:pointer;transition:background-color .2s,border-color .2s}
body.v2-site .interest input:checked+span{background:#fff;color:var(--navy);border-color:#fff;font-weight:700}
body.v2-site .interest input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
body.v2-site .form .btn{justify-self:start;margin-top:6px}
body.v2-site .form-ok{color:var(--blue);font-size:14px;margin:0}
body.v2-site .ftr{background:var(--navy-ink);color:#b7c4da;padding:48px 0;font-size:14px}
body.v2-site .ftr-in{display:grid;grid-template-columns:auto 1fr auto;gap:16px 40px;align-items:center}
body.v2-site .ftr img{height:28px;width:auto}
body.v2-site .ftr p{margin:0}
body.v2-site .ftr nav{display:flex;gap:22px}
body.v2-site .ftr nav a{text-decoration:none}
body.v2-site .ftr nav a:hover{color:#fff}
body.v2-site .ftr-c{grid-column:1/-1;max-width:none;padding-top:20px;border-top:1px solid rgba(162,189,227,.14);font-size:13px}
body.v2-site .ftr-c a{color:inherit;text-decoration:underline}
@media (min-resolution:2dppx){
  :root{--hair:.75px}
}
@media (max-width:1100px){
  body.v2-site .hdr-nav,body.v2-site .lang{display:none}
  body.v2-site .burger{display:block}
  body.v2-site .hdr.open .hdr-nav{display:flex;position:fixed;top:66px;left:0;right:0;flex-direction:column;gap:0;background:var(--navy);padding:8px var(--gut) 24px}
  body.v2-site .hdr.open .hdr-nav a{padding:16px 0;border-bottom:1px solid var(--line)}
}
@media (max-width:980px){
  body.v2-site .contact-in{grid-template-columns:1fr}
}
@media (max-width:640px){
  body.v2-site .hdr{height:64px}
  body.v2-site .hdr-logo img{height:28px}
  body.v2-site .hdr-end .btn{display:none}
  body.v2-site .frow{grid-template-columns:1fr}
  body.v2-site .ftr-in{grid-template-columns:1fr}
  body.v2-site .ftr nav{flex-wrap:wrap}
}
body.v2-site .form-err{color:#f1a5c8}

/* Cookie-Banner wie auf der Startseite (cookie.css) */
body.v2-site .cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:99999;background:var(--navy-ink);color:var(--text);border-top:var(--hair) solid var(--line);box-shadow:0 -18px 48px rgba(6,12,26,.35);transform:translateY(100%);transition:transform .4s var(--ease)}
body.v2-site .cookie-banner.is-visible{transform:translateY(0)}
body.v2-site .cookie-banner__inner{max-width:var(--wrap);margin:0 auto;padding:18px var(--gut);display:flex;align-items:center;justify-content:space-between;gap:32px}
body.v2-site .cookie-banner__text{margin:0;flex:1;font:400 14px/1.6 Lato,sans-serif;color:var(--text)}
body.v2-site .cookie-banner__text a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
body.v2-site .cookie-banner__text a:hover{color:var(--white)}
body.v2-site .cookie-banner__actions{display:flex;gap:12px;flex-shrink:0}
body.v2-site .cookie-banner__btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border-radius:2px;font:700 12px/1 Lato,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
body.v2-site .cookie-banner__btn--accept{background:var(--white);color:var(--navy);border:1px solid var(--white)}
body.v2-site .cookie-banner__btn--accept:hover{background:var(--blue);border-color:var(--blue)}
body.v2-site .cookie-banner__btn--decline{background:transparent;color:var(--white);border:1px solid var(--line)}
body.v2-site .cookie-banner__btn--decline:hover{border-color:var(--blue)}
@media (max-width:768px){
  body.v2-site .cookie-banner__inner{flex-direction:column;align-items:stretch;gap:14px;padding:16px var(--gut)}
  body.v2-site .cookie-banner__text{font-size:13px}
  body.v2-site .cookie-banner__btn{flex:1}
}

body.v2-site #skip a{position:fixed;left:16px;top:-80px;z-index:100000;padding:12px 18px;background:var(--white);color:var(--navy);font:700 12px/1 Lato,sans-serif;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:top .2s var(--ease)}
body.v2-site #skip a:focus{top:16px}

/* ===== Teil 2: Inhalte der Unterseiten im Stil von Website 2.0 ===== */
/* Header: auf Unterseiten von Anfang an navy (Inhalte beginnen nicht immer auf einem dunklen Titelbild) */
body.v2-site .hdr{background:var(--navy);height:66px;box-shadow:0 1px 0 var(--line)}
body.v2-site .hdr .hdr-nav a{color:var(--white)!important;background:none;border:0;margin:0}
body.v2-site .hdr .hdr-nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:.7em}
body.v2-site{padding-top:0!important}
body.v2-site .site-main,body.v2-site main#content,body.v2-site main#primary{padding-top:0;margin-top:0}

/* Alte Design-Variablen auf Kikis Palette */
body.v2-site{
  --color-primary:#1b3055; --color-primary-dark:#1b3055; --color-primary-middle:#1b3055;
  --color-accent:#1b3055; --color-accent-blue:#1b3055; --color-accent-green:#a2bde3;
  --color-text:#1b3055; --color-bg:#ecf2f9; --color-light-grey:#ecf2f9; --color-border:#dae5f4;
  --radius-xs:2px; --radius-sm:2px; --radius-md:2px; --radius-lg:3px;
  --shadow-soft:0 1px 0 #dae5f4; --container-width:1320px;
  font-family:Lato,system-ui,sans-serif; color:#1b3055; background:#fff;
  -webkit-font-smoothing:antialiased; font-variant-numeric:lining-nums;
}
body.v2-site .container{max-width:var(--wrap);padding-left:var(--gut);padding-right:var(--gut)}
body.v2-site :is(h1,h2,h3,h4,h5,h6){font-family:Lato,system-ui,sans-serif;text-transform:none;letter-spacing:-.015em;font-weight:700;text-wrap:balance}
body.v2-site main :is(p,li,td,dd){font-family:Lato,system-ui,sans-serif}
body.v2-site main a:not([class]){color:#1b3055;text-decoration-color:#a2bde3;text-underline-offset:.2em}

/* Titelbereiche: navy wie der Hero der Startseite, Text links */
body.v2-site :is(.page-hero,.career-header,.services-header,.imprint-hero,.privacy-hero,.blog-hero,.glossary-single-header){
  position:relative;background:linear-gradient(180deg,#0f1f37 0%,var(--navy) 100%)!important;color:var(--text);
  text-align:left;padding:calc(66px + clamp(56px,7vw,104px)) 0 clamp(48px,6vw,88px)!important;margin:0;border:0;min-height:0;
}
body.v2-site :is(.page-hero,.career-header,.services-header,.imprint-hero,.privacy-hero,.blog-hero,.glossary-single-header)::before{content:none}
body.v2-site :is(.page-hero,.career-header,.services-header,.imprint-hero,.privacy-hero,.blog-hero,.glossary-single-header) :is(h1,.page-title,.blog-title){
  color:var(--white)!important;font-size:clamp(34px,4.4vw,64px)!important;line-height:1.05;letter-spacing:-.025em;max-width:16em;margin:0 0 clamp(18px,2.6vw,28px)!important;text-align:left;
}
body.v2-site :is(.page-hero,.career-header,.services-header,.imprint-hero,.privacy-hero,.blog-hero,.glossary-single-header) :is(p,.page-subtitle,.blog-subtitle,.section-subtitle){
  color:#d3deee!important;font-size:clamp(15px,1.1vw,17px);line-height:1.55;max-width:36em;margin:0;text-align:left;text-transform:none;letter-spacing:normal;
}

/* Abschnittsüberschriften: eine Stimme, links */
body.v2-site main :is(.section-title,.section-heading,.pv-section-title,.property-cta-title,.property-contact-title){
  color:var(--navy);font-size:clamp(28px,2.8vw,42px)!important;line-height:1.1;letter-spacing:-.02em;text-align:left;max-width:20em;margin-left:0;margin-right:0;
}
body.v2-site main :is(.section-title,.section-heading)::after{content:none}
body.v2-site main :is(.section-subtitle,.property-cta-subtitle,.property-contact-subtitle){text-align:left;margin-left:0;color:#4a5f82;font-size:17px;max-width:40em;text-transform:none;letter-spacing:normal}

/* Buttons wie .btn auf der Startseite */
body.v2-site main :is(.btn,.btn-primary,.btn-submit,.btn-cta-main,.btn-project-view,.button,.wp-block-button__link,button[type="submit"]){
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:2px!important;background:var(--navy)!important;color:#fff!important;
  font:700 13px/1 Lato,sans-serif!important;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid var(--navy)!important;box-shadow:none!important;transform:none!important;
  transition:background-color .25s var(--ease),color .25s var(--ease);
}
body.v2-site main :is(.btn,.btn-primary,.btn-submit,.btn-cta-main,.btn-project-view,.button,button[type="submit"]):hover{background:#14243f!important}
body.v2-site :is(.page-hero,.project-hero,.career-header,.services-header,.blog-hero) :is(.btn,.btn-primary,.btn-secondary,a.button){background:#fff!important;color:var(--navy)!important;border-color:#fff!important}

/* Projekt-Titelbild: Bild bleibt, Verlauf wie auf der Startseite */
body.v2-site .project-hero{text-align:left;padding-top:66px}
body.v2-site .project-hero .project-hero-overlay{background:linear-gradient(90deg,rgba(16,28,50,.78),rgba(16,28,50,.35) 55%,rgba(16,28,50,.1) 80%),linear-gradient(0deg,rgba(15,27,48,.55),transparent 45%)!important}
body.v2-site .project-hero :is(h1,.project-title){color:#fff!important;font-size:clamp(34px,4.6vw,72px)!important;line-height:1.04;letter-spacing:-.025em;text-align:left;max-width:14em;text-transform:none}
body.v2-site .project-hero :is(.project-subtitle,p){color:#d3deee!important;text-align:left;text-transform:none;letter-spacing:normal;font-size:17px;max-width:36em;margin-left:0}
body.v2-site .project-hero .project-hero-content{text-align:left;align-items:flex-start}
body.v2-site .project-hero .project-hero-buttons{justify-content:flex-start}

/* Kennzahlen-Leiste unter den Projekten: navy-ink wie das Angebots-Panel */
body.v2-site :is(.project-stats-section){background:var(--navy-ink)!important;color:var(--text)}

/* Überschriften: Satzschreibung statt Versalien */
body.v2-site :is(main,.page-hero,.project-hero,.career-header,.services-header,.imprint-hero,.privacy-hero,.blog-hero,.single-post-hero,.glossary-single-header,.glossary-archive) :is(h1,h2,h3,h4){text-transform:none!important}

/* Kontaktblock: gegen die alten Link- und Button-Regeln absichern */
body.v2-site .contact .cdata a{color:#fff!important;text-decoration:underline;text-decoration-color:var(--blue)}
body.v2-site .contact .form .btn{background:var(--white)!important;color:var(--navy)!important;border:1px solid var(--white)!important;min-height:48px;padding:0 26px;font:700 13px/1 Lato,sans-serif!important;letter-spacing:.12em;text-transform:uppercase;border-radius:2px!important;width:auto}
body.v2-site .contact .form .btn:hover{background:var(--blue-20)!important}

/* Reste alter Farben */
body.v2-site .about-stat-number{color:var(--navy)!important;border-color:var(--navy)!important}
body.v2-site .about-history-title{color:var(--navy)!important;border-color:var(--navy)!important}
body.v2-site .about-location-section{background:var(--navy)!important;color:var(--text)}
body.v2-site .about-location-section :is(h2,h3,.section-title){color:#fff!important}
body.v2-site .about-location-section a{color:#fff!important}
body.v2-site main blockquote{background:var(--blue-20)!important;border-left:3px solid var(--navy)!important;color:var(--navy);border-radius:0 2px 2px 0}
body.v2-site main blockquote *{color:var(--navy)!important}
body.v2-site :is(.blog-byline,.glossary-byline,.news-share,.property-meta-fields,.property-detail-cta-group,.property-detail-sidebar){border-color:var(--blue-40)!important}
body.v2-site a.glossary-auto-link{color:var(--navy)!important;border-color:var(--blue)!important}

/* Blog-Artikel: Titel links auf navy wie die anderen Titelbereiche */
body.v2-site .single-post-hero{text-align:left;padding-top:66px;background:var(--navy)}
body.v2-site .single-post-hero .single-hero-bg--brand{background:linear-gradient(180deg,#0f1f37 0%,var(--navy) 100%)!important}
body.v2-site .single-post-hero .single-hero-overlay{background:linear-gradient(90deg,rgba(16,28,50,.85),rgba(16,28,50,.45) 60%,rgba(16,28,50,.2))!important}
body.v2-site .single-post-hero .single-hero-content{text-align:left;align-items:flex-start}
body.v2-site .single-post-hero .single-post-title{color:#fff!important;font-size:clamp(32px,4vw,58px)!important;line-height:1.06;letter-spacing:-.025em;max-width:18em;text-align:left;margin-left:0}
body.v2-site .single-post-hero .back-to-blog{color:var(--blue)!important;font:700 12px/1 Lato,sans-serif;letter-spacing:.16em;text-transform:uppercase}
body.v2-site .single-post-hero .blog-byline{justify-content:flex-start;margin-left:0;background:rgba(255,255,255,.04);border:1px solid var(--line)!important;color:var(--text);border-radius:2px}

/* Glossar-Übersicht: Titelbereich wie die anderen Seiten */
body.v2-site .glossary-archive{padding-top:0!important}
body.v2-site .glossary-archive>.container:first-child{padding-top:0}
body.v2-site .glossary-archive .glossary-title{display:block;margin:0 calc(50% - 50vw) 48px;padding:calc(66px + clamp(56px,7vw,104px)) max(var(--gut),calc(50vw - var(--wrap) / 2 + var(--gut))) clamp(48px,6vw,88px);background:linear-gradient(180deg,#0f1f37 0%,var(--navy) 100%);color:#fff!important;font-size:clamp(34px,4.4vw,64px)!important;line-height:1.05;letter-spacing:-.025em;text-align:left}
body.v2-site{overflow-x:clip}

/* Services: Icons und Buttons in der einen Markenfarbe */
body.v2-site .service-icon-wrapper{background:var(--navy)!important;border-radius:50%}
body.v2-site a.btn-service{background:var(--navy)!important;color:#fff!important;border-radius:2px!important;font:700 12px/1.2 Lato,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:14px 22px;box-shadow:none!important}
body.v2-site a.btn-service:hover{background:var(--navy-deep)!important}
/* Objektseiten: Überschriften in IPEC-Dunkelblau */
body.v2-site .property-page-wrapper :is(h2,h3,.section-title,.project-link){color:var(--navy)!important}

/* Social-Links im Footer (wie alte Seite), 12.11.2026 */
.ftr .ftr-social{gap:12px;justify-self:end}
.ftr .ftr-social a{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(162,189,227,.3);color:#b7c4da}
.ftr .ftr-social a:hover{border-color:#fff;color:#fff}
.ftr .ftr-social svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
