/* Service pages extend the existing JimDesigns design, without changing its gallery or contact form. */
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted);padding:20px 0 0}.breadcrumbs a:hover{text-decoration:underline}.service-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;padding:65px 0 75px}.service-hero h1{font-size:clamp(40px,4.2vw,65px);line-height:1.1;letter-spacing:-1.8px;overflow-wrap:break-word}.service-intro{font-size:15px;line-height:1.85;max-width:590px;margin:26px 0 28px}.service-price{display:flex;flex-direction:column;gap:7px;margin-top:30px}.service-price strong{font-size:17px;font-weight:600}.service-price span{font-size:11px;color:var(--muted)}.service-visual{min-width:0}.service-photo img{width:100%;height:auto}.service-photo figcaption{font-size:10px;color:var(--muted);margin-top:16px}.service-map{border:1px solid var(--line);padding:32px;background:var(--surface);border-radius:8px}.map-label{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;margin-bottom:36px}.map-title{font:clamp(30px,3.3vw,48px)/1.15 Georgia,serif;letter-spacing:-1px}.website-map{list-style:none;margin:30px 0 0;padding:0}.website-map li{padding:16px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.website-map span{font-size:10px;color:var(--muted)}.website-map strong{font-size:14px;font-weight:400}.map-caption{font-size:10px;line-height:1.5;margin-top:24px}.shop-product{display:flex;align-items:center;gap:24px}.shop-product img{width:42%;aspect-ratio:1;object-fit:cover;border-radius:3px}.shop-product span{font:clamp(25px,2.4vw,35px)/1.15 Georgia,serif}.service-map ol{padding-left:20px;margin:25px 0 0}.service-map ol li{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.service-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:90px;padding-top:55px;border-top:1px solid var(--line);align-items:start}.service-toc{position:sticky;top:30px}.service-toc>p{font-size:11px;margin-bottom:22px}.service-toc nav{display:flex;flex-direction:column;gap:0;margin-bottom:36px}.service-toc nav a{font-size:12px;line-height:1.6;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted)}.service-toc a:hover{color:var(--paper)}.service-section{padding:0 0 55px;margin-bottom:45px;border-bottom:1px solid var(--line);scroll-margin-top:30px}.service-section h2{font-size:clamp(30px,3vw,42px);letter-spacing:-1px;max-width:700px;margin-bottom:26px}.service-section>p{font-size:15px;line-height:1.9;margin-top:18px;max-width:760px}.service-section strong{color:var(--paper);font-weight:600}.service-section .text-link{margin-top:24px;line-height:1.6;display:inline-flex;gap:12px;align-items:center}.service-list{padding:0;list-style:none;margin:0}.service-list li{font-size:14px;line-height:1.9;color:var(--muted);padding:17px 0;border-top:1px solid var(--line)}.service-list strong{font-weight:600}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:26px}.service-options article{border-top:1px solid var(--line);padding-top:24px}.service-options h3{font:26px/1.3 Georgia,serif;font-weight:400;margin-bottom:15px}.service-options p{font-size:14px}.service-options .option-price{font-size:21px;color:var(--accent);margin-bottom:13px}.service-steps{list-style:decimal;display:grid;grid-template-columns:1fr 1fr;gap:30px 40px;padding-left:23px;margin:0}.service-steps li{padding-left:5px;color:var(--accent);font-size:12px}.service-steps h3{font-size:15px;font-weight:600;color:var(--paper);margin-bottom:10px}.service-steps p{font-size:13px}.service-section .faq-list p{max-width:none;font-size:14px}.service-section .faq-list summary{line-height:1.65}.service-related{padding:15px 0 50px}.service-related h2{font-size:32px;letter-spacing:-.8px;margin-bottom:25px}.service-related>div{display:flex;flex-wrap:wrap;gap:16px 36px}.service-related a{font-size:13px;display:inline-flex;align-items:center;gap:14px;min-height:44px}.service-closing{padding:60px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:40px}.service-closing p:not(.service-label){max-width:420px;margin-top:20px}.service-detail-links{display:flex;gap:10px 26px;flex-wrap:wrap;margin-top:16px}.service-detail-links a{font-size:12px;text-decoration:underline;text-underline-offset:4px;line-height:1.8}.email-chapter .service-detail-links{justify-content:center}.portfolio-service-link{font-size:13px;margin-bottom:30px}.portfolio-service-link a{text-decoration:underline;text-underline-offset:4px}.portfolio-service-link .ui-arrow{margin-left:8px}.service-page .site-header{gap:25px}.service-page .site-header nav{gap:23px}.service-page main>.service-section{padding-top:80px;min-height:50vh}
@media(max-width:1050px){.service-hero{gap:35px}.service-layout{grid-template-columns:200px minmax(0,1fr);gap:40px}.service-map{padding:25px}.service-page .site-header{gap:16px}.service-page .site-header nav{gap:18px}.service-hero h1{font-size:44px}}
@media(max-width:760px){.service-hero{grid-template-columns:1fr;gap:35px;padding:40px 0 45px}.service-hero h1{font-size:clamp(35px,6.2vw,48px);letter-spacing:-1px}.service-hero .actions{gap:18px}.service-visual{max-width:600px;width:100%}.service-map{padding:26px}.map-title{font-size:39px}.map-label{margin-bottom:25px}.service-layout{grid-template-columns:1fr;gap:35px;padding-top:30px}.service-toc{position:static}.service-toc nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:0 20px;margin-bottom:0}.service-toc nav a{font-size:12px}.service-toc>p:last-child{display:none}.service-section{padding-bottom:35px;margin-bottom:35px}.service-closing{align-items:flex-start;flex-direction:column;padding:40px 0;gap:30px}.service-options{gap:22px}.service-page .site-header nav.is-open{gap:6px}.service-section .faq-list summary{font-size:14px;gap:15px}.service-section .faq-list summary span{flex-shrink:0}}
@media(max-width:420px){.service-options,.service-steps{grid-template-columns:1fr}.service-intro{font-size:14px}.service-hero h1{font-size:35px}.service-section>p{font-size:14px}.service-section h2{font-size:31px}.service-map{padding:22px}.service-map .map-title{font-size:34px}.service-related h2{font-size:29px}.service-price span{line-height:1.6}.breadcrumbs{font-size:10px}.shop-product{gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep the service-page table of contents below the shared sticky navigation. */
@media(min-width:761px){.service-toc{top:var(--header-offset)}}
.service-section{scroll-margin-top:0}
