:root{
  --ink:#0b0e0d;--ink-2:#303633;--paper:#fff;--light:#f4f7f6;--line:#c9cfcc;--line-deep:#717976;--accent-green:#39DC48;--accent-green-dark:#39DC48;--blue:#39DC48;--blue-dark:#39DC48;--max:1240px;--gutter:clamp(1.2rem,4vw,4rem);--section:clamp(5rem,9vw,8.5rem);--font:"Inter","Helvetica Neue",Arial,sans-serif;--font-head:"League Spartan","Avenir Next","Century Gothic",Arial,sans-serif
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#fff;color:var(--ink);font-family:var(--font);font-synthesis:none;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}button,input,textarea{font:inherit}.container{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}.skip-link{position:fixed;left:1rem;top:1rem;z-index:500;transform:translateY(-150%);background:var(--accent-green);padding:.7rem 1rem;font-weight:800}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}::selection{background:var(--accent-green);color:#000}
.eyebrow{margin:0 0 1rem;font-size:.75rem;line-height:1.2;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}.eyebrow--green{color:var(--accent-green-dark)}.eyebrow--blue{color:var(--blue)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-head);line-height:1.06;letter-spacing:-.024em;text-wrap:balance}h1{font-size:clamp(2.5rem,4.7vw,4.75rem);font-weight:600}h2{font-size:clamp(1.9rem,3.15vw,3.25rem);font-weight:600}h3{font-size:clamp(1.2rem,1.75vw,1.65rem);font-weight:600}.lead{font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.62;color:var(--ink-2)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:2px solid transparent;backdrop-filter:blur(14px);transition:.2s}.site-header.is-scrolled{border-color:var(--line)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex}.brand img{width:clamp(174px,16vw,230px);height:auto}.main-nav{display:flex;align-items:center;gap:clamp(.8rem,1.6vw,1.45rem)}.main-nav a{position:relative;font-size:.83rem;font-weight:700;letter-spacing:.02em;text-decoration:none;white-space:nowrap}.main-nav>a:after{position:absolute;left:0;right:100%;bottom:-.48rem;height:3px;background:var(--line);content:"";transition:right .18s}.main-nav>a:hover:after,.main-nav>a[aria-current=page]:after{right:0}.social-nav{display:flex;gap:.85rem;margin-left:.4rem;padding-left:1.2rem;border-left:2px solid var(--line)}.social-nav a{color:var(--blue)}.nav-toggle{display:none;width:46px;height:46px;border:none;background:#fff;align-items:center;justify-content:center;cursor:pointer}.nav-toggle span,.nav-toggle:before,.nav-toggle:after{display:block;width:20px;height:3px;background:#000;content:"";transition:.2s}.nav-toggle span{margin:5px 0}.nav-toggle[aria-expanded=true] span{opacity:0}.nav-toggle[aria-expanded=true]:before{transform:translateY(6px) rotate(45deg)}.nav-toggle[aria-expanded=true]:after{transform:translateY(-6px) rotate(-45deg)}
.button-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:.8rem 1.25rem;border:3px solid var(--ink);font-size:.88rem;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .16s,background .16s,color .16s}.button:hover{transform:translateY(-2px)}.button--green{background:var(--accent-green);border-color:var(--accent-green);color:#0a0d09}.button--green:hover{background:#39DC48}.button--line{background:#fff;border-color:var(--ink)}.button--line:hover{background:var(--light)}.button--white{background:#fff;color:#000;border-color:#fff}.button--black{background:#000;color:#fff;border-color:#000}
.hero{padding:clamp(4.5rem,7vw,7rem) 0 clamp(5rem,8vw,8rem)}.hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(460px,1.12fr);gap:clamp(3rem,6vw,6.5rem);align-items:center}.hero h1{font-size:clamp(2.65rem,4.4vw,4.4rem);max-width:15ch;margin-bottom:1.6rem}.hero .lead{max-width:43rem}.hero-signals{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2.2rem}.hero-signals span{padding:.45rem .7rem;border-left:4px solid var(--line);background:var(--light);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero-signals span:nth-child(2){border-color:var(--blue)}.hero-media{position:relative;margin:0;padding:0 0 1.25rem 1.25rem}.hero-media:before{position:absolute;left:0;bottom:0;width:45%;height:42%;background:linear-gradient(180deg,rgba(57,220,72,.12),rgba(57,220,72,.34));content:""}.hero-media:after{position:absolute;right:-1.2rem;top:2rem;width:7px;height:42%;background:var(--blue);content:""}.hero-media img{position:relative;z-index:1;width:100%;aspect-ratio:1.32/1;object-fit:cover;object-position:center center}.hero-media figcaption{position:absolute;z-index:2;right:0;bottom:2.5rem;width:min(72%,410px);padding:1.1rem 1.3rem;background:#fff;border-left:6px solid var(--blue);box-shadow:0 18px 45px rgba(0,0,0,.13)}.hero-media figcaption b,.hero-media figcaption span{display:block}.hero-media figcaption b{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.hero-media figcaption span{margin-top:.35rem;color:var(--ink-2)}
.section{padding:var(--section) 0}.section--light{background:var(--light)}.section--black{background:var(--ink);color:#fff}.section--black .lead{color:rgba(255,255,255,.74)}.section-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(3rem,7vw,7rem);align-items:end;margin-bottom:clamp(3rem,5vw,5rem)}.section-intro>div,.section-intro>.lead{align-self:end}.section-intro h2{margin-bottom:0}.section-intro .lead{margin:0;max-width:47rem;padding-bottom:0}.icon-principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--line);border-bottom:2px solid var(--line)}.icon-principles article{padding:2.3rem 2rem}.icon-principles article+article{border-left:2px solid var(--line)}.icon{width:34px;height:34px;color:var(--line-deep)}.icon-principles .icon{margin-bottom:2rem}.icon-principles article:nth-child(2) .icon{color:var(--blue)}.icon-principles p{margin-bottom:0;color:var(--ink-2)}
.image-text-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(3rem,6vw,6rem);align-items:center}.image-frame{position:relative;margin:0;padding:0 1rem 1rem 0}.image-frame:after{position:absolute;right:0;bottom:0;width:60%;height:60%;background:var(--line);content:""}.image-frame--blue:before{position:absolute;left:-1rem;top:2rem;width:7px;height:42%;background:var(--blue);content:""}.image-frame img{position:relative;z-index:1;width:100%;aspect-ratio:1.35/1;object-fit:cover}.text-stack h2{margin-bottom:2rem}.line-list{border-top:2px solid var(--line)}.line-list>div{display:grid;grid-template-columns:36px 1fr;gap:1rem;padding:1.15rem 0;border-bottom:2px solid var(--line)}.list-icon{width:25px;height:25px;color:var(--blue)}.line-list b{display:block;color:#000}
.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--line);border-bottom:2px solid var(--line)}.approach-grid article{position:relative;padding:2.5rem 2rem}.approach-grid article+article{border-left:2px solid var(--line)}.approach-grid .icon{color:var(--line);margin-bottom:2rem}.approach-grid span{position:absolute;right:1.5rem;top:1.4rem;color:var(--blue);font-weight:800}.approach-grid p{color:rgba(255,255,255,.7);margin-bottom:0}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.35rem}.service-cards>a{min-height:350px;display:flex;flex-direction:column;padding:2rem;border:none;text-decoration:none;background:#fff;transition:.18s}.service-cards>a:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(0,0,0,.08)}.service-cards>a:nth-child(3){border-color:var(--blue)}.service-icon{width:62px;height:62px;display:grid;place-items:center;background:var(--accent-green);color:#000;margin-bottom:2.5rem}.service-icon--blue{background:var(--blue);color:#fff}.service-icon .icon{color:inherit}.service-cards small{font-weight:800;color:var(--ink-2)}.service-cards h3{font-size:1.8rem;margin:.6rem 0}.service-cards p{color:var(--ink-2)}.service-cards b{margin-top:auto;font-size:.83rem;color:var(--blue)}
.image-band{position:relative;min-height:610px;display:grid;align-items:center;overflow:hidden;background:#000}.image-band:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.63) 43%,rgba(0,0,0,.1) 74%);content:""}.image-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.image-band__copy{position:relative;z-index:2;color:#fff}.image-band__copy h2{max-width:15ch;font-size:clamp(2.2rem,4vw,4rem);margin-bottom:2rem}.image-band--short{min-height:560px}.image-band--short>img{object-position:center 48%}.case-teasers{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--line)}.case-teasers a{min-height:300px;padding:2rem 2rem 2.5rem;border-bottom:2px solid var(--line);text-decoration:none}.case-teasers a+a{border-left:2px solid var(--line)}.case-teasers span{display:inline-block;padding:.25rem .55rem;background:var(--blue);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.case-teasers h3{margin-top:2.3rem}.case-teasers p{color:var(--ink-2)}.cta-section{padding:clamp(4.5rem,7vw,6.5rem) 0;background:var(--accent-green)}.cta-grid{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}.cta-grid h2{max-width:18ch;margin:0}.cta-grid .eyebrow{color:#000}
.page-hero{padding:clamp(5rem,8vw,8rem) 0;background:var(--light)}.page-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);gap:clamp(3rem,6vw,6rem);align-items:center}.page-hero h1{max-width:15ch;margin-bottom:1.7rem}.page-hero-image{position:relative;margin:0;padding:1rem 0 0 1rem}.page-hero-image:before{position:absolute;left:0;top:0;width:58%;height:60%;background:var(--line);content:""}.page-hero-image:after{position:absolute;right:-1rem;bottom:2rem;width:7px;height:35%;background:var(--blue);content:""}.page-hero-image img{position:relative;z-index:1;width:100%;height:520px;object-fit:cover}.page-hero-image--wide img{height:440px}.page-hero--compact h1{max-width:13ch}.page-hero--about{text-align:left}.page-hero--about h1{max-width:18ch}.page-hero--about .lead{max-width:58rem}
.service-detail-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:clamp(4rem,8vw,8rem);align-items:start}.service-sticky{position:sticky;top:120px}.service-number{display:inline-grid;place-items:center;width:48px;height:48px;background:var(--accent-green);font-weight:900;margin-bottom:2rem}.service-number--blue{background:var(--blue);color:#fff}.service-large-icon{width:64px;height:64px;color:var(--line-deep);display:block;margin-bottom:2rem}.service-large-icon--blue{color:var(--blue)}.service-content>.lead{margin-bottom:1.4rem}.topic-grid{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--line);margin-top:2.5rem}.topic-grid>div{display:grid;grid-template-columns:26px 1fr;gap:.8rem;padding:1.05rem 0;border-bottom:2px solid var(--line)}.topic-grid>div:nth-child(odd){padding-right:1.2rem}.topic-grid>div:nth-child(even){padding-left:1.2rem;border-left:2px solid var(--line)}.check-icon{width:22px;height:22px;color:var(--blue)}.role-note{margin-top:2.5rem;padding:1.6rem;border-left:6px solid var(--blue);background:var(--light)}.role-note p{margin:.4rem 0 0}.service-photo{position:relative;height:560px;overflow:hidden}.service-photo img{width:100%;height:100%;object-fit:cover}.service-photo-label{position:absolute;left:max(var(--gutter),calc((100vw - var(--max))/2));bottom:2rem;padding:1rem 1.3rem;background:#fff;border-left:6px solid var(--line);font-weight:800}.subhead{margin-top:3rem}.process-list{list-style:none;padding:0;margin:1.5rem 0 2.5rem;border-top:2px solid var(--line)}.process-list li{display:grid;grid-template-columns:50px 1fr;gap:1rem;padding:1rem 0;border-bottom:2px solid var(--line);font-weight:700}.process-list span{color:var(--blue)}.appearance-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:1rem;margin-top:2.5rem}.appearance-grid>div{min-height:240px;padding:1.7rem;border:none;display:flex;flex-direction:column}.appearance-grid>div:nth-child(even){border-color:var(--blue)}.appearance-grid .icon{margin-bottom:2rem}.appearance-grid p{margin-bottom:0;color:var(--ink-2)}
.case-list{border-top:2px solid var(--line)}.case-list article{display:grid;grid-template-columns:150px 1fr;gap:clamp(2rem,6vw,6rem);padding:clamp(4rem,7vw,7rem) 0;border-bottom:2px solid var(--line)}.case-index{display:flex;flex-direction:column;gap:2rem}.case-index span{font-size:3rem;font-weight:700;color:var(--blue)}.case-index .icon{width:70px;height:70px}.case-body{max-width:820px}.case-body h2{max-width:16ch}.case-flow{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2.3rem}.case-flow span{padding:.55rem .75rem;border-left:4px solid var(--line);background:var(--light);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.wide-photo{position:relative;height:620px;overflow:hidden}.wide-photo img{width:100%;height:100%;object-fit:cover;object-position:center 46%}.wide-photo-caption{position:absolute;right:max(var(--gutter),calc((100vw - var(--max))/2));bottom:2rem;max-width:520px;padding:1.2rem 1.5rem;background:#000;color:#fff;border-left:6px solid var(--line);font-weight:700}
.founders-grid{display:grid;gap:clamp(6rem,10vw,10rem)}.founder{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:clamp(3rem,7vw,7rem);align-items:center}.founder--reverse figure{order:2}.founder figure{margin:0;border-bottom:11px solid var(--line);background:var(--light)}.founder--reverse figure{border-color:var(--blue)}.founder figure img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}.founder-copy{max-width:660px}.founder-copy h2{margin-bottom:1.5rem}.founder-focus{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem}.founder-focus span{padding:.4rem .65rem;background:var(--accent-green);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.founder-focus--blue span{background:var(--blue);color:#fff}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--line);border-bottom:2px solid var(--line)}.value-grid>div{padding:2rem}.value-grid>div+div{border-left:2px solid var(--line)}.value-grid .icon{color:var(--line);margin-bottom:2rem}.value-grid p{color:rgba(255,255,255,.72);margin-bottom:0}
.contact-symbol{min-height:260px;border:none;display:grid;place-items:center;align-content:center;gap:1.4rem}.contact-symbol .icon{width:76px;height:76px;color:var(--blue)}.contact-symbol span{font-weight:800}.contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(4rem,8vw,8rem);align-items:start}.contact-form{display:grid;gap:1.2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.contact-form label{display:grid;gap:.45rem;font-weight:800;font-size:.86rem}.contact-form input,.contact-form textarea{width:100%;border:3px solid #8d9692;background:#fff;padding:.82rem;color:#000}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);outline:3px solid rgba(122,38,57,.16)}.contact-form small{font-weight:500}.consent{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important}.consent input{width:20px;height:20px;margin-top:.2rem}.contact-form .button{justify-self:start}.form-success{padding:1rem 1.2rem;border-left:6px solid var(--line);background:#fff;font-weight:700}.contact-data{border-top:6px solid var(--blue);padding:2rem;background:#fff}.contact-data h2{font-size:2rem}.contact-data a{color:var(--blue)}
.legal-hero{padding:6rem 0 3.5rem;background:var(--light);border-bottom:6px solid var(--line)}.legal-hero h1{margin:0}.legal-content{padding:5rem 0 7rem}.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem)}.legal-grid h2{font-size:1.7rem;margin-top:2.5rem}.legal-grid h2:first-child{margin-top:0}
.site-footer{padding:4.5rem 0 1.5rem;background:#080a09;color:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr .65fr .65fr;gap:4rem;padding-bottom:3rem;border-bottom:2px solid var(--line)}.footer-brand img{width:260px;height:auto;filter:invert(1);margin-bottom:1.4rem}.footer-brand p{color:rgba(255,255,255,.65)}.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.footer-nav strong{margin-bottom:.65rem;color:var(--line);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.footer-nav a{text-decoration:none;color:rgba(255,255,255,.72)}.footer-nav a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;padding-top:1.4rem;color:rgba(255,255,255,.5);font-size:.78rem}.toast{position:fixed;right:1.2rem;bottom:1.2rem;z-index:300;max-width:330px;padding:1rem;background:#000;color:#fff;border-left:6px solid var(--line);transform:translateY(160%);transition:.22s}.toast.is-visible{transform:none}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:980px){.nav-toggle{display:block}.main-nav{position:fixed;inset:82px 0 auto;background:#fff;border-bottom:2px solid var(--line);padding:1.4rem var(--gutter) 2rem;display:none;flex-direction:column;align-items:flex-start}.main-nav.is-open{display:flex}.social-nav{margin:1rem 0 0;padding:1rem 0 0;border-left:0;border-top:2px solid var(--line);width:100%}.hero-grid,.page-hero-grid,.image-text-grid,.service-detail-grid,.contact-grid{grid-template-columns:1fr}.hero-media{max-width:760px}.section-intro{grid-template-columns:1fr;gap:1.4rem}.section-intro .lead{max-width:58rem}.service-sticky{position:static}.page-hero-image img{height:460px}.service-detail-grid{gap:3rem}.founder{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:3rem}.footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:2rem}}
@media(max-width:760px){h1{font-size:clamp(2.25rem,10vw,3.3rem)}h2{font-size:clamp(1.75rem,8vw,2.55rem)}.header-inner{min-height:72px}.main-nav{inset:72px 0 auto}.hero{padding-top:3.5rem}.hero-grid{grid-template-columns:1fr;gap:3.5rem}.hero h1{font-size:clamp(2.35rem,10vw,3.45rem)}.hero-media{padding-left:.65rem;padding-bottom:.65rem}.hero-media:after{right:-.5rem}.hero-media figcaption{position:relative;right:auto;bottom:auto;width:calc(100% - 1.25rem);margin:-2rem 0 0 auto}.icon-principles,.approach-grid,.service-cards,.case-teasers,.value-grid{grid-template-columns:1fr}.icon-principles article+article,.approach-grid article+article,.case-teasers a+a,.value-grid>div+div{border-left:0;border-top:2px solid var(--line)}.image-frame{padding:0 .65rem .65rem 0}.image-text-grid{gap:3rem}.service-cards>a{min-height:300px}.image-band{min-height:580px}.image-band:after{background:rgba(0,0,0,.6)}.cta-grid{grid-template-columns:1fr;align-items:start}.page-hero-image img{height:390px}.topic-grid,.appearance-grid{grid-template-columns:1fr}.topic-grid>div:nth-child(even){padding-left:0;border-left:0}.appearance-grid>div{min-height:210px}.case-list article{grid-template-columns:1fr;gap:2rem}.case-index{flex-direction:row;align-items:center}.case-index .icon{width:48px;height:48px}.wide-photo{height:520px}.founder,.founder--reverse{grid-template-columns:1fr}.founder--reverse figure{order:0}.founder figure{max-width:520px}.form-row,.legal-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}.contact-symbol{min-height:220px}}
@media(max-width:480px){:root{--gutter:1.1rem}.brand img{width:170px}.hero-media figcaption{font-size:.9rem}.page-hero-image img{height:320px}.service-photo{height:430px}.wide-photo-caption{left:1rem;right:1rem}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}}

/* V9: V6 layout + V3 content */
:root{--accent-green:#39DC48;--accent-green-dark:#39DC48;--blue:#39DC48;--blue-dark:#39DC48;--line:#c9cfcc;--line-deep:#717976}
:focus-visible{outline-color:var(--accent-green-dark)}
.social-nav a,.service-cards b,.contact-data a,.process-list span,.case-index span{color:var(--accent-green-dark)}
.eyebrow--blue{color:var(--accent-green-dark)}
.hero-signals span:nth-child(2),.hero-media:after,.image-frame--blue:before{background:var(--accent-green)}
.hero-media figcaption,.role-note,.wide-photo-caption,.form-success,.toast{border-left-color:var(--accent-green)}
.hero-media img{object-position:28% 58%}
.page-hero-grid{align-items:end}
.page-hero-grid>div,.page-hero-grid>figure{align-self:end}
.section-intro{align-items:end}
.section-intro>div,.section-intro>.lead{align-self:end}
.icon-principles article:nth-child(2) .icon,.list-icon,.check-icon{color:var(--accent-green-dark)}
.approach-grid span{color:var(--accent-green)}
.service-icon,.service-icon--blue{background:var(--accent-green);color:#071008}
.service-cards>a:nth-child(3),.appearance-grid>div:nth-child(even){border-color:var(--line)}
.case-teasers span{background:#0b0e0d;color:#fff}
.page-hero-image:before,.page-hero-image--blue:before{background:var(--accent-green)}
.service-number,.service-number--blue{background:var(--accent-green);color:#071008}
.service-number--wide{width:auto;min-width:48px;padding:0 .8rem;white-space:nowrap}
.service-large-icon,.service-large-icon--blue{color:var(--line-deep)}
.image-frame:after{background:var(--line)}
.section-closing{margin:1.5rem 0 0;font-weight:700;color:var(--ink-2)}
.approach-note-v9{margin-top:2rem;color:rgba(255,255,255,.74)}
.image-band-lead{max-width:48rem;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.6;color:rgba(255,255,255,.84);margin-bottom:2rem}
.case-link-row{display:flex;justify-content:flex-end;margin-top:2rem}
.service-intro{font-size:1.08rem;color:var(--ink-2);margin-bottom:1.4rem}
.topic-grid--compact>div:last-child:nth-child(odd){grid-column:1/-1;padding-right:0}
.service-photo--facilitator img{object-position:42% 44%}
.process-list--wide{display:grid;grid-template-columns:1fr 1fr}
.process-list--wide li{grid-template-columns:52px 1fr;padding:1.25rem}
.process-list--wide li:nth-child(even){border-left:2px solid var(--line)}
.process-list--wide strong{font-family:var(--font-head);font-size:1.35rem}
.process-list--wide p{margin:.35rem 0 0;color:var(--ink-2);font-weight:400}
.case-focus{margin-top:2rem}
.case-focus .eyebrow{margin-bottom:.35rem}
.case-focus p:last-child{margin:0}
.founder figure{aspect-ratio:3/4;overflow:hidden;display:flex;align-items:center;justify-content:center}
.founder figure img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
.founder-lead{font-size:1.08rem}
.image-band--plain:after{display:none}
.image-band--plain .image-band__copy{max-width:760px;padding:2rem;background:rgba(255,255,255,.94);color:var(--ink)}
.image-band--plain .image-band__copy h2{color:var(--ink);font-size:clamp(2rem,3.4vw,3.45rem)}
.image-band--plain .image-band-lead{color:var(--ink-2);margin-bottom:0}
.image-band--plain .eyebrow{color:var(--accent-green-dark)}
.image-band--plain>img{object-position:center 48%}
.form-note-v9{font-size:.82rem;color:var(--ink-2)}
.contact-data{border-top-color:var(--accent-green)}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent-green-dark);outline-color:rgba(57,220,72,.18)}
.legal-content a{color:var(--accent-green-dark)}
.footer-brand img{filter:invert(1);width:260px;height:auto;object-fit:contain}
@media(max-width:760px){.process-list--wide{grid-template-columns:1fr}.process-list--wide li:nth-child(even){border-left:0}.image-band--plain .image-band__copy{margin-inline:var(--gutter);padding:1.4rem}.page-hero-grid{align-items:start}.page-hero-grid>div,.page-hero-grid>figure{align-self:start}}
/* Final visual refinements */
.founder{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.founder figure{width:100%;max-width:560px}
.founder--reverse figure{justify-self:end}
.image-band:not(.image-band--plain):after{background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.48) 42%,rgba(0,0,0,.04) 74%)}
.button--green:hover{background:#39DC48}
@media(max-width:980px){.founder{grid-template-columns:minmax(280px,1fr) minmax(0,1fr)}}
@media(max-width:760px){.founder,.founder--reverse{grid-template-columns:1fr}.founder--reverse figure{justify-self:start}}


/* V10 refinements */
:root{--green-on-dark:#39DC48}
.section--black .eyebrow--green,
.image-band:not(.image-band--plain) .eyebrow--green,
.section--black .approach-grid span{color:var(--green-on-dark)}
.footer-grid{border-bottom-color:var(--green-on-dark)}
.cases-page .page-hero-image img{object-position:center 42%}
.founder{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr)}
.founder figure{max-width:450px}
.founder--reverse figure{justify-self:end}
@media(max-width:980px){
  .founder{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr)}
  .founder figure{max-width:410px}
}
@media(max-width:760px){
  .founder,.founder--reverse{grid-template-columns:1fr}
  .founder figure,.founder--reverse figure{max-width:400px;justify-self:start}
}

/* V14: equal text widths for both Managing Directors */
.founder-copy{width:100%;max-width:660px}
.founder--reverse{grid-template-columns:minmax(0,1.28fr) minmax(260px,.72fr)}
@media(max-width:980px){
  .founder--reverse{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr)}
}
@media(max-width:760px){
  .founder--reverse{grid-template-columns:1fr}
}

/* V15: header divider matches the standard 2px line weight */
.site-header{border-bottom-width:2px}


/* V16: profile text update, stronger graphic button arrows, cookie banner, narrower founder portraits */
.button{position:relative;gap:.82rem}
.button::after{content:"";display:inline-block;flex:0 0 auto;width:1.2rem;height:.9rem;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 14' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 7h18'/%3E%3Cpath d='m14.5 1.5 5.5 5.5-5.5 5.5'/%3E%3C/svg%3E");transition:transform .16s ease}
.button:hover::after{transform:translateX(2px)}
.button--no-arrow::after{display:none}
.founder-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.8rem}
.founder .button{justify-content:flex-start}
.founder,.founder--reverse{align-items:center}
.founder{grid-template-columns:minmax(235px,.64fr) minmax(0,1.36fr)}
.founder--reverse{grid-template-columns:minmax(0,1.36fr) minmax(235px,.64fr)}
.founder figure,.founder--reverse figure{max-width:360px}
.founder figure img{object-position:center top}
.cookie-banner{position:fixed;left:50%;bottom:1rem;z-index:320;transform:translate(-50%,130%);width:min(calc(100% - 2rem),920px);display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1rem 1rem 1rem 1.05rem;background:rgba(255,255,255,.97);border:none;box-shadow:0 18px 40px rgba(0,0,0,.12);backdrop-filter:blur(10px);transition:transform .22s ease}
.cookie-banner.is-visible{transform:translate(-50%,0)}
.cookie-banner__icon{width:52px;height:52px;display:grid;place-items:center;background:var(--light);color:var(--accent-green-dark);border-left:5px solid var(--accent-green)}
.cookie-banner__icon svg{width:26px;height:26px}
.cookie-banner__copy strong{display:block;font-family:var(--font-head);font-size:1.1rem;letter-spacing:-.02em;margin-bottom:.25rem}
.cookie-banner__copy p{margin:0;font-size:.94rem;color:var(--ink-2)}
.cookie-banner__copy a{color:var(--accent-green-dark);font-weight:700}
.cookie-banner__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem}
@media(max-width:980px){.founder{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr)}.founder--reverse{grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr)}.cookie-banner{grid-template-columns:auto 1fr;}.cookie-banner__actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:760px){.founder,.founder--reverse{grid-template-columns:1fr}.founder figure,.founder--reverse figure{max-width:360px;justify-self:start}.cookie-banner{left:1rem;right:1rem;bottom:1rem;width:auto;transform:translateY(130%);grid-template-columns:1fr;}.cookie-banner.is-visible{transform:translateY(0)}.cookie-banner__icon{width:48px;height:48px}.cookie-banner__actions{justify-content:stretch}.cookie-banner__actions .button{width:100%}}

