html:root{--orange:#b5e550;--orange-d:#c9f477;--white:#f4f5f1;--muted:#b5b8b1;--ink:#151713}
body .repair-feature .repair-signs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;list-style:none;margin:20px 0 24px;max-width:540px}
body .repair-signs li{font-size:12px;color:#edf0e8;line-height:1.5;display:flex;gap:9px}
body .repair-signs li::before{content:'↗';color:#b5e550}
body .repair-feature h2{max-width:660px}
@media(max-width:640px){body .repair-feature .repair-signs{grid-template-columns:1fr;gap:7px}body .repair-feature h2{font-size:32px}body .repair-feature .project-cta-actions .btn{white-space:normal}}
body .roofing-questions{padding:40px clamp(24px,5vw,72px);max-width:1200px;margin:auto}
body .roofing-questions h2{font-size:clamp(26px,3vw,40px);margin:14px 0 24px}
body .roofing-questions details{border-top:1px solid #ffffff24;padding:18px 0}
body .roofing-questions summary{cursor:pointer;font-size:15px;font-weight:650;line-height:1.5}
body .roofing-questions details p{font-size:14px;color:#c4c8be;line-height:1.8;max-width:800px;margin-top:14px}
body .roofing-questions a{color:#b5e550;text-decoration:underline;text-underline-offset:3px}
body .mobile-menu{isolation:isolate}
body .mobile-menu::before{content:'';position:fixed;inset:0;z-index:-2;background:url('hero-craftsman.jpg') center 42%/cover no-repeat}
body .mobile-menu::after{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#080a08f5 0%,#080a08e8 48%,#080a08a8),linear-gradient(0deg,#080a08e8,transparent)}
body .mobile-menu{z-index:150;background:#111310;backdrop-filter:none;align-items:stretch;justify-content:flex-start;padding:30px clamp(24px,7vw,100px);overflow-y:auto;max-height:100dvh;gap:0}
body .menu-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20;padding-bottom:22px;gap:20px}
body .menu-heading>span{font-size:26px;font-weight:800;letter-spacing:-1.5px;line-height:1.1}
body .menu-dot{color:#b5e550}
body .menu-heading small{display:block;font-size:8px;letter-spacing:1.8px;font-weight:500;color:#a8ada1;margin-top:8px}
body .menu-close{width:44px;height:44px;flex-shrink:0;background:#ffffff08;color:#fff;border:1px solid #ffffff30;border-radius:50%;font:300 30px/1 Arial;cursor:pointer}
body .menu-kicker{font-size:11px;letter-spacing:.08em;color:#aeb5a4;margin:24px 0 12px}
body .menu-links{counter-reset:menu;display:grid;grid-template-columns:1fr 1fr;column-gap:60px}
body .mobile-menu .menu-links a{counter-increment:menu;display:flex;align-items:center;gap:16px;width:100%;padding:17px 0;min-height:60px;font:600 clamp(21px,3vw,36px)/1.2 'Manrope','Inter',sans-serif;letter-spacing:-.04em;text-align:left;border-bottom:1px solid #ffffff1a;color:#f4f5f1}
body .menu-links a::before{content:'0' counter(menu);font-size:10px;color:#8f9c7c;letter-spacing:0;min-width:18px}
body .menu-links a span{margin-left:auto;font-size:18px;color:#8f9c7c}
body .mobile-menu .menu-links a:hover{color:#b5e550}
body .menu-contact{padding:24px 0 10px;max-width:460px}
body .mobile-menu .mobile-menu-cta{width:100%;margin:0;padding:16px 20px!important;min-height:52px;border-radius:6px!important;background:#b5e550!important;color:#151b0e!important;font:750 14px/1.4 'Manrope','Inter',sans-serif!important;letter-spacing:0;box-shadow:none;justify-content:center;text-align:center}
body .mobile-menu .menu-phone{width:100%;font:600 13px/1.5 'Manrope','Inter',sans-serif;letter-spacing:0;border:0;padding:17px 0 4px;justify-content:space-between;color:#fff}
body .menu-contact p{color:#a8ada1;font-size:10px;margin:8px 0 0}
body .menu-heading>span{font-size:clamp(32px,4vw,56px);font-weight:800;letter-spacing:-.065em}
body .menu-heading small{letter-spacing:.32em;font-size:8px;margin-top:10px}
body .menu-close{border-radius:6px;background:#ffffff08;backdrop-filter:blur(8px)}
body .menu-kicker{color:#b5e550;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.12em}
body .menu-links a::before{display:none}
body .mobile-menu .menu-links a{font-weight:750;letter-spacing:-.045em;border-color:#ffffff26}
body .menu-links a span{color:#b5e550}
body .mobile-menu .menu-phone{border:1px solid #ffffff60;border-radius:6px;padding:16px 20px;min-height:52px;margin-top:12px;background:#14161330;backdrop-filter:blur(6px)}
@media(max-width:640px){body .mobile-menu::before{background-position:65% center}body .mobile-menu::after{background:linear-gradient(90deg,#080a08e8,#080a08b8),linear-gradient(0deg,#080a08f5,transparent)}body .menu-heading>span{font-size:34px}}
body.menu-open .mob-sticky{visibility:hidden;pointer-events:none;transform:translateY(110%)}
@media(max-width:640px){body .mobile-menu{padding:22px 24px calc(24px + env(safe-area-inset-bottom))!important}body .menu-links{grid-template-columns:1fr}body .mobile-menu .menu-links a{font-size:23px;padding:14px 0;min-height:54px}body .menu-kicker{margin-top:20px}body .menu-heading{padding-bottom:20px}body .menu-contact{padding-top:22px}}
body .hero-photo{object-position:center 43%}
body .hero-overlay{background:linear-gradient(90deg,#0009,transparent 76%),linear-gradient(0deg,#000e,#0005 43%,transparent 80%)}
@media(max-width:640px){body .hero-photo{object-position:65% 38%}body .hero-overlay{background:linear-gradient(0deg,#000f,#0008 44%,#0001 88%)}}
body .nav-hamburger{min-width:44px;min-height:44px;align-items:center;justify-content:center}
body .modal-close{min-width:44px;min-height:44px}
body .mobile-menu a{min-height:44px;display:flex;align-items:center}
body #quote,body #workmanship,body #about,body #services,body #reviews{scroll-margin-top:12px}
body .mob-sticky{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
body .field input,body .field select,body .field textarea{scroll-margin-bottom:110px}
body .form-submit{scroll-margin-bottom:110px}
body .form-error{color:#a32920;font-size:14px;line-height:1.6}
body .modal .form-error{color:#ffb7ad}
body button:disabled{cursor:wait;transform:none!important}
@media(max-width:640px){body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}body #quote{margin-left:14px;margin-right:14px}body #quote .quote-left{padding:28px 22px}body #quote .quote-right{padding:26px 22px}body #quote .quote-left>p:not(.quote-eyebrow){font-size:13px;margin-bottom:16px}body #quote .trust-list-item{padding:9px 0}body #quote .trust-list-item:nth-child(n+3){display:none}body #quote .quote-left h2{font-size:35px;margin-bottom:18px}body .mobile-menu{padding-top:100px;padding-bottom:calc(90px + env(safe-area-inset-bottom));overflow-y:auto;max-height:100dvh}body .area-map,body .area-map iframe{height:210px;max-height:210px}body .services-panorama{min-height:0}body .services-panorama-content{padding-bottom:36px}body #standard .std-card{min-width:0}body #reviews .reviews-grid{gap:12px}body #reviews .rc{padding:24px}}
@media(max-width:360px){body .nav-wordmark>span:first-child{font-size:29px}body .nav-wordmark .wordmark-sub{font-size:7px}body .nav-logo.nav-wordmark{top:29px}body nav,body nav.scrolled{padding-right:16px;padding-left:16px}body .hero-content{padding-left:20px;padding-right:20px}body .hero-actions .btn{font-size:10px;padding:14px 12px;gap:10px}body .services-panorama-list{grid-template-columns:1fr;gap:0}body .services-panorama-list li{padding:11px 0}body #quote .quote-left h2{font-size:32px}}
body{font-family:'Manrope','Inter',sans-serif;color:#f4f5f1;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased}
body h1,body h2,body h3,body .sec-title,body .about-h,body .quote-left h2,body .fcta h2,body .services-panorama h2{font-family:'Manrope','Inter',sans-serif;letter-spacing:-.045em;line-height:1.1;font-weight:700}
body h1{font-weight:800;letter-spacing:-.055em;line-height:1.06}
body .hero-sub,body .sec-sub,body .about-body,body .project-cta p:not(.eyebrow),body .services-panorama-intro{font-weight:400;line-height:1.85}
body .eyebrow{font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#b5e550}
body .eyebrow::before{background:#b5e550}
body .nav-wordmark .wordmark-dot,body .stat-num,body .std-num,body .services-panorama-list li::before{color:#b5e550}
body .btn,body .btn-white,body .btn-ghost-white,body .form-submit,body .modal-submit,body .mobile-menu-cta,body .mob-sticky a{font-family:'Manrope','Inter',sans-serif;font-size:13px;font-weight:750;letter-spacing:0;text-transform:none;line-height:1.35;min-height:52px;border-radius:6px;padding:16px 23px;display:inline-flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
body .btn-orange,body .btn-white,body .form-submit,body .modal-submit,body .hero-actions .btn-orange,body .project-cta .btn-orange,body #quote .form-submit,body .mob-sticky a:first-child{background:#b5e550;color:#151b0e;border:1px solid #b5e550;box-shadow:inset 0 1px 0 #ffffff30}
body .btn-orange:hover,body .btn-white:hover,body .form-submit:hover,body .modal-submit:hover,body .hero-actions .btn-orange:hover,body .project-cta .btn-orange:hover,body #quote .form-submit:hover{background:#c9f477;color:#151b0e;border-color:#c9f477;transform:translateY(-2px);box-shadow:0 6px 22px #b5e55018}
body .btn-outline,body .btn-ghost-white,body .hero-actions .btn-outline,body .project-cta .btn-outline{background:#14161330;color:#f4f5f1;border:1px solid #ffffff75;box-shadow:none;backdrop-filter:blur(6px)}
body .btn-outline:hover,body .btn-ghost-white:hover,body .hero-actions .btn-outline:hover,body .project-cta .btn-outline:hover{background:#ffffff18;border-color:#fff;color:#fff;transform:translateY(-2px)}
body .hero-actions{gap:12px;align-items:center;flex-wrap:wrap}
body .hero-actions .btn{font-size:13px;font-weight:750;padding:16px 23px;min-height:52px;border-radius:6px;letter-spacing:0;text-transform:none;gap:18px}
body .hero-actions .btn::before,body .hero-actions .btn::after{display:none}
body .btn:active,body .btn-white:active,body .btn-ghost-white:active,body .form-submit:active,body .modal-submit:active{transform:translateY(1px) scale(.985)!important}
body .craft-feature a{border:1px solid #ffffff60;border-radius:6px;padding:14px 20px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:24px;font-weight:700;color:#fff;font-size:13px;line-height:1.4;background:#0002;transition:background .2s,border-color .2s,transform .2s}
body .craft-feature a:hover{background:#ffffff16;border-color:#fff;transform:translateY(-2px)}
body #quote .quote-left h2{font-size:clamp(34px,3.6vw,52px);font-weight:800;letter-spacing:-.055em;line-height:1.12}
body #quote .quote-left h2 span{border-bottom:3px solid #a4cc48;padding-bottom:2px}
body #quote .quote-eyebrow{font-size:9px;color:#63724c;font-weight:750;letter-spacing:.12em;line-height:1.6}
body #quote .quote-left>p:not(.quote-eyebrow){font-size:14px;color:#545a4e;line-height:1.85}
body #quote .quote-right{background:#f6f7f2}
body #quote .field label{font-size:10px;font-weight:700;color:#52594c;letter-spacing:.035em;text-transform:none}
body #quote .field input,body #quote .field select,body #quote .field textarea{font-family:inherit;font-size:14px;font-weight:450;line-height:1.5;color:#24291e;background:#fff;border-color:#d4d9cc;min-height:48px;padding:12px 14px}
body #quote .field input::placeholder,body #quote .field textarea::placeholder{color:#737a6b}
body #quote .form-submit{width:100%;justify-content:space-between;font-size:14px;min-height:56px;padding:17px 22px;border-radius:6px}
body #quote .trust-list-item{font-size:12px;font-weight:500;color:#47523c}
body .services-panorama-list li{font-weight:600;letter-spacing:-.015em}
body .fcta h2{font-size:clamp(32px,4vw,54px)}
body .fcta p{font-size:14px;line-height:1.8;color:#c4c8be}
body .fcta-btns{gap:12px}
body .mob-sticky a{min-height:48px;padding:13px 17px;font-size:12px;border-radius:5px}
body .mob-sticky a:last-child{border:1px solid #4a5044;background:#252a21;color:#f4f5f1}
:focus-visible{outline:3px solid #b5e550;outline-offset:4px}
body #quote :focus-visible{outline-color:#719e23}
@media(max-width:640px){body .hero-actions{gap:10px;flex-wrap:nowrap;width:100%}body .hero-actions .btn{font-size:11px;padding:14px 15px;min-height:50px;gap:12px;flex:1 1 auto;white-space:nowrap}body #quote .quote-left h2{font-size:37px}body #quote .field input,body #quote .field select,body #quote .field textarea{font-size:16px}body .project-cta-actions .btn,body .fcta-btns .btn-white,body .fcta-btns .btn-ghost-white{width:100%;min-height:50px}body .services-panorama .btn{font-size:12px}body .craft-feature a{font-size:12px}}
@media(prefers-reduced-motion:reduce){body .btn,body .btn-white,body .btn-ghost-white,body .form-submit,body .modal-submit,body .craft-feature a{transition:none;transform:none!important}}
