/* VMZ Construction website */
@font-face{font-family:Bodoni;src:url(../fonts/bodoni-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Bodoni;src:url(../fonts/bodoni-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Mont;src:url(../fonts/mont-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Mont;src:url(../fonts/mont-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Mont;src:url(../fonts/mont-600.woff2) format("woff2");font-weight:600;font-display:swap}
:root{--char:#1C1C1E;--char2:#262628;--brass:#B8935A;--dbrass:#8A6B3A;--stone:#F4F1EA;--warm:#6F6A62;--ink:#2A2A2C;--line:#E4DFD5;--max:1240px;--g:clamp(18px,4vw,56px);--hd:76px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font:400 17px/1.65 Mont,Arial,Helvetica,sans-serif}
img,svg{max-width:100%;display:block}a{color:var(--dbrass)}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
h1,h2,h3{font-family:Bodoni,Georgia,serif;font-weight:400;color:var(--char);line-height:1.1;margin:0;text-wrap:balance}
h1{font-size:clamp(40px,6.4vw,84px);letter-spacing:-.01em}h2{font-size:clamp(30px,3.6vw,46px)}h3{font-size:22px;line-height:1.25}
h1 em{font-style:italic;color:var(--brass)}p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--g)}
.eb{font:600 12px/1.4 Mont,Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--dbrass);margin-bottom:14px}
.lead{font-size:clamp(18px,1.6vw,21px);max-width:60ch;color:#D9D4CA}
.small{font-size:14px;color:var(--warm)}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:12px;z-index:99;background:#fff;padding:8px 12px}
section{padding-block:clamp(64px,8vw,112px)}
/* header */
.hd{position:sticky;top:0;z-index:50;background:var(--char);border-bottom:1px solid rgba(184,147,90,.35)}
.bar{display:flex;align-items:center;gap:24px;min-height:var(--hd)}
.brand img{height:28px;width:auto}
nav{margin-left:auto;display:flex;align-items:center;gap:6px}
nav a{color:#E9E5DD;text-decoration:none;font:500 14px Mont,Arial,sans-serif;letter-spacing:.06em;padding:12px 12px;border-bottom:1px solid transparent}
nav a:hover,nav a[aria-current]{color:#fff;border-bottom-color:var(--brass)}
nav a.cta{border:1px solid var(--brass);color:var(--brass);margin-left:10px;padding:10px 18px}nav a.cta:hover{background:var(--brass);color:var(--char)}
.menu{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;font:500 14px Mont,Arial,sans-serif;padding:10px 16px;min-height:44px}
@media (max-width:900px){.menu{display:block}nav{display:none;position:absolute;left:0;right:0;top:var(--hd);background:var(--char);flex-direction:column;align-items:stretch;padding:8px var(--g) 22px;gap:0}
nav.open{display:flex}nav a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}nav a.cta{margin:14px 0 0;text-align:center}}
/* hero */
.hero,.phero{position:relative;background:linear-gradient(180deg,#232325,#161617);color:#fff;overflow:hidden}
.hero{padding-block:clamp(90px,13vw,170px) clamp(120px,14vw,200px)}.phero{padding-block:clamp(70px,9vw,120px) clamp(80px,9vw,120px)}
.hero h1,.phero h1{color:#fff;max-width:16ch}.hero .lead,.phero .lead{margin-top:22px}
.hero .eb,.phero .eb{color:var(--brass)}
.sky{position:absolute;left:0;right:0;bottom:0;width:100%;height:60%;opacity:.5;pointer-events:none}
.phero .sky{height:70%;opacity:.28}
.sky rect{fill:none;stroke:var(--brass);stroke-width:1.2;stroke-opacity:.55}.sky .f{stroke:var(--brass);stroke-opacity:.16;stroke-width:1}.sky .g{stroke:var(--brass);stroke-width:2;stroke-opacity:.8}
.hero .wrap,.phero .wrap{position:relative}
.acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--brass);color:var(--char);text-decoration:none;font:600 15px Mont,Arial,sans-serif;letter-spacing:.04em;padding:15px 26px;min-height:50px;border:1px solid var(--brass);cursor:pointer}
.btn:hover{background:#C9A56C}.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.btn.ghost:hover{border-color:#fff}
/* sections */
.introg{display:grid;grid-template-columns:minmax(160px,1fr) 3fr;gap:32px}.big{font-family:Bodoni,Georgia,serif;font-size:clamp(24px,2.6vw,34px);line-height:1.35;color:var(--char)}
@media (max-width:800px){.introg{grid-template-columns:1fr}}
.sh{margin-bottom:44px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.svc{background:#fff;padding:34px 30px;text-decoration:none;color:var(--ink);display:grid;gap:12px;align-content:start;transition:background .2s}
.svc:hover{background:var(--stone)}.svc .eb{margin:0}.svc p{color:var(--warm);font-size:15.5px}
.ic svg{width:44px;height:44px;fill:none;stroke:var(--dbrass);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.go{font:600 14px Mont,Arial,sans-serif;color:var(--dbrass);margin-top:6px}
@media (max-width:980px){.grid3{grid-template-columns:1fr 1fr}}@media (max-width:620px){.grid3{grid-template-columns:1fr}}
.stone{background:var(--stone)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:28px;counter-reset:s}
.steps li{border-top:1px solid var(--char);padding-top:18px}.steps .n{font:600 13px Mont,Arial,sans-serif;color:var(--dbrass);letter-spacing:.2em}.steps h3{margin:10px 0 8px}.steps p{font-size:15px;color:var(--warm)}
.steps.big{grid-template-columns:1fr;gap:0}.steps.big li{display:grid;grid-template-columns:80px 260px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--line)}.steps.big p{font-size:17px}
@media (max-width:980px){.steps{grid-template-columns:1fr 1fr}}@media (max-width:620px){.steps{grid-template-columns:1fr}.steps.big li{grid-template-columns:1fr;gap:6px}}
.two{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(32px,6vw,90px)}@media (max-width:860px){.two{grid-template-columns:1fr}}
.clg{display:grid;grid-template-columns:1fr 1fr;gap:28px}.cl{border-left:2px solid var(--brass);padding-left:18px}.cl p{color:var(--warm);font-size:15.5px;margin-top:6px}
@media (max-width:620px){.clg{grid-template-columns:1fr}}
.dark{background:var(--char);color:#D9D4CA}.dark h2,.dark h3{color:#fff}.dark .eb{color:var(--brass)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.why h3{margin-bottom:8px}.why p{font-size:15.5px}.why.light p{color:var(--warm)}
@media (max-width:980px){.grid4{grid-template-columns:1fr 1fr}}@media (max-width:560px){.grid4{grid-template-columns:1fr}}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:26px}@media (max-width:560px){.grid2{grid-template-columns:1fr}}
.band{background:var(--stone);border-top:1px solid var(--line)}.bandg{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}.bandg p:not(.eb){color:var(--warm);margin-top:10px}
.srow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);padding-block:44px;border-top:1px solid var(--line)}.srow:first-child{border-top:0;padding-top:0}
.srow h2{font-size:clamp(28px,3vw,38px);margin-bottom:12px}.srow p{color:var(--warm)}.srow .ic{margin-bottom:14px}.tl{display:inline-block;margin-top:16px;font-weight:600;padding-block:10px}
@media (max-width:820px){.srow{grid-template-columns:1fr}}
.ticks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.ticks li{padding:14px 0 14px 28px;border-bottom:1px solid var(--line);position:relative}
.ticks li::before{content:"";position:absolute;left:2px;top:25px;width:14px;height:1px;background:var(--brass)}
.prose p{margin-bottom:18px;font-size:18px}.prose h2{font-size:26px;margin:28px 0 10px}
.narrow{max-width:820px}
.faq{border-top:1px solid #D9D3C7;margin-top:22px}.faq details{border-bottom:1px solid #D9D3C7;padding:18px 0}
.faq summary{cursor:pointer;font-family:Bodoni,Georgia,serif;font-size:21px;color:var(--char);list-style:none;display:flex;justify-content:space-between;gap:16px;min-height:32px}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";color:var(--dbrass)}.faq details[open] summary::after{content:"–"}.faq p{margin-top:10px;color:var(--warm)}
.faq+.small{margin-top:20px}
.chips{display:flex;flex-wrap:wrap;gap:10px}.chips a{border:1px solid var(--line);padding:11px 16px;text-decoration:none;color:var(--ink);font-size:15px;min-height:44px;display:inline-flex;align-items:center}.chips a:hover{border-color:var(--brass)}
/* contact */
.cg{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}@media (max-width:880px){.cg{grid-template-columns:1fr}}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.form .full{grid-column:1/-1}@media (max-width:620px){.form{grid-template-columns:1fr}}
.form label{display:grid;gap:6px;font:600 13px Mont,Arial,sans-serif;letter-spacing:.06em;color:var(--char)}
.form input,.form select,.form textarea{font:400 16px Mont,Arial,sans-serif;border:1px solid #CFC9BD;background:#fff;padding:12px 14px;min-height:50px;color:var(--ink);width:100%}
.form textarea{min-height:160px;resize:vertical}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--brass);outline-offset:0;border-color:var(--brass)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.st{font-weight:600;color:var(--dbrass)}
.card{background:var(--stone);padding:30px}.card dl{margin:16px 0 0;display:grid;gap:4px}.card dt{font:600 12px Mont,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--warm);margin-top:12px}.card dd{margin:0}
.card a{display:inline-block;padding-block:6px}
/* footer */
.ft{background:var(--char);color:#BDB7AC;padding:70px 0 0}.ftg{display:grid;grid-template-columns:1.4fr 1.2fr 1fr 1.4fr;gap:36px}
.ft img{width:150px;height:auto;margin-bottom:16px}.ft p{font-size:15px;max-width:30ch}.ft h4{font:600 12px Mont,Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);margin:0 0 14px}
.ft ul{list-style:none;margin:0;padding:0}.ft li{font-size:15px}.ft a{color:#E9E5DD;text-decoration:none;display:inline-block;padding-block:6px}.ft a:hover{color:#fff}
.fb{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-block:24px;font-size:13px}
@media (max-width:900px){.ftg{grid-template-columns:1fr 1fr}}@media (max-width:560px){.ftg{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* photography */
.ph .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.02)}
.ph .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,22,23,.92) 0%,rgba(22,22,23,.72) 45%,rgba(22,22,23,.35) 100%),linear-gradient(0deg,rgba(28,28,30,.55),rgba(28,28,30,0) 45%),linear-gradient(0deg,rgba(184,147,90,.10),rgba(184,147,90,.10))}
.hero.ph{min-height:min(88vh,860px);display:flex;align-items:center}
.phero.ph{min-height:440px;display:flex;align-items:flex-end}
.ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--brass)}
@media (max-width:700px){.ph .shade{background:linear-gradient(0deg,rgba(22,22,23,.92) 10%,rgba(22,22,23,.6) 100%)}.phero.ph{min-height:380px}}
.strip{padding-block:0 clamp(48px,6vw,90px)}
.stripg{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}
.stripg figure,.wide{margin:0;position:relative;overflow:hidden;background:var(--char)}
.stripg figure{aspect-ratio:4/5}.stripg figure:first-child{aspect-ratio:auto}
.stripg img,.wide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.wide{aspect-ratio:21/8}
@media (max-width:700px){.stripg{grid-template-columns:1fr 1fr}.stripg figure:first-child{grid-column:1/-1;aspect-ratio:16/10}.wide{aspect-ratio:4/3}}
