/* =========================================================
   reddo — lp2.css   (landing pages + campaign pages)
   Shares the site2.css identity: navy · white · mist · steel
   Cormorant Garamond + Inter · flat, no radius · EN/DE
   Standalone: LP pages load ONLY this file.
   ========================================================= */
:root{
  --paper:#FFFFFF;
  --paper-alt:#EAEDF2;
  --panel:#1A2F5A;
  --panel-deep:#0D1A2E;
  --ink:#1B2A3B;
  --ink-dim:#4A5A6C;
  --head:#15294C;
  --line:rgba(21,41,76,.14);
  --line-soft:rgba(21,41,76,.08);
  --accent:#3E72AD;
  --on-panel:#E8ECF1;
  --on-panel-dim:#9FB2C4;
  --on-panel-line:rgba(159,178,196,.20);
  --serif:'Cormorant Garamond','Iowan Old Style',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --wrap:1140px;

  /* ---- legacy aliases (keep older inline styles resolving) ---- */
  --navy:#1A2F5A;
  --navy-dark:#0D1A2E;
  --navy-mid:#1E3A70;
  --navy-light:#254688;
  --silver:#6B8FAD;
  --silver-light:#9FB2C4;
  --white:#FFFFFF;
  --off-white:#EAEDF2;
  --text:#1B2A3B;
  --text-muted:#4A5A6C;
  --max:1140px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.62;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.lp{margin:0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}

h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--head);line-height:1.14;text-wrap:pretty}
h1{font-size:clamp(1.9rem,1.4rem + 1.9vw,2.6rem);letter-spacing:.004em}
h2{font-size:clamp(1.45rem,1.2rem + 1.1vw,1.95rem)}
h3{font-size:clamp(1.05rem,.95rem + .45vw,1.25rem);font-weight:500}
h4{font-size:1.1rem;font-weight:500}
em{font-style:italic;color:var(--accent)}
p{font-size:clamp(.95rem,.92rem + .18vw,1.02rem);line-height:1.75;color:var(--ink-dim);max-width:66ch}
strong{font-weight:500;color:var(--head)}
a{color:inherit;text-decoration:none}

/* ---------- language toggle ---------- */
html[lang="en"] .t-de{display:none!important}
html[lang="de"] .t-en{display:none!important}
.lang-toggle{display:flex;align-items:center;gap:.35rem;margin-left:1.2rem}
.lang-sep{color:var(--line);font-size:.62rem;line-height:1}
.lang-btn{background:none;border:0;cursor:pointer;font-family:var(--sans);font-size:.66rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);opacity:.55;transition:opacity .2s,color .2s;padding:0;line-height:1}
.lang-btn.is-active,.lang-btn.active{opacity:1;color:var(--accent)}
.lang-btn:hover{opacity:.85}

/* ---------- layout ---------- */
.container,.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(1.4rem,5vw,3.2rem)}
.container--narrow{max-width:720px}
.eyebrow,.label{font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);display:block;margin-bottom:1rem}
.label--silver{color:var(--on-panel-dim)}
.muted{font-size:.87rem!important;color:var(--ink-dim)!important;font-style:italic}

