/* ============================================================
   OBJEKT-HUB — template-spezifisches Stylesheet
   Wird von Kirby via css('@auto') (site/snippets/head.php:291-294)
   AUTOMATISCH nur auf dem Template 'objekt' geladen.
   Basis: alle Werte stammen aus den echten :root-Tokens von
   assets/css/index.css (var(--main-color) usw.). Roboto + Reset
   kommen aus index.css — hier KEIN @font-face, KEIN Chrome-Shim.
   Übernommen 1:1 aus dem freigegebenen Mockup mockup-objekt-hub.html
   (ab .objbar), mit EINER bewussten Anpassung: objbar = non-sticky.
   ============================================================ */

/* — Objekt-Kontext-Subnav: die EINE bewusste Objekt-Erweiterung, in
     impruf-Formensprache (weiße Glass-Leiste, schwarze Hairline wie die Nav).
     NICHT-STICKY (v1): die echte Nav ist gepinnt (pin:true, pinSpacing:false —
     index.js:193-202) und ScrollSmoother transformiert #smooth-content, was
     position:sticky/fixed darin bricht. Darum position:relative im normalen
     Fluss. padding-top:6rem hält die Leiste unter der gepinnten 6rem-Nav
     (nav .normal-menu{height:6rem} — index.css:1037); objekt.js überschreibt
     das zur Laufzeit mit der exakt gemessenen Nav-Höhe (robust bei Resize). */
.objbar{position:relative;padding-top:6rem;z-index:1;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);border-bottom:1px solid var(--main-black)}
.objbar .objbar-inner{display:flex;align-items:center;gap:.5rem 1.4rem;min-height:3.1rem;flex-wrap:wrap}
.mode-chip{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--main-black);flex:none}
.mode-chip .dot{width:.5rem;height:.5rem;border-radius:var(--border-full);background:var(--second-color);flex:none}
.obj-qnav{display:flex;gap:.15rem;font-size:.85rem;overflow-x:auto;scrollbar-width:none}
.obj-qnav::-webkit-scrollbar{display:none}
.obj-qnav a{color:var(--main-shade-900);padding:.4rem .7rem;white-space:nowrap;border-radius:var(--border-full);transition:color .2s,background-color .2s}
.obj-qnav a:hover{color:var(--main-color);background:var(--main-shade-100)}
.obj-ap{margin-left:auto;font-size:.78rem;color:var(--main-shade-600);flex:none;white-space:nowrap}
.obj-ap b{color:var(--main-black);font-weight:700}
@media only screen and (max-width:768px){.obj-ap{display:none}}

/* — Anker-Ziele: Sprung-Offset für den nativen Fallback (ohne ScrollSmoother).
     Mit aktivem ScrollSmoother rechnet objekt.js den Offset selbst. — */
#beratung,#kompetenz,#anfrage{scroll-margin-top:7rem}

/* — Eyebrow (kleines Uppercase-Label; Theme hat keins → aus Tokens ergänzt) — */
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--main-color);margin-bottom:.75rem}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.6;flex:none}
.eyebrow.eyebrow-d{color:var(--second-color)}

/* — Objekt-Hero (echtes bg-gradient + bg-dark = 45°-Verlauf + weiße Schrift), dezente Blueprint-Textur — */
.hero-obj{overflow:hidden}
.hero-obj::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(1100px 520px at 84% -12%, rgba(72,116,179,.30), transparent 60%),
    linear-gradient(to right, rgba(255,255,255,.035) 1px, transparent 1px) 0 0/46px 46px,
    linear-gradient(to bottom, rgba(255,255,255,.035) 1px, transparent 1px) 0 0/46px 46px;}
