/* Runtime companion for the source-aligned homepage density pass. */
main>.intro-premium,main>.expertise,main>.split-feature,main>.process-section,main>.projects-section,main>.industries-section,main>.difference,main>.cta{display:none!important}
/* =========================================================
   HOMEPAGE REFERENCE-LED DENSITY PASS — 2026-09-10
   Continues the existing Codex build. Homepage-only classes.
   Reference influence: denser corporate rhythm, image-led sections,
   accordions, split features, project desk and FAQ. No copied UI.
   ========================================================= */

.vf-proof-strip .container{max-width:1320px}

.vf-about-home{padding:105px 0 110px;background:#fff}
.vf-about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:78px;align-items:center}
.vf-about-copy h2{font-size:clamp(3.25rem,4.5vw,5.25rem);letter-spacing:-.045em;line-height:.98;max-width:720px;margin-bottom:28px}
.vf-about-copy>p:not(.eyebrow){max-width:660px;font-size:.94rem;line-height:1.9}
.vf-about-copy .vf-lead{font-size:1.05rem!important;color:#3f5368!important}
.vf-about-actions{display:flex;align-items:center;gap:22px;margin-top:30px}
.vf-about-actions .text-link{margin-top:0}
.vf-verified-row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.vf-verified-row>div{padding:20px 18px 20px 0;display:flex;flex-direction:column;gap:4px}
.vf-verified-row>div+div{border-left:1px solid var(--line);padding-left:18px}
.vf-verified-row strong{font-size:.75rem;color:var(--ink)}
.vf-verified-row span{font-size:.66rem;line-height:1.5;color:#738193}
.vf-about-mosaic{position:relative;display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:12px;min-height:615px}
.vf-about-mosaic .photo{min-height:0}
.vf-mosaic-main{grid-row:1/3}
.vf-mosaic-top,.vf-mosaic-bottom{min-height:0}
.vf-about-mosaic img{transition:transform .5s ease}
.vf-about-mosaic .photo:hover img{transform:scale(1.02)}
.vf-mosaic-label{position:absolute;left:24px;bottom:24px;background:#071827e8;color:#fff;display:flex;gap:14px;padding:12px 15px;font-size:.58rem;font-weight:800;letter-spacing:.14em}
.vf-mosaic-label span+span{padding-left:14px;border-left:1px solid #ffffff32}

.vf-why-home{padding:105px 0;background:#f6f5ee}
.vf-why-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:75px;align-items:stretch}
.vf-why-list h2{font-size:clamp(3rem,4vw,4.5rem);letter-spacing:-.04em;max-width:650px;margin-bottom:22px}
.vf-why-intro{max-width:640px;font-size:.92rem;line-height:1.85;margin-bottom:28px}
.vf-accordion{border-top:1px solid #cfd6d8}
.vf-accordion details{border-bottom:1px solid #cfd6d8}
.vf-accordion summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:20px 0;font-weight:700;font-size:.98rem}
.vf-accordion summary::-webkit-details-marker{display:none}
.vf-accordion summary span{color:var(--red);font-size:.66rem;letter-spacing:.08em}
.vf-accordion summary b{font-size:1.45rem;font-weight:400;color:var(--red);transition:transform .2s}
.vf-accordion details[open] summary b{transform:rotate(45deg)}
.vf-accordion details p{padding:0 50px 20px 54px;font-size:.82rem;line-height:1.78;max-width:620px}
.vf-why-visual{position:relative;min-height:620px;overflow:hidden;background:var(--navy)}
.vf-why-visual>.photo{position:absolute;inset:0}
.vf-why-visual>.photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#061829e8 100%)}
.vf-why-overlay{position:absolute;z-index:2;left:38px;right:38px;bottom:35px;color:#fff}
.vf-why-overlay small{display:block;color:#ff9aaa;font-size:.63rem;letter-spacing:.16em;font-weight:800;margin-bottom:10px}
.vf-why-overlay strong{display:block;font-size:2rem;line-height:1.1;max-width:560px}
.vf-why-overlay p{color:#c8d3de;max-width:560px;font-size:.8rem;line-height:1.75;margin-top:12px}

.vf-section-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:75px;align-items:end;margin-bottom:42px}
.vf-section-heading h2{font-size:clamp(3rem,4vw,4.55rem);letter-spacing:-.04em;max-width:820px}
.vf-section-heading>div:last-child{max-width:420px;justify-self:end}
.vf-section-heading>div:last-child p{font-size:.86rem;line-height:1.8}
.vf-section-heading-light h2{color:#fff}.vf-section-heading-light p{color:#aebdce}.vf-section-heading-light .eyebrow{color:#ff8495}
.light-link{color:#fff}

.vf-services-home{padding:105px 0 112px;background:#071b2d}
.vf-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.vf-service-card{position:relative;background:#0c263e;border:1px solid #ffffff12;overflow:hidden;display:flex;flex-direction:column;min-height:530px;transition:transform .25s,border-color .25s}
.vf-service-card:hover{transform:translateY(-5px);border-color:#ffffff32}
.vf-service-card>.photo{height:235px;flex:0 0 235px}
.vf-service-card>.photo img{transition:transform .55s ease}
.vf-service-card:hover>.photo img{transform:scale(1.035)}
.vf-service-card>div{padding:26px 24px 27px;display:flex;flex-direction:column;flex:1}
.vf-service-index{font-size:.62rem;color:#ff8798;font-weight:800;letter-spacing:.16em;margin-bottom:15px}
.vf-service-card h3{font-size:1.35rem;color:#fff}
.vf-service-card p{font-size:.77rem;line-height:1.74;margin:14px 0 18px;color:#aebdce;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.vf-service-card .text-link{color:#fff;margin-top:auto;font-size:.7rem}

.vf-integrated-home{display:grid;grid-template-columns:1fr 1fr;min-height:690px;background:#f4f3eb}
.vf-integrated-image{position:relative;min-height:690px;overflow:hidden}
.vf-integrated-image>.photo{position:absolute;inset:0}
.vf-integrated-image>.photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,#06182990)}
.vf-integrated-stamp{position:absolute;z-index:2;left:34px;bottom:34px;background:#fff;color:var(--ink);padding:18px 20px;display:grid;grid-template-columns:auto 1fr;gap:2px 14px;min-width:260px;box-shadow:0 20px 55px #06182928}
.vf-integrated-stamp span{grid-row:1/3;font-size:2rem;font-weight:800;color:var(--red);line-height:1}
.vf-integrated-stamp strong{font-size:.7rem;letter-spacing:.1em}
.vf-integrated-stamp small{font-size:.65rem;color:#6c7885}
.vf-integrated-copy{padding:85px clamp(45px,6vw,100px);align-self:center}
.vf-integrated-copy h2{font-size:clamp(3.15rem,4.2vw,4.9rem);letter-spacing:-.045em;max-width:710px;margin-bottom:25px}
.vf-integrated-copy>.vf-lead{font-size:.96rem;line-height:1.85;max-width:690px;color:#4c5f73}
.vf-integrated-points{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cfd6d8;margin-top:35px}
.vf-integrated-points>div{padding:23px 25px 24px 0;border-bottom:1px solid #cfd6d8}
.vf-integrated-points>div:nth-child(even){padding-left:25px;border-left:1px solid #cfd6d8}
.vf-integrated-points span{display:block;color:var(--red);font-size:.64rem;font-weight:800;letter-spacing:.12em;margin-bottom:10px}
.vf-integrated-points h3{font-size:1rem;margin-bottom:8px}
.vf-integrated-points p{font-size:.74rem;line-height:1.7}

.vf-process-home{padding:106px 0 112px;background:#061929}
.vf-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.vf-process-grid article{position:relative;min-height:265px;padding:28px 27px;background:linear-gradient(145deg,#0d2a44,#0a2238);border:1px solid #ffffff12;overflow:hidden}
.vf-process-grid article:after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.vf-process-grid article:hover:after{transform:scaleX(1)}
.vf-process-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}
.vf-process-top span{font-size:2rem;font-weight:800;line-height:1;color:#ff8798}
.vf-process-top i{font-style:normal;color:#678097;font-size:1.2rem}
.vf-process-grid h3{font-size:1.2rem;color:#fff;max-width:260px}
.vf-process-grid p{font-size:.76rem;line-height:1.75;color:#aebdce;margin-top:14px;max-width:330px}

.vf-projects-home{padding:108px 0;background:#fff}
.vf-project-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:14px}
.vf-project-card{position:relative;min-height:470px;overflow:hidden;background:#071827;color:#fff}
.vf-project-card>.photo{position:absolute;inset:0}
.vf-project-card>.photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#07182706 10%,#071827ed 100%)}
.vf-project-card>div{position:absolute;z-index:2;left:28px;right:28px;bottom:26px}
.vf-project-card>div>span{font-size:.61rem;font-weight:800;letter-spacing:.13em;color:#ff9aaa}
.vf-project-card h3{font-size:1.55rem;line-height:1.12;margin-top:9px;color:#fff}
.vf-project-card p{font-size:.76rem;line-height:1.65;color:#c9d4df;margin-top:10px;max-width:480px}
.vf-project-card b{display:flex;align-items:center;gap:15px;margin-top:15px;font-size:.69rem;color:#fff}
.vf-project-card img{transition:transform .55s ease}.vf-project-card:hover img{transform:scale(1.035)}
.vf-project-main h3{font-size:2.2rem;max-width:520px}

.vf-industries-home{padding:106px 0 112px;background:#f6f5ee}
.vf-industry-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}
.vf-industry-grid>a{position:relative;min-height:370px;overflow:hidden;background:#071827;color:#fff}
.vf-industry-grid .photo{position:absolute;inset:0}
.vf-industry-grid .photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#07182708 20%,#071827ed 100%)}
.vf-industry-grid>a>div{position:absolute;z-index:2;left:20px;right:20px;bottom:20px}
.vf-industry-grid span{font-size:.61rem;color:#ff9aaa;font-weight:800;letter-spacing:.12em}
.vf-industry-grid h3{font-size:1.16rem;margin-top:8px;color:#fff}
.vf-industry-grid p{font-size:.69rem;line-height:1.6;color:#cad4df;margin-top:9px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.vf-industry-grid>a>div>span:last-child{display:block;margin-top:13px;font-size:1.1rem;color:#fff}
.vf-industry-grid img{transition:transform .5s}.vf-industry-grid>a:hover img{transform:scale(1.03)}

.vf-project-desk-home{background:#071b2d;color:#fff;padding:105px 0}
.vf-project-desk-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:start}
.vf-project-desk-intro{position:sticky;top:120px}
.vf-project-desk-intro h2{font-size:clamp(3.1rem,4.5vw,5rem);letter-spacing:-.045em;line-height:1;max-width:620px}
.vf-project-desk-intro>p:not(.eyebrow){color:#b7c4d1;max-width:600px;font-size:.9rem;line-height:1.82;margin-top:24px}
.vf-project-desk-intro ul{list-style:none;padding:0;margin:34px 0;border-top:1px solid #ffffff18;max-width:550px}
.vf-project-desk-intro li{border-bottom:1px solid #ffffff18;padding:12px 0;font-size:.78rem;color:#dbe4ec}
.vf-project-desk-intro li:before{content:'→';color:#ff8798;margin-right:13px}
.vf-desk-contact{display:flex;flex-direction:column;gap:6px;margin-top:35px}.vf-desk-contact span{font-size:.61rem;letter-spacing:.15em;color:#ff8798;font-weight:800}.vf-desk-contact a{font-size:.84rem;color:#fff}
.vf-project-desk-form{background:#fff;color:var(--ink);padding:40px 42px;box-shadow:0 30px 70px #00000020}
.vf-project-desk-form .enquiry-form h2{font-size:2.35rem;letter-spacing:-.025em}
.vf-project-desk-form .enquiry-form>p:not(.eyebrow){font-size:.78rem;line-height:1.7}
.vf-project-desk-form input,.vf-project-desk-form textarea,.vf-project-desk-form select{background:#f6f7f8}

.vf-faq-home{padding:105px 0 112px;background:#062437}
.vf-faq-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:85px;align-items:start}
.vf-faq-intro{position:sticky;top:120px}.vf-faq-intro h2{font-size:clamp(3rem,4vw,4.4rem);letter-spacing:-.04em;color:#fff}.vf-faq-intro>p:not(.eyebrow){color:#aebdce;font-size:.86rem;line-height:1.8;max-width:510px;margin:20px 0 28px}
.vf-faq-list{border-top:1px solid #ffffff20}
.vf-faq-list details{border-bottom:1px solid #ffffff20}
.vf-faq-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:42px 1fr auto;gap:14px;align-items:center;padding:22px 0;color:#fff;font-weight:650;font-size:.98rem}
.vf-faq-list summary::-webkit-details-marker{display:none}.vf-faq-list summary span{color:#ff8798;font-size:.62rem;font-weight:800;letter-spacing:.1em}.vf-faq-list summary b{font-size:1.4rem;font-weight:400;color:#ff8798;transition:transform .2s}.vf-faq-list details[open] summary b{transform:rotate(45deg)}
.vf-faq-list details p{color:#aebdce;font-size:.8rem;line-height:1.75;max-width:760px;padding:0 50px 22px 56px}

.vf-notes-home{padding:106px 0 115px;background:#fff}
.vf-notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.vf-notes-grid>a{border:1px solid #e1e6ea;background:#fff;overflow:hidden;transition:transform .2s,box-shadow .2s}
.vf-notes-grid>a:hover{transform:translateY(-4px);box-shadow:0 18px 50px #0b203610}
.vf-notes-grid .photo{height:230px}
.vf-notes-grid>a>div{padding:25px 24px 27px}
.vf-notes-grid span{font-size:.61rem;letter-spacing:.14em;color:var(--red);font-weight:800}.vf-notes-grid h3{font-size:1.25rem;line-height:1.2;margin-top:10px}.vf-notes-grid p{font-size:.76rem;line-height:1.7;margin-top:12px}.vf-notes-grid b{display:flex;gap:14px;align-items:center;margin-top:17px;font-size:.7rem}

@media(max-width:1120px){
  .vf-about-grid,.vf-why-grid{gap:45px}.vf-about-mosaic{min-height:540px}
  .vf-service-grid{grid-template-columns:repeat(2,1fr)}
  .vf-project-grid{grid-template-columns:1fr 1fr}.vf-project-main{grid-column:1/-1;min-height:500px}
  .vf-industry-grid{grid-template-columns:repeat(3,1fr)}
  .vf-project-desk-grid,.vf-faq-grid{gap:45px}
}
@media(max-width:900px){
  .vf-about-home,.vf-why-home,.vf-services-home,.vf-process-home,.vf-projects-home,.vf-industries-home,.vf-project-desk-home,.vf-faq-home,.vf-notes-home{padding-top:78px;padding-bottom:82px}
  .vf-about-grid,.vf-why-grid,.vf-project-desk-grid,.vf-faq-grid{grid-template-columns:1fr}
  .vf-about-mosaic{min-height:520px}.vf-why-visual{min-height:520px}
  .vf-section-heading{grid-template-columns:1fr;gap:20px}.vf-section-heading>div:last-child{justify-self:start;max-width:650px}
  .vf-integrated-home{grid-template-columns:1fr}.vf-integrated-image{min-height:480px}.vf-integrated-copy{padding:65px 7vw}
  .vf-process-grid{grid-template-columns:repeat(2,1fr)}
  .vf-project-desk-intro,.vf-faq-intro{position:static}
  .vf-industry-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .vf-about-copy h2,.vf-why-list h2,.vf-section-heading h2,.vf-integrated-copy h2,.vf-project-desk-intro h2,.vf-faq-intro h2{font-size:2.7rem;line-height:1.02}
  .vf-about-actions{align-items:flex-start;flex-direction:column}.vf-verified-row{grid-template-columns:1fr}.vf-verified-row>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .vf-about-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:330px 190px;min-height:0}.vf-mosaic-main{grid-column:1/-1;grid-row:1}.vf-mosaic-top,.vf-mosaic-bottom{grid-row:2}
  .vf-why-visual{min-height:430px}.vf-why-overlay{left:24px;right:24px;bottom:24px}.vf-why-overlay strong{font-size:1.55rem}
  .vf-service-grid,.vf-process-grid,.vf-project-grid,.vf-notes-grid{grid-template-columns:1fr}.vf-service-card{min-height:0}.vf-service-card>.photo{height:230px}.vf-project-main{grid-column:auto;min-height:430px}.vf-project-card{min-height:390px}
  .vf-integrated-image{min-height:380px}.vf-integrated-copy{padding:54px 20px}.vf-integrated-points{grid-template-columns:1fr}.vf-integrated-points>div:nth-child(even){padding-left:0;border-left:0}.vf-integrated-points>div{padding-right:0}
  .vf-industry-grid{grid-template-columns:1fr 1fr}.vf-industry-grid>a{min-height:300px}.vf-industry-grid p{display:none}
  .vf-project-desk-form{padding:30px 22px}.vf-faq-list details p{padding-left:0;padding-right:20px}.vf-faq-list summary{grid-template-columns:34px 1fr auto}
}
@media(max-width:410px){.vf-industry-grid{grid-template-columns:1fr}.vf-about-mosaic{grid-template-columns:1fr;grid-template-rows:300px 170px 170px}.vf-mosaic-main{grid-column:1;grid-row:1}.vf-mosaic-top{grid-row:2}.vf-mosaic-bottom{grid-row:3}.vf-mosaic-label{left:14px;bottom:14px}.vf-project-desk-form{padding:26px 18px}}

/* FINAL-HIERARCHY-0911H */
main>.proof-strip{display:none!important}
.vf-service-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){.vf-service-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.vf-service-grid-three{grid-template-columns:1fr}}