/* ---------- nav (identical to site2.css) ---------- */
.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.nav__in{max-width:var(--wrap);margin:0 auto;padding:0 clamp(1.4rem,5vw,3.2rem);height:74px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.wordmark{display:inline-flex;align-items:center}
.wordmark img{height:34px;width:auto;display:block}
.foot .wordmark img{height:24px}
.nav__right{display:flex;align-items:center}
.nav__links{display:flex;align-items:center;gap:1.7rem;list-style:none}
.nav__links a{font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-dim);transition:color .18s;padding:4px 0;border-bottom:1px solid transparent}
.nav__links a:hover{color:var(--accent)}
.nav__links a.is-active{color:var(--head);border-bottom-color:var(--accent)}
.nav__cta{border:1px solid var(--line)!important;padding:.5rem 1.05rem!important;color:var(--head)!important;border-radius:0}
.nav__cta:hover{background:var(--accent);border-color:var(--accent)!important;color:#fff!important}
.burger{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
.burger span{width:22px;height:1.5px;background:var(--ink-dim);display:block}

/* ---------- sections / bands ---------- */
section{padding-block:clamp(2.4rem,1.8rem + 2vw,4rem)}
.section{padding-block:clamp(2.4rem,1.8rem + 2vw,4rem)}
.section--light{background:var(--paper)}
.section--offwhite{background:var(--paper-alt)}
.section--dark{background:var(--panel);color:var(--on-panel)}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:var(--on-panel)}
.section--dark p{color:var(--on-panel-dim)}
.section--dark strong{color:var(--on-panel)}
.section--dark em{color:var(--accent)}
.section--contact{background:var(--panel);text-align:center}
.section--contact h2{color:var(--on-panel);margin-bottom:1.2rem}
.section--contact p{color:var(--on-panel-dim);max-width:52ch;margin-left:auto;margin-right:auto}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;width:fit-content;font-family:var(--sans);font-size:.76rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;padding:.9rem 1.9rem;border:1px solid currentColor;cursor:pointer;transition:background .18s,color .18s,border-color .18s;margin-top:2rem;color:var(--accent);background:none;white-space:nowrap}
.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.section--dark .btn,.btn--outline-silver{color:var(--on-panel);border-color:var(--on-panel-line)}
.section--dark .btn:hover,.btn--outline-silver:hover{background:var(--accent);border-color:var(--accent);color:#fff}

/* ---------- inline quote / emphasis ---------- */
.inline-quote,.lp-emphasis{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.15rem,1rem + .7vw,1.5rem);color:var(--ink-dim);border-left:2px solid var(--accent);padding-left:1.6rem;line-height:1.5;max-width:62ch;margin-top:1.8rem}
.section--dark .inline-quote,.section--dark .lp-emphasis{color:var(--on-panel-dim)}
body.lp .inline-quote{margin-left:auto;margin-right:auto}

/* ---------- generic split ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(1.6rem,4vw,4rem);align-items:start}
.split__left h2{margin-top:.4rem}
.split__right p{margin-bottom:1.1rem}

/* ---------- LP hero ---------- */
.lp-hero{background:var(--panel);color:var(--on-panel);display:flex;align-items:center;padding:clamp(3rem,2rem + 4vw,5rem) clamp(1.4rem,5vw,3.2rem);text-align:center}
.lp-hero .container{display:flex;flex-direction:column;align-items:center}
.lp-hero h1{color:var(--on-panel);max-width:24ch;margin:0 auto 1.6rem}
.lp-hero h1 em{color:#A9C4DE;font-style:italic}
.lp-hero__sub{font-size:clamp(1rem,.95rem + .3vw,1.15rem);color:var(--on-panel-dim);max-width:58ch;line-height:1.65;margin:0 auto}
.lp-hero p{margin-left:auto;margin-right:auto}

/* ---------- LP nav (campaign pages that keep a minimal bar) ---------- */
.lp-nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.4rem,5vw,3.2rem);height:74px;gap:1.2rem}
.lp-nav__logo{display:inline-flex;align-items:center}
.lp-nav__logo img{height:34px;width:auto;display:block}
.lp-nav__cta{margin-top:0!important;font-size:.72rem!important;padding:.55rem 1.15rem!important;color:var(--head)!important;border-color:var(--line)!important}
.lp-nav__cta:hover{background:var(--accent);border-color:var(--accent)!important;color:#fff!important}
.lp-nav .lang-toggle{margin-left:0}

/* ---------- utilities ---------- */
.mt-2{margin-top:1.5rem}
.mt-3{margin-top:2rem}
.mt-4{margin-top:3rem}
.mt-5{margin-top:4rem}

/* ---------- LP grids / points ---------- */
.lp-grid{display:grid;gap:2.2rem}
.lp-grid--2{grid-template-columns:repeat(2,1fr)}
.lp-grid--3{grid-template-columns:repeat(3,1fr)}
.lp-point{border-top:1px solid var(--line);padding-top:1.4rem;text-align:center}
.lp-point__num{font-family:var(--serif);font-size:1.7rem;color:var(--accent);opacity:.55;margin:0 auto .7rem;line-height:1}
.lp-point h3{color:var(--head);margin-bottom:.8rem;font-size:1.1rem;text-wrap:balance}
.lp-point p{margin-left:auto;margin-right:auto}

/* ---------- LP features (dark bg) ---------- */
.lp-feature{border-top:1px solid var(--on-panel-line);padding-top:1.4rem}
.lp-feature__title{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--on-panel-dim);margin-bottom:.8rem}
.lp-feature p{color:var(--on-panel-dim)}

