/* Global components override the prototype styles without changing page artwork. */
html{scroll-behavior:smooth}body{margin:0}.vm-global-header,.vm-global-mobile,.vm-global-footer{font-family:Arial,sans-serif;box-sizing:border-box}.vm-global-header *,.vm-global-mobile *,.vm-global-footer *{box-sizing:border-box}.vm-global-header{position:fixed!important;left:0;right:0;top:0;width:100%;z-index:10000;background:transparent!important;transition:background .3s,backdrop-filter .3s}.vm-global-header.is-scrolled,.vm-global-header.is-open{background:rgba(17,15,14,.88)!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.vm-global-inner{max-width:1440px;margin:auto;padding:0 clamp(19px,4vw,68px);height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.vm-global-logo{text-decoration:none;color:#fff!important;font-size:clamp(22px,3vw,31px);font-weight:600;letter-spacing:.13em;white-space:nowrap}.vm-global-logo .custom-logo{max-height:65px;width:auto}.vm-global-nav ul{display:flex;gap:clamp(15px,2.2vw,37px);padding:0;margin:0;list-style:none}.vm-global-nav a{color:#fff!important;font-weight:600;font-size:13px;text-decoration:none}.vm-global-actions{display:flex;gap:16px;align-items:center}.vm-global-talk,.vm-mobile-cta{background:#fff;color:#211c18!important;padding:14px 20px;border-radius:100px;text-decoration:none;font-weight:700;white-space:nowrap;font-size:13px}.vm-global-talk span{margin-left:16px}.vm-global-toggle{display:none;border:0;background:none;padding:9px;flex-direction:column;justify-content:center;gap:7px;cursor:pointer}.vm-global-toggle span{display:block;width:25px;height:2px;background:#fff;transition:transform .25s}.vm-global-header.is-open .vm-global-toggle span:first-child{transform:translateY(4.5px) rotate(45deg)}.vm-global-header.is-open .vm-global-toggle span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.vm-global-mobile{position:fixed;z-index:9999;inset:0;background:rgba(15,13,12,.94);backdrop-filter:blur(48px);-webkit-backdrop-filter:blur(48px);color:#fff;display:flex;flex-direction:column;padding:130px 26px 35px;visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s;overflow-y:auto}.vm-global-mobile.is-open{visibility:visible;opacity:1}.vm-global-mobile ul{list-style:none;margin:0;padding:0}.vm-global-mobile li{border-bottom:1px solid rgba(255,255,255,.17);padding:17px 0}.vm-global-mobile li a{color:#fff;text-decoration:none;font-size:clamp(29px,8vw,42px);letter-spacing:-.045em;font-weight:500}.vm-global-mobile .vm-mobile-cta{display:flex;justify-content:space-between;margin-top:auto;padding:20px 24px;font-size:16px}.vm-global-mobile>p{margin:20px 0 0;color:#cdbda9;font-size:12px;line-height:1.5}.vm-global-footer{background:#191613!important;color:#f8f5ef!important;padding:95px clamp(22px,5vw,80px) 25px}.vm-footer-cta{text-align:center;max-width:850px;margin:0 auto 85px}.vm-footer-cta p{font-size:11px;color:#d8bca0;letter-spacing:.12em}.vm-footer-cta h2{font-size:clamp(36px,5vw,70px);line-height:1.1;letter-spacing:-.05em;margin:20px 0 34px;color:#fff}.vm-footer-cta h2 em{color:#d9bd9b;font-style:normal}.vm-footer-cta a{display:inline-block;background:#fff;color:#201b17;text-decoration:none;border-radius:60px;padding:18px 26px;font-weight:700}.vm-footer-columns{display:grid;grid-template-columns:repeat(3,1fr);max-width:1100px;margin:auto;gap:35px}.vm-footer-columns div{display:flex;flex-direction:column;gap:15px}.vm-footer-columns h3{color:#d9bd9b;font-size:13px;letter-spacing:.08em;margin:0 0 6px}.vm-footer-columns a,.vm-footer-columns p{font-size:14px;color:#f0e9df;text-decoration:none;margin:0}.vm-footer-logo{margin:85px auto 55px;text-align:center}.vm-footer-logo span{font-size:clamp(42px,8vw,110px);letter-spacing:.10em}.vm-footer-logo img{max-height:170px;width:auto;max-width:90%;margin:auto}.vm-footer-logo p{color:#c8b9aa;font-size:14px;margin-top:18px}.vm-footer-legal{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #4b4137;padding-top:24px;font-size:12px;color:#cabcb0}.vm-footer-legal nav{display:flex;flex-wrap:wrap;gap:20px}.vm-footer-legal a{color:inherit;text-decoration:none}.vm-page [data-vm-legacy="1"]{display:none!important}
@media(max-width:900px){.vm-global-inner{height:78px}.vm-global-nav{display:none}.vm-global-talk{padding:12px 15px;font-size:12px}.vm-global-talk span{display:none}.vm-global-toggle{display:flex}.vm-global-logo{font-size:22px}.vm-global-logo .custom-logo{max-height:52px}.vm-footer-columns{grid-template-columns:repeat(2,1fr)}.vm-footer-legal{justify-content:center;text-align:center}}
@media(max-width:500px){.vm-footer-columns{grid-template-columns:1fr}.vm-global-inner{gap:8px}.vm-global-logo{font-size:18px;letter-spacing:.09em}}
@media(prefers-reduced-motion:reduce){.vm-global-header,.vm-global-mobile{transition:none!important}}

.vm-live-projects,.vm-live-enquiry{background:#f6f3ed;color:#24201c;padding:88px 0;font-family:Arial,sans-serif}.vm-live-wrap,.vm-live-form-wrap{width:min(1200px,calc(100% - 36px));margin:auto}.vm-live-projects h2,.vm-live-enquiry h2{font-size:clamp(36px,5vw,64px);letter-spacing:-.045em;margin:12px 0 22px}.vm-live-eyebrow,.vm-form-intro span{font-size:11px;letter-spacing:.16em;color:#957659;font-weight:700}.vm-live-categories{display:flex;gap:9px;flex-wrap:wrap;margin:30px 0}.vm-live-categories button,.vm-live-selector button,.vm-live-thumbs button{font:inherit;cursor:pointer}.vm-live-categories button{border-radius:30px;border:1px solid #d9cbbc;padding:13px 17px;background:#fff;color:#302920}.vm-live-categories button.is-active{background:#29231f;color:#fff}.vm-live-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:16px}.vm-live-main{position:relative;min-height:500px;background:#ded4c9;border-radius:24px;overflow:hidden}.vm-live-image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.vm-prev,.vm-next{position:absolute;bottom:22px;border:0;border-radius:50%;background:rgba(255,255,255,.9);height:46px;width:46px;font-size:30px;cursor:pointer}.vm-prev{left:20px}.vm-next{left:75px}.vm-live-count{position:absolute;right:22px;bottom:28px;color:#fff;text-shadow:0 1px 5px #000}.vm-live-details{border-radius:24px;background:#e9dfd4;padding:30px}.vm-live-category{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#94765b}.vm-live-title{font-size:28px}.vm-live-thumbs,.vm-live-selector{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.vm-live-thumbs button{padding:0;width:67px;height:62px;border-radius:9px;overflow:hidden;border:2px solid transparent}.vm-live-thumbs button.is-active{border-color:#856849}.vm-live-thumbs img{height:100%;width:100%;object-fit:cover}.vm-live-selector button{background:#fff;border:0;border-radius:15px;padding:10px 12px}.vm-live-selector button.is-active{background:#211b17;color:#fff}.vm-live-form-wrap{max-width:800px;border-radius:30px;padding:clamp(25px,5vw,62px);background:#eae0d5}.vm-real-form{margin-top:26px}.vm-form-step{border:0;padding:0;margin:0;display:none;min-width:0}.vm-form-step.is-active{display:grid;gap:14px}.vm-form-step legend{font-size:23px;font-weight:700;margin-bottom:24px}.vm-form-step label{display:grid;gap:9px;font-weight:600}.vm-form-step input:not([type=checkbox]),.vm-form-step textarea,.vm-form-step select{box-sizing:border-box;width:100%;border:1px solid #c8bbae;border-radius:12px;background:#fff;padding:15px;font:inherit;min-height:52px}.vm-form-progress{display:flex;gap:7px;margin:25px 0}.vm-form-progress span{flex:1;height:5px;background:#d8cbc0;border-radius:10px}.vm-form-progress span.active{background:#95785b}.vm-form-actions{display:flex;justify-content:space-between;margin-top:28px;gap:14px}.vm-form-actions button{border:0;border-radius:28px;background:#221c18;color:#fff;padding:15px 25px;cursor:pointer}.vm-form-actions .vm-form-back{background:#fff;color:#221c18}.vm-consent{display:block!important;font-size:13px}.vm-honeypot{position:absolute;left:-9999px}.vm-form-error{color:#8b271c;min-height:1em}.vm-form-notice{padding:30px;border-radius:20px;background:#e4d4c0;color:#29221e}@media(max-width:750px){.vm-live-grid{grid-template-columns:1fr}.vm-live-main{min-height:330px}.vm-live-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.vm-live-categories button{padding:12px 7px;font-size:12px}.vm-live-projects,.vm-live-enquiry{padding:55px 0}}

.vm-page-contact #projectForm,.vm-page-start-your-project #projectForm{display:none!important}.vm-page-contact #formSuccess,.vm-page-start-your-project #formSuccess{display:none!important}

/* V0.5 portfolio fit and interaction improvements */
.vm-live-projects .vm-live-categories button:focus-visible,.vm-live-projects button:focus-visible{outline:3px solid #c09b72;outline-offset:3px}
@media(max-width:750px){.vm-live-categories{overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%}.vm-live-categories button{white-space:normal;min-width:0}.vm-live-main{aspect-ratio:4/3;min-height:0}.vm-live-details{padding:22px}.vm-live-thumbs button{width:60px;height:58px}}

/* V1.1 accessibility and motion preferences */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
img{max-width:100%;height:auto}button,a,input,textarea,select{touch-action:manipulation}

.vm-generic-page{max-width:880px;margin:0 auto;padding:160px 24px 90px;min-height:65vh;line-height:1.75}.vm-generic-page h1{font-size:clamp(36px,5vw,66px);color:#1d1a17}.vm-generic-page a{text-decoration:underline}

/* V2.1 glass header: overlay hero, deeper blur when scrolled */
.vm-global-header{background:rgba(17,15,14,.17)!important;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
.vm-global-header.is-scrolled,.vm-global-header.is-open{background:rgba(17,15,14,.83)!important;backdrop-filter:blur(24px) saturate(1.1);-webkit-backdrop-filter:blur(24px) saturate(1.1)}
.vm-page-home .page{padding-top:0!important}

/* Velmonte 2.5.1 hotfix: content must be visible without reveal JS. */
body .reveal, body .reveal:not(.visible), body .reveal:not(.in) { opacity: 1 !important; transform: none !important; visibility: visible !important; }
