:root{--evergreen:#137a36;--evergreen-dark:#10172f;--pine:#0f632c;--snow:#f5f6f8;--white:#fff;--ink:#11162a;--muted:#59606f;--amber:#e32621;--line:#d9dde4;--display:"Barlow Condensed",Impact,sans-serif;--body:"Inter",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;font-family:var(--body);color:var(--ink);background:var(--snow);font-size:16px;line-height:1.65}a{color:inherit}img{display:block;max-width:100%}.shell{width:min(1160px,calc(100% - 40px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;top:12px;left:12px;transform:translateY(-160%);padding:10px 16px;background:#fff;color:#000}.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;background:rgba(16,23,47,.96);backdrop-filter:blur(14px);border-bottom:4px solid var(--evergreen)}.nav-wrap{height:96px;display:flex;align-items:center;justify-content:space-between}.brand{width:224px;display:flex;align-items:center}.brand img,.footer-brand img{width:100%;height:82px;object-fit:contain;object-position:left center}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav>a:not(.btn){text-decoration:none;color:#f3f5fa;font-size:.89rem;font-weight:700}.site-header nav>a:hover{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:0;border-radius:5px;background:var(--amber);color:#18241f;text-decoration:none;font-weight:800;font-family:var(--body);cursor:pointer;box-shadow:0 10px 25px rgba(244,166,41,.16);transition:.2s ease}.btn:hover{background:#ffb743;transform:translateY(-2px)}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffd382;outline-offset:3px}.btn-small{min-height:44px;padding-inline:18px;font-size:.87rem}.menu-toggle{display:none;background:none;border:0;width:48px;height:48px;padding:10px}.menu-toggle span:not(.sr-only){display:block;height:2px;background:#fff;margin:6px 0}
.hero{position:relative;overflow:hidden;min-height:790px;padding:154px 0 94px;background:var(--evergreen-dark);color:white}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,17,39,.98) 0%,rgba(11,17,39,.91) 42%,rgba(11,17,39,.35) 75%,rgba(11,17,39,.58) 100%)}.hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:1.2fr .7fr;gap:80px;align-items:end}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.76rem;color:#d6e9db}.eyebrow.dark{color:var(--pine)}h1,h2,h3{font-family:var(--display);line-height:.95;margin-top:0;text-transform:uppercase}h1{font-size:clamp(4.7rem,8vw,7.7rem);letter-spacing:-.035em;margin-bottom:26px}h1 span{color:var(--amber)}.hero-lead{max-width:650px;font-size:1.18rem;color:#f0f2f7;margin:0 0 34px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.72);box-shadow:none}.btn-ghost:hover{background:#fff;color:var(--evergreen-dark)}.season-note{margin:26px 0 0;color:#e1e5ed;font-size:.87rem;font-weight:600}.season-note span{color:var(--amber);margin-right:8px}.hero-card{background:rgba(255,255,255,.96);color:var(--ink);padding:36px;border-radius:9px;border-top:6px solid var(--evergreen);box-shadow:0 30px 75px rgba(0,0,0,.25)}.hero-card .card-kicker{text-transform:uppercase;letter-spacing:.13em;color:var(--pine);font-weight:800;font-size:.72rem}.hero-card h2{font-size:2.35rem;margin-bottom:16px}.hero-card p{color:var(--muted)}.hero-card .text-link{font-weight:800;color:var(--evergreen);text-decoration:none}.quick-contact{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:20px;margin-top:28px;font-size:.83rem}.quick-contact span{color:var(--muted);margin-right:auto}.quick-contact a{font-weight:800;color:var(--pine)}
.hero-photo{position:absolute;z-index:1;inset:0}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-logo{width:285px;height:150px;object-fit:contain;object-position:left center;margin:0 0 12px;filter:drop-shadow(0 7px 10px rgba(0,0,0,.42))}
.section{padding:112px 0}.section-heading{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end;margin-bottom:54px}.section-heading h2,.area h2,.estimate h2{font-size:clamp(3.1rem,6vw,5.1rem);margin-bottom:0;letter-spacing:-.025em}.section-heading>p{color:var(--muted);font-size:1.07rem;max-width:510px;margin:0 0 8px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:8px;padding:34px 30px 30px;min-height:485px;display:flex;flex-direction:column;box-shadow:0 13px 35px rgba(19,54,48,.05)}.service-card.featured{background:var(--evergreen);border-color:var(--evergreen);color:#fff;transform:translateY(-12px)}.service-number{position:absolute;right:22px;top:10px;font-family:var(--display);font-weight:800;font-size:4.8rem;line-height:1;color:rgba(18,63,56,.07)}.featured .service-number{color:rgba(255,255,255,.07)}.service-icon{display:grid;place-items:center;width:52px;height:52px;background:#eaf1ef;color:var(--evergreen);border-radius:6px;font-size:1.25rem;margin-bottom:25px}.featured .service-icon{background:var(--amber)}.service-label{text-transform:uppercase;letter-spacing:.15em;color:var(--pine);font-weight:800;font-size:.7rem;margin:0 0 9px}.featured .service-label{color:#bed8d2}.service-card h3{font-size:2.35rem;margin-bottom:18px}.service-card ul{margin:0 0 28px;padding:0;list-style:none}.service-card li{border-top:1px solid var(--line);padding:9px 0;color:var(--muted);font-size:.9rem}.featured li{border-color:rgba(255,255,255,.14);color:#e0ece9}.service-card>a{margin-top:auto;font-weight:800;text-decoration:none;color:var(--pine)}.featured>a{color:var(--amber)}
.why{background:var(--evergreen-dark);color:#fff}.why-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center}.why-title h2{font-size:clamp(3.2rem,5vw,5.2rem);margin-bottom:24px}.why-title>p:not(.eyebrow){color:#c9dbd7;margin-bottom:34px}.btn-light{background:#fff;color:var(--evergreen);box-shadow:none}.benefit-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16)}.benefit{padding:34px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.benefit>span{display:block;font-family:var(--display);font-weight:800;font-size:2.3rem;color:var(--amber);margin-bottom:28px}.benefit h3{font-size:1.45rem;margin-bottom:8px}.benefit p{font-size:.87rem;color:#b8cfca;margin:0}
.area{padding:80px 0;background:var(--amber);color:#13201c}.area-inner{display:grid;grid-template-columns:1.2fr .65fr;gap:80px;align-items:end}.area .eyebrow{color:#405048}.area-copy p{margin:0 0 20px}.area-copy a{font-weight:800;text-decoration:none;border-bottom:2px solid #172320;padding-bottom:5px}
.estimate{background:#eef3f1}.estimate-grid{display:grid;grid-template-columns:.65fr 1.1fr;gap:90px;align-items:start}.form-intro>p:not(.eyebrow){color:var(--muted)}.direct{margin-top:36px;display:grid;gap:4px}.direct span{margin-top:16px;text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;font-weight:800;color:var(--muted)}.direct a{font-weight:800;color:var(--evergreen);text-decoration:none;overflow-wrap:anywhere}.estimate form{background:#fff;padding:40px;border-radius:9px;box-shadow:0 20px 55px rgba(14,57,50,.08)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:.79rem;font-weight:700;margin-bottom:20px;color:#31403c}label>span{color:#b65f00}input,select,textarea{display:block;width:100%;margin-top:8px;border:1px solid #becbc7;border-radius:4px;background:#fbfcfc;color:var(--ink);font:inherit;font-size:.95rem;padding:12px 13px;min-height:48px}textarea{resize:vertical}.consent{display:flex;align-items:flex-start;gap:12px;font-weight:500;line-height:1.5}.consent input{flex:0 0 20px;width:20px;min-height:20px;margin-top:2px}.consent span{color:var(--muted)}.submit{width:100%;border-radius:4px}.form-error{min-height:24px;color:#a63721;font-weight:700;font-size:.85rem}
footer{background:#071f1c;color:#d7e5e2;padding:70px 0 30px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.35fr 1fr;gap:50px}.footer-brand{width:210px}.footer-grid h2{font-family:var(--body);font-size:.68rem;letter-spacing:.15em;margin-bottom:20px;color:#8fb0a9}.footer-grid a,.footer-grid p{display:block;margin:8px 0;text-decoration:none;font-size:.87rem;color:#e1ebe9}.footer-grid a:hover{color:var(--amber)}.copyright{border-top:1px solid rgba(255,255,255,.13);margin-top:50px;padding-top:22px;display:flex;justify-content:space-between;font-size:.73rem;color:#7e9f98}.mobile-bar{display:none}
@media(max-width:900px){.site-header nav{position:absolute;top:82px;left:0;right:0;background:#092d29;padding:20px;display:none;flex-direction:column;align-items:stretch;gap:6px}.site-header nav.open{display:flex}.site-header nav>a{padding:12px}.menu-toggle{display:block}.hero{padding-top:140px}.hero-grid{grid-template-columns:1fr;gap:50px}.hero-card{max-width:560px}.section-heading,.why-grid,.area-inner,.estimate-grid{grid-template-columns:1fr;gap:45px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.service-card.featured{transform:none}.benefit-grid{max-width:680px}.footer-grid{grid-template-columns:1fr 1fr}.hero-texture{opacity:.18}}
@media(max-width:600px){body{padding-bottom:62px}.shell{width:min(100% - 28px,1160px)}.nav-wrap{height:72px}.brand{width:150px}.brand img{height:52px}.site-header nav{top:72px}.hero{min-height:auto;padding:125px 0 68px}.hero-grid{gap:34px}h1{font-size:4.15rem}.hero-lead{font-size:1rem}.hero-actions{display:grid}.hero-actions .btn{width:100%}.hero-card{padding:27px}.section{padding:78px 0}.section-heading{gap:25px;margin-bottom:42px}.section-heading h2,.area h2,.estimate h2{font-size:3.1rem}.service-card{padding:28px 24px}.why-title h2{font-size:3.2rem}.benefit-grid{grid-template-columns:1fr}.benefit{padding:27px}.area{padding:65px 0}.area-inner{gap:28px}.estimate-grid{gap:35px}.estimate form{padding:26px 20px}.field-row{grid-template-columns:1fr;gap:0}.footer-grid{grid-template-columns:1fr}.footer-brand{margin-bottom:15px}.copyright{flex-direction:column;gap:7px}.mobile-bar{position:fixed;z-index:90;display:grid;grid-template-columns:1fr 1fr;left:0;right:0;bottom:0;height:62px;background:#fff;box-shadow:0 -7px 25px rgba(0,0,0,.16)}.mobile-bar a{display:grid;place-items:center;text-decoration:none;font-weight:800;color:var(--evergreen)}.mobile-bar a:last-child{background:var(--amber);color:#172320}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* CutRite brand system, drawn from the original site */
:root{--evergreen:#137a36;--evergreen-dark:#10172f;--pine:#0f632c;--snow:#f5f6f8;--ink:#11162a;--muted:#59606f;--amber:#e32621;--line:#d9dde4}
.site-header{background:rgba(16,23,47,.96);border-bottom:4px solid var(--evergreen)}
.nav-wrap{height:96px}
.brand{width:224px}
.brand img,.footer-brand img{height:82px}
.site-header nav>a:not(.btn){color:#f3f5fa;font-weight:700}
.site-header nav>a:hover{color:#fff}
.hero{min-height:790px;padding-top:154px;background:var(--evergreen-dark)}
.hero:after{background:linear-gradient(90deg,rgba(11,17,39,.98) 0%,rgba(11,17,39,.91) 42%,rgba(11,17,39,.35) 75%,rgba(11,17,39,.58) 100%)}
.hero-photo{position:absolute;z-index:1;inset:0}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-logo{width:285px;height:150px;object-fit:contain;object-position:left center;margin:0 0 12px;filter:drop-shadow(0 7px 10px rgba(0,0,0,.42))}
.hero-card{border-top-color:var(--evergreen)}
.service-card{padding:0 30px 30px;min-height:610px;box-shadow:0 13px 35px rgba(16,23,47,.09)}
.service-card.featured{background:var(--evergreen-dark);border-color:var(--evergreen-dark);box-shadow:0 18px 45px rgba(16,23,47,.2)}
.service-photo{display:block;width:calc(100% + 60px);height:205px;margin:0 -30px 28px;object-fit:cover;border:0;border-bottom:6px solid var(--evergreen);background:#080d1e}
.featured .service-photo{border-bottom-color:var(--amber)}
.service-card h3{color:var(--amber)}
.service-card.featured h3{color:#fff}
.why{background:linear-gradient(120deg,var(--evergreen-dark),#172044);border-top:7px solid var(--evergreen)}
.area{background:var(--evergreen);color:#fff;border-top:7px solid var(--amber)}
.area .eyebrow{color:#d7eadc}
.area-copy a{border-bottom-color:#fff}
footer{background:#090e20;color:#dfe3ed;border-top:6px solid var(--evergreen)}
@media(max-width:900px){.site-header nav{top:96px;background:#10172f}.hero{padding-top:150px}.hero:after{background:rgba(10,15,34,.84)}}
@media(max-width:600px){.nav-wrap{height:82px}.brand{width:190px}.brand img{height:70px}.site-header nav{top:82px}.hero{padding-top:126px}.hero-logo{width:230px;height:122px}.service-card{padding:0 24px 28px}.service-photo{width:calc(100% + 48px);margin:0 -24px 25px;height:190px}}

/* September refinements: green-first brand, winter-blue service, mobile polish */
.site-header{background:rgba(19,122,54,.97);border-bottom:3px solid #fff}
.nav-wrap{justify-content:space-between}
.header-phone{color:#fff;text-decoration:none;font-weight:800;font-size:.92rem;letter-spacing:.01em}
.site-header nav>a:not(.btn){color:#fff}
.site-header nav>a:hover{color:#e8f5ec}
.btn,.submit,.mobile-bar a:last-child{background:var(--evergreen);color:#fff;box-shadow:0 10px 25px rgba(19,122,54,.18)}
.btn:hover,.submit:hover{background:#0f632c;color:#fff}
.site-header .btn{background:#fff;color:var(--evergreen);box-shadow:none}
.site-header .btn:hover{background:#edf7f0;color:#0f632c}
.hero{min-height:790px;padding:360px 0 82px}
.hero:after{background:linear-gradient(90deg,rgba(11,17,39,.92) 0%,rgba(11,17,39,.72) 44%,rgba(11,17,39,.22) 78%,rgba(11,17,39,.42) 100%)}
.hero-grid{display:block}
.hero-copy{max-width:680px}
.hero-logo{position:absolute;top:-260px;left:50%;transform:translateX(-50%);width:min(720px,72vw);height:275px;object-position:center;margin:0;filter:drop-shadow(0 9px 12px rgba(0,0,0,.55))}
h1{font-size:clamp(3.9rem,6.5vw,6.4rem);margin-bottom:20px}
h1 span{color:#46b968}
.hero-lead{font-size:1.08rem;max-width:590px;margin-bottom:28px}
.season-note span{color:#cf302b}
.service-grid{align-items:stretch;grid-auto-rows:1fr}
.service-card,.service-card.featured{height:100%;min-height:610px;transform:none}
.service-card.featured{background:#376a89;border-color:#376a89;box-shadow:0 16px 40px rgba(34,76,104,.2)}
.service-card h3{color:var(--ink)}
.service-card.featured h3{color:#fff}
.service-label{color:#be2824}
.featured .service-label{color:#dceaf3}
.featured .service-photo{border-bottom-color:#bed8e8}
.service-number{top:218px}
.featured .service-number{color:rgba(255,255,255,.09)}
.area{border-top-color:#cf302b}
.why{border-top-color:var(--evergreen)}
.benefit>span{color:#50bd70}
.estimate-popup[hidden]{display:none}
.estimate-popup{position:fixed;z-index:300;inset:0;display:grid;place-items:center;padding:20px}
.popup-backdrop{position:absolute;inset:0;background:rgba(8,13,29,.72);backdrop-filter:blur(5px)}
.popup-card{position:relative;z-index:1;width:min(460px,100%);background:#fff;border-radius:10px;border-top:7px solid var(--evergreen);padding:38px;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.popup-card h2{font-size:2.55rem;margin-bottom:16px;color:var(--evergreen-dark)}
.popup-card>p:not(.card-kicker){color:var(--muted)}
.popup-card .card-kicker{color:var(--evergreen);text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.74rem}
.popup-cta{width:100%;margin-top:8px}
.popup-close{position:absolute;top:10px;right:12px;width:44px;height:44px;border:0;background:transparent;color:#3f4655;font-size:2rem;line-height:1;cursor:pointer}
.modal-open{overflow:hidden}
@media(max-width:900px){
  .site-header nav{top:96px;background:#137a36}
  .hero{padding:330px 0 72px}
  .hero-logo{top:-235px;width:min(660px,88vw);height:245px}
  .service-grid{grid-auto-rows:auto}
  .service-card,.service-card.featured{min-height:610px}
}
@media(max-width:600px){
  .nav-wrap{height:70px}
  .header-phone{font-size:.8rem}
  .site-header nav{top:70px}
  .menu-toggle{width:46px}
  .hero{padding:260px 0 58px;min-height:auto}
  .hero-logo{top:-190px;width:94vw;height:200px}
  h1{font-size:3.7rem;line-height:.92}
  .hero-lead{font-size:1rem}
  .hero-actions{gap:10px}
  .hero-actions .btn{min-height:50px}
  .service-grid{gap:22px}
  .service-card,.service-card.featured{min-height:0}
  .service-number{top:202px}
  .popup-card{padding:32px 22px 24px}
  .popup-card h2{font-size:2.25rem}
}

/* Original CutRite hero composition */
.original-hero{height:calc(100vh - 96px);min-height:660px;max-height:920px;padding:0;margin-top:96px;display:flex;align-items:stretch}
.original-hero:after{background:linear-gradient(180deg,rgba(7,12,25,.04) 0%,rgba(7,12,25,0) 45%,rgba(7,12,25,.12) 68%,rgba(7,12,25,.28) 100%)}
.original-hero .hero-photo img{object-position:center center}
.hero-brand{position:absolute;z-index:3;top:3.5%;left:50%;transform:translateX(-50%);width:min(850px,72vw);height:41%;display:flex;justify-content:center}
.original-hero .hero-logo{position:static;transform:none;width:100%;height:100%;object-fit:contain;object-position:center top;margin:0;filter:drop-shadow(0 8px 8px rgba(0,0,0,.65))}
.hero-info{position:absolute;z-index:4;left:0;right:0;bottom:48px;text-align:center;color:#fff;background:rgba(13,18,36,.28);padding:22px 0 18px;text-shadow:0 4px 5px rgba(0,0,0,.75)}
.hero-info h1{margin:0 0 2px;font-family:var(--body);font-size:clamp(2.6rem,4.8vw,4.7rem);font-weight:800;line-height:1.03;text-transform:none;letter-spacing:-.035em}
.hero-info h1 span{color:#47b663;border-bottom:4px solid #cf302b;padding-bottom:3px}
.hero-phone{display:inline-block;color:#fff;text-decoration:none;font-size:clamp(2.05rem,3.8vw,3.8rem);font-weight:800;line-height:1.05;text-shadow:-2px -2px 0 #14214b,2px -2px 0 #14214b,-2px 2px 0 #14214b,2px 2px 0 #14214b,0 5px 6px rgba(0,0,0,.75)}
.hero-phone small{font-size:.72em;text-transform:uppercase}
.hero-info p{margin:4px 0 0;font-family:var(--display);font-size:clamp(1.8rem,3vw,3rem);line-height:1;text-transform:uppercase}
.hero-proof{position:absolute;z-index:5;left:0;right:0;bottom:0;height:48px;background:#087a3b;color:#fff;display:flex;align-items:center;border-top:1px solid rgba(255,255,255,.3)}
.hero-proof .shell{display:flex;justify-content:center;align-items:center;gap:28px;font-size:clamp(.75rem,1.1vw,1rem);font-weight:800;text-align:center}
@media(max-width:900px){
  .original-hero{height:760px;min-height:0;margin-top:96px;padding:0}
  .hero-brand{top:4%;width:88vw;height:35%}
  .hero-info{bottom:70px;padding:18px 0 16px}
  .hero-proof{height:70px}
  .hero-proof .shell{gap:10px;justify-content:space-around}
  .hero-proof span{max-width:31%}
}
@media(max-width:600px){
  .original-hero{height:690px;margin-top:70px;padding:0}
  .original-hero .hero-photo img{object-position:center center}
  .hero-brand{top:3%;width:96vw;height:31%}
  .hero-info{bottom:82px;padding:15px 0 14px}
  .hero-info h1{font-size:2.2rem}
  .hero-info h1 span{display:inline-block}
  .hero-phone{font-size:1.85rem}
  .hero-phone small{display:block;font-size:.58em;letter-spacing:.08em}
  .hero-info p{font-size:1.65rem}
  .hero-proof{height:82px}
  .hero-proof .shell{width:100%;gap:0;font-size:.67rem;line-height:1.25}
  .hero-proof span{max-width:none;width:33.333%;padding:0 7px}
}

/* Compact winter header and enlarged hero branding */
.site-header{background:rgba(13,31,58,.98);border-bottom:3px solid var(--evergreen)}
.nav-wrap{height:64px}
.header-phone{font-size:.92rem}
.site-header nav{gap:24px}
.site-header .btn{min-height:38px;padding:9px 17px}
.original-hero{height:calc(100vh - 64px);margin-top:64px}
.hero-brand{top:-8%;width:min(1450px,96vw);height:58%}
.original-hero .hero-logo{filter:drop-shadow(0 10px 9px rgba(0,0,0,.62))}
.hero-info h1 span{color:#2e7d32}

@media(max-width:900px){
  .site-header nav{top:64px;background:#0d1f3a}
  .original-hero{margin-top:64px}
  .hero-brand{top:-5%;width:108vw;height:47%}
}

@media(max-width:600px){
  .nav-wrap{height:58px}
  .header-phone{font-size:.82rem}
  .site-header nav{top:58px}
  .menu-toggle{width:42px;height:42px}
  .original-hero{height:680px;margin-top:58px}
  .hero-brand{top:-4%;width:116vw;height:42%}
}
