/* Homepage-only, progressive enhancement: content remains visible without JS. */
[data-home-experience] main{overflow:clip}
.experience-progress{position:fixed;inset:0 0 auto;height:4px;background:#ffffff0c;z-index:1000;pointer-events:none}.experience-progress i{display:block;height:100%;background:#ffda2f;transform:scaleX(var(--read-progress,0));transform-origin:left}
[data-chapter]{position:relative}[data-chapter]:before{content:attr(data-chapter);display:block;position:absolute;right:max(24px,calc((100% - 1240px)/2));top:22px;font-size:10px;letter-spacing:.16em;font-weight:700;opacity:.55;pointer-events:none}
.home-mittelstand:after{content:"";position:absolute;width:300px;height:300px;left:-200px;top:18%;border:45px solid #ffffff0b;border-radius:50%;pointer-events:none}.home-mittelstand-grid,.mittelstand-photos{position:relative;z-index:1}
.experience-ribbon{overflow:hidden;background:#ffda2f;color:#202329;padding:23px 0;border-block:1px solid #222}.experience-ribbon>div{width:max-content;font:800 clamp(28px,4vw,58px)/1 'League Spartan',sans-serif;white-space:nowrap;letter-spacing:-.025em;transform:translateX(var(--ribbon-x,0px));will-change:transform}.experience-ribbon span{color:transparent;-webkit-text-stroke:1px #202329;margin-inline:30px}
[data-home-experience] .home-work-card{position:relative}.home-work-card:after{content:"";position:absolute;inset:0;border:1px solid #ffda2f;border-radius:22px;opacity:0;pointer-events:none;transition:opacity .3s}.home-work-card:hover:after,.home-work-card:focus-within:after{opacity:1}
[data-home-experience] .home-work-image{overflow:hidden}[data-home-experience] .home-work-image img{transition:transform .6s ease,filter .3s}[data-home-experience] .home-work-card:hover img{transform:scale(1.035)}
[data-home-experience] .home-steps-grid{position:relative;gap:25px;padding-top:22px}.experience-track{position:absolute;left:0;right:0;top:0;height:2px;background:#ffffff25}.experience-track i{display:block;width:100%;height:100%;background:#ffda2f;transform:scaleX(var(--steps-progress,0));transform-origin:left}
[data-home-experience] .home-steps-grid article{position:relative;transition:border-color .35s,background .35s;min-width:0}[data-home-experience] .home-steps-grid article:before{content:"";position:absolute;top:-29px;left:25px;width:11px;height:11px;border-radius:50%;background:#454851;border:2px solid #ffda2f;transition:background .3s,box-shadow .3s}[data-home-experience] .home-steps-grid article.is-current{border-color:#ffda2f99;background:#ffda2f0b}[data-home-experience] .home-steps-grid article.is-current:before{background:#ffda2f;box-shadow:0 0 0 5px #ffda2f16}
[data-home-experience] :is(.home-work,.home-services,.home-steps,.home-mittelstand,.team-bts) h2{position:relative}[data-home-experience] :is(.home-work,.home-services,.home-steps,.home-mittelstand,.team-bts) h2:after{content:"";display:block;width:80px;height:3px;background:currentColor;margin-top:22px;transform-origin:left}
@keyframes experience-rise{from{opacity:.15;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes experience-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:no-preference){[data-home-experience] .experience-entered{animation:experience-rise .7s cubic-bezier(.16,.75,.25,1) both;animation-delay:var(--enter-delay,0ms)}[data-home-experience] .experience-heading.experience-entered:after{animation:experience-line .85s ease both}.mittelstand-photos figure img{transform:translateY(var(--photo-shift,0px)) scale(1.035);will-change:transform}.mittelstand-photos figure{overflow:hidden}}
@media(max-width:700px){.experience-ribbon{padding:18px 0}.home-steps-grid{padding-left:17px;padding-top:0!important}.experience-track{left:0;top:0;bottom:0;width:2px;height:auto;right:auto}.experience-track i{transform:scaleY(var(--steps-progress,0));transform-origin:top}[data-home-experience] .home-steps-grid article:before{left:-25px;top:28px}[data-home-experience] :is(.home-work,.home-services,.home-steps,.home-mittelstand,.team-bts) h2:after{margin-top:15px!important}[data-chapter]:before{font-size:9px;top:15px}.mittelstand-photos figure img{transform:none!important;will-change:auto}}
@media(prefers-reduced-motion:reduce){.experience-progress,.experience-track{display:none}.experience-ribbon>div{transform:none;will-change:auto}.home-work-image img{transition:none!important}.home-work-card:hover img{transform:none!important}.home-steps-grid article{transition:none!important}}

/* Compact, readable hero CTA; glow never changes the label contrast. */
.home-hero .hero-check-cta{gap:12px;background:#ffd62e;color:#252830;border-color:#ffd62e;isolation:isolate}
.home-hero .hero-check-cta:is(:hover,:active,:focus-visible){background:#ffdf55;color:#252830;border-color:#ffdf55}
.home-hero .hero-check-cta span{color:inherit}
/* A green highlight follows the border once; the yellow face stays unchanged. */
@property --check-border-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
.home-hero .hero-check-cta{position:relative;overflow:visible;border-radius:999px}
.home-hero .hero-check-cta::after{content:"";position:absolute;inset:-3px;border-radius:inherit;padding:3px;pointer-events:none;background:conic-gradient(from var(--check-border-angle),transparent 0deg 275deg,#a8b7a3 315deg,#dbf5ca 340deg,transparent 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;filter:drop-shadow(0 0 5px #a8b7a3)}
@keyframes hero-check-border{0%{--check-border-angle:0deg;opacity:0}12%{opacity:1}88%{opacity:1}100%{--check-border-angle:360deg;opacity:0}}
@media(prefers-reduced-motion:no-preference){.home-hero .hero-check-cta::after{animation:hero-check-border 3s linear 1.2s 1 both}}
@media(max-width:700px){.home-hero .hero-actions{align-items:center;gap:14px}.home-hero .hero-check-cta{flex:none;width:auto;max-width:100%;min-height:48px;padding:13px 18px;font-size:14px;line-height:1.35;letter-spacing:0;white-space:normal;text-align:center;border-radius:999px}.home-hero .hero-check-cta span:first-child{min-width:0}.home-hero .hero-check-cta span:last-child{flex-shrink:0}}

@keyframes hero-check-label{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}60%{transform:translateX(2px)}85%{transform:translateX(-1px)}}
@media(prefers-reduced-motion:no-preference){.home-hero .hero-check-cta span:first-child{display:inline-block;animation:hero-check-label .65s ease-in-out 2s 1 both}}
