:root {
  --navy: #102b33;
  --white: #fff;
  --accent: #F26B1D;
  --accent-hover: #ED6618;
  --accent-text: #A83E06;
  --accent-text-hover: #873005;
  --accent-light: #FFF0E5;
  --ink: #102b33;
  --muted: #5b6068;
  --light: #f4f5f7;
  --line: #dcdfe3;
  --on-dark-muted: #ced2d8;
  --photo: #eceef1;
  --input-border: #a3a9b2;
  --heading: 'Manrope', sans-serif;
  --body: 'DM Sans', sans-serif;
  --radius: 6px;
}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font:1rem/1.65 var(--body);background:var(--white)}a{color:var(--accent-text)}a:hover{color:var(--accent-text-hover)}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{touch-action:manipulation}a,button,input,textarea,select,summary{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent-text)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);line-height:1.13}h1{font-size:clamp(3.6rem,6.5vw,6.3rem);font-weight:600;letter-spacing:-.065em}h1 em{font-style:normal;color:var(--accent)}h2{font-size:clamp(2rem,3.5vw,3.25rem);letter-spacing:-.045em;font-weight:600}h3{font-size:1.28rem;letter-spacing:-.025em}p+p{margin-top:1rem}.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.announcement{background:var(--navy);color:white;text-align:center;padding:9px 20px;font-size:.875rem}.announcement span{color:var(--on-dark-muted);margin-left:10px}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--heading);font-weight:800;font-size:.9rem;line-height:1.3;letter-spacing:.025em}.brand svg{width:40px;height:40px;stroke:var(--accent);fill:none;stroke-width:2.3}.brand small{display:block;letter-spacing:.3em;font-size:.7rem;margin-top:3px}nav{display:flex;gap:23px;font-size:.875rem;font-weight:500}nav a{text-decoration:none}nav a:hover,.text-link:hover{color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--accent);color:var(--navy);border:1px solid var(--accent);border-radius:var(--radius);padding:15px 23px;font-size:.93rem;font-weight:700;text-decoration:none;cursor:pointer;transition:background .2s}.button:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--navy)}.button:disabled{opacity:.65;cursor:wait}.header-cta{padding:12px 17px;font-size:.84rem;gap:15px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-block:76px 80px;align-items:center}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em;color:var(--accent-text);margin-bottom:23px;display:flex;align-items:center;gap:11px}.short-line{width:28px;height:2px;background:var(--accent)}.lead{font-size:1.13rem;line-height:1.75;color:var(--muted);max-width:470px;margin-top:27px}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:31px}.text-link{font-size:.9rem;font-weight:700;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:5px;display:inline-flex;gap:15px}.hero-note{color:var(--muted);font-size:.8rem;margin-top:26px}.hero-visual{position:relative;padding:0 0 28px 15px}.photo{background:repeating-linear-gradient(0deg,transparent,transparent 43px,rgba(16,43,51,.035) 44px),var(--photo);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);position:relative;text-align:center;min-height:240px;overflow:hidden}.hero-photo{min-height:470px;border-radius:120px 6px 6px 6px}.photo-label{font-size:.8rem;letter-spacing:.1em;font-weight:700;padding:20px}.photo-label small{display:block;letter-spacing:0;font-weight:400;line-height:1.7;margin-top:12px;font-size:.875rem}.photo-corner,.photo-index{position:absolute;font-size:.65rem;letter-spacing:.14em}.photo-corner{top:28px;right:25px}.photo-index{bottom:28px;left:28px}.visual-note{position:absolute;left:-12px;right:38px;bottom:0;background:white;padding:22px 25px;box-shadow:0 12px 30px #102b3310;border:1px solid var(--line);border-radius:5px;display:flex;gap:17px;align-items:center}.visual-note strong{font-size:.93rem}.visual-note span:not(.check){display:block;font-size:.8rem;color:var(--muted)}.check{border-radius:50%;background:var(--accent-light);color:var(--accent-text);width:38px;height:38px;display:grid;place-items:center}.promise-strip{background:var(--light);border-block:1px solid var(--line)}.promise-strip .wrap{display:flex;justify-content:space-between;gap:16px;padding-block:21px;font-size:.85rem;font-weight:500}.promise-strip span:before{content:'✓';color:var(--accent-text);margin-right:12px}.section{padding-block:90px}.section-head{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:38px}.section-head>p{max-width:360px;color:var(--muted)}.section .eyebrow{margin-bottom:15px}.soft{background:var(--light)}.section-intro{max-width:610px;color:var(--muted);margin-top:20px}.skip{position:fixed;top:-100px;left:15px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.menu-toggle{background:var(--accent);border:1px solid var(--accent);padding:8px 12px;border-radius:4px;color:var(--ink)}[hidden]{display:none!important}
@media(max-width:1100px){nav{gap:14px}.header-cta{display:none}.hero{gap:30px}.hero-photo{min-height:425px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.announcement{font-size:.75rem}.announcement span{display:block;margin:0}.header-inner{min-height:76px;flex-wrap:wrap;gap:12px;padding-block:12px}nav{width:100%;flex-wrap:wrap;padding-bottom:8px;gap:12px 23px}.js nav{display:none}.js nav.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-block:45px;gap:36px}.hero-copy{max-width:530px}.hero h1{font-size:clamp(3.5rem,12vw,5rem)}.hero-photo{min-height:340px;border-top-left-radius:85px}.hero-visual{padding-left:8px}.visual-note{left:0;right:16px;padding:17px}.promise-strip .wrap{display:grid;grid-template-columns:1fr 1fr;font-size:.75rem;gap:12px}.section{padding-block:62px}.section-head{display:block}.section-head>p{margin-top:20px}.actions{gap:20px}.lead{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}figure{margin:0}.photo-pair .photo{min-height:300px;border-radius:var(--radius)}.photo.after{background-color:var(--accent-light)}figcaption{display:flex;align-items:center;gap:18px;margin-top:16px;font-size:.85rem;color:var(--muted)}figcaption span{font-size:.7rem;font-weight:700;letter-spacing:.08em;color:var(--accent)}.caption{font-size:.75rem;color:var(--muted);margin-top:18px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{padding:30px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.service h3{margin-bottom:16px}.service p{color:var(--muted);font-size:.94rem}.service.featured{grid-row:span 2;background:var(--navy);color:white;display:flex;flex-direction:column;justify-content:center;padding:36px}.featured h3{font-size:2rem}.featured p{color:var(--on-dark-muted)}.featured a{margin-top:34px;color:var(--accent);align-self:start}.scope-note{font-size:.85rem;color:var(--muted);margin-top:24px;max-width:950px}.steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.steps li{border-top:1px solid var(--line);padding-top:23px}.steps h3{margin:0 0 13px;font-size:1.12rem}.steps p{font-size:.9rem;color:var(--muted)}.why{background:var(--navy);color:white}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.why .eyebrow{color:var(--accent)}.why .section-intro{color:var(--on-dark-muted);max-width:400px}.reasons article{display:flex;gap:24px;padding:22px 0;border-bottom:1px solid #ffffff25}.reasons article:first-child{padding-top:0}.reasons h3{font-size:1.06rem}.reasons p{color:var(--on-dark-muted);font-size:.9rem;margin-top:10px}.offer{display:flex;justify-content:space-between;align-items:center;gap:35px;border-block:1px solid var(--line);margin-block:65px;padding-block:40px}.offer h2{font-size:2rem}.offer p:not(.eyebrow){margin-top:16px;color:var(--muted)}.offer-placeholder{font-size:.8rem;letter-spacing:.06em}.offer .button{flex-shrink:0}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.area-lists{display:grid;grid-template-columns:1fr 1fr;gap:30px}.area-lists h3{font-size:1rem;margin:8px 0 22px}.area-lists ul{padding:0;list-style:none}.area-lists li{padding:11px 0;border-bottom:1px solid var(--line);font-size:.92rem}.area-ask{font-size:.92rem;margin-top:23px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.about-grid p:not(.eyebrow){color:var(--muted);font-size:.96rem}.about-link{margin-top:26px}.coming{background:var(--accent-light);padding-block:54px}.coming-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.coming h2{font-size:2rem}.coming p{margin-top:16px;font-size:.9rem}.coming-grid>div>p:last-child{max-width:485px}.signup-row{display:flex;gap:10px}.signup-row input{min-width:0}.signup-row .button{flex-shrink:0}.consent{display:flex;gap:10px;align-items:start;font-size:.8rem!important;font-weight:400!important;margin-top:15px!important}.consent input{width:17px;flex-shrink:0;margin-top:4px}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list details:first-child{padding-top:0}summary{cursor:pointer;font-weight:600;list-style:none;position:relative;padding-right:30px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:3px;color:var(--accent-text);font-size:1.3rem;font-weight:400;top:-3px}details[open]>summary:after{content:'−'}.faq-list details p{padding:15px 30px 0 0;font-size:.92rem;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.contact-grid>div>p{max-width:390px}.contact-links{display:flex;flex-direction:column;gap:10px;margin-block:32px;font-weight:600}.contact-links a{overflow-wrap:anywhere;text-decoration:none}.estimate-form{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}label,legend{display:block;font-size:.84rem;font-weight:600;margin-bottom:7px}label span{font-size:.75rem;color:var(--muted);font-weight:400}input,textarea,select{width:100%;padding:11px 12px;border:1px solid var(--input-border);border-radius:4px;background:white;color:var(--ink);min-height:46px}textarea{resize:vertical}input[type=checkbox],input[type=radio]{width:17px;height:17px;min-height:0;accent-color:var(--accent)}fieldset{border:0;margin:23px 0;padding:0}.radio-row{display:flex;gap:20px;flex-wrap:wrap}.radio-row label{display:flex;align-items:center;gap:7px;font-weight:400;margin:0}.small{font-size:.78rem;color:var(--muted);line-height:1.65}.upload{padding:18px 0}.upload input{font-size:.8rem;padding:8px;border-style:dashed}.upload .small{margin-top:8px}.submit{width:100%;margin-top:20px}.form-status{font-size:.9rem;margin-top:15px;color:var(--accent-text)}.form-status:empty{display:none}.form-status.error{color:#9b2020}.honeypot{display:none}.privacy{padding-block:27px;font-size:.85rem}.privacy summary{max-width:200px}.privacy details>div{padding-block:20px;max-width:900px}.footer{background:var(--navy);color:white;padding:48px 0 22px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}.footer .brand svg{stroke:var(--accent)}.footer p{color:var(--on-dark-muted);font-size:.8rem;margin-top:16px}.footer-top>div:nth-child(2) a{display:block;text-decoration:none;font-size:.86rem;margin-bottom:10px;overflow-wrap:anywhere}.socials{display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:.65rem;color:var(--on-dark-muted);overflow-wrap:anywhere;align-content:start}.footer-bottom{display:flex;gap:28px;align-items:center;border-top:1px solid #ffffff25;margin-top:35px;padding-top:20px;font-size:.75rem;color:var(--on-dark-muted)}.footer-bottom p{margin:0;flex:1}.mobile-bar{display:none}
@media(min-width:761px){.menu-toggle{display:none!important}}
@media(max-width:1000px){.services-grid{grid-template-columns:1fr 1fr}.service.featured{grid-row:auto;grid-column:span 2}.steps{gap:20px}.why-grid,.about-grid,.contact-grid,.faq-grid,.coming-grid,.area-grid{gap:35px}.signup-row{flex-direction:column}.contact-grid{grid-template-columns:.8fr 1.2fr}.estimate-form{padding:23px}}
@media(max-width:760px){body{padding-bottom:76px}.photo-pair,.why-grid,.about-grid,.contact-grid,.faq-grid,.coming-grid,.area-grid{grid-template-columns:1fr}.photo-pair .photo{min-height:230px}.services-grid{grid-template-columns:1fr}.service.featured{grid-column:auto;padding:30px}.steps{grid-template-columns:1fr 1fr;gap:28px}.offer{display:block;margin-block:35px;padding-block:30px}.offer .button{margin-top:25px}.area-lists{gap:24px}.coming-grid{gap:30px}.coming{padding-block:40px}.signup-row{flex-direction:row}.signup-row .button{padding-inline:15px;gap:0}.faq-grid{gap:35px}.footer-top{grid-template-columns:1fr;gap:28px}.socials{max-width:340px}.footer-bottom{flex-wrap:wrap;gap:16px}.footer-bottom p{flex-basis:100%}.mobile-bar{display:flex;position:fixed;z-index:30;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);padding:12px 16px max(12px,env(safe-area-inset-bottom));gap:10px;align-items:center;justify-content:space-between}.mobile-bar>a:first-child{font-size:.85rem;font-weight:600;padding:10px 0}.mobile-bar .button{padding:11px 15px;font-size:.82rem}.form-grid{gap:17px 12px}.estimate-form{padding:22px 18px}.radio-row{gap:12px}figcaption{gap:12px;font-size:.77rem}.photo-index,.photo-corner{font-size:.6rem}}
@media(max-width:390px){.wrap{width:calc(100% - 32px)}.form-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.signup-row{flex-direction:column}.area-lists{grid-template-columns:1fr}.hero-note{font-size:.75rem}.actions{gap:20px}.button{padding:13px 17px}}
/* Keep the estimate action visible on tablets as well as phones and desktops. */
@media(min-width:761px) and (max-width:1100px){.header-inner{flex-wrap:wrap;gap:14px;padding-block:14px}.header-cta{display:inline-flex;margin-left:auto}nav{order:3;justify-content:center;width:100%;padding-bottom:2px}.header-inner{min-height:110px}html{scroll-padding-top:140px}}
.service p,.steps p,.reasons p,.about-grid p:not(.eyebrow),.faq-list details p{font-size:1rem}

label,legend{font-size:.875rem}.consent{font-size:.875rem!important}

/* Orange on light backgrounds uses a deeper shade for readable small text.
   Navy on the safety-orange buttons meets WCAG AA in normal and hover states. */
.brand { color: var(--navy); }
.brand:hover { color: var(--accent-text); }
.button:disabled { opacity: 1; cursor: wait; }
.menu-toggle:hover { background: var(--accent-hover); }
.footer a, .featured a { color: var(--accent); }
.footer a:hover, .featured a:hover { color: var(--accent-light); }
.footer .brand, .footer .brand:hover { color: var(--white); }
.footer :focus-visible, .featured :focus-visible { outline-color: var(--accent); }
::selection { background: var(--accent); color: var(--navy); }

.about-photo{min-height:390px;border-radius:var(--radius)}
@media(max-width:760px){.about-photo{min-height:280px}}

/* Keep the supplied hero photo within the existing responsive shape. */
img.hero-photo{display:block;width:100%;height:470px;object-fit:cover;object-position:center 60%}
@media(max-width:1100px){img.hero-photo{height:425px}}
@media(max-width:760px){img.hero-photo{height:340px}}
