/* Favoso V26: approved four-part homepage, service visual language and editorial references. */
:root{--v26-navy:#202f70;--v26-orange:#ef6a35;--v26-cta:#b74727;--v26-text:#435276;--v26-soft:#f1f4f8;--v26-line:#dfe5ee}
.fav26-home,.fav26-references{color:var(--v26-navy);font-family:PTSans,Arial,sans-serif}
.fav26-home .container,.fav26-references .container{max-width:1170px}
.fav26-kicker{font:700 11.8px/1.4 PTSans,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#526387;margin:0 0 13px}
.fav26-home h2{font:700 clamp(27px,2.65vw,34px)/1.18 PTSans,Arial,sans-serif;color:var(--v26-navy);margin:0 0 13px;letter-spacing:-.016em}
.fav26-home p{font-family:PTSans,Arial,sans-serif}
/* Hero: preserve pictorial composition, original V25 logo is in header.php. */
.fav26-hero{position:relative;overflow:hidden;min-height:420px;background:linear-gradient(135deg,#f8fafc 0%,#eff4f8 67%,#e4ebf3 100%);border-bottom:1px solid #e7ebf1}
.fav26-hero-picture{position:absolute;right:0;top:0;height:100%;width:48%;background:#e9eef1 url('../images/hero-gespraech-ausschnitt.jpg') center center/cover no-repeat;box-shadow:inset 18px 0 24px rgba(249,251,252,.2)}
.fav26-hero-picture::before{content:"";position:absolute;inset:0 auto 0 -2px;width:26%;background:linear-gradient(125deg,rgba(247,250,252,.95),rgba(247,250,252,.73));clip-path:polygon(0 0,100% 0,0 100%)}
.fav26-hero-inner{min-height:420px;display:flex;align-items:center;position:relative;z-index:1}
.fav26-hero-copy{max-width:58%;padding:49px 22px 48px 0}
.fav26-hero h1{color:var(--v26-navy);font:700 clamp(43px,4.4vw,62px)/.96 PTSans,Arial,sans-serif;letter-spacing:-.035em;margin:0 0 22px}
.fav26-hero h1 span{color:var(--v26-orange)}
.fav26-hero-subline{font:400 clamp(18px,1.67vw,21px)/1.4 PTSans,Arial,sans-serif;color:#24345f;max-width:545px;margin:0}
/* Homepage services – the seven peer cards remain one row on desktop. */
.fav26-services{background:linear-gradient(130deg,#f2f5f9 0%,#eef2f7 100%);padding:43px 0 53px}
.fav26-services-lead{font:400 17px/1.55 PTSans,Arial,sans-serif;color:#415173;max-width:920px;margin:0 0 24px}
.fav26-service-cards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:0}
.fav26-service-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;min-height:219px;padding:19px 11px 32px;border-radius:6px;background:#fff;border:1px solid #e7ebf1;box-shadow:0 8px 22px rgba(38,50,93,.045);text-decoration:none;color:var(--v26-navy);transition:box-shadow .18s,transform .18s,border-color .18s}
.fav26-service-card:hover,.fav26-service-card:focus-visible{box-shadow:0 10px 24px rgba(38,50,93,.12);border-color:#bdc8d9;transform:translateY(-2px);color:var(--v26-navy);text-decoration:none}
.fav26-service-pictogram{height:49px;width:49px;display:block;object-fit:contain;margin-bottom:6px}
.fav26-service-card strong{display:block;font:700 16.2px/1.16 PTSans,Arial,sans-serif;color:var(--v26-navy);hyphens:auto;overflow-wrap:normal}
.fav26-service-card>span:not(.fav26-card-arrow){font:400 14px/1.3 PTSans,Arial,sans-serif;color:#596886}
.fav26-card-arrow{position:absolute;right:12px;bottom:6px;font:400 24px/1 PTSans,Arial,sans-serif;color:var(--v26-navy)}
/* Haupt-CTA der Startseite. */
.fav26-button{display:inline-flex;gap:12px;align-items:center;justify-content:center;border-radius:26px;border:1px solid var(--v26-cta);background:var(--v26-cta);color:#fff!important;font:700 15px/1.35 PTSans,Arial,sans-serif;text-decoration:none!important;padding:11px 20px;white-space:normal}
.fav26-button:hover,.fav26-button:focus-visible{background:#95381f;border-color:#95381f;color:#fff!important}
/* Öffentliche Variante A: Abschlussbereich gemäß freigegebenem Kontaktmotiv. */
.fav26-contact{padding:45px 0 49px;background:#e9ecf6;border-top:1px solid #e1e6f0}
.fav26-contact-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:44px;align-items:center}
.fav26-contact-copy{min-width:0;max-width:780px}
.fav26-contact .fav26-kicker{color:#6375b1;letter-spacing:.12em;margin:0 0 13px}
.fav26-contact h2{margin:0 0 14px;max-width:840px;font-size:clamp(25px,2.5vw,31px)}
.fav26-contact-copy>p:not(.fav26-kicker){font:16.5px/1.55 PTSans,Arial,sans-serif;color:#37425d;margin:0 0 12px}
.fav26-contact-copy>.fav26-contact-question{margin:0;font-weight:700}
.fav26-contact .fav26-button{flex:0 0 auto;align-self:center}
/* Seven consistent pictograms in services overview & detail intros. */
.fav-services-overview .fav-service-icon{width:54px;height:54px;background:transparent!important;border-radius:0;justify-content:flex-start}
.fav-services-overview .fav-service-icon img{max-width:52px!important;max-height:52px!important;width:52px!important;height:52px!important}
.fav-feature-hero .fav26-feature-icon{display:block;margin:0 0 15px 0;width:54px;height:54px}
/* Calm reference page. Preserve original project descriptions, improve organization and mobile. */
.fav26-references{background:#fff}
.fav26-ref-intro{padding:54px 0 47px;background:linear-gradient(115deg,#eef2f9,#f8f9fc);border-bottom:1px solid #e2e7ef}
.fav26-ref-intro h1{font:700 clamp(32px,3.4vw,44px)/1.14 PTSans,Arial,sans-serif;color:var(--v26-navy);margin:0 0 20px}
.fav26-ref-intro p:not(.fav26-kicker){font:16.9px/1.63 PTSans,Arial,sans-serif;color:#3b4761;max-width:985px;margin:0 0 13px}
.fav26-ref-intro p:last-child{margin-bottom:0!important}
.fav26-ref-container{padding-top:12px;padding-bottom:64px}
.fav26-ref-category{padding:42px 0 14px;border-bottom:1px solid #e1e6ef}
.fav26-ref-category:last-child{border-bottom:0}
.fav26-ref-category-header{max-width:920px;margin:0 0 24px}
.fav26-ref-category-header h2{font:700 27px/1.21 PTSans,Arial,sans-serif;color:var(--v26-navy);margin:0 0 9px}
.fav26-ref-category-header h2:before{content:"";display:block;width:42px;height:3px;background:var(--v26-orange);margin-bottom:16px}
.fav26-ref-category-header p{font:16.2px/1.58 PTSans,Arial,sans-serif;color:#4b5873;margin:0}
.fav26-ref-list{display:grid;gap:15px}
.fav26-references .reference{display:block;box-shadow:none!important;padding:0!important;margin:0!important;border:1px solid #e2e7ef;border-radius:6px;background:#fff!important;overflow:hidden}
.fav26-ref-main{display:grid;grid-template-columns:minmax(0,1fr) 29%;gap:24px;align-items:start;padding:25px 25px 24px}
.fav26-ref-copy{min-width:0}
.fav26-ref-copy h3{font:700 21.5px/1.28 PTSans,Arial,sans-serif;margin:0 0 13px;color:var(--v26-navy)}
.fav26-references .description{font:16.1px/1.6 PTSans,Arial,sans-serif;color:#3d475f}
.fav26-references .description p{margin:0 0 12px;font:inherit}
.fav26-references .description p:last-child{margin-bottom:0}
.fav26-references .fav26-ref-visual{margin:0;min-width:0;align-self:start}
.fav26-references .fav26-ref-visual img{display:block;width:100%;height:174px;object-fit:cover;border-radius:3px}
.fav26-references figcaption{font:12px/1.3 PTSans,Arial,sans-serif;color:#78839a;text-align:right;margin-top:6px}
.fav26-ref-copy .buttons{margin-top:12px}
.fav26-ref-copy .button.more{display:inline-block;border:0;background:transparent!important;color:#33488d!important;border-bottom:1px solid #dc6940;border-radius:0;box-shadow:none!important;padding:0 0 3px;font:700 15px/1.3 PTSans,Arial,sans-serif;text-decoration:none!important}
.fav26-ref-copy .button.more:hover{color:#b64d2b!important}
.fav26-ref-copy .button.more:after{content:"⌄";display:inline-block;margin-left:8px;font-size:19px;line-height:.7}
.fav26-ref-copy .button.more[aria-expanded="true"]:after{transform:rotate(180deg)}
.fav26-ref-highlight{border-left:3px solid var(--v26-orange)!important}
.fav26-ref-founders-inner{display:grid;grid-template-columns:minmax(0,1fr) 32%;gap:30px;align-items:start;background:#f6f8fb;border:1px solid #e4e9f1;padding:27px}
.fav26-ref-founders-inner h3{font:700 22px/1.32 PTSans,Arial,sans-serif;color:var(--v26-navy);margin:0 0 14px}
.fav26-ref-founders-inner p{font:16px/1.63 PTSans,Arial,sans-serif;color:#3d475f;margin:0 0 15px}
.fav26-ref-founders-inner p:last-child{margin-bottom:0}
.fav26-ref-founders-inner figure{margin:0}.fav26-ref-founders-inner img{width:100%;height:238px;object-fit:cover;border-radius:3px}
/* Buttons remaining in sections: white text AA on darker orange. */
.fav-feature-contact .fav-action-link,.fav-services-closing-cta,.fav-contact-closing .fav-action-link,.fav-home-conviction .fav-action-link-accent{background:var(--v26-cta)!important;border-color:var(--v26-cta)!important;color:#fff!important}
@media(max-width:1199px){.fav26-service-card{padding:17px 9px 32px}.fav26-service-card strong{font-size:15px}.fav26-service-card>span:not(.fav26-card-arrow){font-size:13.4px}}
@media(max-width:1000px){.fav26-service-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fav26-service-card{min-height:186px;padding:18px 15px 31px}.fav26-hero-copy{max-width:59%}.fav26-hero-picture{width:48%}.fav26-hero h1{font-size:clamp(39px,5vw,54px)}.fav26-services{padding:37px 0 45px}}
@media(max-width:720px){.fav26-hero{min-height:unset}.fav26-hero-inner{min-height:unset;display:block}.fav26-hero-picture{position:relative;width:100%;height:228px;order:2;background-position:center 35%}.fav26-hero-picture:before{display:none}.fav26-hero{display:flex;flex-direction:column}.fav26-hero-inner{order:1}.fav26-hero-copy{max-width:100%;padding:40px 0 33px}.fav26-hero h1{font-size:clamp(44px,10.3vw,61px)}.fav26-hero-subline{font-size:18px;max-width:600px}.fav26-services{padding:36px 0 42px}.fav26-contact-inner{grid-template-columns:1fr;gap:24px}.fav26-ref-main{grid-template-columns:minmax(0,1fr) 34%;gap:18px;padding:19px}.fav26-ref-founders-inner{grid-template-columns:1fr}.fav26-ref-founders-inner img{height:auto;max-height:320px}.fav26-ref-intro{padding:38px 0 35px}.fav26-ref-category{padding:31px 0 9px}.fav26-ref-category-header h2{font-size:24px}}
@media(max-width:560px){.fav26-service-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fav26-service-card{min-height:190px}.fav26-service-card strong{font-size:16px}.fav26-service-card>span:not(.fav26-card-arrow){font-size:14px}.fav26-ref-main{display:flex;flex-direction:column-reverse;align-items:stretch}.fav26-ref-visual{width:100%}.fav26-references .fav26-ref-visual img{height:190px}.fav26-ref-copy{width:100%}.fav26-ref-founders-inner{padding:19px}.fav26-contact{padding:32px 0 36px}}
@media(max-width:345px){.fav26-service-cards{grid-template-columns:1fr}.fav26-service-card{min-height:145px}}
@media(prefers-reduced-motion:reduce){.fav26-service-card{transition:none}}

/* Prevent inherited Bootstrap clearfix pseudo-elements from taking grid cells. */
.fav26-hero-inner::before,.fav26-hero-inner::after,.fav26-contact-inner::before,.fav26-contact-inner::after,.fav26-ref-container::before,.fav26-ref-container::after{display:none!important;content:none!important}
/* Explicit line-breaking is part of the approved seven-card design. */
.fav26-service-card strong{overflow-wrap:anywhere;hyphens:auto}
@media(max-width:340px){.fav26-hero h1{font-size:41px}}
/* Use the horizontal space of the approved seven-card composition, not the old 970px legacy container. */
@media(min-width:992px){.fav26-home .container,.fav26-references .container{width:calc(100% - 100px)!important;max-width:1140px!important}}
@media(min-width:721px) and (max-width:991px){.fav26-home .container,.fav26-references .container{width:calc(100% - 56px)!important;max-width:900px!important}}
@media(max-width:720px){.fav26-home .container,.fav26-references .container{width:calc(100% - 30px)!important;max-width:660px!important}}

@media(min-width:1001px){.fav26-service-card strong{font-size:14.5px;letter-spacing:-.02em;hyphens:manual;overflow-wrap:normal}}

/* V29.1 – Home-Leistungskacheln: scharf lesbare Desktop-Typografie.
   Die bisherige 14,5-px-Schrift und negative Laufweite erzeugten auf
   Standardmonitoren uneinheitliche Antialias-Kanten. Systemschrift bei
   ganzzahliger Groesse vermeidet zugleich Abhaengigkeit von fehlenden
   lokalen PT-Sans-Dateien im Komplettpaket. Hover ohne Pixel-Translation. */
@media (min-width:1001px) {
  .fav26-service-card strong {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.23;
    letter-spacing: 0;
    hyphens: manual;
    overflow-wrap: normal;
    text-rendering: auto;
  }
  .fav26-service-card:hover,
  .fav26-service-card:focus-visible {
    transform: none;
  }
}
