/* Original monochrome photography inspired by VOLKX social artwork. */
.campaign-photo { position:relative; overflow:hidden; isolation:isolate; background:#151515; border:1px solid #444; border-radius:3px; }
.campaign-photo::after { content:""; position:absolute; inset:10px; border:1px solid #ffffff91; pointer-events:none; z-index:2; }
.campaign-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.campaign-photo .campaign-signature { position:absolute; bottom:18px; left:50%; transform:translateX(-50%); width:27px; height:27px; background:#fff; mask:url('/assets/mark-144.png') center/contain no-repeat luminance; -webkit-mask-image:url('/assets/mark-144.png'); -webkit-mask-position:center; -webkit-mask-size:contain; -webkit-mask-repeat:no-repeat; mask-mode:luminance; z-index:3; }
.first-service-card .service-visual.campaign-photo { padding:0; aspect-ratio:3/2; margin-top:20px; }
.first-service-card .service-visual.campaign-photo img { height:100%; }
.first-service-card:hover { background:var(--studio-paper); }
.service-page-lead { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:center; gap:48px; margin-bottom:48px; }
.service-page-lead .service-page-intro { text-align:left; max-width:none; margin:0; min-width:0; }
.policy .service-page-lead .service-page-intro h1 { font-size:clamp(38px,4.2vw,58px); text-wrap:balance; }
.policy .service-page-lead .service-page-intro>p:not(.eyebrow) { margin-inline:0; font-size:16px; }
.service-page-lead .service-page-actions { justify-content:flex-start; }
.service-page-art { aspect-ratio:3/2; width:100%; margin:0; }
.service-page-art::after { inset:14px; }
.service-page-art .campaign-signature { width:34px; height:34px; bottom:25px; }
@media(min-width:751px) and (max-width:1000px) { .service-page-lead { gap:28px; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); } .service-page-art { aspect-ratio:4/5; } }
@media(max-width:750px) { .service-page-lead { grid-template-columns:1fr; gap:28px; margin-bottom:32px; } .service-page-lead .service-page-intro { text-align:center; } .policy .service-page-lead .service-page-intro>p:not(.eyebrow) { margin-inline:auto; } .service-page-lead .service-page-actions { justify-content:center; } .service-page-art { aspect-ratio:3/2; max-width:600px; margin-inline:auto; } }
@media(max-width:650px) { .first-service-card .service-visual.campaign-photo { margin-top:16px; } .policy .service-page-lead .service-page-intro h1 { font-size:clamp(35px,9vw,50px); } }
