/* Grady's service presentation: scoped to six service pages. */
.service-detail .breadcrumb{padding:22px 0 32px;flex-wrap:wrap;gap:10px}
.service-detail .service-hero{grid-template-columns:1fr 1fr;gap:64px;padding-bottom:72px;align-items:center}
.service-detail .service-hero h1{font-size:clamp(44px,4.5vw,66px);line-height:1.06;max-width:none;text-wrap:balance}
.service-detail .service-hero .kicker{margin-bottom:22px}
.service-detail .service-hero .lead{font-size:20px;line-height:1.6;margin-top:24px;max-width:48ch;text-wrap:pretty}
.service-detail .service-hero figure{padding:0;overflow:hidden;border-radius:18px;box-shadow:0 22px 48px #124e7818}
.service-detail .service-hero img{height:410px;border-radius:0;object-position:center}
.service-detail .price-sticker{position:static;margin:0;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--ink);color:white;box-shadow:none;border-radius:0;border-left:0}
.service-detail .price-sticker span{color:#e5f8fc;font-size:11px;letter-spacing:1.4px;max-width:18ch}
.service-detail .price-sticker strong{font-size:36px;white-space:nowrap;color:white}
.service-detail .section{padding-top:72px;padding-bottom:72px}
.service-detail h2{font-size:clamp(34px,3.3vw,48px);line-height:1.1;text-wrap:balance}
.service-detail .scope-grid{grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.service-detail .scope-grid p{margin-top:22px;max-width:52ch;line-height:1.65}
.service-detail .scope-note{padding:18px 22px;border-left:4px solid var(--accent);background:#ffffff80;margin-top:26px}
.service-detail .scope-note p{margin:8px 0 0;font-size:16px}
.service-detail .scope-list li{font-size:19px;line-height:1.45;gap:16px;padding:18px 0}
.service-detail .scope-list li:first-child{padding-top:0}
.service-detail .price-explain{padding:26px 28px;border-radius:14px;border-color:#b7dfeb}
.service-detail .price-explain p{margin:12px 0 0;font-size:17px;line-height:1.6}
.service-detail .expectation{grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.service-detail .expectation .steps{margin-top:30px;padding:0}
.service-detail .steps li{grid-template-columns:42px 1fr;gap:20px;padding:24px 0}
.service-detail .steps .step-number{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:#fff;border:1px solid var(--line);border-radius:50%;font-size:18px}
.service-detail .steps h3{font-size:24px;line-height:1.2;text-wrap:balance}
.service-detail .steps p{font-size:17px;line-height:1.65}
.service-detail .faq h2{margin-bottom:30px}
.service-detail .faq details{background:#ffffffa6;border:1px solid var(--line);border-radius:12px;padding:0;margin-bottom:12px}
.service-detail .faq summary{padding:20px 22px;font-size:18px;line-height:1.4;min-height:64px}
.service-detail .faq details[open]{background:white;border-color:var(--accent)}
.service-detail .faq details p{padding:0 22px 22px;margin:0;font-size:17px;line-height:1.65}
.service-detail .related{display:grid;grid-template-columns:132px 1fr auto;gap:30px;align-items:center;padding:34px;margin-top:54px;margin-bottom:54px;border:1px solid var(--line);border-radius:18px;background:#fff}
.service-detail .related-image{width:132px;height:132px;object-fit:cover;border-radius:12px}
.service-detail .related .kicker{margin-bottom:12px;font-size:10px}
.service-detail .related h2{font-size:34px}
.service-detail .related p:not(.kicker){margin:12px 0 0;max-width:48ch;color:var(--muted);font-size:17px}
.service-detail .related .button{white-space:nowrap}
.service-detail .cta h2,.services-overview .cta h2{font-size:clamp(36px,4vw,54px);line-height:1.08}
.services-overview .page-intro{padding-top:44px;padding-bottom:28px;text-align:center}
.services-overview .page-intro .kicker{justify-content:center}
.services-overview .page-intro h1{font-size:clamp(44px,5vw,72px);line-height:1.05;text-wrap:balance}
.services-overview .page-intro .lead{max-width:52ch;margin:24px auto 0;font-size:20px;line-height:1.6;text-wrap:balance}
.services-overview .service-cards{gap:28px;grid-template-columns:1fr 1fr}
.services-overview .service-card{position:relative;background:#fff;box-shadow:0 12px 28px #124e780c;transition:transform .2s,box-shadow .2s}
.services-overview .service-card:hover{opacity:1;transform:translateY(-4px);box-shadow:0 18px 36px #124e7818}
.services-overview .service-card img{height:300px;object-position:center}
.services-overview .service-card>div{text-align:left;padding:30px 34px}
.services-overview .service-card h2{font-size:36px;max-width:24ch;margin:0;line-height:1.12}
.services-overview .service-card p{max-width:42ch;text-align:left;margin:16px 0 26px;text-wrap:pretty;font-size:18px}
.services-overview .service-card .text-link{align-self:flex-start;padding-top:16px;border-top:1px solid var(--line);width:100%;justify-content:space-between}
.services-overview .service-index{position:absolute;top:18px;left:18px;z-index:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;font-family:Barlow;font-size:20px}
.services-overview .service-card:last-child:nth-child(odd){grid-column:auto;display:flex}
.services-overview .service-card:last-child:nth-child(odd)>img{height:300px;min-height:0}
.services-overview .service-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr;background:#ccf3f3}
.services-overview .service-card:first-child>img{height:400px}
.services-overview .service-card:first-child>div{padding:44px;justify-content:center}
.services-overview .service-card:first-child h2{font-size:48px}
.services-overview .service-card:first-child .text-link{margin-top:12px}
.services-overview .section{padding-top:30px;padding-bottom:72px}
@media(max-width:1050px){.service-detail .service-hero,.service-detail .scope-grid,.service-detail .expectation{gap:36px}.service-detail .related{grid-template-columns:110px 1fr;gap:24px}.service-detail .related-image{width:110px;height:110px}.service-detail .related .button{grid-column:2;justify-self:start}.service-detail .price-sticker{padding:20px}.service-detail .price-sticker strong{font-size:32px}}
@media(max-width:760px){
 .service-detail .breadcrumb{font-size:12px;padding:20px 0 26px}
 .service-detail .service-hero{grid-template-columns:1fr;gap:30px;padding-bottom:48px}
 .service-detail .service-hero>div{text-align:center}
 .service-detail .service-hero .kicker{justify-content:center;font-size:10px;letter-spacing:1.5px}
 .service-detail .service-hero h1{font-size:clamp(38px,10vw,48px);line-height:1.08}
 .service-detail .service-hero .lead{font-size:18px;margin:22px auto}
 .service-detail .service-hero img{height:290px}
 .service-detail .price-sticker{padding:20px;gap:12px;text-align:left}
 .service-detail .price-sticker strong{font-size:30px}
 .service-detail .price-sticker span{font-size:10px;letter-spacing:1px}
 .service-detail .section{padding-top:48px;padding-bottom:48px}
 .service-detail h2{font-size:36px}
 .service-detail .scope-grid,.service-detail .expectation{grid-template-columns:1fr;gap:34px}
 .service-detail .scope-list li{font-size:17px}
 .service-detail .scope-note{padding:16px 18px}
 .service-detail .price-explain{padding:24px}
 .service-detail .steps h3{font-size:22px}
 .service-detail .steps li{gap:16px}
 .service-detail .faq summary{padding:18px;font-size:17px}
 .service-detail .related{grid-template-columns:1fr;padding:22px;gap:22px;margin-top:36px;margin-bottom:36px;text-align:center}
 .service-detail .related-image{width:100%;height:190px}
 .service-detail .related .kicker{justify-content:center}
 .service-detail .related h2{font-size:32px}
 .service-detail .related .button{grid-column:auto;justify-self:center;margin:0}
 .service-detail .cta .wrap,.services-overview .cta .wrap{flex-direction:column;text-align:center;gap:28px}
 .service-detail .cta .kicker,.services-overview .cta .kicker{justify-content:center;font-size:10px;letter-spacing:1px}
 .service-detail .cta h2,.services-overview .cta h2{font-size:38px}
 .services-overview .page-intro{padding-top:30px;padding-bottom:18px}
 .services-overview .page-intro h1{font-size:42px}
 .services-overview .page-intro .lead{font-size:18px}
 .services-overview .service-cards{grid-template-columns:1fr;gap:24px}
 .services-overview .service-card:first-child{display:flex;grid-column:auto}
 .services-overview .service-card img,.services-overview .service-card:first-child>img,.services-overview .service-card:last-child:nth-child(odd)>img{height:250px}
 .services-overview .service-card>div,.services-overview .service-card:first-child>div{padding:26px}
 .services-overview .service-card h2,.services-overview .service-card:first-child h2{font-size:32px}
 .services-overview .service-card p{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.services-overview .service-card{transition:none}.services-overview .service-card:hover{transform:none}}

/* Distinct service photo presentations, within the original image dimensions. */
.service-detail .service-hero .photo-label{margin:0;font-family:Barlow,Arial,sans-serif;font-weight:700;font-size:26px;line-height:1.15;color:var(--ink)}
.service-detail .service-hero .photo-floating{position:relative;overflow:visible;border-radius:0;box-shadow:none}
.service-detail .service-hero .photo-floating img{border-radius:140px 14px 14px 14px}
.service-detail .photo-floating .photo-label{position:absolute;left:-18px;bottom:28px;max-width:270px;padding:24px 28px;background:#77e1e0;border-radius:14px;box-shadow:0 8px 24px #124e7812}
.service-detail .service-hero .photo-gallery{background:#fff;border:1px solid var(--line);border-radius:0;padding:14px}
.service-detail .service-hero .photo-gallery img{height:382px;border-radius:0}
.service-detail .photo-gallery .photo-label{padding:22px 8px 10px;text-align:center;font-size:25px;letter-spacing:.4px}
.service-detail .service-hero .photo-cutcorner{position:relative;border-radius:16px;clip-path:none;box-shadow:none}
.service-detail .photo-cutcorner .photo-label{position:absolute;bottom:0;left:0;right:0;padding:48px 28px 26px;color:white;background:linear-gradient(transparent,#124e78e8);font-size:28px}
.service-detail .service-hero .photo-arch{background:transparent;box-shadow:none;border-radius:0;overflow:visible}
.service-detail .service-hero .photo-arch img{border-radius:50% 50% 18px 18px;box-shadow:0 18px 36px #124e7818}
.service-detail .photo-arch .photo-label{padding:24px 12px;text-align:center;font-size:28px}
@media(max-width:760px){
 .service-detail .service-hero .photo-gallery img{height:262px}
 .service-detail .photo-floating .photo-label{left:12px;bottom:18px;padding:18px 22px;font-size:24px;max-width:240px}
 .service-detail .service-hero .photo-floating img{border-top-left-radius:110px}
 .service-detail .photo-cutcorner .photo-label{padding:44px 22px 22px;font-size:25px}
 .service-detail .photo-arch .photo-label{padding:20px 8px;font-size:25px}
}

.service-detail .photo-quote{margin:20px 0 0;text-align:center;line-height:1.5}.service-detail .photo-quote a{display:inline-block;padding:10px 0;color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:5px}.service-detail .photo-quote small{display:block;color:var(--muted);font-size:13px;margin-top:3px}
