:root{--blue:#1473e6;--ink:#202326;--muted:#676d74;--line:#dcdfe2;--paper:#f1f2f3;--white:#fff;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button{color:inherit}::selection{background:var(--blue);color:#fff}.wrap{width:min(calc(100% - 112px),var(--max));margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:100}.skip:focus{top:15px}.header{background:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid #e9ebed}.header-inner{min-height:102px;display:flex;align-items:center;gap:38px}.brand{display:flex;flex-direction:column;gap:12px;flex-shrink:0}.brand img{width:260px;height:auto;display:block}.brand small{font-size:10px;letter-spacing:3.5px;color:#656a70}.nav{display:flex;align-items:center;gap:23px;margin-left:auto}.nav>a{font-size:13px;white-space:nowrap;padding:10px 0;position:relative}.nav>a:after{content:'';position:absolute;height:2px;background:var(--blue);bottom:0;left:0;width:0;transition:width .25s}.nav>a:hover:after,.nav>a.active:after{width:100%}.languages{display:flex;gap:8px;border-left:1px solid var(--line);padding-left:22px}.languages button{border:0;background:none;padding:7px 2px;font-size:12px;color:var(--muted)}.languages button[aria-pressed=true]{color:var(--blue);font-weight:700}.menu-toggle{display:none;border:1px solid var(--line);background:white;padding:10px 14px}.hero{background:var(--paper);position:relative;overflow:hidden}.notch{position:absolute;top:0;right:7%;height:39px;padding:0 32px 14px;background:#fff;border-radius:0 0 20px 20px;display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:1.5px}.notch i{height:6px;width:6px;border-radius:50%;background:var(--blue)}.hero-grid{min-height:660px;display:grid;grid-template-columns:1.07fr .93fr;gap:6%;align-items:center;padding-top:65px;padding-bottom:60px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;display:flex;align-items:center;gap:12px;line-height:1.7}.eyebrow:before{content:'';height:5px;width:5px;background:var(--blue)}h1{font-weight:500;font-size:clamp(58px,5.7vw,92px);line-height:1.02;letter-spacing:-5px;margin:27px 0 26px}h1 span{color:var(--blue)}.hero-copy>p{max-width:435px;font-size:17px;line-height:1.75;color:#5b6168}.actions{display:flex;align-items:center;gap:24px;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:20px 24px;background:var(--blue);color:white;font-size:14px;border:1px solid var(--blue);transition:background .25s,transform .25s}.button:hover{background:#095cbe;transform:translateY(-2px)}.button svg{width:17px;height:17px}.text-link{font-size:13px;padding:10px 0;border-bottom:1px solid #a8afb6;display:inline-flex;gap:22px;align-items:center}.hero-number{margin-top:19px;font-size:12px;color:var(--muted);letter-spacing:.4px}.hero-art{position:relative;padding-bottom:37px}.photo-slot{position:relative;background:#e1e4e7;overflow:hidden;min-height:350px;display:flex;align-items:center;justify-content:center}.photo-slot:before{content:'';position:absolute;inset:20px;border:1px solid #c7cdd3}.slot-center{text-align:center;position:relative;z-index:1;max-width:75%;color:#7b8289}.slot-cross{display:block;font-size:32px;font-weight:200;color:#a1a8af;margin-bottom:12px}.slot-center strong{display:block;font-size:14px;letter-spacing:2px;font-weight:400}.slot-center p{font-size:12px;line-height:1.6;max-width:240px}.slot-label{position:absolute;bottom:32px;left:34px;font-size:10px;letter-spacing:1.5px;color:#656d76}.photo-slot img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;z-index:2}.hero-art .photo-slot{height:450px;border-radius:3px 3px 3px 72px;background:linear-gradient(145deg,#d5d9de,#e9ebee)}.photo-note{position:absolute;bottom:0;left:-30px;background:#fff;padding:25px 28px;display:flex;align-items:center;gap:22px;box-shadow:0 9px 30px #242c3610;z-index:4}.photo-note b{font-size:30px;font-weight:400;color:var(--blue)}.photo-note span{font-size:12px;line-height:1.5}.side-note{position:absolute;right:-35px;top:45%;writing-mode:vertical-rl;font-size:10px;letter-spacing:2px;color:var(--muted)}.trust-line{border-top:1px solid #d9dde1;padding:23px 0;display:flex;justify-content:space-between;gap:20px}.trust-line span{display:flex;align-items:center;gap:11px;font-size:12px;color:#5d646c}.trust-line b{color:var(--blue);font-weight:400}.section{padding:110px 0}.section-top{display:grid;grid-template-columns:1fr 2fr;gap:8%;margin-bottom:52px}h2{font-weight:400;font-size:clamp(34px,3.7vw,58px);letter-spacing:-2px;line-height:1.13;margin:0}h2 em{font-style:normal;color:#8a9096}.intro-copy{max-width:600px;font-size:16px;line-height:1.8;color:var(--muted);margin-top:24px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:46px;margin-left:0}.benefit{border-top:1px solid var(--line);padding-top:25px}.index{font-size:12px;color:var(--blue);letter-spacing:1px}.benefit h3{font-size:22px;font-weight:400;letter-spacing:-.5px;margin:36px 0 14px}.benefit p{font-size:15px;color:var(--muted);line-height:1.8;max-width:340px}.dark{background:#24272b;color:#fff;position:relative;overflow:hidden}.dark .eyebrow{color:#bec3c8}.dark h2 em{color:#91979f}.dark .intro-copy{color:#b9bec4}.orbit{position:absolute;border:1px solid #ffffff09;border-radius:50%;width:640px;height:640px;right:-360px;top:80px;pointer-events:none;animation:breathe 12s ease-in-out infinite}.orbit:before,.orbit:after{content:'';position:absolute;inset:65px;border:1px solid #ffffff0c;border-radius:50%}.orbit:after{inset:130px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;position:relative}.step{border-top:1px solid #53565a;padding-top:20px}.step>span{font-size:42px;font-weight:400;color:#737b85;letter-spacing:-2px}.step h3{font-size:18px;font-weight:400;margin-top:35px}.step p{color:#b7bdc5;font-size:14px;line-height:1.8}.dark .text-link{margin-top:30px;color:#fff;border-color:#666}.services-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.services-intro{position:sticky;top:150px;align-self:start}.services-intro h2{margin-top:30px}.services-intro>p{color:var(--muted);font-size:15px;line-height:1.8;margin:25px 0}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;font-size:19px;letter-spacing:-.4px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:25px;color:#818992;font-weight:300;flex-shrink:0}details[open]>summary:after{content:'−';color:var(--blue)}details[open]>summary{color:var(--blue)}details>p{font-size:15px;color:var(--muted);line-height:1.8;margin:0 35px 24px 0}.service-list summary span small{font-size:11px;letter-spacing:0;color:#8b929a;margin-right:18px}.services-secondary{margin-top:85px;padding-top:40px;border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.services-secondary h3{font-size:28px;font-weight:400;margin:15px 0}.services-secondary>div>p{color:var(--muted);font-size:15px;line-height:1.7;max-width:330px}.cost-band{background:var(--paper);padding:62px 0}.cost-inner{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.cost-inner h2{font-size:36px;letter-spacing:-1.3px;margin-top:16px}.cost-inner p{font-size:16px;line-height:1.8;color:var(--muted)}.team{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.team .photo-slot{min-height:460px;background:#e8e9eb}.team h2{margin-top:30px}.team p{font-size:16px;line-height:1.8;color:var(--muted)}.team-caption{display:flex;justify-content:space-between;font-size:12px;margin-top:15px;color:var(--muted)}.faq{background:#f6f6f7}.faq-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.faq h2{margin-top:25px}.faq summary{font-size:18px;padding:24px 0}.faq details{border-bottom:1px solid var(--line)}.form-note{padding:36px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:35px}.form-note h3{font-size:22px;font-weight:400;margin:0 0 8px}.form-note p{font-size:14px;color:var(--muted);line-height:1.7;margin:0}.contact{background:var(--blue);color:white;padding:86px 0;position:relative;overflow:hidden}.contact .eyebrow:before{background:white}.contact-top{display:flex;justify-content:space-between;align-items:flex-start;gap:50px}.contact h2{font-size:clamp(36px,4.2vw,65px);margin:25px 0 32px;max-width:650px}.call-large{font-size:clamp(32px,4.5vw,68px);letter-spacing:-2px;display:inline-block;border-bottom:1px solid #ffffff60;padding-bottom:12px}.contact-meta{margin-top:38px;display:flex;gap:50px;flex-wrap:wrap;font-size:14px;line-height:1.8}.contact-arrow{font-size:110px;font-weight:200;line-height:1;transition:transform .3s}.contact-arrow:hover{transform:translate(5px,-5px)}footer{padding:50px 0 28px;background:#fff}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px}.footer-top .brand img{width:290px}.footer-top p{font-size:13px;color:var(--muted);line-height:1.8}.footer-bottom{border-top:1px solid var(--line);margin-top:36px;padding-top:22px;display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:11px}.footer-bottom nav{display:flex;gap:24px}.mobile-call{display:none}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.3,1)}.motion-ready .reveal.visible{opacity:1;transform:none}@keyframes breathe{50%{transform:scale(1.08) translateY(20px)}}@media(min-width:1600px){.hero-grid{min-height:740px}.hero-art .photo-slot{height:500px}}@media(max-width:1200px){.wrap{width:calc(100% - 64px)}.header-inner{gap:20px}.brand img{width:205px}.brand small{letter-spacing:2.3px;font-size:9px}.nav{gap:15px}.nav>a{font-size:12px}.languages{padding-left:12px}h1{letter-spacing:-3.5px}.hero-grid{gap:5%;min-height:610px}.hero-art .photo-slot{height:400px}.section{padding:85px 0}}@media(max-width:960px){.header-inner{min-height:82px}.brand img{width:240px}.menu-toggle{display:block;margin-left:auto}.languages{margin-left:0}.nav{display:none;position:absolute;left:0;right:0;top:82px;background:white;padding:20px 32px 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:3px}.nav.open{display:flex}.nav>a{font-size:17px;padding:12px}.hero-grid{grid-template-columns:1fr 1fr;gap:5%;padding-top:70px}h1{font-size:60px}.hero-art .photo-slot{height:365px}.hero-copy>p{font-size:15px}.hero .actions{gap:10px}.photo-note{left:-15px;padding:20px;gap:15px}.trust-line{flex-wrap:wrap;justify-content:flex-start;gap:16px 30px}.section-top{grid-template-columns:1fr 2fr;gap:5%}.steps{grid-template-columns:repeat(2,1fr);gap:35px}.benefits{gap:25px}.services-layout,.services-secondary,.faq-inner{gap:6%;grid-template-columns:.8fr 1.2fr}summary{font-size:17px}.team{gap:7%}.team .photo-slot{min-height:400px}.contact-arrow{font-size:80px}}@media(max-width:680px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:75px;gap:13px}.brand img{width:195px}.brand small{font-size:8px;letter-spacing:2px}.menu-toggle{padding:8px;font-size:12px}.languages{gap:5px;padding-left:8px}.languages button{font-size:11px}.nav{top:75px;padding-inline:20px}.notch{right:20px;font-size:9px;padding-inline:18px;height:30px;border-radius:0 0 14px 14px}.hero-grid{grid-template-columns:1fr;padding-top:62px;padding-bottom:30px;gap:35px}h1{font-size:64px;letter-spacing:-3.9px;margin:24px 0}.eyebrow{font-size:10px;letter-spacing:1.7px}.hero-copy>p{font-size:16px;max-width:400px}.hero .actions{gap:22px}.button{padding:18px 22px}.hero-art{padding-bottom:20px;margin-left:12px;margin-right:5px}.hero-art .photo-slot{height:310px;min-height:310px;border-radius:2px 2px 2px 50px}.photo-note{padding:17px 20px;bottom:0;left:-12px}.photo-note b{font-size:25px}.photo-note span{font-size:11px}.side-note{right:-18px;font-size:8px}.trust-line{display:grid;grid-template-columns:1fr 1fr;padding:20px 0;gap:15px}.trust-line span{font-size:11px;line-height:1.5}.section{padding:65px 0}.section-top{grid-template-columns:1fr;gap:23px;margin-bottom:35px}h2{font-size:39px;letter-spacing:-1.6px}.intro-copy{font-size:15px}.benefits{grid-template-columns:1fr;gap:20px}.benefit{display:grid;grid-template-columns:35px 1fr;column-gap:15px;padding-top:20px}.benefit .index{grid-row:1/3;margin-top:5px}.benefit h3{margin:0;font-size:21px}.benefit p{margin-top:10px;max-width:none}.steps{gap:25px;grid-template-columns:1fr 1fr}.step>span{font-size:35px}.step h3{margin-top:22px;font-size:17px}.step p{font-size:13px}.services-layout,.services-secondary,.faq-inner,.cost-inner,.team{grid-template-columns:1fr;gap:30px}.services-intro{position:static}.services-intro h2{margin-top:20px}.services-intro>p{margin-bottom:0}.service-list summary{font-size:17px}.service-list summary span small{margin-right:10px}.services-secondary{margin-top:45px;padding-top:25px}.cost-band{padding:45px 0}.cost-inner{gap:15px}.cost-inner h2{font-size:32px}.cost-inner p{font-size:15px}.team .photo-slot{min-height:340px}.team h2{margin-top:20px}.faq h2{margin-top:20px}.faq summary{font-size:16px;line-height:1.5}.form-note{align-items:flex-start;flex-direction:column;gap:15px}.contact{padding:60px 0}.contact-top{gap:10px}.contact h2{font-size:39px}.contact-arrow{font-size:53px;margin-top:40px}.call-large{font-size:38px;letter-spacing:-1.4px}.contact-meta{gap:20px;font-size:13px}.footer-top{align-items:flex-start;flex-direction:column;gap:20px}.footer-top .brand img{width:260px}.footer-bottom{flex-direction:column;font-size:11px}footer{padding-bottom:100px}.mobile-call{display:flex;position:fixed;bottom:12px;left:20px;right:20px;background:var(--ink);color:white;padding:16px 20px;z-index:25;align-items:center;justify-content:space-between;font-size:14px;box-shadow:0 5px 20px #0003}.mobile-call span{color:#bfc5cc;font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
/* Brand visibility: supplied SVG is white; retain original and invert on white. */
.brand img{filter:brightness(0);height:22px;width:300px;object-fit:contain;object-position:left center}.brand small{font-size:10px;letter-spacing:2.7px;color:var(--blue)}.header-inner{gap:26px}.nav{gap:17px}.nav-group{display:flex;align-items:center;position:relative;gap:4px}.nav-group>a{font-size:13px;padding:10px 0;white-space:nowrap}.submenu-toggle{border:0;background:transparent;padding:8px 3px;color:var(--muted);transition:transform .3s}.submenu-toggle[aria-expanded=true]{transform:rotate(180deg)}.submenu{position:absolute;top:calc(100% + 20px);left:-25px;width:350px;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .3s,visibility .3s;background:#fff;box-shadow:0 22px 40px #20232612;border:1px solid #e6e8eb;border-radius:0 0 12px 12px}.submenu-toggle[aria-expanded=true]+.submenu{visibility:visible;opacity:1;transform:translateY(0)}.dropdown-panel{padding:17px}.dropdown-panel a{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;line-height:1.5;padding:13px 10px;border-radius:5px;transition:background .2s,color .2s}.dropdown-panel a:hover{background:#f0f4f9;color:var(--blue)}.dropdown-panel a span{color:var(--blue)}.slider-layout{display:block}.slider-layout h2{margin-top:22px}.slider-wrap{margin-top:35px}.slider-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;color:var(--muted);font-size:14px}.slider-head>div{display:flex;gap:10px}.slider-head button{border:0;border-radius:50%;height:44px;width:44px;background:#eef0f2;font-size:21px;transition:background .2s}.slider-head button:hover{background:#dce8f8;color:var(--blue)}.service-slider{display:flex;overflow-x:auto;gap:22px;scroll-snap-type:x mandatory;padding:0 0 25px;scrollbar-width:thin;scrollbar-color:#c1c8d1 transparent}.slide{display:flex;flex:0 0 360px;min-height:385px;flex-direction:column;background:#f1f3f5;border-radius:19px;padding:32px;scroll-snap-align:start;transition:background .35s,transform .35s}.slide:hover{background:#e8eef6;transform:translateY(-4px)}.slide:nth-child(3n+2){background:#252a30;color:white}.slide-index{font-size:10px;letter-spacing:1.5px;color:#838b95}.slide h3{font-size:30px;letter-spacing:-1.1px;font-weight:400;line-height:1.15;margin:40px 0 18px}.slide p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 30px}.slide:nth-child(3n+2) p{color:#c1c6cd}.slide-more{display:flex;justify-content:space-between;align-items:center;margin-top:auto;font-size:13px}.slide-more b{font-size:25px;color:var(--blue);font-weight:400}.detail-link{margin:0 0 22px}.page-intro{padding-top:85px;padding-bottom:65px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(40px,5vw,78px);max-width:1100px;overflow-wrap:anywhere;letter-spacing:-3px}.page-intro>p{max-width:720px;line-height:1.8;color:var(--muted);font-size:18px}.listing-section{padding:60px 0 90px}.page-services{display:grid;grid-template-columns:1fr 1fr;gap:45px 65px}.page-services article{border-top:1px solid var(--line);padding:28px 0}.page-services h2{font-size:30px;letter-spacing:-1px;margin:24px 0}.page-services p,.detail-layout p,.reading p{font-size:16px;line-height:1.8;color:var(--muted)}.page-services a:hover{color:var(--blue)}.detail-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:12%;padding-top:75px;padding-bottom:45px}.detail-layout h2{font-size:38px}.detail-layout .button{margin-top:25px}.detail-layout aside{background:#f0f2f4;padding:35px;align-self:start}.detail-layout aside h3{font-size:26px;font-weight:400}.detail-layout aside>a{color:var(--blue);font-size:23px}.related{padding-bottom:70px}.reading{max-width:850px;padding-top:65px;padding-bottom:80px}.reading>h2{margin-bottom:35px}.reading details{border-bottom:1px solid var(--line)}.article-cost{padding:35px;margin-top:50px}.article-cost h2{font-size:32px}.forms-grid{padding-top:50px;padding-bottom:65px}
@media(max-width:1200px){.brand img{width:235px;height:18px}.nav{gap:12px}.nav-group>a{font-size:12px}.header-inner{gap:17px}}
@media(max-width:960px){.nav{display:flex;visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .25s,transform .3s,visibility .3s;max-height:calc(100dvh - 100px);overflow:auto;pointer-events:none}.nav.open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.nav-group{display:flex;flex-wrap:wrap;gap:0}.nav-group>a{font-size:17px;padding:12px;flex:1}.submenu-toggle{padding:12px 20px}.submenu{position:static;flex-basis:100%;width:100%;box-shadow:none;border:0;display:grid;grid-template-rows:0fr;opacity:1;transform:none;transition:grid-template-rows .35s,visibility .35s}.submenu-toggle[aria-expanded=true]+.submenu{grid-template-rows:1fr}.dropdown-panel{overflow:hidden;padding:0 12px}.dropdown-panel a{font-size:15px}.submenu[inert] .dropdown-panel{padding-block:0}.brand img{width:270px;height:20px}.nav-group .submenu a{padding:12px 15px}.page-intro{padding-top:65px}.detail-layout{gap:7%}}
@media(max-width:680px){.brand img{width:190px;height:16px}.brand small{font-size:8px;letter-spacing:1.9px}.header-inner{gap:12px}.slide{flex-basis:85%;min-height:385px;padding:27px}.slide h3{font-size:29px}.slider-head{font-size:12px;gap:15px}.slider-head button{width:39px;height:39px}.page-intro{padding-top:55px;padding-bottom:35px}.page-intro h1{font-size:44px;letter-spacing:-2px}.page-intro>p{font-size:16px}.page-services,.detail-layout{grid-template-columns:1fr;gap:25px}.page-services h2{font-size:27px}.listing-section{padding-top:35px;padding-bottom:45px}.detail-layout{padding-top:40px}.reading{padding-top:40px;padding-bottom:50px}.reading summary{font-size:17px;line-height:1.5}.article-cost{padding:25px}.footer-top .brand img{width:270px}}
/* Keep document scrolling native; reserve motion for small interactive elements. */
html{scroll-behavior:auto}
.brand img{filter:none}
.orbit{animation:none}
.motion-ready .reveal{transform:none;transition:opacity .35s ease}
.motion-ready .reveal.visible{transform:none}
.service-slider{scroll-snap-type:x proximity}
.header{isolation:isolate}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{transition:none}}
/* Full-width rail only; titles and other sections retain their alignment. */
:root{--rail-gutter:max(56px,calc((100vw - 1440px)/2))}
.service-slider{width:calc(100vw - 16px);margin-left:calc(-1 * var(--rail-gutter));padding:8px var(--rail-gutter) 26px;scroll-padding-inline:var(--rail-gutter);cursor:grab;scroll-snap-type:none;overscroll-behavior-x:contain;user-select:none}
.service-slider.dragging{cursor:grabbing;scroll-behavior:auto}
.service-slider.dragging a{cursor:grabbing}
.slide:hover{transform:none}
.reveal,.motion-ready .reveal{opacity:1;transform:none;transition:none}
@media(max-width:1200px){:root{--rail-gutter:32px}}
@media(max-width:680px){:root{--rail-gutter:20px}.service-slider{width:100vw}.slide{flex-basis:85vw}}
:root{--rail-gutter:max(56px,calc((var(--viewport-width,100vw) - 1440px)/2))}
.service-slider{width:var(--viewport-width,100%)}
@media(max-width:1200px){:root{--rail-gutter:32px}}
@media(max-width:680px){:root{--rail-gutter:20px}}
/* Shared two-column alignment across all sections. */
:root{--column-gap:64px}
.hero-grid,.section-top,.services-layout:not(.slider-layout),.services-secondary,.cost-inner,.team,.faq-inner,.detail-layout,.page-services{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--column-gap)}
@media(max-width:960px){:root{--column-gap:36px}}
@media(max-width:680px){
 :root{--column-gap:24px}
 .hero-grid,.section-top,.services-layout:not(.slider-layout),.services-secondary,.cost-inner,.team,.faq-inner,.detail-layout,.page-services{grid-template-columns:minmax(0,1fr)}
}
/* Consistent anthracite treatment for every service slide. */
.service-slider .slide,.service-slider .slide:hover{background:#252a30;color:#fff}
.service-slider .slide p{color:#c1c6cd}
.service-slider .slide-index{color:#aeb6c0}
/* Match the home heading to the inner-page heading scale. */
.hero h1{font-size:clamp(40px,5vw,78px);letter-spacing:-3px}
@media(max-width:680px){.hero h1{font-size:44px;letter-spacing:-2px}}
.legal-content{max-width:850px;padding-top:48px;padding-bottom:80px;overflow-wrap:anywhere}
.legal-content h2{font-size:24px;line-height:1.4;letter-spacing:-.5px;margin:38px 0 16px}
.legal-content p{font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 18px}
.legal-content .legal-draft{padding:18px 22px;background:var(--paper);font-size:14px}
/* Full-screen main chapters, with scroll-linked focus transitions. */
.home-page .hero{display:flex;flex-direction:column;justify-content:center}
.home-page .hero-grid{flex:1;width:min(calc(100% - 112px),var(--max))}

.home-page main>.section:not(.team){display:flex;flex-direction:column;justify-content:center}
.home-page main>.team{align-content:center}
@supports (animation-timeline:view()){
 @keyframes scroll-focus{
  0%{opacity:.4;filter:blur(3px);translate:0 24px}
  22%,78%{opacity:1;filter:blur(0);translate:0 0}
  100%{opacity:.45;filter:blur(3px);translate:0 -18px}
 }
 @media(prefers-reduced-motion:no-preference){
  main section h2,main .hero h1,main .photo-slot,main .page-intro h1{
   animation:scroll-focus linear both;
   animation-timeline:view();
   animation-range:entry 0% exit 100%;
  }
 }
}
@media(max-width:1200px){.home-page .hero-grid{width:calc(100% - 64px)}}
@media(max-width:680px){.home-page .hero-grid{width:calc(100% - 40px)}}
@media(prefers-reduced-motion:reduce){
 main section h2,main .hero h1,main .photo-slot,main .page-intro h1{animation:none;filter:none;translate:none;opacity:1}
}
/* More expressive scroll entrances; keep effects bounded to individual elements. */
@supports (animation-timeline:view()){
 @keyframes heading-arrival{
  0%{opacity:.15;filter:blur(8px);translate:0 55px}
  32%,85%{opacity:1;filter:blur(0);translate:0 0}
  100%{opacity:.65;filter:blur(2px);translate:0 -12px}
 }
 @keyframes photo-arrival{
  0%{opacity:.45;filter:blur(5px);scale:.94;translate:0 30px}
  30%,100%{opacity:1;filter:blur(0);scale:1;translate:0 0}
 }
 @keyframes item-arrival{
  from{opacity:.2;translate:0 38px}
  to{opacity:1;translate:0 0}
 }
 @media(prefers-reduced-motion:no-preference){
  main section h2,main .hero h1,main .page-intro h1{
   animation:heading-arrival linear both;
   animation-timeline:view();animation-range:entry 0% exit 100%;
  }
  main .photo-slot{
   animation:photo-arrival linear both;
   animation-timeline:view();animation-range:entry 0% exit 100%;
  }
  .benefit,.step,.service-slider .slide,.page-services article{
   animation:item-arrival linear both;
   animation-timeline:view(block);animation-range:entry 0% entry 100%;
  }
  .benefit:nth-child(2),.step:nth-child(2),.service-slider .slide:nth-child(2n){animation-range:entry 8% entry 110%}
  .benefit:nth-child(3),.step:nth-child(3){animation-range:entry 16% entry 120%}
  .step:nth-child(4){animation-range:entry 24% entry 130%}
 }
}
/* Initial hero composition: independent of scroll position. */
@keyframes hero-settle{
 from{opacity:0;filter:blur(9px);transform:translateY(24px)}
 to{opacity:1;filter:blur(0);transform:translateY(0)}
}
@media(prefers-reduced-motion:no-preference){
 .hero-copy>.eyebrow{animation:hero-settle .8s cubic-bezier(.2,.65,.3,1) .05s both}
 main .hero h1{animation:hero-settle 1.15s cubic-bezier(.2,.65,.3,1) .15s both;animation-timeline:auto;animation-range:normal}
 .hero-copy>p{animation:hero-settle .95s cubic-bezier(.2,.65,.3,1) .3s both}
 .hero-copy>.actions,.hero-copy>.hero-number{animation:hero-settle .85s cubic-bezier(.2,.65,.3,1) .45s both}
 .hero-art{animation:hero-settle 1.2s cubic-bezier(.2,.65,.3,1) .25s both}
 main .hero .photo-slot{animation:none;filter:none;scale:1;translate:none}
 .hero .trust-line{animation:hero-settle .85s cubic-bezier(.2,.65,.3,1) .6s both}
}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  main section h2,main section h3,main .page-services h2,main .detail-layout h2,main .reading h2{
   animation:heading-arrival linear both;
   animation-timeline:view(block);
   animation-range:entry 0% exit 100%;
  }
  /* Card entrances already animate their parent; avoid double filtering. */
  .benefit h3,.step h3,.service-slider .slide h3,.page-services article h2{animation:none}
 }
}
/* Clip decorative overflow without creating a nested scroll container.
   View timelines must track the document in the process/contact sections. */
.dark,.contact{overflow:clip}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  #ablauf h2,.contact h2{
   animation:heading-arrival linear both;
   animation-timeline:view(block);
   animation-range:entry 0% exit 100%;
  }
  main section h2,main section h3{width:fit-content;max-width:100%}
 }
}
/* Meeting revision: left menu, centered larger logo, right languages. */
.header{--header-height:116px}
.header .header-inner{height:var(--header-height);min-height:var(--header-height);display:grid;grid-template-columns:1fr auto 1fr;gap:24px}
.header .brand{grid-column:2;grid-row:1;justify-self:center}
.header .brand img{width:clamp(290px,34vw,510px);height:auto;max-width:100%;filter:none}
.header .languages{grid-column:3;grid-row:1;justify-self:end;border:0;padding:0;margin:0;gap:14px}
.header .languages button{font-size:14px;padding:12px 4px}
.header .menu-toggle{grid-column:1;grid-row:1;justify-self:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:48px;height:48px;padding:8px;border:0;background:transparent;margin:0}
.header .menu-toggle span{display:block;height:2px;width:30px;background:var(--ink);transition:transform .3s ease}
.header .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(5px) rotate(45deg)}
.header .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-5px) rotate(-45deg)}
.header .nav{position:absolute;top:100%;left:0;right:0;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:26px max(56px,calc((100% - 1440px)/2)) 36px;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #2023260a;max-height:calc(100dvh - var(--header-height));overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-14px);clip-path:inset(0 0 100% 0);pointer-events:none;transition:opacity .25s ease,transform .35s ease,clip-path .4s ease,visibility .4s}
.header .nav.open{visibility:visible;opacity:1;transform:translateY(0);clip-path:inset(0);pointer-events:auto}
.header .nav>a,.header .nav-group>a{font-size:22px;line-height:1.4;padding:14px 0;white-space:normal}
.header .nav>a:after{display:none}
.header .nav a:hover,.header .nav a.active{color:var(--blue)}
.header .nav-group{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid #edf0f2}
.header .nav-group>a{flex:1}
.header .submenu-toggle{padding:12px 20px;font-size:20px}
.header .submenu{position:static;flex-basis:100%;width:100%;display:grid;grid-template-rows:0fr;box-shadow:none;border:0;opacity:1;transform:none;visibility:hidden;transition:grid-template-rows .3s ease,visibility .3s}
.header .submenu-toggle[aria-expanded=true]+.submenu{grid-template-rows:1fr;visibility:visible}
.header .dropdown-panel{overflow:hidden;padding:0 18px}
.header .dropdown-panel a{font-size:16px;padding:12px 10px}
@media(max-width:960px){.header{--header-height:96px}.header .nav{padding-inline:32px}}
@media(max-width:680px){.header{--header-height:84px}.header .header-inner{grid-template-columns:44px minmax(0,1fr) 58px;gap:10px}.header .brand{width:100%}.header .brand img{width:100%;height:auto}.header .languages{gap:6px}.header .languages button{font-size:12px;padding:12px 2px}.header .menu-toggle{width:44px;height:44px}.header .menu-toggle span{width:26px}.header .nav{padding:18px 20px 26px}.header .nav>a,.header .nav-group>a{font-size:20px}.header .dropdown-panel{padding-inline:8px}}
/* Show only the destination language, in an outlined control. */
.header .languages button[aria-pressed=true]{display:none}
.header .languages button[aria-pressed=false]{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:40px;border:1px solid #aeb4bb;border-radius:4px;padding:9px 13px;font-size:13px;font-weight:600;letter-spacing:1px;color:var(--ink);background:transparent;transition:border-color .2s,color .2s}
.header .languages button:hover{border-color:var(--blue);color:var(--blue)}
@media(min-width:961px){
 .header{--header-height:102px}
 .header .header-inner{display:flex;gap:24px}
 .header .brand{margin-right:auto;flex-shrink:0}
 .header .brand img{width:300px;height:auto}
 .header .menu-toggle{display:none}
 .header .languages{flex-shrink:0;margin:0}
 .header .nav{position:static;display:flex;flex-direction:row;align-items:center;gap:17px;width:auto;max-height:none;overflow:visible;padding:0;margin:0;background:transparent;border:0;box-shadow:none;visibility:visible;opacity:1;transform:none;clip-path:none;pointer-events:auto;transition:none}
 .header .nav>a,.header .nav-group>a{font-size:13px;line-height:1.4;padding:10px 0;white-space:nowrap}
 .header .nav-group{position:relative;flex-wrap:nowrap;gap:4px;border:0}
 .header .submenu-toggle{font-size:14px;padding:8px 3px}
 .header .submenu{position:absolute;top:calc(100% + 20px);left:-25px;width:350px;display:block;background:#fff;border:1px solid #e6e8eb;border-radius:0 0 12px 12px;box-shadow:0 22px 40px #20232612;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .3s,visibility .3s}
 .header .submenu-toggle[aria-expanded=true]+.submenu{visibility:visible;opacity:1;transform:translateY(0)}
 .header .dropdown-panel{padding:17px;overflow:visible}
 .header .dropdown-panel a{font-size:14px;padding:13px 10px}
}
@media(min-width:961px) and (max-width:1200px){
 .header .header-inner{gap:16px}
 .header .brand img{width:235px}
 .header .nav{gap:12px}
 .header .nav>a,.header .nav-group>a{font-size:12px}
}
@media(max-width:680px){.header .languages button[aria-pressed=false]{min-width:44px;min-height:38px;font-size:12px;padding:8px}}
/* Compact destination-language button. */
.header .languages button[aria-pressed=false]{min-width:34px;min-height:30px;padding:5px 7px;background:#111;color:#fff;border:1px solid #111;border-radius:3px;font-size:11px;line-height:1;letter-spacing:.5px}
.header .languages button[aria-pressed=false]:hover{background:#303030;border-color:#303030;color:#fff}
/* Symmetrical mobile header: equal side tracks, truly centered logo. */
@media(max-width:960px){
 .header .header-inner{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:16px}
 .header .brand{justify-self:center;min-width:0;width:100%;max-width:360px}
 .header .brand img{width:100%;height:auto}
 .header .menu-toggle{justify-self:center;width:44px;height:44px;padding:0}
 .header .languages{justify-self:center;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;margin:0}
 .header .languages button[aria-pressed=false]{min-width:30px;width:30px}
 .header .menu-toggle span{width:30px}
}
@media(max-width:680px){
 .header .header-inner{grid-template-columns:44px minmax(0,1fr) 44px;gap:12px}
}
@media(max-width:960px){
 .header .menu-toggle{width:30px;min-width:30px}
}
@media(max-width:960px){
 .header .nav>a,.header .nav-group>a{font-size:16px}
}
/* More breathing room inside the expanded mobile navigation. */
@media(max-width:960px){
 .header .nav{padding:28px 40px 36px}
}
@media(max-width:680px){
 .header .nav{padding:26px 30px 34px}
}
/* Header navigation refinements. */
@media(min-width:961px){
 .header .nav>a,.header .nav-group>a{font-size:14px;font-weight:600}
}
@media(max-width:960px){
 .header .nav>a,.header .nav-group{border-bottom:1px solid var(--line)}
 .header .nav>:last-child{border-bottom:0}
}
.header .dropdown-panel a>span[aria-hidden="true"]{display:none}
/* Submenu dividers align with the text, inside each link's padding. */
.header .dropdown-panel a{position:relative}
.header .dropdown-panel a:not(:last-child)::after{content:'';position:absolute;left:10px;right:10px;bottom:0;height:1px;background:var(--line);pointer-events:none}
@media(max-width:960px){
 .header .nav-group .submenu a:not(:last-child)::after{left:15px;right:15px}
}
/* Shared three-way quick-action bar, desktop and mobile. */
.quick-actions{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:25;display:grid;grid-template-columns:repeat(3,1fr);width:240px;height:58px;background:rgba(32,35,38,.9);color:#fff;border-radius:5px;box-shadow:0 6px 22px #0002}
.quick-actions>a,.quick-actions>button{position:relative;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:#fff;border-radius:0;transition:background .2s}
.quick-actions svg{width:24px;height:24px;display:block}
.quick-actions>a::after{content:'';position:absolute;right:0;top:15px;bottom:15px;width:1px;background:#ffffff55}
.quick-actions>.quick-whatsapp::after{background:#25d366}
.quick-actions>a:hover,.quick-actions>button:hover{background:#ffffff12}
.quick-actions>:focus-visible{outline:2px solid #fff;outline-offset:-5px}
footer{padding-bottom:105px}
@media(max-width:680px){.quick-actions{width:calc(100% - 40px);height:56px;bottom:max(12px,env(safe-area-inset-bottom))}}
.quick-actions>a::after{background:#25d366}
@media(min-width:961px){
 .header .submenu .dropdown-panel{max-height:calc(100dvh - 165px);overflow-y:auto;overscroll-behavior-y:contain}
}
.partner-network{margin-top:80px;padding-top:45px;border-top:1px solid var(--line)}
.partner-network>h2{margin:22px 0 42px;max-width:900px}
@media(max-width:680px){.partner-network{margin-top:45px;padding-top:30px}.partner-network>h2{margin-bottom:30px}}
.services-cost-note{max-width:850px;margin:22px 0 32px;font-size:16px;line-height:1.8;color:var(--muted)}
.services-cost-note strong{font-weight:600;color:var(--ink)}
/* Stack the process steps on mobile. */
@media(max-width:680px){
 #ablauf .steps{grid-template-columns:minmax(0,1fr);gap:28px}
}
@media(max-width:680px){
 .contact-meta{flex-direction:column;align-items:flex-start;gap:24px}
}
@media(max-width:680px){.benefit.claim-benefit{grid-template-columns:minmax(0,1fr)}}
/* Cost information follows the process and precedes the appointment link. */
.process-cost-note{display:flex;align-items:flex-start;gap:18px;margin-top:38px;padding:24px 26px;background:rgba(255,255,255,.045);border:1px solid #ffffff24;border-left:3px solid var(--blue);max-width:1000px}
.process-note-icon{flex:0 0 28px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #78b5ff;border-radius:50%;color:#78b5ff;font-size:18px;font-weight:600;line-height:1}
.process-cost-text{margin:0;color:#cbd1d8;font-size:15px;line-height:1.8}
.process-cost-text strong{color:#fff;font-weight:600}
@media(max-width:680px){.process-cost-note{padding:20px 18px;gap:13px}.process-cost-text{font-size:14px}}
/* Quick-action icon colors and understated anthracite separators. */
.quick-actions>a[href^="tel:"]{color:#fff}
.quick-actions>.quick-whatsapp{color:#25d366}
.quick-actions>.quick-top{color:#fff}
.quick-actions>a::after,.quick-actions>.quick-whatsapp::after{background:#50555b}
.quick-actions>a::after,.quick-actions>.quick-whatsapp::after{background:#70767d}
.quick-actions{border-radius:10px;overflow:hidden}
/* Card-sized stops for touch, arrow navigation and mouse dragging. */
.service-slider{scroll-snap-type:x mandatory}
.service-slider .slide{scroll-snap-align:start;scroll-snap-stop:always}
.service-slider.dragging{scroll-snap-type:none}
@media(max-width:680px){
 .service-slider{--mobile-card:80%;gap:14px;padding-inline:10%;scroll-padding-inline:0}
 .service-slider .slide{flex:0 0 100%;scroll-snap-align:center}
}
/* Hero trial: full-width photography above the existing introduction. */
.hero-gallery{position:relative;width:100%;background:#dce0e3}
.hero-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.hero-gallery-track::-webkit-scrollbar{display:none}
.hero-gallery-track.dragging{scroll-snap-type:none;cursor:grabbing}
.hero-gallery-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;height:clamp(380px,48vw,720px)}
.hero-gallery-slide img{width:100%;height:100%;object-fit:cover;object-position:center 44%;display:block;user-select:none}
.hero-gallery-prev,.hero-gallery-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:48px;border:1px solid #ffffff50;border-radius:3px;background:#ffffffdc;color:#202326;font-size:34px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #0002}
.hero-gallery-prev{left:28px}.hero-gallery-next{right:28px}
.hero-gallery-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;background:#20232655;border-radius:24px;padding:4px 9px}
.hero-gallery-dots button{position:relative;width:30px;height:30px;border:0;background:transparent;padding:0}
.hero-gallery-dots button:after{content:'';display:block;width:9px;height:9px;border-radius:50%;background:#ffffff70;margin:auto;transition:background .2s,scale .2s}
.hero-gallery-dots button[aria-pressed=true]:after{background:white;scale:1.2}
.home-page .hero-with-slider .hero-grid{display:block;min-height:0;flex:none;padding-top:55px;padding-bottom:50px}
.hero-with-slider .hero-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--column-gap);align-items:start}
.hero-with-slider .hero-copy>.eyebrow{grid-column:1 / -1;margin-bottom:22px}
.hero-with-slider .hero-copy>h1{grid-column:1;grid-row:2 / 5;margin:0;font-size:clamp(40px,4.4vw,68px)}
.hero-with-slider .hero-copy>p{grid-column:2;margin:0;max-width:540px}
.hero-with-slider .hero-copy>.actions{grid-column:2;margin-top:25px}
.hero-with-slider .hero-copy>.hero-number{grid-column:2}
@media(max-width:680px){
 .hero-gallery-slide{height:390px;height:55svh;min-height:300px;max-height:470px}
 .hero-gallery-prev{left:14px}.hero-gallery-next{right:14px}
 .hero-gallery-prev,.hero-gallery-next{width:36px;height:44px}
 .hero-gallery-slide:nth-child(2) img{object-position:65% center}
 .hero-gallery-dots{bottom:14px}
 .home-page .hero-with-slider .hero-grid{padding-top:35px;padding-bottom:35px}
 .hero-with-slider .hero-copy{display:block}
 .hero-with-slider .hero-copy>h1{font-size:44px;margin:0 0 24px}
}
/* Cinematic image settling, with optically centered SVG navigation. */
.hero-gallery-slide{overflow:clip}
.hero-gallery-slide img{transform:scale(1.055);opacity:.8;transition:transform 1.1s cubic-bezier(.2,.65,.25,1),opacity .7s ease}
.hero-gallery-slide.is-active img{transform:scale(1);opacity:1}
.hero-gallery-prev,.hero-gallery-next{padding:0;display:grid;place-items:center;transition:background .2s,box-shadow .2s}
.hero-gallery-prev svg,.hero-gallery-next svg{width:22px;height:22px;display:block}
.hero-gallery-prev:hover,.hero-gallery-next:hover{background:#fff;box-shadow:0 4px 18px #0003}
.hero-gallery-dots button:after{transition:background .35s,scale .35s}
@media(prefers-reduced-motion:reduce){.hero-gallery-slide img{transform:none;opacity:1;transition:none}}
/* Crossfade hero: replace horizontal scrolling with layered image transitions. */
.hero-gallery-track{position:relative;display:block;overflow:hidden;scroll-snap-type:none;height:clamp(300px,40vw,580px);max-height:65svh;touch-action:pan-y pinch-zoom}
.hero-gallery-slide{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity .85s ease;z-index:0}
.hero-gallery-slide.is-active{opacity:1;z-index:1;pointer-events:auto}
.hero-gallery-slide img{opacity:1;transform:scale(1.08);transition:transform 1.5s cubic-bezier(.16,.6,.25,1)}
.hero-gallery-slide.is-active img{transform:scale(1)}
.hero-gallery-prev,.hero-gallery-next,.hero-gallery-dots{z-index:3}
@media(max-width:680px){.hero-gallery-track{height:45svh;min-height:260px;max-height:390px}.hero-gallery-slide{height:100%;min-height:0;max-height:none}}
@media(prefers-reduced-motion:reduce){.hero-gallery-slide,.hero-gallery-slide img{transition:none}.hero-gallery-slide img{transform:none}}
/* Extensible language picker. */
.header .language-picker{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px}
.header .language-picker .language-toggle{display:grid;place-items:center;width:36px;height:36px;min-width:0;padding:6px;background:transparent;border:0;color:var(--ink);border-radius:4px}
.language-toggle svg{display:block;width:24px;height:24px}
.header .language-picker .language-toggle:hover{background:#eef1f4;color:var(--blue)}
.header .language-options{position:absolute;right:0;top:calc(100% + 10px);width:170px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 30px #20232618;z-index:40;animation:language-open .2s ease}
.header .language-options[hidden]{display:none}
.header .language-options button[data-lang]{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;min-height:42px;padding:10px 12px;border:0;background:transparent;color:var(--ink);font-size:14px;font-weight:400;letter-spacing:0;border-radius:3px;line-height:1.4}
.header .language-options button[data-lang][aria-pressed=true]{color:var(--blue);font-weight:600;background:#f1f6fc}
.header .language-options button[data-lang]:hover{background:#eef1f4}
@keyframes language-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
/* Balanced mobile header icons with generous touch targets. */
@media(max-width:960px){
 .header .menu-toggle{width:44px;min-width:44px;height:44px;gap:6px}
 .header .menu-toggle span{width:22px;height:1.6px}
 .header .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.8px) rotate(45deg)}
 .header .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.8px) rotate(-45deg)}
 .header .language-picker .language-toggle{width:44px;height:44px;padding:11px}
 .header .language-toggle svg{width:22px;height:22px}
}
@media(min-width:961px){
 .header .nav>a,.header .nav-group>a{font-size:13px}
}
@media(min-width:961px){
 .header .submenu{border-radius:12px}
}
/* Align mobile header icon artwork with the page content gutter. */
@media(max-width:960px){
 .header .menu-toggle{transform:translateX(-11px)}
 .header .language-picker{transform:translateX(11px)}
}
/* Service photography inset into the existing anthracite cards. */
.service-slider .slide-photo{width:100%;aspect-ratio:30 / 19;flex-shrink:0;overflow:hidden;border-radius:10px;margin-bottom:24px;background:#353b42}
.service-slider .slide-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;-webkit-user-drag:none}
.service-slider .slide:has(.slide-photo) h3{margin-top:26px}
/* Edge-to-edge photography; retain inset card copy. */
.service-slider .slide{--card-inset:32px;overflow:hidden}
.service-slider .slide-photo{width:calc(100% + 2 * var(--card-inset));margin:calc(-1 * var(--card-inset)) calc(-1 * var(--card-inset)) 24px;border-radius:0}
@media(max-width:680px){.service-slider .slide{--card-inset:27px}}
/* Font-independent diagonal arrows, identical on phones and desktop. */
.diagonal-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}
.trust-line .diagonal-arrow{width:19px;height:19px}
.slide-more .diagonal-arrow{width:32px;height:32px}
.text-link .diagonal-arrow{width:20px;height:20px}
.hero-with-slider .hero-copy>.hero-hotline{grid-column:2;margin:22px 0 0;color:var(--ink);font-weight:600;font-size:20px;line-height:1.5}
.hero-hotline span{font-size:15px;font-weight:700;color:var(--muted)}
.hero-with-slider .hero-copy>h1{grid-row:2 / 6}
.slider-controls{display:flex;justify-content:flex-start;gap:10px;margin-top:12px}
.slider-controls button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#eef0f2;color:var(--ink);font-size:21px;transition:background .2s,color .2s}
.slider-controls button:hover{background:#dce8f8;color:var(--blue)}
@media(max-width:680px){.hero-with-slider .hero-copy>.hero-hotline{margin-top:22px}.slider-controls button{width:44px;height:44px}}
.accident-guide{background:#f1f3f5}
.accident-guide h2{margin-top:24px}
.accident-accordions details{border-bottom:1px solid var(--line)}
.accident-accordions details:first-child{border-top:1px solid var(--line)}
.accident-accordions details p{font-size:15px;line-height:1.85}
.accident-accordions a,.accident-safety a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.accident-safety{font-size:14px;color:var(--muted);line-height:1.7;margin-top:28px}
.accident-note{border-left:3px solid var(--blue);padding:18px 22px;background:#fff;margin-top:28px}
.accident-note p{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:0}
@media(max-width:680px){.accident-accordions summary{font-size:17px}}
/* Open information row with a full-width divider. */
.process-cost-note{width:100%;max-width:none;background:transparent;border:0;border-top:1px solid #666b71;padding:28px 0 0;gap:18px}
.process-note-icon{font-family:Georgia,serif;font-style:normal;font-weight:700}
@media(max-width:680px){.process-cost-note{padding:24px 0 0;gap:13px}}
/* Consistent light-surface information notes. */
.inline-info,.accident-note.inline-info{display:flex;align-items:flex-start;gap:16px;width:100%;margin-top:26px;padding:24px 0 0;border:0;border-top:1px solid #b4bac1;background:transparent;grid-column:2}
.info-circle{display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;border:1px solid var(--blue);border-radius:50%;color:var(--blue);font:700 18px/1 Georgia,serif}
.inline-info>div{min-width:0}
.inline-info strong{font-size:15px;color:var(--ink)}
.inline-info p,.benefit .inline-info p{margin:8px 0 0;font-size:14px;line-height:1.8;max-width:none;color:var(--muted)}
@media(min-width:681px){.inline-info{grid-column:auto}}
@media(max-width:680px){.inline-info,.accident-note.inline-info{gap:13px}}
.slider-controls button{padding:0;display:grid;place-items:center;line-height:1}
.slider-controls button svg{display:block;width:22px;height:22px}
/* More compact service cards. */
.service-slider .slide-photo{aspect-ratio:2 / 1;margin-bottom:18px}
.service-slider .slide:has(.slide-photo) h3{margin-top:18px;margin-bottom:14px}
.service-slider .slide p{margin-bottom:18px}
.partner-section>.partner-network{margin-top:0;padding-top:0;border-top:0}

/* Match the current service to the selected language styling. */
.header .dropdown-panel a[aria-current="page"]{color:var(--blue);font-weight:600;background:#f1f6fc}

.hero .trust-line>span{line-height:1.5}
.hero .trust-line .trust-square{display:block;width:7px;height:7px;flex:0 0 7px;background:var(--blue)}

/* Shared typography scale for all pages and both languages. */
:root{
 --type-title:clamp(36px,4.2vw,60px);
 --type-section:clamp(30px,3.2vw,48px);
 --type-card:clamp(23px,2.1vw,28px);
 --type-subheading:20px;
 --type-body:16px;
 --type-body-leading:1.75;
}
#main h1{font-size:var(--type-title);line-height:1.08;letter-spacing:-.045em}
#main h2{font-size:var(--type-section);line-height:1.16;letter-spacing:-.035em}
#main h3{font-size:var(--type-subheading);line-height:1.35;letter-spacing:-.02em}
#main .slide h3,#main .page-services h2{font-size:var(--type-card);line-height:1.2;letter-spacing:-.025em}
#main .legal-content h2,#main .article-cost h2,#main .detail-layout h2{font-size:var(--type-card);line-height:1.3}
#main p,#main .intro-copy,#main .contact-meta,#main .hero-hotline span,#main .inline-info strong,
#main .reading li,#main .detail-layout li,#main .legal-content li{
 font-size:var(--type-body);line-height:var(--type-body-leading);
}
#main summary{font-size:18px;line-height:1.5}
#main .trust-line>span{font-size:14px;line-height:1.5}
#main .call-large{font-size:var(--type-section);line-height:1.2;letter-spacing:-.03em}
/* Small captions and interface labels retain their supporting hierarchy. */
#main .slot-center p{font-size:12px;line-height:1.6}
@media(max-width:680px){
 :root{--type-title:44px;--type-section:39px;--type-card:24px;--type-subheading:19px}
 #main summary{font-size:17px}
}

/* Service carousel heading, button treatment and centered pagination. */
#main .slider-head>span{font-size:18px;font-weight:500;line-height:1.3;letter-spacing:-.025em;color:var(--ink)}
#main .slide-more{align-self:flex-start;display:inline-flex;justify-content:center;padding:11px 18px;border:1px solid #ffffff60;border-radius:10px;background:#fff;color:var(--ink);font-size:14px;font-weight:600;line-height:1.4;transition:background .2s,color .2s}
#main .slide:hover .slide-more{background:var(--blue);border-color:var(--blue);color:#fff}
.slider-controls{justify-content:center;align-items:center;gap:16px;margin-top:18px}
.service-dots{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}
.slider-controls .service-dots button{width:20px;height:32px;border-radius:0;padding:0;background:transparent;flex:0 0 20px}
.service-dots button::before{content:'';width:6px;height:6px;border-radius:10px;background:#bdc3ca;transition:width .25s,background .25s}
.service-dots button[aria-pressed=true]::before{width:16px;background:var(--blue)}
.slider-controls>button{flex-shrink:0}
@media(max-width:680px){.slider-controls{gap:8px}.slider-controls .service-dots button{width:14px;flex-basis:14px}.service-dots button[aria-pressed=true]::before{width:12px}.service-dots{max-width:calc(100% - 104px)}}

.rights-answer{padding-bottom:20px;color:var(--muted)}
.rights-answer p{margin:0 0 18px}
.rights-answer p:last-child{margin-bottom:0}
.rights-answer ol{padding-left:24px;margin:18px 0}
.rights-answer li{padding-left:5px;margin-bottom:14px}
.rights-answer strong{color:var(--ink)}

/* Home guide gateway: three equal, fully clickable cards. */
.guide-overview{background:var(--paper)}
.guide-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.guide-card{display:flex;flex-direction:column;min-width:0;padding:32px;border:1px solid var(--line);border-radius:10px;background:#fff;transition:border-color .2s,box-shadow .2s}
#main .guide-card h2{font-size:var(--type-card);line-height:1.25;letter-spacing:-.025em}
.guide-card p{color:var(--muted);margin:18px 0 28px}
.guide-card-link{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;color:var(--blue);font-size:14px;font-weight:600}
.guide-card-link .diagonal-arrow{width:22px;height:22px}
.guide-card:hover{border-color:var(--blue);box-shadow:0 8px 24px #2023260a}
@media(max-width:680px){.guide-cards{grid-template-columns:1fr;gap:16px}.guide-card{padding:26px}.guide-card p{margin-bottom:22px}}

/* Shared action style, matching the service-card buttons. */
#main :is(.button,.text-link,.slide-more,.guide-card-link){
 display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;
 width:fit-content;max-width:100%;gap:0;padding:11px 18px;
 border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);
 font-size:14px;font-weight:600;line-height:1.4;letter-spacing:0;text-align:center;
 text-decoration:none;transform:none;
 transition:background .2s,color .2s,border-color .2s;
}
#main :is(.button,.text-link,.slide-more,.guide-card-link) svg,
#main :is(.text-link,.slide-more,.guide-card-link)>span[aria-hidden],
#main .slide-more>b{display:none}
#main :is(.button,.text-link):hover,
#main .slide:hover .slide-more,
#main .guide-card:hover .guide-card-link{background:var(--blue);border-color:var(--blue);color:#fff;transform:none}
#main .dark :is(.button,.text-link),#main .slide-more{border-color:#ffffff60}
#main .contact :is(.button,.text-link):hover{background:var(--ink);border-color:var(--ink);color:#fff}

/* Keep browser text autosizing stable when phones change orientation. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* Contact details live below the footer logo; the call section stays minimal. */
.footer-top{align-items:flex-start}
.footer-identity{min-width:0}
.footer-contact{display:grid;gap:18px;margin-top:28px;font-size:14px;line-height:1.75;color:var(--muted)}
.footer-contact a:hover{color:var(--blue)}
.footer-contact a{overflow-wrap:anywhere}

/* Legal links above copyright on every screen size. */
.footer-bottom{flex-direction:column;align-items:flex-start;gap:18px}
.footer-bottom>nav{order:0;display:flex;flex-wrap:wrap;gap:18px}
.footer-bottom>span{order:1}
@media(min-width:681px){
 .footer-bottom{flex-direction:row;align-items:center;justify-content:space-between}
 .footer-bottom>span{margin-left:auto;text-align:right}
}

/* Share content rows so partner information notes begin at the same height. */
@media(min-width:681px){
 .partner-network .benefits{row-gap:0}
 .partner-network .benefit{display:grid;grid-template-rows:subgrid;grid-row:span 4;min-width:0}
 .partner-network .benefit>.index{grid-row:1}
 .partner-network .benefit>h3{grid-row:2}
 .partner-network .benefit>p{grid-row:3}
 .partner-network .benefit>.inline-info{grid-row:4;align-self:start}
}

.quick-actions{background:rgba(32,35,38,.8)}
.quick-actions .quick-whatsapp img{display:block;width:30px;height:30px;object-fit:contain}
.quick-actions .quick-top svg{width:26px;height:26px}

/* Compact home FAQ: title above two independent accordion columns. */
#ratgeber .faq-inner{display:block}
#ratgeber .faq-inner>div:first-child{margin-bottom:32px}
#ratgeber .faq-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--column-gap,48px);align-items:start}
#ratgeber .faq-columns>div{min-width:0}
#ratgeber .faq-columns summary{padding-block:22px}
@media(max-width:680px){
 #ratgeber .faq-columns{grid-template-columns:1fr;gap:0}
 #ratgeber .faq-inner>div:first-child{margin-bottom:24px}
 #ratgeber .faq-columns summary{padding-block:18px}
}

/* Compact guide gateway, without changing the shared type or button scale. */
.section.guide-overview{padding-block:56px}
.guide-overview .guide-cards{gap:20px;margin-top:22px}
.guide-overview .guide-card{padding:24px}
.guide-overview .guide-card p{margin:12px 0 18px}
@media(max-width:680px){
 .section.guide-overview{padding-block:36px}
 .guide-overview .guide-cards{gap:12px;margin-top:18px}
 .guide-overview .guide-card{padding:20px}
 .guide-overview .guide-card p{margin:10px 0 16px}
}

/* Guide cards share the anthracite service-card treatment. */
.guide-overview .guide-card{background:#252a30;color:#fff;border-color:#252a30;border-radius:19px;box-shadow:none}
#main .guide-overview .guide-card h2{color:#fff}
.guide-overview .guide-card p{color:#c1c6cd}
.guide-overview .guide-card:hover{background:#252a30;border-color:#252a30;box-shadow:none}
#main .guide-overview .guide-card-link{border-color:#ffffff60}
#main .guide-overview .guide-card:hover .guide-card-link{border-color:var(--blue)}

/* Button color trial: blue by default, white on hover. */
#main :is(.button,.text-link,.slide-more,.guide-card-link),
#main .guide-overview .guide-card-link{
 background:var(--blue);border-color:var(--blue);color:#fff;
}
#main :is(.button,.text-link):hover,
#main .slide:hover .slide-more,
#main .guide-card:hover .guide-card-link,
#main .guide-overview .guide-card:hover .guide-card-link,
#main .contact :is(.button,.text-link):hover{
 background:#fff;border-color:var(--line);color:var(--ink);
}

.footer-contact,.footer-contact a{font-weight:400}
.footer-contact strong{font-weight:700}
.footer-bottom>nav{font-size:14px}

.page-intro+.related{padding-top:32px}

/* Full-width service photography, followed by future editorial content. */
.service-detail-photo{margin-block:0;background:var(--paper)}
.service-detail-photo img{display:block;width:100%;height:clamp(300px,42vw,620px);object-fit:cover;object-position:center}
.service-detail-content:empty{display:none}
.service-detail-content+.related{padding-top:32px}
@media(max-width:680px){.service-detail-photo img{height:auto;aspect-ratio:4 / 3}}

.service-list-photo{display:block;aspect-ratio:2 / 1;overflow:hidden;border-radius:10px;margin-bottom:24px;background:var(--paper)}
.service-list-photo img{display:block;width:100%;height:100%;object-fit:cover}

/* Compact service listing: three columns on desktop. */
@media(min-width:961px){
 .listing-section .page-services{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
}

#main .listing-section .page-services h2{font-size:21px;line-height:1.35;letter-spacing:0}
.listing-section .page-services article{border-top:0;padding-top:0}

/* Compact neutral action buttons across all pages. */
#main :is(.button,.text-link,.slide-more,.guide-card-link),
#main .guide-overview .guide-card-link,
footer .text-link{
 background:#cbd0d5;border:1px solid #cbd0d5;color:#202326;
 padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;line-height:1.4;
}
#main :is(.button,.text-link):hover,
#main .slide:hover .slide-more,
#main .guide-card:hover .guide-card-link,
#main .guide-overview .guide-card:hover .guide-card-link,
#main .contact :is(.button,.text-link):hover,
footer .text-link:hover{
 background:#cbd0d5;border-color:#cbd0d5;color:#202326;
}

/* Soft gray guide cards against the lighter section background. */
.guide-overview .guide-card,
.guide-overview .guide-card:hover{background:#e5e7e9;border-color:#e5e7e9}
#main .guide-overview .guide-card h2{color:var(--ink)}
.guide-overview .guide-card p{color:#50565d}

/* Stable service-card geometry and color throughout scrolling. */
.service-slider .slide{
 min-width:0;animation:none;opacity:1;transform:none;filter:none;
 background:#252a30;
}
.service-slider .slide-photo{position:relative;aspect-ratio:2 / 1;min-height:0}
.service-slider .slide-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.accident-answer{padding-bottom:22px;color:var(--muted)}
.accident-answer p{margin:0 0 16px}
.accident-answer p:last-child{margin-bottom:0}
.accident-answer ol{padding-left:24px;margin:16px 0}
#main .accident-answer li{font-size:var(--type-body);line-height:var(--type-body-leading);padding-left:4px;margin-bottom:12px}
.accident-answer strong{color:var(--ink)}

/* Text labels also operate their dropdowns, including on touch screens. */
.header .nav-heading{border:0;background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:600;line-height:1.4;padding:10px 0;text-align:left;cursor:pointer}
.header .nav-heading.active{color:var(--blue)}
@media(max-width:960px){
 .header .nav-heading{flex:1;font-size:16px;padding:14px 0;white-space:normal}
}
/* Keep dropdown labels and regular navigation links at the same weight. */
@media(min-width:961px){.header .nav>a,.header .nav-heading{font-weight:600}}
@media(max-width:960px){.header .nav>a,.header .nav-heading{font-weight:400}}

@media(max-width:960px){
 .header .nav>a,.header .nav-group>.nav-heading{
  font-family:Arial,Helvetica,sans-serif;font-size:16px;font-style:normal;font-weight:400;
  line-height:1.4;letter-spacing:normal;-webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;text-size-adjust:100%;
 }
 .header .nav-group>.nav-heading{-webkit-appearance:none;appearance:none}
}

/* Hero-specific emphasis and primary call action. */
#main .hero .actions .button{background:var(--blue);border-color:var(--blue);color:#fff}
#main .hero .actions .button:hover{background:#095cbe;border-color:#095cbe;color:#fff}
#main .hero-copy>.hero-values{margin-top:14px;font-weight:700;color:#111}
#main .hero-copy>.hero-hotline,#main .hero-hotline span{font-size:18px;font-weight:700;color:#111;line-height:1.5}
.hero-with-slider .hero-copy>h1{grid-row:2 / 7}
@media(max-width:680px){#main .hero-copy>.hero-values{font-size:clamp(13px,3.7vw,16px);white-space:nowrap}}

/* Stronger hero benefits, stacked on mobile. */
#main .hero .trust-line>span{font-size:14px;font-weight:700;line-height:1.5}
@media(max-width:680px){
 #main .hero .trust-line{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
 #main .hero .trust-line>span{width:100%;align-items:baseline}
}

.footer-top>p{font-size:16px;line-height:1.75}


/* Four guide destinations, in reading order. */
@media(min-width:1101px){.guide-overview .guide-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:681px) and (max-width:1100px){.guide-overview .guide-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
#main .important-content h2{font-size:var(--type-card);line-height:1.3;margin:32px 0 18px}
#main .important-content h2:first-child{margin-top:0}
.important-content>.text-link{margin-top:16px}

.inline-info.rights-info{border-top:0}

/* Three form blocks side by side on desktop; retain mobile layout. */
@media(min-width:961px){
 .page-services.forms-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
}

.forms-grid>article{border-top:0}

/* Leistungen listing: movement only, without fading or blurring. */
@keyframes service-item-move{from{translate:0 38px}to{translate:0 0}}
@keyframes service-heading-move{0%{translate:0 55px}32%,85%{translate:0 0}100%{translate:0 -12px}}
.services-list-page main .page-services article,
.services-list-page main h2,
.services-list-page main .page-intro h1{opacity:1;filter:none}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  .services-list-page main .page-services article{animation-name:service-item-move}
  .services-list-page main section h2,
  .services-list-page main .page-intro h1{animation-name:service-heading-move}
  .services-list-page main .page-services article h2{animation:none}
 }
}

/* Static content on the Leistungen listing page. */
.services-list-page main *,
.services-list-page main *::before,
.services-list-page main *::after{animation:none!important}
.services-list-page main .page-services article,
.services-list-page main h2,
.services-list-page main .page-intro h1,
.services-list-page main .reveal{opacity:1;filter:none;translate:none;transform:none}

/* Partner content no longer reserves a number column or row. */
.partner-network .benefit>h3{margin-top:0}
@media(min-width:681px){
 .partner-network .benefit{grid-row:span 3}
 .partner-network .benefit>h3{grid-row:1}
 .partner-network .benefit>p{grid-row:2}
 .partner-network .benefit>.inline-info{grid-row:3}
}
@media(max-width:680px){
 .partner-network .benefit{grid-template-columns:minmax(0,1fr)}
 .partner-network .benefit>.inline-info{grid-column:1}
}
