@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/barlow-condensed-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/barlow-condensed-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/barlow-condensed-800.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/dm-sans-400-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--navy:#103c68;--ink:#153449;--yellow:#ffdc47;--paper:#fcfaf3;--muted:#536777;--line:#d9e0e4;--font:'DM Sans',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}p,h1,h2,h3,figure,blockquote{margin:0}p+p{margin-top:16px}.wrap{max-width:1240px;width:calc(100% - 96px);margin:auto}.topbar{background:var(--navy);color:white;font-size:11px;letter-spacing:.05em;padding:9px 0}.topbar .wrap{display:flex;justify-content:space-between}.topbar .wrap span:last-child{font-weight:700;letter-spacing:.14em}.header{background:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #e9edf0}.nav-wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:96px}.brand{display:flex;gap:12px;align-items:center;line-height:1.05;flex-shrink:0}.brand strong{font-family:var(--display);font-weight:800;font-size:27px;letter-spacing:.01em;color:var(--navy)}.brand small{display:block;font-size:10px;letter-spacing:.21em;font-weight:700;margin-top:5px}.brand-mark{display:block;position:relative;background:var(--yellow);color:var(--navy);border:2px solid var(--navy);border-radius:8px 8px 20px 20px;font-family:var(--display);font-weight:800;line-height:45px;text-align:center;width:42px;height:47px;font-size:35px;transform:rotate(-6deg)}.brand-mark span{position:absolute;right:-9px;top:-10px;font-size:19px;line-height:1}.header nav{display:flex;gap:30px;font-size:13px;font-weight:600}.header nav a:hover,.text-link:hover{color:#86620d}.nav-phone{padding:11px 17px;border:1px solid var(--line);border-radius:4px;font-size:13px;font-weight:700;white-space:nowrap}.nav-phone span{margin-right:8px}.menu-toggle{display:none}.hero{background:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:68px;align-items:center;padding-top:65px;padding-bottom:65px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--navy);line-height:1.5}.dot{width:7px;height:7px;background:var(--navy);display:inline-block;border-radius:50%;margin-right:8px;vertical-align:middle}h1,h2,h3{color:var(--navy)}h1,h2{font-family:var(--display);font-weight:700;line-height:.98;letter-spacing:-.025em}h1{font-size:clamp(72px,7.8vw,112px);margin:27px 0 27px}h1>span{position:relative;z-index:0;white-space:nowrap}h1>span::after{content:'';position:absolute;bottom:5px;left:-3px;right:-8px;height:24px;background:var(--yellow);z-index:-1;transform:rotate(-2deg)}.hero-description{font-size:16px;max-width:430px;color:var(--muted);line-height:1.85}.actions{display:flex;align-items:center;gap:27px;margin-top:30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;padding:17px 22px;border:0;border-radius:4px;font-weight:700;font-size:13px;line-height:1.4;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px)}.primary{background:var(--navy);color:white}.primary:hover{background:#20557f}.button span{font-size:22px;font-weight:400;line-height:1}.text-link{font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:16px}.text-link span{font-size:20px}.hero-detail{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-top:26px}.check{color:var(--navy);font-weight:700}.divider{height:12px;width:1px;background:#bdc7ca;margin:0 4px}.hero-visual{position:relative;margin:8px 13px 8px 0}.hero-visual::before{content:'';background:var(--yellow);position:absolute;inset:20px -16px -15px 16px;border-radius:130px 9px 9px 9px;transform:rotate(2deg)}.photo-frame{position:relative;border-radius:130px 9px 9px 9px;overflow:hidden;height:475px;background:var(--navy)}.photo-frame>img{width:100%;height:100%;object-fit:cover;object-position:center top}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:20px 23px;background:linear-gradient(transparent,rgba(0,27,49,.9));color:white;font-size:10px;font-weight:700;letter-spacing:.14em}.photo-caption .dot{background:var(--yellow)}.since-badge{position:absolute;right:-35px;top:27px;width:126px;height:126px;background:var(--yellow);border-radius:50%;border:5px solid var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(9deg);color:var(--navy)}.since-badge span{font-size:7px;letter-spacing:.09em;font-weight:700}.since-badge strong{font-family:var(--display);font-size:45px;line-height:1.3}.hero-spark{position:absolute;left:-30px;bottom:32px;color:var(--yellow);font-size:70px;line-height:1;text-shadow:2px 2px 0 var(--navy)}.hero-bottom{border-top:1px solid #d8dbd7;padding:24px 0;display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;letter-spacing:.14em}.hero-bottom span:nth-child(even){color:#a3770f;font-size:16px}.section{padding-top:95px;padding-bottom:95px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:38px}h2{font-size:61px;margin-top:19px}.section-heading>p,.results-intro{max-width:370px;color:var(--muted);font-size:14px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{position:relative;padding:27px 25px 26px 0}.service+.service{border-left:1px solid var(--line);padding-left:25px}.service-icon{font-size:37px;line-height:1;display:block;width:50px;height:53px;color:var(--navy)}.roof-icon{font-size:43px}.service-number{position:absolute;right:24px;top:31px;font-size:10px;color:#82909b;letter-spacing:.1em}.service h3{font-family:var(--display);font-size:27px;line-height:1.2;margin:20px 0 13px}.service p{font-size:12px;color:var(--muted);line-height:1.9;min-height:90px}.service a{margin-top:22px;display:flex;justify-content:space-between;font-size:10px;font-weight:700;gap:8px;align-items:center}.service a:hover{text-decoration:underline}.service a span{font-size:20px}.commercial-note{background:var(--paper);padding:22px 26px;display:flex;align-items:center;gap:22px;font-size:12px;margin-top:27px}.commercial-note>span{font-size:24px;color:#9c751a}.commercial-note p{flex:1}.commercial-note a{font-weight:700;white-space:nowrap}.commercial-note a span{margin-left:12px}.results-section{background:var(--navy);color:white;padding:82px 0 32px}.results-section h2,.results-section .eyebrow{color:white}.results-intro{color:#c7d6df}.project-tabs{display:flex;gap:7px;margin-top:20px}.project-tabs button{border:1px solid #66829d;border-radius:4px;color:white;background:transparent;padding:8px 20px;font-size:11px;font-weight:600}.project-tabs .active{background:var(--yellow);color:var(--navy);border-color:var(--yellow)}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px}.comparison figure{min-width:0}.comparison img{width:100%;height:330px;object-fit:cover;background:#244f75;border-radius:4px}.comparison figcaption{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid #496783;gap:15px;font-size:11px;color:#c7d6df}.comparison figcaption span:first-child{font-weight:700;letter-spacing:.14em;color:white}.comparison figure:last-child figcaption span:first-child{color:var(--yellow)}.results-footer{display:flex;justify-content:space-between;align-items:center;padding-top:25px;font-size:13px}.results-footer .text-link{color:var(--yellow)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-image{position:relative;padding-bottom:67px}.about-image>img{width:100%;height:310px;object-fit:cover;border-radius:5px}.about-image-note{position:absolute;right:-22px;bottom:12px;display:flex;gap:17px;align-items:center;background:var(--yellow);padding:25px 29px;box-shadow:6px 6px 0 var(--navy);font-weight:700;font-size:14px;line-height:1.5;color:var(--navy)}.about-image-note>span:first-child{font-size:35px}.about-copy h2{margin-bottom:26px}.about-copy h2 span{color:#aa451f}.about-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.95}.about-copy>.text-link{margin-top:25px}.review-section{background:var(--paper);padding:65px 0}.review-grid{display:grid;grid-template-columns:1fr 2fr;gap:70px}.quote-mark{font-family:Georgia,serif;color:#c39419;font-size:125px;line-height:1;display:block;margin-top:18px}.review-grid blockquote>p{font-family:var(--display);font-size:34px;font-weight:600;line-height:1.2;color:var(--navy)}.review-grid blockquote footer{margin-top:22px;font-size:11px}.review-grid blockquote footer span{display:block;color:var(--muted);margin-top:4px}.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px}.contact-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:345px;margin:25px 0}.contact-phone{font-family:var(--display);font-size:37px;font-weight:600;color:var(--navy);line-height:1.2;display:block}.contact-phone span{font-size:30px;margin-left:12px}.contact-email{display:inline-block;font-size:13px;margin-top:12px;border-bottom:1px solid var(--line)}.area{border-top:1px solid var(--line);padding-top:23px;margin-top:33px;font-size:12px;max-width:390px}.area p{margin-top:10px;line-height:1.9;color:var(--muted)}.area small{display:block;font-size:10px;margin-top:12px}.quote-form{padding:32px;background:var(--paper);border-radius:5px;border:1px solid #e5e7e0}.quote-form h3{font-family:var(--display);font-size:28px;line-height:1.1}.form-intro{font-size:12px;color:var(--muted);margin-top:8px;margin-bottom:22px}.quote-form label{display:block;min-width:0;font-size:10px;font-weight:700;margin-bottom:16px}.quote-form input,.quote-form select,.quote-form textarea{display:block;border:1px solid #cbd3d7;border-radius:3px;padding:11px 12px;margin-top:7px;width:100%;background:white;color:var(--ink);font-size:11px;font-weight:400;min-height:43px}.quote-form textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-form .button{width:100%;margin-top:2px}.form-note{display:block;font-size:10px;color:var(--muted);margin-top:12px;line-height:1.7}.form-status{background:white;border-left:3px solid var(--navy);padding:12px;margin-top:16px;font-size:12px}.form-status a{text-decoration:underline}.footer{background:var(--navy);color:white;padding:42px 0 20px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer .brand strong{color:white}.footer .brand small{color:#c7d6df}.footer-top>p{font-family:var(--display);font-size:26px;line-height:1.25}.yellow{background:var(--yellow);color:var(--navy);min-width:156px}.footer-bottom{border-top:1px solid #496783;margin-top:37px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#c7d6df}.skip-link{position:fixed;top:-90px;left:15px;background:var(--yellow);color:var(--navy);padding:12px;z-index:100}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #c09316;outline-offset:4px}
@media(min-width:1440px){.hero-grid{padding-top:85px;padding-bottom:85px}.photo-frame{height:525px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header nav{gap:18px}.nav-phone{display:none}.hero-grid{gap:38px}h1{font-size:85px}.photo-frame{height:435px}.actions{gap:17px}.hero-detail{font-size:10px}.service{padding-right:16px}.service+.service{padding-left:16px}.service h3{font-size:25px}.service p{min-height:113px}.about-grid,.contact-grid{gap:55px}h2{font-size:55px}.section-heading{gap:35px}.contact-phone{font-size:31px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}html{scroll-padding-top:83px}.topbar .wrap>span:first-child{display:none}.topbar .wrap{justify-content:center}.nav-wrap{min-height:78px;gap:14px}.brand strong{font-size:23px}.brand small{font-size:8px}.brand-mark{height:42px;width:37px;line-height:39px;font-size:31px}.menu-toggle{display:flex;gap:13px;background:transparent;border:1px solid var(--line);border-radius:3px;padding:9px 12px;font-size:11px;font-weight:700;color:var(--navy)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px;box-shadow:0 8px 12px #103c6810;border-top:1px solid var(--line)}.header nav.open{display:flex;flex-direction:column;gap:0}.header nav a{padding:10px}.hero-grid{grid-template-columns:1fr;gap:36px;padding-top:40px;padding-bottom:39px}h1{font-size:clamp(67px,14vw,100px);margin:22px 0}.hero-description{font-size:14px;max-width:480px}.eyebrow{font-size:9px}.actions{gap:22px;margin-top:24px}.button{padding:15px 19px;font-size:12px}.text-link{font-size:11px;gap:10px}.hero-detail{margin-top:20px}.hero-visual{margin:0 12px 0 0}.photo-frame{height:380px;border-top-left-radius:90px}.photo-frame>img{object-position:center top}.hero-visual::before{border-top-left-radius:90px}.since-badge{width:105px;height:105px;right:-15px;top:18px}.since-badge strong{font-size:39px}.since-badge span{font-size:6px}.hero-spark{left:-10px;bottom:25px;font-size:55px}.hero-bottom{font-size:8px;letter-spacing:.03em;padding:20px 0;gap:7px}.hero-bottom span:nth-child(even){font-size:9px}.section{padding-top:58px;padding-bottom:58px}.section-heading{display:block;margin-bottom:28px}h2{font-size:49px;margin-top:14px}.section-heading>p,.results-intro{max-width:none;margin-top:22px;font-size:13px}.services-grid{grid-template-columns:1fr 1fr}.service,.service+.service{padding:22px 18px 20px 0;border-left:0}.service:nth-child(even){border-left:1px solid var(--line);padding-left:18px;padding-right:0}.service:nth-child(n+3){border-top:1px solid var(--line)}.service-icon{font-size:31px;height:38px}.service-number{right:17px;top:25px;font-size:9px}.service h3{font-size:25px;min-height:60px;margin-top:18px;margin-bottom:5px}.service p{font-size:11px;min-height:95px}.service a{font-size:9px;margin-top:14px}.commercial-note{align-items:flex-start;gap:13px;padding:18px;font-size:11px;flex-wrap:wrap}.commercial-note p{flex-basis:calc(100% - 40px)}.commercial-note a{margin-left:35px}.results-section{padding:55px 0 27px}.comparison{gap:12px}.comparison img{height:230px}.comparison figcaption{display:block;font-size:9px;padding:12px 0}.comparison figcaption>span{display:block}.comparison figcaption>span+span{margin-top:5px;font-size:8px}.results-footer{gap:20px;font-size:11px}.results-footer p{max-width:170px}.about-grid{grid-template-columns:1fr;gap:33px}.about-image{padding-bottom:55px}.about-image>img{height:250px}.about-image-note{right:8px;bottom:8px;padding:18px 23px;font-size:12px}.about-copy h2{margin-bottom:22px}.review-section{padding:40px 0}.review-grid{grid-template-columns:1fr;gap:7px}.quote-mark{font-size:75px;height:55px;margin-top:10px}.review-grid blockquote>p{font-size:29px}.contact-grid{grid-template-columns:1fr;gap:32px}.contact-copy>p:not(.eyebrow){max-width:none;margin-top:22px}.contact-phone{font-size:36px}.area{max-width:none;margin-top:25px}.quote-form{padding:23px 19px}.field-row{gap:10px}.footer{padding-top:32px}.footer-top{flex-wrap:wrap;gap:25px}.footer-top>p{font-size:24px}.footer-top>.button{width:100%}.footer-bottom{flex-direction:column;gap:8px;margin-top:28px}}
@media(max-width:370px){.actions{gap:13px}.hero-detail{font-size:9px}.hero-bottom{font-size:7px}.field-row{grid-template-columns:1fr}.service h3{font-size:22px}.service p{min-height:115px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

.hero-rating{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;margin-top:18px}.stars{color:#986309;letter-spacing:2px;font-size:18px}.hero-rating strong{color:var(--navy)}.mascot-visual::before{display:none}.mascot-stage{position:relative;isolation:isolate;height:500px;display:flex;align-items:center;justify-content:center}.mascot-stage::before{content:'';position:absolute;z-index:-1;inset:45px -4px 30px;background:var(--yellow);border-radius:50% 50% 38% 38%;transform:rotate(-7deg)}.hero-mascot{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 10px 0 #103c6812)}.mascot-caption{position:absolute;bottom:-12px;left:20px;right:20px;font-size:9px;font-weight:700;letter-spacing:.12em;text-align:center}.mascot-visual .since-badge{right:-12px;top:3px;width:112px;height:112px}.mascot-visual .hero-spark{left:2px;bottom:53px}.service-directory{margin-top:30px;padding:25px;border:1px solid var(--line);border-radius:4px}.service-directory h3{font-family:var(--display);font-size:26px}.service-directory ul{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 28px;list-style:none;margin:18px 0;padding:0}.service-directory li{font-size:12px;line-height:1.7}.service-directory li::before{content:'✓';color:var(--navy);margin-right:8px;font-weight:700}.service-directory p{font-size:14px;color:var(--muted);margin:20px 0;line-height:1.8}.project-tabs{flex-wrap:wrap}.project-tabs button{min-height:44px;font-size:10px;padding:8px 12px}.results-intro{max-width:450px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.photo-grid figure{min-width:0}.photo-link{display:block;overflow:hidden;border-radius:4px}.photo-grid img{width:100%;height:250px;object-fit:cover;transition:transform .2s}.photo-link:hover img{transform:scale(1.03)}.photo-grid figcaption{padding-top:11px;font-size:11px;color:var(--muted)}.gallery-more{margin-top:25px;min-height:44px}.david-bio>img{height:440px;object-position:center top}.david-bio{padding-bottom:50px}.google-facts{font-size:12px;display:flex;align-items:flex-end;flex-direction:column;gap:7px}.google-facts>div{display:flex;align-items:center;gap:12px}.google-facts strong{color:var(--navy);font-size:20px}.google-facts small{color:var(--muted);font-size:9px}.feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.feedback-card{background:white;padding:26px;border:1px solid #e1e5e5;border-radius:5px;display:flex;flex-direction:column}.feedback-card p{font-size:15px;line-height:1.8;flex:1}.feedback-card h3{font-family:var(--font);font-size:12px;margin:22px 0 2px;line-height:1.5}.feedback-card small{font-size:10px;color:var(--muted)}.original-feedback{border-top:1px solid #d8dbd7;margin-top:37px;padding-top:32px}.original-feedback>h3{font-family:var(--display);font-size:28px;margin-bottom:20px}.original-feedback .feedback-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.original-feedback .feedback-card p{font-size:12px}.review-links{display:flex;gap:28px;flex-wrap:wrap;margin-top:24px}.review-links a{min-height:44px}.business-hours{margin-top:30px;border-top:1px solid var(--line);padding-top:22px}.business-hours h3{font-size:15px}.business-hours dl{max-width:390px;font-size:12px}.business-hours dl div{display:flex;justify-content:space-between;gap:15px;padding:5px 0}.business-hours dd{margin:0}.business-hours p{font-size:11px;color:var(--muted)}.business-hours small{display:block;font-size:10px;color:var(--muted);margin-top:8px}.inline-link{text-decoration:underline}.contact-maps{margin-top:18px}.contact-maps a{min-height:44px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:30px;font-size:11px}.footer-links a{min-height:44px;display:flex;align-items:center;color:#d5e2eb}.footer-links a:hover{color:var(--yellow)}.page-intro{background:var(--paper);padding:55px 0}.page-intro h1{font-size:76px;margin:23px 0}.page-intro p:not(.eyebrow){max-width:610px;font-size:14px;line-height:1.8;color:var(--muted)}.page-intro .button{margin-top:25px}.service-feature{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;border-top:1px solid var(--line)}.service-feature>img{height:400px;max-width:100%;width:100%;object-fit:cover;border-radius:5px}.service-feature p:not(.eyebrow){margin:25px 0;font-size:14px;color:var(--muted);line-height:1.9}.gallery-group h2{margin-bottom:30px}.gallery-group+.gallery-group{padding-top:20px}.recommendation-card{display:flex;gap:25px;align-items:center;background:var(--paper);border:1px solid var(--line);padding:32px;border-radius:5px}.recommendation-card>span{font-size:40px;color:#aa7b11}.recommendation-card>div{flex:1}.recommendation-card h3{font-family:var(--display);font-size:29px;line-height:1.1}.recommendation-card p{font-size:12px;color:var(--muted);margin-top:12px}.recommendation-card .button{max-width:260px;flex-shrink:0}.feedback-intro{font-size:13px;color:var(--muted);margin:20px 0 28px}.history-section{border-top:1px solid var(--line)}.history-section .photo-grid img{object-fit:contain;background:var(--paper)}.release{max-width:850px;margin-top:45px}.release h2{font-size:35px;margin-bottom:20px}.release li{margin-bottom:10px}.mobile-call{display:none}.quote-form input,.quote-form select,.quote-form textarea{font-size:14px}.menu-toggle,.nav-phone{min-height:44px}#services,#results,#photos,#about,#reviews,#contact{scroll-margin-top:105px}
@media(max-width:1100px){.photo-grid img{height:200px}.mascot-stage{height:450px}.original-feedback .feedback-grid{grid-template-columns:1fr}.recommendation-card{flex-wrap:wrap}.recommendation-card .button{margin-left:65px}}
@media(max-width:760px){body{padding-bottom:68px}.hero-grid{gap:36px}.mascot-stage{height:360px;max-width:450px;margin:auto}.mascot-stage::before{inset:30px 5px 18px}.mascot-visual .since-badge{width:92px;height:92px;right:0;top:0}.mascot-visual .since-badge strong{font-size:34px}.mascot-caption{font-size:7px;bottom:-9px;left:12px;right:12px}.hero-rating{font-size:10px;gap:8px}.hero-rating .stars{font-size:15px}.service-directory{padding:19px}.service-directory ul{grid-template-columns:1fr 1fr;gap:10px 14px}.service-directory li{font-size:11px}.service-directory h3{font-size:24px}.photo-grid{grid-template-columns:1fr 1fr;gap:20px 14px}.photo-grid img{height:180px}.photo-grid figcaption{font-size:10px;line-height:1.6}.photo-link{min-height:44px}.google-facts{align-items:flex-start;margin-top:22px}.google-facts .stars{font-size:16px}.google-facts strong{font-size:18px}.feedback-grid,.original-feedback .feedback-grid{grid-template-columns:1fr}.feedback-card{padding:22px}.feedback-card p{font-size:14px}.david-bio>img{height:420px}.contact-phone{display:inline-flex;align-items:center;min-height:44px}.contact-email{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.business-hours dl{max-width:none}.business-hours small{line-height:1.8}.page-intro{padding:38px 0}.page-intro h1{font-size:56px;line-height:1.03}.page-intro p:not(.eyebrow){font-size:13px}.service-feature{grid-template-columns:1fr;gap:30px}.service-feature>img{height:320px;object-position:top}.recommendation-card{padding:22px;gap:15px}.recommendation-card>span{font-size:30px}.recommendation-card>div{flex-basis:calc(100% - 50px)}.recommendation-card .button{margin-left:0;max-width:none;width:100%}.feedback-intro{font-size:12px}.footer-links{gap:4px 22px;display:grid;grid-template-columns:1fr 1fr}.footer-links a{font-size:10px}.mobile-call{position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--yellow);border-top:2px solid var(--navy);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 20px max(13px,env(safe-area-inset-bottom));color:var(--navy);font-size:11px;box-shadow:0 -3px 10px #103c6810;min-height:58px}.mobile-call strong{font-size:15px}.mobile-call>span{font-size:22px}.quote-form input,.quote-form select,.quote-form textarea{font-size:16px;min-height:48px}.service a{min-height:44px}.gallery-group+.gallery-group{padding-top:5px}.release h2{font-size:29px}#services,#results,#photos,#about,#reviews,#contact{scroll-margin-top:86px}}
@media(max-width:370px){.mascot-stage{height:320px}.mascot-caption{font-size:6px}.photo-grid{grid-template-columns:1fr}.photo-grid img{height:auto;max-height:370px;object-fit:contain;background:var(--paper)}.service-directory ul{grid-template-columns:1fr}.page-intro h1{font-size:48px}.hero-rating{font-size:9px}.google-facts>div{flex-wrap:wrap}.david-bio>img{height:390px}}
@media(prefers-reduced-motion:reduce){.photo-grid img{transition:none}.photo-link:hover img{transform:none}}
.brand-mascot{width:58px;height:70px;object-fit:contain;flex-shrink:0}.header nav{gap:24px}.gallery-group+.gallery-group{margin-top:40px}.gallery-group>h3{font-family:var(--display);font-size:30px;margin-bottom:20px}.photo-link{position:relative;cursor:zoom-in}.photo-grid .photo-link::after,.comparison-link::after{content:'↗';position:absolute;right:12px;bottom:12px;width:34px;height:34px;display:grid;place-items:center;background:var(--yellow);color:var(--navy);border-radius:50%;font-size:20px}.portrait-link>img{height:440px;width:100%;object-fit:cover;object-position:center top}.history-copy{max-width:700px;margin:25px 0 35px;color:var(--muted);font-size:14px;line-height:1.9}.updates-section{padding-top:20px;padding-bottom:40px}.site-updates{border-top:1px solid var(--line);padding-top:20px}.site-updates summary{cursor:pointer;font-size:13px;font-weight:700;min-height:44px}.release h2{line-height:1.1}#gutters,#history,#recommendation,#updates,.gallery-group{scroll-margin-top:110px}.lightbox{border:0;padding:0;color:white;background:transparent;width:min(1100px,96vw);max-width:96vw;max-height:94dvh;overflow:auto}.lightbox::backdrop{background:rgba(3,17,31,.94);backdrop-filter:blur(5px)}.lightbox-shell{padding:10px 16px}.lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px}.lightbox-toolbar p{font-size:12px;color:#c7d6df}.lightbox button{border:1px solid #8294a7;border-radius:5px;background:#103c68;color:white;min-width:48px;min-height:48px}.lightbox button:hover{background:#20557f}.lightbox-close{padding:8px 16px;display:flex;align-items:center;gap:14px;font-size:13px}.lightbox-close span{font-size:28px;line-height:1}.lightbox-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:16px;align-items:center}.lightbox-stage>button{font-size:34px}.lightbox-stage figure{min-width:0;text-align:center}.lightbox-stage img{margin:auto;max-height:70dvh;width:auto;max-width:100%;object-fit:contain;border-radius:4px}.lightbox-stage figcaption{font-size:13px;line-height:1.6;margin-top:15px}.lightbox-hint{text-align:center;font-size:11px;color:#c7d6df;margin-top:14px}body.lightbox-open{overflow:hidden}.lightbox :focus-visible{outline-color:var(--yellow)}
@media(max-width:760px){.brand-mascot{width:46px;height:58px}.brand{gap:8px}.brand strong{font-size:22px}.gallery-group>h3{font-size:27px}.portrait-link>img{height:420px}.lightbox{width:100vw;max-width:100vw;max-height:100dvh}.lightbox-shell{padding:12px}.lightbox-stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:7px}.lightbox button{min-width:44px;min-height:44px}.lightbox-stage img{max-height:65dvh}.lightbox-stage figcaption{font-size:11px}.lightbox-hint{font-size:10px}#gutters,#history,#recommendation,#updates,.gallery-group{scroll-margin-top:86px}}
@media(max-width:370px){h1{font-size:56px}.actions{gap:12px}.actions .button{gap:16px}.hero-detail{flex-wrap:wrap}}
.hero-call{font-size:11px;font-weight:700;line-height:1.5;white-space:nowrap;color:var(--navy);padding:8px 0}.hero-call span{display:block;font-size:15px}.hero-grid .actions{gap:22px}.trust-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:28px;padding-bottom:28px;border-bottom:1px solid var(--line)}.trust-strip>div{padding:0 28px;text-align:center}.trust-strip>div+div{border-left:1px solid var(--line)}.trust-strip strong{display:block;color:var(--navy);font-family:var(--display);font-size:29px;line-height:1.3}.trust-strip span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));border:0;gap:20px}.service,.service+.service{border:1px solid var(--line);border-radius:5px;padding:25px;display:flex;flex-direction:column}.service h3{font-size:30px;margin-top:15px}.service p{font-size:13px;min-height:0;flex:1}.service a{min-height:44px;font-size:12px;margin-top:18px}.service-icon{font-size:33px;height:39px}.service-details{margin-top:24px}.service-details>summary,.more-feedback>summary{cursor:pointer;font-size:13px;font-weight:700;padding:14px 0;min-height:48px}.service-details .service-directory{margin-top:8px}.review-section{padding:70px 0}.reviews-intro{font-size:14px;color:var(--muted);max-width:700px;margin:-8px 0 28px}.review-section .feedback-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feedback-card .stars{font-size:14px;margin-bottom:14px}.feedback-label{font-size:9px;font-weight:700;letter-spacing:.12em;color:var(--muted);margin-bottom:14px}.feedback-card p{font-size:15px}.review-source{font-size:10px;font-weight:700;text-decoration:underline;margin-top:10px;min-height:30px;display:inline-flex;align-items:center}.more-feedback{border-top:1px solid var(--line);margin-top:28px;padding-top:6px}.more-feedback .feedback-grid{padding-top:15px}.estimate-banner{background:var(--navy);color:white;padding:48px 0;border-top:1px solid #496783}.estimate-banner>.wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.estimate-banner h2,.estimate-banner .eyebrow{color:white}.estimate-banner h2{font-size:48px;margin-top:12px}.banner-phone{display:block;font-size:12px;margin-top:15px;text-align:center;text-decoration:underline}.recommendation-section{padding-top:0;padding-bottom:65px}.recommendation-card{background:var(--paper)}.process-section{padding:65px 0;background:var(--paper)}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.process-grid article>span{font-family:var(--display);font-size:33px;color:#9c751a}.process-grid h3{font-family:var(--display);font-size:29px;margin:8px 0 12px;line-height:1.2}.process-grid p{font-size:13px;color:var(--muted);line-height:1.85}.faq-list{max-width:950px;margin:0 auto}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{padding:21px 4px;cursor:pointer;font-size:15px;font-weight:700;color:var(--navy)}.faq-list p{padding:0 25px 23px 4px;color:var(--muted);font-size:14px;line-height:1.85}.faq-list a,.faq-section .section-heading a{text-decoration:underline}.contact-grid{border-top:1px solid var(--line)}#process,#faq{scroll-margin-top:110px}.nav-phone{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;padding:8px 15px}.nav-phone span{margin:0;font-size:13px}
@media(max-width:1100px){.header nav{gap:18px}.nav-phone{display:none}.service,.service+.service{padding:21px}.service h3{font-size:27px}.trust-strip>div{padding:0 15px}}
@media(max-width:760px){.trust-strip{padding-top:24px;padding-bottom:24px;grid-template-columns:1fr;gap:20px}.trust-strip>div{padding:0}.trust-strip>div+div{border-left:0}.trust-strip strong{font-size:26px}.trust-strip span{font-size:11px}.services-grid{grid-template-columns:1fr;gap:14px}.service,.service+.service,.service:nth-child(even),.service:nth-child(n+3){padding:23px;border:1px solid var(--line)}.service h3{min-height:0;font-size:30px;margin-top:14px}.service p{min-height:0;font-size:13px}.service a{font-size:12px;margin-top:12px}.review-section{padding:50px 0}.review-section .feedback-grid{grid-template-columns:1fr}.reviews-intro{font-size:13px;margin-top:-5px}.google-facts>div{gap:8px}.estimate-banner{padding:35px 0}.estimate-banner>.wrap{display:block}.estimate-banner h2{font-size:42px}.estimate-banner .button{margin-top:25px;width:100%}.banner-phone{text-align:left;min-height:44px;display:flex;align-items:center;margin-top:10px}.process-section{padding:45px 0}.process-grid{grid-template-columns:1fr;gap:26px}.process-grid h3{font-size:29px}.faq-list summary{font-size:14px;line-height:1.6;padding:18px 3px}.faq-list p{font-size:13px}.recommendation-section{padding-bottom:45px}.hero-call span{font-size:13px}.hero-grid .actions{gap:18px}.mobile-call{font-size:10px}.mobile-call strong{font-size:14px}#process,#faq{scroll-margin-top:86px}.footer-links{grid-template-columns:1fr 1fr}}
@media(max-width:370px){.hero-grid .actions{flex-direction:column;align-items:flex-start;gap:12px}.hero-grid .actions>.button{width:100%}.hero-call{display:flex;gap:10px;align-items:center;min-height:44px}.hero-call span{font-size:15px}.mobile-call{padding-left:12px;padding-right:12px;gap:5px;font-size:9px}.mobile-call strong{font-size:13px}.mobile-call>span{font-size:18px}.hero-bottom{flex-wrap:wrap;justify-content:center;gap:9px}}
.form-trap,.native-confirmation{display:none}.native-confirmation:target{display:block;scroll-margin-top:150px}.quote-form .button:disabled{opacity:.7;cursor:wait;transform:none}.form-status.is-success{border-left-color:#287b43;background:#f1f8f0}.form-status.is-error{border-left-color:#a53b2b;background:#fff4ef}.form-support{font-size:12px;line-height:1.8;margin-top:10px}.form-support a{text-decoration:underline;font-weight:600}.form-support[hidden],.form-status[hidden]{display:none}
