@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#252d27;--paper:#f6f5ee;--orange:#ed934f;--muted:#687168}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bd6327;outline-offset:5px}.skip{position:absolute;top:-100px;z-index:9;background:white;padding:15px}.skip:focus{top:0}.topbar{background:var(--ink);color:#f7f5eb;padding:11px 5.5%;font-size:10px;letter-spacing:1.9px;display:flex;justify-content:space-between}.topbar span{opacity:.7}header{display:flex;align-items:center;justify-content:space-between;padding:21px 5.5%;border-bottom:1px solid #dedfd6;background:var(--paper)}.brand{display:flex;align-items:center;gap:11px;line-height:1;font-weight:800;font-size:22px;letter-spacing:1px;font-family:Manrope,sans-serif}.brand svg{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:2.5}.brand small{display:block;font-size:12px;letter-spacing:5px;margin-top:7px}nav{display:flex;gap:30px;font-size:13px;font-weight:600}nav a:hover{color:#a3511c}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--orange);padding:18px 23px;border:0;color:var(--ink);font-size:13px;font-weight:700;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#f3aa70;transform:translateY(-2px)}.button span{font-size:20px;font-weight:400}.small{padding:12px 19px}.menu{display:none;background:none;border:0;font-size:26px}.hero{display:grid;grid-template-columns:1fr 1.03fr;min-height:640px}.hero-copy{padding:74px 9% 54px 11%}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;line-height:1.8;margin:0 0 25px;display:flex;align-items:center;gap:9px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--orange)}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(50px,5.8vw,85px);letter-spacing:-4px;line-height:1.06;margin:0 0 27px;font-weight:700}em{font-style:normal;color:#b76531}.intro{font-size:15px;line-height:1.8;max-width:380px;color:var(--muted);margin-bottom:28px}.text-link{font-size:12px;font-weight:700;display:inline-block;border-bottom:1px solid #a8b1a2;padding-bottom:5px}.hero-copy>.text-link{display:block;width:max-content;margin-top:22px}.hero-note{display:flex;gap:15px;align-items:center;margin-top:38px;font-size:11px;line-height:1.6}.hero-note p{margin:0}.line-icon{font-size:30px;color:#7b867a}.hero-visual{position:relative;overflow:hidden;background:#dadcd0;min-height:550px}.hero-visual img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:52% center}.hero-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#12201899)}.image-label{position:absolute;left:35px;bottom:60px;z-index:1;font-size:10px;color:white;letter-spacing:2px;line-height:2}.image-label strong{font-size:17px;letter-spacing:0;font-weight:500}.photo-note{position:absolute;right:15px;bottom:13px;font-size:9px;color:#fff;z-index:1}.service-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e9ece1;padding:26px 5.5%;font-size:11px;letter-spacing:1.8px;font-weight:700}.service-strip i{font-size:22px;font-style:normal;color:#ac622f}.section{padding:92px 5.5%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;gap:50px}h2{font-size:clamp(34px,3.7vw,52px);letter-spacing:-2px;line-height:1.12;margin:0;font-weight:600}.section-heading>p{max-width:330px;font-size:14px;color:var(--muted);line-height:1.8;margin:0 0 2px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{position:relative;padding:30px 23px;border:1px solid #d7dcd1;border-radius:4px;transition:.2s}.service-card:hover{background:#e9ece1;transform:translateY(-4px);border-color:#a8b19e}.card-num{position:absolute;right:20px;top:24px;color:#8a9488;font-size:11px}.service-card svg{width:50px;height:50px;stroke:var(--ink);stroke-width:1.7;fill:none;margin:10px 0 16px}.service-card h3{font-size:21px;letter-spacing:-.6px;line-height:1.3;margin:0 0 15px}.service-card p{font-size:13px;line-height:1.8;color:var(--muted);min-height:93px;margin-bottom:30px}.card-link{font-size:11px;font-weight:700}.doors{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;background:#e9ece1;align-items:center}.door-art{background:#dde1d4;min-height:370px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:4px;overflow:hidden}.door-art>span{font-size:9px;letter-spacing:1.6px;margin:35px 0 0;color:#66715f}.sample-garage{width:78%;padding-top:35px;position:relative}.roof{height:45px;clip-path:polygon(50% 0,100% 100%,0 100%);background:#535c4f;margin:-35px -10px 0}.garage-frame{border:22px solid #f2f0e5;border-bottom:0;box-shadow:12px 18px 25px #28302120}.garage-panel{height:205px;background:repeating-linear-gradient(0deg,transparent 0 38px,#ffffff17 38px 40px),#363e37;position:relative;transition:background .3s}.windows{display:flex;gap:9px;padding:20px 18px}.windows i{display:block;flex:1;height:25px;background:linear-gradient(130deg,#8daca8,#374d4b);border:3px solid #252d27}.handle{position:absolute;width:24px;height:5px;background:#1d221d;bottom:28px;left:calc(50% - 12px)}.sample-garage.classic .garage-panel{background:repeating-linear-gradient(0deg,transparent 0 38px,#878f7d40 38px 40px),#f7f6ef}.sample-garage.wood .garage-panel{background:repeating-linear-gradient(0deg,transparent 0 38px,#2f190a66 38px 40px),repeating-linear-gradient(3deg,#a47145 0 5px,#af7c50 5px 8px,#98613a 8px 10px)}.door-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted)}.style-options{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 15px}.style-options button{font-size:11px;padding:11px 12px;border:1px solid #b5bdad;background:transparent;border-radius:2px;color:var(--ink)}.style-options .active{background:var(--ink);color:white;border-color:var(--ink)}.door-copy .style-description{min-height:50px}.fine,.door-copy p.fine{font-size:10px;line-height:1.7;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.steps article{border-top:1px solid #cdd4c5;padding-top:24px}.steps article>span{font-size:13px;color:#a45b2f}.steps h3{font-size:20px;font-weight:600;letter-spacing:-.6px}.steps p{font-size:13px;line-height:1.8;color:var(--muted);max-width:310px}.faq{padding-top:10px;display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.questions details{border-top:1px solid #d3dacb;padding:20px 0}.questions details:last-child{border-bottom:1px solid #d3dacb}.questions summary{list-style:none;display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:14px;font-weight:600}.questions summary::-webkit-details-marker{display:none}.questions summary span{color:#a45b2f;font-size:21px}.questions details[open] summary span{transform:rotate(45deg)}.questions p{font-size:13px;color:var(--muted);line-height:1.8;margin-right:30px}.quote{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1.15fr;gap:80px}.quote h2{font-size:58px;letter-spacing:-2.5px}.quote em{color:var(--orange)}.quote-copy>p:not(.eyebrow){max-width:300px;color:#bbc5b8;font-size:14px;line-height:1.8}.contact-note{margin-top:35px;border-left:2px solid var(--orange);padding-left:18px;max-width:320px;font-size:12px}.contact-note p{color:#b9c4b6;line-height:1.8}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:11px;font-weight:500;margin-bottom:18px}input,select,textarea{display:block;width:100%;margin-top:8px;border:1px solid #667262;background:#30392f;color:white;border-radius:3px;padding:14px;font-size:12px;min-height:45px}input::placeholder,textarea::placeholder{color:#a6b2a2}input:focus,select:focus,textarea:focus{outline:2px solid var(--orange);outline-offset:2px}textarea{resize:vertical}.quote form>.button{width:100%}.quote .fine{color:#b7c2b2}#form-status{font-size:12px;color:#f5b282}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:36px 5.5%;font-size:10px}footer .brand{font-size:16px}footer .brand small{font-size:9px;letter-spacing:3.3px}footer .brand svg{width:32px}footer>p{font-size:12px;color:var(--muted)}footer>a:last-child{font-size:11px}
@media(min-width:1500px){body{max-width:1680px;margin:auto}.hero-copy{padding-top:100px}.hero{min-height:700px}}
@media(max-width:1000px){nav{gap:17px}.hero-copy{padding:60px 8%}.hero{min-height:580px}h1{font-size:62px}.hero-note{margin-top:28px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card p{min-height:45px}.doors,.quote{gap:40px}.quote h2{font-size:48px}.section{padding:70px 5.5%}.faq{padding-top:0}.hero-visual{min-height:550px}.service-strip{font-size:9px;letter-spacing:1px}.brand{font-size:18px}.brand small{font-size:10px;letter-spacing:4px}}
@media(max-width:700px){.topbar{font-size:8px;padding:10px 6%}.topbar span{display:none}header{padding:18px 6%;position:relative}header>.button{display:none}.menu{display:block}nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:3;background:var(--paper);padding:25px 6%;box-shadow:0 10px 20px #0001}nav.open{display:flex;flex-direction:column;gap:23px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6%}.eyebrow{font-size:9px;margin-bottom:20px}h1{font-size:63px;letter-spacing:-3.5px}.intro{max-width:400px;font-size:14px}.hero-note{display:none}.hero-visual{min-height:360px}.hero-visual img{object-position:center 60%}.image-label{left:23px;bottom:40px}.service-strip{padding:19px 6%;flex-wrap:wrap;justify-content:center;gap:12px 18px;font-size:8px}.service-strip i{font-size:13px}.service-strip i:last-of-type{display:none}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:23px;max-width:100%;font-size:13px}h2{font-size:39px}.service-grid{gap:10px}.service-card{padding:20px 16px}.service-card svg{width:40px;height:40px}.service-card h3{font-size:18px}.service-card p{font-size:12px;min-height:110px;margin-bottom:20px}.card-link{font-size:10px;line-height:1.8}.doors,.quote,.faq{grid-template-columns:1fr;gap:35px}.door-art{min-height:310px}.garage-panel{height:175px}.door-art>span{margin-top:22px}.steps{grid-template-columns:1fr;gap:24px}.steps h3{margin:12px 0}.steps p{max-width:100%;margin-bottom:0}.faq{padding-top:0}.quote h2{font-size:48px}.contact-note{margin-top:22px}.form-row{gap:12px}.quote input{padding:12px 10px}footer{padding:30px 6%;flex-wrap:wrap;gap:25px}footer>p{display:none}footer>span{order:3;width:65%}footer>a:last-child{order:4}.photo-note{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.email-link{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}.website-address{overflow-wrap:anywhere}footer{flex-wrap:wrap}

.hero-dual{display:grid;grid-template-rows:1fr 1fr;gap:6px;background:var(--paper)}.hero-dual:after{display:none}.hero-photo{position:relative;min-height:290px;overflow:hidden;display:block}.hero-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#142317cc)}.hero-photo img{transition:transform .5s}.hero-photo:hover img{transform:scale(1.035)}.hero-photo .image-label{bottom:25px;left:25px}.hero-dual>.photo-note{background:#243126bb;padding:4px 7px;bottom:7px}.commercial-section{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}.commercial-image{position:relative;min-height:380px}.commercial-image img{width:100%;height:380px;object-fit:cover;border-radius:4px}.commercial-image>span{position:absolute;bottom:13px;right:13px;font-size:9px;color:white;background:#243126bb;padding:5px 8px}.commercial-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.8}.commercial-copy ul{padding-left:18px;font-size:13px;line-height:2.2}.commercial-copy p.fine{font-size:10px}.commercial-copy .button{margin-top:15px}dialog{border:0;border-radius:6px;background:var(--paper);color:var(--ink);max-width:600px;width:calc(100% - 36px);padding:45px;box-shadow:0 25px 90px #0005}dialog::backdrop{background:#142017aa}dialog h2{font-size:36px}dialog p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted)}dialog ul{font-size:14px;line-height:2;padding-left:20px}.dialog-close{position:absolute;top:12px;right:15px;border:0;background:transparent;font-size:32px;color:var(--ink);padding:4px 10px}body.modal-open{overflow:hidden}dialog p.fine{font-size:11px}nav{gap:22px}@media(max-width:1000px){nav{gap:12px;font-size:12px}.commercial-section{gap:35px}}@media(max-width:700px){.hero-dual{grid-template-columns:1fr 1fr;grid-template-rows:1fr;min-height:310px}.hero-photo{min-height:310px}.hero-photo .image-label{left:13px;bottom:32px;font-size:8px;letter-spacing:1px}.hero-photo .image-label strong{font-size:13px;line-height:1.5;display:block;max-width:145px}.hero-photo img{object-position:center}.commercial-section{grid-template-columns:1fr;gap:30px}.commercial-image,.commercial-image img{height:300px;min-height:300px}dialog{padding:38px 25px}dialog h2{font-size:30px}.hero-dual>.photo-note{font-size:7px}}
