:root{--maple:#754c32;--oyster:#f6f2ea;--blue:#335c81;--ink:#242a2e;--line:#dcd6cb;--white:#fffdf9;--muted:#596166}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--oyster);font-family:'Atkinson Hyperlegible',sans-serif;font-size:18px;line-height:1.55}a{color:var(--blue);text-underline-offset:4px}a:hover{color:var(--maple)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}h1,h2,h3{font-family:Epilogue,sans-serif;line-height:1.2;letter-spacing:-.045em}h1{font-size:clamp(32px,3.15vw,44px);font-weight:600;margin:12px 0 16px;max-width:750px}h2{font-size:30px;font-weight:600;margin:0 0 18px}h3{font-size:21px;letter-spacing:-.035em}p{margin:0 0 20px}svg{flex-shrink:0}img{display:block;max-width:100%;height:auto}.rf-kicker{color:var(--maple);font-size:11px;font-family:Epilogue,sans-serif;font-weight:700;letter-spacing:.12em;line-height:1.5;text-transform:uppercase;margin:0}.rf-skip{position:absolute;left:12px;top:-100px;padding:10px;background:white;z-index:5}.rf-skip:focus{top:8px}.rf-header{border-top:5px solid var(--maple);border-bottom:1px solid var(--line);background:var(--white)}.rf-header-inner{max-width:1240px;margin:auto;min-height:82px;padding:12px 24px;display:flex;align-items:center;gap:32px}.rf-brand{display:flex;gap:11px;align-items:center;color:var(--ink);text-decoration:none;flex-shrink:0;font-family:Epilogue,sans-serif;font-size:18px;font-weight:600;letter-spacing:-.05em;line-height:1.15}.rf-brand small{display:block;font-size:9px;letter-spacing:.22em;margin-top:7px;font-weight:500}.rf-header nav{margin-left:auto;display:flex;gap:25px;font-size:15px}.rf-header nav a{text-decoration:none}.rf-header-phone{font-size:17px;font-weight:700;color:var(--maple);text-decoration:none;white-space:nowrap}.rf-header-phone span{margin-left:8px}.rf-main{max-width:1240px;margin:auto;padding:0 24px}.rf-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(345px,1fr);gap:64px;padding:34px 0 48px;align-items:start}.rf-intro{font-size:18px;line-height:1.5;max-width:650px;margin-bottom:14px}.rf-intro-phone{display:flex;gap:12px;flex-wrap:wrap;font-size:15px;align-items:center;text-decoration:none;margin:12px 0 24px}.rf-intro-phone strong{font-size:17px;border-bottom:1px solid var(--blue)}.rf-photo{width:100%;max-width:640px;aspect-ratio:16/9;object-fit:cover;border-radius:2px;box-shadow:9px 9px 0 #e8e1d5}.rf-quote{border:1px solid #b9c6cf;border-top:4px solid var(--blue);background:var(--white);padding:20px 23px 22px;box-shadow:6px 6px 0 #e4e8e8;scroll-margin-top:20px}.rf-quote .rf-kicker{font-size:10px;color:var(--blue)}.rf-quote h2{font-size:25px;margin:6px 0 4px;letter-spacing:-.055em}.rf-form-intro{font-size:15px;margin:0 0 12px;color:var(--muted)}.rf-quote label{display:block;font-size:13px;font-weight:700;margin:8px 0 3px;line-height:1.3}.rf-quote label small{font-size:11px;font-weight:400;color:var(--muted);float:right}.rf-quote label span{color:var(--maple)}.rf-quote input,.rf-quote select,.rf-quote textarea{width:100%;min-width:0;border:1px solid #b9b7b1;border-radius:2px;background:#fff;font-size:15px;padding:8px 10px;color:var(--ink);min-height:38px}.rf-quote input::placeholder,.rf-quote textarea::placeholder{color:#687176;opacity:1}.rf-quote textarea{resize:vertical;min-height:45px;height:45px;display:block}.rf-field-pair{display:grid;grid-template-columns:1.6fr 1fr;gap:12px}.rf-consent{font-size:12px;line-height:1.4;margin:11px 0 12px;color:#535c62}.rf-button{background:var(--blue);color:white;border:1px solid var(--blue);font-size:15px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:16px;text-decoration:none;padding:12px 17px;border-radius:2px;cursor:pointer;line-height:1.3;min-height:45px}.rf-button:hover{background:#284a69;color:white}.rf-quote .rf-button{width:100%}.rf-button:disabled{opacity:.7;cursor:wait}.rf-status{font-size:14px;color:#8d2724;margin:12px 0 0}.rf-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.rf-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rf-section-head{max-width:720px;margin-bottom:28px}.rf-section-head h2{margin-top:12px;font-size:36px}.rf-materials{border-top:1px solid var(--line);padding:48px 0 54px}.rf-material-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.rf-material{display:flex;align-items:center;gap:18px;padding:18px;background:var(--white);text-decoration:none;color:var(--ink);border:1px solid var(--line)}.rf-material:hover{border-color:var(--maple)}.rf-material strong{display:block;font-family:Epilogue,sans-serif;font-size:16px;line-height:1.35;letter-spacing:-.025em;font-weight:600}.rf-material small{display:block;font-size:15px;color:var(--muted);margin-top:4px}.rf-material b{margin-left:auto;font-size:22px;font-weight:400}.rf-swatch{display:block;flex-shrink:0;width:58px;height:62px;background:repeating-linear-gradient(90deg,#cda77b 0 16px,#b78e62 17px,#cba174 18px 34px);border:1px solid #0001}.rf-vinyl .rf-swatch{background:repeating-linear-gradient(90deg,#dacbb4 0 17px,#c8b7a0 18px,#e2d5c1 19px 35px)}.rf-tile .rf-swatch{background:repeating-linear-gradient(0deg,transparent 0 29px,#d6d2ca 30px 32px),repeating-linear-gradient(90deg,#e6e2da 0 26px,#d6d2ca 27px 29px)}.rf-carpet .rf-swatch{background:repeating-linear-gradient(20deg,#bab3a6 0 1px,#c8c1b3 2px 3px)}.rf-engineered .rf-swatch{background:repeating-linear-gradient(90deg,#9c704d 0 24px,#87603f 25px,#aa805e 26px 49px)}.rf-laminate .rf-swatch{background:repeating-linear-gradient(90deg,#c0b6a1 0 23px,#a99d86 24px,#c3b9a6 25px 47px)}.rf-refinish .rf-swatch{background:linear-gradient(90deg,#8d6445 48%,#d6ae7f 50%)}.rf-repair .rf-swatch{background:repeating-linear-gradient(90deg,#a87753 0 18px,#bc956e 19px 36px)}.rf-estimate{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;background:#e8e3d9;padding:48px;margin-bottom:56px}.rf-estimate h2{margin-top:12px}.rf-estimate ol{list-style:none;padding:0;margin:0;counter-reset:steps}.rf-estimate li{counter-increment:steps;position:relative;padding:16px 0 16px 42px;border-bottom:1px solid #c9c1b2}.rf-estimate li::before{content:'0' counter(steps);position:absolute;left:0;top:18px;font-size:13px;color:var(--maple)}.rf-estimate strong,.rf-estimate span{display:block}.rf-estimate strong{font-family:Epilogue,sans-serif;font-size:17px}.rf-estimate span{font-size:18px;margin-top:5px}.rf-text-link{font-size:16px;font-weight:700}.rf-room-plan h2{margin:12px 0 30px}.rf-three{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.rf-three article{border-top:2px solid var(--maple);padding-top:20px}.rf-number{display:inline-block;color:var(--maple);font-family:Epilogue,sans-serif;font-size:13px}.rf-three a{font-size:16px}.rf-towns{margin:56px 0;padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rf-towns h2{margin-top:12px}.rf-town-links{display:flex;flex-wrap:wrap;gap:10px}.rf-town-links a{padding:11px 18px;border:1px solid var(--line);background:var(--white);text-decoration:none;font-size:16px}.rf-town-links span{margin-left:16px}.rf-end{padding:5px 0 60px;max-width:680px}.rf-end .rf-button{margin-bottom:18px}.rf-small{font-size:14px;line-height:1.5}.rf-article{max-width:800px;padding:10px 0 64px;margin-right:auto}.rf-article>h2{margin:34px 0 15px}.rf-article p{font-size:18px;line-height:1.65}.rf-article ul{padding-left:22px}.rf-article li{margin:10px 0}.rf-related{padding:24px 28px;background:var(--white);border-left:4px solid var(--maple);margin-top:36px}.rf-related h2{font-size:23px}.rf-related ul{margin-bottom:0}.rf-utility{padding-top:40px;min-height:65vh}.rf-utility h1{font-size:40px}.rf-utility section{border-top:1px solid var(--line);padding-top:25px;margin-top:28px}.rf-footer{background:var(--ink);color:var(--oyster);padding:42px 24px 20px}.rf-footer-inner{max-width:1192px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:80px}.rf-footer strong{font-family:Epilogue,sans-serif;font-size:19px;letter-spacing:-.04em}.rf-footer p{font-size:18px;max-width:520px;margin-top:13px}.rf-footer .rf-small{font-size:14px;color:#cdc9c0}.rf-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:15px;padding-left:30px}.rf-footer a{color:var(--oyster)}.rf-copyright{font-size:12px;max-width:1192px;margin:22px auto 0;padding-top:17px;border-top:1px solid #52565a}.rf-utility a{overflow-wrap:anywhere}
@media(max-width:1050px){.rf-header nav{gap:15px}.rf-header-inner{gap:18px}.rf-hero{gap:34px;grid-template-columns:minmax(0,1.25fr) minmax(330px,1fr)}.rf-header nav a:nth-child(3){display:none}.rf-estimate{gap:35px;padding:34px}}
@media(max-width:800px){.rf-header-inner{padding:12px 18px;justify-content:space-between;gap:10px;min-height:75px}.rf-header nav{display:none}.rf-header-phone{font-size:15px}.rf-header-phone span{display:none}.rf-brand{font-size:15px;gap:7px}.rf-brand svg{width:31px;height:31px}.rf-brand small{font-size:8px;letter-spacing:.15em}.rf-main{padding:0 20px}.rf-hero{grid-template-columns:1fr;gap:30px;padding-top:28px}.rf-opening h1{font-size:35px;line-height:1.14}.rf-intro{max-width:650px}.rf-photo{box-shadow:6px 6px 0 #e8e1d5}.rf-intro-phone{margin-bottom:20px}.rf-quote{max-width:600px;width:100%;padding:21px}.rf-quote input,.rf-quote select,.rf-quote textarea{font-size:16px;min-height:43px}.rf-quote textarea{height:60px}.rf-quote label{font-size:14px;margin-top:10px}.rf-consent{font-size:13px}.rf-section-head h2{font-size:29px}.rf-material-grid{grid-template-columns:1fr}.rf-material{padding:15px;gap:14px}.rf-material strong{font-size:15px}.rf-swatch{width:44px;height:57px}.rf-estimate{grid-template-columns:1fr;padding:26px;gap:15px;margin:0 -2px 40px}.rf-three{grid-template-columns:1fr;gap:30px}.rf-three h3{margin:10px 0 14px}.rf-towns{margin:40px 0}.rf-town-links a{flex:1 1 145px;display:flex;justify-content:space-between}.rf-article{padding-bottom:45px}.rf-article h2,h2{font-size:27px}.rf-utility h1{font-size:34px;overflow-wrap:anywhere}.rf-related{padding:22px}.rf-footer-inner{grid-template-columns:1fr;gap:15px}.rf-footer nav{padding-left:0}.rf-footer{padding-top:32px}.rf-kicker{font-size:10px}.rf-end{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
