:root{--red:#bd1727;--ink:#18191a;--muted:#636568;--line:#dadcdf;--paper:#f3f4f5;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.07}h1{font-size:clamp(48px,5vw,82px)}h2{font-size:clamp(37px,4vw,58px)}h3{font-size:23px;line-height:1.25;letter-spacing:-.03em}em{font-weight:400;color:var(--red)}.header{background:white;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:12px 5%;border-bottom:1px solid var(--line)}.brand{width:190px;flex-shrink:0}.brand img{width:100%;height:auto}.header nav{display:flex;gap:32px;font-size:14px;font-weight:600}.header nav a:hover{color:var(--red)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:13px 23px;font-size:14px;font-weight:700;line-height:1.3;border:1px solid transparent;transition:background .2s}.button.dark{background:var(--ink);color:white}.button.red{background:var(--red);color:white}.button:hover{background:#83121d;color:white}.hero{display:grid;grid-template-columns:47% 53%;min-height:585px}.hero-copy{padding:76px 9% 37px 10.65%;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:700;line-height:1.5;margin-bottom:22px}.hero-copy .eyebrow{display:flex;align-items:center;gap:10px}.eyebrow>span{display:inline-block;width:22px;height:2px;background:var(--red)}.hero-intro{font-size:18px;line-height:1.65;color:var(--muted);max-width:390px;margin:25px 0 30px}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid var(--ink);padding:8px 0}.hero-note{font-size:11px;letter-spacing:.08em;color:var(--muted);margin-top:55px}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo>img{height:100%;width:100%;object-fit:cover;object-position:57% center}.photo-tag{position:absolute;left:30px;bottom:30px;padding:17px 24px;background:rgba(17,18,19,.88);color:white;border-left:3px solid var(--red)}.photo-tag span{display:block;font-size:10px;letter-spacing:.16em;color:#cfd1d3}.photo-tag b{font-size:17px;font-weight:500}.proof{display:grid;grid-template-columns:repeat(3,1fr);padding:40px 5%;border-block:1px solid var(--line);background:var(--paper)}.proof>div{padding:0 38px;border-right:1px solid #d4d6d8}.proof>div:first-child{padding-left:0}.proof>div:last-child{border:0}.proof strong{font-size:clamp(29px,3vw,44px);line-height:1.2;letter-spacing:-.05em;font-weight:500}.proof strong span{color:var(--red)}.proof p{color:var(--muted);font-size:14px;margin-top:6px}.section{padding:100px 5%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:48px}.section-heading>p{max-width:360px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.service-grid article{padding:30px 28px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.service-grid article:first-child{padding-left:0}.service-grid article:last-child{border:0;padding-right:0}.service-number{color:var(--red);font-size:14px;font-weight:bold;margin-bottom:45px}.service-grid h3{margin-bottom:17px}.service-grid p{font-size:16px;color:var(--muted);margin-bottom:25px}.service-grid a{font-size:14px;font-weight:bold;border-bottom:1px solid var(--line);margin-top:auto;padding-bottom:4px}.service-grid a:hover{color:var(--red)}.brands{background:var(--ink);color:white;padding:45px 5%}.container{max-width:1440px;margin:auto}.brands .eyebrow{color:#c5c7ca;margin-bottom:30px}.brand-list{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;align-items:center}.brand-list>span{font-family:var(--serif);font-size:38px;letter-spacing:-.02em}.brand-list small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.12em;color:#e198a1;margin-top:4px}.brand-note{font-size:12px;color:#a8aaac;margin-top:27px}.gallery{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:280px 230px;gap:16px}.gallery-item{position:relative;padding:0;border:0;text-align:left;cursor:pointer;background:var(--ink);overflow:hidden;color:white}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-column:3;grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.75));pointer-events:none}.gallery-item>span{position:absolute;bottom:20px;left:22px;right:22px;z-index:1;font-size:16px}.gallery-item b{display:block;font-size:11px;letter-spacing:.07em;font-weight:400;color:#ddd}.rates{max-width:none;background:var(--paper)}.rates>.section-heading,.rate-grid{max-width:1440px;margin-left:auto;margin-right:auto}.rate-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:20px}.rate-card{background:white;padding:36px;border-top:3px solid var(--ink)}.rate-card.featured{border-color:var(--red)}.price{font-family:var(--serif);font-size:64px;letter-spacing:-.045em;line-height:1.2}.price span{font-family:var(--sans);font-size:20px;letter-spacing:0;color:var(--muted);margin-left:7px}.rate-description{font-size:18px;margin:20px 0;padding-bottom:24px;border-bottom:1px solid var(--line)}.rate-card ul{list-style:none;padding:0;margin:0;color:#494b4e;font-size:15px}.rate-card li{margin-top:10px;padding-left:19px;position:relative}.rate-card li:before{content:'✓';position:absolute;left:0;color:var(--red)}.rate-detail{font-size:15px;color:var(--muted)}.estimate{background:var(--ink);color:white;padding:32px}.estimate .eyebrow{color:#c9cbce;margin-bottom:13px}.estimate h3{margin-bottom:23px}.estimate label{display:block;font-size:14px;margin:15px 0 6px}.estimate input,.estimate select{width:100%;border:1px solid #66696d;border-radius:0;background:#2c2e31;color:#fff;padding:11px 12px;min-height:48px}.estimate-result{border-top:1px solid #55575b;margin-top:25px;padding-top:17px}.estimate-result span{font-size:13px;display:block;color:#c9cbcd}.estimate output{display:block;font-size:36px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.small{font-size:12px;line-height:1.6;color:#b9bcc0;margin-top:12px}.about{display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:auto}.about-photo{min-height:560px}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:30% center}.about-copy{padding:80px 10%}.about-copy>p:not(.eyebrow){color:var(--muted);margin-top:24px}.signature{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.signature strong{font-family:var(--serif);font-size:25px;display:block}.signature span{font-size:13px;color:var(--muted)}.project{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;border-top:1px solid var(--line)}.project>div>p:not(.eyebrow){max-width:400px;color:var(--muted);margin-top:26px}.contact-name{display:flex;flex-direction:column;margin-top:35px;border-left:3px solid var(--red);padding-left:20px}.contact-name strong{font-size:20px}.contact-name span{color:var(--muted);font-size:15px}.project-details h3{font-size:20px;margin-bottom:20px}.project-details ol{list-style:none;padding:0;margin:0}.project-details li{display:flex;gap:22px;padding:17px 0;border-top:1px solid var(--line)}.project-details li>span{color:var(--red);font-size:13px}.project-details strong{font-size:16px}.project-details p{font-size:14px;color:var(--muted);margin-top:4px}footer{border-top:1px solid var(--line);padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:14px;color:var(--muted)}footer img{width:155px;height:auto}footer a{border-bottom:1px solid var(--line)}dialog{padding:50px 15px 15px;background:#171819;border:0;color:white;width:min(1100px,94vw);max-height:94vh}dialog::backdrop{background:rgba(0,0,0,.86)}dialog img{max-height:76vh;max-width:100%;margin:auto;object-fit:contain}dialog>button{position:absolute;top:10px;right:15px;background:none;color:white;border:0;padding:5px 10px;cursor:pointer}dialog>p{font-size:14px;text-align:center;margin-top:12px}@media(min-width:1600px){.header{padding-inline:calc((100% - 1440px)/2)}.hero{max-width:1600px;margin:auto}.proof{padding-inline:calc((100% - 1440px)/2)}}@media(max-width:1000px){.header nav{gap:19px}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:55px 8% 30px 10%}.hero-note{margin-top:35px}.hero-actions{gap:15px}.section{padding:75px 5%}.service-grid{grid-template-columns:repeat(2,1fr);gap:35px 0}.service-grid article{padding:28px}.service-grid article:nth-child(odd){padding-left:0}.service-grid article:nth-child(even){border:0;padding-right:0}.service-number{margin-bottom:25px}.rate-grid{grid-template-columns:1fr 1fr}.estimate{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:5px 28px}.estimate .eyebrow,.estimate h3,.estimate .small,.estimate-result{grid-column:span 2}.estimate label{grid-column:1}.estimate input,.estimate select{grid-column:2}.estimate label{margin:15px 0}.estimate h3{margin-bottom:10px}.estimate-result{display:flex;justify-content:space-between;align-items:center}.about-copy{padding:60px 9%}.section-heading{gap:35px}.section-heading>p{max-width:300px}.gallery{grid-template-rows:240px 220px}.project{gap:8%}}
@media(max-width:700px){html{scroll-padding-top:20px}.header{flex-wrap:wrap;gap:8px;padding-top:8px;padding-bottom:12px}.brand{width:150px}.header-cta{min-height:40px;padding:10px 14px;font-size:12px}.header nav{order:3;width:100%;justify-content:space-between;border-top:1px solid #eee;padding-top:10px;font-size:13px;gap:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 6% 32px}.hero .eyebrow{margin-bottom:18px}.hero h1{font-size:clamp(44px,9vw,65px)}.hero-intro{font-size:17px;max-width:440px;margin:20px 0 25px}.hero-note{margin-top:28px;font-size:10px;line-height:1.6}.hero-photo{height:320px}.hero-photo>img{object-position:50% 55%}.photo-tag{left:20px;bottom:20px;padding:12px 17px}.photo-tag b{font-size:14px}.proof{padding:25px 6%;gap:15px}.proof>div{padding:0 12px 0 0}.proof strong{font-size:27px;letter-spacing:-.05em}.proof p{font-size:12px;line-height:1.5}.section{padding:62px 6%}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:22px;max-width:100%}.eyebrow{font-size:11px;margin-bottom:16px}.service-grid article{padding:22px 18px 0}.service-grid h3{font-size:21px}.service-grid p{font-size:15px}.service-grid a{font-size:13px}.brands{padding:35px 6%}.brand-list{grid-template-columns:1fr 1fr;gap:26px}.brand-list>span{font-size:33px}.brand-list small{font-size:9px}.brand-note{font-size:11px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:235px 285px;gap:10px}.gallery-item.wide{grid-column:auto}.gallery-item.tall{grid-column:auto;grid-row:auto}.gallery-item>span{font-size:14px;left:15px;right:15px;bottom:14px}.gallery-item.wide img{object-position:65% center}.gallery-item b{font-size:10px}.rate-grid{grid-template-columns:1fr}.rate-card{padding:28px}.price{font-size:62px}.estimate{display:block;grid-column:auto;padding:28px}.estimate-result{display:block}.estimate label{margin:15px 0 6px}.estimate h3{margin-bottom:20px}.about{grid-template-columns:1fr}.about-photo{min-height:0;height:320px}.about-photo img{object-position:50% center}.about-copy{padding:55px 6%}.project{grid-template-columns:1fr;gap:45px}.project-details h3{margin-bottom:20px}footer{flex-wrap:wrap;padding:25px 6%;font-size:12px}footer img{width:125px}footer a{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.contact-phone{color:var(--red);font-size:25px;font-weight:700;margin-top:10px;width:fit-content}.contact-phone:hover{text-decoration:underline}

.contact-email{font-size:16px;margin-top:8px;overflow-wrap:anywhere}.contact-email:hover{text-decoration:underline}footer a{overflow-wrap:anywhere}

/* Six services and quote-based construction pricing. */
.service-grid{grid-template-columns:repeat(3,1fr);row-gap:36px}.service-grid article:nth-child(3n){border-right:0;padding-right:0}.service-grid article:nth-child(3n+1){padding-left:0}.service-grid article:last-child{padding-left:28px}.quote-heading{font-family:var(--serif);font-weight:400;font-size:36px;line-height:1.2}.quote-button{margin-top:25px}.rate-grid{grid-template-columns:repeat(3,1fr)}@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid article:nth-child(odd){padding:28px 28px 0 0;border-right:1px solid var(--line)}.service-grid article:nth-child(even){padding:28px 0 0 28px;border-right:0}.rate-grid{grid-template-columns:1fr 1fr}.rate-card:last-child{grid-column:span 2}}@media(max-width:700px){.service-grid article:nth-child(odd){padding:22px 18px 0 0}.service-grid article:nth-child(even){padding:22px 0 0 18px}.rate-grid{grid-template-columns:1fr}.rate-card:last-child{grid-column:auto}.quote-heading{font-size:32px}}

/* Clearer quote flow and readable mobile layouts. */
.skip-link{position:absolute;left:16px;top:-100px;z-index:100;background:var(--ink);color:white;padding:12px 20px}.skip-link:focus{top:12px}
.header{position:sticky;top:0;z-index:20;box-shadow:0 3px 16px #18191a08}.header nav a{padding:10px 0}.hero-copy{padding-top:60px;padding-bottom:44px}.hero h1{font-size:clamp(46px,4.5vw,72px);line-height:1.08}.hero-intro{max-width:440px}.hero-note{font-size:12px}.photo-tag span{font-size:12px;letter-spacing:.08em}.eyebrow{font-size:14px;letter-spacing:.1em}.service-grid article{padding-bottom:28px;border-bottom:1px solid var(--line)}.service-grid h3{font-size:24px}.service-number{margin-bottom:26px}.rate-card{display:flex;flex-direction:column;align-items:flex-start}.rate-card .quote-button{margin-top:auto}.rate-card .rate-detail,.rate-card ul{margin-bottom:28px}.brand-note,.signature span{font-size:14px}.brand-list small{font-size:12px}.gallery-item b{font-size:14px;letter-spacing:0}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.button.outline{border-color:var(--ink);background:white}.button.outline:hover{background:var(--ink);color:white}.project>div>p.email-note{font-size:14px;margin-top:16px}.project-details{padding:28px;background:var(--paper);align-self:start}.project-details li>span{font-size:14px}.contact-email{max-width:100%}
@media(max-width:1000px){.hero h1{font-size:clamp(42px,5vw,60px)}.header nav{gap:20px}.hero-actions .button{padding-inline:18px}}
@media(max-width:700px){html{scroll-padding-top:140px}.header nav{font-size:14px;gap:8px;padding-top:2px}.header-cta{font-size:14px;min-height:44px}.hero h1{font-size:clamp(42px,9vw,60px)}.hero-copy{padding:36px 6% 30px}.hero-intro{font-size:17px}.hero-note{font-size:12px;letter-spacing:.025em}.hero-actions{gap:18px}.hero-photo{height:270px}.photo-tag{max-width:calc(100% - 40px)}.photo-tag span{font-size:12px}.proof{gap:12px}.proof strong{font-size:clamp(21px,6vw,29px)}.proof p{font-size:14px}.eyebrow{font-size:14px}.service-grid{grid-template-columns:1fr;row-gap:0}.service-grid article:nth-child(n){padding:24px 0;border-right:0;display:grid;grid-template-columns:30px 1fr;column-gap:14px}.service-number{grid-column:1;grid-row:1;margin:5px 0 0}.service-grid h3,.service-grid p,.service-grid a{grid-column:2}.service-grid h3{font-size:24px;margin-bottom:12px}.service-grid p{font-size:16px;margin-bottom:16px}.service-grid a{font-size:14px;justify-self:start}.brands .brand-note{font-size:14px}.brand-list small{font-size:12px}.gallery-item b{font-size:14px}.gallery-item>span{font-size:16px}.gallery{grid-template-rows:260px 260px}.gallery-item>span{left:12px;right:12px}.project-details{padding:24px}.contact-actions .button{flex:1 1 180px}footer{font-size:14px}footer>a{margin-left:0}}
@media(max-width:380px){.brand{width:128px}.header-cta{padding-inline:10px}.gallery{grid-template-columns:1fr;grid-template-rows:repeat(4,270px)}.hero-actions{align-items:flex-start;flex-direction:column}}
