/* AI2 2.4: aligned cards, process steps and founder profiles. */
.ai2-positioning p{text-align:left;hyphens:none;overflow-wrap:break-word}
.ai2-positioning .ai2-section{content-visibility:visible;contain-intrinsic-size:none}
.ai2-positioning .ai2-hero h1{font-size:clamp(2.5rem,4.4vw,4rem);max-width:650px;line-height:1.07}
.ai2-positioning .ai2-hero__grid{grid-template-columns:1.12fr .88fr;gap:48px;padding:72px 0;min-height:600px}
.ai2-positioning .ai2-hero-note{font-size:.85rem;color:#c8c9b9;margin:22px 0 0;max-width:540px}
.ai2-proof-strip{background:#e9e6d8;border-bottom:1px solid var(--line)}
.ai2-proof-strip>.ai2-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;padding:21px 0;font-size:.8rem;font-weight:700;color:#414836}
.ai2-proof-strip>.ai2-container>div+div{border-left:1px solid #c9c9b4;padding-left:24px}
.ai2-positioning .ai2-section-heading{display:block;max-width:860px;margin:0 0 30px;text-align:left}
.ai2-positioning .ai2-section-heading:after{display:none}
.ai2-positioning .ai2-section-heading h2{margin:0;max-width:800px;text-align:left}
.ai2-positioning .ai2-section-intro{color:var(--muted);max-width:720px;margin:0}
.ai2-positioning .ai2-eyebrow{margin-bottom:16px;color:#526748}
.ai2-positioning .ai2-hero .ai2-eyebrow,.ai2-positioning .ai2-section--dark .ai2-eyebrow{color:var(--sage)}
.ai2-solutions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#leistungen .ai2-solution{display:flex;flex-direction:column;gap:0;padding:30px}
#leistungen .ai2-solution h3{display:block;min-height:0;font-size:1.35rem;line-height:1.24;margin:0 0 18px}
#leistungen .ai2-solution p,#leistungen .ai2-solution p:last-of-type{margin:0 0 18px}
.ai2-positioning .ai2-card{padding:30px;display:flex;flex-direction:column;align-items:stretch;min-width:0}
.ai2-positioning .ai2-card h3{font-size:1.35rem;line-height:1.24;margin:0 0 18px;letter-spacing:-.025em;text-align:left}
.ai2-positioning .ai2-card p{font-size:.96rem;line-height:1.65;margin:0 0 18px}
/* Replace the original icon-card grid and flex cross-axis alignment completely. */
.ai2-solutions-grid{--ai2-card-padding:30px;row-gap:18px}
.ai2-positioning .ai2-solutions-grid>.ai2-card,
#leistungen .ai2-solution{
  display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr auto;
  gap:18px 0;align-items:start;align-content:normal;min-height:0;
  padding:var(--ai2-card-padding);
}
.ai2-positioning .ai2-solutions-grid>.ai2-case{grid-template-rows:auto auto 1fr}
.ai2-positioning .ai2-solutions-grid>.ai2-card>*,
#leistungen .ai2-solution h3,
#leistungen .ai2-solution p,
#leistungen .ai2-solution p:last-of-type{
  grid-column:1;grid-row:auto;align-self:start;justify-self:stretch;
  width:auto;min-width:0;min-height:0;margin:0;text-align:left;
}
.ai2-positioning .ai2-solutions-grid>.ai2-card>h3,
#leistungen .ai2-solution h3{display:block;width:100%}
.ai2-positioning .ai2-solutions-grid>.ai2-card>.ai2-card-number{justify-self:start}
.ai2-positioning .ai2-solutions-grid>.ai2-card>.ai2-button{
  justify-self:start;align-self:start;margin:0;max-width:100%;
}
/* Each row is sized by the tallest item across the three cards, in either language. */
@supports(grid-template-rows:subgrid){
  .ai2-positioning .ai2-solutions-grid>.ai2-card,
  #leistungen .ai2-solution{grid-template-rows:subgrid;grid-row:span 4}
  .ai2-positioning .ai2-solutions-grid>.ai2-case{grid-row:span 3}
}
@supports not (grid-template-rows:subgrid){
  @media(min-width:861px){
    .ai2-positioning .ai2-solutions-grid>.ai2-card>h3,
    #leistungen .ai2-solution h3{min-height:2.48em}
  }
}
.ai2-card-number{font-size:.8rem;font-weight:700;letter-spacing:.15em;color:#596d4f;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:22px}
.ai2-positioning .ai2-card .ai2-problem{color:#303728;font-weight:700}
.ai2-check-list{padding-left:19px;margin:0 0 26px;color:var(--muted);font-size:.9rem;line-height:1.65}
.ai2-check-list li+li{margin-top:7px}
.ai2-positioning .ai2-card .ai2-button{margin-top:auto;font-size:.83rem;padding:13px 14px;gap:8px;justify-content:space-between;line-height:1.5}
.ai2-button--outline{color:#293022;border-color:#8e977e;background:transparent}
.ai2-button{gap:8px}
.ai2-button--outline:hover{background:#ececdf}
.ai2-positioning .ai2-small-note{font-size:.85rem;line-height:1.65;color:var(--muted);max-width:900px;margin:26px 0 0}
.ai2-offer dl{margin:0 0 26px}
.ai2-offer dt{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#4d6241;margin:18px 0 5px}
.ai2-offer dd{margin:0;font-size:.94rem;color:var(--muted);line-height:1.6}
.ai2-positioning .ai2-case-context{font-size:.72rem!important;text-transform:uppercase;letter-spacing:.06em;color:#536647;font-weight:700;min-height:2.6em}
.ai2-positioning .ai2-case-stack{font-size:.76rem!important;color:#536647;border-top:1px solid var(--line);padding-top:16px;margin-top:auto!important;margin-bottom:0!important}
.ai2-positioning .ai2-section--dark .ai2-small-note{color:#c7c9b9}
.ai2-workflow ol{list-style:none;counter-reset:workflow;padding:0;margin:0;border-left:1px solid #687258}
.ai2-workflow li{counter-increment:workflow;position:relative;margin:0 0 24px;padding-left:52px}
.ai2-workflow li:last-child{margin-bottom:0}
.ai2-workflow li:before{content:counter(workflow,decimal-leading-zero);position:absolute;left:-17px;top:0;background:#252a20;color:#c9cebb;font-size:.72rem;padding:5px 7px;border:1px solid #687258}
.ai2-workflow strong{font-size:1.08rem;color:#f7f4e8}
.ai2-workflow p{font-size:.93rem;color:#d0d0c0;margin:5px 0 0}
.ai2-positioning .ai2-process{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px;border-color:var(--line)}
.ai2-positioning .ai2-process article{grid-template-columns:36px minmax(0,1fr);column-gap:16px;row-gap:18px;border:0;background:#f2efe3;padding:28px;min-height:0;min-width:0}
.ai2-positioning .ai2-process article+article{border-left:1px solid var(--line)}
.ai2-positioning .ai2-process .ai2-step-number{display:grid;place-items:center;align-self:center;justify-self:start;width:36px;height:36px;margin:0;line-height:1;color:#526748;border-color:#8e977e}
.ai2-positioning .ai2-process h3{align-self:center;justify-self:stretch;margin:0;color:var(--charcoal);font-size:1.12rem;line-height:1.4;text-align:left}
.ai2-positioning .ai2-process p{color:var(--muted);font-size:.96rem;line-height:1.65}
@supports(grid-template-rows:subgrid){
  .ai2-positioning .ai2-process article{grid-row:span 2;grid-template-rows:subgrid}
}
.ai2-positioning .ai2-start-note{font-size:.95rem;color:var(--muted);margin:22px 0 0;max-width:850px}
.ai2-positioning .ai2-websites-note{display:inline-block;font-size:.9rem;color:var(--muted);margin:26px 8px 0 0}
.ai2-positioning .ai2-websites-link{font-size:.9rem;margin:0}
.ai2-positioning .ai2-case p:last-child{margin-bottom:0}
.ai2-founders{display:grid;grid-template-columns:1fr 1fr;gap:30px}
/* Share a text baseline for initials/name; reserve the last row for the email. */
.ai2-founder{display:grid;grid-template-columns:50px minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:18px 22px;padding:30px;background:rgba(255,255,255,.42);border:1px solid var(--line);min-width:0}
.ai2-founder>div:not(.ai2-monogram){display:contents}
.ai2-monogram{display:grid;place-items:center;grid-column:1;grid-row:1;align-self:baseline;width:50px;height:50px;margin:0;border:1px solid #8e977e;color:#4d6241;font-size:.95rem;letter-spacing:.1em}
.ai2-founder h3{grid-column:2;grid-row:1;align-self:baseline;min-width:0;font-size:1.3rem;margin:0;line-height:1.4}
.ai2-founder p{grid-column:2;grid-row:2;font-size:.95rem;margin:0;min-width:0}
.ai2-positioning .ai2-founder-role{font-size:.78rem;font-weight:700;color:#526748;margin-top:7px}
.ai2-founder a{grid-column:2;grid-row:3;align-self:end;justify-self:start;max-width:100%;font-size:.87rem;color:#425638;overflow-wrap:anywhere;text-underline-offset:4px}
.ai2-secondary-services{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;border-top:1px solid var(--line);margin-top:45px;padding-top:34px}
.ai2-secondary-services h3{font-size:1.15rem;line-height:1.4}
.ai2-secondary-services p{color:var(--muted);font-size:.95rem}
.ai2-secondary-services .ai2-button{font-size:.84rem;margin-top:8px}
.ai2-contact-form select{width:100%;min-width:0;border:1px solid #c9c7b4;background:#fffef8;padding:13px 10px;font:inherit;color:var(--charcoal);border-radius:0}
.ai2-contact-form label{min-width:0}
.ai2-contact-form .ai2-consent{display:flex;align-items:flex-start;gap:12px;font-weight:400;font-size:.83rem;line-height:1.65}
.ai2-contact-form .ai2-consent input{flex:0 0 18px;width:18px;height:18px;margin-top:4px}
.ai2-contact-form .ai2-form-help{font-size:.75rem;margin:0;color:var(--muted)}
.ai2-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.ai2-form-status{margin-bottom:20px;font-size:.94rem}
.ai2-form-status a{overflow-wrap:anywhere;color:inherit}
.ai2-cookie-banner{z-index:1000000}
body.ai2-contact-in-view .ai2-whatsapp-float,body.ai2-contact-in-view .ai2-back-to-top{display:none!important}
.ai2-skip-link{position:fixed;left:16px;top:-100px;z-index:1000000;padding:12px 20px;background:var(--paper);color:#111}
.ai2-skip-link:focus{top:10px}
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #647d54;outline-offset:4px}
:where(section[id],main[id],form[id]){scroll-margin-top:100px}
.reveal{opacity:1;transform:none;filter:none}
.ai2-hero .reveal{filter:none!important}
html.ai2-js .reveal:not(.is-visible){opacity:0;transform:translateY(16px)}
html.ai2-js .ai2-hero .reveal{opacity:1!important;transform:none!important}
@media(min-width:781px){.ai2-nav{gap:24px}}
@media(max-width:1050px){.ai2-solutions-grid{gap:15px}.ai2-positioning .ai2-card{padding:22px}.ai2-founders{gap:20px}.ai2-founder{padding:24px;column-gap:16px}.ai2-founder p,.ai2-founder a{grid-column:1 / -1}.ai2-positioning .ai2-hero__grid{gap:30px}}
@media(max-width:860px){.ai2-solutions-grid{grid-template-columns:1fr}.ai2-positioning .ai2-card{padding:28px}.ai2-positioning .ai2-card .ai2-button{align-self:flex-start}.ai2-positioning .ai2-case-context{min-height:0}.ai2-proof-strip>.ai2-container{grid-template-columns:1fr;gap:10px}.ai2-proof-strip>.ai2-container>div+div{border:0;padding-left:0}.ai2-positioning .ai2-process{grid-template-columns:1fr}.ai2-positioning .ai2-process article+article{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:780px){.ai2-positioning .ai2-hero h1{font-size:clamp(2.3rem,9.6vw,3.8rem)!important}.ai2-founders,.ai2-secondary-services{grid-template-columns:1fr}.ai2-secondary-services{gap:28px}.ai2-positioning .ai2-hero__actions .ai2-button{width:100%;font-size:.87rem}.ai2-positioning .ai2-section{padding:56px 0}.ai2-positioning .ai2-contact-card{padding:23px}.ai2-nav a{min-height:40px;display:flex;align-items:center}.ai2-nav.is-open{max-height:calc(100dvh - 76px);overflow-y:auto}.ai2-positioning .ai2-contact-grid{gap:28px}}
@media(max-width:380px){.ai2-positioning .ai2-card{padding:21px}.ai2-positioning .ai2-contact-card{padding:18px}.ai2-positioning .ai2-hero h1{font-size:2.3rem!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.ai2-section,.ai2-hero__visual *{animation:none!important;transition:none!important;transform:none}html.ai2-js .reveal:not(.is-visible){opacity:1;transform:none}.ai2-iceberg-img{transform:translate(-50%,-50%)!important}}
@media print{.reveal{opacity:1!important;transform:none!important}.ai2-section{content-visibility:visible}.ai2-header,.ai2-whatsapp-float,.ai2-cookie-banner,.ai2-back-to-top{display:none!important}}
@media(max-width:1050px){.ai2-solutions-grid{--ai2-card-padding:22px}}
@media(max-width:860px){.ai2-solutions-grid{--ai2-card-padding:28px}.ai2-positioning .ai2-process{row-gap:0}}
@media(max-width:380px){.ai2-solutions-grid{--ai2-card-padding:21px}}