/* ---------- LP audience ---------- */
.lp-audience{border-top:1px solid var(--line);padding-top:1.4rem;text-align:center}
.lp-audience h3{color:var(--head);font-size:1.15rem;margin-bottom:.7rem;text-wrap:balance}
.lp-audience p{text-wrap:balance;margin-left:auto;margin-right:auto}

/* ---------- LP case ---------- */
.lp-case{background:var(--paper);border:1px solid var(--line);padding:clamp(1.6rem,4vw,2.5rem);margin-top:2.5rem}
.section--offwhite .lp-case{background:var(--paper)}
.lp-case__meta{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.8rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
.lp-case__meta span{font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}
.lp-case__body p{margin-bottom:1rem}
.lp-case__metrics{display:flex;flex-wrap:wrap;gap:2.5rem;margin:1.5rem 0;padding:1.5rem 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.lp-case__metric{display:flex;flex-direction:column;gap:.3rem}
.lp-case__num{font-family:var(--serif);font-size:1.7rem;color:var(--head);line-height:1.15}
.lp-case__desc{font-size:.8rem;color:var(--ink-dim)}
.lp-case__quote{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--ink-dim);line-height:1.7;border-left:2px solid var(--accent);padding-left:1.3rem;margin-top:1.6rem}
.lp-case__quote cite{display:block;font-size:.72rem;font-style:normal;letter-spacing:.08em;text-transform:uppercase;margin-top:.5rem;opacity:.7}

/* ---------- metrics bar ---------- */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin:3rem 0}
.metric{padding:2.2rem 1.4rem;background:var(--paper);text-align:center}
.metric__num{font-family:var(--serif);font-size:clamp(1.9rem,4vw,2.8rem);color:var(--head);line-height:1;margin-bottom:.5rem;font-variant-numeric:tabular-nums}
.metric__label{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}
.lp-metrics-bar{background:var(--panel);padding:0}
.lp-metrics-bar .metrics{background:var(--on-panel-line);margin:0}
.lp-metrics-bar .metric{background:var(--panel)}
.lp-metrics-bar .metric__num{color:var(--on-panel)}
.lp-metrics-bar .metric__label{color:var(--on-panel-dim)}

/* ---------- sprint / mandate paths ---------- */
.sprint-box{border:1px solid var(--line);padding:1.8rem;margin:2rem 0;background:var(--paper-alt)}
.sprint-box__label{font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--head);margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--line)}
.sprint-box ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.sprint-box li{font-size:.9rem;color:var(--ink);padding-left:1rem;position:relative}
.sprint-box li::before{content:'—';position:absolute;left:0;color:var(--accent)}
.mandate-paths{margin-top:2rem;border-top:1px solid var(--line);padding-top:1.8rem}
.mandate-paths__label{font-size:.68rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:1.2rem}
.mandate-path{padding:1.2rem 0;border-bottom:1px solid var(--line-soft)}
.mandate-path:last-child{border-bottom:none;padding-bottom:0}
.mandate-path__title{font-family:var(--serif);font-size:1.1rem;color:var(--head);margin-bottom:.4rem;font-weight:500}
.mandate-path p{font-size:.98rem!important;line-height:1.8;margin-bottom:0}

/* ---------- contact block (dark) ---------- */
.contact__intro{font-size:.82rem!important;letter-spacing:.12em;text-transform:uppercase;color:var(--on-panel-dim)!important;margin:.5rem 0 3rem}
.contact__note{font-size:.75rem!important;color:var(--on-panel-dim)!important;margin-top:2rem;letter-spacing:.03em}
.contact__note a{color:var(--on-panel-dim);border-bottom:1px solid var(--on-panel-line)}
.contact__note a:hover{color:var(--on-panel)}

