/* =============================================================================
   page-ueber-uns.css  —  Seitenspezifische Komponenten der Über-uns-Seite
   -----------------------------------------------------------------------------
   Laedt KONDITIONAL nur auf page-ueber-uns.php (functions.php-Enqueue).
   Tokens (--green, --green-deep, --green-ink, --invest, --paper, --line,
   --shadow*, --ease …), Basis (.btn, .kicker, .reveal, .num-tag, .t-h2,
   .section, .leadbox) + Reveal-System kommen aus projecta-system.css.
   Hier NUR die ueber-uns-eigenen Bausteine. Quelle: Mockup v1.1.0.
   Farb-Doktrin: --green nur Flaeche/CTA; Text/Zahlen --green-deep/--green-ink.
   ============================================================================= */

/* === EDITORIAL HERO — typografisches Manifest + Kennzahlen-Leiste === */
.pds .ehero { position:relative; padding:0 0 88px; overflow:hidden; background:var(--paper-2); }
/* Foto-Banner oben mit geschwungener Unterkante (mint = exakt der Seiten-Hintergrund, verschmilzt links wie rechts) */
.pds .ehero-photo { position:relative; margin:0; width:100%; height:clamp(232px,31vw,400px); overflow:hidden; }
.pds .ehero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 44%; display:block; }
.pds .ehero-photo::after { content:""; position:absolute; left:-5%; right:-5%; bottom:-2px; height:60px; background:var(--paper-2); border-radius:50% 50% 0 0 / 60px 60px 0 0; }
.pds .ehero .ghost { position:absolute; right:3%; top:132px; z-index:0; font-size:clamp(80px,12.5vw,190px); font-weight:900; letter-spacing:-.06em; line-height:.8; color:transparent; -webkit-text-stroke:1.5px rgba(90,144,35,.11); user-select:none; pointer-events:none; white-space:nowrap; }
.pds .ehero-inner { position:relative; z-index:3; max-width:var(--maxw); padding-top:46px; }
.pds .eh-eyebrow { display:flex; align-items:center; gap:14px; font-size:12.5px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--green-deep); margin-bottom:26px; }
.pds .eh-top { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.pds .eh-eyebrow b { font-weight:800; }
.pds .eh-eyebrow .sep { width:46px; height:1.5px; background:linear-gradient(90deg,var(--green),transparent); flex:0 0 auto; }
.pds .eh-headline { font-size:clamp(44px,5.6vw,92px); font-weight:900; letter-spacing:-.05em; line-height:.94; color:var(--ink); }
.pds .eh-headline .ln { display:block; overflow:hidden; }
.pds .eh-headline .ln > span { display:block; transform:translateY(108%); }
html.js .pds .eh-headline .ln > span { animation:uebLineUp 1.05s var(--ease) forwards; }
html.js .pds .eh-headline .ln:nth-child(1) > span { animation-delay:.20s; }
html.js .pds .eh-headline .ln:nth-child(2) > span { animation-delay:.32s; }
html.js .pds .eh-headline .ln:nth-child(3) > span { animation-delay:.44s; }
@keyframes uebLineUp { to { transform:translateY(0); } }
.pds .eh-headline .ln > span.em { color:var(--green-deep); position:relative; display:inline-block; }
.pds .eh-headline .em::after { content:""; position:absolute; left:0; right:0; bottom:.02em; height:.052em; background:linear-gradient(90deg,var(--green-soft),var(--green)); border-radius:100px; transform:scaleX(0); transform-origin:left; }
html.js .pds .eh-headline .em::after { animation:uebUnderx 1s var(--ease) .9s forwards; }
@keyframes uebUnderx { to { transform:scaleX(1); } }
.pds .eh-lead { margin-top:6px; max-width:none; font-size:18px; color:var(--ink-2); line-height:1.66; }
.pds .eh-lead .first::first-letter { float:left; font-size:62px; line-height:.72; font-weight:800; color:var(--green-deep); padding:6px 14px 0 0; }

/* Kennzahlen-Leiste (ersetzt redundante Karte — die lebt auf /projekte) */
.pds .eh-stats { margin-top:54px; display:grid; grid-template-columns:repeat(4,1fr); gap:0; background:#46791d; border-radius:26px; padding:44px 8px; border-top:none; }
.pds .eh-stat { display:flex; flex-direction:column; gap:18px; padding:2px 36px; border-left:1px solid rgba(255,255,255,.13); }
.pds .eh-stat:first-child { border-left:0; }
.pds .eh-ic { width:34px; height:34px; color:var(--green); flex:0 0 auto; }
.pds .eh-ic svg { width:100%; height:100%; display:block; }
.pds .eh-stat .n { font-weight:900; font-size:clamp(30px,2.9vw,44px); color:#fff; letter-spacing:-.04em; line-height:1; font-variant-numeric:tabular-nums; }
.pds .eh-stat .n.nx { color:#fff; }
.pds .eh-stat .l { margin-top:8px; font-size:13px; font-weight:500; color:rgba(255,255,255,.66); letter-spacing:.01em; max-width:none; line-height:1.4; }

/* === MISSION QUOTE STRIP === */
.pds .mission { position:relative; padding:96px 0; background:linear-gradient(135deg,var(--mint-2),var(--mint)); overflow:hidden; }
.pds .mission::before { content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(90,144,35,.10) 1.1px,transparent 1.1px); background-size:24px 24px; -webkit-mask-image:radial-gradient(80% 90% at 50% 50%,#000,transparent 82%); mask-image:radial-gradient(80% 90% at 50% 50%,#000,transparent 82%); opacity:.7; }
.pds .mission .wrap { position:relative; display:grid; grid-template-columns:auto 1fr; gap:40px; align-items:center; }
.pds .mission .qmark { font-size:140px; line-height:.6; font-weight:900; color:rgba(90,144,35,.22); align-self:start; margin-top:-6px; }
.pds .mission q { quotes:none; }
.pds .mission .qtext { font-size:clamp(26px,3.6vw,46px); font-weight:800; letter-spacing:-.035em; color:var(--ink); line-height:1.12; }
.pds .mission .qtext .hl { color:var(--green-deep); }
.pds .mission .qby { margin-top:22px; font-size:14.5px; font-weight:600; color:var(--green-ink); letter-spacing:.02em; }

/* === LEAD-ROW (Section-Head) === */
.pds .lead-row { max-width:760px; margin-bottom:64px; }
.pds .lead-row .num-tag { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.pds .lead-row .num-tag::before { content:""; width:30px; height:1.5px; background:var(--line-2); }
.pds .lead-row h2 { margin-bottom:18px; }
.pds .lead-row p { color:var(--muted); font-size:18px; line-height:1.62; max-width:600px; }

/* === TRACK-RECORD TIMELINE === */
.pds .tl { position:relative; max-width:880px; margin:0 auto; }
.pds .tl::before { content:""; position:absolute; left:31px; top:8px; bottom:8px; width:2px; background:linear-gradient(180deg,var(--green),var(--line-2)); border-radius:2px; }
.pds .tl-item { position:relative; display:grid; grid-template-columns:64px 1fr; gap:28px; padding:18px 0 40px; }
.pds .tl-item:last-child { padding-bottom:0; }
.pds .tl-node { position:relative; z-index:2; width:64px; height:64px; border-radius:18px; background:#fff; border:1px solid var(--line); display:grid; place-items:center; box-shadow:var(--shadow-soft); transition:.45s var(--ease); }
.pds .tl-item:hover .tl-node { transform:scale(1.07) rotate(-3deg); border-color:transparent; background:linear-gradient(135deg,var(--green),var(--green-deep)); box-shadow:0 16px 30px -12px rgba(116,183,42,.7); }
.pds .tl-node svg { color:var(--green-deep); transition:.4s; }
.pds .tl-item:hover .tl-node svg { color:#fff; }
.pds .tl-body { padding-top:4px; }
.pds .tl-body .yr { font-size:12.5px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--green-deep); margin-bottom:6px; }
.pds .tl-body h3 { font-size:23px; letter-spacing:-.025em; margin-bottom:9px; }
.pds .tl-body p { color:var(--muted); font-size:15.5px; line-height:1.6; max-width:560px; }
.pds .tl-body .figs { display:flex; gap:30px; margin-top:16px; flex-wrap:wrap; }
.pds .tl-body .figs .f .n { font-weight:900; font-size:30px; color:var(--ink); letter-spacing:-.04em; line-height:1; font-variant-numeric:tabular-nums; }
.pds .tl-body .figs .f .l { font-size:12.5px; color:var(--muted); margin-top:6px; max-width:150px; line-height:1.4; }

/* === DEVELOP · BUILD · TRANSFER === */
.pds .dbt { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:16px; align-items:stretch; }
.pds .dbt-step { background:#fff; border:1px solid var(--line); border-radius:22px; padding:30px 28px; transition:.4s var(--ease); }
.pds .dbt-step:hover { transform:translateY(-6px); box-shadow:var(--shadow-soft); border-color:transparent; }
.pds .dbt-step.feat { border:2px solid var(--green); box-shadow:0 22px 48px -28px rgba(116,183,42,.5); }
.pds .dbt-ic { width:48px; height:48px; border-radius:14px; background:linear-gradient(135deg,var(--green),var(--green-deep)); color:#fff; display:grid; place-items:center; margin-bottom:18px; box-shadow:0 12px 26px -12px rgba(116,183,42,.7); }
.pds .dbt-step.feat .dbt-ic { background:linear-gradient(135deg,var(--invest),var(--invest-deep)); box-shadow:0 12px 26px -12px rgba(58,98,18,.7); }
.pds .dbt-tag { font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--green-ink); margin-bottom:8px; }
.pds .dbt-step h3 { font-size:20px; letter-spacing:-.025em; margin-bottom:10px; }
.pds .dbt-step p { font-size:14px; color:var(--muted); line-height:1.6; }
.pds .dbt-arrow { display:grid; place-items:center; color:var(--line-2); align-self:center; }

/* === VALUES — editorial numbered list === */
.pds .values .wrap { display:grid; grid-template-columns:.82fr 1.18fr; gap:60px; align-items:start; }
.pds .values .v-intro { position:sticky; top:120px; }
.pds .values .v-intro .num-tag { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.pds .values .v-intro .num-tag::before { content:""; width:30px; height:1.5px; background:var(--line-2); }
.pds .values .v-intro h2 { margin-bottom:16px; }
.pds .values .v-intro p { color:var(--muted); font-size:16.5px; line-height:1.62; max-width:340px; }
.pds .vlist { display:flex; flex-direction:column; }
.pds .vrow { display:grid; grid-template-columns:88px 1fr; gap:24px; align-items:start; padding:30px 8px 30px 0; border-top:1px solid var(--line); transition:.4s var(--ease); }
.pds .vrow:last-child { border-bottom:1px solid var(--line); }
.pds .vrow:hover { padding-left:14px; background:linear-gradient(90deg,var(--paper-2),transparent); }
.pds .vrow .vn { font-size:46px; font-weight:900; color:rgba(116,183,42,.04); -webkit-text-stroke:1.5px var(--line-2); letter-spacing:-.04em; line-height:.9; transition:.4s var(--ease); font-variant-numeric:tabular-nums; }
.pds .vrow:hover .vn { -webkit-text-stroke:1.5px var(--green); color:rgba(116,183,42,.10); }
.pds .vrow .vc { min-width:0; }
.pds .vrow .vc h3 { font-size:24px; letter-spacing:-.025em; margin-bottom:9px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.pds .vrow .vc h3 .ico { width:38px; height:38px; border-radius:11px; background:var(--paper-3); display:grid; place-items:center; flex:0 0 auto; transition:.4s var(--ease); }
.pds .vrow .vc h3 .ico svg { color:var(--green-deep); transition:.4s; }
.pds .vrow:hover .vc h3 .ico { background:var(--green); transform:rotate(-4deg); }
.pds .vrow:hover .vc h3 .ico svg { color:#fff; }
.pds .vrow .vc p { color:var(--muted); font-size:15.5px; line-height:1.62; max-width:520px; }

/* === FOTO-BAND (Drohne) full-bleed parallax === */
.pds .fotoband { position:relative; height:clamp(340px,46vw,560px); overflow:hidden; display:grid; place-items:center; background:linear-gradient(135deg,var(--green-ink),var(--green-deep)); }
.pds .fotoband img { position:absolute; inset:-8% 0; width:100%; height:116%; object-fit:cover; will-change:transform; }
.pds .fotoband::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,39,27,.28),rgba(20,39,27,.48)); }
.pds .fotoband .fb-in { position:relative; z-index:2; text-align:center; color:#fff; max-width:760px; padding:0 var(--gut); }
.pds .fotoband .fb-in .k { font-size:12.5px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:#dff1c4; margin-bottom:16px; }
.pds .fotoband .fb-in h2 { color:#fff; font-size:clamp(28px,3.6vw,46px); letter-spacing:-.035em; line-height:1.1; }
.pds .fotoband .fb-in p { color:rgba(255,255,255,.92); font-size:17px; margin-top:16px; line-height:1.6; }

/* === TEAM — runde Foto-Bubbles, "Foto folgt"-Platzhalter === */
.pds .team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
.pds .tm { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pds .tm .bubwrap { position:relative; width:100%; max-width:188px; }
.pds .tm .ring { position:absolute; inset:-9px; border-radius:50%; border:1.5px dashed var(--line-2); opacity:0; transition:.45s var(--ease); }
.pds .tm:hover .ring { opacity:1; transform:rotate(18deg); }
.pds .tm .bubble { position:relative; width:100%; aspect-ratio:1; border-radius:50%; overflow:hidden; background:conic-gradient(from 140deg,var(--mint-3),var(--mint),var(--mint-2),var(--mint-3)); border:5px solid #fff; box-shadow:var(--shadow-card); display:grid; place-items:center; transition:.45s var(--ease); }
.pds .tm:hover .bubble { transform:translateY(-8px); }
.pds .tm .bubble::after { content:""; position:absolute; inset:0; border-radius:50%; box-shadow:inset 0 0 0 2px rgba(90,144,35,.18); }
.pds .tm .bubble img { width:100%; height:100%; object-fit:cover; display:block; }
.pds .tm .bubble .ph { display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--green-ink); }
.pds .tm .bubble .ph svg { opacity:.55; }
.pds .tm .bubble .ph .ft { font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--green-deep); }
.pds .tm h3 { font-size:18.5px; letter-spacing:-.02em; margin-top:22px; }
.pds .tm .role { font-size:13.5px; font-weight:600; color:var(--green-deep); margin-top:5px; letter-spacing:.02em; }
.pds .tm .bio { font-size:13.5px; color:var(--muted); margin-top:9px; line-height:1.55; max-width:230px; }
.pds .team-note { text-align:center; font-size:13px; color:var(--muted-2); margin-top:42px; font-weight:500; }

/* === HERSTELLER-PARTNER === */
.pds .brands { background:linear-gradient(180deg,var(--paper-3),var(--mint)); padding:54px 0; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pds .brands .t { text-align:center; color:var(--muted); font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; margin-bottom:28px; }
.pds .brand-row { display:flex; align-items:center; justify-content:center; gap:64px; flex-wrap:wrap; }
.pds .brand-row img { height:30px; width:auto; max-width:150px; object-fit:contain; filter:grayscale(1); opacity:.58; transition:filter .3s,opacity .3s,transform .3s; }
.pds .brand-row img:hover { filter:grayscale(0); opacity:1; transform:translateY(-3px); }
.pds .brand-row .bl-text { font-weight:800; font-size:24px; color:#9aa890; letter-spacing:-.02em; transition:.3s; }
.pds .brand-row .bl-text:hover { color:var(--green-deep); }

/* === FINAL CTA (heller Grün-Verlauf) + Standort === */
.pds .final { position:relative; padding:112px 0; background:linear-gradient(135deg,#3d6b18,#4f841f 60%,#46791d); overflow:hidden; }
.pds .final::before { content:""; position:absolute; inset:0; pointer-events:none; background:
  radial-gradient(40% 50% at 12% 10%,rgba(255,255,255,.28),transparent 60%),
  radial-gradient(40% 50% at 90% 90%,rgba(58,98,18,.4),transparent 62%); }
.pds .final::after { content:""; position:absolute; inset:0; opacity:.5; pointer-events:none; background-image:radial-gradient(rgba(255,255,255,.18) 1.2px,transparent 1.2px); background-size:28px 28px; -webkit-mask-image:radial-gradient(85% 95% at 50% 0%,#000,transparent 80%); mask-image:radial-gradient(85% 95% at 50% 0%,#000,transparent 80%); }
.pds .final-grid { position:relative; display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; z-index:2; }
.pds .final .kicker { color:#fff; }
.pds .final .kicker .dot { background:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.2); }
.pds .final h2 { color:#fff; font-size:clamp(30px,3.8vw,50px); margin:18px 0 16px; letter-spacing:-.04em; }
.pds .final p { color:rgba(255,255,255,.94); font-size:18px; margin-bottom:26px; max-width:480px; line-height:1.6; }
.pds .final-cta { display:flex; gap:14px; flex-wrap:wrap; }
.pds .btn-white { background:#fff; color:var(--green-deep); box-shadow:0 14px 34px -14px rgba(0,0,0,.32); border:0; }
.pds .btn-white:hover { transform:translateY(-3px); }
.pds .btn-line { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.6); }
.pds .btn-line:hover { background:rgba(255,255,255,.14); border-color:#fff; transform:translateY(-3px); }
.pds .btn-arrow svg { transition:transform .3s var(--ease); }
.pds .btn:hover .btn-arrow svg { transform:translateX(5px); }
.pds .contactcard { background:rgba(255,255,255,.12); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.28); border-radius:24px; padding:30px 30px; color:#fff; }
.pds .contactcard h4 { color:#fff; font-size:15px; letter-spacing:.04em; margin-bottom:18px; }
.pds .contactcard .crow { display:flex; align-items:center; gap:14px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:15px; font-weight:600; }
.pds .contactcard .crow:last-child { border-bottom:0; }
.pds .contactcard .crow .ci { width:38px; height:38px; border-radius:11px; background:rgba(255,255,255,.18); display:grid; place-items:center; flex:0 0 auto; }
.pds .contactcard .crow a { color:#fff; text-decoration:none; }
.pds .contactcard .crow a:hover { text-decoration:underline; }
.pds .contactcard .crow span small { display:block; font-weight:500; font-size:12px; color:rgba(255,255,255,.78); margin-top:2px; }

/* === RESPONSIVE (Breakpoints: 1080 / 860 / 520) === */
@media (max-width:1080px){
  .pds .eh-stats { gap:30px 44px; }
  .pds .dbt { grid-template-columns:1fr; gap:14px; }
  .pds .dbt-arrow { transform:rotate(90deg); padding:2px 0; }
  .pds .values .wrap { grid-template-columns:1fr; gap:34px; }
  .pds .values .v-intro { position:static; }
  .pds .final-grid { grid-template-columns:1fr; gap:40px; }
  .pds .team-grid { grid-template-columns:repeat(2,1fr); gap:34px; }
}
@media (max-width:860px){
  .pds .ehero { padding:0 0 60px; }
  .pds .eh-top { grid-template-columns:1fr; gap:30px; }
  .pds .eh-stats { grid-template-columns:repeat(2,1fr); gap:28px 0; padding:36px 6px; }
  .pds .eh-stat { padding:2px 24px; border-left:0; }
  .pds .eh-stat:nth-child(even) { border-left:1px solid rgba(255,255,255,.13); }
  .pds .mission .wrap { grid-template-columns:1fr; gap:8px; }
  .pds .mission .qmark { font-size:80px; }
  .pds .lead-row { margin-bottom:42px; }
  .pds .tl-item { grid-template-columns:52px 1fr; gap:18px; }
  .pds .tl::before { left:25px; }
  .pds .tl-node { width:52px; height:52px; border-radius:15px; }
  .pds .vrow { grid-template-columns:56px 1fr; gap:16px; }
  .pds .vrow .vn { font-size:34px; }
  .pds .eh-headline { font-size:clamp(40px,12vw,72px); }
  .pds .final-cta .btn { width:100%; justify-content:center; }
}
@media (max-width:520px){
  .pds .eh-stats { grid-template-columns:1fr; gap:24px 0; padding:30px 26px; }
  .pds .eh-stat { border-left:0 !important; }
  .pds .team-grid { grid-template-columns:1fr; }
  .pds .brand-row { gap:34px; }
}
