
*{box-sizing:border-box;}

body.menu-open{overflow:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;}
button{color:inherit;}
::selection{background:var(--red);color:#fff;}

.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.skip-link{position:fixed;left:18px;top:-60px;z-index:5000;background:#fff;color:var(--ink);padding:10px 14px;border:2px solid var(--red);font-weight:700;transition:top .2s;}
.skip-link:focus{top:18px;}
.scroll-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:4000;pointer-events:none;background:transparent;}
.scroll-progress span{display:block;height:100%;width:0;background:var(--red);transform-origin:left center;}
.back-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border:1px solid rgba(255,255,255,.26);background:rgba(21,24,27,.9);color:#fff;display:grid;place-items:center;z-index:800;opacity:0;visibility:hidden;transform:translateY(12px);transition:.28s var(--ease);backdrop-filter:blur(10px);}
.back-top.visible{opacity:1;visibility:visible;transform:none;}
.back-top:hover{background:var(--red);border-color:var(--red);}

.white{background:#fff;}
.soft{background:var(--soft);}
.dark{background:var(--ink);color:#fff;}

.section-label:before,.hero-kicker:before{content:"";display:inline-block;width:24px;height:2px;background:currentColor;vertical-align:middle;margin-right:10px;transform:translateY(-1px);}
.section-label.light{color:#fff;}

.dark .section-heading h2,.dark .process-intro h2{color:#fff;}

.dark .section-heading p{color:#b7bdc2;}

.eyebrow-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.eyebrow-tag{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);padding:7px 10px;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--steel);background:#fff;}

.btn span,.btn .icon{position:relative;z-index:2;color:inherit;}
.btn .icon{width:17px;transition:transform .34s var(--ease-spring);}

.btn:after{content:"";position:absolute;inset:0;border:1px solid transparent;z-index:3;pointer-events:none;transition:border-color .28s;}

.btn:hover:before{transform:scaleX(1);transform-origin:left center;}

.btn:focus-visible{outline:3px solid rgba(207,17,27,.22);outline-offset:4px;}
.btn.btn-primary{--btn-bg:var(--red);--btn-fg:#fff;--btn-hover-bg:var(--ink);--btn-hover-fg:#fff;--btn-hover-border:var(--ink);background:var(--btn-bg);color:var(--btn-fg);border-color:var(--red);}

.btn.btn-outline{--btn-bg:#fff;--btn-fg:var(--ink);--btn-hover-bg:var(--ink);--btn-hover-fg:#fff;--btn-hover-border:var(--ink);background:var(--btn-bg);color:var(--btn-fg);border-color:#9ba2a7;}
.btn.btn-white{--btn-bg:#fff;--btn-fg:var(--ink);--btn-hover-bg:var(--red);--btn-hover-fg:#fff;--btn-hover-border:var(--red);background:var(--btn-bg);color:var(--btn-fg);border-color:#fff;}
.btn.btn-outline-light{--btn-bg:transparent;--btn-fg:#fff;--btn-hover-bg:#fff;--btn-hover-fg:var(--ink);--btn-hover-border:#fff;background:var(--btn-bg);color:var(--btn-fg);border-color:rgba(255,255,255,.58);}
.link-arrow{display:inline-flex;align-items:center;gap:10px;color:var(--red);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;position:relative;}
.link-arrow:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .32s var(--ease);}
.link-arrow .icon{width:16px;transition:.32s var(--ease);}
.link-arrow:hover:after{transform:scaleX(1);transform-origin:left;}
.link-arrow:hover .icon{transform:translateX(4px);}

.topline{height:32px;background:#171a1d;color:#c9cdd0;font-size:.69rem;transition:height .28s var(--ease),opacity .28s;}
.topline-inner{height:100%;display:flex;justify-content:space-between;align-items:center;}
.topline-inner>div{display:flex;gap:26px;}
.topline a{transition:color .2s;}
.topline a:hover{color:#fff;}

.desktop-nav>a:hover:after,.nav-item>button:hover:after,.desktop-nav .active:after{transform:scaleX(1);}
.desktop-nav>a:hover,.nav-item>button:hover{color:var(--red);}

.nav-item>button span{font-size:.82rem;margin-left:7px;}
.mega,.dropdown{position:absolute;top:calc(100% - 1px);left:50%;transform:translate(-50%,14px);background:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:.28s var(--ease);box-shadow:var(--shadow-lg);border-top:3px solid var(--red);}
.nav-item:hover .mega,.nav-item:hover .dropdown,.nav-item:focus-within .mega,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);}

.mega-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:24px;}
.mega-grid a{padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .22s,color .22s,transform .22s;}
.mega-grid a:nth-child(3n){border-right:0;}
.mega-grid a:nth-last-child(-n/**/+3){border-bottom:0;}
.mega-grid strong{display:block;font-size:1.02rem;font-weight:750;margin-bottom:5px;color:var(--ink);}
.mega-grid small{display:block;color:var(--muted);font-size:.7rem;line-height:1.48;}
.mega-grid a:hover{background:var(--soft);color:var(--red);transform:translateY(-2px);}
.mega-footer{background:#f2f4f5;padding:13px 38px;display:flex;justify-content:space-between;align-items:center;}
.mega-footer a{display:flex;align-items:center;gap:10px;color:var(--red);font-size:.71rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;}
.dropdown{min-width:250px;padding:12px;}
.dropdown a{display:block;padding:11px 14px;font-size:.79rem;transition:.2s;}
.dropdown a:hover{background:var(--soft);color:var(--red);padding-left:18px;}

.call{display:flex;align-items:center;gap:10px;color:var(--red);}
.call .icon{width:21px;}
.call span{display:flex;flex-direction:column;}

.header-cta:before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateX(-102%);transition:transform .38s var(--ease);}
.header-cta span,.header-cta .icon{position:relative;z-index:2;}
.header-cta:hover{color:#fff;background:var(--red);transform:translateY(-2px);box-shadow:0 12px 28px rgba(21,24,27,.18);}
.header-cta:hover:before{transform:translateX(0);}
.header-cta .icon{width:16px;transition:transform .28s;}
.header-cta:hover .icon{transform:translateX(4px);}
.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;position:relative;cursor:pointer;}
.menu-toggle span{position:absolute;left:9px;width:26px;height:2px;background:var(--ink);transition:.25s;}
.menu-toggle span:first-child{top:17px;}.menu-toggle span:last-child{top:25px;}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg);}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg);}

.mobile-menu-inner{padding:28px var(--pad) 70px;}
.mobile-menu a,.mobile-menu summary{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-size:1.15rem;font-weight:700;cursor:pointer;}
.mobile-menu details a{font-size:.91rem;padding-left:18px;color:var(--muted);}
.mobile-menu .mobile-highlight{margin-top:20px;background:var(--red);color:#fff;padding:16px 18px;border:0;}

@keyframes heroDrift{from{transform:scale(1.045)}to{transform:scale(1.015)}}

.home-hero:after{content:"";position:absolute;inset:auto 0 0;height:170px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.12));pointer-events:none;}

.home-hero-copy h1 em{font-style:normal;color:var(--red);}

.hero-actions{display:flex;gap:13px;flex-wrap:wrap;}

.hero-proof span{display:flex;align-items:center;gap:7px;}

.fact-strip div:before{content:"";position:absolute;left:0;top:0;width:3px;height:0;background:var(--red);transition:height .35s var(--ease);}
.fact-strip div:hover:before{height:100%;}
.fact-strip div:last-child{border:0;}

.service-card{background:#fff;border:1px solid var(--line);transition:transform .38s var(--ease-spring),box-shadow .38s,border-color .28s;min-width:0;position:relative;overflow:hidden;}
.service-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .36s var(--ease);}

.service-card:hover:after{transform:scaleX(1);transform-origin:left;}

.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .72s var(--ease),filter .42s;}
.service-card:hover img{transform:scale(1.065);filter:saturate(1.08) contrast(1.03);}

.service-content .link-arrow{font-size:.61rem;}
.section-link{display:flex;justify-content:flex-end;margin-top:34px;}
.section-link a{display:flex;align-items:center;gap:10px;color:var(--red);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.075em;}
.section-link.light a{color:#fff;}

.navigator-section{background:#fff;border-block:1px solid var(--line);overflow:hidden;}

.navigator-copy:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.1);right:-80px;bottom:-90px;transform:rotate(18deg);}
.navigator-copy h2{color:#fff;max-width:500px;margin-bottom:22px;}
.navigator-copy p{color:#bfc4c8;max-width:520px;}
.navigator-copy .navigator-index{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:38px;}
.navigator-index div{padding-top:14px;border-top:1px solid #3a4045;}
.navigator-index strong{display:block;color:#fff;font-size:.9rem;}
.navigator-index span{font-size:.63rem;color:#9fa6ab;}

.navigator-step{margin-bottom:28px;}
.navigator-step>span{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--red);margin-bottom:10px;}
.choice-row{display:flex;flex-wrap:wrap;gap:9px;}
.choice-row button{border:1px solid #c9ced2;background:#fff;color:var(--steel);padding:11px 14px;font-size:.74rem;font-weight:700;cursor:pointer;transition:.24s;}
.choice-row button:hover,.choice-row button.active{border-color:var(--red);background:var(--red-soft);color:var(--red);}
.navigator-result{margin-top:8px;background:var(--soft);border-left:4px solid var(--red);padding:22px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;}
.navigator-result h3{margin:0 0 6px;color:var(--ink);font-size:1.22rem;}
.navigator-result p{margin:0;color:var(--muted);font-size:.83rem;}
.navigator-result a{white-space:nowrap;}

.split-visual{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(46px,7vw,90px);align-items:center;}

.image-panel:after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid rgba(207,17,27,.32);z-index:-1;}
.image-panel img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.image-panel:hover img{transform:scale(1.035);}
.copy-panel h2{margin-bottom:24px;}
.copy-panel p{color:var(--muted);}
.check-list{list-style:none;padding:0;margin:27px 0;}

.check-list .icon{color:var(--red);width:18px;margin-top:3px;}

.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease),filter .35s;}
.project-card:hover .project-image img{transform:scale(1.055);filter:saturate(1.07);}
.project-image>span{position:absolute;left:18px;top:18px;background:rgba(21,24,27,.9);color:#fff;padding:7px 10px;font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;backdrop-filter:blur(8px);}

.project-copy small{display:block;color:var(--red);font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin-bottom:8px;}

.process-intro p{color:#aeb5ba;max-width:460px;}
.process-list{border-top:1px solid var(--line-dark);}

.process-step>span{font-size:.67rem;letter-spacing:.12em;color:var(--red);font-weight:800;padding-top:5px;}

.process-step .icon{color:#70777c;margin-top:4px;}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#343a3f;}

.audience-grid>a:before{content:"";position:absolute;inset:auto 0 0;height:4px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:.34s;}
.audience-grid>a:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.audience-grid>a:hover:before{transform:scaleX(1);transform-origin:left;}

.audience-grid p{color:var(--muted);font-size:.83rem;margin:0;}

.pool-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,rgba(21,24,27,.18));}
.pool-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);}
.pool-feature:hover .pool-media img{transform:scale(1.025);}

.pool-copy:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:var(--red);}

.pool-copy p{color:#c1c6ca;}
.pool-points{display:grid;grid-template-columns:1fr 1fr;margin:24px 0 30px;border-top:1px solid #343a3f;border-left:1px solid #343a3f;}
.pool-points>div{padding:16px;border-right:1px solid #343a3f;border-bottom:1px solid #343a3f;}
.pool-points strong{display:block;color:var(--red);font-size:.67rem;letter-spacing:.1em;margin-bottom:4px;}
.pool-points span{font-size:.76rem;color:#d8dcdf;}

.article-card:after{content:"";position:absolute;width:110px;height:110px;border:1px solid var(--line);right:-55px;top:-55px;transform:rotate(20deg);transition:.35s;}
.article-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:#c8cdd0;}
.article-card:hover:after{border-color:rgba(207,17,27,.35);transform:rotate(30deg) scale(1.1);}
.article-card>span{color:var(--red);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;}

.article-card p{color:var(--muted);font-size:.83rem;margin:0;}
.article-card b{margin-top:auto;padding-top:24px;color:var(--red);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:9px;}
.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(46px,8vw,110px);align-items:start;}
.faq-list{border-top:1px solid var(--line);}
.faq-list details{border-bottom:1px solid var(--line);}
.faq-list summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-weight:720;color:var(--ink);}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary span{color:var(--red);font-size:1.2rem;transition:transform .26s;}
.faq-list details[open] summary span{transform:rotate(45deg);}
.faq-list p{margin:0;padding:0 50px 22px 0;color:var(--muted);font-size:.9rem;}

.cta-section:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(0,0,0,.08),transparent 50%);}
.cta-section:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.18);right:-100px;top:-170px;transform:rotate(18deg);}
.cta-inner{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:center;position:relative;z-index:2;}
.cta-section h2{color:#fff;margin-bottom:14px;}
.cta-section p{color:rgba(255,255,255,.84);max-width:680px;margin:0;}
.cta-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;}

.page-hero:not(.with-image) .page-hero-overlay{background:linear-gradient(90deg,var(--soft),rgba(244,246,247,.86),rgba(244,246,247,.4));}

.with-image .breadcrumbs{color:#d7dbde;}
.breadcrumbs a:hover{color:var(--red);}
.breadcrumbs span{opacity:.55;}

.page-hero.with-image h1{color:#fff;text-shadow:0 8px 28px rgba(0,0,0,.2);}

.page-hero.with-image p{color:#d2d7da;}
.page-hero .hero-meta{display:flex;gap:26px;flex-wrap:wrap;margin-top:24px;font-size:.72rem;color:var(--muted);}
.with-image .hero-meta{color:#d5d9dc;}

.split-text{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(48px,7vw,90px);align-items:start;}
.split-text>div:first-child{position:sticky;top:125px;}
.split-text p{color:var(--muted);}

.request-card p{color:#b9c0c4;font-size:.87rem;margin-bottom:24px;}

.four-grid>div p{margin:0;color:var(--ink);font-weight:700;font-size:.9rem;line-height:1.45;}
.interface-list{border-top:1px solid var(--line);}

.interface-list .icon{color:var(--red);width:17px;margin-top:4px;}

.detail-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:0;background:var(--red);transition:height .34s;}
.detail-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.detail-card:hover:before{height:100%;}

.timeline{border-left:1px solid var(--line);margin-left:11px;}
.timeline>div{position:relative;padding:0 0 28px 30px;}
.timeline>div:before{content:"";position:absolute;left:-6px;top:5px;width:11px;height:11px;background:#fff;border:3px solid var(--red);border-radius:50%;}
.timeline span{display:block;color:var(--red);font-size:.65rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px;}
.timeline h3{margin:0 0 8px;font-size:1.18rem;color:var(--ink);}
.timeline p{margin:0;color:var(--muted);font-size:.86rem;}

.quality-boxes h3{font-size:1.18rem;margin:0 0 8px;color:var(--ink);}
.quality-boxes p{color:var(--muted);font-size:.82rem;margin:0;}

.scope-list>div{background:#fff;padding:20px;display:flex;gap:13px;}
.scope-list .icon{color:var(--red);width:17px;margin-top:3px;}

.service-list{border-top:1px solid var(--line);}
.service-list>a{display:grid;grid-template-columns:70px 1fr auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);transition:padding .26s,background .26s;}
.service-list>a:hover{padding-left:13px;background:linear-gradient(90deg,var(--red-soft),transparent);}
.service-list>a>span{color:var(--red);font-size:.66rem;font-weight:800;letter-spacing:.1em;}

.service-list p{margin:0;color:var(--muted);font-size:.82rem;}
.example-list>div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:19px 0;border-bottom:1px solid var(--line);}
.example-list strong{font-size:.82rem;color:var(--ink);}
.example-list span{color:var(--muted);font-size:.84rem;}
.project-facts{background:var(--ink);color:#fff;}
.project-facts .container{display:grid;grid-template-columns:repeat(4,1fr);}
.project-facts .container>div{padding:24px;border-right:1px solid #353b40;}
.project-facts strong{display:block;font-size:1.16rem;margin-bottom:4px;}
.project-facts span{font-size:.66rem;color:#adb4b8;}
.case-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:start;}
.case-block{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--line);}

.case-block p{color:var(--muted);font-size:.98rem;}
.case-side{background:var(--soft);padding:32px;height:max-content;position:sticky;top:120px;border-top:4px solid var(--red);}
.case-side h3{font-size:1.55rem;margin-top:0;color:var(--ink);}
.case-side ul{list-style:none;padding:0;margin:23px 0;}
.case-side li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.84rem;}
.case-side .icon{color:var(--red);}
.filterbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:38px;}
.filterbar button{background:#fff;border:1px solid #bcc2c6;padding:10px 16px;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.075em;cursor:pointer;transition:.25s;}
.filterbar button:hover,.filterbar button.active{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-2px);}
.empty-state{grid-column:1/-1;background:var(--soft);padding:50px;}
.company-facts{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);}

.company-facts>div:nth-child(2n){border-right:0;}.company-facts>div:nth-last-child(-n/**/+2){border-bottom:0;}
.company-facts strong{display:block;font-size:1.45rem;color:var(--red);}
.company-facts span{font-size:.71rem;color:var(--muted);}

.values-grid>div:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);}
.values-grid h3{font-size:1.35rem;margin:0 0 10px;color:var(--ink);}
.values-grid p{color:var(--muted);font-size:.82rem;}
.job-card{background:var(--soft);border-left:4px solid var(--red);padding:34px;}
.job-card h3{font-size:1.6rem;margin-top:0;color:var(--ink);}
.article-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;}
.article-layout article{max-width:800px;}
.article-lead{font-size:1.14rem;color:#3b4146;}
.article-layout article section{padding:28px 0;border-bottom:1px solid var(--line);}
.article-layout article h2{font-size:1.62rem;margin:0 0 10px;color:var(--ink);}
.article-layout article p{color:var(--muted);}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;}
.form-grid label{display:flex;flex-direction:column;gap:8px;}
.form-grid label>span{font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.075em;}
.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #c5cbd0;padding:14px 15px;background:#fff;min-height:51px;transition:border-color .2s,box-shadow .2s;}
.form-grid textarea{min-height:155px;resize:vertical;}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 4px rgba(207,17,27,.1);}
.form-grid .full{grid-column:1/-1;}
.consent{flex-direction:row;align-items:flex-start;}
.consent input{min-height:auto;margin-top:4px;}
.consent span{text-transform:none;font-weight:400;letter-spacing:0;}
.consent a{color:var(--red);text-decoration:underline;}
.hidden{display:none;}

