/* Clear category browsing, practical service detail, and direct contact. */
.section-container{width:100%;max-width:calc(var(--max-width) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.section-space{padding-block:64px}
h2{font-size:34px;font-weight:800;margin-bottom:16px}
.hero{background:#fff;border-bottom:1px solid var(--color-line);padding:60px 0}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);align-items:center;gap:76px}
.hero-location{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--color-muted);margin-bottom:22px}
.hero-location svg{width:19px;height:19px;color:var(--color-accent)}
.hero h1{font-size:clamp(36px,4.3vw,58px);font-weight:800;line-height:1.12;letter-spacing:-.045em;margin-bottom:24px}
.hero h1 span{display:block;color:var(--color-accent);text-wrap:balance}
.hero-description{font-size:17px;color:var(--color-muted);max-width:620px;margin:0 0 28px;line-height:1.8}
.hero-actions,.hero__actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.hero-assurance{font-size:13px;line-height:1.7;color:var(--color-muted);margin:19px 0 0}
.text-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:15px;font-weight:600;color:var(--color-accent);text-decoration:none}
.text-link:hover{text-decoration:underline;text-underline-offset:4px}
.text-link svg{width:18px;height:18px}
.hero-contact{border-left:2px solid #dce6f5;padding:8px 0 8px 32px}
.contact-kicker{display:block;font-size:16px;font-weight:600;margin-bottom:15px}
.hero-phone{display:inline-block;font-size:clamp(23px,2.3vw,30px);font-weight:800;letter-spacing:-.03em;white-space:nowrap;text-decoration:none}
.hero-phone:hover{color:var(--color-accent);text-decoration:underline;text-underline-offset:5px}
.hero-contact>p{font-size:15px;line-height:1.8;color:var(--color-muted);margin:14px 0 21px;max-width:300px}
.availability{display:flex;flex-wrap:wrap;gap:9px 15px;font-size:13px;color:var(--color-muted)}
.availability span{display:flex;gap:7px;align-items:center}
.availability span:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--color-accent)}
.services-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:26px}
.services-heading h2{margin:0}
.services-heading>p{font-size:15px;color:var(--color-muted);margin:0}
.category-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:28px}
.category-tabs>a{position:relative;display:flex;flex-direction:column;align-items:start;gap:16px;padding:22px;border:1px solid var(--color-line);border-radius:11px;background:#fff;text-decoration:none;transition:border-color .15s,background .15s;min-width:0}
.category-tabs>a:hover{border-color:#94aed1;background:#fafcff}
.category-tabs>a[aria-selected="true"]{border-color:var(--color-accent);background:#eef4ff;box-shadow:inset 0 -3px var(--color-accent)}
.category-tabs>a>svg{position:absolute;top:28px;right:20px;width:19px;height:19px;color:var(--color-muted)}
.category-tabs strong{display:block;font-size:17px;font-weight:800;letter-spacing:-.025em;line-height:1.4}
.category-tabs small{display:block;font-size:14px;line-height:1.65;color:var(--color-muted);margin-top:8px}
[data-icon="web-digital"]{--icon-color:#1b61c5;--icon-bg:#e4edff}
[data-icon="business-tech"]{--icon-color:#6f48a9;--icon-bg:#f1edfa}
[data-icon="repairs-tech"]{--icon-color:#a65316;--icon-bg:#fff1e5}
[data-icon="photo-media"]{--icon-color:#19785d;--icon-bg:#e9f5ef}
.category-icon{display:grid;place-items:center;background:var(--icon-bg);color:var(--icon-color);width:43px;height:43px;border-radius:9px}
.category-icon svg{width:32px;height:32px}
.service-panel{padding:38px;background:#fff;border:1px solid var(--color-line);border-radius:12px;scroll-margin-top:105px}
.service-panel+.service-panel{margin-top:28px}
.service-panel[role="tabpanel"]{margin-top:0}
.service-intro{max-width:860px;margin-bottom:32px}
.service-intro h3{font-size:30px;font-weight:800;margin:0 0 16px;max-width:820px}
.service-intro>p:last-child{font-size:16px;color:var(--color-muted);margin:0;line-height:1.85}
.service-depth{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:50px;align-items:start}
.service-depth h4{font-size:16px;line-height:1.5;margin:0 0 16px;font-weight:800;letter-spacing:-.015em}
.service-detail{border-top:1px solid var(--color-line)}
.service-detail:last-child{border-bottom:1px solid var(--color-line)}
.service-detail summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:59px;padding:16px 0;font-size:15px;font-weight:600;line-height:1.6}
.service-detail summary:hover{color:var(--color-accent)}
.service-detail summary svg{width:20px;height:20px;color:var(--color-muted)}
.service-detail[open] summary svg{transform:rotate(45deg)}
.service-detail>div{padding:0 22px 19px 0}
.service-detail p{font-size:15px;line-height:1.8;color:var(--color-muted);margin:0 0 12px}
.service-detail a{display:inline-flex;align-items:center;gap:8px;min-height:40px;color:var(--color-accent);font-size:14px;font-weight:600;text-underline-offset:4px}
.service-detail a svg{width:17px;height:17px}
.service-outcomes{background:#f5f8fd;border-radius:9px;padding:25px 27px}
.service-outcomes ul{list-style:none;margin:0 0 20px;padding:0}
.service-outcomes li{position:relative;padding-left:24px;font-size:15px;line-height:1.75;margin-bottom:12px}
.service-outcomes li:before{content:'✓';position:absolute;left:0;top:0;color:var(--color-accent);font-weight:800}
.scope-note{font-size:14px;line-height:1.8;color:var(--color-muted);margin:0 0 22px}
.past-work{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);align-items:center;gap:18px 32px;margin-top:30px;padding-top:22px;border-top:1px solid var(--color-line)}
.past-work h4{font-size:15px;font-weight:700;margin:0 0 4px}
.past-work p{font-size:14px;color:var(--color-muted);margin:0}
.past-work ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;list-style:none;margin:0;padding:0}
.past-work a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:14px;line-height:1.6;font-weight:600;color:var(--color-accent);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#b5c8e5}
.past-work a:hover{text-decoration-color:currentColor}
.past-work a>svg{width:17px;height:17px;flex-shrink:0;transform:rotate(-45deg)}
@media(max-width:980px){.past-work{grid-template-columns:1fr}}
@media(max-width:560px){.past-work ul{grid-template-columns:1fr;gap:2px}}
.services-other{display:flex;align-items:center;justify-content:center;gap:12px;font-size:15px;margin:25px 0 0;color:var(--color-muted)}
.services-other a{display:inline-flex;align-items:center;gap:6px;min-height:40px;color:var(--color-accent);font-weight:600;text-underline-offset:4px}
.services-other svg{width:17px;height:17px}
.process-section{background:#fff;border-block:1px solid var(--color-line)}
.section-heading{display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:65px;margin-bottom:36px}
.section-heading h2{max-width:560px;margin-bottom:0;font-size:31px}
.process-intro{font-size:16px;color:var(--color-muted);max-width:440px;justify-self:end;margin:0}
.process-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}
.process-steps li{position:relative;padding-left:48px}
.step-number{position:absolute;left:0;top:0;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent);font-size:13px;font-weight:800}
.process-steps h3{font-size:17px;margin:3px 0 12px}
.process-steps p{font-size:15px;color:var(--color-muted);margin:0;line-height:1.8}
.faq-layout{display:grid;grid-template-columns:.8fr 1.3fr;gap:80px}
.faq-layout h2{font-size:31px}
.faq-list{background:#fff;border:1px solid var(--color-line);border-radius:11px;padding:0 25px}
.faq-list details+details{border-top:1px solid var(--color-line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px;padding:18px 0;font-size:15px;font-weight:600;line-height:1.6}
.faq-list summary svg{width:20px;height:20px;color:var(--color-muted)}
.faq-list details[open] summary svg{transform:rotate(45deg)}
.faq-list p{font-size:15px;color:var(--color-muted);margin:0;padding:0 24px 23px 0;line-height:1.8}
.contact-section{background:#fff;border-top:1px solid var(--color-line)}
.contact-layout{display:grid;grid-template-columns:.85fr 1.4fr;align-items:start;gap:75px}
.contact-copy{position:sticky;top:110px}
.contact-copy h2{font-size:43px;line-height:1.15}
.contact-copy>p:not(.eyebrow){font-size:16px;color:var(--color-muted);max-width:370px;line-height:1.85;margin-bottom:25px}
.contact-phone{display:block;font-size:29px;letter-spacing:-.03em;font-weight:800;color:var(--color-accent);text-decoration:none;margin-bottom:12px}
.contact-phone:hover{text-decoration:underline;text-underline-offset:5px}
.contact-address{display:inline-block;font-size:16px;color:var(--color-accent);text-underline-offset:4px;overflow-wrap:anywhere}
.coverage{border-top:1px solid var(--color-line);margin-top:30px;padding-top:25px;max-width:380px}
.coverage :is(h2,h3){font-size:17px;margin-bottom:12px}
.coverage p{font-size:14px;line-height:1.8;color:var(--color-muted);margin-bottom:14px}
.inquiry-panel{border:1px solid var(--color-line);border-radius:12px;background:#fafbfe;padding:30px}
/* Add breathing room to the document's existing sticky-header scroll padding. */
.inquiry-form,.inquiry-form input,.inquiry-form select,.inquiry-form textarea,.form-status{scroll-margin-top:12px}
.form-heading :is(h2,h3){font-size:23px;margin:0 0 8px}
.form-heading p{font-size:13px;color:var(--color-muted);margin-bottom:22px}
.form-heading p span{display:block;margin-top:5px}
.form-extras{border-block:1px solid var(--color-line);margin-bottom:22px}
.form-extras>summary{display:flex;align-items:center;gap:7px;min-height:52px;padding-block:13px;font-size:14px;font-weight:600;line-height:1.5}
.form-extras>summary span{font-weight:400;color:var(--color-muted)}
.form-extras>summary svg{width:18px;height:18px;margin-left:auto;color:var(--color-accent)}
.form-extras[open]>summary{margin-bottom:8px}
.form-extras[open]>summary svg{transform:rotate(45deg)}
.preview-notice{font-size:14px;line-height:1.7;background:#eaf2ff;border-left:3px solid var(--color-accent);padding:13px 15px;margin-bottom:23px;color:#244b7a}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.inquiry-form label{display:block;font-size:14px;font-weight:600;line-height:1.5;margin:0 0 8px}
.inquiry-form label span{font-weight:400;color:var(--color-muted)}
.inquiry-form input,.inquiry-form select,.inquiry-form textarea{display:block;width:100%;min-width:0;border:1px solid #7d8da2;border-radius:6px;background:#fff;color:var(--color-ink);font-size:16px;line-height:1.5;padding:11px 12px;min-height:48px;margin-bottom:19px}
.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#627188}
.inquiry-form textarea{min-height:130px;resize:vertical;margin-bottom:9px}
.inquiry-form select{padding-right:8px}
.field-hint{font-size:13px;line-height:1.75;color:var(--color-muted);margin:0 0 20px}
.privacy-note{font-size:13px;line-height:1.8;color:var(--color-muted);margin:0 0 21px}
.form-submit{min-width:180px}
.form-submit:disabled{cursor:wait;opacity:.7}
.form-status{font-size:15px;line-height:1.8;margin:18px 0 0;overflow-wrap:anywhere}
.form-status:empty{display:none}
.form-status:focus{outline-offset:6px}
.form-status[data-state="success"]{padding:14px 16px;border:1px solid #a8d4bb;border-radius:7px;color:#185c39;background:#edf8f1}
.form-status[data-state="error"]{color:#b42318}
.chosen-service{font-size:14px;color:var(--color-accent);margin:0 0 20px;font-weight:600}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.inquiry-form [aria-invalid="true"]{border-color:#b42318}
.field-error{font-size:13px;color:#b42318;margin:-10px 0 18px;line-height:1.6}
.request-review{background:#fff;border:1px solid var(--color-line);border-radius:8px;padding:22px;margin-top:20px}
.request-review h4{font-size:17px;margin:0 0 18px}
.request-review dl{margin:0;display:grid;grid-template-columns:80px 1fr;gap:12px 17px;font-size:14px}
.request-review dt{font-weight:600;color:var(--color-muted)}
.request-review dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
.request-review>p{font-size:14px;color:var(--color-muted);margin:22px 0 0}
.no-script-contact{font-size:16px;line-height:1.8}
.site-footer{background:#fff;border-top:1px solid var(--color-line)}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:25px}
.footer-brand{display:block;width:151px;flex-shrink:0}
.footer-main nav{display:flex;gap:24px;align-items:center}
.footer-main nav a{font-size:14px;min-height:40px;display:flex;align-items:center;text-decoration:none;color:var(--color-muted)}
.footer-main nav a:hover{color:var(--color-accent)}
.footer-main>p{font-size:12px;line-height:1.8;color:var(--color-muted);margin:0;text-align:right}
.footer-main>p>span{display:block}
.not-found{display:grid;align-items:center;min-height:100svh;background:#fff}
.not-found main{max-width:850px;padding-block:60px}
.not-found .footer-brand{margin-bottom:48px}
.not-found h1{font-size:clamp(36px,6vw,60px)}
.not-found main>p:not(.eyebrow){max-width:520px;color:var(--color-muted)}
@media(max-width:1100px){
 .hero-layout{gap:35px;grid-template-columns:1.6fr 1fr}.hero-contact{padding-left:24px}.hero h1{font-size:44px}.hero-description{font-size:16px}.hero-phone{font-size:25px}
 .category-tabs{gap:11px}.category-tabs>a{padding:19px 16px}.category-tabs strong{font-size:16px}.category-tabs small{font-size:14px}.category-tabs>a>svg{right:15px}
 .service-panel{padding:30px}.service-depth{gap:30px}.service-outcomes{padding:23px}.service-intro h3{font-size:28px}.section-heading{gap:35px}.process-steps{gap:27px}.faq-layout{gap:45px}
 .contact-layout{gap:40px;grid-template-columns:.8fr 1.3fr}.contact-copy h2{font-size:37px}.contact-phone{font-size:25px}.inquiry-panel{padding:25px}.form-row{gap:15px}.footer-main nav{gap:18px}
}
@media(max-width:800px){
 .hero{padding-block:40px}.hero-layout{grid-template-columns:1fr;gap:28px}.hero h1{font-size:43px}.hero-description{max-width:650px}.hero-contact{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;border-left:0;border-top:1px solid var(--color-line);padding:23px 0 0}.contact-kicker{font-size:15px;margin:0}.hero-phone{grid-column:1;grid-row:2;font-size:27px}.hero-contact>p{grid-column:2;grid-row:1 / span 2;margin:0;max-width:none;font-size:14px}.availability{grid-column:1 / -1;margin-top:9px}
 .section-space{padding-block:45px}.services-heading h2{font-size:29px}.services-heading>p{display:none}.category-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-tabs>a{padding:19px;gap:12px}.category-tabs strong{font-size:17px}.category-tabs small{font-size:14px}.category-tabs>a>svg{right:18px}
 .service-depth{grid-template-columns:1fr 1fr;gap:24px}.service-panel{padding:27px}.service-intro h3{font-size:28px}.service-outcomes{padding:21px}.service-outcomes li,.service-detail p{font-size:14px}.service-outcomes .button{width:100%;padding-inline:13px}
 .section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:28px}.section-heading h2,.faq-layout h2{font-size:29px}.process-intro{justify-self:start;max-width:600px}.process-steps li{padding-left:0}.step-number{position:static;margin-bottom:14px}.process-steps h3{font-size:16px}.process-steps p{font-size:14px}
 .faq-layout{grid-template-columns:1fr;gap:20px}.faq-layout h2{margin-bottom:0}.contact-layout{grid-template-columns:1fr;gap:25px}.contact-copy{position:static}.contact-copy h2 br{display:none}.contact-copy h2{font-size:33px}.contact-copy>p:not(.eyebrow){max-width:650px}.coverage{max-width:none;margin-top:23px;padding-top:20px}.coverage p{max-width:650px}.contact-phone{font-size:29px}.inquiry-panel{padding:28px}
 .footer-main{flex-wrap:wrap;gap:12px 25px}.footer-main>p{width:100%;text-align:left;display:flex;justify-content:space-between}.footer-main>p>span{display:inline}
}
@media(max-width:560px){
 html{scroll-padding-top:94px}.hero{padding-block:30px}.hero-location{font-size:13px;margin-bottom:19px}.hero h1{font-size:35px}.hero-description{font-size:16px;line-height:1.8}.hero-actions{gap:9px 19px}.hero-actions .button{font-size:15px}.hero-contact{grid-template-columns:1fr;gap:8px}.hero-contact>p{grid-column:1;grid-row:auto;max-width:330px;margin-top:3px}.hero-phone{font-size:29px}.availability{font-size:13px;gap:9px 13px}
 .services-heading h2{font-size:28px}.category-tabs{gap:10px;margin-bottom:20px}.category-tabs>a{padding:17px 14px;gap:13px}.category-tabs strong{font-size:15px;line-height:1.5}.category-tabs small{font-size:13px;line-height:1.7}.category-tabs>a>svg{width:17px;height:17px;right:13px;top:25px}.category-icon{width:36px;height:36px}.category-icon svg{width:28px;height:28px}
 .service-panel{padding:25px 20px;scroll-margin-top:95px}.service-intro h3{font-size:26px}.service-intro>p:last-child{font-size:15px}.service-intro{margin-bottom:25px}.service-depth{grid-template-columns:1fr;gap:27px}.service-outcomes{padding:22px}.service-outcomes li,.service-detail p{font-size:15px}.service-detail summary{font-size:15px}.services-other{display:block;text-align:center;font-size:14px}.services-other a{justify-content:center;margin-left:5px}
 .process-steps{grid-template-columns:1fr;gap:27px}.process-steps li{padding-left:48px}.step-number{position:absolute;margin:0}.process-steps h3{font-size:17px}.process-steps p{font-size:15px}.process-intro{font-size:15px}.faq-list{padding-inline:20px}.faq-list p{padding-right:0}
 .contact-copy h2{font-size:31px}.contact-copy h2 br{display:block}.contact-address{font-size:15px}.inquiry-panel{padding:23px 18px}.form-row{grid-template-columns:1fr;gap:0}.form-submit{width:100%}.request-review{padding:18px}.request-review dl{grid-template-columns:1fr;gap:5px}.request-review dd{margin-bottom:10px}
 .footer-main{padding-block:22px;gap:12px}.footer-brand{width:141px}.footer-main nav{width:100%;gap:20px;flex-wrap:wrap}.footer-main nav a{font-size:13px}.footer-main>p{display:block;font-size:12px}.footer-main>p>span{display:block}
}
@media(max-width:359px){.hero h1{font-size:32px}.category-tabs>a>svg{display:none}.category-tabs strong{font-size:14px}.category-tabs>a{padding:15px 12px}.service-panel{padding-inline:17px}.hero-actions .button{padding-inline:16px}}
@media(max-width:380px){.form-extras>summary{flex-wrap:wrap}.form-extras>summary svg{margin-left:auto}}
