/* Homepage art direction. Scoped so service pages retain their existing design. */
/* A single homepage entrance system replaces the older overlapping reveals.
   No hidden resting state: content remains visible without JavaScript. */
.home-refresh main .reveal,.home-refresh main .prv{opacity:1;transform:none;transition:none}
.home-refresh{--home-red:var(--red);--home-ink:#241e22;--home-paper:#faf7f3;--home-line:#ded5cf}
.home-refresh .scroll-progress{background:var(--home-red)}
.home-refresh .bw-section{padding:clamp(64px,7.6vw,108px) 0}
.home-refresh .bw-section h2,.home-refresh .ip-head h2,.home-refresh .trust .rec-head h2{font-size:clamp(32px,3.75vw,50px);line-height:1.08;letter-spacing:-.045em}
.home-refresh .bw-heading{max-width:780px;margin-bottom:34px}
.home-refresh .bw-heading p{max-width:660px;font-size:18px;line-height:1.65;margin-bottom:0}
.home-refresh .bw-home-hero::after{background:linear-gradient(100deg,rgba(20,20,26,.72),rgba(20,20,26,.32) 76%,rgba(20,20,26,.16))}
.home-refresh .bw-home-hero .hero-inner{max-width:930px;padding-top:clamp(86px,10vw,140px);padding-bottom:clamp(62px,7vw,100px)}
.home-refresh .bw-home-hero h1{font-size:clamp(38px,4.8vw,68px);letter-spacing:-.045em;line-height:1.07;max-width:930px;text-shadow:0 2px 22px #16161a45}
.home-refresh .bw-home-hero h1 em{background:none}
.home-refresh .bw-home-hero .bw-hero-intro{font-size:clamp(17px,1.6vw,21px)}
.home-refresh .hero .wrap>.sme-panel{background:var(--home-red);border:1px solid #ffffff38;border-radius:16px;box-shadow:none;backdrop-filter:none;margin-bottom:48px}
.home-refresh .sme-panel::after{display:none}
.home-refresh .sme-panel p{color:#fff}
.home-refresh .hero .sme-panel h2{font-size:clamp(23px,2.4vw,31px)}
.home-refresh .sme-panel .eyebrow{font-size:11px;letter-spacing:.13em;margin-bottom:4px}
.home-refresh .sme-panel .eyebrow::before{background:#fff}
.home-refresh .sme-panel .fakebtn{background:#fff7f1;color:var(--home-red);border-radius:100px}
/* A red, numbered sequence gives the combined process its own visual identity. */
.home-refresh .bw-process{background:var(--home-red);color:#fff6f2;position:relative;overflow:hidden}
.home-refresh .bw-process::after{content:"";position:absolute;right:-180px;top:-220px;width:560px;height:560px;border:1px solid #ffffff14;border-radius:50%;pointer-events:none}
.home-refresh .bw-process .wrap{position:relative;z-index:1}
.home-refresh .bw-process .bw-heading{max-width:890px;margin-bottom:54px}
.home-refresh .bw-process h2,.home-refresh .bw-process h3{color:#fffaf6}
.home-refresh .bw-steps{gap:30px}
.home-refresh .bw-steps li{border-top:1px solid #ffffff50;padding-top:24px}
.home-refresh .bw-step-num{font-size:clamp(48px,5vw,68px);line-height:1;font-weight:400;letter-spacing:-.065em;color:#f7cbc8;margin-bottom:30px}
.home-refresh .bw-steps h3{font-size:22px;line-height:1.2;letter-spacing:-.025em}
.home-refresh .bw-steps p{color:#fff5f0;line-height:1.65;font-size:15.5px}
/* Native horizontal rails: visible overflow hints and controls, with no autoplay. */
.home-refresh .bw-creative{background:var(--home-paper);border:0;padding-bottom:45px}
.home-refresh .home-rail-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:0 2px 22px}
.home-refresh .home-rail-controls[hidden]{display:none}
.home-refresh .home-rail-controls button{width:48px;height:48px;flex:0 0 48px;border-radius:50%;border:1px solid #bcaeb0;background:transparent;color:var(--home-ink);display:grid;place-items:center;cursor:pointer;transition:background .18s,color .18s,border-color .18s;padding:0}
.home-refresh .home-rail-controls button:hover{background:var(--home-red);border-color:var(--home-red);color:#fff}
.home-refresh .home-rail-controls button[aria-disabled=true]{opacity:.35;cursor:default;background:transparent;color:inherit;border-color:currentColor}
.home-refresh .home-rail-prev svg{transform:rotate(180deg)}
.home-refresh .home-rail-progress{width:80px;height:2px;background:#bba9af55;overflow:hidden}
.home-refresh .home-rail-progress>span{display:block;height:100%;width:0;background:var(--home-red);transition:width .18s}
.home-refresh .home-rail{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 44px)/2.65);gap:22px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:3px;scrollbar-width:thin;scrollbar-color:#a39296 #a3929622;padding:6px 3px 24px;margin:0 -3px;position:relative}
.home-refresh .home-rail>*{scroll-snap-align:start;min-width:0;transform:none;opacity:1}
.home-refresh .home-rail:focus-visible{outline:2px solid var(--home-red);outline-offset:6px;border-radius:4px}
.home-refresh .home-rail a:focus-visible,.home-refresh .home-rail-controls button:focus-visible{outline:3px solid var(--home-red);outline-offset:3px}
.home-refresh .home-rail .prv,.home-refresh .home-rail .reveal{opacity:1;transform:none;animation:none}
.home-refresh .bw-card{border:1px solid var(--home-line);border-radius:14px;background:#fffdfa;box-shadow:none;padding:0 28px 27px;overflow:hidden;min-height:470px}
.home-refresh .bw-card:hover{border-color:var(--home-red);box-shadow:0 10px 26px -22px #32152080}
.home-refresh .home-card-art{margin:0 -28px 28px;width:calc(100% + 56px);aspect-ratio:12/7;overflow:hidden;border-bottom:1px solid var(--home-line)}
.home-refresh .home-card-art img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.home-refresh .bw-card:hover .home-card-art img{transform:scale(1.035)}
.home-refresh .bw-card h3{font-size:clamp(23px,2vw,28px);line-height:1.15;letter-spacing:-.035em;margin-bottom:16px}
.home-refresh .bw-card p{font-size:16px;line-height:1.65;color:#5e5155;margin-bottom:24px}
.home-refresh .bw-card>span{border-top:1px solid var(--home-line);width:100%;padding-top:18px;display:flex;justify-content:space-between;gap:12px;color:var(--home-red)}
.home-refresh .bw-card>span>span{font-size:22px;line-height:1}
/* A single, bold panel brings the complete offer into focus. */
.home-refresh .bw-offer{background:var(--home-paper);padding-top:40px}
.home-refresh .bw-offer-panel{position:relative;overflow:hidden;background:var(--home-red);border:0;border-radius:20px;color:#fff7f3;padding:clamp(28px,4.7vw,64px);box-shadow:none;gap:clamp(34px,5vw,72px)}
.home-refresh .bw-offer-panel::after{content:"";position:absolute;width:360px;height:360px;bottom:-240px;left:24%;border:1px solid #ffffff26;border-radius:50%;pointer-events:none}
.home-refresh .bw-offer-panel h2{color:#fffaf6;font-size:clamp(38px,4.3vw,60px);max-width:460px;letter-spacing:-.05em;margin-bottom:24px}
.home-refresh .bw-offer-panel .bw-lead{font-size:19px;line-height:1.6;margin-bottom:28px}
.home-refresh .bw-offer-panel .bw-price{font-size:clamp(30px,3.3vw,44px);letter-spacing:-.04em;color:#fff9f4}
.home-refresh .bw-offer-panel .bw-fine{color:#fff;font-size:14px;margin-top:12px;max-width:360px}
.home-refresh .bw-offer .cta-row{align-items:flex-start;flex-direction:column;gap:16px;margin-top:28px}
.home-refresh .bw-offer .btn-primary{background:#fff8f1;color:var(--home-red);box-shadow:none;border-color:#fff8f1}
.home-refresh .bw-offer .btn-primary:hover{background:#241e22;color:#fff;border-color:#241e22}
.home-refresh .bw-offer .btn-outline{border:0;border-bottom:1px solid #ffffff70;border-radius:0;padding:0 0 5px;color:#fff8f1}
.home-refresh .bw-offer .btn-outline:hover{background:transparent;border-color:#fff;color:#fff}
.home-refresh .bw-deliverables{border-left:1px solid #ffffff35;padding-left:clamp(26px,3.5vw,48px)}
.home-refresh .bw-deliverables ul{padding:0;margin:0 0 26px;list-style:none}
.home-refresh .bw-deliverables li{position:relative;padding:17px 0 17px 30px;border-bottom:1px solid #ffffff35;margin:0;font-size:17px;line-height:1.45}
.home-refresh .bw-deliverables li:first-child{padding-top:0}
.home-refresh .bw-deliverables li::before{content:"";position:absolute;left:1px;top:22px;width:11px;height:6px;border-left:1.6px solid #fff9f4;border-bottom:1.6px solid #fff9f4;transform:rotate(-45deg)}
.home-refresh .bw-deliverables li:first-child::before{top:5px}
.home-refresh .bw-deliverables p{font-size:14px;line-height:1.7;color:#fff}
/* DO's red wireframe objects on a quiet black gallery. */
.home-refresh .ip-services{background:#08090b;border:0;padding:clamp(66px,7.6vw,108px) 0;color:#ddd9da}
.home-refresh .ip-head{max-width:770px;margin-bottom:32px}
.home-refresh .ip-head h2{color:#fffaf6;max-width:680px}
.home-refresh .ip-head p{font-size:18px;color:#bdb9bc;line-height:1.65;max-width:730px}
.home-refresh .ip-services .home-rail-controls{color:#fff6f2}
.home-refresh .ip-services .home-rail-controls button{color:#fff6f2;border-color:#555157}
.home-refresh .ip-services .home-rail-progress>span{background:var(--home-red)}
.home-refresh .ip-services .home-rail{grid-auto-columns:calc((100% - 44px)/3.1);scrollbar-color:var(--home-red) #ffffff12}
.home-refresh .ip-card{--do-card-bg:#111215;padding:30px;border:1px solid #353238;background:var(--do-card-bg);border-radius:12px;box-shadow:none;color:#fff5ee;display:flex;flex-direction:column;align-items:stretch;min-height:390px;transition:background .2s,border-color .2s}
.home-refresh .ip-card:first-child{border-top-color:var(--home-red)}
.home-refresh .ip-card:hover,.home-refresh .ip-card:focus-visible{--do-card-bg:#181316;transform:none;border-color:var(--home-red);box-shadow:none}
.home-refresh .home-ip-symbol{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;color:var(--home-red);margin:0 0 28px;min-height:112px}
.home-refresh .home-ip-symbol svg{width:140px;height:112px;flex:0 0 140px;overflow:visible;transition:transform .35s ease,filter .35s ease}
.home-refresh .do-icon-depth{opacity:.35;stroke-width:1.3}
.home-refresh .do-icon-edges{opacity:.55;stroke-width:1.2}
.home-refresh .do-icon-guide{opacity:.45}
.home-refresh .do-icon-cutout{fill:var(--do-card-bg)}
.home-refresh .ip-card:hover .do-ip-icon,.home-refresh .ip-card:focus-visible .do-ip-icon{transform:translateY(-3px);filter:drop-shadow(0 0 9px rgba(224,22,43,.17))}
.home-refresh .home-ip-symbol>span{font-size:11px;color:#aba3a7;letter-spacing:.13em;margin-top:4px;font-variant-numeric:tabular-nums}
.home-refresh .ip-card h3{font-size:23px;line-height:1.18;letter-spacing:-.025em;color:#fff8f4;margin-bottom:15px}
.home-refresh .home-rail h3,.home-refresh .home-rail p{overflow-wrap:anywhere}
html[lang=de] .home-refresh .home-rail h3,html[lang=de] .home-refresh .home-rail p{hyphens:auto}
.home-refresh .ip-card p{font-size:15px;line-height:1.65;color:#c9c4c7;flex:1;margin-bottom:30px}
.home-refresh .ip-card .ip-arrow{font-size:14px;color:#fff5ee;border-top:1px solid #ffffff33;padding-top:16px;margin-top:auto}
.home-refresh .ip-more{margin-top:28px}
.home-refresh .ip-more .btn-outline{color:#fff8f2;border-color:#97848c;font-size:15px;padding:11px 24px}
.home-refresh .ip-more .btn-outline:hover{background:#fff8f2;color:var(--home-ink);border-color:#fff8f2}
.home-refresh .ip-services .home-rail:focus-visible,.home-refresh .ip-services .home-rail a:focus-visible,.home-refresh .ip-services .home-rail-controls button:focus-visible{outline-color:#ffbec7}
/* Quieter supporting content after the service galleries. */
.home-refresh .ipckp-section{background:var(--home-paper);padding:64px 0 28px}
.home-refresh .ipckp{background:#efe6df;border:0;border-radius:16px;box-shadow:none;padding:36px 40px}
.home-refresh .ipckp:hover{box-shadow:none;transform:translateY(-2px)}
.home-refresh .ipckp-icon{background:#fff8f2;box-shadow:none}
.home-refresh .ipckp-badge{background:var(--home-red);box-shadow:none}
.home-refresh .trust{background:var(--home-paper);border:0;padding:72px 0 94px}
.home-refresh .trust .rec-head{max-width:850px;margin-bottom:42px}
.home-refresh .testi-grid{gap:20px}
.home-refresh .testi-card{position:relative;margin:0;background:#fffdfb;border:1px solid var(--home-line);border-top:3px solid var(--home-red);padding:28px;border-radius:4px 4px 14px 14px;box-shadow:none}
.home-refresh .testi-stars{color:var(--home-red);font-size:15px;letter-spacing:3px;margin-bottom:22px}
.home-refresh .testi-quote{font-size:17px;line-height:1.65;color:#4e4147;letter-spacing:-.01em}
.home-refresh .cred-chip{background:transparent;border-color:#d3c4c7;box-shadow:none;font-size:13px}
.home-refresh .pricing-teaser{background:var(--home-red)}
.home-refresh .pricing-teaser::after{background:none;width:340px;height:340px;border:1px solid #ffffff26;border-radius:50%;top:-170px;right:5%}
.home-refresh .pricing-teaser h2{font-size:clamp(32px,3.5vw,48px);letter-spacing:-.04em;line-height:1.12;margin-bottom:12px}
.home-refresh .pricing-teaser p{max-width:660px;color:#fff0ed}
.home-refresh .pricing-teaser .btn-primary{background:#fff8f1;color:var(--home-red);box-shadow:none}
.home-refresh .pricing-teaser .btn-primary:hover{background:#241e22;color:#fff}
.home-refresh .contact-block h2{font-size:clamp(36px,4vw,54px);letter-spacing:-.045em}
.home-refresh .pl2027-section{background:var(--home-paper)}
.home-refresh .pl2027{box-shadow:none;border-color:var(--home-line);border-left-color:var(--home-red)}
.home-refresh .recognitions{background:#fffdfb}
@media(min-width:901px){
 .home-refresh .bw-creative .wrap,.home-refresh .ip-services .wrap{display:flow-root}
 .home-refresh .bw-creative .bw-heading,.home-refresh .ip-head{float:left;width:calc(100% - 235px)}
 .home-refresh .home-rail-controls{float:right;margin-top:8px}
 .home-refresh .home-rail{clear:both}
 .home-refresh .bw-steps h3{min-height:53px}
}
@media(max-width:1000px){
 .home-refresh .ip-services .home-rail{grid-auto-columns:calc((100% - 36px)/2.25)}
 .home-refresh .home-rail{grid-auto-columns:calc((100% - 22px)/2.15)}
}
@media(max-width:900px){
 .home-refresh .bw-deliverables{border-left:0;border-top:1px solid #ffffff35;padding:28px 0 0}
 .home-refresh .bw-offer-panel{grid-template-columns:1fr 1fr;gap:32px}
 .home-refresh .bw-deliverables{border-top:0;padding:0;align-self:start}
 .home-refresh .bw-step-num{margin-bottom:22px}
 .home-refresh .bw-steps{gap:34px}
 .home-refresh .home-rail-controls{justify-content:flex-start;margin-bottom:22px}
}
@media(max-width:680px){
 .home-refresh .bw-section{padding:58px 0}
 .home-refresh .bw-home-hero .hero-inner{padding-top:68px;padding-bottom:52px}
 .home-refresh .bw-home-hero h1{font-size:clamp(36px,7.4vw,48px);line-height:1.09}
 .home-refresh .hero .wrap>.sme-panel{margin-bottom:30px}
 .home-refresh .hero .sme-panel{padding:25px}
 .home-refresh .sme-panel-in{gap:20px}
 .home-refresh .sme-panel .fakebtn{white-space:normal;text-align:center}
 .home-refresh .bw-process .bw-heading{margin-bottom:35px}
 .home-refresh .bw-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}
 .home-refresh .bw-step-num{font-size:48px}
 .home-refresh .bw-steps h3{font-size:19px;line-height:1.22}
 .home-refresh .bw-steps p{font-size:14px;line-height:1.6}
 .home-refresh .bw-heading p,.home-refresh .ip-head p{font-size:16px}
 .home-refresh .home-rail,.home-refresh .ip-services .home-rail{grid-auto-columns:86%;gap:16px}
 .home-refresh .home-rail-controls{gap:12px;margin-bottom:18px}
 .home-refresh .home-rail-controls button{width:44px;height:44px;flex-basis:44px}
 .home-refresh .bw-card{padding:0 23px 24px;min-height:440px}
 .home-refresh .home-card-art{margin:0 -23px 24px;width:calc(100% + 46px)}
 .home-refresh .bw-card p{font-size:15px}
 .home-refresh .bw-card>span{font-size:14px}
 .home-refresh .bw-creative{padding-bottom:24px}
 .home-refresh .bw-offer{padding-top:28px}
 .home-refresh .bw-offer-panel{grid-template-columns:1fr;gap:35px;border-radius:16px;padding:30px 26px}
 .home-refresh .bw-offer-panel h2{font-size:40px}
 .home-refresh .bw-offer-panel .bw-lead{font-size:17px}
 .home-refresh .bw-offer .btn-outline{align-self:center}
 .home-refresh .bw-deliverables{border-top:1px solid #ffffff35;padding-top:28px}
 .home-refresh .bw-deliverables li{font-size:16px}
 .home-refresh .ip-services{padding:62px 0}
 .home-refresh .ip-card{min-height:340px;padding:27px}
 .home-refresh .ipckp-section{padding:46px 0 15px}
 .home-refresh .ipckp{padding:30px 25px}
 .home-refresh .trust{padding:48px 0 58px}
 .home-refresh .testi-grid{grid-template-columns:1fr;gap:16px}
 .home-refresh .testi-card{padding:25px}
 .home-refresh .testi-quote{font-size:16px}
}
@media(max-width:370px){
 .home-refresh .bw-steps{grid-template-columns:1fr}
 .home-refresh .bw-steps li{display:grid;grid-template-columns:55px 1fr;column-gap:14px}
 .home-refresh .bw-step-num{grid-row:1/3;font-size:39px}
 .home-refresh .bw-steps h3{margin-top:0}
 .home-refresh .bw-steps p{grid-column:2}
 .home-refresh .bw-offer-panel h2{font-size:35px}
}
@media(prefers-reduced-motion:reduce){
 .home-refresh .home-rail{scroll-behavior:auto}
 .home-refresh .home-card-art img,.home-refresh .home-rail-controls button,.home-refresh .home-rail-progress>span,.home-refresh .ip-card,.home-refresh .home-ip-symbol svg{transition:none}
 .home-refresh .ip-card:hover .do-ip-icon,.home-refresh .ip-card:focus-visible .do-ip-icon{transform:none}
}
@media print{
 .home-refresh .home-rail{overflow:visible;display:grid;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-columns:auto}
 .home-refresh .home-rail-controls{display:none}
 .home-refresh .home-rail>*{break-inside:avoid}
}