.contact-side h2{font-size:1.8rem;color:var(--ink);}
.contact-side>a{display:block;margin:8px 0;}
.contact-phone{font-size:1.4rem;font-weight:760;color:var(--red);}
.contact-note{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);}
.contact-note h3{font-size:1.18rem;color:var(--ink);}
.contact-note li{color:var(--muted);padding:4px 0;}
.legal{max-width:920px;}
.legal h2{font-size:1.55rem;margin:38px 0 10px;color:var(--ink);}
.legal p{color:var(--muted);}
.center-copy{max-width:760px;text-align:center;}

.project-wizard{display:grid;grid-template-columns:.72fr 1.28fr;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-sm);}
.wizard-side{background:var(--ink);color:#fff;padding:46px;position:relative;overflow:hidden;}
.wizard-side:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.1);right:-120px;bottom:-100px;transform:rotate(18deg);}

.wizard-side p{color:#b9c0c4;}
.wizard-progress{margin-top:34px;border-top:1px solid #353b40;}
.wizard-progress div{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid #353b40;color:#8e969b;font-size:.78rem;}
.wizard-progress div.active{color:#fff;}
.wizard-progress span{color:var(--red);font-weight:800;}
.wizard-main{padding:46px;}
.wizard-panel{display:none;}.wizard-panel.active{display:block;}
.wizard-panel h3{font-size:1.5rem;margin:0 0 8px;color:var(--ink);}
.wizard-panel>p{color:var(--muted);margin-top:0;}
.wizard-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 30px;}
.wizard-option{border:1px solid var(--line);background:#fff;padding:19px;text-align:left;cursor:pointer;transition:.25s;}
.wizard-option:hover,.wizard-option.active{border-color:var(--red);background:var(--red-soft);transform:translateY(-2px);}
.wizard-option strong{display:block;color:var(--ink);margin-bottom:5px;}
.wizard-option span{display:block;color:var(--muted);font-size:.76rem;}
.wizard-actions{display:flex;justify-content:space-between;gap:12px;}
.wizard-result{display:none;background:var(--soft);border-left:4px solid var(--red);padding:24px;margin-top:22px;}
.wizard-result.visible{display:block;}
.wizard-result h4{font-size:1.25rem;margin:0 0 8px;color:var(--ink);}
.wizard-result ul{margin:14px 0 20px;padding-left:18px;color:var(--muted);}

.site-footer:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--red) 0 28%,transparent 28%);}

.footer-brand img{width:180px;margin-bottom:20px;}
.footer-brand p{color:#aeb4b8;max-width:410px;font-size:.82rem;}
.site-footer h4{font-size:1.08rem;margin:0 0 16px;}
.site-footer a,.site-footer span{display:block;color:#aab1b6;padding:5px 0;font-size:.78rem;transition:.2s;}
.site-footer a:hover{color:#fff;transform:translateX(3px);}
.footer-call{color:#fff;font-size:1.25rem;font-weight:760;}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #303438;padding-top:19px;padding-bottom:19px;font-size:.68rem;color:#878f94;}
.footer-bottom div{display:flex;gap:20px;}
.footer-bottom a{display:inline;padding:0;}

.reveal{opacity:1;transform:none;}
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.js .reveal.in-view{opacity:1;transform:none;}
.reveal[data-delay="1"]{transition-delay:.08s;}.reveal[data-delay="2"]{transition-delay:.16s;}.reveal[data-delay="3"]{transition-delay:.24s;}.reveal[data-delay="4"]{transition-delay:.32s;}

@view-transition{navigation:auto}
::view-transition-old(root){animation:v6PageOut .18s ease both;}
::view-transition-new(root){animation:v6PageIn .34s var(--ease-spring) both;}
@keyframes v6PageOut{to{opacity:.82;transform:translateY(-4px)}}
@keyframes v6PageIn{from{opacity:0;transform:translateY(7px)}}

html,body{max-width:100%;overflow-x:clip;}

main{overflow:clip;}
.container{width:min(var(--max),92vw);margin-inline:auto;}
.container.wide{width:min(var(--max-wide),94vw);}
.section{position:relative;padding:clamp(66px,6.2vw,98px) 0;}
.section.compact{padding:clamp(50px,4.8vw,72px) 0;}
.section.soft{isolation:isolate;}
.section.soft:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(61,69,75,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(61,69,75,.045) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%);}

.section-label,.hero-kicker{display:block;color:var(--red);line-height:1.2;font-weight:800;text-transform:uppercase;font-size:.64rem;letter-spacing:.13em;margin-bottom:13px;}
.lead{color:#353c41;font-size:1.03rem;line-height:1.72;}

.home .site-header{position:fixed;inset:0 0 auto;top:0;background:transparent;box-shadow:none;}
.home .site-header:not(.is-scrolled){background:transparent;box-shadow:none;}
.home .site-header:not(.is-scrolled) .topline{background:rgba(17,20,22,.46);color:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.12);}
.home .site-header:not(.is-scrolled) .topline a{color:rgba(255,255,255,.9);}
.home .site-header:not(.is-scrolled) .header-main{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;}
.home .site-header.is-scrolled{background:rgba(255,255,255,.97);box-shadow:0 12px 38px rgba(21,24,27,.09);backdrop-filter:blur(18px);}

.desktop-nav>a,.nav-item>button{height:100%;display:flex;align-items:center;border:0;background:none;padding:0;cursor:pointer;position:relative;color:#252a2e;white-space:nowrap;font-size:.72rem;font-weight:700;}
.desktop-nav>a:after,.nav-item>button:after{content:"";position:absolute;left:0;right:0;background:var(--red);transform:scaleX(0);transform-origin:left;transition:.3s var(--ease);bottom:12px;height:2px;}

.home-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;animation:none;transform:translate3d(var(--hero-x,0),var(--hero-y,0),0) scale(1.018);filter:saturate(.96) contrast(1.055) brightness(.98);transition:transform .9s var(--ease),filter .6s var(--ease);}

.home-hero:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(207,17,27,.08),transparent 24%),linear-gradient(180deg,rgba(10,13,15,.12),transparent 27%,transparent 72%,rgba(10,13,15,.15)),linear-gradient(90deg,transparent calc(50% - .5px),rgba(255,255,255,.18) 50%,transparent calc(50% + .5px));mix-blend-mode:multiply;}

.hero-proof{display:flex;color:#52595f;margin-top:20px;gap:18px;font-size:.68rem;}
.hero-proof .icon{color:var(--red);width:15px;height:15px;margin:0;align-self:center;}
.fact-strip{position:absolute;left:50%;bottom:0;transform:translateX(-50%);z-index:5;background:rgba(20,23,26,.94);color:#fff;display:grid;grid-template-columns:.75fr .75fr 1.2fr 1.25fr;min-height:78px;width:min(var(--max),92vw);border-top:3px solid var(--red);box-shadow:0 22px 64px rgba(10,13,15,.24);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.fact-strip div{border-right:1px solid #373d42;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;padding:14px 23px;}
.fact-strip strong{color:#fff;line-height:1.08;font-weight:760;font-size:1.15rem;letter-spacing:-.02em;}
.fact-strip span{color:#c2c7ca;font-size:.6rem;margin-top:3px;}

.btn{--btn-bg:#fff;--btn-fg:var(--ink);--btn-hover-bg:var(--ink);--btn-hover-fg:#fff;--btn-hover-border:var(--ink);position:relative;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:var(--btn-bg);color:var(--btn-fg);font-weight:800;letter-spacing:.09em;text-transform:uppercase;overflow:hidden;isolation:isolate;min-height:48px;padding:0 22px;gap:15px;font-size:.66rem;transition:transform .28s var(--ease-spring),box-shadow .28s var(--ease-spring),border-color .24s,color .24s,background-color .24s;}
.btn:before{content:"";position:absolute;inset:-1px;z-index:1;background:var(--btn-hover-bg);transform:scaleX(0);transform-origin:right center;transition:transform .34s var(--ease-spring);}
.btn:hover{color:var(--btn-hover-fg);border-color:var(--btn-hover-border);transform:translateY(-2px);box-shadow:0 13px 28px rgba(21,24,27,.14);}
.btn:hover .icon{transform:translateX(4px);}
.btn.btn-primary:hover{border-color:var(--ink);box-shadow:0 14px 30px rgba(207,17,27,.18);}

.services-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;}
.service-image{overflow:hidden;background:#dfe3e5;height:138px;}
.service-content{position:relative;padding:18px 16px 20px;}
.service-icon{color:var(--red);margin-bottom:10px;}
.service-icon .icon{width:17px;height:17px;margin:0;}
.service-content h3{line-height:1.15;margin:0 0 9px;color:var(--ink);font-weight:760;font-size:.96rem;margin-bottom:7px;}
.service-content p{color:var(--muted);line-height:1.52;margin:0 0 16px;font-size:.71rem;min-height:50px;margin-bottom:13px;}
.service-card:hover{border-color:#c7ccd0;transform:translateY(-4px);box-shadow:0 16px 42px rgba(21,24,27,.11);}
.service-card:before,.detail-card:after,.audience-grid>a:after{content:"";position:absolute;left:12px;top:12px;width:13px;height:13px;border-left:1px solid rgba(207,17,27,.0);border-top:1px solid rgba(207,17,27,.0);transition:.28s var(--ease);}
.service-card:hover:before,.detail-card:hover:after,.audience-grid>a:hover:after{border-color:rgba(207,17,27,.78);left:9px;top:9px;}

.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;align-items:start;}
.project-card{grid-column:span 4;background:#fff;border:1px solid var(--line);transition:transform .36s var(--ease-spring),box-shadow .36s,border-color .28s;overflow:hidden;position:relative;align-self:start;}
.project-card.wide{grid-column:span 8;display:grid;grid-template-columns:1.28fr .72fr;align-self:start;min-height:0;}
.project-image{overflow:hidden;position:relative;background:#dfe3e5;height:238px;}
.project-card.wide .project-image{height:330px;min-height:0;}
.project-copy{padding:22px 21px 23px;}
.project-copy h3{line-height:1.13;margin:0 0 10px;color:var(--ink);font-size:1.25rem;margin-bottom:8px;}
.project-copy p{color:var(--muted);margin:0 0 18px;font-size:.8rem;margin-bottom:15px;line-height:1.58;}
.project-card:hover{border-color:#c4c9cc;transform:translateY(-4px);box-shadow:0 18px 48px rgba(21,24,27,.12);}
.project-card:hover .project-copy h3{color:var(--red);}
.project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(21,24,27,.22));opacity:0;transition:opacity .34s;}
.project-card:hover .project-image:after{opacity:1;}

.process-wrap{display:grid;align-items:start;grid-template-columns:.72fr 1.28fr;gap:clamp(42px,6vw,86px);}
.process-intro{position:sticky;top:105px;}
.process-intro h2{font-size:clamp(2rem,2.8vw,2.72rem);}
.process-step{display:grid;align-items:start;border-bottom:1px solid var(--line-dark);transition:padding .28s,background .28s;grid-template-columns:58px 1fr auto;gap:20px;padding:21px 0;}
.process-step h3{margin:0 0 6px;color:#fff;font-size:1.06rem;}
.process-step p{margin:0;color:#aeb5ba;max-width:590px;font-size:.8rem;line-height:1.58;}
.process-step:hover{background:linear-gradient(90deg,rgba(207,17,27,.08),transparent);padding-left:9px;}

.page-hero.with-image{color:#fff;background:var(--ink);min-height:430px;}

.page-hero.with-image .page-hero-inner{min-height:430px;}

.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:19px;font-size:.61rem;}
.content-two{display:grid;align-items:start;grid-template-columns:1.35fr .65fr;gap:clamp(38px,5vw,70px);}
.request-card{background:var(--ink);color:#fff;position:sticky;box-shadow:var(--shadow-sm);padding:28px;top:95px;}
.request-card h3{line-height:1.16;margin:0 0 14px;font-size:1.42rem;}
.four-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.four-grid>div{background:#fff;border:1px solid var(--line);padding:21px;min-height:130px;}
.four-grid>div span{display:block;color:var(--red);font-size:.65rem;font-weight:800;letter-spacing:.1em;margin-bottom:20px;}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;}
.detail-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:.34s var(--ease-spring);position:relative;overflow:hidden;padding:23px;min-height:178px;}
.detail-card h3{margin:0 0 11px;color:var(--ink);font-size:1.12rem;}
.detail-card p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.55;}
.detail-card span{margin-top:auto;color:var(--red);font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:8px;padding-top:17px;}
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.audience-grid>a{background:#fff;border:1px solid var(--line);position:relative;transition:.34s var(--ease-spring);overflow:hidden;padding:27px;min-height:220px;}
.audience-grid>a>span{display:block;color:var(--red);font-size:.68rem;font-weight:800;letter-spacing:.1em;margin-bottom:32px;}
.audience-grid h3{line-height:1.15;margin:0 0 12px;color:var(--ink);font-size:1.26rem;}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;}
.article-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:.34s var(--ease-spring);position:relative;overflow:hidden;padding:25px;min-height:245px;}
.article-card h3{line-height:1.16;margin:28px 0 10px;color:var(--ink);font-size:1.22rem;margin-top:22px;}
.image-panel{overflow:hidden;position:relative;height:520px;}
.pool-feature{display:grid;grid-template-columns:1.12fr .88fr;background:#fff;border-block:1px solid var(--line);min-height:560px;}
.pool-media{overflow:hidden;position:relative;min-height:560px;}
.pool-copy{background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;padding:clamp(46px,5.7vw,78px);}
.pool-copy h2{line-height:1.08;margin:0 0 20px;letter-spacing:-.03em;font-size:clamp(1.9rem,2.55vw,2.5rem);}
.cta-section{background:var(--red);color:#fff;position:relative;overflow:hidden;padding:clamp(54px,5.5vw,76px) 0;}
.case-block h2{margin:0 0 16px;color:var(--ink);font-size:1.72rem;}
.center-copy h2{color:var(--ink);font-size:2rem;}
.wizard-side h2{line-height:1.1;margin:0 0 16px;font-size:1.75rem;}
.service-list h2{margin:0 0 4px;color:var(--ink);font-size:1.38rem;}

.scope-list{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 22px;background:transparent;border-top:1px solid var(--line);}
.scope-list>li{list-style:none;background:transparent;padding:13px 0;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);min-width:0;}
.scope-list>li::marker{content:"";}
.scope-list .icon,.interface-list .icon,.check-list .icon,.case-side .icon{color:var(--red);width:16px;height:16px;min-width:16px;margin:0;align-self:center;}
.scope-list span{font-size:.83rem;line-height:1.45;}
.interface-list>div{display:flex;gap:14px;border-bottom:1px solid var(--line);align-items:center;padding:14px 0;}
.check-list li{display:flex;gap:12px;border-bottom:1px solid var(--line);font-size:.88rem;align-items:center;padding:9px 0;}

.navigator-shell{display:grid;grid-template-columns:.78fr 1.22fr;border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;min-height:500px;}
.navigator-copy{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:clamp(34px,4vw,55px);}
.navigator-form{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4vw,52px);}
.process-grid .process-step{display:block;background:var(--ink);border:0;padding:25px;}
.quality-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;}
.quality-boxes>div{background:#fff;border:1px solid var(--line);padding:23px;}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;}
.values-grid>div{background:#fff;border-top:4px solid var(--red);transition:.3s;padding:23px;}
.company-facts>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px;}
.contact-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:55px;}
.contact-side{background:var(--soft);height:max-content;border-top:4px solid var(--red);padding:31px;}
.site-footer{background:#121518;color:#fff;position:relative;padding-top:60px;}
.footer-grid{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:40px;padding-bottom:48px;}

@media(hover:hover) and (pointer:fine){
  .project-card,.service-card,.detail-card,.article-card,.audience-grid>a{will-change:transform;}
}

.mobile-menu{z-index:1190;overflow:auto;border-top:1px solid var(--line);position:fixed;left:0;right:0;top:80px;bottom:0;height:auto;transform:none;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .26s var(--ease),visibility .26s;background:rgba(255,255,255,.985);backdrop-filter:blur(18px);}
.mobile-menu.open{transform:none;opacity:1;visibility:visible;pointer-events:auto;}
.site-header.is-scrolled .mobile-menu{top:68px;height:auto;}

.section.dark{overflow:hidden;isolation:isolate;}
.section.dark:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(620px circle at var(--spot-x,72%) var(--spot-y,24%),rgba(207,17,27,.085),transparent 55%);}
.section.dark>.container{position:relative;z-index:1;}

@media(min-width:1121px){.mobile-menu{display:none;}
  
  
  .home .project-grid .project-card:nth-child(n/**/+3){grid-column:span 6;}

  .home .project-grid .project-card.wide{height:420px;min-height:420px;}
  .home .project-grid .project-card.wide .project-image{height:420px;min-height:420px;}
}

.image-hero-page .site-header{position:fixed;inset:0 0 auto;background:transparent;box-shadow:none;color:#fff;}
.image-hero-page .site-header:not(.is-scrolled){background:transparent;box-shadow:none;}
.image-hero-page .site-header:not(.is-scrolled) .topline{background:rgba(14,17,19,.42);color:rgba(255,255,255,.86);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);}
.image-hero-page .site-header:not(.is-scrolled) .topline a{color:rgba(255,255,255,.9);}
.image-hero-page .site-header:not(.is-scrolled) .header-main{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;}
.image-hero-page .site-header:not(.is-scrolled) .desktop-nav>a,.image-hero-page .site-header:not(.is-scrolled) .nav-item>button{color:#fff;text-shadow:0 1px 18px rgba(0,0,0,.24);}
.image-hero-page .site-header:not(.is-scrolled) .desktop-nav>a:hover,.image-hero-page .site-header:not(.is-scrolled) .nav-item>button:hover{color:#fff;}
.image-hero-page .site-header:not(.is-scrolled) .call{color:#fff;}
.image-hero-page .site-header:not(.is-scrolled) .call small{color:rgba(255,255,255,.72);}
.image-hero-page .site-header:not(.is-scrolled) .menu-toggle span{background:#fff;}
.image-hero-page .site-header.is-scrolled{background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 12px 38px rgba(21,24,27,.09);}

body{margin:0;color:var(--text);font-family:Inter,"Helvetica Neue",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:16px;background:#fff;overflow-x:hidden;}

.site-header.is-scrolled{box-shadow:0 12px 36px rgba(21,24,27,.1);background:rgba(255,255,255,.98);--header-top-height:0px;--header-main-height:70px;--header-offset:70px;}
.site-header .topline{position:relative;z-index:2;height:var(--header-top-height);background:rgba(15,18,20,.68);color:rgba(255,255,255,.9);border-bottom:1px solid rgba(255,255,255,.11);backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08);transition:height .32s var(--ease),opacity .24s var(--ease);}
.site-header.is-scrolled .topline{height:0;opacity:0;overflow:hidden;}
.site-header .topline a{color:rgba(255,255,255,.92);}
.header-bar{width:100%;position:relative;z-index:2;overflow:visible;border-bottom:1px solid transparent;transition:background .34s var(--ease),border-color .34s var(--ease),box-shadow .34s var(--ease),backdrop-filter .34s var(--ease);}

.header-theme-light .site-header:not(.is-scrolled) .header-bar{background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.31));border-bottom-color:rgba(255,255,255,.52);box-shadow:0 12px 38px rgba(21,24,27,.035);backdrop-filter:blur(16px) saturate(1.12);-webkit-backdrop-filter:blur(16px) saturate(1.12);}
.header-theme-dark .site-header:not(.is-scrolled) .header-bar{background:linear-gradient(180deg,rgba(13,16,18,.54),rgba(13,16,18,.24));border-bottom-color:rgba(255,255,255,.14);box-shadow:0 12px 38px rgba(0,0,0,.08);backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08);}
.site-header.is-scrolled .header-bar{background:rgba(255,255,255,.965);border-bottom-color:rgba(21,24,27,.09);box-shadow:0 16px 44px rgba(21,24,27,.1);backdrop-filter:blur(22px) saturate(1.15);-webkit-backdrop-filter:blur(22px) saturate(1.15);}

.brand img{width:100%;object-fit:contain;height:60px;transition:height .28s var(--ease),opacity .2s;}
.site-header.is-scrolled .brand img{height:50px;}

.nav-item{height:100%;display:flex;align-items:center;position:static;}
.desktop-nav>a,.nav-item>.nav-trigger{height:100%;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0;border:0;background:transparent;color:var(--ink);font-size:.71rem;line-height:1;font-weight:720;white-space:nowrap;cursor:pointer;position:relative;}
.header-theme-dark .site-header:not(.is-scrolled) .desktop-nav>a,
.header-theme-dark .site-header:not(.is-scrolled) .nav-item>.nav-trigger{color:#fff;text-shadow:0 1px 18px rgba(0,0,0,.22);}
.header-theme-light .site-header:not(.is-scrolled) .desktop-nav>a,
.header-theme-light .site-header:not(.is-scrolled) .nav-item>.nav-trigger{color:#1a1e21;text-shadow:0 1px 18px rgba(255,255,255,.35);}
.site-header.is-scrolled .desktop-nav>a,.site-header.is-scrolled .nav-item>.nav-trigger{color:#252a2e;text-shadow:none;}

.nav-item>.nav-trigger>span{display:inline-flex;align-items:center;line-height:1;margin:0;}

.nav-item:hover>.nav-trigger .nav-chevron,.nav-item:focus-within>.nav-trigger .nav-chevron,.nav-item.is-open>.nav-trigger .nav-chevron{transform:rotate(180deg);}
.header-theme-dark .site-header:not(.is-scrolled) .call{color:#fff;}
.header-theme-dark .site-header:not(.is-scrolled) .call small{color:rgba(255,255,255,.72);}
.header-theme-light .site-header:not(.is-scrolled) .call{color:var(--red);}
.header-theme-light .site-header:not(.is-scrolled) .call small{color:#4e555b;}
.site-header.is-scrolled .call{color:var(--red);}
.site-header.is-scrolled .call small{color:var(--muted);}

.mega{position:absolute;top:100%;left:50%;width:var(--mega-width);max-height:calc(100vh - var(--header-offset) - 24px);overflow:auto;transform:translate(-50%,16px);background:#fff;color:var(--ink);border:1px solid rgba(21,24,27,.09);border-top:3px solid var(--red);box-shadow:0 34px 100px rgba(18,22,25,.22);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s var(--ease),transform .34s var(--ease-spring),visibility .24s;isolation:isolate;}
.mega:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(207,17,27,.025),transparent 38%),linear-gradient(90deg,transparent 0 74%,rgba(21,24,27,.025) 74%);pointer-events:none;}
.nav-item:hover>.mega,.nav-item:focus-within>.mega,.nav-item.is-open>.mega{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);}
.mega a:focus-visible{outline:3px solid rgba(207,17,27,.22);outline-offset:-3px;}
.mega-services-layout{display:grid;grid-template-columns:minmax(560px,1.1fr) minmax(360px,.9fr);min-height:510px;}
.mega-service-list{padding:30px 32px 24px;display:grid;grid-template-columns:1fr 1fr;align-content:start;border-right:1px solid var(--line);}
.mega-heading{grid-column:1/-1;padding:0 0 20px;margin-bottom:4px;border-bottom:1px solid var(--line);}
.mega-heading span,.mega-projects-head span,.mega-start-intro>span,.mega-company-story>div>span{display:block;color:var(--red);font-size:.62rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;}
.mega-heading strong{font-size:1.28rem;letter-spacing:-.02em;}
.mega-service-link{display:grid;grid-template-columns:27px minmax(0,1fr) 18px;gap:12px;align-items:center;padding:17px 14px;border-bottom:1px solid var(--line);transition:background .24s var(--ease),transform .24s var(--ease);}
.mega-service-link:nth-of-type(odd){border-right:1px solid var(--line);}
.mega-service-link>span{color:var(--red);font-size:.61rem;font-weight:850;letter-spacing:.08em;}
.mega-service-link strong{display:block;font-size:.91rem;line-height:1.25;margin-bottom:3px;}
.mega-service-link small{display:block;color:var(--muted);font-size:.65rem;line-height:1.45;}
.mega-service-link .icon{width:15px;color:#a7adb1;transition:transform .24s,color .24s;}
.mega-service-link:hover,.mega-service-link.is-previewing{background:var(--soft);transform:translateX(3px);}
.mega-service-link:hover .icon,.mega-service-link.is-previewing .icon{color:var(--red);transform:translateX(3px);}
.mega-preview{position:relative;min-height:510px;overflow:hidden;background:var(--ink);color:#fff;}
.mega-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .26s var(--ease),transform .8s var(--ease);}
.mega-preview:hover img{transform:scale(1.035);}
.mega-preview-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,18,20,.04),rgba(15,18,20,.86) 84%);}
.mega-preview-copy{position:absolute;left:30px;right:30px;bottom:28px;color:#fff;}
.mega-preview-copy>span{font-size:.59rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:.78;}
.mega-preview-copy h3{font-size:1.65rem;line-height:1.08;margin:8px 0 8px;color:#fff;}
.mega-preview-copy p{font-size:.76rem;color:#d4d9dc;margin:0 0 15px;max-width:390px;}
.mega-preview-copy b,.mega-company-story b{display:inline-flex;align-items:center;gap:8px;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;}
.mega-preview-copy b .icon,.mega-company-story b .icon{width:15px;}
.mega-utility{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f1f3f4;padding:14px 32px;border-top:1px solid var(--line);}
.mega-utility a{display:flex;align-items:center;gap:9px;color:var(--red);font-size:.65rem;font-weight:820;text-transform:uppercase;letter-spacing:.07em;}
.mega-utility a:last-child{color:var(--ink);}
.mega-utility .icon{width:14px;}

.mega-projects{padding:28px 30px 20px;}
.mega-projects-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:20px;}
.mega-projects-head h3{font-size:1.5rem;margin:0;letter-spacing:-.025em;}
.mega-projects-head>a{display:flex;align-items:center;gap:8px;color:var(--red);font-size:.65rem;font-weight:820;text-transform:uppercase;letter-spacing:.07em;}
.mega-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.mega-project-grid>a{position:relative;height:235px;overflow:hidden;background:var(--ink);color:#fff;}
.mega-project-grid img{width:100%;height:100%;object-fit:cover;transition:transform .72s var(--ease),filter .4s;}
.mega-project-grid>a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(12,15,17,.9));}
.mega-project-grid>a>div{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;}
.mega-project-grid span{display:block;color:#f1b5b9;font-size:.57rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;}
.mega-project-grid strong{font-size:1rem;line-height:1.22;}
.mega-project-grid>a:hover img{transform:scale(1.06);filter:saturate(1.08);}
.mega-category-row{display:flex;gap:8px;padding-top:14px;}
.mega-category-row a{border:1px solid var(--line);padding:8px 12px;font-size:.62rem;font-weight:760;transition:.2s;}
.mega-category-row a:hover{background:var(--red);border-color:var(--red);color:#fff;}

.mega-company{display:grid;grid-template-columns:.84fr 1.16fr;min-height:430px;}
.mega-company-story{position:relative;overflow:hidden;color:#fff;min-height:430px;}
.mega-company-story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.mega-company-story:hover img{transform:scale(1.04);}
.mega-company-story>div:last-child{position:absolute;left:30px;right:30px;bottom:28px;z-index:2;}
.mega-company-story h3{font-size:1.65rem;line-height:1.12;color:#fff;margin:7px 0 16px;max-width:430px;}
.mega-company-links{display:grid;grid-template-columns:1fr 1fr;padding:24px;}
.mega-company-links a{padding:21px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);transition:background .22s,transform .22s;}
.mega-company-links a:nth-child(2n){border-right:0;}
.mega-company-links a:nth-last-child(-n/**/+2){border-bottom:0;}
.mega-company-links strong{display:block;font-size:.95rem;margin-bottom:5px;}
.mega-company-links small{display:block;font-size:.68rem;line-height:1.48;color:var(--muted);}
.mega-company-links a:hover{background:var(--soft);transform:translateY(-2px);}

.mega-start{display:grid;grid-template-columns:.9fr .92fr .8fr;min-height:430px;}
.mega-start-intro{background:var(--ink);color:#fff;padding:34px;}
.mega-start-intro h3{font-size:1.75rem;line-height:1.08;color:#fff;margin:8px 0 14px;}
.mega-start-intro p{font-size:.75rem;color:#bac1c5;margin:0 0 24px;}
.mega-start-intro .btn{width:max-content;}
.mega-start-steps{padding:24px 28px;background:#fff;}
.mega-start-steps>div{display:grid;grid-template-columns:30px 1fr;column-gap:13px;padding:18px 0;border-bottom:1px solid var(--line);}
.mega-start-steps>div:last-child{border:0;}
.mega-start-steps span{grid-row:1/3;color:var(--red);font-size:.62rem;font-weight:850;}
.mega-start-steps strong{font-size:.91rem;margin-bottom:4px;}
.mega-start-steps small{color:var(--muted);font-size:.67rem;line-height:1.45;}
.mega-start-side{position:relative;overflow:hidden;background:#252a2e;color:#fff;}
.mega-start-side>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.36;}
.mega-start-side:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,20,22,.16),rgba(17,20,22,.92));}
.mega-start-side>div{position:absolute;left:26px;right:26px;bottom:26px;z-index:2;}
.mega-start-side span{display:block;color:#efb8bc;font-size:.59rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;}
.mega-start-side strong{display:block;font-size:1.15rem;line-height:1.25;margin-bottom:17px;}
.mega-start-side a{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:.63rem;font-weight:820;text-transform:uppercase;letter-spacing:.07em;}
.mega-start-side .icon{width:14px;}

.home-hero-copy{position:relative;z-index:2;width:min(525px,44%);padding:48px 0 132px;}
.home-hero-fade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.91) 0%,rgba(255,255,255,.82) 18%,rgba(255,255,255,.64) 36%,rgba(255,255,255,.28) 55%,rgba(255,255,255,.06) 70%,transparent 84%);}
.image-hero-page .page-hero.with-image,.image-hero-page .page-hero.with-image .page-hero-inner{min-height:100svh;}
.image-hero-page .page-hero-inner{padding-top:calc(var(--header-offset) + 52px);padding-bottom:72px;justify-content:center;}
.header-theme-light .page-hero:not(.with-image){min-height:clamp(520px,70svh,760px);}
.header-theme-light .page-hero:not(.with-image) .page-hero-inner{min-height:clamp(520px,70svh,760px);padding-top:calc(var(--header-offset) + 44px);justify-content:center;}
.project-request-hero .page-hero-inner{max-width:880px;}
.hero-kicker.light{color:#fff;}
.hero-scroll-link{display:inline-flex;align-items:center;gap:10px;margin-top:28px;color:#fff;font-size:.67rem;font-weight:820;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.48);padding-bottom:7px;width:max-content;}
.hero-scroll-link .icon{width:15px;transform:rotate(90deg);}

.project-request-section{padding-top:90px;}
.project-request-form{scroll-margin-top:100px;}
.project-request-shell{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:720px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 86px rgba(21,24,27,.12);}
.request-rail{background:var(--ink);color:#fff;padding:38px 32px;position:relative;overflow:hidden;}
.request-rail:after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(255,255,255,.08);right:-180px;bottom:-160px;transform:rotate(18deg);}
.request-rail h2{font-size:1.72rem;line-height:1.1;margin:0 0 14px;color:#fff;}
.request-rail>p{font-size:.76rem;color:#b8bfc3;margin:0;}
.request-progress{margin-top:32px;border-top:1px solid #363c41;position:relative;z-index:2;}
.request-progress>div{display:grid;grid-template-columns:36px 1fr;align-items:center;padding:14px 0;border-bottom:1px solid #363c41;color:#828b90;transition:color .22s,transform .22s;}
.request-progress span{color:var(--red);font-size:.62rem;font-weight:850;}
.request-progress b{font-size:.72rem;}
.request-progress>div.active{color:#fff;transform:translateX(4px);}
.request-rail-note{position:absolute;left:32px;right:32px;bottom:30px;z-index:2;border-top:1px solid #363c41;padding-top:18px;}
.request-rail-note strong{display:block;font-size:.68rem;color:#9ca4a9;margin-bottom:3px;}
.request-rail-note a{font-size:1.05rem;font-weight:760;color:#fff;}
.request-stage{padding:clamp(34px,4vw,62px);min-width:0;}
.request-step{display:none;}
.request-step.active{display:block;animation:requestStepIn .42s var(--ease-spring) both;}
@keyframes requestStepIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.request-step-head>span{display:block;color:var(--red);font-size:.62rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;}
.request-step-head h3{font-size:clamp(1.7rem,2.4vw,2.25rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 10px;color:var(--ink);}
.request-step-head p{color:var(--muted);font-size:.86rem;max-width:760px;margin:0;}
.request-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0;}
.request-choice-grid-3{grid-template-columns:repeat(3,1fr);}
.request-choice{position:relative;cursor:pointer;min-width:0;}
.request-choice input{position:absolute;opacity:0;pointer-events:none;}
.request-choice>span{display:block;height:100%;min-height:132px;border:1px solid var(--line);padding:21px 20px;background:#fff;position:relative;transition:transform .28s var(--ease-spring),border-color .24s,background .24s,box-shadow .28s;}
.request-choice>span:before{content:"";position:absolute;right:17px;top:17px;width:16px;height:16px;border:1px solid #aab1b5;border-radius:50%;transition:.22s;}
.request-choice b{display:block;color:var(--ink);font-size:.95rem;line-height:1.25;padding-right:22px;margin-bottom:6px;}
.request-choice small{display:block;color:var(--muted);font-size:.69rem;line-height:1.5;}
.request-choice:hover>span{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:#b9c0c4;}
.request-choice input:checked+span{border-color:var(--red);background:var(--red-soft);box-shadow:0 12px 34px rgba(207,17,27,.1);}
.request-choice input:checked+span:before{border:5px solid var(--red);background:#fff;}
.request-choice input:focus-visible+span{outline:3px solid rgba(207,17,27,.2);outline-offset:3px;}
.request-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;}
.request-actions .btn{width:auto;}
.step-error{min-height:22px;color:var(--red);font-size:.72rem;font-weight:700;margin:0;}
.request-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0 20px;}
.request-field-grid label{display:flex;flex-direction:column;gap:7px;}
.request-field-grid label.full{grid-column:1/-1;}
.request-field-grid label>span{font-size:.64rem;font-weight:820;letter-spacing:.075em;text-transform:uppercase;color:#4d555b;}
.request-field-grid input,.request-field-grid select,.request-field-grid textarea{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);padding:13px 14px;outline:none;transition:border-color .2s,box-shadow .2s;}
.request-field-grid textarea{min-height:150px;resize:vertical;}
.request-field-grid input:focus,.request-field-grid select:focus,.request-field-grid textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(207,17,27,.09);}
.request-upload{display:block;border:1px dashed #aeb5b9;background:var(--soft);padding:26px;cursor:pointer;margin:27px 0 18px;transition:.24s;}
.request-upload:hover{border-color:var(--red);background:var(--red-soft);}
.request-upload input{display:block;width:100%;margin-bottom:13px;font-size:.75rem;}
.request-upload b{display:block;color:var(--ink);font-size:.95rem;}
.request-upload small{display:block;color:var(--muted);font-size:.7rem;margin-top:3px;}
.request-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:18px 0 20px;}
.request-summary>div{background:#fff;padding:15px 17px;}
.request-summary span{display:block;color:var(--red);font-size:.57rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;}
.request-summary b{display:block;color:var(--ink);font-size:.78rem;line-height:1.4;}
.request-consent{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:.72rem;line-height:1.5;}
.request-consent input{margin-top:4px;}
.request-consent a{color:var(--red);text-decoration:underline;}

.mobile-projectstart{margin-top:22px;background:var(--ink);color:#fff;padding:22px;}
.mobile-projectstart>span{display:block;color:#efafb4;font-size:.59rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;}
.mobile-projectstart>strong{display:block;font-size:1.05rem;line-height:1.25;margin-bottom:15px;}
.mobile-projectstart>a{display:flex;align-items:center;justify-content:space-between;border:0;background:var(--red);color:#fff;padding:13px 14px;font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;}
.mobile-projectstart .icon{width:15px;}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;animation:none;transition:none;}.reveal{opacity:1;transform:none;}::view-transition-old(root),::view-transition-new(root){animation:none;}.home-hero-bg{transform:none;}.mega,.nav-chevron,.request-step{transition:none;animation:none;}}

html{scroll-behavior:smooth;background:#fff;scroll-padding-top:90px;overflow-x:clip;}
body.v8-site{overflow-x:clip;background:#fff;}
.v8-balance{text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none;}

.site-header{top:0;backdrop-filter:blur(18px);transition:background .34s var(--ease),box-shadow .34s var(--ease),border-color .34s var(--ease);z-index:1200;color:var(--ink);--header-offset:calc(var(--header-top-height) + var(--header-main-height));position:fixed;inset:0 0 auto;width:100%;background:transparent;box-shadow:none;isolation:isolate;}
.site-header .topline,.site-header .header-bar{width:100vw;max-width:none;margin:0;border-radius:0;}
.site-header .header-bar{position:relative;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;}
.site-header .header-bar:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100dvw;transform:translateX(-50%);z-index:-1;pointer-events:none;background:rgba(255,255,255,.43);border-bottom:1px solid rgba(255,255,255,.44);backdrop-filter:blur(20px) saturate(1.12);-webkit-backdrop-filter:blur(20px) saturate(1.12);transition:background .32s var(--ease),border-color .32s var(--ease),box-shadow .32s var(--ease);}

.site-header.is-scrolled .header-bar:before{background:rgba(255,255,255,.965);border-bottom-color:rgba(21,24,27,.09);box-shadow:0 16px 44px rgba(21,24,27,.1);}
.header-main{display:flex;align-items:center;transition:height .32s var(--ease);background:transparent;border:0;backdrop-filter:none;height:84px;gap:27px;}
.site-header.is-scrolled .header-main{height:70px;}
.brand{flex:none;display:flex;align-items:center;width:116px;}
.desktop-nav{display:flex;margin-left:auto;height:100%;position:static;gap:22px;align-items:stretch;}
.desktop-nav>a,.desktop-nav .nav-item>.nav-trigger{font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:12px;font-weight:700;line-height:1;letter-spacing:-.005em;height:100%;gap:6px;align-items:center;vertical-align:middle;}
.desktop-nav .nav-item>.nav-trigger>span{font:inherit;line-height:1;margin:0;display:inline-flex;align-items:center;}
.nav-chevron{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block;flex:none;transform:translateY(0);transition:transform .28s var(--ease);width:11px;height:11px;margin:0;align-self:center;transform-origin:center;position:relative;top:0;}
.desktop-nav>a:after,.nav-item>.nav-trigger:after{bottom:14px;}
.header-actions{display:flex;align-items:center;gap:14px;}.call b{font-size:12px;line-height:1.15;}.call small{color:var(--muted);font-size:9px;line-height:1.2;margin-top:3px;}
.header-cta{display:flex;align-items:center;gap:11px;background:var(--red);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.075em;position:relative;overflow:hidden;transition:transform .28s var(--ease),box-shadow .28s;padding:0 18px;height:46px;font-size:11px;line-height:1;}

.page-hero,.page-hero.with-image,.page-hero .page-hero-inner,.page-hero.with-image .page-hero-inner{min-height:100svh;}

.page-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.02);}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,20,23,.89) 0%,rgba(16,20,23,.74) 36%,rgba(16,20,23,.35) 67%,rgba(16,20,23,.18) 100%);}
.v8-light-hero{background:linear-gradient(135deg,#f8f9fa 0%,#eef1f3 52%,#e2e7e9 100%);}
.v8-light-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--v8-grid) 1px,transparent 1px),linear-gradient(90deg,var(--v8-grid) 1px,transparent 1px);background-size:68px 68px;mask-image:linear-gradient(90deg,#000,transparent 88%);pointer-events:none;}
.v8-light-hero .page-hero-overlay{background:radial-gradient(circle at 84% 24%,rgba(207,17,27,.08),transparent 24%),linear-gradient(90deg,rgba(255,255,255,.58),rgba(255,255,255,.08));}
.page-hero-inner{position:relative;z-index:2;flex-direction:column;min-height:350px;max-width:none;width:min(var(--max-wide),94vw);padding:calc(var(--v8-header-total) + 52px) 0 64px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(310px,.55fr);gap:clamp(55px,8vw,130px);align-items:center;justify-content:normal;}
.page-hero-copy-block{min-width:0;max-width:800px;}
.page-hero h1{color:var(--ink);margin-bottom:15px;font-size:clamp(2.45rem,4.05vw,4.05rem);line-height:1.015;letter-spacing:-.047em;max-width:820px;margin:0 0 20px;font-weight:820;}
.page-hero p{margin:0;color:var(--muted);font-size:clamp(.96rem,1.12vw,1.08rem);line-height:1.72;max-width:720px;}
.page-hero .breadcrumbs{font-size:.64rem;margin-bottom:22px;}
.page-hero .section-label{margin-bottom:15px;}
.v8-light-hero h1{color:var(--ink);text-shadow:none;}
.v8-light-hero p{color:#4f585f;}
.v8-light-hero .breadcrumbs,.v8-light-hero .breadcrumbs a{color:#6c747a;}
.v8-light-hero .hero-scroll-link{color:var(--ink);border-color:#8b9398;}
.hero-context-panel{align-self:center;background:rgba(255,255,255,.94);color:var(--ink);padding:clamp(28px,3vw,42px);border:1px solid rgba(255,255,255,.36);box-shadow:0 28px 80px rgba(9,13,16,.18);backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08);position:relative;overflow:hidden;}
.hero-context-panel:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--red);}
.hero-context-panel>span{display:block;color:var(--red);font-size:.61rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px;}
.hero-context-panel h2{font-size:clamp(1.35rem,1.8vw,1.8rem);line-height:1.12;letter-spacing:-.03em;margin:0 0 24px;color:var(--ink);}
.hero-context-grid{border-top:1px solid var(--line);}
.hero-context-grid>div{padding:15px 0;border-bottom:1px solid var(--line);}
.hero-context-grid span{display:block;color:var(--muted);font-size:.59rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;}
.hero-context-grid strong{display:block;font-size:.82rem;line-height:1.35;color:var(--ink);}
.hero-context-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;color:var(--red);font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.075em;}
.hero-context-link .icon{width:15px;transition:transform .28s var(--ease);}.hero-context-link:hover .icon{transform:translateX(4px);}
.with-image .hero-context-panel{background:rgba(18,22,25,.82);color:#fff;border-color:rgba(255,255,255,.14);box-shadow:0 30px 90px rgba(0,0,0,.28);}
.with-image .hero-context-panel h2,.with-image .hero-context-grid strong{color:#fff;}.with-image .hero-context-grid{border-color:rgba(255,255,255,.15);}.with-image .hero-context-grid>div{border-color:rgba(255,255,255,.14);}.with-image .hero-context-grid span{color:#aeb6bb;}.with-image .hero-context-link{color:#fff;}
.v8-scroll-cue{margin-top:30px;}

.home-hero{position:relative;overflow:hidden;border-bottom:0;background:#e8ecee;height:100svh;min-height:760px;}.home-hero-inner{position:relative;display:flex;padding-top:var(--header-offset);align-items:center;min-height:100%;}
.home-hero-copy h1{text-transform:uppercase;margin:0 0 22px;color:var(--ink);font-weight:820;line-height:1.015;letter-spacing:-.042em;margin-bottom:18px;font-size:clamp(2.55rem,3.65vw,3.65rem);max-width:590px;text-wrap:balance;}
.home-hero-copy p{margin:0 0 28px;line-height:1.7;margin-bottom:24px;color:#3f464b;font-size:.98rem;max-width:540px;}
.section-heading{display:grid;margin-bottom:clamp(32px,4vw,50px);grid-template-columns:minmax(0,1.05fr) minmax(340px,.72fr);gap:clamp(40px,7vw,112px);align-items:end;}
.section-heading h2,.copy-panel h2,.split-text h2,.faq-layout h2,.cta-section h2,.navigator-copy h2,.process-intro h2{margin:0;color:var(--ink);font-weight:750;letter-spacing:-.032em;font-size:clamp(2rem,3vw,2.9rem);line-height:1.075;max-width:780px;text-wrap:balance;}
.section-heading p{margin:0;color:var(--muted);max-width:620px;font-size:1rem;line-height:1.72;}

.v8-services-hero .page-hero-overlay{background:linear-gradient(90deg,rgba(15,19,22,.91),rgba(15,19,22,.72) 43%,rgba(15,19,22,.22) 78%);}
.v8-service-stage{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;}
.v8-service-stage>a{grid-column:span 4;min-height:490px;position:relative;overflow:hidden;background:var(--ink);color:#fff;isolation:isolate;}
.v8-service-stage>a:nth-child(1),.v8-service-stage>a:nth-child(6){grid-column:span 8;}
.v8-service-stage>a:before{content:attr(data-service-no);position:absolute;right:18px;top:8px;z-index:3;color:rgba(255,255,255,.25);font-size:4.8rem;font-weight:850;letter-spacing:-.06em;}
.v8-service-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .45s;}
.v8-service-stage>a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,15,.06),rgba(10,13,15,.9) 82%);z-index:1;}
.v8-service-stage>a>div{position:absolute;left:28px;right:28px;bottom:27px;z-index:2;}
.v8-service-stage span{display:block;color:#efb5ba;font-size:.61rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;}
.v8-service-stage h3{font-size:clamp(1.25rem,1.8vw,1.75rem);line-height:1.1;color:#fff;margin:0 0 10px;max-width:560px;}
.v8-service-stage p{font-size:.78rem;line-height:1.55;color:#d0d5d8;max-width:580px;margin:0 0 16px;}
.v8-service-stage b{display:inline-flex;align-items:center;gap:8px;font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;}.v8-service-stage b .icon{width:14px;}
.v8-service-stage>a:hover img{transform:scale(1.055);filter:saturate(1.08);}
.v8-combination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#343a3f;}
.v8-combination-grid article{background:var(--ink);padding:clamp(28px,3vw,42px);min-height:340px;position:relative;}
.v8-combination-grid article>span{color:var(--red);font-size:.65rem;font-weight:850;}.v8-combination-grid h3{font-size:1.35rem;color:#fff;margin:44px 0 10px;}.v8-combination-grid p{font-size:.82rem;color:#b8c0c4;}.v8-combination-grid ul{padding-left:18px;color:#d7dbdd;font-size:.74rem;line-height:1.7;}

.v8-decision-section{background:#171a1d;color:#fff;overflow:hidden;}
.v8-decision-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 83% 22%,rgba(207,17,27,.17),transparent 25%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,64px 64px,64px 64px;pointer-events:none;}
.v8-decision-heading{display:grid;grid-template-columns:1.08fr .72fr;gap:clamp(40px,7vw,110px);align-items:end;margin-bottom:44px;position:relative;}
.v8-decision-heading h2{font-size:clamp(2rem,3vw,2.9rem);line-height:1.08;color:#fff;margin:0;max-width:800px;}.v8-decision-heading p{color:#b9c0c4;margin:0;font-size:.93rem;}
.v8-decision-grid,.v8-case-grid,.v8-audience-grid,.v8-principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#3a4045;position:relative;}
.v8-decision-grid article,.v8-case-grid article,.v8-audience-grid article,.v8-principle-grid article{background:#171a1d;padding:32px;min-height:250px;position:relative;}
.v8-decision-grid article>span,.v8-case-grid article>span,.v8-audience-grid article>span,.v8-principle-grid article>span{color:var(--red);font-size:.62rem;font-weight:850;}
.v8-decision-grid h3,.v8-case-grid h3,.v8-audience-grid h3,.v8-principle-grid h3{font-size:1.25rem;line-height:1.15;color:#fff;margin:50px 0 10px;}.v8-decision-grid p,.v8-case-grid p,.v8-audience-grid p,.v8-principle-grid p{font-size:.8rem;color:#b9c0c4;margin:0;}
.v8-preflight{margin-top:34px;display:grid;grid-template-columns:.75fr 1.25fr;gap:45px;align-items:center;background:#fff;color:var(--ink);padding:30px 34px;position:relative;}.v8-preflight>div>span{color:var(--red);font-size:.61rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em;}.v8-preflight h3{font-size:1.25rem;line-height:1.2;margin:7px 0 0;}.v8-preflight ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;}.v8-preflight li{display:flex;align-items:center;gap:9px;font-size:.75rem;}.v8-preflight .icon{width:15px;color:var(--red);}
.v8-case-insight{background:#f1f3f4;}.v8-case-grid,.v8-audience-grid,.v8-principle-grid{background:var(--line);}.v8-case-grid article,.v8-audience-grid article,.v8-principle-grid article{background:#fff;}.v8-case-grid h3,.v8-audience-grid h3,.v8-principle-grid h3{color:var(--ink);}.v8-case-grid p,.v8-audience-grid p,.v8-principle-grid p{color:var(--muted);}
.v8-article-check{background:var(--ink);color:#fff;}.v8-article-check-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(48px,8vw,120px);align-items:center;}.v8-article-check h2{font-size:clamp(2rem,3vw,2.8rem);line-height:1.08;color:#fff;margin:0 0 18px;}.v8-article-check p{color:#b7bec2;}.v8-article-check ul{list-style:none;padding:0;margin:0;border-top:1px solid #3a4045;}.v8-article-check li{display:flex;align-items:center;gap:14px;padding:19px 0;border-bottom:1px solid #3a4045;font-size:.88rem;}.v8-article-check .icon{color:var(--red);width:17px;}
.v8-reference-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}.v8-reference-steps article{border-top:3px solid var(--red);background:#fff;padding:26px;box-shadow:var(--shadow-sm);min-height:220px;}.v8-reference-steps span{color:var(--red);font-size:.62rem;font-weight:850;}.v8-reference-steps h3{font-size:1.15rem;margin:36px 0 8px;}.v8-reference-steps p{font-size:.78rem;color:var(--muted);}
.v8-projectstart-direct{background:linear-gradient(135deg,#f3f5f6,#fff);}.v8-projectstart-direct-grid{display:grid;grid-template-columns:1fr .68fr;gap:clamp(45px,8vw,120px);align-items:center;}.v8-projectstart-direct h2{font-size:clamp(2rem,3vw,2.9rem);line-height:1.08;margin:0 0 18px;}.v8-start-card{background:var(--ink);color:#fff;padding:38px;min-height:310px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;}.v8-start-card:before{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.1);right:-110px;top:-100px;transform:rotate(19deg);}.v8-start-card>span{color:#efb6ba;font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em;}.v8-start-card>strong{font-size:1.55rem;line-height:1.15;margin:9px 0;}.v8-start-card p{color:#b8c0c4;font-size:.8rem;}.v8-start-card b{display:flex;align-items:center;gap:8px;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;}.v8-start-card .icon{width:15px;}

.template-service-detail .v8-service-intro{padding-top:clamp(86px,8vw,126px);}
.template-service-detail .v8-service-process{background:#eef1f2;}
.template-service-detail .timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.template-service-detail .timeline>div{background:#fff;padding:25px 22px;min-height:245px;border:0;position:relative;}.template-service-detail .timeline>div>span{color:var(--red);font-size:.63rem;font-weight:850;}.template-service-detail .timeline h3{font-size:1rem;margin:46px 0 8px;}.template-service-detail .timeline p{font-size:.74rem;color:var(--muted);}
.template-service-detail .v8-service-quality{background:#fff;}.template-service-detail .quality-boxes{grid-template-columns:repeat(2,1fr);gap:12px;}.template-service-detail .quality-boxes>div{min-height:180px;border-top:3px solid var(--red);background:#f5f7f8;}
.template-service-detail .v8-service-faq{background:#eef1f2;}
.template-service-hub .v8-scope .scope-list{background:#f0f2f3;padding:20px 24px;border-top:0;}
.template-project-detail .project-facts{position:relative;z-index:2;}.template-project-detail .case-grid{gap:clamp(45px,7vw,90px);}
.template-article .article-layout{grid-template-columns:minmax(0,1fr) 320px;gap:clamp(48px,7vw,95px);}.template-article .article-main>section{padding:35px 0;border-top:1px solid var(--line);}.template-article .article-main h2{max-width:720px;}


.hero-discipline-nav{position:absolute;z-index:5;right:max(22px,calc((100vw - min(var(--max-wide),94vw))/2));top:50%;transform:translateY(-48%);display:grid;width:178px;background:rgba(16,19,21,.52);border:1px solid rgba(255,255,255,.17);backdrop-filter:blur(12px) saturate(1.04);-webkit-backdrop-filter:blur(12px) saturate(1.04);}
.hero-discipline-nav:before{content:"Leistungsfelder";padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.68);font-size:.55rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;}
.hero-discipline-nav a{display:grid;grid-template-columns:27px 1fr;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.11);color:#fff;font-size:.62rem;font-weight:760;line-height:1.25;transition:background .22s var(--ease),padding-left .22s var(--ease),color .22s var(--ease);}
.hero-discipline-nav a:last-child{border-bottom:0;}
.hero-discipline-nav a span{color:#ef9da2;font-size:.54rem;letter-spacing:.08em;}
.hero-discipline-nav a:hover,.hero-discipline-nav a:focus-visible{background:rgba(207,17,27,.88);color:#fff;padding-left:18px;outline:0;}
.hero-media-status{position:absolute;right:max(22px,calc((100vw - min(var(--max-wide),94vw))/2));bottom:98px;z-index:5;color:rgba(255,255,255,.84);background:rgba(15,18,20,.62);border-left:2px solid var(--red);padding:7px 10px;font-size:.52rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}

@media(max-width:1380px){
  .hero-discipline-nav{display:none;}.hero-media-status{right:3vw;} 
  .desktop-nav>a,.nav-item>button{font-size:.7rem;}
  

  .services-grid{grid-template-columns:repeat(3,1fr);}
  .service-image{height:165px;}

  .desktop-nav>a,.nav-item>.nav-trigger{font-size:.68rem;}.mega{--mega-width:min(1160px,calc(100vw - 34px));}
  .mega-services-layout{grid-template-columns:1.15fr .85fr;}.mega-service-link{padding:15px 11px;}.mega-service-link small{font-size:.62rem;}

 .desktop-nav{gap:17px;}.desktop-nav>a,.desktop-nav .nav-item>.nav-trigger{font-size:11px;}.call{display:none;}
 .page-hero-inner{grid-template-columns:minmax(0,1fr) minmax(290px,.5fr);gap:55px;}
 .v8-service-stage>a{grid-column:span 6;}.v8-service-stage>a:nth-child(1),.v8-service-stage>a:nth-child(6){grid-column:span 6;}
}

.v8-site .page-hero.v8-page-hero,.v8-site .page-hero.v8-page-hero .page-hero-inner{min-height:100svh;}
.v8-related-section{border-top:1px solid var(--line);}
.v8-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.v8-related-grid>a{border:1px solid var(--line);background:#fff;transition:transform .32s var(--ease-spring),box-shadow .32s,border-color .25s;overflow:hidden;}
.v8-related-image{height:190px;overflow:hidden;background:#dfe3e5;}.v8-related-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.v8-related-grid>a>div:last-child{padding:24px;}.v8-related-grid span{color:var(--red);font-size:.59rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em;}.v8-related-grid h3{font-size:1.18rem;line-height:1.15;margin:10px 0 8px;}.v8-related-grid p{font-size:.76rem;color:var(--muted);min-height:50px;}.v8-related-grid b{display:inline-flex;align-items:center;gap:8px;color:var(--red);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;}.v8-related-grid b .icon{width:14px;}.v8-related-grid>a:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:#c5cbd0;}.v8-related-grid>a:hover img{transform:scale(1.055);}
.v8-contact-path-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:16px;}.v8-contact-path-grid article{border:1px solid var(--line);padding:clamp(30px,4vw,52px);min-height:490px;display:flex;flex-direction:column;}.v8-contact-path-grid article>span{color:var(--red);font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em;}.v8-contact-path-grid h3{font-size:clamp(1.55rem,2.3vw,2.1rem);line-height:1.1;margin:40px 0 13px;max-width:550px;}.v8-contact-path-grid p{color:var(--muted);font-size:.88rem;}.v8-contact-path-grid article>a:not(.btn){display:flex;flex-direction:column;border-top:1px solid var(--line);padding:17px 0;}.v8-contact-path-grid article>a:not(.btn):last-child{border-bottom:1px solid var(--line);}.v8-contact-path-grid article>a strong{font-size:1rem;}.v8-contact-path-grid article>a small{font-size:.66rem;color:var(--muted);}.v8-contact-path-grid .highlight{background:var(--ink);color:#fff;border-color:var(--ink);}.v8-contact-path-grid .highlight h3{color:#fff;}.v8-contact-path-grid .highlight p{color:#b8c0c4;}.v8-contact-path-grid .highlight ul{color:#d8dcde;font-size:.78rem;line-height:1.8;padding-left:18px;margin:15px 0 28px;}.v8-contact-path-grid .highlight .btn{margin-top:auto;width:max-content;}
.v8-location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,120px);align-items:center;}.v8-location-grid h2{font-size:clamp(2rem,3vw,2.9rem);line-height:1.08;margin:0 0 22px;}.v8-location-grid address{font-style:normal;font-size:1.2rem;font-weight:750;line-height:1.5;margin-bottom:18px;}.v8-location-grid p{color:var(--muted);}.v8-location-graphic{min-height:420px;background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:42px;display:flex;align-items:flex-end;justify-content:space-between;}.v8-location-graphic:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:56px 56px;}.v8-location-graphic>span{position:absolute;left:30px;top:18px;font-size:clamp(4rem,10vw,9rem);font-weight:850;letter-spacing:-.07em;color:rgba(255,255,255,.08);}.v8-location-graphic>div{position:relative;display:flex;flex-direction:column;}.v8-location-graphic strong{font-size:2rem;}.v8-location-graphic b{color:#efb6ba;}

@media(max-width:820px){
  .hero-media-status{display:none;} 
  .topline{display:none;}.header-main{height:78px;}.brand{width:110px;}.brand img{height:58px;}.header-cta{display:none;}
  .home-hero-bg{object-position:68% center;}
  .fact-strip div:nth-child(2){border-right:0;}.fact-strip div:nth-child(-n/**/+2){border-bottom:1px solid #373d42;}
  .services-grid{grid-template-columns:repeat(2,1fr);}.split-visual,.split-text,.content-two,.faq-layout,.cta-inner,.case-grid,.article-layout,.contact-layout,.pool-feature,.project-wizard{grid-template-columns:1fr;}.split-text>div:first-child{position:static;}.image-panel{height:450px;}.process-grid{grid-template-columns:1fr 1fr;}.audience-grid,.article-grid{grid-template-columns:1fr;}.pool-media{min-height:430px;}.cta-actions{justify-content:flex-start;}.four-grid,.values-grid{grid-template-columns:1fr 1fr;}.detail-grid{grid-template-columns:1fr 1fr;}.request-card,.case-side{position:static;}.project-facts .container{grid-template-columns:1fr 1fr;}.project-facts .container>div:nth-child(2){border-right:0;}.footer-grid{grid-template-columns:1fr 1fr;}.footer-brand{grid-column:1/-1;}.footer-grid>div:last-child{grid-column:auto;}.page-hero.with-image,.page-hero.with-image .page-hero-inner{min-height:430px;}.service-list>a{grid-template-columns:50px 1fr auto;}.quality-boxes{grid-template-columns:1fr;}.contact-layout{gap:40px;}.navigator-result{grid-template-columns:1fr;}.wizard-side,.wizard-main{padding:34px;}.wizard-options{grid-template-columns:1fr;}

  
  
  
  
  
  
  
  .scope-list{grid-template-columns:1fr;}
  
.mobile-menu{height:calc(100vh - 78px);top:78px;}.site-header.is-scrolled .mobile-menu{top:68px;}
  .content-two,.split-text,.split-visual,.faq-layout,.cta-inner,.case-grid,.article-layout,.contact-layout,.pool-feature,.project-wizard,.navigator-shell{grid-template-columns:1fr;}
  .request-card,.case-side,.split-text>div:first-child{position:static;}
  .process-wrap{grid-template-columns:1fr;gap:38px;}
  .process-list{width:100%;min-width:0;}
  .process-step{grid-template-columns:48px minmax(0,1fr);gap:14px;}
  .process-step .icon{display:none;}
  .project-card,.project-card.wide{grid-column:span 12;}
  .project-card.wide{display:block;}
  .project-card.wide .project-image{height:280px;min-height:0;}
  .home .site-header:not(.is-scrolled){background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,.08));}
  .home .site-header:not(.is-scrolled) .header-main{background:transparent;backdrop-filter:none;border-bottom:0;}
  .header-actions{margin-left:auto;}

  .image-hero-page .site-header:not(.is-scrolled) .topline{display:none;}
  .image-hero-page .site-header:not(.is-scrolled) .header-main{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;}
  
  

  .home-hero{height:auto;min-height:100svh;}.home-hero-inner{min-height:100svh;padding-top:var(--header-offset);align-items:flex-start;}
  
  .home-hero-fade{background:linear-gradient(180deg,rgba(255,255,255,.91) 0%,rgba(255,255,255,.8) 53%,rgba(255,255,255,.18) 100%);}
  .fact-strip{grid-template-columns:1fr 1fr;}
  .image-hero-page .page-hero.with-image,.image-hero-page .page-hero.with-image .page-hero-inner{min-height:100svh;}
  .image-hero-page .page-hero-inner{padding-top:calc(var(--header-offset) + 38px);padding-bottom:48px;}
  .project-request-shell{grid-template-columns:1fr;}.request-rail{min-height:auto;padding:31px 25px;}.request-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}.request-progress>div{grid-template-columns:25px 1fr;padding:10px 4px;}.request-rail-note{position:static;margin-top:20px;}.request-stage{padding:30px 24px;}
  .request-choice-grid-3{grid-template-columns:1fr 1fr;}

 :root{--v8-header-total:72px;}
 .container,.container.wide{width:calc(100% - 40px);}
 .section{padding:68px 0;}.section.compact{padding:52px 0;}
 .page-hero,.page-hero.with-image,.page-hero .page-hero-inner,.page-hero.with-image .page-hero-inner{min-height:100svh;}
 .page-hero-inner{width:calc(100% - 40px);padding-top:calc(var(--v8-header-total) + 44px);padding-bottom:42px;gap:27px;}
 .page-hero h1{font-size:clamp(2.25rem,9vw,3.15rem);line-height:1.01;max-width:680px;}.page-hero p{font-size:.94rem;}.hero-context-panel{padding:22px 23px;}.hero-context-panel h2{font-size:1.3rem;margin-bottom:16px;}.hero-context-grid{display:block;}.hero-context-grid>div{border-right:0;border-bottom:1px solid var(--line);padding:10px 0;}.with-image .hero-context-grid>div{border-color:rgba(255,255,255,.14);}.hero-context-grid>div:last-child{border-bottom:0;}.hero-context-link{margin-top:16px;}
 .home-hero-copy{width:100%;max-width:620px;padding:74px 0 190px;padding-top:92px;}.home-hero-copy h1{font-size:clamp(2.25rem,9vw,3.1rem);max-width:600px;}.home-hero-copy p{font-size:.93rem;}
 .section-heading{margin-bottom:34px;}.section-heading h2,.copy-panel h2,.split-text h2,.faq-layout h2,.cta-section h2,.navigator-copy h2,.process-intro h2{font-size:clamp(1.85rem,7vw,2.35rem);line-height:1.08;}.section-heading p{font-size:.91rem;}
 .v8-service-stage{grid-template-columns:1fr;}.v8-service-stage>a,.v8-service-stage>a:nth-child(1),.v8-service-stage>a:nth-child(6){grid-column:auto;min-height:420px;}.v8-service-stage>a:before{font-size:3.9rem;}
 .v8-decision-grid,.v8-case-grid,.v8-audience-grid,.v8-principle-grid,.v8-reference-steps{grid-template-columns:1fr;}.v8-decision-grid article:last-child,.v8-case-grid article:last-child,.v8-audience-grid article:last-child,.v8-principle-grid article:last-child{grid-column:auto;}.v8-decision-grid article,.v8-case-grid article,.v8-audience-grid article,.v8-principle-grid article{min-height:210px;}.v8-decision-grid h3,.v8-case-grid h3,.v8-audience-grid h3,.v8-principle-grid h3{margin-top:32px;}
 .v8-preflight{padding:25px;}.v8-preflight ul{grid-template-columns:1fr;}
 .template-service-detail .timeline{grid-template-columns:1fr;}.template-service-detail .timeline>div:last-child{grid-column:auto;}.template-service-detail .quality-boxes{grid-template-columns:1fr;}
 .v8-reference-steps article{min-height:180px;}
.v8-related-grid{grid-template-columns:1fr;}.v8-related-grid>a:last-child{grid-column:auto;}.v8-contact-path-grid article{min-height:auto;}.v8-location-graphic{min-height:330px;}}

.template-projectstart .project-request-hero .page-hero-copy-block>p{max-width:790px;}

.template-projectstart .project-request-hero .hero-context-panel h2{font-size:1.48rem;}

.article-depth-section{padding-top:clamp(78px,8vw,120px);}
.article-depth-layout{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:clamp(48px,7vw,100px);align-items:start;}
.article-main{max-width:880px;min-width:0;}
.article-main>.article-lead{font-size:clamp(1.13rem,1.5vw,1.3rem);line-height:1.65;color:#2f363b;margin:0 0 30px;max-width:830px;}
.article-summary{background:linear-gradient(135deg,#f2f4f5,#e8edef);border-left:4px solid var(--red);padding:28px 30px;margin:0 0 58px;position:relative;overflow:hidden;}
.article-summary:after{content:"";position:absolute;right:-46px;top:-58px;width:150px;height:150px;border:1px solid rgba(207,17,27,.14);transform:rotate(24deg);}
.article-summary>span{display:block;color:var(--red);font-size:.62rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;margin-bottom:14px;}
.article-summary ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:13px 30px;}
.article-summary li{position:relative;padding-left:18px;color:#3e474d;font-size:.83rem;line-height:1.55;}
.article-summary li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:2px;background:var(--red);}
.article-main>section{position:relative;padding:48px 0;border-top:1px solid var(--line);border-bottom:0;scroll-margin-top:118px;}
.article-main>section:last-child{border-bottom:1px solid var(--line);}
.article-section-number{display:block;color:var(--red);font-size:.61rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;}
.article-main h2{font-size:clamp(1.65rem,2.35vw,2.18rem);line-height:1.12;letter-spacing:-.032em;max-width:820px;margin:0 0 18px;color:var(--ink);}
.article-main p{font-size:.94rem;line-height:1.82;color:#59636a;max-width:830px;}
.article-main p+p{margin-top:16px;}
.article-checklist{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;border-top:1px solid var(--line);}
.article-checklist li{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);font-size:.82rem;line-height:1.5;color:#333c42;}
.article-checklist .icon{width:16px;height:16px;color:var(--red);flex:0 0 auto;margin-top:2px;}
.article-action-list{margin-top:28px;background:#171b1e;color:#fff;padding:28px;}
.article-action-list>span{display:block;color:#efb3b8;font-size:.6rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;margin-bottom:13px;}
.article-action-list ul{list-style:none;padding:0;margin:0;border-top:1px solid #363d42;}
.article-action-list li{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #363d42;align-items:start;}
.article-action-list b{color:var(--red);font-size:.66rem;letter-spacing:.08em;}.article-action-list li span{font-size:.82rem;line-height:1.5;color:#e2e5e7;}
.article-callout{margin:30px 0 0;padding:26px 28px 27px;border:1px solid #d9dee1;border-left:4px solid var(--red);background:#fff;box-shadow:0 14px 38px rgba(21,24,27,.06);}
.article-callout span{display:block;color:var(--red);font-size:.61rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px;}
.article-callout p{margin:0;color:#343d43;font-size:.88rem;line-height:1.65;}
.article-table-wrap{overflow-x:auto;margin-top:28px;border:1px solid var(--line);}
.article-table-wrap table{width:100%;border-collapse:collapse;min-width:560px;background:#fff;}
.article-table-wrap th{background:#171b1e;color:#fff;text-align:left;padding:15px 17px;font-size:.66rem;text-transform:uppercase;letter-spacing:.075em;}
.article-table-wrap td{padding:15px 17px;border-top:1px solid var(--line);font-size:.8rem;line-height:1.5;color:#485158;vertical-align:top;}
.article-table-wrap td:first-child{font-weight:750;color:var(--ink);width:34%;}
.article-process{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);}
.article-process li{min-height:138px;padding:18px 16px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:24px;background:#fff;}
.article-process li:last-child{border-right:0;}.article-process span{color:var(--red);font-size:.62rem;font-weight:850;}.article-process strong{font-size:.76rem;line-height:1.4;color:#343c42;}
.article-disclaimer{background:#f2f4f5;margin-top:42px;padding:32px;border-top:0;}
.article-disclaimer h2{font-size:1.35rem;}.article-disclaimer p{font-size:.82rem;margin:0;}
.article-side{position:sticky;top:94px;align-self:start;height:max-content;max-height:calc(100svh - 118px);overflow:auto;background:#171b1e;color:#fff;padding:25px 24px 24px;border-top:3px solid var(--red);box-shadow:0 24px 60px rgba(21,24,27,.15);scrollbar-width:thin;}
.article-side .section-label{color:#fff;margin:22px 0 10px;font-size:.58rem;}
.article-progress>div:first-child{display:flex;justify-content:space-between;gap:14px;color:#aeb6bb;font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.article-progress b{color:#fff;font-size:.58rem;}.article-progress-track{height:2px;background:#363d42;margin-top:10px;overflow:hidden;}.article-progress-track i{display:block;width:0;height:100%;background:var(--red);transition:width .12s linear;}
.article-toc{display:flex;flex-direction:column;border-top:1px solid #373e43;}
.article-toc a{display:grid;grid-template-columns:28px 1fr;gap:9px;padding:10px 0;border-bottom:1px solid #373e43;color:#aeb6bb;font-size:.68rem;line-height:1.35;transition:color .22s,padding-left .22s;}
.article-toc a span{color:#737d83;font-size:.56rem;font-weight:850;padding-top:2px;}.article-toc a:hover,.article-toc a.active{color:#fff;padding-left:4px;}.article-toc a.active span{color:var(--red);}
.article-side-cta{margin-top:24px;padding-top:21px;border-top:1px solid #373e43;}
.article-side-cta>span{display:block;color:var(--red);font-size:.58rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;}
.article-side-cta strong{display:block;font-size:.98rem;line-height:1.25;color:#fff;}.article-side-cta p{font-size:.68rem;line-height:1.55;color:#9fa8ad;margin:8px 0 15px;}
.article-side-cta a{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#fff;font-size:.61rem;font-weight:850;text-transform:uppercase;letter-spacing:.075em;}.article-side-cta .icon{width:14px;color:var(--red);}

@media(max-width:620px){
 .template-projectstart .project-request-hero h1{font-size:2.25rem;}.template-projectstart .project-request-hero .hero-context-panel{padding:21px;}
 .article-summary{padding:23px 21px;}.article-summary ul,.article-checklist{grid-template-columns:1fr;}.article-main>section{padding:38px 0;}.article-main h2{font-size:1.72rem;}.article-main p{font-size:.9rem;}.article-side{padding:22px 20px;}.article-toc{grid-template-columns:1fr;}.article-toc a:nth-child(odd){border-right:0;padding-right:0;}.article-toc a:nth-child(even){padding-left:0;}.article-process{grid-template-columns:1fr;}.article-process li,.article-process li:nth-child(2n){border-right:0;}.article-process li:last-child{grid-column:auto;}.article-table-wrap{margin-left:-14px;margin-right:-14px;}
}

.template-projectstart .project-request-hero .page-hero-inner{gap:clamp(42px,6vw,92px);max-width:var(--max-wide);width:min(var(--max-wide),94vw);grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr);column-gap:clamp(48px,6vw,96px);}
.template-projectstart .project-request-hero .page-hero-copy-block{max-width:1000px;width:100%;}
.template-projectstart .project-request-hero h1{font-size:clamp(2.55rem,3.7vw,3.75rem);line-height:1.015;max-width:1000px;text-wrap:balance;}
.template-projectstart .project-request-hero .hero-context-panel{width:min(100%,340px);padding:32px 31px;justify-self:end;}

@media(max-width:900px){
 .template-projectstart .project-request-hero .hero-context-panel{justify-self:start;width:min(100%,760px);}
 .article-depth-layout{grid-template-columns:1fr;}.article-side{position:relative;top:auto;max-height:none;order:-1;}.article-toc{display:grid;grid-template-columns:1fr 1fr;}.article-toc a:nth-child(odd){border-right:1px solid #373e43;padding-right:12px;}.article-toc a:nth-child(even){padding-left:12px;}

  .template-projectstart .project-request-hero .page-hero-inner{align-content:center;width:calc(100% - 40px);grid-template-columns:1fr;}
}
@media(max-width:520px){
  .template-projectstart .project-request-hero .page-hero-inner{width:calc(100% - 28px);}
}

:root{--red:#cf111b;--red-strong:#aa0c14;--red-soft:#fff1f2;--ink:#15181b;--ink-2:#22272b;--steel:#3d454b;--text:#262c31;--muted:#687078;--line:#dce1e4;--line-dark:#343a3f;--soft:#f4f6f7;--soft-2:#eef1f2;--white:#fff;--max:1320px;--max-wide:1480px;--pad:clamp(20px,4vw,58px);--shadow-sm:0 10px 30px rgba(21,24,27,.08);--shadow-md:0 22px 62px rgba(21,24,27,.13);--shadow-lg:0 34px 90px rgba(21,24,27,.18);--ease:cubic-bezier(.22,.8,.24,1);--ease-spring:cubic-bezier(.16,1,.3,1);--header-h:116px;--header-main-height:82px;--header-top-height:32px;--header-offset:114px;--mega-width:min(1240px,calc(100vw - 48px));--v8-header-main:84px;--v8-header-top:32px;--v8-header-total:116px;--v8-radius:0px;--v8-grid:rgba(33,40,45,.055);--audit-max:1480px;--audit-reading:780px;--audit-radius:2px;--audit-focus:0 0 0 3px rgba(207,17,27,.22);}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--red);outline-offset:4px;box-shadow:var(--audit-focus);}

.page-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);display:flex;align-items:stretch;background:#eef1f2;border:0;min-height:clamp(480px,68svh,720px);}
.page-hero .page-hero-inner{min-height:inherit;}
.template-projectstart .page-hero,.template-home .home-hero{min-height:100svh;}
.template-projectstart .page-hero .page-hero-inner{min-height:100svh;}
.template-system .page-hero,.template-utility .page-hero{min-height:440px;}

.hub-proof{border-bottom:1px solid var(--line);}
.hub-proof-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(520px,1.15fr);gap:clamp(54px,8vw,126px);align-items:start;}
.hub-proof-grid .lead{max-width:680px;}
.hub-check-columns{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);}
.hub-check-columns article{padding:clamp(26px,3vw,42px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;}
.hub-check-columns h3{font-size:1.08rem;margin:0 0 20px;}
.hub-check-columns ul,.hub-subtopic-list ul,.audience-specific ul{list-style:none;padding:0;margin:0;}
.hub-check-columns li,.hub-subtopic-list li,.audience-specific li{position:relative;padding:10px 0 10px 23px;border-bottom:1px solid #e6e8e9;color:var(--muted);font-size:.84rem;}
.hub-check-columns li:before,.hub-subtopic-list li:before,.audience-specific li:before{content:"";position:absolute;left:0;top:16px;width:8px;height:8px;border-left:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(-45deg);}
.hub-subtopics{border-top:1px solid var(--line);}
.hub-subtopic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);}
.hub-subtopic-list article{position:relative;padding:clamp(30px,4vw,54px);background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);scroll-margin-top:120px;min-height:360px;}
.hub-subtopic-list article:nth-child(4n/**/+2),.hub-subtopic-list article:nth-child(4n/**/+3){background:#f4f5f5;}
.subtopic-index{display:block;color:var(--red);font-size:.68rem;font-weight:850;letter-spacing:.12em;margin-bottom:36px;}
.hub-subtopic-list h3{font-size:clamp(1.35rem,2vw,1.85rem);margin:0 0 10px;}
.subtopic-focus{font-weight:650;color:#30363a;margin-bottom:22px;}
.hub-subtopic-list a{display:inline-flex;margin-top:26px;color:var(--red);font-weight:800;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:5px;}

.editorial-next{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.editorial-next-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.85fr);gap:80px;align-items:end;}
.editorial-next-inner h2{max-width:750px;}
.editorial-next-actions{display:grid;border-top:1px solid var(--line);}
.editorial-next-actions a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font-size:.78rem;font-weight:750;}
.editorial-next-actions a:after{content:"↗";color:var(--red);font-size:1.15rem;}

.evidence-note{display:grid;grid-template-columns:180px 1fr;gap:28px;border-top:1px solid var(--line);padding-top:24px;margin-top:34px;}
.evidence-note strong{color:var(--red);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;}
.evidence-note p{margin:0;color:var(--muted);max-width:920px;font-size:.82rem;}
.media-disclosure{position:absolute;left:12px;bottom:12px;z-index:3;padding:7px 9px;background:rgba(21,24,27,.86);color:#fff;font-size:.52rem;letter-spacing:.05em;text-transform:uppercase;backdrop-filter:none;}
.project-image,.project-card>a,.project-card .project-image{position:relative;}
.case-verification{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.case-verification-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(60px,9vw,140px);}
.case-verification-grid dl{display:grid;grid-template-columns:170px 1fr;margin:0;border-top:1px solid var(--line);}
.case-verification-grid dt,.case-verification-grid dd{margin:0;padding:16px 0;border-bottom:1px solid var(--line);font-size:.78rem;}
.case-verification-grid dt{color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.case-verification-grid dd{color:var(--muted);}

.audience-specific-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.7fr);gap:clamp(60px,9vw,150px);align-items:start;}
.audience-specific-grid ul{max-width:760px;margin-top:28px;}
.audience-proof-card{background:var(--ink);color:#fff;padding:clamp(32px,4vw,52px);border-left:3px solid var(--red);}
.audience-proof-card h3{color:#fff;}.audience-proof-card p{color:#b7bec2;}
.audience-proof-card a{display:inline-flex;margin-top:22px;background:#fff;color:var(--ink);padding:15px 18px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;}

.proof-register{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.proof-register-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(60px,9vw,140px);}
.proof-register-grid dl{display:grid;grid-template-columns:145px 1fr;margin:0;}
.proof-register-grid dt,.proof-register-grid dd{margin:0;padding:15px 0;border-bottom:1px solid #d8dcde;font-size:.8rem;}
.proof-register-grid dt{color:var(--red);font-weight:800;}.proof-register-grid dd{color:var(--muted);}

.project-prep-grid{display:grid;grid-template-columns:1fr .9fr .7fr;gap:clamp(36px,6vw,90px);align-items:start;}
.project-prep ol{counter-reset:prep;list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.project-prep li{counter-increment:prep;padding:15px 0 15px 46px;border-bottom:1px solid var(--line);position:relative;font-size:.84rem;}
.project-prep li:before{content:counter(prep,decimal-leading-zero);position:absolute;left:0;color:var(--red);font-size:.66rem;font-weight:850;}
.project-prep aside{background:#f2f3f3;padding:30px;border-top:3px solid var(--red);}
.form-error-summary{background:#fff1f1;border-left:4px solid var(--red);padding:18px 22px;margin:0 0 24px;}
.form-error-summary h3{font-size:1rem;margin:0 0 8px;}.form-error-summary ul{margin:0;padding-left:18px;}.form-error-summary a{color:#8d0910;text-decoration:underline;}
[aria-invalid="true"]{border-color:var(--red);box-shadow:0 0 0 2px rgba(207,17,27,.12);}
.field-help{font-size:.72rem;color:var(--muted);line-height:1.55;margin-top:8px;}

.article-byline{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.28);}
.article-byline span{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:#d8dcde;}

.article-sources ul{padding-left:20px;color:var(--muted);}

.contact-choice-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);}
.contact-choice-grid>a{padding:clamp(32px,5vw,70px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s,color .25s;}
.contact-choice-grid>a:hover{background:var(--ink);color:#fff;}.contact-choice-grid>a:hover p{color:#c4c9cc;}.contact-choice-grid b{display:block;margin-top:28px;color:var(--red);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;}
.media-status-page table{width:100%;border-collapse:collapse;margin-top:28px;}.media-status-page th,.media-status-page td{padding:13px;text-align:left;border:1px solid var(--line);font-size:.78rem;}.media-status-page th{background:var(--ink);color:#fff;}

.v8-combination-grid,.v8-decision-grid,.v8-case-grid,.v8-audience-grid,.v8-principle-grid{gap:1px;background:var(--line);}
.v8-combination-grid article,.v8-decision-grid article,.v8-case-grid article,.v8-audience-grid article,.v8-principle-grid article{border:0;box-shadow:none;}

body.has-mobile-cta{padding-bottom:76px;}
.mobile-bottom-cta{display:none;backdrop-filter:none;}

@media(max-width:1100px){
  .hub-proof-grid,.editorial-next-inner,.case-verification-grid,.audience-specific-grid,.proof-register-grid{grid-template-columns:1fr;gap:42px;}
  .project-prep-grid{grid-template-columns:1fr 1fr;}.project-prep-grid aside{grid-column:1/-1;}
  .hub-subtopic-list{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  .page-hero,.page-hero .page-hero-inner{min-height:clamp(420px,72svh,620px);}
  .template-system .page-hero,.template-utility .page-hero{min-height:360px;}
  .hub-check-columns,.hub-subtopic-list,.contact-choice-grid{grid-template-columns:1fr;}
  .hub-subtopic-list article{min-height:auto;padding:32px 24px;}
  .editorial-next-actions{margin-top:8px;}
  .evidence-note{grid-template-columns:1fr;gap:8px;}
  .case-verification-grid dl,.proof-register-grid dl{grid-template-columns:1fr;}
  .case-verification-grid dt,.proof-register-grid dt{padding-bottom:4px;border-bottom:0;}
  .case-verification-grid dd,.proof-register-grid dd{padding-top:0;}
  .project-prep-grid{grid-template-columns:1fr;}
  .project-prep-grid aside{grid-column:auto;}
  .article-byline{display:grid;gap:7px;}
  .media-disclosure{font-size:.48rem;max-width:calc(100% - 24px);}
}

.header-theme-light .site-header:not(.is-scrolled) .header-bar:before{background:rgba(255,255,255,.18);border-bottom-color:rgba(255,255,255,.32);box-shadow:none;}
.header-theme-dark .site-header:not(.is-scrolled) .header-bar:before{background:rgba(10,13,15,.22);border-bottom-color:rgba(255,255,255,.11);box-shadow:none;}
.site-header:not(.is-scrolled) .header-bar{backdrop-filter:none;-webkit-backdrop-filter:none;}
.site-header:not(.is-scrolled) .header-bar:before{backdrop-filter:blur(10px) saturate(1.04);-webkit-backdrop-filter:blur(10px) saturate(1.04);}

@media(max-width:1120px){
  
  
  .section-heading{grid-template-columns:1fr;gap:20px;}.fact-strip{width:min(var(--max),calc(100% - var(--pad)*2));}
  .project-card{grid-column:span 6;}.footer-grid{grid-template-columns:1.3fr 1fr 1fr;}.footer-grid>div:last-child{grid-column:2/4;}
  .navigator-shell{grid-template-columns:1fr;}.navigator-copy{min-height:340px;}.process-list{margin-top:10px;}

  .home .site-header:not(.is-scrolled) .header-main{background:transparent;}
  .home-hero-copy{width:54%;}
  .project-card.wide .project-image{height:300px;}
.site-header.is-scrolled .mobile-menu{inset:72px 0 0;top:72px;}
  .header-actions{margin-left:auto;}
  .process-wrap{grid-template-columns:1fr;}
  .process-intro{position:static;}
  .project-card.wide{grid-column:span 12;min-height:0;}

  
  .site-header .topline{display:none;}
  .header-bar{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;}
  
  .desktop-nav{display:none;}.menu-toggle{display:block;}.call{display:none;}.header-main{height:78px;}
  .site-header.is-scrolled{--header-main-height:68px;--header-offset:68px;}.site-header.is-scrolled .header-main{height:68px;}
  
  .project-request-shell{grid-template-columns:260px minmax(0,1fr);}.request-rail{padding:32px 25px;}.request-rail-note{left:25px;right:25px;}

  .header-theme-light .site-header:not(.is-scrolled) .header-bar{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;}
  .header-theme-dark .site-header:not(.is-scrolled) .header-bar{background:transparent;border-bottom-color:transparent;}
  .mobile-menu{display:block;top:var(--header-offset);height:calc(100svh - var(--header-offset));min-height:calc(100svh - var(--header-offset));bottom:auto;overflow-y:auto;overscroll-behavior:contain;}
  .mobile-menu-inner{min-height:100%;background:rgba(255,255,255,.985);}

 :root{--header-top-height:0px;--header-main-height:78px;--header-offset:78px;--v8-header-total:78px;}
 .section-heading,.v8-decision-heading{grid-template-columns:1fr;gap:22px;align-items:start;}.section-heading h2,.v8-decision-heading h2{max-width:820px;}
 .page-hero-inner{grid-template-columns:1fr;gap:34px;align-content:center;padding-top:calc(var(--v8-header-total) + 55px);padding-bottom:52px;}
 .page-hero-copy-block{max-width:800px;}.hero-context-panel{max-width:760px;width:100%;padding:25px 28px;}.hero-context-panel h2{font-size:1.45rem;}.hero-context-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);}.hero-context-grid>div{padding:13px 15px;border-bottom:0;border-right:1px solid var(--line);}.hero-context-grid>div:last-child{border-right:0;}.with-image .hero-context-grid>div{border-color:rgba(255,255,255,.14);}
 .section-heading h2,.copy-panel h2,.split-text h2,.faq-layout h2,.cta-section h2,.navigator-copy h2,.process-intro h2{font-size:clamp(2rem,4.4vw,2.65rem);}
 .v8-decision-grid,.v8-case-grid,.v8-audience-grid,.v8-principle-grid{grid-template-columns:1fr 1fr;}.v8-decision-grid article:last-child,.v8-case-grid article:last-child,.v8-audience-grid article:last-child,.v8-principle-grid article:last-child{grid-column:1/-1;}
 .v8-preflight,.v8-article-check-grid,.v8-projectstart-direct-grid{grid-template-columns:1fr;}
 .v8-reference-steps{grid-template-columns:1fr 1fr;}.v8-combination-grid{grid-template-columns:1fr;}
 .template-service-detail .timeline{grid-template-columns:1fr 1fr;}.template-service-detail .timeline>div:last-child{grid-column:1/-1;}
 .template-article .article-layout{grid-template-columns:1fr;}.template-article .article-side{position:static;}

 .split-text,.content-two,.split-visual,.faq-layout,.contact-layout{grid-template-columns:1fr;}.split-text>div:first-child,.request-card{position:static;}.v8-related-grid{grid-template-columns:1fr 1fr;}.v8-related-grid>a:last-child{grid-column:1/-1;}.v8-contact-path-grid,.v8-location-grid{grid-template-columns:1fr;}

 
 .template-projectstart .project-request-hero h1{font-size:clamp(2.45rem,4.5vw,3.35rem);}
 .article-depth-layout{grid-template-columns:minmax(0,1fr) 260px;gap:46px;}
 .article-process{grid-template-columns:1fr 1fr;}.article-process li{border-bottom:1px solid var(--line);}.article-process li:nth-child(2n){border-right:0;}.article-process li:last-child{grid-column:1/-1;border-bottom:0;}

  .template-projectstart .project-request-hero .page-hero-inner{gap:38px;max-width:none;width:92vw;grid-template-columns:minmax(0,1fr) minmax(270px,.42fr);column-gap:38px;}

  .site-header .desktop-nav{display:none;}
  .site-header .menu-toggle{display:block;margin-left:auto;flex:0 0 44px;}
  .site-header .call{display:none;}
  .site-header .header-cta{display:none;}
  .site-header .header-main{justify-content:space-between;}
  .site-header .brand{margin-right:auto;}
}
@media(max-width:560px){
  .container{width:min(100% - 34px,var(--max));}.section-heading{margin-bottom:34px;}
  .hero-kicker{font-size:.59rem;line-height:1.45;letter-spacing:.115em;}.btn{width:100%;}.hero-proof{flex-direction:column;gap:7px;}
  .fact-strip span{font-size:.56rem;}.service-content p{min-height:auto;}.image-panel{height:360px;}.process-grid{grid-template-columns:1fr;}.process-step .icon{display:none;}.four-grid,.values-grid,.detail-grid{grid-template-columns:1fr;}.pool-copy{padding:54px 24px;}.pool-points{grid-template-columns:1fr;}.project-facts .container{grid-template-columns:1fr;}.project-facts .container>div{border-right:0;border-bottom:1px solid #353b40;}.form-grid{grid-template-columns:1fr;}.form-grid .full{grid-column:auto;}.footer-grid{grid-template-columns:1fr;}.footer-grid>div:last-child{grid-column:auto;}.footer-bottom{flex-direction:column;gap:12px;}.footer-bottom div{flex-wrap:wrap;}.service-list>a{grid-template-columns:38px 1fr;}.service-list>a>.icon{display:none;}.service-list h2{font-size:1.4rem;}.service-list p{font-size:.79rem;}.example-list>div{grid-template-columns:1fr;}.article-card{min-height:240px;}.navigator-copy{padding:34px 25px;min-height:320px;}.navigator-form{padding:30px 24px;}.choice-row{display:grid;grid-template-columns:1fr;}.navigator-copy .navigator-index{grid-template-columns:1fr;}.mobile-bottom-cta a{flex:1;color:#fff;padding:13px 10px;text-align:center;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;}.mobile-bottom-cta a:first-child{background:var(--red);}.back-top{bottom:72px;}

  
  .section.compact{padding:46px 0;}
  
  .home .site-header:not(.is-scrolled) .topline{display:none;}
  .home-hero{min-height:760px;}
  .home-hero-inner{min-height:620px;padding-top:76px;align-items:flex-start;}
  
  
  .home-hero-copy p{font-size:.87rem;}
  .home-hero-fade{background:linear-gradient(180deg,rgba(255,255,255,.91) 0%,rgba(255,255,255,.82) 49%,rgba(255,255,255,.22) 100%);}
  .home-hero-bg{object-position:61% bottom;}
  
  
  
  .services-grid{grid-template-columns:1fr;}
  .service-image{height:190px;}
  .project-image,.project-card.wide .project-image{height:250px;min-height:0;}
  .page-hero{min-height:310px;}
  .page-hero.with-image,.page-hero.with-image .page-hero-inner{min-height:370px;}
  
  .scope-list>li{padding:11px 0;}
  .detail-card,.audience-grid>a{min-height:0;}

  .process-step{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:18px 0;}
  .process-step>span{padding-top:3px;}
  .process-step h3{font-size:1rem;}
  .process-step p{font-size:.77rem;}
  .content-two,.split-text{gap:34px;}
  .request-card{padding:25px;}
  .mobile-bottom-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:900;background:rgba(21,24,27,.95);box-shadow:0 18px 50px rgba(0,0,0,.25);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;}
  .mobile-bottom-cta.visible{opacity:1;visibility:visible;transform:none;}

  .image-hero-page .page-hero.with-image,.image-hero-page .page-hero.with-image .page-hero-inner{min-height:440px;}
  .image-hero-page .page-hero-inner{padding-top:106px;}

  :root{--header-main-height:72px;--header-offset:72px;}.site-header.is-scrolled{--header-main-height:64px;--header-offset:64px;}
  .header-main{height:72px;}.brand{width:100px;}.brand img{height:54px;}
  
  .fact-strip{grid-template-columns:1fr 1fr;min-height:0;width:calc(100% - 28px);}.fact-strip div{padding:11px 12px;}.fact-strip strong{font-size:.92rem;}
  .header-theme-light .page-hero:not(.with-image),.header-theme-light .page-hero:not(.with-image) .page-hero-inner{min-height:82svh;}
  .request-stage{padding:27px 18px;}.request-rail{padding:27px 20px;}.request-rail h2{font-size:1.48rem;}.request-progress{grid-template-columns:1fr 1fr;}.request-progress>div{padding:9px 3px;}.request-choice-grid,.request-choice-grid-3,.request-field-grid,.request-summary{grid-template-columns:1fr;}.request-choice>span{min-height:112px;}.request-step-head h3{font-size:1.65rem;}.request-actions{align-items:stretch;}.request-actions .btn{width:auto;flex:1;padding-inline:13px;gap:8px;font-size:.62rem;}

 .container,.container.wide{width:calc(100% - 28px);}
 .page-hero-inner{min-height:310px;padding:76px 0 34px;width:calc(100% - 28px);padding-top:calc(var(--v8-header-total) + 34px);padding-bottom:30px;}
 .page-hero h1{font-size:2.2rem;letter-spacing:-.04em;}.page-hero p{font-size:.88rem;line-height:1.62;}.breadcrumbs{display:none;}.page-hero .section-label{font-size:.58rem;}
 .hero-context-panel{padding:19px;}.hero-context-panel h2{font-size:1.18rem;}.hero-context-grid strong{font-size:.75rem;}.hero-context-panel>span,.hero-context-grid span,.hero-context-link{font-size:.56rem;}
 .home-hero-copy{padding-top:52px;padding:72px 0 190px;}.home-hero-copy h1{line-height:1.04;font-size:2.2rem;}.hero-actions{flex-direction:column;align-items:stretch;display:grid;grid-template-columns:1fr;}.hero-actions .btn{width:100%;}
 .section{padding:58px 0;}.section-heading h2,.copy-panel h2,.split-text h2,.faq-layout h2,.cta-section h2,.navigator-copy h2,.process-intro h2{font-size:1.9rem;}.section-label{font-size:.58rem;}
 .v8-service-stage>a{min-height:380px;}.v8-service-stage>a>div{left:21px;right:21px;bottom:22px;}.v8-service-stage h3{font-size:1.28rem;}.v8-service-stage p{font-size:.72rem;}
 .v8-decision-heading h2,.v8-article-check h2,.v8-projectstart-direct h2{font-size:1.9rem;}.v8-decision-grid article,.v8-case-grid article,.v8-audience-grid article,.v8-principle-grid article{padding:24px;}.v8-preflight{padding:22px;}.v8-preflight h3{font-size:1.08rem;}
 .v8-start-card{padding:28px;min-height:270px;}.v8-combination-grid article{min-height:280px;padding:26px;}
 .desktop-nav>a,.desktop-nav .nav-item>.nav-trigger{font-size:11px;}

  .site-header .header-main{height:84px;padding-inline:18px;}
  .site-header.is-scrolled .header-main{height:68px;}
  .site-header .brand{width:100px;}
  .site-header .brand img{height:62px;max-width:100%;}
  .site-header.is-scrolled .brand img{height:50px;}
  .mobile-menu{top:84px;}
  .site-header.is-scrolled .mobile-menu{top:68px;}
}

/* V14 — Bewertungen und semantischer Footer */
.footer-rating{display:inline-flex;align-items:center;gap:.48rem;margin-top:1rem;padding:.72rem .85rem;border:1px solid rgba(255,255,255,.16);color:#fff;text-decoration:none;background:rgba(255,255,255,.04);transition:background .25s ease,border-color .25s ease,transform .25s ease}.footer-rating:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.34);transform:translateY(-2px)}.footer-rating-score{font-size:1.08rem;font-weight:800;letter-spacing:-.03em}.footer-rating-stars{color:#f5b700;letter-spacing:.05em;font-size:.78rem}.footer-rating>span:last-child{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.72)}
.reviews-editorial{position:relative;overflow:hidden;background:#f1f0ec;border-top:1px solid #d9d9d5;border-bottom:1px solid #d9d9d5}.reviews-editorial:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,22,24,.035) 1px,transparent 1px),linear-gradient(rgba(18,22,24,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,#000,transparent 72%);pointer-events:none}.reviews-shell{position:relative;display:grid;grid-template-columns:minmax(300px,.76fr) minmax(0,1.55fr);gap:clamp(2rem,5vw,6rem);align-items:stretch}.reviews-score-panel{position:relative;display:flex;flex-direction:column;min-height:34rem;padding:clamp(2rem,3.8vw,4.25rem);overflow:hidden;background:#15191b;color:#fff;box-shadow:0 28px 70px rgba(15,19,21,.16)}.reviews-score-panel:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:#df151f}.reviews-score-panel:after{content:"5.0";position:absolute;right:-.08em;bottom:-.2em;font-size:10rem;font-weight:900;line-height:1;color:rgba(255,255,255,.025);pointer-events:none}.reviews-source{display:flex;align-items:center;gap:.65rem;margin:2rem 0 1.5rem;font-size:1rem;font-weight:700}.google-g{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#fff;color:#1a73e8;font-weight:900;box-shadow:0 8px 24px rgba(0,0,0,.12)}.reviews-score-row{display:flex;align-items:flex-end;gap:1.25rem;padding:1.35rem 0 1.7rem;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.reviews-score-row>strong{font-size:clamp(4.5rem,7vw,7rem);line-height:.82;letter-spacing:-.075em}.reviews-score-row>div{padding-bottom:.2rem}.review-stars{color:#f5b700;letter-spacing:.08em;font-size:1rem;white-space:nowrap}.reviews-score-row span{display:block;margin-top:.4rem;max-width:13rem;color:rgba(255,255,255,.62);font-size:.76rem;line-height:1.45}.reviews-score-panel>p{position:relative;z-index:1;max-width:27rem;margin:1.5rem 0 2rem;color:rgba(255,255,255,.69);line-height:1.7}.reviews-source-link{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding:1rem 0;border-top:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;font-weight:750}.reviews-source-link .icon{width:1.05rem;transition:transform .25s ease}.reviews-source-link:hover .icon{transform:translateX(5px)}.reviews-content{align-self:center}.reviews-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.7fr);gap:2rem;align-items:end;margin-bottom:2.25rem}.reviews-heading .section-label{grid-column:1/-1}.reviews-heading h2{max-width:17ch;margin:0;font-size:clamp(2.35rem,4vw,4.6rem);line-height:.98;letter-spacing:-.055em}.reviews-heading p{margin:0;color:#61686c;line-height:1.7}.reviews-rail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:1rem}.review-card{position:relative;display:flex;flex-direction:column;min-height:25rem;padding:clamp(1.5rem,2.6vw,2.6rem);border:1px solid #d7d9da;background:#fff}.review-card:before,.review-card:after{content:"";position:absolute;background:#df151f}.review-card:before{top:-1px;left:-1px;width:2.1rem;height:2px}.review-card:after{top:-1px;left:-1px;width:2px;height:2.1rem}.review-card-top{display:flex;justify-content:space-between;gap:1rem;color:#71777a;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.review-source-pill{color:#df151f;font-weight:800}.review-card blockquote{margin:auto 0;font-size:clamp(1.55rem,2.3vw,2.55rem);line-height:1.15;letter-spacing:-.035em;font-weight:650}.review-card footer{display:flex;justify-content:space-between;gap:1rem;padding-top:1.4rem;border-top:1px solid #e1e3e4}.review-card footer div{display:flex;flex-direction:column}.review-card footer span{color:#737a7e;font-size:.78rem}.review-card>a{display:inline-flex;align-items:center;gap:.7rem;margin-top:1.3rem;color:#15191b;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;text-decoration:none}.review-card>a .icon{width:1rem;transition:transform .25s ease}.review-card>a:hover .icon{transform:translateX(4px)}.review-card-standard{background:#e5e7e7}.review-card-index{color:#df151f;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.review-card-standard h3{margin:1.25rem 0 2rem;font-size:1.55rem;line-height:1.12}.review-card-standard ul{display:grid;gap:1rem;margin:0;padding:0;list-style:none}.review-card-standard li{display:grid;grid-template-columns:2rem 1fr;gap:.75rem;padding-top:1rem;border-top:1px solid rgba(20,24,26,.14)}.review-card-standard li span{color:#df151f;font-size:.7rem;font-weight:800}.review-card-standard li p{margin:0;color:#4e5559;font-size:.88rem;line-height:1.5}.review-trust-strip{border-top:1px solid #d9dcdd;border-bottom:1px solid #d9dcdd;background:#fff}.review-trust-inner{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(1rem,3vw,3rem);align-items:center;padding-top:1.35rem;padding-bottom:1.35rem}.review-trust-score{display:flex;align-items:center;gap:.65rem}.review-trust-score .google-g{width:1.75rem;height:1.75rem;border:1px solid #e2e4e5;box-shadow:none}.review-trust-score strong{font-size:1.4rem}.review-trust-score .review-stars{font-size:.78rem}.review-trust-inner p{margin:0;color:#61686c;font-size:.9rem}.review-trust-inner>a{display:inline-flex;align-items:center;gap:.65rem;color:#15191b;text-decoration:none;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.review-trust-inner>a .icon{width:1rem;transition:transform .25s ease}.review-trust-inner>a:hover .icon{transform:translateX(4px)}

.site-footer .footer-brand .footer-rating{display:inline-flex;width:fit-content;align-items:center;gap:.48rem;margin-top:1rem;padding:.72rem .85rem;transform:none}.site-footer .footer-brand .footer-rating:hover{transform:translateY(-2px)}.site-footer .footer-rating span{display:inline-block;padding:0}.site-footer .footer-rating .footer-rating-score{color:#fff;font-size:1.08rem}.site-footer .footer-rating .footer-rating-stars{color:#f5b700;font-size:.78rem}.site-footer .footer-rating>span:last-child{color:rgba(255,255,255,.72);font-size:.72rem}


/* V15 — echte Google-Rezensionen */
.google-reviews-v15{position:relative;overflow:hidden;background:#f2f1ed;border-top:1px solid #d8d9d7;border-bottom:1px solid #d8d9d7}.google-reviews-v15:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,24,26,.035) 1px,transparent 1px),linear-gradient(rgba(20,24,26,.035) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.9) 35%,transparent 82%);pointer-events:none}.google-reviews-layout{position:relative;display:grid;grid-template-columns:minmax(310px,.78fr) minmax(0,1.55fr);gap:clamp(2.5rem,5vw,6.5rem);align-items:stretch}.google-rating-panel{position:relative;display:flex;flex-direction:column;min-height:36rem;padding:clamp(2rem,3.8vw,4rem);overflow:hidden;background:#15191b;color:#fff;box-shadow:0 30px 80px rgba(15,19,21,.18)}.google-rating-panel:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:#df151f}.google-rating-panel:after{content:"5.0";position:absolute;right:-.08em;bottom:-.18em;font-size:10.5rem;font-weight:900;line-height:1;color:rgba(255,255,255,.025);pointer-events:none}.google-rating-brand{display:flex;align-items:center;gap:.8rem;margin:2rem 0 1.4rem;color:rgba(255,255,255,.64);font-size:.77rem;text-transform:uppercase;letter-spacing:.09em}.google-brand-word{font-size:1.08rem;font-weight:700;letter-spacing:-.02em;text-transform:none;color:#fff}.google-rating-main{display:flex;align-items:flex-end;gap:1.25rem;padding:1.45rem 0 1.7rem;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.google-rating-main>strong{font-size:clamp(4.9rem,7vw,7.4rem);line-height:.82;letter-spacing:-.08em}.google-rating-main>div{padding-bottom:.25rem}.google-rating-main span{display:block;margin-top:.45rem;color:rgba(255,255,255,.63);font-size:.78rem}.google-review-stars{color:#f5b700;letter-spacing:.07em;white-space:nowrap}.google-rating-distribution{display:grid;gap:.52rem;margin:1.55rem 0}.google-rating-distribution>div{display:grid;grid-template-columns:1rem 1fr 1.4rem;gap:.7rem;align-items:center;color:rgba(255,255,255,.64);font-size:.72rem}.google-rating-distribution i{display:block;height:5px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.14)}.google-rating-distribution b{display:block;height:100%;border-radius:inherit;background:#f5b700}.google-rating-distribution strong{text-align:right;color:rgba(255,255,255,.78);font-size:.7rem}.google-rating-panel>p{position:relative;z-index:1;margin:0 0 1.7rem;color:rgba(255,255,255,.68);line-height:1.7}.google-rating-link{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding:1rem 0;border-top:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.google-rating-link .icon{width:1.05rem;transition:transform .25s ease}.google-rating-link:hover{color:#fff}.google-rating-link:hover .icon{transform:translateX(5px)}.google-reviews-content{align-self:center;min-width:0}.google-reviews-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.7fr);gap:2.5rem;align-items:end;margin-bottom:2rem}.google-reviews-heading h2{max-width:16ch;margin:.65rem 0 0;font-size:clamp(2.45rem,4.1vw,4.7rem);line-height:.97;letter-spacing:-.055em}.google-reviews-heading>p{margin:0;color:#61686c;line-height:1.72}.google-review-viewport{overflow:hidden}.google-review-track{display:flex;gap:1rem;transition:transform .5s cubic-bezier(.2,.75,.2,1);will-change:transform}.google-review-card{flex:0 0 calc(72% - .5rem);display:flex;flex-direction:column;min-height:30rem;padding:clamp(1.6rem,2.5vw,2.65rem);border:1px solid #d4d7d8;background:#fff;scroll-snap-align:start;outline:none}.google-review-card:focus-visible{box-shadow:0 0 0 3px rgba(223,21,31,.28)}.google-review-card-head{display:grid;grid-template-columns:2.65rem minmax(0,1fr) auto;gap:.85rem;align-items:center}.google-review-avatar{display:grid;place-items:center;width:2.65rem;height:2.65rem;border-radius:50%;background:#214f88;color:#fff;font-size:.78rem;font-weight:800}.google-review-person{display:flex;flex-direction:column;min-width:0}.google-review-person strong{font-size:.92rem}.google-review-person small,.google-review-time{color:#737a7e;font-size:.7rem}.google-review-time{text-align:right}.google-review-card>.google-review-stars{margin:1.35rem 0 .9rem;font-size:.95rem}.google-review-card blockquote{margin:0;font-size:clamp(1.2rem,1.65vw,1.65rem);line-height:1.48;letter-spacing:-.018em;color:#22282b}.google-review-card footer{display:flex;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1.35rem;border-top:1px solid #e1e3e4;color:#72787c;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}.google-review-card footer span:first-child{color:#df151f;font-weight:800}.google-review-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem}.google-review-progress{display:grid;grid-template-columns:2rem minmax(100px,220px) 2rem;gap:.75rem;align-items:center;color:#73797d;font-size:.7rem;font-weight:800}.google-review-progress i{display:block;height:2px;background:#d2d5d6}.google-review-progress b{display:block;width:20%;height:100%;background:#df151f;transition:width .35s ease}.google-review-buttons{display:flex;gap:.55rem}.google-review-buttons button{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid #cfd2d3;background:#fff;color:#15191b;cursor:pointer;transition:background .22s ease,color .22s ease,border-color .22s ease}.google-review-buttons button:hover,.google-review-buttons button:focus-visible{border-color:#15191b;background:#15191b;color:#fff}.google-review-buttons button .icon{width:1rem}.review-trust-count{color:#5e666a;font-size:.76rem;font-weight:700}.footer-rating>span:last-child{text-transform:none;letter-spacing:.02em}

.google-reviews-v15{scroll-margin-top:8rem}

.google-rating-topics{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.55rem 0 1.8rem}.google-rating-topics span{display:inline-flex;align-items:center;min-height:2rem;padding:.45rem .72rem;border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.76);font-size:.7rem;font-weight:700;letter-spacing:.035em}.google-rating-topics span:before{content:"";width:.35rem;height:.35rem;margin-right:.5rem;border-radius:50%;background:#df151f}


/* V17 — compact editorial reviews */
.reviews-compact{position:relative;overflow:hidden;padding-block:clamp(4.25rem,7vw,6.75rem);background:#f4f3ef;border-top:1px solid #d9dbda;border-bottom:1px solid #d9dbda}.reviews-compact:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(19,24,27,.028) 1px,transparent 1px);background-size:64px 100%;mask-image:linear-gradient(90deg,#000,transparent 78%)}.reviews-compact-grid{position:relative;display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:clamp(2.5rem,5vw,6.5rem);align-items:center}.reviews-compact-score{position:relative;min-height:25rem;padding:2.1rem;display:flex;flex-direction:column;justify-content:center;background:#171b1d;color:#fff}.reviews-compact-score:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#df151f}.reviews-compact-brand{display:flex;align-items:baseline;gap:.65rem;margin-bottom:1.5rem}.reviews-compact-brand span{font-size:1.05rem;font-weight:800}.reviews-compact-brand small{color:rgba(255,255,255,.55);font-size:.67rem;text-transform:uppercase;letter-spacing:.1em}.reviews-compact-number{display:flex;align-items:flex-end;gap:1rem;padding-block:1.2rem;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.reviews-compact-number>strong{font-size:5.1rem;line-height:.82;letter-spacing:-.075em}.reviews-compact-number>div{padding-bottom:.25rem}.reviews-compact-number span{display:block;color:#f5b700;font-size:.92rem;letter-spacing:.08em}.reviews-compact-number small{display:block;margin-top:.38rem;color:rgba(255,255,255,.6);font-size:.72rem}.reviews-compact-score p{max-width:26ch;margin:1.35rem 0;color:rgba(255,255,255,.67);font-size:.9rem;line-height:1.6}.reviews-compact-score>a{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.15);color:#fff;text-decoration:none;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.075em}.reviews-compact-score>a .icon{width:1rem;transition:transform .22s ease}.reviews-compact-score>a:hover .icon{transform:translateX(4px)}.reviews-compact-content{min-width:0}.reviews-compact-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.35rem}.reviews-compact-heading h2{max-width:17ch;margin:.55rem 0 0;font-size:clamp(2.05rem,3.4vw,3.55rem);line-height:1;letter-spacing:-.045em}.reviews-compact-controls{display:flex;align-items:center;gap:.75rem}.reviews-compact-controls button{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid #c9cdce;background:#fff;color:#171b1d;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.reviews-compact-controls button:hover,.reviews-compact-controls button:focus-visible{border-color:#171b1d;background:#171b1d;color:#fff}.reviews-compact-controls button .icon{width:.95rem}.reviews-compact-controls>span{min-width:3.5rem;text-align:center;color:#777e81;font-size:.68rem;font-weight:800;letter-spacing:.08em}.reviews-compact-controls>span b{color:#171b1d}.review-focus-stage{position:relative;min-height:20.5rem}.review-focus-card{display:flex;flex-direction:column;min-height:20.5rem;padding:1.8rem 2rem;border:1px solid #d3d6d6;background:#fff;animation:reviewIn .3s ease both}.review-focus-card[hidden]{display:none}.review-focus-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem}.review-focus-stars{color:#f5b700;font-size:.86rem;letter-spacing:.08em}.review-focus-topline>span{color:#7b8184;font-size:.69rem}.review-focus-card blockquote{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:7;margin:1.05rem 0 0;color:#252a2d;font-size:1.02rem;line-height:1.62;letter-spacing:-.006em}.review-focus-card.is-expanded blockquote{-webkit-line-clamp:unset}.review-expand{width:fit-content;margin:.7rem 0 0;padding:0;border:0;background:transparent;color:#df151f;font:inherit;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.065em;cursor:pointer}.review-focus-card footer{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1.1rem;border-top:1px solid #e1e3e3}.review-focus-person{display:flex;align-items:center;gap:.7rem}.review-focus-avatar{display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:50%;background:#25568f;color:#fff;font-size:.68rem;font-weight:800}.review-focus-person>div{display:flex;flex-direction:column}.review-focus-person strong{font-size:.86rem}.review-focus-person small,.review-focus-card footer>span{color:#777e81;font-size:.66rem}.review-focus-card footer>span{text-transform:uppercase;letter-spacing:.07em}.review-person-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;margin-top:.65rem}.review-person-tab{display:flex;align-items:center;gap:.55rem;min-width:0;padding:.55rem .62rem;border:1px solid transparent;background:transparent;color:#5f6669;cursor:pointer;text-align:left;transition:background .2s ease,border-color .2s ease,color .2s ease}.review-person-tab>span{display:grid;place-items:center;flex:0 0 auto;width:1.75rem;height:1.75rem;border-radius:50%;background:#e0e3e3;font-size:.59rem;font-weight:800}.review-person-tab b{overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.review-person-tab:hover,.review-person-tab:focus-visible{border-color:#cfd2d2;background:#fff;color:#171b1d}.review-person-tab.is-active{border-color:#171b1d;background:#171b1d;color:#fff}.review-person-tab.is-active>span{background:#df151f;color:#fff}@keyframes reviewIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}


/* V17.1 — tighter review proportions */
.reviews-compact{padding-block:clamp(3.25rem,4.8vw,4.75rem)}.reviews-compact-score{min-height:21.5rem;padding:1.75rem}.reviews-compact-number>strong{font-size:4.55rem}.reviews-compact-heading{margin-bottom:1rem}.reviews-compact-heading h2{font-size:clamp(1.95rem,3vw,3.1rem)}.review-focus-stage,.review-focus-card{min-height:17.75rem}.review-focus-card{padding:1.45rem 1.65rem}.review-focus-card blockquote{-webkit-line-clamp:6;margin-top:.85rem;font-size:.96rem;line-height:1.56}.review-focus-card footer{padding-top:.85rem}.review-person-tabs{margin-top:.5rem}

/* V18 — editorial review navigation without author tabs */
.review-focus-card{position:relative;isolation:isolate;overflow:hidden;border:0;background:linear-gradient(135deg,#fff 0%,#fff 72%,#f6f5f1 100%);box-shadow:0 18px 48px rgba(20,24,26,.075)}
.review-focus-card:before{content:"“";position:absolute;z-index:-1;right:1.25rem;top:-1.2rem;color:rgba(23,27,29,.035);font-size:10rem;font-weight:800;line-height:1;font-family:Georgia,serif;pointer-events:none}
.review-focus-card:after{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:linear-gradient(180deg,#df151f 0 35%,rgba(223,21,31,.12) 35% 100%)}
.review-focus-card>*{position:relative;z-index:1}
.review-index{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;max-width:22rem;margin:.8rem 0 0 auto}
.review-index-item{position:relative;height:1.8rem;padding:0;border:0;background:transparent;cursor:pointer}
.review-index-item:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:#cfd2d2;transform:translateY(-50%);transition:background .2s ease,transform .2s ease}
.review-index-item span{position:absolute;left:0;top:50%;width:0;height:2px;background:#df151f;transform:translateY(-50%);transition:width .35s cubic-bezier(.2,.75,.2,1)}
.review-index-item:hover:before{background:#8f9699}
.review-index-item.is-active:before{background:rgba(223,21,31,.18)}
.review-index-item.is-active span{width:100%}
.review-index-item:focus-visible{outline:2px solid #171b1d;outline-offset:3px}

/* Article Prüflogik: editorial, semantic and fully responsive */
.article-logic{
  --logic-bg:#15191c;
  --logic-panel:#1b2023;
  --logic-line:rgba(255,255,255,.13);
  --logic-muted:#aeb6bb;
  position:relative;
  margin:52px 0 64px;
  overflow:hidden;
  color:#fff;
  background:var(--logic-bg);
  border:1px solid #252b2f;
  box-shadow:0 26px 60px rgba(12,17,20,.13);
}
.article-logic::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,#000,transparent 72%);
}
.article-logic__head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);
  gap:42px;
  align-items:end;
  padding:32px 34px 28px;
  border-bottom:1px solid var(--logic-line);
}
.article-logic__eyebrow{
  display:block;
  margin-bottom:10px;
  color:#f23a43;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.article-logic__heading h3{
  max-width:680px;
  margin:0;
  color:#fff;
  font-size:clamp(1.42rem,2.1vw,2rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.article-logic__head>p{
  max-width:390px;
  margin:0;
  color:var(--logic-muted);
  font-size:.84rem;
  line-height:1.62;
}
.article-logic__steps{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  padding:0;
  list-style:none;
}
.article-logic__steps>li{
  min-width:0;
  border-right:1px solid var(--logic-line);
  border-bottom:1px solid var(--logic-line);
}
.article-logic__steps>li:nth-child(2n){border-right:0}
.article-logic__steps>li:nth-last-child(-n+2){border-bottom:0}
.article-logic__steps a{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px;
  grid-template-rows:auto auto 1fr;
  min-height:228px;
  padding:27px 30px 30px;
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.018);
  transition:background-color .28s ease,transform .28s ease;
}
.article-logic__steps a::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:0;
  height:3px;
  background:#df1721;
  transition:width .35s cubic-bezier(.22,1,.36,1);
}
.article-logic__steps a:hover,
.article-logic__steps a:focus-visible{background:rgba(255,255,255,.055)}
.article-logic__steps a:hover::before,
.article-logic__steps a:focus-visible::before{width:100%}
.article-logic__steps a:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.article-logic__meta{
  grid-column:1;
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:23px;
  color:#8f999f;
  font-size:.64rem;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.article-logic__meta b{
  color:#ef2630;
  font-size:1.16rem;
  line-height:1;
  letter-spacing:-.04em;
}
.article-logic__steps strong{
  grid-column:1;
  display:block;
  max-width:390px;
  margin:0 0 13px;
  color:#fff;
  font-size:1rem;
  line-height:1.28;
  letter-spacing:-.015em;
  overflow-wrap:anywhere;
}
.article-logic__steps p{
  grid-column:1;
  align-self:start;
  max-width:430px;
  margin:0;
  color:var(--logic-muted);
  font-size:.77rem;
  line-height:1.58;
}
.article-logic__arrow{
  grid-column:2;
  grid-row:1 / span 3;
  align-self:end;
  justify-self:end;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  color:#fff;
  border:1px solid rgba(255,255,255,.24);
  transition:color .25s ease,border-color .25s ease,background-color .25s ease,transform .25s ease;
}
.article-logic__arrow svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.article-logic__steps a:hover .article-logic__arrow,
.article-logic__steps a:focus-visible .article-logic__arrow{color:#fff;background:#df1721;border-color:#df1721;transform:translateX(2px)}
.article-logic figcaption{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  gap:28px;
  padding:14px 18px;
  color:#808a90;
  background:#111518;
  border-top:1px solid var(--logic-line);
  font-size:.63rem;
  line-height:1.45;
}
.article-logic figcaption span:first-child{color:#c6ccd0;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
@media (max-width:760px){
  .article-logic{margin:38px 0 48px;box-shadow:0 18px 38px rgba(12,17,20,.12)}
  .article-logic__head{grid-template-columns:1fr;gap:15px;padding:25px 22px 23px}
  .article-logic__heading h3{max-width:none;font-size:1.38rem;line-height:1.12}
  .article-logic__head>p{max-width:none;font-size:.78rem}
  .article-logic__steps{grid-template-columns:1fr}
  .article-logic__steps>li,.article-logic__steps>li:nth-child(2n),.article-logic__steps>li:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--logic-line)}
  .article-logic__steps>li:last-child{border-bottom:0}
  .article-logic__steps a{grid-template-columns:42px minmax(0,1fr) 32px;grid-template-rows:auto auto;min-height:0;padding:22px 20px 23px}
  .article-logic__meta{grid-column:1;grid-row:1 / span 2;align-self:start;display:block;margin:0}
  .article-logic__meta b{display:block;font-size:1.15rem}
  .article-logic__meta span{display:none}
  .article-logic__steps strong{grid-column:2;grid-row:1;max-width:none;margin:0 0 8px;font-size:.95rem}
  .article-logic__steps p{grid-column:2;grid-row:2;max-width:none;font-size:.74rem;line-height:1.5}
  .article-logic__arrow{grid-column:3;grid-row:1 / span 2;align-self:center;width:30px;height:30px}
  .article-logic figcaption{display:block;padding:13px 20px;font-size:.6rem}
  .article-logic figcaption span{display:block}
  .article-logic figcaption span+span{margin-top:5px}
}

