/* Services and local guides: readable copy, shared Advantage design. */
.ap-detail{background:#fff;font-size:17px;line-height:1.8}
.ap-detail p:not(.ap-kicker),.ap-detail li{font-size:17px;line-height:1.8}
.ap-detail h2{font-size:clamp(29px,3vw,39px);line-height:1.2;margin-bottom:22px}
.ap-detail h3{font-size:23px;line-height:1.3;margin-bottom:12px;letter-spacing:-.025em}
.ap-detail a:not(.ap-btn):not(.ap-hero-call){text-underline-offset:4px}
.ap-detail-hero{padding:40px 0 48px}
.ap-detail-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:55px;align-items:center}
.ap-detail-hero h1{font-size:clamp(36px,4.2vw,55px);max-width:720px}
.ap-detail-hero p:not(.ap-kicker){font-size:18px;line-height:1.8}
.ap-detail-photo{margin:0;position:relative}
.ap-detail-photo img{width:100%;height:360px;object-fit:cover;border-radius:8px}
.ap-detail-photo.ap-equipment img{object-fit:contain;background:#e9e8e4}
.ap-detail-photo figcaption{font-size:13px;line-height:1.6;color:#e3e9f3;margin-top:12px}
.ap-detail-trust{background:var(--ap-paper);border-bottom:1px solid var(--ap-line)}
.ap-detail-trust .ap-wrap{display:flex;flex-wrap:wrap;gap:10px 28px;padding-block:19px;color:var(--ap-navy);font-size:14px;font-weight:700}
.ap-detail-section{padding:56px 0}
.ap-detail-section.ap-detail-paper{background:var(--ap-paper)}
.ap-detail-intro{max-width:830px;color:var(--ap-muted);margin-bottom:29px!important}
.ap-detail-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.ap-detail-card{background:#fff;padding:27px;border:1px solid var(--ap-line);border-radius:7px}
.ap-detail-card p{color:var(--ap-muted);margin-bottom:0}
.ap-detail-card>a{display:block;margin-top:18px;color:var(--ap-blue);font-size:16px;font-weight:700}
.ap-detail-card .ap-card-number{display:block;color:var(--ap-red);font-size:14px;font-weight:800;margin-bottom:15px}
.ap-detail-prose-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:start}
.ap-detail-prose p,.ap-detail-faq p{color:var(--ap-muted)}
.ap-detail-prose p:last-child{margin-bottom:0}
.ap-detail-note{background:var(--ap-navy);color:#fff;border-radius:8px;padding:31px}
.ap-detail-note h3{color:#fff}
.ap-detail-note p{color:#e3e9f3}
.ap-detail-note>a:not(.ap-btn){color:#bed7f4;text-decoration:underline}
.ap-detail-faq{max-width:880px}
.ap-detail-faq details{border-top:1px solid var(--ap-line);padding:0}
.ap-detail-faq details:last-child{border-bottom:1px solid var(--ap-line)}
.ap-detail-faq summary{font-weight:750;font-size:19px;line-height:1.5;cursor:pointer;padding:20px 25px 20px 0;list-style:none;position:relative}
.ap-detail-faq summary::-webkit-details-marker{display:none}
.ap-detail-faq summary::after{content:'+';position:absolute;right:0;color:var(--ap-red);font-size:23px}
.ap-detail-faq details[open] summary::after{content:'−'}
.ap-detail-faq summary:focus-visible{outline:3px solid #6196d6;outline-offset:4px}
.ap-detail-source{font-size:14px!important;border-top:1px solid var(--ap-line);padding-top:18px;margin-top:28px;color:var(--ap-muted)}
.ap-detail-source a{color:var(--ap-blue);text-decoration:underline!important}
.ap-detail-alert{background:#fff0ed;border-left:4px solid var(--ap-red);padding:24px 27px;margin-bottom:30px;border-radius:4px}
.ap-detail-alert p:last-child{margin-bottom:0}
.ap-detail-alert a{color:var(--ap-navy);text-decoration:underline!important}
.ap-detail-jump{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.ap-detail-jump a{color:#fff;border:1px solid #ffffff50;border-radius:4px;padding:9px 13px;font-size:15px}
.ap-detail-hub-group{scroll-margin-top:24px}
.ap-detail-hub-group+.ap-detail-hub-group{margin-top:43px}
.ap-detail-hub-group h2{margin-bottom:23px}
.ap-detail-neighborhoods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.ap-detail-neighborhoods>div{scroll-margin-top:35px;padding:14px 18px;background:#fff;border:1px solid var(--ap-line);border-radius:4px;font-size:16px;font-weight:650}
.ap-detail-neighborhoods a{color:var(--ap-blue);text-decoration:underline!important}
.ap-detail-region-links{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}
.ap-detail-region-links a{font-size:16px;font-weight:600;color:var(--ap-blue);text-decoration:underline!important;margin-right:12px}
@media(max-width:1000px){.ap-detail-hero-grid{gap:30px}.ap-detail-prose-grid{gap:30px;grid-template-columns:1.3fr 1fr}.ap-detail-card{padding:23px}.ap-detail-photo img{height:330px}}
@media(max-width:760px){.ap-detail p:not(.ap-kicker),.ap-detail li{font-size:16px}.ap-detail-hero{padding:30px 0 36px}.ap-detail-hero-grid,.ap-detail-prose-grid{grid-template-columns:1fr;gap:30px}.ap-detail-hero p:not(.ap-kicker){font-size:17px}.ap-detail-hero h1{font-size:36px}.ap-detail-photo img{height:280px}.ap-detail-section{padding:38px 0}.ap-detail-cards{grid-template-columns:1fr;gap:17px}.ap-detail-note{padding:27px}.ap-detail-faq summary{font-size:18px}.ap-detail-neighborhoods{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ap-detail-neighborhoods>div{font-size:15px;padding:12px}.ap-detail-trust .ap-wrap{font-size:13px;gap:8px 20px}}
@media(prefers-reduced-motion:reduce){.ap-detail a{transition:none}}

/* Show the complete fixtures and failed component in supplied portrait project photos. */
.ap-detail-photo.ap-portrait img{height:480px;object-fit:contain;background:transparent}
.ap-detail-project-photo figcaption{color:var(--ap-muted)}
@media(max-width:760px){.ap-detail-photo.ap-portrait img{height:380px}}

.ap-dock-projects{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.ap-dock-projects{grid-template-columns:1fr}}

/* Keep real project photos complete and their captions easy to read. */
.ap-project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.ap-project-gallery.ap-project-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.ap-project-gallery-photo{margin:0;background:#fff;align-self:start}
.ap-project-gallery-photo img{width:100%;height:320px;object-fit:contain;background:#f2f0e9}
.ap-project-gallery-photo figcaption{padding:16px 20px;color:var(--ap-navy,#102b49);font-size:16px;line-height:1.55}
@media(max-width:960px){.ap-project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ap-project-gallery,.ap-project-gallery.ap-project-pair{grid-template-columns:1fr}.ap-project-gallery-photo img{height:380px}}

/* Consolidated service-area directory and practical service coverage. */
.ap-community-group{margin:32px 0}.ap-community-group h3{font-size:21px;letter-spacing:-.02em;margin-bottom:18px}.ap-service-coverage{font-size:15px!important;color:var(--ap-muted)}.ap-hero-service-line{font-size:16px!important;max-width:540px;margin-bottom:24px!important}
