/* Loaded only by the two service pages; the portfolio interface is unchanged. */
.service-page{background:var(--paper);color:var(--ink)}
.service-main{max-width:1400px;margin:0 auto;padding:0 clamp(24px,5vw,72px)}
.service-languages{display:flex;justify-content:flex-end;gap:22px;min-height:64px;align-items:center;font-size:14px}
.service-languages a{display:inline-flex;align-items:center;min-height:44px}
.service-languages [aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.service-hero{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(40px,6vw,90px);align-items:center;padding:18px 0 88px}
.service-intro{min-width:0}
.service-intro h1{font-size:clamp(42px,4.8vw,68px);line-height:1.08;letter-spacing:-.035em;font-weight:400;max-width:12ch}
.service-lead{font-size:20px;line-height:1.65;margin-top:28px;max-width:37ch}
.service-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 23px;margin-top:30px;border:1px solid #777b70;font-size:15px;line-height:1.4}
.service-action:hover{background:rgba(48,50,47,.04)}
.service-hero-image{min-width:0}
.service-hero-image img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}
.service-hero-image figcaption{display:block;margin-top:14px;font-size:14px;line-height:1.5}
.service-hero-image figcaption span{display:block}
.service-project-credit{font-size:14px;line-height:1.7;color:#62655e;margin-top:6px;max-width:58ch}
.service-page h2{font-size:clamp(28px,2.8vw,38px);line-height:1.25;letter-spacing:-.025em;max-width:20ch}
.service-brief p{font-size:17px;line-height:1.75;max-width:53ch}
.service-page h3{font-size:20px;line-height:1.4;font-weight:400}
.service-portfolio{padding-bottom:90px}
.service-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:32px}
.service-section-heading>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}
.service-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px}
.service-project-grid img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}
.service-project-grid figcaption{display:block;padding-top:18px}
.service-project-grid figcaption p{font-size:14px;line-height:1.7;color:#62655e}
.service-carousel{position:relative;container-type:inline-size}
.service-project[hidden],.service-carousel-controls[hidden],.service-carousel-count[hidden]{display:none}
.service-carousel.is-enhanced .service-project-grid{touch-action:pan-y pinch-zoom}
.service-carousel-controls{position:absolute;top:calc((100cqw - 38px)*.3125);left:12px;right:12px;display:flex;justify-content:space-between;transform:translateY(-50%);pointer-events:none}
.service-carousel-controls button{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #93968b;border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;pointer-events:auto}
.service-carousel-controls button:hover{background:#fff}
.service-carousel-controls svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.service-carousel:focus-visible,.service-carousel-controls button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.service-carousel-count{margin-top:22px;font-size:13px;letter-spacing:.06em;color:#62655e;font-variant-numeric:tabular-nums}
.service-brief{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(40px,6vw,90px);padding:74px 0 90px;border-top:1px solid #c2c3b9;scroll-margin-top:40px}
.service-brief h2{margin-bottom:24px}
.service-email{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere;font-size:clamp(20px,2.1vw,28px);line-height:1.5;margin-top:25px;text-decoration:underline;text-underline-offset:6px;min-height:44px}
.service-contact{display:inline-flex;align-items:center;min-height:44px;font-size:14px;margin-top:6px}
.service-brief ul{padding-left:20px;margin:0;font-size:17px;line-height:1.7}
.service-brief li{padding-left:4px;margin-bottom:16px}
.service-brief .service-brief-note{font-size:15px;line-height:1.75;margin-top:28px;color:#62655e}
.service-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;padding:26px clamp(24px,5vw,72px);border-top:1px solid #c2c3b9;font-size:14px}
.service-footer>a{display:inline-flex;align-items:center;min-height:44px}
.service-footer>a:last-child{justify-self:end}
@media(max-width:1000px) and (min-width:761px){
 .service-hero,.service-brief{gap:36px}
 .service-intro h1{font-size:44px}
 .service-lead{font-size:18px}
}
@media(max-width:760px){
 .service-languages{min-height:60px;gap:24px}
 .service-hero{grid-template-columns:1fr;gap:38px;padding:20px 0 56px}
 .service-intro h1{font-size:clamp(36px,8.6vw,54px);max-width:15ch}
 .service-lead{font-size:18px;margin-top:23px;max-width:42ch}
 .service-action{margin-top:24px}
 .service-project-grid,.service-brief{grid-template-columns:1fr;gap:27px}
 .service-brief p{font-size:16px}
 .service-section-heading{display:block;margin-bottom:25px}
 .service-section-heading>a{margin-top:12px}
 .service-project-grid{gap:35px}
 .service-carousel-controls{top:62.5cqw;left:10px;right:10px}
 .service-portfolio{padding-bottom:56px}
 .service-brief{padding:48px 0 54px;gap:34px}
 .service-brief ul{font-size:16px}
 .service-footer{grid-template-columns:1fr 1fr;gap:12px}
 .service-footer>span{grid-column:1/-1}
}
