:root{--navy:#102b38;--ink:#183440;--muted:#52616a;--yellow:#f7c65c;--paper:#faf9f5;--line:#d8deda;--soft:#eef1ed}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-underline-offset:5px}a:hover{color:#855900}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b77a00;outline-offset:5px}img{max-width:100%;object-fit:cover;display:block}h1,h2,h3,p{margin:0 0 20px}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(40px,4.8vw,68px);font-weight:700}h2{font-size:clamp(32px,3.6vw,49px)}h3{font-size:23px;letter-spacing:-.025em}p{color:var(--muted)}.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.section{padding-block:88px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;color:inherit;margin-bottom:22px}.lead{font-size:20px;line-height:1.65;max-width:750px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 23px;background:var(--yellow);color:var(--navy);text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.01em;transition:background .2s,transform .2s}.button:hover{background:#ffd779;color:var(--navy);transform:translateY(-2px)}.secondary{background:transparent;color:white;border:1px solid #ffffff7a}.secondary:hover{background:white}.skip{position:absolute;top:-80px;left:20px;z-index:20;background:var(--yellow);padding:12px}.skip:focus{top:10px}header{background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.1;font-size:21px;font-weight:800;letter-spacing:.015em}.brand small,.brand>span:not(.brand-mark)>small{display:block;font-size:10px;letter-spacing:.23em;margin-top:6px}.brand-mark{display:grid;place-items:center;background:var(--navy);color:var(--yellow);width:39px;height:46px;font-size:42px;flex-shrink:0}nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}nav>a{text-decoration:none}nav a[aria-current]{border-bottom:2px solid var(--yellow)}summary{cursor:pointer;list-style:none}summary::after{content:'⌄';margin-left:8px}.services-menu[open]>summary::after{content:'⌃'}.dropdown{position:absolute;top:78px;right:40px;width:min(720px,calc(100vw - 80px));background:var(--paper);border:1px solid var(--line);box-shadow:0 15px 24px #102b3826;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:3px 22px;max-height:75vh;overflow:auto}.dropdown a{padding:7px 10px;text-decoration:none;font-size:13px}.dropdown a:hover{background:var(--soft)}.dropdown a:first-child{grid-column:1/-1;border-bottom:1px solid var(--line);margin-bottom:8px}.menu-toggle{display:none}.hero{position:relative;min-height:620px;display:flex;align-items:center;color:white;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-position:center 48%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,28,39,.94),rgba(8,28,39,.7) 37%,rgba(8,28,39,.1) 80%)}.hero-content{position:relative;padding-block:64px;animation:enter .65s ease-out}.hero-content h1{max-width:730px}.hero-content p{color:#e5e8e5}.hero-content .eyebrow{color:var(--yellow)}.hero-content>p:not(.eyebrow){font-size:20px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 36px}.hero-local{font-size:10px;letter-spacing:.14em;color:#d3dbd9}.service-strip{background:var(--navy);color:#f4f4ee;border-top:1px solid #ffffff26;padding:20px 0;font-size:12px}.service-strip .wrap{display:flex;justify-content:space-between;gap:20px}.service-strip span::before{content:'+';color:var(--yellow);margin-right:14px;font-weight:bold}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:end;margin-bottom:28px}.section-heading p{max-width:450px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 42px}.service-link{position:relative;padding:33px 0 22px;border-top:1px solid var(--line);text-decoration:none}.number{font-size:11px;color:#68777d;letter-spacing:.1em}.service-link h3{margin-top:17px;font-size:25px}.service-link p{font-size:15px;padding-right:20px}.arrow{position:absolute;right:0;top:30px;transition:transform .2s}.service-link:hover .arrow{transform:translate(3px,-3px)}.soft{background:var(--soft)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:100px}.two-col p{max-width:600px}.problem-list a{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #bec8c3;padding:22px 0;text-decoration:none;font-size:18px}.problem-list a:first-child{border-top:1px solid #bec8c3}.steps{padding-left:30px;margin:0}.steps li{padding-left:12px;margin-bottom:28px}.steps li::marker{color:#8e6300;font-weight:bold}.steps h3{font-size:21px;margin-bottom:8px}.area{background:var(--navy);color:white}.area p{color:#d1dcde}.area .eyebrow{color:var(--yellow)}.area .lead{max-width:640px;font-size:18px}.towns{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0 0;gap:0 38px}.towns li{padding:10px 0;border-bottom:1px solid #ffffff26;font-size:15px}.cta{background:var(--yellow)}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta p{color:#34454b;margin-bottom:0}.cta .eyebrow{margin-bottom:18px}.cta .button{background:var(--navy);color:white;flex-shrink:0}.cta .button:hover{background:#234958}footer{background:#f0f0e9;padding:64px 0 22px;font-size:13px}footer .brand{display:block;font-size:19px}footer .brand>span{display:block;font-size:10px;letter-spacing:.2em;margin-top:7px}footer p{margin-top:20px}footer h3{font-size:16px;margin-bottom:20px}.footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1.2fr 1.2fr;gap:35px}.footer-grid>div>a:not(.brand){display:block;margin-bottom:8px;text-decoration:none}.footer-phone{font-size:22px;font-weight:700}.footer-grid small{font-size:11px;color:#59666b}.footer-bottom{border-top:1px solid #cbd2ce;margin-top:46px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#59666b;font-size:11px}.service-hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-block:58px}.service-hero img{width:100%;height:450px}.service-hero h1{font-size:clamp(38px,4.2vw,60px)}.service-hero .lead{font-size:21px}.service-body{display:grid;grid-template-columns:1.5fr .8fr;gap:100px;border-top:1px solid var(--line)}.scope{border-left:3px solid var(--yellow);padding-left:28px;align-self:start}.scope ul,.checklist{padding-left:20px;color:var(--muted)}.scope li,.checklist li{margin-bottom:14px}.question{padding:30px;border-top:3px solid var(--yellow);background:var(--paper);align-self:start}.question h3{font-size:25px}.question p:last-child{margin-bottom:0}.related{border-top:1px solid var(--line);margin-top:40px;padding-top:28px}.related a{display:inline-block;margin:0 22px 14px 0;font-size:15px}.text-link{font-weight:600}.catalog{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.catalog>a{display:flex;align-items:start;gap:22px;padding:28px 0;border-top:1px solid var(--line);text-decoration:none}.catalog span{font-size:12px;color:#667b80}.catalog h3{font-size:22px;margin-bottom:12px}.catalog p{font-size:14px;margin:0}.catalog b{margin-left:auto}.address,.source-note{font-size:12px;color:var(--muted)}.source-note{padding-bottom:30px}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:1400px){.hero{min-height:670px}}@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.nav{gap:16px}nav{gap:16px}.brand{font-size:17px}.brand small{font-size:8px}.section-heading,.two-col,.service-body{gap:48px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.service-hero{gap:36px}.service-hero img{height:390px}}@media(max-width:780px){.wrap{width:calc(100% - 36px)}.section{padding-block:56px}.nav{min-height:78px;flex-wrap:wrap;gap:12px}.nav>.button{font-size:12px;padding:10px 14px;min-height:44px}.brand{font-size:16px;gap:7px}.brand-mark{width:28px;height:35px;font-size:30px}.brand small{font-size:8px;letter-spacing:.12em}.menu-toggle{display:block;background:none;border:0;padding:12px 0;color:var(--navy);font-size:13px;margin-left:auto}.menu-toggle span{margin-left:6px}nav{display:none;width:100%;padding:6px 0 20px;order:4;align-items:stretch;gap:0}nav.is-open{display:flex;flex-direction:column}nav>a,nav summary{padding:12px 0}.dropdown{position:static;width:100%;box-shadow:none;border:0;border-left:2px solid var(--yellow);padding:8px 12px;grid-template-columns:1fr;max-height:55vh}.dropdown a{font-size:13px}.hero{min-height:580px}.hero>img{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#081c27eb,#081c2780)}.hero-content{padding-block:45px}.hero h1{font-size:44px;line-height:1.08}.hero-content>p:not(.eyebrow){font-size:17px}.hero .eyebrow{font-size:10px;letter-spacing:.12em}.hero-local{font-size:9px;letter-spacing:.07em}.actions{gap:10px;margin-top:26px}.actions .button{font-size:12px;padding:12px 16px}.service-strip .wrap{justify-content:center;flex-wrap:wrap;gap:8px 16px}.service-strip{font-size:10px;padding:16px 0}.service-strip span::before{margin-right:6px}.section-heading,.two-col,.service-body{grid-template-columns:1fr;gap:28px}.section-heading{margin-bottom:22px}.service-grid{grid-template-columns:1fr 1fr;gap:0 25px}.service-link h3{font-size:22px}.service-link p{font-size:14px}.towns{grid-template-columns:1fr 1fr;gap:0 18px}.towns li{font-size:14px}.cta .wrap{display:block}.cta .button{margin-top:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:34px 20px}.footer-bottom{flex-direction:column;gap:10px}.service-hero{grid-template-columns:1fr;padding-block:38px;gap:30px}.service-hero img{height:280px}.service-hero h1{font-size:43px}.service-hero .lead{font-size:19px}.service-body .lead{font-size:18px}.scope{margin-top:5px}.catalog{grid-template-columns:1fr}.catalog h3{font-size:22px}.question{padding:25px}.lead{font-size:18px}}@media(max-width:400px){.nav>.button{padding:9px 11px}.brand{font-size:14px}.brand small{font-size:7px}.menu-toggle{font-size:12px}.hero h1{font-size:39px}.service-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.hero{min-height:560px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

@media(max-width:780px){.nav{gap:8px}.nav .brand{font-size:14px;gap:7px}.nav .brand small{font-size:7px;letter-spacing:.12em}.nav .brand-mark{width:26px}.nav>.button{padding:10px 12px}.menu-toggle{font-size:12px}}@media(max-width:360px){.nav .brand{font-size:12px}.nav .brand small{font-size:6px}.nav .brand-mark{width:22px}.nav>.button{font-size:11px;padding:9px}.menu-toggle{font-size:11px}}

@media(max-width:780px){.nav .brand>span:not(.brand-mark)>small{font-size:7px;letter-spacing:.12em}}@media(max-width:360px){.nav .brand>span:not(.brand-mark)>small{font-size:6px}}

/* Integrated cord-and-lettering wordmark */
.nav .brand-lockup{display:block;width:245px;flex:0 0 245px;line-height:0;padding:5px 0}.brand-lockup img{display:block;width:100%;height:auto;object-fit:contain}footer .brand-lockup{display:block;width:230px;max-width:100%;line-height:0}.about-note{font-family:Georgia,serif;font-size:23px;font-style:italic;line-height:1.5;margin-top:36px;color:#687168;border-left:3px solid #bf8421;padding-left:20px}.about-story .lead{color:var(--ink)}
@media(max-width:1050px){.nav .brand-lockup{width:210px;flex-basis:210px}}@media(max-width:780px){.nav .brand-lockup{width:174px;flex-basis:174px}.nav{gap:7px}.about-note{margin-top:24px}}@media(max-width:400px){.nav .brand-lockup{width:155px;flex-basis:155px}}@media(max-width:360px){.nav .brand-lockup{width:140px;flex-basis:140px}}

/* Supplied square Cardinal logo */
.nav .brand-lockup{width:116px;flex:0 0 116px;padding:7px 0}.nav{min-height:130px}footer .brand-lockup{width:190px}.brand-lockup img{aspect-ratio:1;object-fit:contain}
@media(max-width:780px){.nav .brand-lockup{width:88px;flex-basis:88px}.nav{min-height:102px}}
