.php-carousel-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab}.php-carousel-viewport::-webkit-scrollbar{display:none}.php-carousel-track{display:flex;gap:24px}.clients-carousel .client-slide{padding-left:0;scroll-snap-align:start;flex-basis:300px!important}.php-carousel-viewport.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.php-carousel-viewport img{pointer-events:none}.php-video-dialog{border:0;border-radius:16px;padding:28px;width:min(900px,94vw);max-height:90vh;background:#fafafa;color:#172025}.php-video-dialog::backdrop{background:rgb(0 0 0 / .7)}.php-video-dialog iframe{width:100%;aspect-ratio:16/9;border:0}.php-video-dialog h2{font-size:26px;margin:0 40px 20px 0}.php-video-close{position:absolute;right:14px;top:10px;font-size:28px;background:transparent;border:0;cursor:pointer}.php-video-dialog a{display:inline-block;margin-top:16px;text-decoration:underline}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-symbol{animation:none!important}}

.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

.original-article-art img{height:auto;max-height:700px;object-fit:contain;background:transparent}


/* About introduction beside the headline. */
.about-hero-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); align-items:center; gap:clamp(24px,4vw,64px); margin-top:40px; }
.about-hero-layout h1 { margin:0; font-size:clamp(52px,6.8vw,105px); }
.about-hero-layout > p { margin:0; max-width:440px; color:#536064; font-size:18px; line-height:1.7; }
@media (max-width:760px) { .about-hero-layout { grid-template-columns:1fr; margin-top:35px; gap:28px; } .about-hero-layout h1 { margin:0; font-size:clamp(46px,10.5vw,79px); } .about-hero-layout > p { max-width:none; font-size:17px; } }

/* Services introduction beside the headline. */
.services-hero-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); align-items:center; gap:clamp(24px,4vw,64px); margin:40px 0 50px; }
.services-hero-layout h1 { margin:0; font-size:clamp(52px,6.8vw,105px); }
.services-hero-layout > p { margin:0; max-width:440px; color:#536064; font-size:18px; line-height:1.7; }
@media (max-width:760px) { .services-hero-layout { grid-template-columns:1fr; margin:35px 0; gap:28px; } .services-hero-layout h1 { margin:0; font-size:clamp(46px,10.5vw,79px); } .services-hero-layout > p { max-width:none; font-size:17px; } }