/* V17: one green, compact graphical LinkedIn profile links */
.linkedin-icon-link{display:inline-flex;width:38px;height:38px;color:#000;text-decoration:none;transition:transform .16s ease,opacity .16s ease}
.linkedin-icon-link svg{display:block;width:100%;height:100%}
.linkedin-icon-link:hover{transform:translateY(-2px);opacity:.78}
.linkedin-icon-link:focus-visible{outline:3px solid var(--accent-green);outline-offset:4px}

/* V19 – requested refinements based on V17 */
.button--line,
.button--white {
  border-width: 2px;
}

/* Match the supplied portrait ratio exactly, without grey letterboxing or cropping. */
.founder figure,
.founder--reverse figure {
  aspect-ratio: 1122 / 1402;
  background: #fff;
}
.founder figure img,
.founder--reverse figure img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: contain;
}



/* V20 – service labels, first Services image, 2px form borders, branded favicon */
.services-page .service-number,
.services-page .service-number--blue,
.services-page .service-number--wide {
  display: inline-block;
  width: auto;
  min-width: 0;
  height: auto;
  margin-bottom: 2rem;
  padding: .12rem 0 .12rem .95rem;
  border-left: 4px solid var(--accent-green);
  background: transparent;
  color: var(--ink);
  font-size: .78rem;
  line-height: 1.35;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}
