/* Service pages share the portfolio typography, with no intro or scroll gating. */
body.service-page{background:#fff;color:#0a0a0a;overflow-x:hidden}
.service-page header{position:relative;opacity:1;visibility:visible;transform:none}
.service-page a{color:inherit}
.service-page a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.svc-main{padding:0 4.5vw}
.svc-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;margin:44px 0 65px;font-size:13px;line-height:1.5}
.svc-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.svc-eyebrow{font-size:12px;letter-spacing:.045em;margin:0 0 26px}
.svc-hero h1{font-size:clamp(48px,7.5vw,124px);font-weight:800;letter-spacing:-.065em;line-height:.96;margin:0 0 55px;max-width:1250px}
.svc-hero h1>span{display:inline-block;font-size:.65em;margin-left:.25em}
.svc-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start;margin:0 0 50px}
.svc-intro h2{font-size:clamp(28px,3.2vw,52px);font-weight:400;line-height:1.1;letter-spacing:-.045em;margin:0;max-width:600px}
.svc-intro p{font-size:clamp(18px,1.5vw,24px);line-height:1.5;margin:0 0 24px;max-width:630px}
.svc-link,.svc-case a{display:inline-block;font-size:16px;text-decoration:underline;text-underline-offset:6px;line-height:1.8}
.svc-visual{margin:0 0 85px;position:relative;background:#111}
.svc-visual img{display:block;width:100%;height:clamp(330px,48vw,720px);object-fit:cover}
.svc-portrait img{object-position:center 31%;height:clamp(380px,43vw,650px)}
.svc-visual figcaption{position:absolute;bottom:20px;left:20px;background:#111;color:#fff;padding:7px 10px;font-size:13px}
.svc-section{display:grid;grid-template-columns:1fr 1.65fr;gap:8vw;padding:35px 0 80px;border-top:1px solid #111}
.svc-section>h2,.svc-process>h2{font-size:clamp(25px,2.3vw,38px);line-height:1.1;font-weight:800;letter-spacing:-.04em;margin:0}
.svc-row{display:grid;grid-template-columns:1fr 1.4fr;gap:35px;border-bottom:1px solid #ccc;padding:0 0 28px;margin-bottom:28px}
.svc-row h3,.svc-case h3,.svc-steps h3{font-size:24px;font-weight:400;line-height:1.2;letter-spacing:-.03em;margin:0 0 16px}
.svc-row p,.svc-case p,.svc-steps p,.svc-faq p{font-size:18px;line-height:1.55;margin:0;max-width:640px}
.svc-process{background:#111;color:#fff;margin:0 -4.5vw 80px;padding:45px 4.5vw 60px}
.svc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6vw;margin-top:55px}
.svc-steps h3{font-weight:800}
.svc-case{padding:0 0 30px;margin-bottom:30px;border-bottom:1px solid #ccc}
.svc-case p{margin-bottom:16px}
.svc-faq details{border-bottom:1px solid #ccc;padding:0 0 24px;margin-bottom:24px}
.svc-faq summary{font-size:24px;line-height:1.3;cursor:pointer;padding-right:20px}
.svc-faq p{margin-top:20px}
.svc-contact{padding:50px 0 80px;border-top:1px solid #111}
.svc-contact h2{font-size:clamp(40px,6vw,90px);line-height:1;letter-spacing:-.055em;max-width:1000px;margin:0 0 30px;font-weight:800}
.svc-contact>p{font-size:20px;line-height:1.5;max-width:700px;margin:0 0 30px}
.svc-email{font-size:clamp(20px,3.5vw,48px);text-decoration:underline;text-underline-offset:8px;overflow-wrap:anywhere}
.svc-contact .svc-related{font-size:16px;margin-top:65px}
.svc-related a{text-decoration:underline;text-underline-offset:4px}
.service-page footer{margin:0 4.5vw;color:#111;background:white}
.service-detail-link{display:block;width:fit-content;font-size:16px;margin-top:20px;text-decoration:underline;text-underline-offset:5px;line-height:1.5}
@media(max-width:700px){.svc-breadcrumb{margin:28px 0 45px;font-size:12px}.svc-eyebrow{font-size:10px;max-width:280px;line-height:1.5}.svc-hero h1{font-size:clamp(42px,11.5vw,78px);margin-bottom:35px}.svc-intro,.svc-section{grid-template-columns:1fr;gap:26px}.svc-intro h2{font-size:32px}.svc-visual{margin-bottom:55px}.svc-visual img{height:360px}.svc-portrait img{height:430px;object-position:center 25%}.svc-visual figcaption{font-size:11px;left:12px;bottom:12px;max-width:85%}.svc-section{padding-bottom:45px}.svc-row{grid-template-columns:1fr;gap:0}.svc-steps{grid-template-columns:1fr;gap:32px;margin-top:35px}.svc-process{margin-bottom:50px}.svc-contact{padding-top:35px}.svc-contact h2{font-size:44px}.svc-faq summary{font-size:21px}.svc-row p,.svc-case p,.svc-steps p,.svc-faq p{font-size:17px}.svc-contact>p{font-size:18px}}
.svc-hero h1{overflow-wrap:anywhere;hyphens:manual}

/* Keep the face inside a wide crop instead of cutting across the eyes. */
.svc-portrait img{object-position:50% 13%}
.svc-backstage{margin:0 0 85px}
.svc-backstage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;perspective:1200px}
.svc-grid-tile{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;background:#191919;transform-origin:center bottom}
.svc-grid-tile img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .6s;filter:grayscale(1)}
.svc-grid-tile:hover img{transform:scale(1.045);filter:grayscale(0)}
.svc-grid-tile figcaption{position:absolute;bottom:10px;left:10px;right:10px;font-size:10px;line-height:1.4;color:#fff;text-shadow:0 1px 5px #000;background:#0003;width:fit-content;padding:3px 5px;opacity:0;transition:opacity .3s}
.svc-grid-tile:hover figcaption{opacity:1}
.svc-grid-caption{font-size:12px;line-height:1.5;margin:14px 0 0}
body.service-page{--svc-bg:#fff;--svc-ink:#0a0a0a;--svc-line:#bebebe;background:var(--svc-bg);color:var(--svc-ink)}
.service-page footer{color:inherit;background:transparent;border-color:var(--svc-line)}
.svc-section,.svc-contact{border-color:currentColor}
.svc-row,.svc-case,.svc-faq details{border-color:var(--svc-line)}
.svc-email{transition:opacity .25s;text-decoration-thickness:1px}
.svc-email:hover{opacity:.65}
.svc-reveal{opacity:0;transform:translateY(26px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
.svc-reveal.svc-visible{opacity:1;transform:none}
.svc-reveal-tile{opacity:0;transform:translateY(55px) rotateX(12deg) scale(.97);transition:opacity .85s ease,transform 1.1s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--tile-order)*85ms)}
.svc-reveal-tile.svc-visible{opacity:1;transform:none}
@media(max-width:700px){.svc-portrait img{object-position:center 16%}.svc-backstage{margin-bottom:55px}.svc-backstage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.svc-grid-tile{aspect-ratio:4/5}.svc-reveal-tile{transition-delay:calc(var(--tile-order)*35ms)}.svc-grid-caption{font-size:10px}}
@media(prefers-reduced-motion:reduce){.svc-reveal,.svc-reveal-tile{opacity:1!important;transform:none!important;transition:none!important}.svc-grid-tile img{transition:none}.svc-grid-tile:hover img{transform:none}}
@media(hover:none){.svc-grid-tile img{filter:none}}
.svc-case-facts{margin:0 0 22px}
.svc-case-facts>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:24px;margin:0 0 16px}
.svc-case-facts dt{font-size:12px;line-height:1.6;opacity:.65;padding-top:3px}
.svc-case-facts dd{font-size:18px;line-height:1.5;margin:0;max-width:620px}
@media(max-width:700px){.svc-case-facts>div{grid-template-columns:1fr;gap:4px;margin-bottom:18px}.svc-case-facts dd{font-size:17px}}
.svc-portrait{border-radius:14px;overflow:hidden}
/* The fax photograph belongs to the service-page invitation, behind the copy. */
.svc-contact{position:relative;isolation:isolate;overflow:hidden;border-radius:14px;margin-bottom:45px;padding:55px 4vw 65px;color:#fff;background:#111;border-top:0}
.svc-contact:before{content:"";position:absolute;inset:0;z-index:-2;background:url('/wp-content/plugins/mk-portfolio/site/assets/michael-fax-contact.png') center 44%/cover no-repeat;filter:grayscale(1)}
.svc-contact:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.70) 62%,rgba(0,0,0,.55))}
.svc-contact h2{max-width:900px}.svc-contact .svc-email{font-size:clamp(19px,3.5vw,48px)}
@media(max-width:700px){.svc-portrait,.svc-contact{border-radius:10px}.svc-contact{padding:35px 20px 45px}.svc-contact h2{font-size:38px}.svc-contact:before{background-position:62% center}.svc-contact:after{background:rgba(0,0,0,.78)}}
.svc-contact .svc-email{font-weight:800}
