@font-face{font-family:Iron Display;src:url(iron-display.woff) format("woff");font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#1b1d19;--dark:#22241f;--paper:#f7f5ee;--white:#fffefa;--sand:#eeeae0;--muted:#52554b;--line:#d4d0c4;--accent:#f0cc52;--display:"Iron Display","Arial Narrow",sans-serif;--gutter:clamp(21px,5.3vw,82px);--space:clamp(58px,8.4vw,126px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:20px}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.58 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{display:block;width:100%;height:auto}
p,h1,h2,h3,ol,ul{margin-top:0}
h1,h2{font-family:var(--display);font-weight:700;letter-spacing:-.028em;line-height:.99;margin-bottom:20px}
h1{font-size:clamp(56px,8.4vw,126px)}
h2{font-size:clamp(44px,5.6vw,82px)}
h3{font-size:clamp(20px,2.3vw,29px);font-weight:760;line-height:1.17;letter-spacing:-.045em;margin-bottom:10px}
p{margin-bottom:17px}
svg{flex:none}
:focus-visible{outline:3px solid #986c00;outline-offset:4px}
.hero :focus-visible,.inner-hero :focus-visible,.footer :focus-visible,.urgent-box :focus-visible{outline-color:var(--accent)}
[hidden]{display:none!important}
.skip{position:absolute;z-index:15;top:8px;left:8px;transform:translateY(-160%);background:var(--accent);padding:10px 14px}
.skip:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.wrap{width:min(100% - var(--gutter)*2, 1310px);margin-inline:auto}
.section{padding-block:var(--space)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:26px;margin-bottom:34px}
.section-head h2{margin-bottom:0}
.section-intro{max-width:54ch;margin:14px 0 0;color:var(--muted)}
.eyebrow,.mini{font-size:11px;font-weight:780;letter-spacing:.16em;line-height:1.4}
.eyebrow{text-transform:uppercase;display:flex;align-items:center;gap:10px;margin:0 0 19px}
.eyebrow::before{content:"";width:18px;height:3px;background:var(--accent);flex:none}
.mini{letter-spacing:.09em;color:var(--muted)}
.button{min-height:52px;padding:12px 17px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid transparent;line-height:1.25;font-size:13px;font-weight:750;transition:background .22s,color .22s,border-color .22s}
.button>span,.text-link>span{font-size:18px;line-height:1}
.button svg{width:18px;height:18px}
.primary{background:var(--accent);color:var(--ink)}
.primary:hover{background:#ffe18a}
.dark{background:var(--ink);color:var(--white)}
.dark:hover{background:#3d4037}
.outline{border-color:#aaa99b;color:var(--white)}
.outline:hover{background:var(--white);color:var(--ink);border-color:var(--white)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.text-link{display:inline-flex;align-items:center;gap:13px;width:fit-content;border-bottom:1px solid currentColor;padding-bottom:3px;font-size:13px;font-weight:750;line-height:1.4}
.text-link:hover{color:#775707}
.topline{background:var(--ink);color:#e9e8df;font-size:10px;font-weight:680;letter-spacing:.13em}
.topline .wrap,.topline .wrap>div{display:flex;align-items:center;justify-content:space-between;gap:25px}
.topline .wrap{min-height:34px}
.topline i{display:inline-block;width:7px;height:7px;background:var(--accent);margin-right:7px}
.topline a{display:inline-flex;align-items:center;gap:7px}
.topline a:hover{color:var(--accent)}
.topline svg{width:13px;height:13px}
.topline small{font-size:9px;color:#f6d969}
.header{position:relative;z-index:5;background:var(--white)}
.nav-wrap{display:flex;justify-content:space-between;align-items:center;min-height:78px;gap:22px}
.brand{display:inline-flex;align-items:center;gap:11px;line-height:1;flex:none}
.brand b,.brand small{display:block}
.brand b{font:700 30px/.95 var(--display);letter-spacing:.005em}
.brand small{font-size:8px;font-weight:800;letter-spacing:.26em;margin-top:5px}
#main-nav{display:flex;align-items:center;gap:clamp(15px,2.25vw,33px);font-size:13px;font-weight:700}
#main-nav>a,#main-nav summary{padding:12px 0}
#main-nav>a:hover,#main-nav summary:hover{color:#795800}
#main-nav>a[aria-current=page]{box-shadow:inset 0 -2px var(--accent)}
.service-nav{position:relative}
.service-nav summary{display:flex;align-items:center;gap:5px;cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
.service-nav summary svg{width:15px;height:15px}
.service-nav[open] summary svg{transform:rotate(180deg)}
.service-nav>div{position:absolute;top:100%;left:-16px;width:235px;background:var(--white);padding:8px;border:1px solid var(--line);box-shadow:0 12px 24px #1b1d191a}
.service-nav>div a{display:block;padding:10px}
.service-nav>div a:hover,.service-nav>div [aria-current=page]{background:var(--sand)}
.nav-quote{min-height:44px}
.menu-toggle,.mobile-contact{display:none}
.hero{background:var(--ink);color:var(--white)}
.hero-grid{max-width:1720px;margin:auto;display:grid;grid-template-columns:minmax(0,45%) minmax(0,55%);min-height:clamp(490px,42vw,680px)}
.hero-copy{padding:clamp(55px,6vw,104px) 25px clamp(52px,6vw,100px) max(var(--gutter), calc((100vw - 1310px) / 2));align-self:center}
.hero-copy h1{text-transform:uppercase;margin:0 0 26px;font-size:clamp(61px,6.85vw,115px);line-height:.91}
.hero-copy h1 span,.hero-copy h1 em{display:block}
.hero-copy h1 em{font-style:normal;color:var(--accent)}
.hero-copy>p:not(.eyebrow){max-width:36ch;color:#e3e1d6;font-size:clamp(15px,1.45vw,20px);line-height:1.55;margin-bottom:29px}
.hero-image,.inner-image,.style-image,.process-image{position:relative;overflow:hidden}
.hero-image img,.inner-image img,.style-image img,.process-image img{height:100%;object-fit:cover}
.hero-image img{position:absolute;inset:0;object-position:52% 51%;animation:photo-in .65s ease-out both}
@keyframes photo-in{from{opacity:.65;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
.image-tag{position:absolute;bottom:18px;left:18px;max-width:calc(100% - 36px);padding:9px 12px;background:var(--ink);color:var(--white);font-size:9px;font-weight:750;letter-spacing:.12em;line-height:1.4}
.image-tag b{display:block;font-size:13px;letter-spacing:0;margin-top:2px}
.hero-image .image-tag{left:auto;right:21px;bottom:20px}
.utility{background:var(--accent)}
.utility .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.utility a{display:flex;align-items:center;gap:15px;padding:17px 22px;border-right:1px solid #28281238;transition:background .2s}
.utility a:first-child{border-left:1px solid #28281238}
.utility a:hover{background:#fff7d63b}
.utility a>.arrow-icon{margin-left:auto;width:18px;height:18px}
.utility b,.utility div>span{display:block}
.utility b{font-size:14px}
.utility div>span{font-size:12px}
.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.service-card{position:relative;grid-column:span 2;border:1px solid var(--line);background:var(--white);overflow:hidden}
.service-card:nth-child(-n+2){grid-column:span 3}
.service-card-image{aspect-ratio:2/1;overflow:hidden;background:var(--sand)}
.service-card:nth-child(-n+2) .service-card-image{aspect-ratio:2.65/1}
.service-card img,.project-image img{height:100%;object-fit:cover;transition:transform .45s ease}
.service-card:hover img,.project-image:hover img{transform:scale(1.045)}
.service-card>div:last-child{position:relative;padding:20px 64px 20px 20px}
.service-card p{margin:0;color:var(--muted);font-size:14px}
.round-arrow{position:absolute;right:18px;top:21px;display:grid;place-items:center;width:33px;height:33px;border:1px solid var(--line);border-radius:50%;transition:background .2s,border-color .2s}
.service-card:hover .round-arrow{background:var(--accent);border-color:var(--accent)}
.showroom,.coverage,.related{background:var(--sand)}
.style-tabs,.filters{display:none}
.is-enhanced .style-tabs,.is-enhanced .filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.style-tab,.filters button{border:1px solid #a5a193;background:transparent;color:var(--ink);font-size:13px;font-weight:750;min-height:42px;padding:8px 18px}
.style-tab:hover,.filters button:hover{background:#ded9cc}
.style-tab[aria-selected=true],.filters [aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--white)}
.style-panel{display:grid;grid-template-columns:1.45fr 1fr;background:var(--white);min-height:335px;margin-bottom:12px}
.style-image{min-height:335px}
.style-image img,.process-image img,.inner-image img{position:absolute;inset:0}
.style-content{align-self:center;padding:clamp(24px,5vw,72px)}
.style-content h3{font-family:var(--display);font-size:clamp(34px,4.7vw,66px);line-height:.98}
.style-content p:not(.eyebrow){color:var(--muted)}
.comparison{background:var(--ink);color:var(--white)}
.compare-grid{display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:clamp(30px,6vw,90px)}
.comparison p:not(.eyebrow){color:#d9d9cb;max-width:38ch}
.compare-media{position:relative;aspect-ratio:1.5;overflow:hidden;background:#45463d;--split:50%}
.compare-media img{position:absolute;inset:0;height:100%;object-fit:cover}
.compare-media img:nth-of-type(2){clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.compare-label{position:absolute;top:12px;z-index:1;background:var(--ink);padding:5px 10px;font-size:11px;font-weight:750}
.before-label{left:12px}
.after-label{right:12px}
.compare-divider{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:var(--white);transform:translateX(-50%);display:grid;place-content:center}
.compare-divider b{display:grid;place-items:center;background:var(--accent);color:var(--ink);width:36px;height:36px;border-radius:50%;line-height:1}
.compare-control,.compare-hint{display:none}
.is-enhanced .compare-hint{display:block;margin:12px 0 0;font-size:13px;font-weight:650}
.is-enhanced .compare-control{display:flex;gap:10px;align-items:center;margin-top:2px;font-size:12px}
.compare-control input{flex:1;min-width:0;accent-color:var(--accent);cursor:ew-resize;min-height:30px}
.compare-control input:focus-visible{outline-color:var(--accent)}
.projects-home{background:var(--white)}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 17px}
.project{border-bottom:1px solid var(--line);scroll-margin-top:20px}
.project-image{display:block;overflow:hidden;aspect-ratio:1.65;background:var(--sand)}
.project-copy{padding:17px 0 22px}
.project-copy p{margin-bottom:9px}
.project-copy p:not(.mini){color:var(--muted);max-width:56ch}
.workmanship{background:var(--paper)}
.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,7vw,100px);align-items:center}
.process-image{min-height:440px;align-self:stretch}
.process-image img{object-position:32% center}
.process-list{list-style:none;padding:0;margin:23px 0 22px}
.process-list li{display:flex;align-items:flex-start;gap:13px;padding:14px 0;border-top:1px solid var(--line)}
.process-list svg{width:18px;height:18px;margin-top:3px;background:var(--accent);padding:2px}
.process-list h3{font-size:19px;margin-bottom:5px}
.process-list p{color:var(--muted);margin:0;font-size:14px}
.reviews{background:var(--white);padding-block:clamp(45px,6vw,94px);border-top:1px solid var(--line)}
.review-grid,.area-grid,.faq-grid,.scope-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:start;gap:clamp(28px,7vw,95px)}
.review-sample{display:flex;gap:20px;align-items:center;align-self:center;padding:clamp(18px,3.5vw,43px);background:var(--sand);border-left:4px solid var(--accent)}
.review-glyph{color:#696340;font-family:Georgia,serif;font-size:94px;line-height:.75;align-self:flex-start}
.review-sample p:last-child{margin:0;color:var(--muted)}
.area-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);list-style:none;padding:1px;margin:0 0 12px}
.area-list li{background:var(--white);min-height:73px;display:flex;align-items:center;gap:10px;padding:13px;font-weight:700}
.area-list svg{width:20px;height:20px;color:#745406}
.faq details,.scope-list>div{border-top:1px solid var(--line)}
.faq details:last-child,.scope-list>div:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;font-weight:750;padding:15px 0}
.faq summary span{position:relative;width:25px;height:25px;flex:none;border:1px solid var(--line)}
.faq summary span::before,.faq summary span::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1px;background:currentColor;transform:translate(-50%,-50%)}
.faq summary span::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] summary span{background:var(--accent);border-color:var(--accent)}
.faq details[open] summary span::after{display:none}
.faq details p{padding-right:30px;color:var(--muted)}
.quote-band{background:var(--accent);padding-block:clamp(42px,6vw,92px)}
.quote-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}
.quote-band .eyebrow::before{background:var(--ink)}
.quote-band p:last-child,.quote-band h2{margin-bottom:8px}
.footer{background:var(--ink);color:var(--white);padding-top:50px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1.1fr .75fr 1fr;gap:25px}
.footer h2{font:750 14px/1.4 system-ui,sans-serif;letter-spacing:0;margin:0 0 12px}
.footer p,.footer li,.footer a:not(.brand){font-size:13px;color:#dfdfd2}
.footer a:hover{color:var(--accent)}
.footer .brand{margin-bottom:15px}
.footer ul{padding:0;margin:0 0 10px;list-style:none}
.footer li{margin-bottom:6px}
.footer-bottom{border-top:1px solid #53564d;margin-top:35px;padding-block:17px;color:#d4d5c9;font-size:11px}
.footer-bottom a:not(.brand){font-size:inherit;text-decoration:underline}
.inner-hero{background:var(--ink);color:var(--white);padding-block:clamp(40px,6vw,86px)}
.inner-hero .wrap{display:grid;grid-template-columns:1fr}
.inner-hero.has-photo .wrap{grid-template-columns:1fr 1fr;gap:clamp(25px,5vw,75px);align-items:center}
.inner-hero h1{font-size:clamp(53px,6.9vw,101px);max-width:14ch}
.inner-hero p:not(.eyebrow){color:#deded1;font-size:clamp(16px,1.55vw,20px);max-width:50ch}
.inner-hero .actions,.inner-hero .button{margin-top:8px}
.inner-hero .actions .button{margin-top:0}
.inner-image{aspect-ratio:1.3;min-height:260px}
.breadcrumb{display:flex;align-items:center;gap:8px;color:#d8d9cb;font-size:11px;margin-bottom:26px}
.breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.scope-list>div{padding:18px 0}
.scope-list p{margin:0;color:var(--muted)}
.service-note{padding:13px 15px;border-left:3px solid var(--accent);background:var(--sand);max-width:36ch;font-size:14px}
.service-note p{margin:4px 0 0}
.related-links{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);padding:1px}
.related-links a{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--white);border:0;padding:17px}
.contact-grid{display:grid;grid-template-columns:.68fr 1.32fr;align-items:start;gap:clamp(20px,5vw,70px)}
.urgent-box,.form-card,.contact-details{padding:clamp(20px,3.4vw,45px)}
.urgent-box{background:var(--ink);color:var(--white)}
.urgent-box p{color:#e1e0d3}
.urgent-box .mini{margin:11px 0 0}
.contact-details,.form-card{background:var(--white);border:1px solid var(--line)}
.contact-details{margin-top:12px}
.contact-details h2,.urgent-box h2{font-size:clamp(31px,3.5vw,53px)}
.contact-details>a:not(.text-link){text-decoration:underline;overflow-wrap:anywhere}
.form-card h2{font-size:clamp(39px,4.3vw,65px)}
.form-note{padding:11px 13px;background:var(--sand);color:var(--muted);font-size:13px}
.form-card fieldset{margin:0;padding:0;border:0;min-width:0}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px 12px;margin-bottom:20px}
.fields label{display:grid;gap:6px;font-size:13px;font-weight:750;align-content:start;min-width:0}
.fields small{display:contents;color:var(--muted);font-weight:500}
.fields input,.fields select,.fields textarea{width:100%;min-width:0;border:1px solid #a8a594;border-radius:0;background:var(--white);color:var(--ink);padding:11px 9px;font-size:16px;line-height:1.35}
.fields textarea{resize:vertical}
.fields .full,.urgent-help{grid-column:1/-1}
.urgent-help{margin:0}
.form-success{padding:22px 16px;background:var(--sand);border-left:4px solid var(--accent)}
.form-success h3{font-family:var(--display);font-size:clamp(34px,4vw,53px)}
@media(max-width:1050px){
  .hero-grid{grid-template-columns:46% 54%}
  .hero-copy .button{gap:9px}
}
@media(max-width:850px){
  .nav-wrap{gap:14px;min-height:68px}
  #main-nav{gap:15px}
  .nav-quote{display:none}
  .service-card>div:last-child{padding-left:14px;padding-right:48px}
  .round-arrow{right:10px}
}
@media(max-width:760px){
  .topline .wrap{min-height:29px;gap:5px}
  .topline .wrap>div{gap:6px}
  .topline .wrap>div>a:first-child{display:none}
  .topline{font-size:9px;letter-spacing:.07em}
  .nav-wrap{flex-wrap:wrap;position:relative;padding:11px 0;min-height:0}
  .brand-mark{width:37px;height:37px}
  .brand b{font-size:27px}
  .brand small{font-size:7px}
  #main-nav{width:100%;align-items:stretch;flex-direction:column;gap:0;padding:0 0 4px}
  .is-enhanced #main-nav{display:none}
  .is-enhanced #main-nav.is-open{display:flex}
  #main-nav>a,#main-nav summary{padding:10px 0;border-top:1px solid var(--line)}
  #main-nav>a[aria-current=page]{box-shadow:none;text-decoration:underline;text-decoration-color:#926a05;text-underline-offset:4px}
  .service-nav>div{position:static;width:auto;border:0;box-shadow:none;background:var(--sand);margin-bottom:8px}
  .is-enhanced .menu-toggle{display:flex;align-items:center;gap:10px;background:transparent;border:1px solid var(--line);padding:7px 9px;color:var(--ink);font-size:12px;font-weight:750;min-height:40px}
  .menu-bars{width:16px;height:12px;border-block:2px solid currentColor;position:relative}
  .menu-bars::after{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:currentColor;transform:translateY(-50%)}
  .hero-grid,.inner-hero.has-photo .wrap{grid-template-columns:1fr}
  .hero-copy{padding:40px var(--gutter) 34px}
  .hero-copy h1{font-size:clamp(62px,13vw,99px);margin-bottom:16px}
  .hero-copy>p:not(.eyebrow){margin-bottom:19px}
  .hero-image{aspect-ratio:1.38}
  .hero-image .image-tag{bottom:12px;right:12px}
  .utility .wrap{grid-template-columns:1fr}
  .utility a,.utility a:first-child{border:0;border-bottom:1px solid #28281238;padding:10px 0;gap:12px}
  .utility a:last-child{border:0}
  .utility svg{width:21px;height:21px}
  .section-head{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:22px}
  .service-grid{grid-template-columns:1fr 1fr;gap:10px}
  .service-card,.service-card:nth-child(-n+2){grid-column:auto}
  .service-card:nth-child(-n+2) .service-card-image{aspect-ratio:2/1}
  .service-card h3{font-size:20px}
  .service-card p{font-size:13px}
  .service-card>div:last-child{padding:12px 11px 42px}
  .round-arrow{top:auto;bottom:10px;left:11px;width:25px;height:25px}
  .style-panel,.compare-grid,.process-grid,.review-grid,.area-grid,.faq-grid,.scope-grid,.contact-grid{grid-template-columns:1fr;gap:18px}
  .style-panel{gap:0}
  .style-image{min-height:0;aspect-ratio:1.48}
  .process-image{min-height:0;aspect-ratio:1.36}
  .comparison h2,.area-grid h2,.faq-grid h2,.review-grid h2{margin-bottom:10px}
  .project-grid{gap:18px 10px}
  .project-copy p:not(.mini){font-size:14px}
  .quote-band .wrap{align-items:flex-start;flex-direction:column;gap:12px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer{padding-bottom:calc(65px + env(safe-area-inset-bottom,0px))}
  .mobile-contact{display:grid;grid-template-columns:1fr 1.1fr;position:fixed;z-index:4;bottom:0;left:0;right:0;gap:6px;background:var(--white);border-top:1px solid var(--line);padding:6px var(--gutter) calc(6px + env(safe-area-inset-bottom,0px))}
  .mobile-contact .button{min-height:43px;justify-content:center;gap:8px;padding:7px 4px;font-size:12px}
  .inner-hero{padding-block:33px}
  .inner-image{min-height:0;aspect-ratio:1.55}
  .related-links{grid-template-columns:1fr}
}
@media(max-width:390px){
  .hero-copy .actions{gap:7px}
  .hero-copy .button{padding:10px 8px;font-size:12px;min-height:44px}
  .hero-copy .button>span{font-size:15px}
  .fields{grid-template-columns:1fr}
  .project-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
.round-arrow .arrow-icon{width:16px;height:16px}
.is-enhanced .compare-media{cursor:ew-resize;touch-action:pan-y}
.project-dialog{width:min(850px,calc(100% - 32px));max-height:calc(100% - 32px);margin:auto;padding:0;background:var(--white);color:var(--ink);border:1px solid var(--line)}
.project-dialog::backdrop{background:#161813bd}
.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px}
.dialog-head h2{font-size:clamp(30px,5vw,55px);margin:0}
.dialog-head .mini{margin:0 0 4px}
.dialog-head .button{min-height:42px}
.project-dialog img{max-height:62vh;object-fit:contain;background:var(--ink)}
.dialog-note{padding:12px 18px;margin:0;color:var(--muted)}
@media(max-width:350px){.hero-copy h1{font-size:53px}}
