:root{--ink:#252324;--accent:#a34800;--paper:#fcfbfa;--line:#dcd8d9;--muted:#666064}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #BF5700;outline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:30}.skip:focus{top:0}.topline{background:var(--ink);color:#fff;padding:10px 5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.07em}.topline a{font-size:13px;letter-spacing:0}header{height:105px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:inline-flex;flex-direction:column;line-height:1}.brand b{font-family:'Manrope',sans-serif;font-size:36px;font-weight:800;letter-spacing:-2px}.brand b span{font:11px sans-serif;vertical-align:top;letter-spacing:0;margin-left:3px}.brand small{font-size:10px;letter-spacing:.26em;margin-top:6px}nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:500}nav>a:hover,.textlink:hover{color:var(--accent)}.nav-cta{border:1px solid var(--ink);padding:13px 20px}.nav-cta span{margin-left:18px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px}.hero-copy{padding:68px 7% 38px 10%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:700;display:flex;gap:12px;align-items:center}.line{display:inline-block;width:28px;height:2px;background:var(--accent)}h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:500;line-height:1.08;letter-spacing:-.055em}h1{font-size:clamp(42px,4.5vw,74px);margin:30px 0 24px}em{font-family:Georgia,serif;font-weight:400;color:var(--accent);letter-spacing:-.04em}p{margin:0 0 22px}.hero-copy>p{max-width:435px;color:var(--muted);font-size:17px}.actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin:10px 0 45px}.button{background:var(--accent);color:#fff;padding:16px 23px;display:inline-flex;align-items:center;gap:27px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#984600;transform:translateY(-2px)}.textlink{font-size:14px;border-bottom:1px solid;padding-bottom:3px;font-weight:500}.hero-note{border-top:1px solid var(--line);width:100%;padding-top:20px;margin-top:auto;display:flex;flex-direction:column;font-size:13px}.hero-note b{font-weight:600}.hero-note span{color:var(--muted)}.hero-photo{margin:0;position:relative;overflow:hidden;min-height:600px;background:#a6a5a1}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 50%}.hero-photo figcaption{position:absolute;inset:auto 28px 22px;display:flex;justify-content:space-between;align-items:end;color:#fff;text-shadow:0 1px 8px #222;line-height:1.5;font-size:12px;font-weight:700;letter-spacing:.12em}.photo-mark{font-size:26px;letter-spacing:-.06em}.service-strip{display:flex;justify-content:space-between;align-items:center;padding:24px 5%;border-bottom:1px solid var(--line);font-size:14px;font-weight:500}.service-strip i{font-style:normal;color:var(--accent);font-size:22px}.section{padding:90px 7%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-heading h2,h2{font-size:clamp(34px,3.5vw,52px);margin:23px 0 0}.section-heading>p{max-width:320px;margin:0;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article{padding:30px 25px;border-right:1px solid var(--line)}.service-grid article:first-child{padding-left:0}.service-grid article:last-child{border-right:0;padding-right:0}.number{font-size:13px;color:var(--accent)}h3{font-size:25px;letter-spacing:-.04em;margin:26px 0 16px}.service-grid p{font-size:15px;color:var(--muted);min-height:100px}.service-grid a{font-size:13px;font-weight:600;display:flex;justify-content:space-between;gap:10px}.service-grid a:hover{color:var(--accent)}.story{background:#f3eee8;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.year{border:1px solid #cfc2b3;position:relative;padding:27px 35px}.year>span{font-size:12px;letter-spacing:.18em}.year strong{font-family:Georgia,serif;font-weight:400;display:block;font-size:clamp(120px,13vw,200px);line-height:.82;letter-spacing:-.07em;margin:34px 0;color:var(--accent)}.year strong span{display:block;text-align:right}.year p{font-size:15px;margin:0;line-height:1.4}.story h2{margin:23px 0 25px}.story-copy p{color:var(--muted);max-width:490px}.contact{background:#262225;color:white;display:grid;grid-template-columns:1.3fr 1fr;gap:12%}.contact h2{font-size:clamp(36px,4vw,58px);margin:25px 0}.contact em{color:#ffb67d}.contact-intro p{color:#d1c8cd;max-width:450px}.light{background:white;color:var(--ink);margin-top:12px}.light:hover{background:#f7dfc8}.contact-details{border-left:1px solid #655761;padding-left:45px;display:grid;gap:25px}.contact-details>div{display:flex;flex-direction:column}.contact-details span{font-size:11px;letter-spacing:.15em;color:#ffb67d;margin-bottom:9px}.contact-details .phone{font-size:25px;letter-spacing:-.03em}.contact-details a{overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline}.contact-details p{margin:0}address{font-style:normal}.map{font-size:14px;margin-top:8px}footer{display:flex;align-items:center;justify-content:space-between;padding:32px 5%;gap:20px}footer .brand b{font-size:28px}footer p,footer>span{font-size:12px;margin:0;color:var(--muted)}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){nav{gap:18px}.hero-copy{padding-top:40px}.hero{min-height:600px}.hero-photo{min-height:600px}.actions{gap:18px}.section{padding:65px 5%}.service-grid article{padding:25px 16px}.service-grid p{min-height:125px}.contact{gap:6%}.contact-details{padding-left:25px}}@media(max-width:720px){.topline{justify-content:center}.topline a{display:none}header{height:83px;position:relative}.brand b{font-size:30px}.menu{display:flex;gap:18px;padding:10px 0;background:none;border:0;font:inherit;font-size:14px}nav{display:none;position:absolute;top:83px;left:0;right:0;background:var(--paper);z-index:20;padding:24px 5%;border-bottom:1px solid var(--line);align-items:stretch}nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 6% 30px}h1{font-size:clamp(42px,9vw,62px)}.hero-copy>p{font-size:16px}.actions{margin-bottom:30px}.hero-photo{min-height:410px}.hero-photo img{object-position:center}.service-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center;font-size:12px;padding:20px}.service-strip i{display:none}.section{padding:55px 6%}.section-heading{display:block}.section-heading>p{margin-top:24px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(2){border-right:0}.service-grid article:nth-child(3),.service-grid article:nth-child(4){border-top:1px solid var(--line)}.service-grid article:nth-child(3){padding-left:0}.service-grid article:nth-child(2){padding-right:0}.service-grid p{min-height:115px}.story{grid-template-columns:1fr;gap:40px}.year{max-width:420px;width:100%}.year strong{font-size:140px}.year strong span{display:inline;margin-left:10px}.contact{grid-template-columns:1fr;gap:40px}.contact-details{border-left:0;border-top:1px solid #655761;padding:30px 0 0}footer{flex-wrap:wrap}footer>span{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Finished-site extensions: retain the approved concept's design tokens and layout. */
button{font-family:inherit;cursor:pointer}img{max-width:100%}section{scroll-margin-top:24px}[hidden]{display:none!important}.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}.hero-photo>img{object-position:50% 65%}.hero-photo:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(20,15,15,.65));pointer-events:none}.hero-photo figcaption{z-index:1}.eyebrow{line-height:1.5}.service-grid{align-items:stretch}.service-grid article{display:flex;flex-direction:column}.service-grid p{min-height:0;flex:1}.service-grid a{padding:10px 0;min-height:44px;align-items:center}.service-note{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;font-size:14px;margin:20px 0 0;color:var(--muted)}.service-note>span{color:var(--accent);margin-right:5px}.work{background:#f5f1eb}.gallery-toolbar{display:flex;gap:22px;align-items:center;justify-content:space-between;border-top:1px solid #d8cfc4;padding:22px 0 32px;flex-wrap:wrap}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{border:1px solid #c9beb1;background:transparent;color:var(--ink);padding:10px 17px;border-radius:30px;min-height:44px;font-size:13px}.filters button:hover{border-color:var(--accent);color:var(--accent)}.filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}#gallery-status{font-size:12px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 25px}.project-image{position:relative;display:block;width:100%;padding:0;border:0;background:#ded6ca;overflow:hidden;aspect-ratio:4/5;text-align:left}.project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.project-image:hover img{transform:scale(1.035)}.enlarge{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:22px}.project-category{display:block;color:var(--accent);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-top:18px}.project h3{font-size:22px;line-height:1.25;margin:7px 0 0;letter-spacing:-.035em}.gallery-more{text-align:center;margin-top:40px}.outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--ink);color:var(--ink);background:transparent;padding:12px 26px;font-size:14px;font-weight:600}.outline-button:hover{background:var(--ink);color:white}.gallery-more p{font-size:12px;color:var(--muted);margin:15px 0 0}.commercial{background:var(--paper)}.client-list{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;border-top:1px solid var(--line)}.client-list article{display:flex;gap:25px;padding:27px 0;border-bottom:1px solid var(--line)}.client-list article>span{font-size:12px;color:var(--accent);padding-top:4px}.client-list h3{font-size:23px;line-height:1.3;margin:0 0 10px}.client-list p{color:var(--muted);font-size:14px;margin:0;max-width:380px}.contact .contact-note{font-size:12px;line-height:1.9;margin-top:24px;color:#d1c8cd}.contact-details a{padding:3px 0}.contact-details .map{display:inline-block;min-height:44px}.contact-details .sr-only{position:absolute}.photo-view{position:relative;display:flex;flex-direction:column;max-height:93dvh;max-height:93vh;background:#fcfbfa;padding:58px 18px 15px}dialog{padding:0;border:0;width:min(920px,94vw);max-height:94vh;overflow:auto;background:transparent;box-shadow:0 20px 90px #0005}dialog::backdrop{background:rgba(22,18,20,.88)}.photo-view>img{display:block;width:100%;height:calc(90vh - 160px);object-fit:contain;min-height:150px}.close-photo{position:absolute;top:7px;right:15px;min-height:44px;border:0;background:transparent;padding:7px;color:var(--ink);display:flex;align-items:center;gap:18px;font-size:13px}.close-photo span{font-size:28px}.photo-controls{display:grid;grid-template-columns:46px 1fr 46px;gap:15px;align-items:center;padding-top:16px}.photo-controls>button{width:44px;height:44px;border:1px solid var(--line);background:transparent;font-size:22px;color:var(--ink)}.photo-controls>div{text-align:center}.photo-controls p{font-size:15px;line-height:1.3;margin:0 0 5px}.photo-controls span{font-size:11px;color:var(--muted)}.modal-open{overflow:hidden}html:not(.js) .gallery-toolbar,html:not(.js) .gallery-more{display:none}html:not(.js) .menu{display:none}
@media(max-width:1100px) and (min-width:721px){header{padding-inline:4%}nav{gap:19px;font-size:13px}.nav-cta{padding:11px 14px}.nav-cta span{margin-left:5px}.hero-copy{padding-left:8%;padding-right:7%}h1{font-size:clamp(38px,4.4vw,50px)}.button{padding:15px 19px;gap:16px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid article{padding:27px!important}.service-grid article:nth-child(2){border-right:0}.service-grid article:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-list{column-gap:30px}.client-list article{gap:16px}}
@media(max-width:720px){.hero-photo{min-height:0;aspect-ratio:4/5}.hero-photo>img{object-position:50% 70%}.service-grid article{padding:25px 18px}.service-grid article:nth-child(odd){padding-left:0}.service-grid article:nth-child(even){padding-right:0}.service-grid h3{font-size:25px}.service-grid .number{font-size:11px}.service-grid p{min-height:0;font-size:14px}.client-list{grid-template-columns:1fr}.client-list h3{font-size:23px}.gallery-toolbar{gap:14px}.gallery-grid{gap:30px 18px}.project h3{font-size:20px}.filters{gap:7px}.filters button{padding:9px 14px}.contact-details>div>a{width:fit-content;min-height:44px;display:flex;align-items:center}.contact-details span{margin-bottom:5px}.year strong{font-size:clamp(92px,28vw,140px)}html:not(.js) header{height:auto;flex-wrap:wrap;padding-block:20px;gap:20px}html:not(.js) nav{position:static;display:flex;flex-wrap:wrap;flex-direction:row;padding:0;border:0;gap:16px}}
@media(max-width:560px){.gallery-grid{grid-template-columns:1fr}.project-image{aspect-ratio:4/5}.section-heading{margin-bottom:30px}.gallery-toolbar{padding-bottom:24px}h1{font-size:clamp(40px,9vw,50px)}.hero .eyebrow{font-size:10px;letter-spacing:.12em}.photo-view{padding:55px 10px 12px}.photo-controls{gap:6px}.photo-controls p{font-size:13px}.contact h2{font-size:36px}}
@media(max-width:380px){.service-grid{grid-template-columns:1fr}.service-grid article{padding:26px 0!important;border-right:0}.service-grid article+article{border-top:1px solid var(--line)}.service-strip{font-size:11px}.actions{gap:18px}.hero-note{font-size:12px}}
/* Client revision: centered VMC, burnt orange branding, clear call/text options. */
.topline{justify-content:center;padding:8px 5%}.topline>span{text-align:center}header{height:auto;min-height:170px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:20px 5% 0;position:relative;row-gap:18px}header .header-brand{grid-column:2;grid-row:1;justify-self:center;align-self:center;text-align:center}header .header-brand b{font-size:76px;line-height:1;letter-spacing:-5px;color:#BF5700}.header-contact{grid-column:3;grid-row:1;justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.header-phone{color:#BF5700;font-size:24px;font-weight:800;line-height:1.35;letter-spacing:-.04em;padding:7px 0;white-space:nowrap}.header-phone:hover{text-decoration:underline}.header-text{font-size:12px;font-weight:500;min-height:32px;display:flex;align-items:center;gap:8px}.header-text:hover{text-decoration:underline}.header-text span{color:#BF5700}header nav{grid-column:1/-1;grid-row:2;justify-content:center;border-top:1px solid var(--line);padding:13px 0;gap:36px}header .nav-cta{border-color:#BF5700;color:#a34800;padding:9px 17px}.service-grid{grid-template-columns:1fr 1.45fr 1fr}.service-grid article{padding:30px 25px}.service-grid article>p{flex:none;min-height:0;margin-bottom:18px}.service-grid article>a{margin-top:auto}.service-list{padding-left:19px;margin:0 0 24px;color:var(--muted);font-size:14px;line-height:1.65}.service-list li{padding-left:3px;margin-bottom:9px}.service-list li::marker{color:#BF5700}.service-list strong{color:var(--ink);font-weight:600}.service-note{display:block;padding:18px 22px;border-left:4px solid #BF5700;background:#f5e8da;color:#743400;font-size:15px;margin-top:25px}.service-note strong{font-weight:700}.contact-details .call-label{display:flex;flex-wrap:wrap;gap:5px 15px;align-items:baseline;margin-bottom:13px}.contact-details .call-label>span{margin:0}.contact-details .call-label>p{font-size:13px;letter-spacing:0;color:#fff;line-height:1.6}.contact-details .phone{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;color:#BF5700;background:#fff;border:1px solid #ffb67d;padding:11px 18px;font-size:32px;font-weight:800;line-height:1.25;letter-spacing:-.04em;white-space:nowrap;margin-bottom:9px;min-height:60px}.contact-details .phone:hover{background:#fff;text-decoration:underline}.contact-details .text-shop{color:#ffb67d;display:inline-flex;align-items:center;gap:10px;min-height:44px;width:fit-content;font-weight:600}.contact-details .text-shop>span{font-size:18px;letter-spacing:0;margin:0}footer .brand b{color:#BF5700}
@media(max-width:1100px) and (min-width:721px){header{padding:18px 4% 0}.header-phone{font-size:22px}.header-text{font-size:11px}header nav{gap:25px}.service-grid{grid-template-columns:1fr 1.2fr}.service-grid article{padding:27px!important}.service-grid article:nth-child(2){border-right:0}.service-grid article:nth-child(3){grid-column:1/-1;border-right:0;border-top:1px solid var(--line)}.service-grid article:nth-child(3) .service-list{display:flex;flex-wrap:wrap;gap:12px 40px}.contact-details .phone{font-size:27px;padding:10px 13px}}
@media(max-width:720px){header{padding:21px 6% 18px;min-height:0;grid-template-columns:1fr auto 1fr;row-gap:16px}header .header-brand b{font-size:60px;letter-spacing:-4px}.menu{position:absolute;top:27px;right:6%;min-height:44px;gap:8px;padding:8px 0;font-size:13px}.header-contact{grid-row:2;grid-column:1/-1;justify-self:stretch;align-items:center;gap:3px}.header-phone{display:flex;justify-content:center;align-items:center;width:100%;max-width:400px;min-height:56px;background:#BF5700;color:#fff;font-size:28px;padding:10px 18px}.header-phone:hover{background:#984600}.header-text{font-size:13px;min-height:36px}.header-text span{font-size:17px}header nav{grid-row:auto;position:absolute;top:100%;left:0;right:0;padding:22px 6%;gap:20px;justify-content:flex-start;box-shadow:0 12px 20px #25232412}.service-grid{grid-template-columns:1fr}.service-grid article{padding:26px 0!important;border-right:0!important}.service-grid article+article{border-top:1px solid var(--line)}.service-grid article:nth-child(3){grid-column:auto}.service-list{font-size:15px}.service-grid article>p{font-size:15px}.service-grid article>a{max-width:320px}.service-note{font-size:14px;padding:16px 18px}.contact-details .phone{display:inline-flex;min-height:60px;font-size:32px;padding:11px 18px}.contact-details .call-label{gap:4px 12px}html:not(.js) header{display:grid;padding:21px 6% 18px;gap:16px}html:not(.js) header nav{position:static;grid-row:3;grid-column:1/-1;box-shadow:none;justify-content:center;padding:12px 0 0;gap:14px}html:not(.js) .header-contact{grid-row:2}}
@media(max-width:380px){header .header-brand b{font-size:54px}.menu{top:24px;right:5%;font-size:12px}.header-phone{font-size:27px}.contact-details .phone{font-size:28px;padding:11px 15px}}
