/* Shared service pages and the homepage service index. */
.service-hero{position:relative;margin-top:88px;background:#343b52 url('/assets/site/img/1.webp') center center/cover no-repeat;color:#fff}
.service-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,41,60,.94) 0%,rgba(35,41,60,.87) 54%,rgba(35,41,60,.44) 100%)}
.service-hero-inner{position:relative;z-index:1;padding-top:5rem;padding-bottom:5rem;max-width:1140px}
.service-breadcrumb{font-size:.9rem;color:#e8e9ee;margin-bottom:2.5rem}
.service-breadcrumb a{color:#fff;text-decoration:underline}
.service-eyebrow{color:#f1c451;letter-spacing:.12em;text-transform:uppercase;font-weight:700;font-size:.85rem}
.service-hero h1{max-width:790px;font-size:clamp(2.15rem,4.5vw,4.2rem);line-height:1.12;margin:0 0 1.25rem}
.service-lead{max-width:720px;font-size:1.18rem;line-height:1.6}
.service-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:1.8rem}
.service-hero-actions .btn{white-space:normal;text-align:center}
.service-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:4rem;padding-top:4.5rem;padding-bottom:4.5rem}
.service-content{font-size:1.05rem;line-height:1.75;color:#3b4250}
.service-content h2{font-size:1.7rem;line-height:1.3;margin:2.4rem 0 1rem;color:#202838}
.service-content h2:first-child{margin-top:0}
.service-content h3{font-size:1.2rem;margin:1.5rem 0 .65rem;color:#202838}
.service-content li{margin-bottom:.55rem}
.service-content .service-note{border-left:4px solid #f1c451;background:#f8f8f8;padding:1rem 1.25rem;margin:1.8rem 0}
.service-content .service-cta{padding:1.5rem;background:#f8f8f8;margin-top:2rem;border-radius:.35rem}
.service-aside{align-self:start;position:sticky;top:112px;background:#f4f5f8;border-radius:.5rem;padding:1.5rem;box-shadow:0 6px 24px rgba(30,38,55,.08)}
.service-aside h2{font-size:1.3rem;color:#202838}
.service-aside p{line-height:1.55}
.service-aside small{display:block;text-align:center;margin-top:.65rem;color:#535b69}
.service-related{padding:4rem 0}
.service-related h2{margin-bottom:1.5rem;color:#202838}
.service-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.service-links a{display:flex;justify-content:space-between;gap:.5rem;padding:1.1rem 1.25rem;background:white;border:1px solid #e1e3e9;border-radius:.35rem;color:#283246;font-weight:600}
.service-links a:hover,.service-links a:focus{border-color:#d4aa39;text-decoration:none;color:#202838}
.service-footer{background:#2e3349;color:#fff;padding:2.5rem 0}
.service-footer>.container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.service-footer p{margin:.4rem 0 0;color:#cbd0dd;font-size:.92rem}
.service-footer a{color:#fff;font-weight:700}
.home-services{padding:4.5rem 0}
.home-services h2{margin-bottom:1.7rem}
a[href^="tel:"] small[style*="opacity"]{opacity:1!important}
@media(max-width:991px){.service-layout{grid-template-columns:1fr;gap:2rem}.service-aside{position:static}.service-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.service-hero{margin-top:72px}.service-hero-inner{padding-top:3rem;padding-bottom:3.5rem}.service-hero-actions{align-items:stretch}.service-hero-actions .btn{width:100%}.service-layout{padding-top:3rem;padding-bottom:3rem}.service-links,.service-footer>.container{grid-template-columns:1fr}}

/* Homepage: the same slate-and-signal palette as the inner pages. */
.home-page{--home-ink:#202838;--home-slate:#2e3349;--home-yellow:#fbd214;--home-soft:#f4f5f8;--home-line:#dfe3ea;color:var(--home-ink)}
.home-page section{overflow:visible}
.home-page .home-hero{position:relative;isolation:isolate;margin-top:88px;min-height:640px;padding:5.5rem 0;background:var(--home-slate) url('/assets/site/img/1.webp') center center/cover no-repeat;color:#fff}
.home-page .home-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(35,41,60,.97) 0%,rgba(35,41,60,.88) 54%,rgba(35,41,60,.5) 100%)}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:center;gap:4.5rem;min-height:460px}
.home-eyebrow,.home-kicker{margin:0 0 1.15rem;color:#b08512;font:700 .8rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.15em;text-transform:uppercase}
.home-eyebrow{color:#f1c451}
.home-hero h1{max-width:780px;margin:0 0 1.4rem;color:#fff;font-size:clamp(2.65rem,5vw,4.7rem);font-weight:800;line-height:1.07;letter-spacing:-.045em}
.home-hero h1 span{display:block;color:var(--home-yellow)}
.home-hero-lead{max-width:680px;margin:0;color:#edf0f6;font-size:clamp(1.05rem,1.5vw,1.27rem);line-height:1.6}
.home-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;margin:2rem 0 1rem}
.home-hero-actions .btn,.home-contact-actions .btn{white-space:normal;text-align:center}
.home-hero-secondary{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.home-hero-secondary:hover,.home-hero-secondary:focus{color:var(--home-yellow)}
.home-hero-hint{max-width:590px;margin:0;color:#cdd2de;font-size:.88rem;line-height:1.5}
.home-route{position:relative;padding:1.8rem;background:rgba(244,245,248,.97);color:var(--home-ink);box-shadow:0 18px 48px rgba(11,18,34,.22)}
.home-route::before{content:"";position:absolute;top:83px;bottom:103px;left:39px;border-left:2px dashed #c2a348}
.home-route-title{margin:0 0 1.6rem;font:700 .75rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;text-transform:uppercase;color:#5a6474}
.home-route-point,.home-route-condition{position:relative;display:grid;grid-template-columns:22px 1fr;gap:1rem;align-items:start;margin:0 0 1.5rem}
.home-route-condition{margin-bottom:0;padding-top:1rem;border-top:1px solid var(--home-line)}
.home-route-dot{position:relative;z-index:1;width:15px;height:15px;margin-top:6px;border:4px solid var(--home-yellow);border-radius:50%;background:var(--home-slate)}
.home-route-condition>span{color:#a27a00;font-size:1.55rem;font-weight:800;line-height:1}
.home-route small{display:block;margin-bottom:.25rem;color:#596272;font:700 .75rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.08em}
.home-route strong{display:block;font-size:1rem;line-height:1.4}
.home-page .home-section{padding:5.5rem 0}
.home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:2.2rem}
.home-section-heading>div{max-width:650px}
.home-section-heading h2,.home-about h2,.home-price h2,.home-contact h2{margin:0;color:var(--home-ink);font-size:clamp(2rem,3.4vw,3.2rem);font-weight:800;line-height:1.13;letter-spacing:-.035em}
.home-section-heading>p{max-width:370px;margin:0 0 .15rem;color:#566071;line-height:1.65}
.home-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}
.home-service-card{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:1rem;align-items:start;min-height:155px;padding:1.45rem;background:#fff;border:1px solid var(--home-line);color:var(--home-ink);transition:border-color .2s,box-shadow .2s,transform .2s}
.home-service-card:hover,.home-service-card:focus{border-color:#d6ae39;box-shadow:0 12px 30px rgba(32,40,56,.09);color:var(--home-ink);text-decoration:none;transform:translateY(-3px)}
.home-service-symbol{display:grid;place-items:center;width:42px;height:42px;background:#f9edba;color:#614b05;font-size:1.4rem;font-weight:700}
.home-service-card strong{display:block;margin:.1rem 0 .45rem;font-size:1.07rem;line-height:1.3}
.home-service-card small{display:block;color:#5a6474;font-size:.88rem;line-height:1.5}
.home-service-arrow{color:#a37c00;font-size:1.15rem}
.home-inline-link{display:inline-flex;gap:.6rem;align-items:center;color:#283246;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.home-inline-link:hover,.home-inline-link:focus{color:#8b6800}
.home-process{background:var(--home-soft)}
.home-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 1.5rem;padding:0;list-style:none}
.home-steps li{padding:1.6rem 2rem 1.6rem 0;border-top:2px solid #cbd0d9}
.home-steps li+li{padding-left:2rem}
.home-step-number{display:inline-block;margin-bottom:1.4rem;color:#957108;font:700 .8rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.home-steps h3{margin:0 0 .65rem;color:var(--home-ink);font-size:1.35rem;font-weight:700}
.home-steps p{max-width:320px;margin:0;color:#566071;line-height:1.6}
.home-about-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5rem}
.home-about-heading h2{margin-bottom:2rem}
.home-about-content{font-size:1.02rem;line-height:1.75}
.home-about-content p{color:#485364!important}
.home-about-content p:last-child{margin-bottom:0}
.home-page .home-price{padding:4.5rem 0;background:var(--home-slate);color:#fff}
.home-price-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:center}
.home-price .home-kicker,.home-contact .home-kicker{color:#f1c451}
.home-price h2,.home-contact h2{color:#fff}
.home-price p:not(.home-kicker){max-width:450px;color:#e4e7ee;font-size:1.07rem;line-height:1.65}
.home-price .btn{margin-top:.5rem}
.home-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.7rem}
.home-review{display:flex;flex-direction:column;justify-content:space-between;min-height:215px;margin:0;padding:1.55rem;border:1px solid var(--home-line);background:#fff}
.home-review blockquote{margin:0}
.home-review blockquote p{margin:0 0 1.5rem;color:var(--home-ink);font-size:1.02rem;line-height:1.6}
.home-review strong,.home-review span{display:block}
.home-review span{margin-top:.15rem;color:#677080;font-size:.83rem}
.home-page .home-contact{padding:4rem 0;background:#242a3c;color:#fff;border-top:5px solid var(--home-yellow)}
.home-contact-grid{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}
.home-contact p:not(.home-kicker){max-width:630px;margin:1.2rem 0 0;color:#d9deea;line-height:1.6}
.home-contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:.85rem;text-align:center}
.home-contact-actions>a:not(.btn){color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.home-credit{padding-top:1.5rem;margin-top:2rem;border-top:1px solid rgba(255,255,255,.18)}
.service-footer .home-credit a{color:#cbd0dd;font-size:.77rem;font-weight:400}
.home-page a:focus-visible,.home-page button:focus-visible{outline:3px solid var(--home-yellow);outline-offset:3px}
@media(max-width:991px){.home-hero-grid{grid-template-columns:1fr;gap:2.5rem}.home-route{max-width:620px}.home-route::before{bottom:103px}.home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-about-grid{gap:3rem}}
@media(max-width:767px){.home-page .home-hero{margin-top:72px;padding:3.5rem 0;min-height:0}.home-hero-grid{min-height:0}.home-section-heading,.home-about-grid,.home-price-grid,.home-contact-grid{display:block}.home-section-heading>p{margin-top:1rem}.home-steps,.home-reviews-grid{grid-template-columns:1fr}.home-steps li,.home-steps li+li{padding:1.4rem 0}.home-about-heading{margin-bottom:2rem}.home-price-grid>div+div{margin-top:1.5rem}.home-contact-actions{align-items:start;margin-top:1.5rem;text-align:left}}
@media(max-width:575px){.home-page .home-section{padding:4rem 0}.home-page .home-hero{padding:3rem 0}.home-hero h1{font-size:clamp(2.45rem,11vw,3.25rem)}.home-hero-actions{align-items:stretch;gap:1rem}.home-hero-actions .btn{width:100%}.home-route{padding:1.45rem}.home-route::before{left:33px}.home-service-grid{grid-template-columns:1fr}.home-service-card{min-height:125px}.home-contact-actions,.home-contact-actions .btn{width:100%}.home-price .btn{white-space:normal;text-align:left}}
@media(prefers-reduced-motion:reduce){.home-service-card{transition:none}.home-service-card:hover,.home-service-card:focus{transform:none}}

/* Editorial pages follow the service-page palette and spacing. */
.blog-hero .service-hero-inner{max-width:1140px}
.blog-hero h1{max-width:920px}
.blog-index-section{padding:4.5rem 0}
.blog-index-intro{max-width:740px;margin-bottom:2rem;color:#485364;font-size:1.1rem;line-height:1.7}
.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem}
.blog-card{display:flex;flex-direction:column;padding:1.65rem;background:#fff;border:1px solid #dfe3ea;min-height:260px}
.blog-card-meta,.blog-author-label{margin:0 0 .9rem;color:#98770d;font:700 .75rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase}
.blog-card h2{margin:0 0 .8rem;font-size:1.5rem;line-height:1.3;color:#202838}
.blog-card h2 a{color:inherit}
.blog-card h2 a:hover,.blog-card h2 a:focus{color:#8b6800}
.blog-card>p:not(.blog-card-meta){margin:0 0 1rem;color:#566071;line-height:1.6}
.blog-card-more{margin-top:auto;color:#283246;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.blog-card-more:hover,.blog-card-more:focus{color:#8b6800}
.blog-byline{margin:1.7rem 0 0;color:#dfe3ea;font-size:.9rem}
.blog-article-layout{align-items:start}
.blog-article-content{max-width:760px}
.blog-article-content h2{scroll-margin-top:110px}
.blog-author{padding:1.5rem;margin:3rem 0 1.5rem;background:#f4f5f8;border-left:4px solid #fbd214}
.blog-author h2{margin:.2rem 0 .5rem;font-size:1.4rem}
.blog-author p:last-child{margin:0}
.blog-back{font-weight:700;color:#283246;text-decoration:underline;text-underline-offset:4px}
.blog-cta{padding:3rem 0;background:#2e3349;color:#fff}
.blog-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.blog-cta h2{margin:0;color:#fff;font-size:clamp(1.6rem,3vw,2.5rem)}
.blog-cta .service-eyebrow{margin-bottom:.5rem}
@media(max-width:767px){.blog-grid{grid-template-columns:1fr}.blog-index-section{padding:3rem 0}.blog-cta>.container{display:block}.blog-cta .btn{margin-top:1.5rem;white-space:normal}}
.menu-toggle-symbol{display:inline-block;color:#1e7680;font-size:1.55rem;line-height:1}
body{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