.services-page .page-hero-image img {
  object-position: 54% 52%;
}
.contact-form input,
.contact-form textarea {
  border-width: 2px;
}

/* V21 – final alignment and navigation refinements */
/* Robust graphical arrow: currentColor makes it white on black buttons. */
.button::after{
  background-image:none;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 14'%3E%3Cpath d='M1 7h18M14.5 1.5 20 7l-5.5 5.5' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 14'%3E%3Cpath d='M1 7h18M14.5 1.5 20 7l-5.5 5.5' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.button--black::after{background-color:#fff}

/* Align the first Services and Use-Cases images with the bottom of their text blocks. */
.services-page .page-hero-grid,
.cases-page .page-hero-grid{align-items:end}
.services-page .page-hero-grid>div,
.services-page .page-hero-grid>figure,
.cases-page .page-hero-grid>div,
.cases-page .page-hero-grid>figure{align-self:end}
.services-page .page-hero-image,
.cases-page .page-hero-image{margin-bottom:0}

/* Keep the direct contact company name on one line. */
.contact-data h2{
  white-space:nowrap;
  font-size:clamp(1.35rem,2.25vw,2.45rem);
}

/* “Menschen” is a label, not a button: use the same grey treatment as the others. */
.hero-signals span:nth-child(2){
  background:var(--light);
  border-color:var(--line);
}

@media(max-width:760px){
  .services-page .page-hero-grid,
  .cases-page .page-hero-grid{align-items:start}
  .services-page .page-hero-grid>div,
  .services-page .page-hero-grid>figure,
  .cases-page .page-hero-grid>div,
  .cases-page .page-hero-grid>figure{align-self:start}
  .contact-data h2{font-size:clamp(1.25rem,6vw,1.65rem)}
}


/* V23 – contact alignment and slightly taller header. */
/* The direct-contact accent line is exactly as wide as the company heading. */
.contact-data{
  border-top:0;
  padding-top:0;
}
.contact-data-heading{
  display:inline-block;
  max-width:100%;
  padding-top:2rem;
  border-top:6px solid var(--accent-green);
}
.contact-data-heading .eyebrow{
  margin-bottom:1rem;
}
.contact-data-heading h2{
  margin-bottom:1.2rem;
}

/* Identical bordered heights for the four single-line contact fields. */
.contact-form .form-row input{
  height:52px;
  min-height:52px;
}

/* Three additional pixels below the logo / in the complete header height. */
.header-inner{min-height:85px}
@media(max-width:980px){
  .main-nav{inset:85px 0 auto}
}
@media(max-width:760px){
  .header-inner{min-height:75px}
  .main-nav{inset:75px 0 auto}
}


/* V24 – filigranere große Icons und Kontakt-Feinschliff. */
.services-page .service-large-icon {
  stroke-width: 1.3;
}
.cases-page .case-index .icon {
  stroke-width: 1.3;
}

/* E-Mail- und Telefonfeld schließen unten auf derselben Linie ab. */
.contact-form .form-row {
  align-items: end;
}
.contact-form .form-row label {
  align-self: end;
}

/* Firmenname im Adressblock etwas kleiner; die grüne Linie folgt exakt seiner Breite. */
.contact-data-heading h2 {
  font-size: clamp(1.25rem, 2vw, 2rem);
}

@media (max-width: 760px) {
  .contact-data-heading h2 {
    font-size: clamp(1.2rem, 5.5vw, 1.55rem);
  }
}


/* V25 – identischer Abstand zwischen oberer Kennzeichnung und großem Icon. */
.services-page .service-sticky {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.services-page .service-number,
.services-page .service-number--blue,
.services-page .service-number--wide {
  margin-bottom: 0;
}

.services-page .service-large-icon {
  margin-top: 1.75rem;
}

.cases-page .case-index {
  gap: 1.75rem;
}


/* V26 – gestalterischer Feinschliff und konsolidiertes Designsystem. */
:root{
  --line-width:2px;
  --accent-line-width:4px;
  --large-icon-stroke:1.3;
  --arrow-stroke:2.5;
}

/* Einheitliche strukturelle Linien. */
.site-header,
.icon-principles,
.approach-grid,
.service-cards>a,
.case-teasers,
.case-teasers a,
.topic-grid,
.topic-grid>div,
.process-list,
.process-list li,
.value-grid,
.footer-grid,
.contact-form input,
.contact-form textarea,
.button--line,
.button--white{
  border-width:var(--line-width);
}

/* Einheitliche Akzentlinien – sichtbar, aber nicht schwer. */
.hero-media:after,
.image-frame--blue:before,
.page-hero-image:after{
  width:var(--accent-line-width);
}
.hero-media figcaption,
.role-note,
.service-photo-label,
.wide-photo-caption,
.contact-data-heading,
.cookie-banner__icon{
  border-left-width:var(--accent-line-width);
}
.services-page .service-number,
.services-page .service-number--blue,
.services-page .service-number--wide{
  border-left-width:var(--accent-line-width);
}

/* Große Icons als eigenes, festes System. */
.services-page .service-large-icon,
.cases-page .case-index .icon{
  stroke-width:var(--large-icon-stroke);
}

/* Kleine Links auf Weiß: schwarzer Text mit grünem Orientierungssignal. */
.contact-data a,
.legal-content a,
.cookie-banner__copy a{
  color:var(--ink);
  text-decoration-line:underline;
  text-decoration-color:var(--accent-green);
  text-decoration-thickness:2px;
  text-underline-offset:4px;
  transition:text-decoration-thickness .16s ease,background-color .16s ease;
}
.contact-data a:hover,
.legal-content a:hover,
.cookie-banner__copy a:hover{
  text-decoration-thickness:4px;
}
.service-cards .card-link-label{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:var(--ink);
  text-decoration:underline;
  text-decoration-color:var(--accent-green);
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}
.service-cards .card-link-label span{
  color:var(--accent-green);
  font-size:1.05em;
  text-decoration:none;
  transition:transform .16s ease;
}
.service-cards>a:hover .card-link-label span{transform:translateX(2px)}

/* Porträts: identisches Format, identische Bildfläche und ruhige Paarwirkung. */
.founder figure,
.founder--reverse figure{
  aspect-ratio:1122/1402;
  max-width:360px;
  background:#fff;
  align-self:center;
}
.founder figure img,
.founder--reverse figure img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}

/* Kontrollierte Satzbreiten und ruhigere Umbrüche. */
.hero h1{max-width:15.5ch}
.page-hero h1{max-width:15.5ch}
.page-hero--about h1{max-width:17.5ch}
.section-intro h2{max-width:17ch}
.cta-grid h2{max-width:19ch}

/* Kompakter Cookie-Hinweis auf kleinen Displays. */
@media(max-width:1180px){
  .hero h1{font-size:clamp(2.55rem,5vw,3.85rem)}
  .page-hero h1{font-size:clamp(2.45rem,4.8vw,3.75rem)}
}
@media(max-width:760px){
  .hero h1,.page-hero h1,.page-hero--about h1{max-width:18ch}
  .cookie-banner{
    grid-template-columns:42px minmax(0,1fr);
    gap:.7rem .85rem;
    padding:.8rem;
  }
  .cookie-banner__icon{width:42px;height:42px;border-left-width:var(--accent-line-width)}
  .cookie-banner__icon svg{width:23px;height:23px}
  .cookie-banner__copy strong{font-size:1rem}
  .cookie-banner__copy p{font-size:.86rem;line-height:1.45}
  .cookie-banner__actions{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.55rem;
  }
  .cookie-banner__actions .button{
    width:100%;
    min-height:44px;
    padding:.62rem .75rem;
    font-size:.8rem;
  }
}
@media(max-width:420px){
  h1{font-size:clamp(2.05rem,10.3vw,2.7rem)}
  h2{font-size:clamp(1.7rem,8.4vw,2.25rem)}
  .hero h1{font-size:clamp(2.1rem,10.4vw,2.75rem)}
  .cookie-banner{left:.7rem;right:.7rem;bottom:.7rem}
  .cookie-banner__copy p{font-size:.82rem}
}


/* V27 – Lesbarkeit der finalen Rechtstexte. */
.legal-grid ul {
  margin: 0 0 1.5rem;
  padding-left: 1.25rem;
}
.legal-grid li + li {
  margin-top: .35rem;
}
.legal-grid p {
  max-width: 46rem;
}


/* V31 Live – produktionsreifes Kontaktformular und kompakter Datenschutzhinweis. */
.form-message{
  margin:0 0 1.25rem;
  padding:1rem 1.1rem;
  border-left:4px solid var(--accent-green);
  background:var(--light);
  color:var(--ink);
}
.form-message--error{border-left-color:#b42318;background:#fff4f2;color:#7a271a}
.contact-form button[disabled]{cursor:wait;opacity:.72;transform:none}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.cookie-banner__actions--single{justify-content:flex-end}
@media(max-width:980px){.cookie-banner__actions--single{grid-column:auto;justify-content:flex-end}}
@media(max-width:760px){.cookie-banner__actions--single{justify-content:stretch}.cookie-banner__actions--single .button{width:100%}}


/* V32 – Feinschliff für die vier Appearance-Themenfelder. */
.services-page .appearance-grid > div {
  border: 2px solid var(--line);
}

.services-page .appearance-grid .eyebrow {
  margin-bottom: 1rem;
}

.services-page .appearance-grid h3 {
  margin-top: 0;
}


/* V33 Live – ursprüngliche Typografie lokal/same-origin bereitgestellt. */
.services-page .process-list--wide strong {
  font-family: var(--font-head);
  font-weight: 500;
}
