:root{
  --vi-paper:#f7f3eb;
  --vi-paper-2:#eee6d8;
  --vi-ink:#13221d;
  --vi-green:#071f17;
  --vi-green-2:#0d2b20;
  --vi-gold:#c79646;
  --vi-gold-light:#e2bd79;
  --vi-line:rgba(19,34,29,.14);
  --vi-muted:#667069;
  --vi-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --vi-sans:"Manrope",Arial,Helvetica,sans-serif;
  --vi-shadow:0 18px 46px rgba(8,23,17,.12)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--vi-paper);color:var(--vi-ink);font-family:var(--vi-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.vi-container{width:min(1320px,calc(100% - 88px));margin-inline:auto}
.vi-skip-link{position:fixed;left:12px;top:-100px;z-index:9999;background:#fff;padding:10px 14px}.vi-skip-link:focus{top:10px}

/* HEADER */
.vi-header{position:relative;z-index:1000;background:#fbf9f4;border-bottom:1px solid rgba(19,34,29,.08)}
.vi-header-inner{height:82px;display:grid;grid-template-columns:230px 1fr 225px;align-items:center;gap:28px}
.vi-brand{display:flex;align-items:center;height:100%}.vi-brand img,.custom-logo{max-height:68px;width:auto;object-fit:contain}.vi-brand .custom-logo-link{display:flex;align-items:center}
.vi-nav-list{display:flex;justify-content:center;align-items:center;gap:34px;list-style:none;margin:0;padding:0}
.vi-nav-list a{position:relative;display:block;padding:29px 0 27px;font-size:12px;font-weight:650;letter-spacing:.01em;white-space:nowrap}
.vi-nav-list a:after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--vi-gold);transition:.22s}
.vi-nav-list a:hover:after,.vi-nav-list .current-menu-item>a:after,.home .vi-nav-list li:first-child>a:after{right:0}
.vi-menu-toggle{display:none;background:transparent;border:1px solid var(--vi-line);padding:8px 12px}
.vi-btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:0 24px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.035em;font-size:11px;font-weight:800;transition:.2s;white-space:nowrap}
.vi-btn:hover{transform:translateY(-1px)}
.vi-btn-gold{background:linear-gradient(135deg,var(--vi-gold-light),var(--vi-gold));color:#241c10}
.vi-btn-outline{border-color:rgba(255,255,255,.68);color:#fff;background:rgba(8,22,16,.08)}
.vi-btn-compact{min-height:42px;padding-inline:20px}
.vi-header-cta{min-width:215px}
.vi-eyebrow{font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase}
.vi-kicker-line{display:inline-flex;align-items:center;gap:16px}.vi-kicker-line:after{content:"";width:46px;height:1px;background:var(--vi-gold)}
.vi-text-link{font-size:10px;text-transform:uppercase;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:3px;white-space:nowrap}.vi-text-link span{margin-left:7px}.vi-text-link-light{color:#fff}

/* HERO */
.vi-hero{height:520px;position:relative;isolation:isolate;background-size:cover;background-position:center right;overflow:hidden}
.vi-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,28,20,.88) 0%,rgba(8,28,20,.70) 33%,rgba(8,28,20,.16) 62%,rgba(8,28,20,0) 100%)}
.vi-hero-grid{height:100%;display:grid;grid-template-columns:minmax(0,590px) 1fr;align-items:center;position:relative}
.vi-hero-content{color:#fff;transform:translateY(-3px)}
.vi-hero .vi-eyebrow{color:#e4bc72}
.vi-hero h1{font-family:var(--vi-serif);font-size:86px;line-height:.83;font-weight:500;letter-spacing:-.035em;margin:20px 0 24px;max-width:550px;text-wrap:balance}
.vi-hero p{max-width:510px;margin:0 0 30px;font-size:15px;line-height:1.55;color:rgba(255,255,255,.92)}
.vi-hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.vi-hero-motto{position:absolute;right:2px;bottom:34px;display:flex;align-items:center;gap:20px;color:#fff;font-size:10px;letter-spacing:.22em;text-transform:uppercase}
.vi-hero-motto span{border-left:1px solid var(--vi-gold);padding-left:16px;max-width:155px;line-height:1.55}.vi-hero-motto b{font-size:22px;font-weight:300}

/* ABOUT */
.vi-about{display:grid;grid-template-columns:39% 61%;min-height:330px;background:#f7f3eb;border-bottom:1px solid var(--vi-line)}
.vi-about-media{background-size:cover;background-position:center 55%}
.vi-about-copy-wrap{display:grid;grid-template-columns:minmax(0,1fr) 285px;align-items:stretch;background:linear-gradient(90deg,#faf7f1 0%,#f6f0e6 100%)}
.vi-about-copy{display:flex;flex-direction:column;justify-content:center;padding:38px 56px 34px}
.vi-about-copy h2{font-family:var(--vi-serif);font-weight:500;font-size:46px;line-height:.93;letter-spacing:-.025em;margin:11px 0 18px;max-width:570px}
.vi-about-copy p{max-width:620px;color:#5f675f;margin:0 0 21px;font-size:13px;line-height:1.6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.vi-about-signature{position:relative;border-left:1px solid var(--vi-line);overflow:hidden;padding:34px 26px 18px 30px;display:flex;flex-direction:column;justify-content:space-between;min-height:330px}
.vi-about-signature-text{position:relative;z-index:2;font-size:9px;line-height:1.82;text-transform:uppercase;letter-spacing:.22em;color:#6f726c;max-width:180px}
.vi-about-signature img{position:absolute;left:-18%;bottom:16px;width:150%;opacity:.38;filter:grayscale(1) brightness(1.03)}

/* PROJECTS */
.vi-section{padding:52px 0 56px}.vi-projects-home{background:#fbfaf7}
.vi-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:22px}
.vi-section-head h2{font-family:var(--vi-serif);font-size:43px;font-weight:500;line-height:.98;margin:8px 0 0;letter-spacing:-.025em}
.vi-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.vi-project-card{background:#fff;border:1px solid rgba(16,35,29,.10);transition:.25s;overflow:hidden}.vi-project-card:hover{transform:translateY(-3px);box-shadow:var(--vi-shadow)}
.vi-project-media{height:218px;overflow:hidden;background:#ddd}.vi-project-media img{width:100%;height:100%;object-fit:cover;transition:.45s}.vi-project-card:hover .vi-project-media img{transform:scale(1.025)}
.vi-project-body{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px 13px}
.vi-project-body h3{font-family:var(--vi-serif);font-size:24px;line-height:1;margin:0 0 7px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:270px}
.vi-project-body p{margin:0;color:#777d78;font-size:9px;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:270px}
.vi-round-arrow{width:31px;height:31px;border:1px solid var(--vi-line);border-radius:50%;display:grid;place-items:center;font-size:16px;flex:none}

/* SERVICES */
.vi-service-band{position:relative;overflow:hidden;padding:38px 0 30px;background:var(--vi-green);color:#fff}
.vi-service-photo{position:absolute;inset:0 0 0 58%;background:url('../img/project-1.jpg') center/cover no-repeat;opacity:.12;filter:grayscale(1)}
.vi-service-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,31,23,1) 0%,rgba(7,31,23,.98) 56%,rgba(7,31,23,.72) 100%)}
.vi-service-band .vi-container{position:relative;z-index:2}
.vi-service-heading-row{display:grid;grid-template-columns:1.15fr .75fr auto;gap:44px;align-items:end;margin-bottom:27px}
.vi-service-heading-row h2{font-family:var(--vi-serif);font-size:38px;line-height:.96;margin:7px 0 0;font-weight:500}.vi-service-heading-row p{font-size:12px;color:rgba(255,255,255,.72);margin:0;max-width:330px;line-height:1.55}
.vi-service-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.vi-service-item{text-align:center;padding:5px 16px 2px;border-right:1px solid rgba(255,255,255,.16);min-width:0}.vi-service-item:last-child{border-right:0}
.vi-service-icon{height:50px;display:grid;place-items:center;color:var(--vi-gold-light)}.vi-service-icon svg{width:38px;height:38px;stroke:currentColor;fill:none;stroke-width:1.6}
.vi-service-item h3{font-family:var(--vi-serif);font-size:18px;margin:6px 0 3px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vi-service-item p{font-size:10px;color:rgba(255,255,255,.64);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* STATS */
.vi-stats{position:relative;overflow:hidden;background:#f7f2e9;border-bottom:1px solid var(--vi-line);padding:26px 0}
.vi-stats-bridge{position:absolute;right:-36px;bottom:-44px;width:370px;opacity:.37;filter:grayscale(1)}
.vi-stats-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.22fr repeat(4,.86fr) 165px;align-items:stretch}
.vi-stats-grid:after{content:""}
.vi-stats-lead{padding-right:30px}.vi-stats-lead h2{font-family:var(--vi-serif);font-size:35px;line-height:.9;margin:7px 0 0;font-weight:500;max-width:195px}
.vi-stat{border-left:1px solid var(--vi-line);display:flex;flex-direction:column;justify-content:center;padding:3px 24px;min-height:82px}.vi-stat strong{font-family:var(--vi-serif);font-size:35px;font-weight:500;line-height:1}.vi-stat span{font-size:8px;text-transform:uppercase;letter-spacing:.15em;margin-top:9px;color:#71766f}

/* WHY */
.vi-why{display:grid;grid-template-columns:37% 41% 22%;min-height:235px;background:#f8f4ed}
.vi-why-media{background-size:cover;background-position:center}
.vi-why-copy{display:flex;flex-direction:column;justify-content:center;padding:29px 45px}
.vi-why-copy h2{font-family:var(--vi-serif);font-size:34px;line-height:.98;margin:8px 0 14px;font-weight:500}
.vi-checks{list-style:none;padding:0;margin:0 0 17px;display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}.vi-checks li{font-size:11px;position:relative;padding-left:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vi-checks li:before{content:"✓";position:absolute;left:0;color:var(--vi-gold);font-weight:800}
.vi-why-quote{margin:0;padding:40px 30px;border-left:1px solid var(--vi-line);font-family:var(--vi-serif);font-size:27px;line-height:1.14;font-style:italic;display:flex;align-items:center;background-size:cover;background-position:center;color:#32322d}

/* CTA */
.vi-cta{position:relative;isolation:isolate;background-size:cover;background-position:center 50%;color:#fff}
.vi-cta-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,29,21,.90),rgba(7,29,21,.53),rgba(7,29,21,.68))}
.vi-cta-inner{min-height:122px;display:grid;grid-template-columns:1.15fr 1fr auto;gap:46px;align-items:center}.vi-cta h2{font-family:var(--vi-serif);font-size:34px;line-height:.93;margin:5px 0 0;font-weight:500}.vi-cta p{font-size:11px;color:rgba(255,255,255,.80);margin:0;max-width:400px}

/* FOOTER */
.vi-footer{background:#061a14;color:rgba(255,255,255,.74);padding:34px 0 16px;position:relative;overflow:hidden}
.vi-footer:after{content:"";position:absolute;right:24px;bottom:22px;width:350px;height:150px;background:url('../img/bridge-line.svg') center/contain no-repeat;opacity:.24;filter:brightness(1.5)}
.vi-footer-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .8fr 1fr 1.2fr;gap:48px;padding-bottom:23px}.vi-footer-brand img{max-width:185px}.vi-footer-brand p{color:#d6b16e;text-transform:uppercase;letter-spacing:.14em;font-size:9px;margin-top:13px}.vi-footer h3{font-family:var(--vi-serif);color:#d7b06a;font-size:18px;margin:0 0 10px}.vi-footer p,.vi-footer li,.vi-footer a{font-size:10px;line-height:1.55}.vi-footer-links,.vi-contact-list{list-style:none;margin:0;padding:0}.vi-footer-links li,.vi-contact-list li{margin:4px 0}.vi-footer-motto{color:#d7b06a;text-transform:uppercase;letter-spacing:.12em}.vi-footer-bottom{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.12);padding-top:13px;display:flex;justify-content:space-between;font-size:9px;color:rgba(255,255,255,.46)}

/* INNER PAGES */
.vi-page-hero{min-height:360px;display:flex;align-items:center;color:#fff;background-size:cover;background-position:center;position:relative;isolation:isolate}.vi-page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,29,21,.88),rgba(7,29,21,.18));z-index:-1}.vi-page-hero h1{font-family:var(--vi-serif);font-size:72px;line-height:.9;margin:15px 0;font-weight:500}.vi-page-hero p{max-width:560px}.vi-breadcrumb{margin-top:25px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.vi-content{padding:66px 0}.entry-content{max-width:1020px}.entry-content h2,.entry-content h3{font-family:var(--vi-serif);font-weight:500}.entry-content h2{font-size:42px}.entry-content h3{font-size:30px}.vi-archive-toolbar{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:36px 0 24px}.vi-archive-toolbar h2{font-family:var(--vi-serif);font-size:44px;margin:0}.vi-empty{padding:30px;border:1px dashed var(--vi-line);grid-column:1/-1}.vi-card{background:#fff;border:1px solid var(--vi-line)}.vi-card-media{height:220px;overflow:hidden}.vi-card-media img{width:100%;height:100%;object-fit:cover}.vi-card-body{padding:18px}.vi-card-body h3{font-family:var(--vi-serif);font-size:28px;margin:0 0 10px}.vi-card-body p{font-size:13px;color:var(--vi-muted)}.vi-card-meta{display:flex;justify-content:space-between;gap:20px;font-size:11px;text-transform:uppercase}.vi-reference-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.vi-reference-item{background:#fff;border:1px solid var(--vi-line);padding:28px}.vi-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.vi-contact-panel{padding:34px;background:#fff;border:1px solid var(--vi-line)}

@media (min-width:1680px){
  .vi-container{width:min(1400px,calc(100% - 120px))}.vi-hero{height:560px}.vi-hero h1{font-size:92px}.vi-project-media{height:235px}
}
@media (max-width:1180px){
  .vi-container{width:min(100% - 44px,1060px)}.vi-header-inner{grid-template-columns:190px 1fr 190px}.vi-nav-list{gap:21px}.vi-header-cta{min-width:185px}.vi-hero{height:500px}.vi-hero h1{font-size:76px}.vi-about-copy-wrap{grid-template-columns:1fr 205px}.vi-about-copy{padding-inline:40px}.vi-service-heading-row{grid-template-columns:1fr auto}.vi-service-heading-row p{display:none}.vi-stats-grid{grid-template-columns:1.1fr repeat(4,1fr)}.vi-stats-grid:after{display:none}.vi-stats-bridge{display:none}.vi-stat{padding-inline:14px}.vi-why{grid-template-columns:38% 62%}.vi-why-quote{display:none}.vi-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .vi-header-inner{height:72px;grid-template-columns:1fr auto}.vi-header-cta{display:none}.vi-menu-toggle{display:block}.vi-nav{position:absolute;top:72px;left:0;right:0;background:#fbf8f2;border-bottom:1px solid var(--vi-line);display:none}.vi-nav.is-open{display:block}.vi-nav-list{display:block;padding:12px 20px}.vi-nav-list li{border-bottom:1px solid var(--vi-line)}.vi-nav-list a{padding:13px 0}.vi-nav-list a:after{display:none}
  .vi-hero{height:570px;background-position:65% center}.vi-hero-grid{grid-template-columns:1fr}.vi-hero-shade{background:linear-gradient(90deg,rgba(7,29,21,.86),rgba(7,29,21,.55),rgba(7,29,21,.18))}.vi-hero h1{font-size:68px}.vi-hero-motto{display:none}
  .vi-about{grid-template-columns:1fr}.vi-about-media{height:330px}.vi-about-copy-wrap{grid-template-columns:1fr}.vi-about-signature{display:none}
  .vi-project-grid{grid-template-columns:1fr}.vi-project-media{height:300px}
  .vi-service-heading-row{grid-template-columns:1fr}.vi-service-heading-row .vi-text-link{justify-self:start}.vi-service-grid{grid-template-columns:1fr 1fr}.vi-service-item:nth-child(2n){border-right:0}
  .vi-stats-grid{grid-template-columns:1fr 1fr}.vi-stats-lead{grid-column:1/-1;padding-bottom:18px}.vi-stat{border-top:1px solid var(--vi-line);padding:18px 12px}
  .vi-why{grid-template-columns:1fr}.vi-why-media{height:320px}.vi-why-copy{padding:38px 26px}.vi-cta-inner{grid-template-columns:1fr;padding:28px 0;gap:18px}.vi-footer-grid{grid-template-columns:1fr}.vi-footer:after{display:none}.vi-page-hero h1{font-size:58px}.vi-contact-grid{grid-template-columns:1fr}.vi-reference-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:540px){
  .vi-container{width:calc(100% - 28px)}.vi-brand img,.custom-logo{max-height:56px}.vi-hero{height:610px}.vi-hero-shade{background:rgba(7,29,21,.76)}.vi-hero h1{font-size:58px}.vi-hero-actions{flex-direction:column;align-items:flex-start}.vi-about-media{height:270px}.vi-about-copy{padding:34px 22px}.vi-about-copy h2,.vi-section-head h2{font-size:37px}.vi-section-head{align-items:flex-start;flex-direction:column}.vi-project-media{height:230px}.vi-service-grid{grid-template-columns:1fr}.vi-service-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.14);padding:14px}.vi-stats-grid{grid-template-columns:1fr}.vi-stat{border-left:0}.vi-checks{grid-template-columns:1fr}.vi-cta h2{font-size:32px}.vi-footer-bottom{flex-direction:column;gap:8px}.vi-page-hero h1{font-size:48px}.vi-reference-grid{grid-template-columns:1fr}
}
.vi-header-inner{grid-template-columns:230px 1fr 225px 34px}.vi-search-trigger{width:34px;height:34px;border:0;background:transparent;padding:5px;color:var(--vi-ink);cursor:pointer}.vi-search-trigger svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.vi-search-panel{display:none;background:#fbf9f4;border-bottom:1px solid var(--vi-line);padding:12px 0;position:absolute;left:0;right:0;z-index:999}.vi-search-panel.is-open{display:block}.vi-search-panel .search-form{display:flex;gap:10px}.vi-search-panel input[type=search]{flex:1;border:1px solid var(--vi-line);background:#fff;padding:10px 12px}.vi-search-panel input[type=submit]{border:0;background:var(--vi-gold);padding:10px 18px;font-weight:700}.vi-social-row{display:flex;gap:12px;margin-top:13px}.vi-social-row a{width:26px;height:26px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;font-size:9px}
@media(max-width:1180px){.vi-header-inner{grid-template-columns:190px 1fr 190px 30px}}
@media(max-width:860px){.vi-header-inner{grid-template-columns:1fr auto 34px}.vi-search-trigger{grid-column:3}.vi-menu-toggle{grid-column:2;grid-row:1}.vi-nav{grid-column:1/-1}.vi-search-panel{top:72px}}

/* =========================================================
   MASTER INNER PAGES — locked to approved visual system
   ========================================================= */
.vi-container-wide{width:min(100% - 72px,1320px);margin-inline:auto}
.vi-master-page{background:#faf7f0;color:#13221d}
.vi-master-page h1,.vi-master-page h2,.vi-master-page h3{font-family:var(--vi-serif);font-weight:500}
.vi-master-page p{color:#676c67}

/* Header exact proportions */
.vi-header-inner{height:72px;grid-template-columns:205px 1fr 196px 30px;gap:24px}
.vi-brand img,.custom-logo{max-height:61px}
.vi-nav-list{gap:29px}
.vi-nav-list a{font-size:11px;padding:25px 0 23px;font-weight:600}
.vi-nav-list a:after{bottom:17px}
.vi-header-cta{min-width:196px;min-height:42px;font-size:10px}
.vi-search-trigger{width:30px;height:30px}

/* Master inner hero */
.vi-master-hero{height:248px;position:relative;isolation:isolate;background-size:cover;background-position:center 55%;overflow:hidden;color:#13221d}
.vi-master-hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(250,246,237,.96) 0%,rgba(248,241,229,.80) 34%,rgba(249,242,230,.15) 62%,rgba(6,27,20,.12) 100%)}
.vi-master-hero-inner{height:100%;display:flex;align-items:center;position:relative}
.vi-master-hero-copy{max-width:520px;padding-bottom:18px}
.vi-master-hero-copy .vi-eyebrow{color:#4b554f}
.vi-master-hero-copy h1{font-size:66px;line-height:.87;letter-spacing:-.04em;margin:12px 0 10px;color:#111a17}
.vi-master-hero-copy p{font-size:14px;line-height:1.45;max-width:440px;color:#3d4741;margin:0 0 14px}
.vi-master-hero-side{position:absolute;right:3px;bottom:26px;border-left:1px solid var(--vi-gold);padding-left:14px;font-size:9px;line-height:1.6;letter-spacing:.22em;color:#f4f0e8;text-transform:uppercase}
.vi-master-breadcrumb{position:absolute;left:0;bottom:9px;font-size:9px;color:#fff;display:flex;gap:12px;align-items:center}
.vi-master-breadcrumb a{color:#fff}
.vi-master-hero .vi-btn-outline{border-color:rgba(255,255,255,.74);background:rgba(14,30,24,.15)}
.vi-master-hero .vi-hero-actions{margin-top:13px}

/* Corporate about */
.vi-corp-about{display:grid;grid-template-columns:37% 44% 19%;min-height:248px;border-bottom:1px solid var(--vi-line);background:#fbf8f1}
.vi-corp-about-image{background-size:cover;background-position:center}
.vi-corp-about-copy{padding:31px 38px 24px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--vi-line)}
.vi-corp-about-copy h2{font-size:37px;line-height:.98;margin:8px 0 10px}
.vi-corp-about-copy p{font-size:11px;line-height:1.55;margin:0 0 12px}
.vi-corp-about-copy .vi-btn{align-self:flex-start;margin-top:2px}
.vi-corp-about-art{position:relative;overflow:hidden;padding:31px 24px;color:#6d716d;font-size:9px;letter-spacing:.22em;line-height:1.75}
.vi-corp-about-art img{position:absolute;right:-52px;bottom:-31px;width:280px;opacity:.26;filter:grayscale(1)}

.vi-corp-vm{display:grid;grid-template-columns:1fr 1fr 260px;background:#fbf8f1;border-bottom:1px solid var(--vi-line)}
.vi-corp-vm-card{min-height:135px;display:grid;grid-template-columns:42px 1fr;gap:15px;padding:26px 36px;border-right:1px solid var(--vi-line)}
.vi-corp-symbol{font-size:27px;color:var(--vi-gold)}
.vi-corp-vm h3{font-size:29px;margin:0 0 8px}
.vi-corp-vm p{font-size:10.5px;line-height:1.55;margin:0}
.vi-corp-vm-photo{display:grid;grid-template-columns:1fr 1fr;min-height:135px;background:#f7f3ea}
.vi-corp-vm-photo img{width:100%;height:100%;object-fit:cover}
.vi-corp-vm-photo em{font-family:var(--vi-serif);font-size:23px;line-height:1.08;display:flex;align-items:center;justify-content:center;padding:12px;color:#343832}

.vi-corp-values{padding:26px 0 22px}
.vi-corp-section-head{display:grid;grid-template-columns:1.25fr 1fr auto;gap:40px;align-items:end;margin-bottom:20px}
.vi-corp-section-head h2{font-size:39px;line-height:.95;margin:8px 0 0}
.vi-corp-section-head p{font-size:10.5px;line-height:1.55;margin:0;max-width:390px}
.vi-values-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--vi-line);background:#fff}
.vi-values-grid article{text-align:center;padding:15px 13px 17px;border-right:1px solid var(--vi-line);min-height:138px}
.vi-values-grid article:last-child{border-right:0}
.vi-value-icon{height:37px;color:#b98533;font-size:31px;display:flex;align-items:center;justify-content:center}
.vi-value-icon svg{width:35px;height:35px;stroke:currentColor;fill:none;stroke-width:1.55}
.vi-values-grid h3{font-size:22px;margin:4px 0 5px}
.vi-values-grid p{font-size:9.5px;line-height:1.45;margin:0}

.vi-corp-process{padding:20px 0 28px;display:grid;grid-template-columns:280px 1fr;gap:32px;border-top:1px solid var(--vi-line)}
.vi-process-intro h2{font-size:38px;line-height:.95;margin:8px 0 8px}
.vi-process-intro p{font-size:10.5px;line-height:1.5;margin:0 0 12px}
.vi-process-steps{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.vi-process-steps:before{content:"";position:absolute;top:21px;left:10%;right:10%;height:1px;background:#d3b171}
.vi-process-steps article{position:relative;padding:0 20px 0 0;z-index:1}
.vi-step-circle{width:44px;height:44px;border-radius:50%;border:1px solid #d7c398;background:#fbf8f1;display:grid;place-items:center;color:#b27b29;font-family:var(--vi-serif);font-size:16px;margin-bottom:10px}
.vi-process-steps h3{font-size:17px;margin:0 0 5px}
.vi-process-steps p{font-size:9.5px;line-height:1.45;margin:0}

.vi-corp-quality{min-height:176px;display:grid;grid-template-columns:38% 37% 25%;background:#082018;color:#fff}
.vi-corp-quality-copy{padding:22px 48px 22px 48px;display:flex;flex-direction:column;justify-content:center}
.vi-corp-quality-copy .vi-eyebrow{color:#d5b06f}.vi-corp-quality-copy h2{font-size:35px;line-height:.95;margin:8px 0 8px}.vi-corp-quality-copy p{color:rgba(255,255,255,.72);font-size:10px;line-height:1.48;margin:0 0 10px}
.vi-corp-quality-image{background-size:cover;background-position:center}
.vi-corp-quality-list{list-style:none;margin:0;padding:27px 26px;display:flex;flex-direction:column;justify-content:center;gap:8px;background:linear-gradient(90deg,rgba(7,31,23,.4),rgba(7,31,23,.96))}
.vi-corp-quality-list li{font-size:10.5px;color:#e6e1d8;padding-left:24px;position:relative}.vi-corp-quality-list li:before{content:"◇";position:absolute;left:0;color:#dfb867;font-size:17px;top:-4px}

/* Stats */
.vi-master-stats{background:#f8f5ee;border-top:1px solid var(--vi-line);border-bottom:1px solid var(--vi-line)}
.vi-master-stats-inner{display:grid;grid-template-columns:1.25fr repeat(4,.83fr) 1.15fr;min-height:104px;align-items:stretch}
.vi-master-stats-lead{padding:18px 25px 15px 0;display:flex;flex-direction:column;justify-content:center}
.vi-master-stats-lead h2{font-size:32px;line-height:.88;margin:7px 0 0;max-width:165px}
.vi-master-stat{border-left:1px solid var(--vi-line);display:flex;flex-direction:column;justify-content:center;padding:0 22px}
.vi-master-stat strong{font-family:var(--vi-serif);font-size:34px;font-weight:500;line-height:1}.vi-master-stat span{font-size:8px;text-transform:uppercase;letter-spacing:.14em;color:#747974;margin-top:7px}
.vi-master-stats-art{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:flex-end}.vi-master-stats-art img{position:absolute;right:-35px;bottom:-26px;width:250px;opacity:.3;filter:grayscale(1)}.vi-master-stats-art span{position:relative;z-index:1;text-align:right;font-size:8px;line-height:1.55;letter-spacing:.2em;margin-right:15px}
.vi-master-stats-dark{background:#0a2119;color:#fff}.vi-master-stats-dark .vi-master-stat{border-color:rgba(255,255,255,.17)}.vi-master-stats-dark .vi-master-stat span,.vi-master-stats-dark .vi-eyebrow{color:rgba(255,255,255,.68)}.vi-master-stats-dark .vi-master-stats-art span{color:#e0bf80}

/* CTA */
.vi-master-cta{position:relative;isolation:isolate;background-size:cover;background-position:center;color:#fff}
.vi-master-cta-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,28,21,.8),rgba(7,28,21,.35),rgba(7,28,21,.60))}
.vi-master-cta-inner{min-height:105px;display:grid;grid-template-columns:1.2fr 1.05fr auto;gap:38px;align-items:center}
.vi-master-cta .vi-eyebrow{color:#f1e6d3}.vi-master-cta h2{font-size:35px;line-height:.88;margin:5px 0 0}.vi-master-cta p{font-size:10px;color:rgba(255,255,255,.84);line-height:1.5;margin:0;max-width:410px}

/* Projects master */
.vi-project-archive{padding:18px 0 24px}
.vi-project-tabs{display:grid;grid-template-columns:repeat(6,1fr) 1.45fr;border:1px solid var(--vi-line);min-height:34px;margin-bottom:12px;background:#fff}
.vi-project-tabs button{border:0;border-right:1px solid var(--vi-line);background:#fff;font-size:10px;cursor:pointer}.vi-project-tabs button.is-active{background:#d8ae68;color:#201a11}.vi-project-search{padding:0 16px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#80827d;gap:8px}.vi-project-search input{width:100%;min-width:0;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;font:inherit;color:#555;padding:0!important;height:auto!important}.vi-project-search input::placeholder{color:#8b8d88;opacity:1}.vi-project-search span{font-size:20px}.vi-project-card[hidden]{display:none!important}.vi-project-no-results{margin:18px 0 4px;padding:22px;text-align:center;border:1px solid var(--vi-line);background:#fff;font-size:11px;color:#6f736d}
.vi-project-grid-six{grid-template-columns:repeat(3,1fr);gap:24px 24px}
.vi-project-card-master .vi-project-media{height:206px;position:relative}.vi-project-card-master .vi-project-body{min-height:82px;padding:14px 18px 14px}.vi-project-card-master .vi-project-body h3{font-size:22px;max-width:100%;line-height:1}.vi-project-card-master .vi-project-body p{font-size:9.5px;max-width:100%;line-height:1.35;letter-spacing:.08em}.vi-project-status{position:absolute;left:12px;top:12px;background:rgba(37,49,45,.78);color:#fff;font-size:9px;letter-spacing:.08em;padding:5px 9px}
.vi-project-featured{display:grid;grid-template-columns:36% 46% 18%;min-height:210px;background:#0b241c;color:#fff}.vi-project-featured-copy{padding:29px 48px;display:flex;flex-direction:column;justify-content:center}.vi-project-featured-copy .vi-eyebrow{color:#d6b471}.vi-project-featured-copy h2{font-size:40px;line-height:.9;margin:8px 0 5px}.vi-project-featured-copy h3{font-size:20px;margin:0 0 9px}.vi-project-featured-copy p{font-size:10.5px;color:rgba(255,255,255,.75);line-height:1.5;margin:0 0 12px}.vi-project-featured-image{background-size:cover;background-position:center}.vi-project-featured blockquote{margin:0;padding:30px 22px;font-family:var(--vi-serif);font-size:24px;font-style:italic;line-height:1.12;display:flex;align-items:center;background:#102c22}
.vi-project-approach{padding:22px 0 25px}.vi-project-approach .vi-corp-section-head h2{font-size:37px}.vi-approach-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--vi-line)}.vi-approach-grid article{display:grid;grid-template-columns:50px 1fr;gap:13px;padding:17px 22px 0 0;border-right:1px solid var(--vi-line)}.vi-approach-grid article:last-child{border-right:0}.vi-approach-grid .vi-value-icon{justify-content:flex-start}.vi-approach-grid h3{font-size:20px;margin:0 0 6px}.vi-approach-grid p{font-size:9.5px;line-height:1.45;margin:0}

/* Services master */
.vi-services-intro{display:grid;grid-template-columns:34% 66%;padding:20px 0 22px;border-bottom:1px solid var(--vi-line)}
.vi-services-intro-copy{padding-right:38px}.vi-services-intro-copy h2{font-size:38px;line-height:.95;margin:8px 0 9px}.vi-services-intro-copy p{font-size:10.5px;line-height:1.5;margin:0 0 11px}
.vi-services-principles{display:grid;grid-template-columns:repeat(4,1fr)}.vi-services-principles article{text-align:center;border-left:1px solid var(--vi-line);padding:7px 16px}.vi-services-principles h3{font-size:18px;line-height:1.05;margin:5px 0}.vi-services-principles p{font-size:9px;line-height:1.45;margin:0}
.vi-services-list{padding:19px 0 17px}.vi-services-list .vi-section-head{margin-bottom:12px}.vi-services-list .vi-section-head h2{font-size:39px}
.vi-service-card-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.vi-service-card-master{background:#fff;border:1px solid var(--vi-line)}.vi-service-card-image{height:88px;overflow:hidden}.vi-service-card-image img{width:100%;height:100%;object-fit:cover}.vi-service-card-body{position:relative;padding:9px 9px 13px;min-height:120px}.vi-service-card-body .vi-value-icon{justify-content:flex-start;height:30px}.vi-service-card-body .vi-value-icon svg{width:27px;height:27px}.vi-service-card-body h3{font-size:18px;line-height:1;margin:4px 0 5px}.vi-service-card-body p{font-size:8.5px;line-height:1.4;margin:0;padding-right:22px}.vi-service-card-body .vi-round-arrow{position:absolute;right:8px;bottom:11px;width:25px;height:25px;font-size:12px}
.vi-service-split{display:grid;min-height:178px;border-top:1px solid var(--vi-line);border-bottom:1px solid var(--vi-line);background:#fbf8f1}.vi-service-split-a{grid-template-columns:40% 42% 18%}.vi-service-split-b{grid-template-columns:55% 45%}.vi-service-split-image{background-size:cover;background-position:center}.vi-service-split-copy{padding:18px 34px;display:flex;flex-direction:column;justify-content:center}.vi-service-split-copy h2{font-size:34px;line-height:.95;margin:7px 0 7px}.vi-service-split-copy p{font-size:10px;line-height:1.48;margin:0 0 9px}.vi-service-split-copy ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.vi-service-split-copy li{font-size:9.5px;padding-left:17px;position:relative}.vi-service-split-copy li:before{content:"✓";position:absolute;left:0;color:#b98331;font-weight:800}.vi-service-split blockquote{margin:0;padding:26px;font-family:var(--vi-serif);font-size:26px;line-height:1.1;font-style:italic;display:flex;align-items:center;border-left:1px solid var(--vi-line)}
.vi-service-process{padding:18px 0 21px;display:grid;grid-template-columns:190px 1fr;gap:28px}.vi-service-process .vi-process-intro h2{font-size:34px}.vi-service-process-steps{display:grid;grid-template-columns:repeat(5,1fr);position:relative}.vi-service-process-steps:before{content:"";position:absolute;top:21px;left:8%;right:8%;height:1px;background:#d4bb8a}.vi-service-process-steps article{position:relative;z-index:1;padding-right:18px}.vi-service-process-steps h3{font-size:15px;margin:0 0 4px}.vi-service-process-steps p{font-size:8.5px;line-height:1.4;margin:0}
.vi-faq{display:grid;grid-template-columns:31% 69%;gap:34px;padding:18px 0 24px;border-top:1px solid var(--vi-line)}.vi-faq-intro h2{font-size:34px;line-height:.92;margin:7px 0}.vi-faq-intro p{font-size:10px;line-height:1.5;margin:0 0 10px}.vi-faq-list details{border-bottom:1px solid var(--vi-line);background:rgba(255,255,255,.28)}.vi-faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:10px 13px;font-size:10px}.vi-faq-list summary::-webkit-details-marker{display:none}.vi-faq-list summary span{font-size:17px;color:#b7802f}.vi-faq-list details p{font-size:9.5px;line-height:1.5;margin:0;padding:0 13px 11px}

/* References master */
.vi-ref-intro{display:grid;grid-template-columns:37% 44% 19%;min-height:235px;background:#fbf8f1;border-bottom:1px solid var(--vi-line)}.vi-ref-intro-image{background-size:cover;background-position:center}.vi-ref-intro-copy{padding:28px 37px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--vi-line)}.vi-ref-intro-copy h2{font-size:37px;line-height:.97;margin:7px 0 10px}.vi-ref-intro-copy p{font-size:10.5px;line-height:1.5;margin:0 0 10px}.vi-ref-intro-art{position:relative;overflow:hidden;padding:29px 24px;font-size:9px;letter-spacing:.2em;line-height:1.65;color:#6d726d}.vi-ref-intro-art img{position:absolute;right:-45px;bottom:-28px;width:250px;opacity:.28;filter:grayscale(1)}
.vi-ref-partners{padding:20px 0 16px}.vi-ref-partners .vi-section-head{margin-bottom:8px}.vi-ref-partners .vi-section-head h2{font-size:29px;letter-spacing:.04em}.vi-partner-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--vi-line);border-bottom:1px solid var(--vi-line)}.vi-partner-grid article{min-height:83px;display:flex;align-items:center;justify-content:center;text-align:center;border-right:1px solid var(--vi-line);padding:10px;color:#747974}.vi-partner-grid article:last-child{border-right:0}.vi-partner-grid img{max-height:52px;width:auto;filter:grayscale(1);opacity:.72}.vi-partner-grid strong{font-size:10px;letter-spacing:.12em}
.vi-ref-projects{padding:18px 0 20px}.vi-ref-projects .vi-corp-section-head{grid-template-columns:1fr 1fr auto}.vi-ref-projects .vi-project-media{height:137px}.vi-ref-projects .vi-project-body{min-height:85px}.vi-ref-projects .vi-project-body p{text-transform:none;letter-spacing:0;font-size:9.5px;white-space:normal;line-height:1.4}
.vi-testimonials{padding:17px 0 22px;display:grid;grid-template-columns:23% 77%;gap:22px;border-top:1px solid var(--vi-line)}.vi-testimonials-intro h2{font-size:36px;line-height:.93;margin:7px 0}.vi-testimonials-intro p{font-size:10px;line-height:1.5}.vi-testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.vi-testimonial-grid article{background:#fff;border:1px solid var(--vi-line);padding:17px 18px}.vi-quote-mark{font-family:Georgia,serif;font-size:38px;color:#c28e3b;line-height:.8}.vi-testimonial-grid p{font-size:9.5px;line-height:1.48;min-height:75px}.vi-testimonial-grid strong{display:block;font-family:var(--vi-serif);font-size:17px}.vi-testimonial-grid span{font-size:8.5px;color:#848680}
.vi-ref-cta{display:grid;grid-template-columns:28% 28% 44%;min-height:125px;background:#fbf8f1}.vi-ref-cta-copy{padding:20px 0 20px 48px}.vi-ref-cta-copy h2{font-size:34px;line-height:.9;margin:7px 0}.vi-ref-cta-text{padding:20px 20px;display:flex;flex-direction:column;justify-content:center}.vi-ref-cta-text p{font-size:9.5px;line-height:1.5;margin:0 0 9px}.vi-ref-cta-image{background-size:cover;background-position:center}

/* Contact master */
.vi-contact-info{display:grid;grid-template-columns:24% 76%;padding:22px 0;border-bottom:1px solid var(--vi-line)}.vi-contact-title{padding-right:25px}.vi-contact-title h2{font-size:39px;line-height:.94;margin:8px 0}.vi-contact-info-grid{display:grid;grid-template-columns:repeat(4,1fr)}.vi-contact-info-grid article{padding:4px 18px;border-left:1px solid var(--vi-line)}.vi-contact-icon{font-size:27px;color:#bd8734;height:36px}.vi-contact-info-grid h3{font-size:19px;margin:3px 0 7px}.vi-contact-info-grid p{font-size:10px;line-height:1.45;margin:0 0 5px;color:#303934}.vi-contact-info-grid span{font-size:8.5px;color:#8a8d87}
.vi-contact-form-section{display:grid;grid-template-columns:24% 42% 34%;gap:22px;padding:22px 0}.vi-contact-form-intro{padding-right:18px}.vi-contact-form-intro h2{font-size:38px;line-height:.93;margin:8px 0 10px}.vi-contact-form-intro p{font-size:10px;line-height:1.5}.vi-contact-form-wrap{padding-top:3px}.vi-contact-form-wrap .viq-wrap{margin:0}.vi-contact-form-wrap .viq-grid{gap:10px}.vi-contact-form-wrap .viq-form label{font-size:9px}.vi-contact-form-wrap .viq-form input,.vi-contact-form-wrap .viq-form select,.vi-contact-form-wrap .viq-form textarea{min-height:38px;padding:9px 10px;border-radius:0;background:#fbfaf6;border-color:#d8d5cc}.vi-contact-form-wrap .viq-form textarea{min-height:105px}.vi-contact-form-wrap .viq-submit{border-radius:0;background:#d8ad66;color:#221a0e;min-height:42px;padding:0 23px}.vi-whatsapp-panel{background:#071f18;color:#fff;padding:27px 29px;display:flex;flex-direction:column;justify-content:center}.vi-whatsapp-panel .vi-eyebrow{color:#ddd2bc}.vi-whatsapp-panel h2{font-size:36px;line-height:.9;margin:9px 0 10px}.vi-whatsapp-panel p{font-size:10px;line-height:1.5;color:rgba(255,255,255,.73)}.vi-whatsapp-btn{display:flex;align-items:center;justify-content:space-between;border:1px solid #c6994d;color:#e4bb6f;padding:11px 14px;font-size:9px;font-weight:700;margin:8px 0 14px}.vi-or{text-align:center;font-size:8px;letter-spacing:.18em;color:#d8d4cb;margin-bottom:7px}.vi-whatsapp-panel strong{font-family:var(--vi-serif);font-size:22px;text-align:center}.vi-whatsapp-panel>span{text-align:center;font-size:8.5px;color:rgba(255,255,255,.6)}
.vi-contact-visit{display:grid;grid-template-columns:30% 35% 35%;min-height:220px;border-top:1px solid var(--vi-line);border-bottom:1px solid var(--vi-line)}.vi-contact-visit-copy{padding:22px 30px 20px 0}.vi-contact-visit-copy h2{font-size:38px;line-height:.93;margin:8px 0}.vi-contact-visit-copy p{font-size:10px;line-height:1.5;margin:0 0 12px}.vi-contact-map,.vi-contact-office{overflow:hidden}.vi-contact-map img,.vi-contact-office img{width:100%;height:100%;object-fit:cover}.vi-contact-faq{border-top:0}

/* Footer master adjustment */
.vi-footer{padding-top:29px}.vi-footer-grid{grid-template-columns:1.1fr .75fr 1.05fr 1.05fr;gap:42px}.vi-footer-brand img{max-width:175px}.vi-footer:after{width:300px}

@media(max-width:1180px){
 .vi-container-wide{width:min(100% - 44px,1060px)}
 .vi-corp-vm{grid-template-columns:1fr 1fr}.vi-corp-vm-photo{display:none}.vi-values-grid{grid-template-columns:repeat(3,1fr)}.vi-values-grid article:nth-child(3){border-right:0}.vi-values-grid article{border-bottom:1px solid var(--vi-line)}
 .vi-master-stats-inner{grid-template-columns:1.2fr repeat(4,1fr)}.vi-master-stats-art{display:none}
 .vi-service-card-grid{grid-template-columns:repeat(3,1fr)}.vi-partner-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:860px){
 .vi-master-hero{height:360px}.vi-master-hero-copy h1{font-size:58px}.vi-master-hero-side{display:none}
 .vi-corp-about,.vi-ref-intro{grid-template-columns:1fr}.vi-corp-about-image,.vi-ref-intro-image{height:280px}.vi-corp-about-art,.vi-ref-intro-art{display:none}
 .vi-corp-vm{grid-template-columns:1fr}.vi-corp-vm-card{border-right:0;border-bottom:1px solid var(--vi-line)}
 .vi-corp-section-head{grid-template-columns:1fr}.vi-values-grid{grid-template-columns:1fr 1fr}.vi-values-grid article:nth-child(3){border-right:1px solid var(--vi-line)}.vi-values-grid article:nth-child(2n){border-right:0}
 .vi-corp-process{grid-template-columns:1fr}.vi-process-steps{grid-template-columns:1fr 1fr;gap:18px}.vi-process-steps:before{display:none}
 .vi-corp-quality{grid-template-columns:1fr}.vi-corp-quality-image{height:240px}.vi-corp-quality-list{padding:24px 35px}
 .vi-master-stats-inner{grid-template-columns:1fr 1fr}.vi-master-stats-lead{grid-column:1/-1}.vi-master-stat{border-top:1px solid var(--vi-line);min-height:80px}
 .vi-master-cta-inner{grid-template-columns:1fr;gap:12px;padding:24px 0}
 .vi-project-tabs{display:flex;overflow:auto}.vi-project-tabs button{min-width:110px;padding:11px}.vi-project-search{min-width:180px}.vi-project-grid-six{grid-template-columns:1fr 1fr}.vi-project-featured{grid-template-columns:1fr}.vi-project-featured-image{height:260px}.vi-project-featured blockquote{display:none}.vi-approach-grid{grid-template-columns:1fr 1fr}
 .vi-services-intro{grid-template-columns:1fr}.vi-services-principles{margin-top:20px}.vi-service-card-grid{grid-template-columns:1fr 1fr}.vi-service-split-a,.vi-service-split-b{grid-template-columns:1fr}.vi-service-split-image{height:250px}.vi-service-split blockquote{display:none}.vi-service-process{grid-template-columns:1fr}.vi-service-process-steps{grid-template-columns:1fr 1fr;gap:16px}.vi-service-process-steps:before{display:none}.vi-faq{grid-template-columns:1fr}
 .vi-partner-grid{grid-template-columns:1fr 1fr}.vi-testimonials{grid-template-columns:1fr}.vi-testimonial-grid{grid-template-columns:1fr}.vi-ref-cta{grid-template-columns:1fr}.vi-ref-cta-copy{padding-left:22px}.vi-ref-cta-image{height:180px}
 .vi-contact-info{grid-template-columns:1fr}.vi-contact-info-grid{grid-template-columns:1fr 1fr}.vi-contact-info-grid article{padding:18px;border-top:1px solid var(--vi-line)}.vi-contact-form-section{grid-template-columns:1fr}.vi-contact-visit{grid-template-columns:1fr}.vi-contact-map,.vi-contact-office{height:260px}
}
@media(max-width:540px){
 .vi-container-wide{width:calc(100% - 28px)}
 .vi-master-hero{height:390px}.vi-master-hero-copy h1{font-size:49px}.vi-master-hero-copy p{font-size:12px}.vi-master-breadcrumb{display:none}
 .vi-values-grid,.vi-process-steps,.vi-project-grid-six,.vi-approach-grid,.vi-services-principles,.vi-service-card-grid,.vi-service-process-steps,.vi-contact-info-grid{grid-template-columns:1fr}
 .vi-values-grid article{border-right:0}.vi-project-card-master .vi-project-media{height:220px}.vi-service-split-copy ul{grid-template-columns:1fr}
 .vi-master-stats-inner{grid-template-columns:1fr}.vi-master-stat{border-left:0}.vi-partner-grid{grid-template-columns:1fr}.vi-contact-info-grid article{border-left:0}
}

/* =========================================================
   CORPORATE PAGE — MASTER LOCK 0.4.1
   Only scoped to .vi-corporate-page; homepage and other pages stay untouched.
   ========================================================= */
.vi-corporate-page .vi-corp-hero{height:248px;background-position:center 56%}
.vi-corporate-page .vi-corp-about{grid-template-columns:37.2% 44.3% 18.5%;height:249px;min-height:249px}
.vi-corporate-page .vi-corp-about-copy{padding:27px 38px 22px}
.vi-corporate-page .vi-corp-about-copy h2{font-size:36px;line-height:.96;margin:7px 0 10px}
.vi-corporate-page .vi-corp-about-copy p{font-size:10.5px;line-height:1.46;margin:0 0 10px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.vi-corporate-page .vi-corp-about-copy p:nth-of-type(2){-webkit-line-clamp:2}
.vi-corporate-page .vi-corp-about-art{padding:27px 22px;font-size:8.5px;line-height:1.72}
.vi-corporate-page .vi-corp-vm{grid-template-columns:37.2% 37.2% 25.6%;height:136px}
.vi-corporate-page .vi-corp-vm-card{min-height:136px;padding:23px 34px;grid-template-columns:36px 1fr;gap:12px}
.vi-corporate-page .vi-corp-symbol,.vi-corporate-page .vi-value-icon{color:#b77d25}
.vi-corporate-page .vi-corp-symbol svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.vi-corporate-page .vi-corp-vm h3{font-size:27px;line-height:1;margin:2px 0 7px}
.vi-corporate-page .vi-corp-vm p{font-size:10px;line-height:1.48;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.vi-corporate-page .vi-corp-vm-photo{min-height:136px;height:136px}
.vi-corporate-page .vi-corp-vm-photo em{font-size:22px;line-height:1.08}
.vi-corporate-page .vi-corp-values{padding:24px 0 19px}
.vi-corporate-page .vi-corp-section-head{grid-template-columns:1.2fr 1fr auto;gap:34px;margin-bottom:17px}
.vi-corporate-page .vi-corp-section-head h2{font-size:38px;line-height:.94}
.vi-corporate-page .vi-corp-section-head p{font-size:10px;line-height:1.45;max-width:380px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.vi-corporate-page .vi-values-grid article{min-height:133px;padding:13px 12px 14px}
.vi-corporate-page .vi-value-icon{height:37px}
.vi-corporate-page .vi-value-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.vi-corporate-page .vi-values-grid h3{font-size:20px;line-height:1;margin:5px 0 5px}
.vi-corporate-page .vi-values-grid p{font-size:9px;line-height:1.42;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.vi-corporate-page .vi-corp-process{padding:19px 0 24px;grid-template-columns:265px 1fr;gap:30px}
.vi-corporate-page .vi-process-intro h2{font-size:36px;line-height:.93;margin:7px 0}
.vi-corporate-page .vi-process-intro p{font-size:10px;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.vi-corporate-page .vi-process-steps{padding-top:1px}
.vi-corporate-page .vi-process-steps:before{top:22px;left:7%;right:7%}
.vi-corporate-page .vi-process-steps article{padding-right:18px}
.vi-corporate-page .vi-step-circle{width:44px;height:44px;margin-bottom:2px;background:#faf7f0}
.vi-corporate-page .vi-step-circle svg{width:24px;height:24px;fill:none;stroke:#a86f1d;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vi-corporate-page .vi-step-number{display:block;font-family:var(--vi-serif);font-size:18px;color:#b47b25;margin:2px 0 0}
.vi-corporate-page .vi-process-steps h3{font-size:16px;line-height:1.05;margin:0 0 5px}
.vi-corporate-page .vi-process-steps p{font-size:9.2px;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.vi-corporate-page .vi-corp-quality{height:176px;min-height:176px;grid-template-columns:38.2% 37.2% 24.6%}
.vi-corporate-page .vi-corp-quality-copy{padding:20px 47px}
.vi-corporate-page .vi-corp-quality-copy h2{font-size:34px;line-height:.93;margin:7px 0 7px}
.vi-corporate-page .vi-corp-quality-copy p{font-size:9.6px;line-height:1.43;margin-bottom:9px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.vi-corporate-page .vi-corp-quality-list{padding:25px 25px;gap:7px}
.vi-corporate-page .vi-corp-quality-list li{font-size:9.8px}
@media(max-width:1180px){
 .vi-corporate-page .vi-corp-about,.vi-corporate-page .vi-corp-vm,.vi-corporate-page .vi-corp-quality{height:auto}
}


/* v0.4.3 — References page master lock. Scoped only to .vi-references-page */
.vi-references-page .vi-ref-hero{height:278px;background-position:center 51%}
.vi-references-page .vi-ref-hero .vi-master-hero-copy{max-width:520px;padding-bottom:0}
.vi-references-page .vi-ref-hero .vi-master-hero-copy h1{font-size:69px;line-height:.86;margin:11px 0 10px}
.vi-references-page .vi-ref-hero .vi-master-hero-copy p{font-size:13.5px;line-height:1.43;max-width:465px;margin-bottom:13px}
.vi-references-page .vi-ref-intro{grid-template-columns:37.2% 43.8% 19%;min-height:235px;height:235px}
.vi-references-page .vi-ref-intro-copy{padding:27px 38px 24px}
.vi-references-page .vi-ref-intro-copy h2{font-size:38px;line-height:.94;margin:7px 0 10px;letter-spacing:-.025em}
.vi-references-page .vi-ref-intro-copy p{font-size:10.5px;line-height:1.5;margin-bottom:11px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.vi-references-page .vi-ref-intro-art{padding:28px 25px;font-size:8.8px;line-height:1.72;letter-spacing:.205em}
.vi-references-page .vi-ref-intro-art>div{position:relative;z-index:2}
.vi-references-page .vi-ref-intro-art img{right:-34px;bottom:-24px;width:265px;opacity:.34}
.vi-references-page .vi-ref-bird{position:absolute;z-index:2;left:43px;top:96px;font-family:Georgia,serif;font-size:31px;color:#6f726c;transform:rotate(-9deg)}

.vi-references-page .vi-ref-partners{padding:20px 0 17px}
.vi-references-page .vi-ref-partner-head{align-items:end;margin-bottom:8px}
.vi-references-page .vi-ref-partner-head h2{font-family:var(--vi-serif);font-size:28px;letter-spacing:.035em;margin:6px 0 0}
.vi-references-page .vi-partner-grid{min-height:91px}
.vi-references-page .vi-partner-grid article{min-height:91px;padding:8px 12px}
.vi-references-page .vi-partner-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;height:100%;color:#7a7d78}
.vi-references-page .vi-partner-mark{height:42px;display:grid;place-items:center}
.vi-references-page .vi-partner-mark svg{width:56px;height:42px;fill:#787d78;stroke:#787d78;stroke-width:1.2}
.vi-references-page .vi-partner-fallback strong{font-size:8px;line-height:1.2;letter-spacing:.16em;max-width:118px}

.vi-references-page .vi-ref-projects{padding:18px 0 21px}
.vi-references-page .vi-ref-project-head{grid-template-columns:1.02fr 1fr auto;gap:30px;margin-bottom:13px}
.vi-references-page .vi-ref-project-head h2{font-size:38px;line-height:.94;margin-top:7px}
.vi-references-page .vi-ref-project-head p{font-size:10px;line-height:1.48;max-width:380px}
.vi-references-page .vi-ref-project-card .vi-project-media{height:141px}
.vi-references-page .vi-ref-project-card .vi-project-body{min-height:94px;padding:10px 14px 9px;align-items:flex-end}
.vi-references-page .vi-ref-project-card .vi-project-body h3{font-size:20px;margin:0 0 4px}
.vi-references-page .vi-ref-desc{font-size:9.4px!important;line-height:1.38!important;text-transform:none!important;letter-spacing:0!important;color:#696f6a!important;margin:0 0 7px!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.vi-references-page .vi-ref-meta{display:block;font-size:7.8px;letter-spacing:.14em;color:#888b85;text-transform:uppercase}
.vi-references-page .vi-ref-project-card .vi-round-arrow{width:29px;height:29px;font-size:14px;margin-bottom:1px}

.vi-references-page .vi-testimonials{padding:18px 0 22px;grid-template-columns:23% 77%;gap:23px}
.vi-references-page .vi-testimonials-intro h2{font-size:37px;line-height:.9;margin:7px 0 8px}
.vi-references-page .vi-testimonials-intro p{font-size:10px;line-height:1.48;max-width:180px;margin-bottom:15px}
.vi-references-page .vi-testimonial-arrows{display:flex;gap:8px}
.vi-references-page .vi-testimonial-arrows span{width:28px;height:28px;border:1px solid var(--vi-line);border-radius:50%;display:grid;place-items:center;font-size:12px;color:#515751;background:#fff}
.vi-references-page .vi-testimonial-grid{gap:13px}
.vi-references-page .vi-testimonial-grid article{min-height:154px;padding:16px 18px 14px}
.vi-references-page .vi-quote-mark{font-size:35px}
.vi-references-page .vi-testimonial-grid p{font-size:9.4px;line-height:1.48;min-height:76px;margin:2px 0 9px;color:#666c67;font-style:italic}
.vi-references-page .vi-testimonial-grid strong{font-size:16px}
.vi-references-page .vi-testimonial-grid span{font-size:8px;letter-spacing:.05em}

.vi-references-page .vi-master-stats{min-height:104px}
.vi-references-page .vi-ref-cta{grid-template-columns:28% 27% 45%;min-height:124px}
.vi-references-page .vi-ref-cta-copy{padding:20px 0 18px 48px}
.vi-references-page .vi-ref-cta-copy h2{font-size:34px;line-height:.88;margin:7px 0}
.vi-references-page .vi-ref-cta-text{padding:18px 18px}
.vi-references-page .vi-ref-cta-text p{font-size:9.5px;line-height:1.48;margin-bottom:10px}
.vi-references-page .vi-ref-cta-image{background-position:center}

@media(max-width:820px){
 .vi-references-page .vi-ref-hero{height:360px}
 .vi-references-page .vi-ref-intro{height:auto;grid-template-columns:1fr}
 .vi-references-page .vi-ref-intro-image{height:280px}
 .vi-references-page .vi-ref-intro-art{display:none}
 .vi-references-page .vi-ref-project-card .vi-project-media{height:220px}
 .vi-references-page .vi-testimonials{grid-template-columns:1fr}
 .vi-references-page .vi-testimonials-intro p{max-width:none}
}

/* v0.4.5 — Light form contrast fix + dedicated FAQ knowledge page */
.vi-quote-shell .viq-wrap,
.vi-contact-form-wrap .viq-wrap{
  --viq-gold:#bd8734;
  --viq-line:#cfc8bb;
  --viq-text:#10231d;
  color:#10231d;
  color-scheme:light;
}
.vi-quote-shell .viq-form label,
.vi-contact-form-wrap .viq-form label{color:#35423d;font-weight:500}
.vi-quote-shell .viq-form input,
.vi-quote-shell .viq-form select,
.vi-quote-shell .viq-form textarea,
.vi-contact-form-wrap .viq-form input,
.vi-contact-form-wrap .viq-form select,
.vi-contact-form-wrap .viq-form textarea{
  background:#fffdf9!important;
  color:#10231d!important;
  -webkit-text-fill-color:#10231d;
  border:1px solid #cfc8bb!important;
  box-shadow:none;
}
.vi-quote-shell .viq-form input::placeholder,
.vi-quote-shell .viq-form textarea::placeholder,
.vi-contact-form-wrap .viq-form input::placeholder,
.vi-contact-form-wrap .viq-form textarea::placeholder{color:#7d827e!important;opacity:1}
.vi-quote-shell .viq-form select option,
.vi-contact-form-wrap .viq-form select option{background:#fff;color:#10231d}
.vi-quote-shell .viq-form input:focus,
.vi-quote-shell .viq-form select:focus,
.vi-quote-shell .viq-form textarea:focus,
.vi-contact-form-wrap .viq-form input:focus,
.vi-contact-form-wrap .viq-form select:focus,
.vi-contact-form-wrap .viq-form textarea:focus{border-color:#bd8734!important;outline:2px solid rgba(189,135,52,.10)}
.vi-quote-shell .viq-consent,
.vi-contact-form-wrap .viq-consent{color:#5d645f!important;font-size:10px!important}
.vi-quote-shell .viq-consent input,
.vi-contact-form-wrap .viq-consent input{accent-color:#bd8734;-webkit-text-fill-color:initial}
.vi-quote-shell .viq-submit,
.vi-contact-form-wrap .viq-submit{background:linear-gradient(135deg,#e4bd73,#c89443);color:#18120a!important;-webkit-text-fill-color:#18120a}
.vi-quote-note{font-size:12px!important;color:#747a75!important;border-left:2px solid #c99a4c;padding-left:15px}
.vi-footer-extra-links{margin-top:8px}

.vi-faq-page{background:#fbf8f1}
.vi-faq-page .vi-faq-hero{background-position:center 52%}
.vi-faq-page-intro{display:grid;grid-template-columns:1.05fr 1fr auto;gap:48px;align-items:end;padding:34px 0;border-bottom:1px solid var(--vi-line)}
.vi-faq-page-intro h2{font-size:42px;line-height:.94;margin:9px 0 0}
.vi-faq-page-intro>p{font-size:11px;line-height:1.65;color:#5f675f;margin:0;max-width:500px}
.vi-faq-library{display:grid;grid-template-columns:245px 1fr;gap:54px;padding:34px 0 52px}
.vi-faq-library-nav{align-self:start;position:sticky;top:105px;border:1px solid var(--vi-line);background:#f7f1e7;padding:22px}
.vi-faq-library-nav>.vi-eyebrow{margin-bottom:13px;color:#8d6c36}
.vi-faq-library-nav>a{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(16,35,29,.10);font-family:var(--vi-serif);font-size:17px;color:#172a23}
.vi-faq-library-nav>a span{font-family:var(--vi-sans);font-size:9px;color:#b17b2d;letter-spacing:.08em}
.vi-faq-side-note{margin-top:22px;padding-top:2px}
.vi-faq-side-note strong{font-family:var(--vi-serif);font-size:20px;font-weight:500}
.vi-faq-side-note p{font-size:9.5px;line-height:1.55;color:#6c726d;margin:7px 0 0}
.vi-faq-library-content{min-width:0}
.vi-faq-group{scroll-margin-top:105px;padding:0 0 32px;margin:0 0 30px;border-bottom:1px solid var(--vi-line)}
.vi-faq-group:last-child{margin-bottom:0}
.vi-faq-group>header{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;margin-bottom:14px}
.vi-faq-group>header>span{font-family:var(--vi-serif);font-size:22px;color:#b17b2d;border-top:1px solid #b17b2d;padding-top:6px}
.vi-faq-group h2{font-size:34px;line-height:.95;margin:0 0 5px}
.vi-faq-group header p{font-size:10px;color:#80847f;margin:0;letter-spacing:.03em}
.vi-faq-list-large details{background:#fff;border:1px solid var(--vi-line);border-bottom:0}
.vi-faq-list-large details:last-child{border-bottom:1px solid var(--vi-line)}
.vi-faq-list-large summary{padding:15px 18px;font-family:var(--vi-serif);font-size:18px;color:#172a23}
.vi-faq-list-large summary span{font-family:var(--vi-sans);font-size:20px;color:#b17b2d}
.vi-faq-list-large details p{padding:0 48px 17px 18px;font-size:11px;line-height:1.65;color:#5e6661;margin:0;max-width:900px}
.vi-faq-bottom-cta{background:#092219;color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.vi-faq-bottom-cta>.vi-container-wide{min-height:130px;display:grid;grid-template-columns:1.2fr 1fr auto;gap:45px;align-items:center}
.vi-faq-bottom-cta .vi-eyebrow{color:#d7b16e}
.vi-faq-bottom-cta h2{font-size:34px;line-height:.95;margin:7px 0 0;color:#fff}
.vi-faq-bottom-cta p{font-size:10px;line-height:1.55;color:rgba(255,255,255,.72);margin:0}

@media(max-width:980px){
  .vi-faq-page-intro{grid-template-columns:1fr 1fr}.vi-faq-page-intro .vi-btn{grid-column:1/-1;justify-self:start}
  .vi-faq-library{grid-template-columns:1fr}.vi-faq-library-nav{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.vi-faq-library-nav>.vi-eyebrow,.vi-faq-side-note{grid-column:1/-1}
  .vi-faq-bottom-cta>.vi-container-wide{grid-template-columns:1fr 1fr}.vi-faq-bottom-cta .vi-btn{grid-column:1/-1;justify-self:start;margin-bottom:24px}
}
@media(max-width:640px){
  .vi-faq-page-intro{grid-template-columns:1fr;gap:18px}.vi-faq-page-intro h2{font-size:36px}
  .vi-faq-library{padding-top:24px;gap:28px}.vi-faq-library-nav{grid-template-columns:1fr}
  .vi-faq-group>header{grid-template-columns:35px 1fr}.vi-faq-group h2{font-size:29px}.vi-faq-list-large summary{font-size:16px;padding:14px}.vi-faq-list-large details p{padding:0 14px 16px;font-size:10.5px}
  .vi-faq-bottom-cta>.vi-container-wide{grid-template-columns:1fr;gap:14px;padding:25px 0}.vi-faq-bottom-cta .vi-btn{grid-column:auto;margin-bottom:0}
}

/* =========================================================
   QUOTE PAGE — same refined language as FAQ
   ========================================================= */
.vi-quote-page{background:#fbf8f1}
.vi-quote-page .vi-quote-hero{background-position:center 52%}
.vi-quote-page-intro{display:grid;grid-template-columns:1.08fr 1fr auto;gap:48px;align-items:end;padding:34px 0;border-bottom:1px solid var(--vi-line)}
.vi-quote-page-intro h2{font-size:42px;line-height:.94;margin:9px 0 0;max-width:520px}
.vi-quote-page-intro>p{font-size:11px;line-height:1.65;color:#5f675f;margin:0;max-width:510px}
.vi-quote-page-intro .vi-text-link{align-self:end;white-space:nowrap}

.vi-quote-workspace{display:grid;grid-template-columns:290px minmax(0,1fr);gap:54px;padding:38px 0 46px}
.vi-quote-process-panel{align-self:start;position:sticky;top:105px;border:1px solid var(--vi-line);background:#f7f1e7;padding:23px 22px 22px}
.vi-quote-process-panel>.vi-eyebrow{color:#8d6c36;margin-bottom:8px}
.vi-quote-process-panel>h2{font-size:30px;line-height:.95;margin:0 0 20px}
.vi-quote-process-list{border-top:1px solid rgba(16,35,29,.11)}
.vi-quote-process-list article{display:grid;grid-template-columns:33px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid rgba(16,35,29,.11)}
.vi-quote-process-list article>span{font-family:var(--vi-serif);font-size:18px;color:#b17b2d;line-height:1}
.vi-quote-process-list h3{font-size:17px;line-height:1.05;margin:0 0 5px}
.vi-quote-process-list p{font-size:9.5px;line-height:1.5;color:#69706b;margin:0}
.vi-quote-process-note{padding-top:20px}
.vi-quote-process-note strong{font-family:var(--vi-serif);font-size:19px;font-weight:500}
.vi-quote-process-note p{font-size:9.5px;line-height:1.55;color:#6c726d;margin:7px 0 0}

.vi-quote-form-card{background:#fff;border:1px solid var(--vi-line);padding:32px 36px 28px;box-shadow:0 10px 28px rgba(26,33,29,.035)}
.vi-quote-form-card>header{max-width:740px;padding-bottom:22px;margin-bottom:25px;border-bottom:1px solid var(--vi-line)}
.vi-quote-form-card>header h2{font-size:39px;line-height:.95;margin:9px 0 9px}
.vi-quote-form-card>header p{font-size:11px;line-height:1.6;color:#626a65;margin:0;max-width:680px}
.vi-quote-page .vi-quote-shell .viq-grid{gap:18px 16px}
.vi-quote-page .vi-quote-shell .viq-form label{gap:8px;font-size:10px;letter-spacing:.05em;color:#4b5650;font-weight:600;text-transform:none}
.vi-quote-page .vi-quote-shell .viq-form input,
.vi-quote-page .vi-quote-shell .viq-form select,
.vi-quote-page .vi-quote-shell .viq-form textarea{min-height:46px;padding:12px 13px;background:#fffdf9!important;border:1px solid #d7d1c6!important;font-family:var(--vi-sans);font-size:12px}
.vi-quote-page .vi-quote-shell .viq-form textarea{min-height:145px;resize:vertical}
.vi-quote-page .vi-quote-shell .viq-form input:focus,
.vi-quote-page .vi-quote-shell .viq-form select:focus,
.vi-quote-page .vi-quote-shell .viq-form textarea:focus{border-color:#bd8734!important;outline:2px solid rgba(189,135,52,.09)}
.vi-quote-page .vi-quote-shell .viq-consent{font-size:9.5px!important;line-height:1.5;color:#6a716c!important;margin-top:2px}
.vi-quote-page .vi-quote-shell .viq-submit{min-height:47px;padding:0 23px;margin-top:20px;border:1px solid #c99a4c;background:linear-gradient(135deg,#e5bf76,#c99543);font-size:10px;letter-spacing:.08em}
.vi-quote-page .vi-quote-shell .viq-submit span{margin-left:28px}
.vi-quote-privacy{font-size:9px!important;line-height:1.5!important;color:#858983!important;margin:19px 0 0!important;padding-top:16px;border-top:1px solid var(--vi-line)}

.vi-quote-trust{padding:27px 0 34px;border-top:1px solid var(--vi-line)}
.vi-quote-trust-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:18px}
.vi-quote-trust-head h2{font-size:38px;line-height:.95;margin:8px 0 0}
.vi-quote-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--vi-line);background:#fff}
.vi-quote-trust-grid article{min-height:150px;padding:20px 19px 18px;border-right:1px solid var(--vi-line)}
.vi-quote-trust-grid article:last-child{border-right:0}
.vi-quote-trust-grid .vi-value-icon{justify-content:flex-start;height:38px}
.vi-quote-trust-grid h3{font-size:21px;line-height:1;margin:8px 0 7px}
.vi-quote-trust-grid p{font-size:9.5px;line-height:1.5;color:#6b716d;margin:0}
.vi-quote-bottom-cta{margin-top:0}

@media(max-width:980px){
  .vi-quote-page-intro{grid-template-columns:1fr 1fr}.vi-quote-page-intro .vi-text-link{grid-column:1/-1;justify-self:start}
  .vi-quote-workspace{grid-template-columns:1fr;gap:28px}.vi-quote-process-panel{position:static}.vi-quote-process-list{display:grid;grid-template-columns:1fr 1fr}.vi-quote-process-list article:nth-child(odd){padding-right:18px}.vi-quote-process-list article:nth-child(even){padding-left:18px;border-left:1px solid rgba(16,35,29,.11)}
  .vi-quote-trust-grid{grid-template-columns:1fr 1fr}.vi-quote-trust-grid article{border-bottom:1px solid var(--vi-line)}.vi-quote-trust-grid article:nth-child(2){border-right:0}
}
@media(max-width:640px){
  .vi-quote-page-intro{grid-template-columns:1fr;gap:18px}.vi-quote-page-intro h2{font-size:36px}
  .vi-quote-workspace{padding-top:24px}.vi-quote-process-list{grid-template-columns:1fr}.vi-quote-process-list article:nth-child(odd),.vi-quote-process-list article:nth-child(even){padding-left:0;padding-right:0;border-left:0}
  .vi-quote-form-card{padding:24px 18px}.vi-quote-form-card>header h2{font-size:34px}
  .vi-quote-page .vi-quote-shell .viq-grid{grid-template-columns:1fr}.vi-quote-page .vi-quote-shell .viq-full{grid-column:auto}
  .vi-quote-trust-head{grid-template-columns:1fr}.vi-quote-trust-grid{grid-template-columns:1fr}.vi-quote-trust-grid article{border-right:0}
}

/* === Homepage Master Lock 0.4.8 ===
   Homepage mirrors the approved corporate master composition.
   Scoped to .vi-home-master-page so inner pages are not changed.
*/
.vi-home-master-page .vi-corp-hero{height:248px;background-position:center 56%}
.vi-home-master-page .vi-corp-about{grid-template-columns:37.2% 44.3% 18.5%;height:249px;min-height:249px}
.vi-home-master-page .vi-corp-about-copy{padding:27px 38px 22px}
.vi-home-master-page .vi-corp-about-copy h2{font-size:36px;line-height:.96;margin:7px 0 10px}
.vi-home-master-page .vi-corp-about-copy p{font-size:10.5px;line-height:1.46;margin:0 0 10px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.vi-home-master-page .vi-corp-about-copy p:nth-of-type(2){-webkit-line-clamp:2}
.vi-home-master-page .vi-corp-about-art{padding:27px 22px;font-size:8.5px;line-height:1.72}
.vi-home-master-page .vi-home-about-art img{right:-35px;bottom:-12px;width:255px;opacity:.34;filter:grayscale(1)}
.vi-home-master-page .vi-corp-vm{grid-template-columns:37.2% 37.2% 25.6%;height:136px}
.vi-home-master-page .vi-corp-vm-card{min-height:136px;padding:23px 34px;grid-template-columns:36px 1fr;gap:12px}
.vi-home-master-page .vi-corp-symbol,.vi-home-master-page .vi-value-icon{color:#b77d25}
.vi-home-master-page .vi-corp-symbol svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.vi-home-master-page .vi-corp-vm h3{font-size:27px;line-height:1;margin:2px 0 7px}
.vi-home-master-page .vi-corp-vm p{font-size:10px;line-height:1.48;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.vi-home-master-page .vi-corp-vm-photo{min-height:136px;height:136px}
.vi-home-master-page .vi-corp-vm-photo em{font-size:22px;line-height:1.08}
.vi-home-master-page .vi-corp-values{padding:24px 0 19px}
.vi-home-master-page .vi-corp-section-head{grid-template-columns:1.2fr 1fr auto;gap:34px;margin-bottom:17px}
.vi-home-master-page .vi-corp-section-head h2{font-size:38px;line-height:.94}
.vi-home-master-page .vi-corp-section-head p{font-size:10px;line-height:1.45;max-width:380px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.vi-home-master-page .vi-values-grid article{min-height:133px;padding:13px 12px 14px}
.vi-home-master-page .vi-value-icon{height:37px}
.vi-home-master-page .vi-value-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.vi-home-master-page .vi-values-grid h3{font-size:20px;line-height:1;margin:5px 0 5px}
.vi-home-master-page .vi-values-grid p{font-size:9px;line-height:1.42;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.vi-home-master-page .vi-corp-process{padding:19px 0 24px;grid-template-columns:265px 1fr;gap:30px}
.vi-home-master-page .vi-process-intro h2{font-size:36px;line-height:.93;margin:7px 0}
.vi-home-master-page .vi-process-intro p{font-size:10px;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.vi-home-master-page .vi-process-steps{padding-top:1px}
.vi-home-master-page .vi-process-steps:before{top:22px;left:7%;right:7%}
.vi-home-master-page .vi-process-steps article{padding-right:18px}
.vi-home-master-page .vi-step-circle{width:44px;height:44px;margin-bottom:2px;background:#faf7f0}
.vi-home-master-page .vi-step-circle svg{width:24px;height:24px;fill:none;stroke:#a86f1d;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vi-home-master-page .vi-step-number{display:block;font-family:var(--vi-serif);font-size:18px;color:#b47b25;margin:2px 0 0}
.vi-home-master-page .vi-process-steps h3{font-size:16px;line-height:1.05;margin:0 0 5px}
.vi-home-master-page .vi-process-steps p{font-size:9.2px;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.vi-home-master-page .vi-corp-quality{height:176px;min-height:176px;grid-template-columns:38.2% 37.2% 24.6%}
.vi-home-master-page .vi-corp-quality-copy{padding:20px 47px}
.vi-home-master-page .vi-corp-quality-copy h2{font-size:34px;line-height:.93;margin:7px 0 7px}
.vi-home-master-page .vi-corp-quality-copy p{font-size:9.6px;line-height:1.43;margin-bottom:9px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.vi-home-master-page .vi-corp-quality-list{padding:25px 25px;gap:7px}
.vi-home-master-page .vi-corp-quality-list li{font-size:9.8px}
@media(max-width:820px){
 .vi-home-master-page .vi-corp-about,.vi-home-master-page .vi-corp-vm,.vi-home-master-page .vi-corp-quality{height:auto}
 .vi-home-master-page .vi-corp-about{grid-template-columns:1fr}.vi-home-master-page .vi-corp-about-image{height:280px}.vi-home-master-page .vi-corp-about-art{display:none}
 .vi-home-master-page .vi-corp-vm{grid-template-columns:1fr}.vi-home-master-page .vi-corp-vm-card{border-right:0;border-bottom:1px solid var(--vi-line)}.vi-home-master-page .vi-corp-vm-photo{display:none}
 .vi-home-master-page .vi-corp-section-head{grid-template-columns:1fr}.vi-home-master-page .vi-values-grid{grid-template-columns:1fr 1fr}.vi-home-master-page .vi-values-grid article:nth-child(2n){border-right:0}
 .vi-home-master-page .vi-corp-process{grid-template-columns:1fr}.vi-home-master-page .vi-process-steps{grid-template-columns:1fr 1fr;gap:18px}.vi-home-master-page .vi-process-steps:before{display:none}
 .vi-home-master-page .vi-corp-quality{grid-template-columns:1fr}.vi-home-master-page .vi-corp-quality-image{height:240px}.vi-home-master-page .vi-corp-quality-list{padding:24px 35px}
}

/* =========================================================
   HOME MASTER IMAGE — EXACT APPROVED VISUAL
   The approved master PNG is the homepage surface. All links
   are transparent hotspots aligned to that image.
   ========================================================= */
body.vi-home-image-master{margin:0;background:#f7f2e8;overflow-x:hidden}
body.vi-home-image-master .vi-skip-link{position:absolute;left:-9999px}
.vi-home-master-canvas{margin:0;padding:0;width:100%;background:#f7f2e8}
.vi-home-master-stage{position:relative;width:100%;max-width:none;margin:0 auto;line-height:0;background:#f7f2e8}
.vi-home-master-image{display:block;width:100%;height:auto;margin:0;padding:0;border:0;user-select:none;-webkit-user-drag:none}
.vi-home-hotspot{position:absolute;display:block;z-index:5;background:transparent;border:0;outline:0;cursor:pointer;line-height:normal}
.vi-home-hotspot:focus-visible{outline:2px solid #c99643;outline-offset:-2px;background:rgba(201,150,67,.08)}
.admin-bar .vi-home-master-stage{margin-top:0}
@media (max-width:782px){body.vi-home-image-master{min-width:320px}.vi-home-master-image{width:100%;height:auto}}

/* =========================================================
   HOME HIGH-RES MASTER v0.5.0
   Native HTML + full resolution assets. No raster screenshot scaling.
   ========================================================= */
.home .vi-header{background:#fbf9f4}
.home .vi-header-inner{height:78px}
.home .vi-brand img,.home .custom-logo{max-height:64px}
.home .vi-nav-list a{padding-top:27px;padding-bottom:25px}
.home .vi-hero{height:505px;background-position:center right}
.home .vi-hero-shade{background:linear-gradient(90deg,rgba(8,28,20,.82) 0%,rgba(8,28,20,.60) 29%,rgba(8,28,20,.16) 57%,rgba(8,28,20,0) 76%)}
.home .vi-hero h1{font-size:82px;line-height:.86;max-width:590px;margin:17px 0 20px}
.home .vi-hero p{font-size:14px;max-width:490px;margin-bottom:25px}
.home .vi-about{min-height:286px;grid-template-columns:39% 61%}
.home .vi-about-copy-wrap{grid-template-columns:minmax(0,1fr) 245px}
.home .vi-about-copy{padding:31px 48px 28px}
.home .vi-about-copy h2{font-size:42px;margin:9px 0 14px}
.home .vi-about-copy p{font-size:12px;line-height:1.55;margin-bottom:16px}
.home .vi-about-signature{min-height:286px;padding:29px 22px 16px 26px}
.home .vi-about-signature img{left:-20%;bottom:7px;width:155%;opacity:.34}
.home .vi-section.vi-projects-home{padding:37px 0 42px}
.home .vi-section-head{margin-bottom:18px}
.home .vi-section-head h2{font-size:40px}
.home .vi-project-media{height:198px}
.home .vi-project-body{min-height:76px;padding:12px 16px}
.home .vi-project-body h3{font-size:22px}
.home .vi-service-band{padding:31px 0 25px}
.home .vi-service-heading-row{margin-bottom:22px}
.home .vi-service-heading-row h2{font-size:35px}
.home .vi-service-item{padding:4px 13px 2px}
.home .vi-service-icon{height:44px}
.home .vi-service-icon svg{width:34px;height:34px}
.home .vi-service-item h3{font-size:17px}
.home .vi-stats{padding:22px 0}
.home .vi-stat{min-height:72px}
.home .vi-stats-lead h2{font-size:32px}
.home .vi-stat strong{font-size:32px}
.home .vi-why{min-height:215px;grid-template-columns:37% 41% 22%}
.home .vi-why-copy{padding:24px 39px}
.home .vi-why-copy h2{font-size:31px}
.home .vi-why-quote{font-size:25px;padding:34px 26px}
.home .vi-cta-inner{min-height:108px}
.home .vi-cta h2{font-size:31px}
.home .vi-footer{padding-top:30px}
.home .vi-footer-grid{padding-bottom:20px}

@media (min-width:1600px){
  .home .vi-container{width:min(1380px,calc(100% - 112px))}
  .home .vi-hero{height:540px}
  .home .vi-hero h1{font-size:88px}
  .home .vi-project-media{height:218px}
}
@media (max-width:1180px){
  .home .vi-header-inner{height:74px}
  .home .vi-hero{height:500px}
  .home .vi-about{min-height:300px}
  .home .vi-about-signature{min-height:300px}
}
@media (max-width:860px){
  .home .vi-header-inner{height:72px}
  .home .vi-hero{height:570px}
  .home .vi-about{min-height:0}
  .home .vi-project-media{height:290px}
}