/* ---------- three-layer diagram (operating-model LP) ---------- */
body.lp .layers{display:flex;flex-direction:column;gap:2px;margin:3rem auto;max-width:860px;background:var(--panel);padding:2px}
.layer{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:.6rem 2rem;padding:1.3rem 1.7rem;background:var(--panel);border:1px solid var(--on-panel-line)}
.layer--logic{border-color:rgba(159,178,196,.45);background:rgba(159,178,196,.09)}
.layer__label{font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#C4D2DE;display:flex;align-items:center;gap:.7rem}
.layer__badge{background:var(--accent);color:#fff;font-size:.55rem;padding:.12rem .45rem;letter-spacing:.1em}
.layer__items{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem}
.layer__items span{font-size:.9rem;color:#EAF0F6}
.layer--logic .layer__items span{color:#fff}
.layer__note{font-family:var(--serif);font-style:italic;font-size:.9rem;color:#C4D2DE;white-space:nowrap}
.pullquote{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.1rem,2.2vw,1.5rem);color:var(--on-panel-dim);border-left:2px solid var(--accent);padding-left:2rem;max-width:64ch;margin-top:1rem}

/* ---------- mini layer diagram ---------- */
.lp-layer-mini{border:1px solid var(--line)}
.lp-layer-mini__row{display:flex;align-items:center;gap:1.5rem;padding:1.2rem 1.5rem}
.lp-layer-mini__row--faded{opacity:.5}
.lp-layer-mini__label{font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);min-width:90px}
.lp-layer-mini__items{font-size:.88rem;color:var(--ink-dim)}
.lp-layer-mini__gap{padding:1.5rem;background:var(--paper-alt);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);text-align:center}
.lp-layer-mini__gap span{font-size:.75rem;letter-spacing:.1em;color:var(--ink-dim);display:block;margin-bottom:.5rem}
.lp-layer-mini__gap p{font-size:.85rem!important;color:var(--ink-dim)!important;line-height:1.7;margin:0}

/* ---------- breadcrumb ---------- */
.breadcrumb{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:1.5rem}
.breadcrumb a{color:var(--ink-dim);border-bottom:1px solid transparent;transition:border-color .2s}
.breadcrumb a:hover{border-color:var(--accent)}
.breadcrumb span{margin:0 .5rem}

/* ---------- LP section-header centering ---------- */
body.lp .section .label{text-align:center}
body.lp .section h2{text-align:center;max-width:36ch;margin-left:auto;margin-right:auto;text-wrap:balance}

/* ---------- footer (identical to site2.css) ---------- */
.foot,.footer{background:var(--panel-deep);color:var(--on-panel-dim);padding-block:2.4rem}
.foot__in,.footer__top{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;align-items:center;justify-content:space-between}
.footer__top{margin-bottom:0}
.footer__logo-img{height:24px!important;width:auto!important;display:block}
.foot__legalnav,.footer__nav,.footer__legal{display:flex;flex-wrap:wrap;gap:1.6rem}
.foot__legalnav a,.footer__nav a,.footer__legal a{font-size:.73rem;letter-spacing:.11em;text-transform:uppercase;color:var(--on-panel-dim);transition:color .18s}
.foot__legalnav a:hover,.footer__nav a:hover,.footer__legal a:hover{color:var(--on-panel)}
.foot__legal,.footer__bottom{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--on-panel-line);font-size:.76rem;opacity:.7;display:flex;flex-wrap:wrap;gap:.3rem 1.5rem;align-items:center;justify-content:space-between}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .nav__links{display:none;position:absolute;top:74px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:1.3rem;background:#fff;padding:1.8rem clamp(1.4rem,5vw,3.2rem);border-bottom:1px solid var(--line)}
  .nav__links.is-open{display:flex}
  .burger{display:flex}
}
@media (max-width:900px){
  .split{grid-template-columns:1fr;gap:1.6rem}
  .lp-grid--2,.lp-grid--3{grid-template-columns:1fr}
  .metrics{grid-template-columns:repeat(2,1fr)}
  .lp-case__metrics{flex-direction:column;gap:1.2rem}
  .layer{grid-template-columns:1fr;gap:.5rem;padding:1.2rem 1.3rem}
  .layer__note{display:none}
  .lp-nav__cta{display:none}
}
@media (max-width:600px){
  .metrics{grid-template-columns:1fr 1fr}
}