.hero-obj > *{position:relative;z-index:1}
.hero-obj-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,4vw,3.6rem);align-items:center;width:100%}
.hero-obj h1{max-width:16ch}
.hero-obj .hero-sub{max-width:52ch;margin-bottom:0}
.hero-microtrust{margin-top:1.6rem;font-size:.82rem;opacity:.72;display:flex;gap:.4rem 1rem;flex-wrap:wrap;align-items:center}
.hero-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--border-round);padding:1.8rem}
.hero-card .hc-top{display:flex;align-items:center;gap:.9rem;margin-bottom:1.2rem}
.hero-card .hc-emblem{flex:none;width:3rem;height:3rem;border-radius:.75rem;display:grid;place-items:center;background:rgba(72,116,179,.22);border:1px solid rgba(72,116,179,.5)}
.hero-card .hc-emblem svg{width:1.5rem;height:1.5rem;stroke:#fff}
.hero-card .hc-l{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--main-shade-400)}
.hero-card .hc-l b{display:block;font-size:.95rem;letter-spacing:0;text-transform:none;color:#fff;margin-top:.15rem}
.hero-card ul{margin:0;padding:0}
.hero-card li{position:relative;list-style:none;margin:.7rem 0 0 0;padding-left:1.7rem;font-size:.9rem;line-height:1.45;color:var(--main-shade-200)}
.hero-card li:first-child{margin-top:0}
.hero-card li::before{content:"";position:absolute;left:0;top:.15rem;width:1.05rem;height:1.05rem;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234FB790' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
.hero-card li b{color:#fff}
.hero-card .hc-foot{margin-top:1.2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12);font-size:.72rem;color:var(--main-shade-400);display:flex;align-items:center;gap:.4rem}

/* — Section-Kopf (echte h2/p; Eyebrow ergänzt) — */
.obj-shead{max-width:60ch;margin-bottom:clamp(2rem,3vw,3rem)}
.obj-shead h2{margin-bottom:.9rem}
.obj-shead p{color:var(--main-shade-900);max-width:60ch}
.bg-dark .obj-shead p{color:var(--main-shade-400)}
.obj-section{width:100%}

/* — Prozess (4 Schritte mit Schiene) — */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;width:100%}
.step{position:relative;padding-top:1.6rem}
.step::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--main-shade-200)}
.step::after{content:"";position:absolute;top:-5px;left:0;width:12px;height:12px;border-radius:var(--border-full);background:var(--main-color);box-shadow:0 0 0 4px #fff,0 0 0 6px rgba(72,116,179,.16)}
.step .s-num{font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--main-color)}
.step h3{font-size:1.15rem;margin:.6rem 0 .4rem}
.step p{font-size:.9rem;color:var(--main-shade-900);line-height:1.55}
.bg-light .step::after{box-shadow:0 0 0 4px var(--main-shade-100),0 0 0 6px rgba(72,116,179,.16)}

/* — Karten (Rollen / Systeme / Referenzen) = echtes impruf-Kartenrezept aus index.css .testimonial-item
     (border-round, 1px shade-100, Flüster-Schatten 0 2px 16px rgba(0,0,0,.04), Hover-Lift -4px) — */
.obj-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;width:100%}
.obj-card{background:#fff;border:1px solid var(--main-shade-100);border-radius:var(--border-round);padding:2rem;box-shadow:0 2px 16px rgba(0,0,0,.04);transition:transform .3s ease,box-shadow .3s ease}
.obj-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08)}
.obj-card .oc-ic{width:3rem;height:3rem;border-radius:.75rem;background:rgba(72,116,179,.08);display:grid;place-items:center;color:var(--main-color);font-weight:700;font-size:.8rem;letter-spacing:.03em;margin-bottom:1.1rem}
.obj-card h3{font-size:1.2rem;margin-bottom:.55rem}
.obj-card p{font-size:.9rem;color:var(--main-shade-900);line-height:1.55;margin-bottom:1rem}
.obj-card .oc-go{color:var(--main-color);font-weight:700;font-size:.88rem}
.obj-chips{display:flex;gap:.5rem;flex-wrap:wrap}
.obj-chip{font-size:.72rem;font-weight:600;color:var(--main-color-dark);border:1px solid rgba(72,116,179,.22);border-radius:var(--border-full);padding:.3rem .7rem;background:rgba(72,116,179,.08)}

/* — Kompetenz-Panel (degradierter Produktbeleg, keine Kaufkachel) — */
.indep{margin-top:1.8rem;background:rgba(72,116,179,.08);border:1px solid rgba(72,116,179,.22);border-radius:var(--border-round);padding:1.8rem 2rem;display:grid;grid-template-columns:1fr auto;gap:1.4rem 2rem;align-items:center;width:100%}
.indep .it{font-size:1.05rem;font-weight:700;color:var(--main-black)}
.indep p{font-size:.9rem;color:var(--main-shade-900);margin-top:.5rem;max-width:52ch;line-height:1.5}
.indep .beleg{background:#fff;border:1px solid rgba(72,116,179,.22);border-radius:.75rem;padding:1rem 1.15rem;display:flex;flex-direction:column;gap:.45rem;min-width:min(20rem,100%)}
.indep .beleg-h{font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--main-color)}
.indep .beleg-v{font-size:.85rem;font-weight:700;color:var(--main-black);line-height:1.35}
.indep .beleg-x{font-size:.76rem;color:var(--main-shade-600);line-height:1.45}
@media only screen and (max-width:900px){.indep{grid-template-columns:1fr}}

