/* Shared service pages and portfolio categories. */
/* Render current contact information over the old footer on supplied curtain posters. */
.poster-media{position:relative;container-type:inline-size}.poster-current-contact{position:absolute;inset:auto 0 0;height:10%;display:flex;justify-content:center;align-items:center;background:#3b0362;color:white;font-size:clamp(10px,2.9cqw,34px);font-weight:500;line-height:1.4;white-space:nowrap;padding:2%}
.gallery-media{display:contents}.gallery-media>.poster-current-contact{display:none}.gallery-media.is-poster{display:block;position:relative;width:min(100%,calc(90svh - 175px));container-type:inline-size}.gallery-media.is-poster>.gallery-image{width:100%;max-height:none}.gallery-media.is-poster>.poster-current-contact{display:flex}
.line-button{background:#067d3a;color:#fff;white-space:nowrap}.line-button:hover{background:#05662f}.contact-actions{flex-wrap:wrap;gap:18px}.line-link{color:#067d3a;font-weight:600}.line-handle{font-size:14px!important;color:#e1d7e8!important}footer{flex-wrap:wrap}
.project-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px}.project-filters button{padding:12px 24px;min-height:48px;cursor:pointer;border:1px solid var(--line);border-radius:50px;background:white;color:var(--ink);font-size:16px;transition:background .2s,color .2s}.project-filters button:hover{background:var(--pale)}.project-filters button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.sample-badge{position:absolute;top:18px;left:18px;background:var(--ink);color:#fff;border-radius:5px;padding:6px 12px;font-size:13px}.portfolio-grid.example-grid{grid-template-columns:1fr;max-width:960px;margin:auto}.example-grid .project-photo{aspect-ratio:16/9}.example-grid .project-caption h3{font-size:26px}.example-grid .project-caption p{font-size:16px}.service-info>a{font-size:16px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}
.service-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;padding:26px 7% 0;font-size:14px;color:var(--muted)}.service-breadcrumb a:hover{text-decoration:underline}.service-page h1{color:var(--ink);font-size:clamp(36px,3.6vw,58px);letter-spacing:-.8px;line-height:1.35;font-weight:500;margin:14px 0 22px}.service-page h2{font-size:clamp(30px,2.8vw,44px);line-height:1.4;letter-spacing:-.4px}.service-page .eyebrow{font-size:12px;letter-spacing:1.6px;color:#846397;margin:0 0 14px}.service-page p{line-height:1.9}.service-page .section{padding-top:80px;padding-bottom:80px}
.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;padding:40px 7% 65px;background:linear-gradient(105deg,#fff 50%,#f6f3f8 50%)}.detail-hero-copy{min-width:0}.service-kicker{font-size:18px;font-weight:500;color:#81589b;margin:0}.detail-lead{font-size:17px;color:var(--muted);max-width:570px}.detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:28px}.detail-actions .text-link{font-size:15px;border-bottom:1px solid var(--accent);color:var(--ink);padding-bottom:5px}.detail-hero figure{margin:0;align-self:center}.detail-hero figure img{display:block;width:100%;aspect-ratio:4/4.4;object-fit:cover;border-radius:85px 12px 12px 12px}.detail-hero figcaption{font-size:13px;color:var(--muted);margin-top:10px}.service-promises{background:var(--ink);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:24px 7%;text-align:center;font-size:16px}.service-promises span+span{border-left:1px solid #bdb1c855}
.detail-overview{display:grid;grid-template-columns:.85fr 1.3fr;gap:8%;align-items:start}.detail-section-heading>p:not(.eyebrow){font-size:17px;color:var(--muted);max-width:660px}.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.scope-grid article{border-top:1px solid var(--accent);padding-top:20px}.scope-grid article>span{font-family:Manrope,sans-serif;font-size:13px;color:#967ca6}.scope-grid h3{font-size:22px;line-height:1.5;font-weight:500;color:var(--ink);margin:12px 0}.scope-grid p{font-size:16px;color:var(--muted);margin:0}.material-section{background:var(--pale)}.material-table{width:100%;border-collapse:collapse;margin-top:35px;text-align:left}.material-table th,.material-table td{padding:24px;border-bottom:1px solid #ded4e5;vertical-align:top;font-size:16px}.material-table thead th{background:var(--ink);color:white;font-weight:500}.material-table tbody th{width:28%;color:var(--ink);font-size:19px;font-weight:500}.material-table td strong{color:var(--ink);font-weight:500}.material-table td p{margin:7px 0 0;color:var(--muted)}.detail-steps{margin-top:35px}.detail-steps p{font-size:16px}.detail-steps span{font-size:13px}.detail-steps h3{color:var(--ink);line-height:1.5}
.planning-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:var(--pale)}.planning-section ul{padding-left:23px;max-width:600px}.planning-section li{margin:16px 0;font-size:17px;color:var(--muted)}.planning-section aside{background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px}.planning-section h3{color:var(--ink);font-size:24px;font-weight:500;line-height:1.5;margin-top:0}.planning-section aside>p{font-size:16px;color:var(--muted)}.planning-section aside>strong{font-size:21px;color:var(--ink);display:block;margin-top:24px}.planning-section .inline-link{display:inline-block;margin-top:20px;font-size:16px}.service-page .faq .questions p{font-size:16px}.service-page .contact .eyebrow{color:var(--accent)}.service-page .contact h2{color:#fff}.related-services{background:var(--pale)}.related-services>div{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}.related-services a{border:1px solid var(--line);border-radius:8px;background:white;padding:24px;font-size:20px;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:20px}.related-services a:hover{border-color:var(--ink)}.service-page nav a[aria-current=page]{background:var(--pale);font-weight:600}
@media(min-width:1600px){.detail-hero,.service-breadcrumb{padding-left:max(7%,calc((100% - 1400px)/2));padding-right:max(7%,calc((100% - 1400px)/2))}}
@media(max-width:1050px){.detail-hero{gap:4%;padding-left:6%;padding-right:6%}.detail-hero figure img{aspect-ratio:4/5}.detail-overview{grid-template-columns:1fr;gap:30px}.planning-section{gap:5%}.detail-actions .button{gap:16px;padding:13px 18px}.related-services a{font-size:18px;padding:20px}.service-promises{font-size:15px;gap:15px}}
@media(max-width:800px){.project-filters{display:grid;grid-template-columns:1fr 1fr;gap:9px}.project-filters button{padding:11px 12px;font-size:15px}.sample-badge{font-size:12px;top:10px;left:10px}.example-grid .project-photo{aspect-ratio:4/3}.example-grid .project-caption h3{font-size:22px}.contact-actions .button{width:min(100%,340px);justify-content:space-between}.service-breadcrumb{padding:22px 6% 0;font-size:13px;gap:8px}.detail-hero{grid-template-columns:1fr;padding:28px 6% 36px;gap:28px;background:linear-gradient(#fff 60%,#f6f3f8 60%)}.service-page h1{font-size:clamp(32px,7vw,44px);letter-spacing:-.5px}.detail-hero figure img{aspect-ratio:4/3;border-radius:55px 10px 10px 10px}.detail-hero figcaption{font-size:12px}.service-promises{grid-template-columns:1fr;padding:22px 6%;gap:12px;text-align:left;font-size:16px}.service-promises span+span{border-left:0;border-top:1px solid #bdb1c844;padding-top:12px}.service-page .section{padding:55px 6%}.scope-grid{gap:24px}.scope-grid h3{font-size:20px}.material-table th,.material-table td{padding:18px 12px}.material-table tbody th{font-size:17px;width:32%}.planning-section{grid-template-columns:1fr;gap:22px}.planning-section aside{padding:25px}.related-services>div{grid-template-columns:1fr;gap:12px}.related-services a{font-size:18px;padding:20px}.detail-steps{grid-template-columns:1fr 1fr}.service-page .faq{gap:20px}}
@media(max-width:420px){.scope-grid,.detail-steps{grid-template-columns:1fr}.detail-actions{gap:18px}.service-page .detail-lead{font-size:16px}.material-table th,.material-table td{padding:16px 10px}.material-table tbody th{font-size:16px}.service-page .contact h2{font-size:30px}}
