/* v5.0.7 – service-page only. All selectors isolated; homepage/blog styles remain unchanged. */
:root{--al507-ink:#30211c;--al507-deep:#183e36;--al507-orange:#e67e20;--al507-cream:#fff8e9;--al507-border:#e8d9c2}
.service-detail-hero{padding:38px 0 58px;background:radial-gradient(circle at 85% 20%,#faedda 0,transparent 42%),linear-gradient(130deg,#fffaf0,#fff4df);color:var(--al507-ink)}
.service-detail-hero:before{opacity:.3}
.service-hero-grid{gap:clamp(22px,4vw,66px);align-items:center}
.service-breadcrumb{margin-bottom:20px;font-size:12px;color:#64483b;gap:10px}
.service-breadcrumb a{color:#a44012;text-decoration:none}
.service-breadcrumb a:hover{color:#793100}
.service-hero-copy .eyebrow{display:inline-flex;align-items:center;gap:9px;margin:4px 0 16px;padding:10px 15px;border:1px solid #ead0a7;border-radius:999px;background:#f5eede;color:#a44a0c;font-size:12px;line-height:1.35;letter-spacing:.05em;font-weight:800}
.service-hero-copy .eyebrow span{background:#b2570e}
.service-hero-copy h1{font-family:"Bricolage Grotesque",Outfit,sans-serif;font-weight:800;letter-spacing:-.055em;color:#302019;line-height:1.02;font-size:clamp(38px,5vw,76px);margin:0 0 23px;overflow-wrap:normal}
.service-hero-copy h1:after{content:"";display:block;width:115px;height:4px;margin-top:21px;border-radius:9px;background:linear-gradient(90deg,#e87817,#ffc780,transparent)}
.service-hero-lead{font-family:Outfit,sans-serif;color:#604c40;font-size:clamp(15px,1.4vw,18px);line-height:1.73;margin:0;max-width:670px}
.service-hero-actions{margin-top:25px}
.service-origin{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px;font-size:11px;letter-spacing:0;text-transform:none}
.service-origin i,.service-origin b{display:none}
.service-origin span{display:inline-flex;align-items:center;gap:8px;background:#f6e8d2;border:1px solid #e6cca6;color:#63402c;border-radius:12px;padding:8px 12px;line-height:1.3}
.service-origin span:first-of-type:before{content:"✦";color:#b8530e}
.service-origin span:last-of-type{background:#e8f0e6;border-color:#c7d8c6;color:#1f5a4c}
.service-origin span:last-of-type:before{content:"●";font-size:9px;color:#3eaf86}
.bd505-demo{min-width:0;box-shadow:0 18px 38px #46352719}
/* Scoped sections avoid legacy .service-why theme color overrides and global heading rules. */
.al507-section,.al507-section *{box-sizing:border-box}
.al507-section{font-family:Outfit,Arial,sans-serif;padding:clamp(45px,5.2vw,72px) 0;color:var(--al507-ink);isolation:isolate}
.al507-section h2,.al507-section h3,.al507-section p,.al507-section ol,.al507-section ul{margin-top:0}
.al507-section h2,.al507-section h3,.al507-section strong{font-family:"Bricolage Grotesque",Outfit,sans-serif}
.al507-section-title{margin-bottom:27px;max-width:960px}
.al507-section-title h2{color:#302019!important;font-size:clamp(30px,3.4vw,46px)!important;line-height:1.15!important;letter-spacing:-.04em!important;font-weight:800!important;margin:14px 0 12px!important;max-width:900px;text-transform:none!important}
.al507-section-title h2 em{font-style:normal!important;color:#c65a11!important;text-shadow:none!important;display:inline!important;font-family:inherit!important;letter-spacing:inherit!important}
.al507-section-title p{font-size:clamp(15px,1.4vw,17px);line-height:1.65;color:#66544b;max-width:810px;margin:0}
.al507-eyebrow{font-weight:800;font-size:11px;letter-spacing:.11em;color:#9e460e;background:#fff0da;border:1px solid #edcca0;padding:8px 13px;display:inline-flex;align-items:center;min-height:32px;border-radius:999px}
.al507-why{background:linear-gradient(180deg,#fffdf8 0%,#fff6e9 100%)}
.al507-route-label{display:flex;align-items:center;gap:10px;border:1px solid #dfd2bb;border-radius:18px;background:#fffdfa;padding:12px 18px;margin-bottom:14px}
.al507-route-label>span{display:grid;place-items:center;width:32px;height:32px;background:#f9e3be;color:#b75814;border-radius:10px;font-size:18px}
.al507-route-label strong{font-size:17px;color:#263c33}
.al507-route-label small{font-size:13px;color:#6b665b;margin-left:auto}
.al507-route-grid{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0}
.al507-route-grid>li{min-width:0;position:relative}
.al507-route-grid>li:not(:last-child):after{content:"→";position:absolute;right:-17px;top:44%;z-index:4;background:#fff5df;border:1px solid #e5b775;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;color:#ac5c13;box-shadow:0 4px 14px #74472016;font-weight:900}
.al507-route-card{appearance:none;display:flex;flex-direction:column;align-items:flex-start;gap:10px;position:relative;overflow:hidden;width:100%;height:100%;text-align:left;min-height:230px;padding:17px 17px 15px;border-radius:20px;border:1px solid #e7d9c2;background:linear-gradient(180deg,#fffefb,#fff8ef);color:#2c3e35;font:inherit;cursor:pointer;box-shadow:0 11px 24px #3f30210b;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.al507-route-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px #3f302119;border-color:#dcb983}
.al507-route-card:focus-visible{outline:3px solid #e98f39;outline-offset:3px}
.al507-route-card.is-active{border-color:#cd873b;box-shadow:0 16px 28px #ab773126}
.al507-step-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:9px}
.al507-step-num{background:#20544a;color:#fff8e9;border-radius:10px;padding:7px 11px;font:800 13px Outfit,sans-serif;letter-spacing:.05em}
.al507-step-icon{display:grid;place-items:center;background:#f4e6ce;color:#985018;border-radius:13px;font-size:21px;width:40px;height:40px;flex-shrink:0}
.al507-route-card>strong{display:block;color:#223d35;font-size:clamp(16px,1.45vw,20px);line-height:1.23;font-weight:800;overflow-wrap:break-word}
.al507-step-desc{font-size:13px;line-height:1.55;color:#5c665d;overflow-wrap:break-word}
.al507-step-hint{font-size:11px;font-weight:800;color:#a65c1b;margin-top:auto}
.al507-route-feedback{display:flex;align-items:start;gap:11px;padding:13px 16px;margin:14px 0 0!important;background:#e9f2e9;border:1px solid #cadfcd;border-radius:16px;color:#26473c;font-size:14px;line-height:1.55}
.al507-route-feedback>strong{flex:0 0 auto;font-size:14px}
.al507-route-feedback>span:last-child{flex:1}
.al507-disclaimer{font:400 12px/1.65 Outfit,sans-serif!important;color:#7b695e!important;margin:12px 0 0!important}
.al507-deliver{background:linear-gradient(180deg,#fff8ea,#fffdf7)}
.al507-centered{text-align:center;margin-left:auto;margin-right:auto}
.al507-centered h2,.al507-centered p{margin-left:auto!important;margin-right:auto!important}
.al507-placards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px;align-items:stretch;position:relative}
.al507-placard{min-width:0;display:flex;align-items:center;gap:12px;padding:18px 15px 15px 12px;border-radius:22px;background:#fffdfa;border:1px solid #e9dcc7;box-shadow:0 10px 24px #6750380a;transition:transform .22s ease,box-shadow .22s ease}
.al507-placard:hover{transform:translateY(-4px);box-shadow:0 17px 33px #58432b1a}
.al507-character{flex:0 0 58px;position:relative;height:102px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;isolation:isolate}
.al507-face{width:40px;height:40px;position:relative;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:50%;background:var(--skin,#ffd1a5);border:2px solid #51413a;z-index:2;box-shadow:inset 5px -2px 0 #e48f5524}
.al507-face i{display:block;width:4px;height:5px;border-radius:50%;background:#3d2c2a}
.al507-face b{display:block;width:10px;height:4px;position:absolute;bottom:6px;border-bottom:2px solid #48352f;border-radius:50%}
.al507-body{height:56px;width:42px;display:block;margin-top:-1px;background:var(--shirt,#f4a144);border-radius:15px 15px 13px 13px;border:2px solid #4b4035}
.al507-arm{position:absolute;top:43px;width:12px;height:44px;background:var(--skin,#ffd1a5);border:2px solid #4b4035;border-radius:16px;z-index:-1;transform-origin:top center}
.al507-left{left:1px;transform:rotate(-27deg)}.al507-right{right:1px;transform:rotate(27deg)}
.al507-person-1{--skin:#dfb28f;--shirt:#94cfb0}.al507-person-2{--skin:#ecc197;--shirt:#a7c4ed}.al507-person-3{--skin:#bd8969;--shirt:#d6a3c4}.al507-person-4{--skin:#f1d1ad;--shirt:#dcb46f}.al507-person-5{--skin:#ce9a7b;--shirt:#a5bddd}
.al507-sign{position:relative;background:linear-gradient(155deg,#fff6e7 0%,#fffdf9 100%);border:1.5px solid #d7b784;border-radius:14px;flex:1;min-width:0;padding:13px 13px 14px;box-shadow:0 8px 20px #7b52271a}
.al507-sign:before{content:"";height:7px;width:48px;border-radius:99px;background:#edb46d;position:absolute;top:-4px;left:50%;transform:translateX(-50%)}
.al507-sign-icon{display:grid;place-items:center;background:#225849;color:#fff5e8;border-radius:10px;width:30px;height:30px;font-size:17px;margin-bottom:9px}
.al507-sign h3{font-size:clamp(16px,1.4vw,19px)!important;line-height:1.25!important;color:#302b25!important;letter-spacing:-.025em!important;margin:0 0 7px!important;font-weight:800!important;overflow-wrap:break-word}
.al507-sign p{font-size:12.5px;line-height:1.55;color:#64564d;margin:0;overflow-wrap:break-word}
.al507-more-scope{border:1px solid #dfd4c2;border-radius:16px;background:#fffefa;margin-top:18px;overflow:hidden}
.al507-more-scope>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 19px;color:#31483d;font-weight:800;font-size:14px}
.al507-more-scope>summary span{color:#b05a12;font-size:22px}
.al507-more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;padding:20px;border-top:1px solid #e7decb}
.al507-more-grid h3{font-size:18px;color:#23483c}
.al507-more-grid ul{padding-left:20px;color:#534c43;font-size:14px;line-height:1.8;margin-bottom:0}
.al507-standards{background:#f5ede2}
.al507-section-split{max-width:none;display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:end}
.al507-section-split p{padding:16px 19px;border:1px solid #e5d8c2;background:#fff9ed;border-radius:16px}
.al507-standards-grid{border:1px solid #dbcbb0;border-radius:23px;overflow:hidden;background:#e1d2ba;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;box-shadow:0 12px 26px #44351f0f}
.al507-standard{min-width:0;position:relative;padding:23px 24px 22px;background:#fffcf7;transition:background .22s ease}
.al507-standard:hover{background:#fff4df}
.al507-standard-final{background:#f8edda}
.al507-standard-icon{display:grid;place-items:center;width:49px;height:49px;border-radius:15px;background:#e6efe4;color:#215247;font-size:26px;line-height:1;margin-bottom:11px}
.al507-standard-index{position:absolute;top:24px;right:23px;color:#b66d2b;background:#f7e3c6;padding:7px 12px;border-radius:10px;font-weight:800;font-size:12px}
.al507-standard h3{font-size:clamp(19px,1.7vw,23px)!important;color:#26392f!important;line-height:1.25!important;margin:0 0 7px!important;max-width:90%;letter-spacing:-.02em}
.al507-standard p{font-size:14px;color:#63584b;line-height:1.6;margin:0}
.al507-small-cta{display:inline-flex;text-decoration:none;align-items:center;justify-content:center;gap:8px;color:#fff!important;background:#b54513;padding:10px 15px;border-radius:12px;margin-top:14px;font-weight:800;font-size:13px}
.al507-small-cta:hover{background:#873b18}
.al507-faq{background:#fff9ee}
.al507-faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(20px,5vw,75px);align-items:start}
.al507-faq-layout .al507-section-title{margin-bottom:0}
.al507-faq-layout .btn{margin-top:24px}
.al507-faq-items{display:grid;gap:10px}
.al507-faq-items details{border:1px solid #e4d4bd;border-radius:15px;background:#fffefa;padding:0;overflow:hidden}
.al507-faq-items summary{display:flex;align-items:center;gap:14px;justify-content:space-between;cursor:pointer;padding:16px 19px;color:#312f29;font-weight:700;font-size:15px;line-height:1.4}
.al507-faq-items summary span{color:#ad611a;font-size:21px;flex-shrink:0}
.al507-faq-items details[open] summary span{transform:rotate(45deg)}
.al507-faq-items details p{font-size:14px;line-height:1.65;color:#625a52;border-top:1px solid #efe5d8;margin:0;padding:14px 19px 17px}
/* Related services retain internal links but do not force another tall feature block. */
.related-services{padding:26px 0 38px;background:#fffaf1}
.related-services h2{font-size:25px;margin-bottom:16px}
.related-card{min-width:0}
.related-card img{aspect-ratio:16/8;object-fit:cover;height:auto;max-height:116px}
.service-cta{padding:32px 0}
@media(max-width:1100px){.al507-placards{grid-template-columns:repeat(2,minmax(0,1fr))}.al507-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.al507-route-grid>li:nth-child(2):after{display:none}.al507-section-split{grid-template-columns:1fr;gap:10px}.al507-section-split p{max-width:800px}}
@media(max-width:760px){
 .service-detail-hero{padding:22px 0 35px}
 .service-hero-copy h1{font-size:clamp(36px,8vw,56px);letter-spacing:-.045em}
 .service-origin span{font-size:11px}
 .al507-section{padding:42px 0}
 .al507-route-grid{grid-template-columns:1fr;gap:10px}
 .al507-route-grid>li:after{display:none!important}
 .al507-route-card{min-height:0;padding:15px;gap:8px}
 .al507-step-top{margin-bottom:0}
 .al507-route-card strong{font-size:18px}
 .al507-step-desc{font-size:13px}
 .al507-route-label{flex-wrap:wrap}
 .al507-route-label small{margin-left:0;width:100%}
 .al507-route-feedback{flex-wrap:wrap}
 .al507-placards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .al507-placard{flex-direction:column;gap:1px;padding:13px 9px;align-items:center;text-align:center}
 .al507-character{height:79px;flex-basis:auto;width:56px}
 .al507-face{width:33px;height:33px}.al507-body{height:45px;width:37px}.al507-arm{height:37px;top:31px}
 .al507-sign{width:100%;padding:12px 9px;text-align:left}
 .al507-sign h3{font-size:15px!important}.al507-sign p{font-size:12px}
 .al507-standards-grid{grid-template-columns:1fr}
 .al507-standard{padding:19px}
 .al507-faq-layout{grid-template-columns:1fr;gap:24px}
}
@media(max-width:390px){.al507-placards{grid-template-columns:1fr}.al507-placard{flex-direction:row;text-align:left;padding:12px}.al507-sign{flex:1}.al507-character{height:91px;flex:0 0 51px}}
@media(max-width: 0px){.al507-placard,.al507-route-card,.al507-standard{transition:none!important;transform:none!important}html{scroll-behavior:auto}}
/* Final compatibility fixes for older theme headline styles: legibility wins over decorative italics. */
.al507-section .al507-section-title h2,
.al507-section .al507-section-title h2 *{
 font-family:Outfit,Arial,sans-serif!important;
 font-style:normal!important;
 font-weight:800!important;
 letter-spacing:-.015em!important;
 text-transform:none!important;
 text-shadow:none!important;
 -webkit-text-stroke:0!important;
 text-decoration:none!important;
 animation:none!important;
 transform:none!important;
 filter:none!important;
 background-image:none!important;
 background:none!important;
 opacity:1!important;
}
.al507-section .al507-section-title h2{line-height:1.2!important;color:#302019!important}
.al507-section .al507-section-title h2 em{color:#c45813!important;-webkit-text-fill-color:#c45813!important;display:inline!important}
/* The service-specific offer already has multiple CTAs and an intact contact form. */
body .service-cta{display:none}
/* Keep all three links; remove redundant image-heavy teasers from the compact service view. */
body .related-services{padding:26px 0 34px!important}
body .related-services .related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body .related-services .related-card{display:flex;align-items:center;min-height:64px;gap:10px;padding:15px!important;border-radius:15px}
body .related-services .related-card img{display:none!important}
body .related-services .related-card>span{display:block;min-width:0}
body .related-services .related-card strong{font-size:14px;line-height:1.35}
body .related-services .related-card small{display:none}
@media(max-width:760px){
 .al507-route-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .al507-route-card{min-height:148px;padding:12px;gap:8px}
 .al507-route-card strong{font-size:15px!important;line-height:1.3}
 .al507-route-card .al507-step-desc,.al507-route-card .al507-step-hint{display:none}
 .al507-step-icon{width:32px;height:32px;font-size:17px}
 .al507-step-num{padding:5px 7px;font-size:11px}
 body .related-services .related-grid{grid-template-columns:1fr;gap:7px}
 body .related-services .related-card{min-height:52px}
}
@media (min-width:341px) and (max-width:390px){
 .al507-placards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .al507-placard{flex-direction:column;text-align:center;padding:10px 7px}
 .al507-character{flex:0 0 auto;height:70px}
 .al507-sign{text-align:left;padding:10px 9px}
}

/* Accent spans avoid legacy italic-em styles with aggressive global specificity. */
.al507-section .al507-section-title h2 .al507-accent{font-family:Outfit,Arial,sans-serif!important;font-style:normal!important;font-weight:800!important;color:#b9510e!important;letter-spacing:-.015em!important;display:inline!important;background:none!important}
@media(max-width:760px){.al507-route-feedback{display:block!important}.al507-route-feedback>strong{display:block!important;margin:0 0 6px}.al507-route-feedback [data-al507-feedback]{display:block!important;width:100%;min-width:0}}

/* Manually authored service content remains accessible without lengthening the default view. */
.al507-editorial{margin:0 auto 20px!important}
.al507-editorial details{border-radius:15px;border:1px solid #e2d2b9;background:#fffaf2;overflow:hidden}
.al507-editorial summary{cursor:pointer;padding:14px 18px;color:#39483e;font-weight:700;display:flex;justify-content:space-between}
.al507-editorial details>.bd504-editorial{padding:0 12px 24px}
.service-hero-copy h1{overflow-wrap:break-word}