/* — Ehrlich beraten (dunkel) — */
.honest-split{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:1.8rem;width:100%}
.honest-split .hb{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:.75rem;padding:1.4rem}
.honest-split .hb .t{font-weight:700;color:#fff;margin-bottom:.4rem}
.honest-split .hb p{color:var(--main-shade-400);font-size:.9rem;line-height:1.5}

/* — Anfrage (Ansprechpartner + Formular; Inputs scharfkantig, Fokus schwarz = echt impruf) — */
.obj-contact{display:grid;grid-template-columns:20rem 1fr;gap:clamp(1.6rem,3vw,3rem);align-items:start;width:100%}
.person h3{font-size:1.25rem;margin:1.1rem 0 .1rem}
.person .role{color:var(--main-shade-600);font-size:.85rem}
.person .qt{margin-top:1rem;font-size:.98rem;color:var(--main-black);border-left:3px solid var(--second-color);padding-left:1rem;line-height:1.55;font-style:italic}
.obj-form{background:#fff;border:1px solid var(--main-shade-100);border-radius:var(--border-round);padding:clamp(1.5rem,3vw,2.2rem);box-shadow:0 2px 16px rgba(0,0,0,.04)}
.obj-form h3{font-size:1.3rem;margin-bottom:.35rem}
.obj-form .fp{color:var(--main-shade-600);font-size:.88rem;margin-bottom:1.6rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fld{display:flex;flex-direction:column;gap:.45rem}
.fld.full{grid-column:1/-1}
.fld label{font-size:.84rem;font-weight:600;color:var(--main-black)}
.fld label .req{color:var(--second-color)}
.fld input,.fld select,.fld textarea{border-radius:0;border:2px solid var(--main-shade-200);background:#fff;color:var(--main-black);padding:0 .95rem;font-family:var(--common-font);font-size:1rem;font-weight:500;transition:border-color .2s}
.fld input,.fld select{height:3.1rem}
.fld textarea{min-height:8rem;padding:.85rem .95rem;line-height:1.5;resize:vertical}
.fld select{appearance:none;-webkit-appearance:none;padding-right:2.6rem;cursor:pointer;background:no-repeat right .95rem center url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23878787' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
.fld input::placeholder,.fld textarea::placeholder{color:var(--main-shade-600);font-weight:400}
.fld input:hover,.fld select:hover,.fld textarea:hover{border-color:var(--main-shade-400)}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--main-black);outline:none}
.obj-form .honeypot{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
.obj-form .container-buttons{margin-top:1.6rem}
.obj-form .container-buttons .primary{margin-top:0;width:100%;border:none;cursor:pointer;font-family:var(--common-font)}
.form-steps{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}
.form-steps span{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--main-shade-900)}
.form-hint{margin-top:1.2rem;font-size:.78rem;color:var(--main-shade-600);line-height:1.55}
.form-hint a{color:var(--main-color);text-decoration:underline}
/* — Einwilligung (required): nur Objekt-Form-Spacing; Optik via globale .flexbox-h/.text-small/.link-self wie die Live-Formulare — */
.obj-form .obj-consent{align-items:flex-start;gap:.6rem;margin-top:1.6rem}
.obj-form .obj-consent input{flex:none;margin-top:.15rem;accent-color:var(--main-color)}
.obj-form .obj-consent label{color:var(--main-shade-900);line-height:1.5}
@media only screen and (max-width:900px){.obj-contact{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.obj-cards{grid-template-columns:1fr}.hero-obj-grid{grid-template-columns:1fr}.honest-split{grid-template-columns:1fr}}
@media only screen and (max-width:560px){.steps{grid-template-columns:1fr}}

/* — FAQ (details/summary; Theme-Optik) — */
.obj-faq{max-width:52rem;width:100%}
.obj-faq details{border-bottom:1px solid var(--main-shade-200)}
.obj-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.2rem;padding:1.2rem .25rem;font-weight:700;font-size:1.15rem;color:var(--main-black)}
.obj-faq summary::-webkit-details-marker{display:none}
.obj-faq summary::after{content:"+";color:var(--main-color);font-weight:700;font-size:1.5rem;line-height:1;flex:none}
.obj-faq details[open] summary::after{content:"\2013"}
.obj-faq .fa{margin:0 .25rem 1.25rem;color:var(--main-shade-900);line-height:1.6;max-width:64ch}

/* ============================================================
   TEAM-FOTOS (P1–P4) · echte <img> aus assets/img/objekt/
   Einheitliche ruhige Behandlung (P5): leichte Entsättigung + Kontrast.
   object-fit:cover ist Pflicht (Theme-Regel img{width/height:100%} füllt die Rahmen).
   ============================================================ */
.person .obp-photo img,.tr-av img{filter:grayscale(.12) contrast(1.03) saturate(.96)}

/* P1 — Objektberater-Porträt am Conversion-Punkt (Gesicht + Durchwahl) */
.person .obp-photo{position:relative;margin:0 0 1.1rem;width:100%;aspect-ratio:4/5;border-radius:var(--border-round);overflow:hidden;background:var(--main-shade-100)}
.person .obp-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.person .obp-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(17,17,17,.30),transparent 44%),rgba(72,116,179,.05);mix-blend-mode:multiply}
.person .obp-role{position:absolute;left:1rem;bottom:.95rem;z-index:2;font-size:.66rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#fff;background:rgba(17,17,17,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.35rem .7rem;border-radius:var(--border-full)}
.person h3{margin-top:0}
.obp-call{display:flex;align-items:center;gap:.6rem;margin-top:1.1rem;font-size:1.05rem;font-weight:700;color:#fff;background:var(--main-color);border-radius:var(--border-full);padding:.85rem 1.2rem;transition:background-color .2s}
.obp-call:hover{background:var(--main-color-dark);color:#fff}
.obp-call svg{width:1.05rem;height:1.05rem;flex:none}
.obp-mail{display:inline-flex;align-items:center;gap:.4rem;margin-top:.75rem;color:var(--main-color);font-weight:700;font-size:.95rem}
.obp-mail:hover{color:var(--main-color-dark)}

/* P2 — dunkles Team-Band: Foto blutet nativ in den 45°-Marken-Dunkel-Verlauf ein */
.team-band{position:relative;overflow:hidden;background:var(--main-black);min-height:clamp(23rem,44vw,38rem);display:flex}
.team-band .tb-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:grayscale(.13) contrast(1.03) saturate(.94) brightness(.92)}
.team-band .tb-scrim{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(70% 90% at 80% 6%, rgba(72,116,179,.16), transparent 60%),
  linear-gradient(to bottom, rgba(17,17,17,.16) 0%, rgba(17,17,17,.34) 44%, rgba(17,17,17,.9) 100%),
  linear-gradient(to bottom, var(--main-black) 0%, rgba(17,17,17,0) 13%),
  linear-gradient(to top, var(--main-black) 0%, rgba(17,17,17,0) 15%)}
.team-band .tb-content{position:relative;z-index:2;align-self:flex-end;width:100%;padding-top:clamp(3rem,7vw,6rem);padding-bottom:clamp(2.4rem,5vw,4rem)}
.team-band .tb-content h2{color:#fff;max-width:20ch}
.team-band .tb-content p{color:var(--main-shade-200);max-width:52ch;margin-top:.9rem;font-size:1.05rem;line-height:1.55}

/* P3 — schlanke Objekt-Team-Porträtreihe (quiet-premium) */
.team-row{width:100%;margin-top:clamp(2.6rem,4vw,3.6rem);padding-top:clamp(2rem,3vw,2.6rem);border-top:1px solid var(--main-shade-200);display:flex;gap:1.4rem 2.5rem;flex-wrap:wrap;align-items:center;justify-content:space-between}
.team-row .eyebrow{margin-bottom:.35rem}
.tr-lead{max-width:32ch}
.tr-lead p{color:var(--main-shade-600);font-size:.9rem;line-height:1.5}
.tr-list{display:flex;gap:1.5rem;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.tr-p{display:flex;flex-direction:column;align-items:center;gap:.45rem;width:7rem;text-align:center;margin:0}
.tr-p::before{display:none}
.tr-av{width:4.5rem;height:4.5rem;border-radius:50%;overflow:hidden;background:var(--main-shade-100);border:1px solid var(--main-shade-200)}
.tr-av img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}
.tr-nm{font-size:.76rem;font-weight:700;color:var(--main-black);line-height:1.2}
.tr-role{font-size:.68rem;font-weight:400;color:var(--main-shade-600);line-height:1.25;margin-top:-.25rem}

/* P4 — rundes Objektberater-Thumbnail in der Subnav */
.obj-ap{display:flex;align-items:center;gap:.55rem}
.obj-ap-thumb{width:26px;height:26px;border-radius:50%;object-fit:cover;object-position:center 20%;flex:none;border:1px solid var(--main-shade-200)}

@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
