/* Photographic service catalogue, scoped to this page. */
.page-services { background: #f7f6f2; }
.services-visual-body { padding-block: 76px 84px; }
.service-visual-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:32px; }
.services-visual-body .business-kicker { color:#876c42; letter-spacing:.12em; }
.service-visual-heading h2,.service-visual-next h2 { color:#102b3e; font-size:clamp(27px,2.6vw,38px); line-height:1.5; font-weight:550; margin:0; }
.service-visual-heading > p { color:#61717a; font-size:14px; margin:0 0 7px; }
.service-visual-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 30px; align-items:start; }
.service-visual-card { min-width:0; background:#fff; border:1px solid #e1e4e1; border-radius:8px; overflow:hidden; scroll-margin-top:28px; }
.service-visual-media { display:block; position:relative; aspect-ratio:3/2; overflow:hidden; }
.service-visual-media > img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.22,.68,.18,1); }
.service-visual-media:hover > img { transform:scale(1.035); }
.service-visual-number { position:absolute; left:22px; bottom:20px; display:grid; place-items:center; width:42px; height:42px; background:#0b2435; color:#e6c58d; font:14px/1 Arial,sans-serif; border-radius:50%; }
.service-visual-copy { padding:27px 30px 22px; }
.service-visual-kind { display:block; margin-bottom:10px; color:#8d7045; font-size:11px; font-weight:550; letter-spacing:.14em; }
.service-visual-copy h2 { margin:0; color:#102b3e; font-size:clamp(23px,2vw,29px); font-weight:550; line-height:1.5; }
.service-visual-copy > p { color:#62727d; font-size:14px; line-height:1.85; margin:12px 0 15px; }
.service-visual-tags { display:flex; flex-wrap:wrap; gap:7px 14px; padding:0; margin:0 0 24px; list-style:none; color:#665b48; font-size:12px; }
.service-visual-tags li + li::before { content:'·'; color:#a28c69; margin-right:14px; }
.service-visual-details { border-block:1px solid #e4e5df; }
.service-visual-details summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 0; color:#243f51; cursor:pointer; list-style:none; font-size:14px; }
.service-visual-details summary::-webkit-details-marker { display:none; }
.service-visual-details summary > span { position:relative; flex:0 0 16px; width:16px; height:16px; }
.service-visual-details summary > span::before,.service-visual-details summary > span::after { content:''; position:absolute; width:12px; height:1px; top:7px; left:2px; background:#9a7b4d; }
.service-visual-details summary > span::after { transform:rotate(90deg); transition:transform .25s; }
.service-visual-details[open] summary > span::after { transform:rotate(0); }
.service-visual-detail-copy { padding:0 0 20px; }
.service-visual-detail-copy h3 { color:#29495b; font-size:14px; margin:8px 0 7px; line-height:1.6; }
.service-visual-detail-copy p { color:#667985; font-size:13px; line-height:1.85; margin:0 0 16px; }
.service-visual-detail-copy > p:last-child { margin:0; }
.service-visual-detail-copy [id] { scroll-margin-top:40px; }
.service-visual-contact { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:54px; padding-top:8px; color:#263f4d; font-size:14px; font-weight:550; }
.service-visual-contact img,.service-support-action img { transition:transform .25s; }
.service-visual-contact:hover img,.service-support-card:hover img { transform:translate(3px,-3px); }
.service-support { margin-top:76px; }
.service-support-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.service-support-card { display:block; padding:28px 30px; background:#efece4; border-top:1px solid #b79b70; color:#243f50; scroll-margin-top:30px; }
.service-support-card > span:first-child { display:block; color:#8b704a; font-size:12px; margin-bottom:12px; }
.service-support-card h3 { font-size:24px; font-weight:550; line-height:1.5; margin:0 0 12px; color:#19384c; }
.service-support-card p { color:#60707b; font-size:14px; line-height:1.8; margin-bottom:24px; }
.service-support-action { display:flex; align-items:center; justify-content:space-between; font-size:13px; }
.service-visual-next { display:flex; justify-content:space-between; align-items:center; gap:28px; border-top:1px solid #d7ddd9; padding-top:42px; margin-top:62px; }
.service-visual-next .btn-default { flex-shrink:0; }
.page-services .service-directory small { display:none; }
@media(max-width:991px) {
 .services-visual-body { padding-block:50px 64px; }
 .service-visual-heading { display:block; }
 .service-visual-heading > p { margin-top:14px; }
 .service-visual-grid { gap:24px 20px; }
 .service-visual-copy { padding:23px 22px 15px; }
 .service-visual-copy h2 { font-size:23px; }
 .service-support { margin-top:50px; }
 .page-services .service-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; padding:15px 0 0; border:0; }
 .page-services .directory-heading { grid-column:1/-1; padding-bottom:10px; }
 .page-services .service-directory > a { grid-template-columns:18px 1fr 14px; gap:7px; padding-block:16px; }
 .page-services .service-directory strong { font-size:14px; }
 .page-services .service-directory > a > img { width:14px; height:14px; }
}
@media(max-width:767px) {
 .service-visual-grid,.service-support-grid { grid-template-columns:1fr; }
 .service-visual-grid { gap:30px; }
 .service-visual-next { display:block; }
 .service-visual-next .btn-default { margin-top:24px; }
 .service-support-card { padding:25px; }
}
@media(max-width:575px) {
 .page-services .services-visual-body { padding-inline:20px; padding-top:38px; }
 .service-visual-heading { margin-bottom:24px; }
 .service-visual-heading h2,.service-visual-next h2 { font-size:27px; }
 .service-visual-copy { padding:22px 21px 13px; }
 .service-visual-media { aspect-ratio:3/2; }
 .service-visual-number { width:34px; height:34px; left:17px; bottom:15px; font-size:12px; }
 .service-visual-copy h2 { font-size:23px; }
 .service-visual-tags { gap:6px 9px; }
 .service-visual-tags li + li::before { margin-right:9px; }
 .service-support-card h3 { font-size:23px; }
 .page-services .service-directory > a { grid-template-columns:1fr 14px; }
 .page-services .directory-index { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 .service-visual-media > img,.service-visual-contact img,.service-support-action img,.service-visual-details summary > span::after { transition:none; }
}
