:root{--navy-deep:#071f3d;--navy:#0b3566;--gold:#d3a62c;--warm:#f7f6f2;--white:#fff;--charcoal:#20252b;--border:rgba(7,31,61,.16);--container:1320px;--header:90px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--charcoal);font-family:"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}body.bv-menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}h1,h2,h3{margin-top:0;color:var(--navy-deep);font-weight:700;line-height:1.08;letter-spacing:-.04em}h1{font-size:clamp(3.5rem,7vw,6.8rem)}h2{font-size:clamp(2.4rem,4.8vw,4.8rem)}h3{font-size:clamp(1.4rem,2vw,2rem)}p{margin-top:0}.bv-container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}.bv-content-narrow{max-width:850px}.bv-section{padding:clamp(90px,10vw,160px) 0}.bv-section-label,.bv-eyebrow{margin:0 0 20px;color:var(--navy);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.bv-gold-label{color:var(--gold)}.bv-skip-link{position:absolute;left:-9999px}.bv-button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:12px;padding:13px 24px;border:1px solid transparent;font-weight:700;transition:.25s}.bv-button:hover{transform:translateY(-2px)}.bv-button-gold{color:var(--navy-deep);background:var(--gold)}.bv-button-outline{color:#fff;border-color:rgba(255,255,255,.7)}.bv-button-navy{color:#fff;background:var(--navy-deep)}.bv-text-link{display:inline-flex;align-items:center;gap:10px;color:var(--navy-deep);font-weight:700}.bv-text-link-light{color:#fff}.bv-header{position:fixed;inset:0 0 auto;z-index:1000;height:var(--header);color:#fff;transition:.25s}.bv-header.is-scrolled,body:not(.home) .bv-header{height:76px;color:var(--navy-deep);background:rgba(255,255,255,.97);box-shadow:0 10px 30px rgba(7,31,61,.09)}body.admin-bar .bv-header{top:32px}.bv-header-inner{display:flex;height:100%;align-items:center;justify-content:space-between;gap:25px}.bv-logo{position:relative;z-index:1002;display:inline-flex;max-width:230px;align-items:center}.bv-logo-image,.bv-logo .custom-logo{width:auto;max-height:58px}.bv-logo-text{font-size:1.35rem;font-weight:800}.bv-navigation{display:flex;align-items:center;gap:28px}.bv-menu{display:flex;align-items:center;gap:26px;margin:0;padding:0;list-style:none}.bv-menu a{position:relative;display:inline-block;padding:10px 0;font-size:.84rem;font-weight:650}.bv-menu a:after{position:absolute;right:0;bottom:4px;left:0;height:2px;content:"";background:var(--gold);transform:scaleX(0);transition:.25s}.bv-menu a:hover:after{transform:scaleX(1)}.bv-menu-toggle{position:relative;z-index:1002;display:none;width:44px;height:44px;border:0;color:currentColor;background:transparent}.bv-menu-toggle span:not(.screen-reader-text){position:absolute;left:8px;width:28px;height:2px;background:currentColor}.bv-menu-toggle span:nth-child(1){top:14px}.bv-menu-toggle span:nth-child(2){top:21px}.bv-menu-toggle span:nth-child(3){top:28px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.bv-hero{position:relative;display:flex;min-height:95vh;align-items:flex-end;overflow:hidden;color:#fff;background:linear-gradient(125deg,rgba(7,31,61,.97),rgba(7,31,61,.5)),var(--bv-hero-image,none),radial-gradient(circle at 75% 30%,#1b548b,var(--navy-deep) 60%);background-position:center;background-size:cover}.bv-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,39,.93),rgba(4,20,39,.3))}.bv-hero-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:96px 96px}.bv-hero-content{position:relative;z-index:2;padding:170px 0 150px}.bv-hero .bv-eyebrow{color:var(--gold)}.bv-hero h1{max-width:1050px;margin-bottom:28px;color:#fff}.bv-hero-text{max-width:720px;margin-bottom:38px;color:rgba(255,255,255,.84);font-size:1.15rem}.bv-hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.bv-intro{background:var(--warm)}.bv-intro-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(60px,10vw,150px);align-items:end}.bv-intro h2{margin-bottom:0}.bv-intro-copy p{margin-bottom:30px;color:#59616a;font-size:1.08rem}.bv-stats{color:#fff;background:var(--navy-deep)}.bv-stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.bv-stat{min-height:210px;padding:50px 32px;border-left:1px solid rgba(255,255,255,.14)}.bv-stat:last-child{border-right:1px solid rgba(255,255,255,.14)}.bv-stat strong,.bv-stat span{display:block}.bv-stat strong{margin-bottom:10px;color:#fff;font-size:clamp(2.5rem,4vw,4.2rem);letter-spacing:-.05em;line-height:1}.bv-stat span{color:rgba(255,255,255,.62);font-size:.75rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.bv-section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:75px}.bv-section-heading h2{max-width:900px;margin-bottom:0}.bv-section-heading-light h2{color:#fff}.bv-expertise-list{border-top:1px solid var(--border)}.bv-expertise-item{border-bottom:1px solid var(--border)}.bv-expertise-item a{display:grid;grid-template-columns:80px 1fr 55px;gap:30px;align-items:center;padding:34px 0;transition:.25s}.bv-expertise-item a:hover{padding-right:20px;padding-left:20px;background:var(--warm)}.bv-expertise-number{color:#b98915;font-size:.78rem;font-weight:700}.bv-expertise-item h3{margin-bottom:8px}.bv-expertise-item p{margin:0;color:#66707a}.bv-expertise-arrow{color:var(--navy);font-size:1.5rem;text-align:right}
.bv-projects-section{color:#fff;background:var(--navy-deep)}.bv-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}.bv-project-card-featured{grid-column:1/-1}.bv-project-media{aspect-ratio:4/3;overflow:hidden;background:#0d2b4a}.bv-project-card-featured .bv-project-media{aspect-ratio:16/8}.bv-project-media img{width:100%;height:100%;object-fit:cover;transition:.8s}.bv-project-card:hover img{transform:scale(1.04)}.bv-project-placeholder{display:grid;width:100%;height:100%;place-items:center;color:rgba(255,255,255,.35);background:linear-gradient(135deg,#0b3566,#071f3d)}.bv-project-content{position:relative;padding:24px 50px 0 0}.bv-project-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-bottom:12px;color:rgba(255,255,255,.6);font-size:.74rem;font-weight:700;text-transform:uppercase}.bv-project-content h3{margin-bottom:0;color:#fff}.bv-project-arrow{position:absolute;top:25px;right:0;color:var(--gold);font-size:1.6rem}
.bv-statement{padding:clamp(120px,14vw,210px) 0;color:#fff;background:var(--navy)}.bv-statement blockquote{max-width:1120px;margin:0;color:#fff;font-size:clamp(2.5rem,5vw,5.3rem);font-weight:700;line-height:1.08;letter-spacing:-.05em}.bv-values{background:var(--warm)}.bv-values-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}.bv-value{min-height:330px;padding:34px 28px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.bv-value>span{color:#b98915;font-size:.78rem;font-weight:700}.bv-value h3{margin-top:45px}.bv-value p{color:#66707a}.bv-people{padding:clamp(100px,12vw,180px) 0}.bv-people-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px;align-items:center}.bv-people-number{padding:60px;color:#fff;background:var(--navy-deep)}.bv-people-number strong{display:block;margin-bottom:20px;color:#fff;font-size:clamp(4rem,8vw,8rem);line-height:1}.bv-proposal{padding:80px 0;background:var(--gold)}.bv-proposal-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.bv-proposal h2{margin-bottom:18px}.bv-proposal p{max-width:760px;margin-bottom:0}
.bv-footer{padding:90px 0 30px;color:rgba(255,255,255,.72);background:#041527}.bv-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:70px;padding-bottom:70px}.bv-footer h2{margin-bottom:20px;color:#fff;font-size:1rem}.bv-footer-column{display:flex;flex-direction:column;gap:10px}.bv-footer-brand p{max-width:380px;margin-top:25px}.bv-footer-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:25px;border-top:1px solid rgba(255,255,255,.14);font-size:.86rem}.bv-page-hero{padding:180px 0 100px;background:var(--warm)}.bv-page-hero h1{max-width:1000px;margin-bottom:20px}.bv-page-hero-dark{color:#fff;background:var(--navy-deep)}.bv-page-hero-dark h1{color:#fff}.bv-page-content{padding:90px 0 140px}.bv-entry-content{font-size:1.05rem}.bv-project-hero{position:relative;display:flex;min-height:78vh;align-items:flex-end;overflow:hidden;color:#fff;background:var(--navy-deep)}.bv-project-hero-image,.bv-project-hero-image img{position:absolute;inset:0;width:100%;height:100%}.bv-project-hero-image img{object-fit:cover}.bv-project-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,20,39,.95),rgba(4,20,39,.25))}.bv-project-hero-content{position:relative;z-index:2;padding-bottom:90px}.bv-project-hero-content h1{max-width:1050px;color:#fff}.bv-project-detail-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:90px}.bv-project-facts{padding:35px;background:var(--warm)}.bv-project-facts h2{font-size:1.4rem}.bv-project-facts dl{margin:0}.bv-project-facts dl>div{padding:18px 0;border-bottom:1px solid var(--border)}.bv-project-facts dt{color:#66707a;font-size:.75rem;font-weight:700;text-transform:uppercase}.bv-project-facts dd{margin:5px 0 0;color:var(--navy-deep);font-weight:650}.bv-project-lead{color:var(--navy-deep);font-size:1.5rem;font-weight:600;line-height:1.5}.bv-expertise-detail{display:grid;grid-template-columns:1.2fr .8fr;gap:90px}.bv-detail-list{margin-bottom:40px;padding:32px;background:var(--warm)}.bv-detail-list h2{font-size:1.45rem}.bv-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.bv-news-card h2{font-size:1.8rem}.bv-news-date{margin-top:20px;color:#66707a;font-size:.8rem;text-transform:uppercase}.bv-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s}.bv-reveal.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.bv-navigation{position:fixed;inset:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:100px 40px 50px;color:#fff;background:var(--navy-deep);transform:translateX(100%);transition:.3s}.bv-menu-open .bv-navigation{transform:none}.bv-menu{flex-direction:column;align-items:stretch;gap:0}.bv-menu a{display:block;padding:11px 0;font-size:1.7rem}.bv-menu-toggle{display:block}.bv-values-grid{grid-template-columns:repeat(2,1fr)}.bv-footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.bv-container{width:min(calc(100% - 32px),var(--container))}body.admin-bar .bv-header{top:46px}h1{font-size:clamp(3rem,14vw,4.6rem)}h2{font-size:clamp(2.2rem,10vw,3.5rem)}.bv-hero{min-height:820px}.bv-hero-content{padding-bottom:105px}.bv-intro-grid,.bv-people-grid,.bv-project-detail-grid,.bv-expertise-detail{grid-template-columns:1fr;gap:50px}.bv-stats-grid,.bv-project-grid,.bv-values-grid,.bv-news-grid,.bv-footer-grid{grid-template-columns:1fr}.bv-project-card-featured{grid-column:auto}.bv-project-card-featured .bv-project-media{aspect-ratio:4/3}.bv-section-heading,.bv-proposal-inner,.bv-footer-bottom{align-items:flex-start;flex-direction:column}.bv-section-heading{display:flex;gap:25px;margin-bottom:50px}.bv-expertise-item a{grid-template-columns:45px 1fr 30px;gap:12px}.bv-stat{min-height:auto;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.bv-people-number{padding:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bv-reveal{opacity:1;transform:none;transition:none}}

/* Phase 4: NIRAS-inspired inner pages */
.bv-inner-hero{position:relative;display:flex;min-height:78vh;align-items:flex-end;overflow:hidden;color:#fff;background:linear-gradient(120deg,rgba(4,20,39,.96),rgba(7,31,61,.55)),var(--bv-inner-hero,none),linear-gradient(135deg,#0b3566,#071f3d);background-position:center;background-size:cover}.bv-inner-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,20,39,.92),rgba(4,20,39,.18))}.bv-inner-hero-content{position:relative;z-index:2;padding:190px 0 90px}.bv-inner-hero h1{max-width:1100px;margin-bottom:28px;color:#fff}.bv-inner-hero-content>p:last-child{max-width:760px;color:rgba(255,255,255,.78);font-size:1.15rem}.bv-career-hero{background:linear-gradient(120deg,rgba(4,20,39,.96),rgba(7,31,61,.62)),linear-gradient(135deg,#0b3566,#071f3d)}
.bv-editorial-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(55px,9vw,135px);align-items:start}.bv-editorial-grid h2{margin-bottom:0}.bv-editorial-grid .bv-entry-content>p:first-child{color:var(--navy-deep);font-size:1.35rem;font-weight:600;line-height:1.5}.bv-about-stats{margin-top:0}.bv-approach{background:var(--warm)}.bv-approach-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}.bv-approach-card{min-height:360px;padding:38px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.bv-approach-card>span{color:#b98915;font-size:.78rem;font-weight:700}.bv-approach-card h3{margin-top:70px}.bv-approach-card p{color:#66707a}.bv-about-capabilities{background:#fff}.bv-large-list{border-top:1px solid var(--border)}.bv-large-list a{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 0;border-bottom:1px solid var(--border);color:var(--navy-deep);font-size:1.3rem;font-weight:700}.bv-large-list a:hover{padding-left:14px;color:var(--navy)}.bv-large-list i{color:var(--gold);font-style:normal}
.bv-team-section{background:var(--warm)}.bv-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.bv-team-card{background:#fff}.bv-team-photo{aspect-ratio:4/5;overflow:hidden;background:#dfe6ed}.bv-team-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.bv-team-card:hover img{transform:scale(1.035)}.bv-team-copy{padding:25px}.bv-team-copy h3{margin-bottom:7px}.bv-team-copy p{margin-bottom:5px;color:var(--navy);font-weight:650}.bv-team-copy span{color:#69737d;font-size:.82rem;text-transform:uppercase}.bv-person-placeholder{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(145deg,#dfe6ed,#bccddd)}.bv-person-placeholder span{color:var(--navy-deep);font-size:5rem;font-weight:700}
.bv-empty-state{grid-column:1/-1;padding:55px;background:var(--warm);border:1px solid var(--border)}.bv-empty-state h2,.bv-empty-state h3{margin-bottom:10px}.bv-news-image{display:grid;aspect-ratio:16/10;overflow:hidden;place-items:center;color:rgba(255,255,255,.7);background:linear-gradient(135deg,#0b3566,#071f3d)}.bv-news-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.bv-news-card:hover .bv-news-image img{transform:scale(1.035)}
.bv-vacancies{background:var(--warm)}.bv-vacancy-list{border-top:1px solid var(--border)}.bv-vacancy-item{border-bottom:1px solid var(--border)}.bv-vacancy-item>a{display:grid;grid-template-columns:1.2fr .8fr 45px;gap:35px;align-items:center;padding:34px 0}.bv-vacancy-item>a:hover{padding-right:18px;padding-left:18px;background:#fff}.bv-vacancy-item h3{margin-bottom:8px}.bv-vacancy-item p{margin:0;color:#66707a}.bv-vacancy-meta{display:flex;flex-direction:column;gap:4px;color:#66707a;font-size:.82rem;text-transform:uppercase}.bv-vacancy-arrow{color:var(--gold);font-size:1.5rem}.bv-job-hero-meta{display:flex;flex-wrap:wrap;gap:14px 28px;color:rgba(255,255,255,.75);text-transform:uppercase}
.bv-contact-grid,.bv-proposal-page-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(55px,9vw,130px);align-items:start}.bv-contact-details h2,.bv-proposal-guide h2{max-width:540px}.bv-contact-list{margin-top:50px;border-top:1px solid var(--border)}.bv-contact-list>div{padding:22px 0;border-bottom:1px solid var(--border)}.bv-contact-list span{display:block;margin-bottom:4px;color:#69737d;font-size:.76rem;font-weight:700;text-transform:uppercase}.bv-contact-list a{color:var(--navy-deep);font-weight:700}.bv-form-card{padding:42px;background:var(--warm)}.bv-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.bv-form-card label{display:block;margin-bottom:20px;color:var(--navy-deep);font-size:.83rem;font-weight:700}.bv-form-card input,.bv-form-card textarea{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid rgba(7,31,61,.25);border-radius:0;background:#fff;font:inherit}.bv-form-card input:focus,.bv-form-card textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.bv-honeypot{position:absolute;left:-9999px}.bv-form-notice{margin-bottom:24px;padding:15px 18px}.bv-form-success{border-left:4px solid #27834a;background:#eaf6ee}.bv-form-error{border-left:4px solid #b32d2e;background:#faeaea}.bv-proposal-guide{padding:40px;background:var(--navy-deep);color:rgba(255,255,255,.78)}.bv-proposal-guide h2{color:#fff}.bv-proposal-guide .bv-section-label{color:var(--gold)}.bv-proposal-guide ol{margin:35px 0 0;padding-left:22px}.bv-proposal-guide li{margin-bottom:18px;padding-left:8px}
@media(max-width:1000px){.bv-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bv-approach-grid{grid-template-columns:1fr}.bv-vacancy-item>a{grid-template-columns:1fr 1fr 35px}.bv-editorial-grid,.bv-contact-grid,.bv-proposal-page-grid{grid-template-columns:1fr;gap:50px}}
@media(max-width:680px){.bv-inner-hero{min-height:700px}.bv-inner-hero-content{padding:170px 0 75px}.bv-team-grid,.bv-form-grid{grid-template-columns:1fr}.bv-vacancy-item>a{grid-template-columns:1fr 28px}.bv-vacancy-meta{grid-column:1}.bv-vacancy-arrow{grid-column:2;grid-row:1}.bv-form-card,.bv-proposal-guide{padding:28px}.bv-approach-card{min-height:auto}.bv-large-list a{font-size:1.05rem}}


/* Phase 4.2 — professional motion, hover states and About purpose section */
:root{--bv-ease:cubic-bezier(.22,1,.36,1);--bv-shadow:0 24px 60px rgba(7,31,61,.14)}

/* Animated cover pages */
.bv-inner-hero,.bv-project-hero,.bv-hero{background-position:center calc(50% + var(--bv-parallax-y,0px));will-change:background-position}
.bv-inner-hero:before,.bv-page-hero:before{position:absolute;inset:0;pointer-events:none;content:"";opacity:.16;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:88px 88px;transform:scale(1.03);transition:opacity 1.1s var(--bv-ease),transform 1.1s var(--bv-ease)}
.bv-page-hero{position:relative;overflow:hidden}
.bv-page-hero:before{opacity:.05;background-image:linear-gradient(rgba(7,31,61,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(7,31,61,.11) 1px,transparent 1px)}
.bv-inner-hero.is-ready:before,.bv-page-hero.is-ready:before{transform:scale(1);opacity:.22}
.bv-inner-hero-content,.bv-page-hero>.bv-container,.bv-project-hero-content{opacity:0;transform:translateY(36px);transition:opacity .9s .12s var(--bv-ease),transform .9s .12s var(--bv-ease)}
.bv-inner-hero.is-ready .bv-inner-hero-content,.bv-page-hero.is-ready>.bv-container,.bv-project-hero.is-ready .bv-project-hero-content{opacity:1;transform:none}
.bv-inner-hero:after,.bv-page-hero:after,.bv-project-hero:after{position:absolute;right:0;bottom:0;left:0;z-index:3;height:4px;content:"";background:linear-gradient(90deg,var(--gold) 0 28%,rgba(211,166,44,0) 72%);transform:scaleX(0);transform-origin:left;transition:transform 1.05s .35s var(--bv-ease)}
.bv-inner-hero.is-ready:after,.bv-page-hero.is-ready:after,.bv-project-hero.is-ready:after{transform:scaleX(1)}
.bv-project-hero-image img{transform:translateY(var(--bv-parallax-y,0px)) scale(1.08);transition:transform .15s linear}

/* More natural section reveals */
.bv-reveal{opacity:0;transform:translateY(34px);transition:opacity .78s var(--bv-ease),transform .78s var(--bv-ease);transition-delay:var(--bv-delay,0ms)}
.bv-reveal.is-visible{opacity:1;transform:none}

/* Shared premium card motion */
.bv-approach-card,.bv-value,.bv-team-card,.bv-news-card,.bv-purpose-card,.bv-detail-list,.bv-project-facts,.bv-form-card,.bv-proposal-guide{position:relative;overflow:hidden;transition:transform .48s var(--bv-ease),box-shadow .48s var(--bv-ease),border-color .35s ease,background-color .35s ease}
.bv-approach-card:before,.bv-value:before,.bv-team-card:before,.bv-news-card:before,.bv-purpose-card:before,.bv-detail-list:before,.bv-project-facts:before,.bv-form-card:before,.bv-proposal-guide:before{position:absolute;top:0;right:0;left:0;height:4px;content:"";background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--bv-ease)}
.bv-approach-card:hover,.bv-value:hover,.bv-team-card:hover,.bv-news-card:hover,.bv-purpose-card:hover,.bv-detail-list:hover,.bv-project-facts:hover,.bv-form-card:hover,.bv-proposal-guide:hover{z-index:2;transform:translateY(-10px);box-shadow:var(--bv-shadow)}
.bv-approach-card:hover:before,.bv-value:hover:before,.bv-team-card:hover:before,.bv-news-card:hover:before,.bv-purpose-card:hover:before,.bv-detail-list:hover:before,.bv-project-facts:hover:before,.bv-form-card:hover:before,.bv-proposal-guide:hover:before{transform:scaleX(1)}
.bv-approach-card h3,.bv-value h3,.bv-team-copy h3,.bv-news-card h2{transition:color .3s ease,transform .42s var(--bv-ease)}
.bv-approach-card:hover h3,.bv-value:hover h3,.bv-team-card:hover h3,.bv-news-card:hover h2{color:var(--navy);transform:translateX(5px)}

/* Interactive project cards */
.bv-project-card{transition:transform .5s var(--bv-ease)}
.bv-project-card>a{display:block}
.bv-project-card:hover{transform:translateY(-9px)}
.bv-project-card .bv-project-media{position:relative}
.bv-project-card .bv-project-media:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 55%,rgba(4,20,39,.38));opacity:0;transition:opacity .45s ease}
.bv-project-card:hover .bv-project-media:after{opacity:1}
.bv-project-media img{transition:transform .9s var(--bv-ease),filter .6s ease}
.bv-project-card:hover .bv-project-media img{transform:scale(1.075);filter:saturate(1.06) contrast(1.03)}
.bv-project-arrow,.bv-expertise-arrow,.bv-vacancy-arrow{display:inline-block;transition:transform .38s var(--bv-ease),color .3s ease}
.bv-project-card:hover .bv-project-arrow,.bv-expertise-item:hover .bv-expertise-arrow,.bv-vacancy-item:hover .bv-vacancy-arrow{color:var(--gold);transform:translate(5px,-5px)}

/* Expertise and large editorial links */
.bv-expertise-item,.bv-large-list a,.bv-vacancy-item>a{position:relative;overflow:hidden;transition:padding .45s var(--bv-ease),background-color .35s ease,color .35s ease}
.bv-expertise-item:before,.bv-vacancy-item:before{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(211,166,44,.12),rgba(247,246,242,.85));transform:scaleX(0);transform-origin:left;transition:transform .55s var(--bv-ease)}
.bv-expertise-item:hover:before,.bv-vacancy-item:hover:before{transform:scaleX(1)}
.bv-expertise-item>a,.bv-vacancy-item>a{position:relative;z-index:1}
.bv-large-list a:hover{padding-right:14px;padding-left:18px;background:var(--warm)}
.bv-large-list a i{transition:transform .38s var(--bv-ease)}
.bv-large-list a:hover i{transform:translate(5px,-5px)}

/* Statistics are no longer static */
.bv-stat{transition:background-color .38s ease,transform .45s var(--bv-ease)}
.bv-stat:hover{z-index:1;background:rgba(255,255,255,.07);transform:translateY(-7px)}
.bv-stat strong{transition:color .3s ease,transform .45s var(--bv-ease)}
.bv-stat:hover strong{color:var(--gold);transform:translateY(-3px)}

/* About: Vision and Mission */
.bv-purpose-section{background:#fff}
.bv-purpose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.bv-purpose-card{min-height:480px;padding:48px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--border);background:var(--warm)}
.bv-purpose-card-mission{color:rgba(255,255,255,.82);background:var(--navy-deep);border-color:rgba(255,255,255,.12)}
.bv-purpose-card-mission h3{color:#fff}
.bv-purpose-number{color:var(--gold);font-size:.8rem;font-weight:800;letter-spacing:.15em}
.bv-purpose-kicker{margin:auto 0 20px;color:var(--navy);font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.bv-purpose-card-mission .bv-purpose-kicker{color:var(--gold)}
.bv-purpose-card h3{max-width:650px;margin:0;font-size:clamp(1.8rem,3vw,3.25rem);line-height:1.18}
.bv-purpose-line{display:block;width:74px;height:3px;margin-top:36px;background:var(--gold);transition:width .55s var(--bv-ease)}
.bv-purpose-card:hover .bv-purpose-line{width:150px}

/* Buttons gain controlled movement */
.bv-button{position:relative;overflow:hidden;isolation:isolate}
.bv-button:before{position:absolute;inset:0;z-index:-1;content:"";background:rgba(255,255,255,.18);transform:translateX(-105%) skewX(-18deg);transition:transform .55s var(--bv-ease)}
.bv-button:hover:before{transform:translateX(105%) skewX(-18deg)}
.bv-button span{display:inline-block;transition:transform .35s var(--bv-ease)}
.bv-button:hover span{transform:translate(4px,-3px)}

@media(max-width:900px){.bv-purpose-grid{grid-template-columns:1fr}.bv-purpose-card{min-height:390px}}
@media(max-width:680px){.bv-purpose-card{min-height:340px;padding:32px}.bv-purpose-card h3{font-size:1.75rem}.bv-approach-card:hover,.bv-value:hover,.bv-team-card:hover,.bv-news-card:hover,.bv-purpose-card:hover,.bv-detail-list:hover,.bv-project-facts:hover,.bv-form-card:hover,.bv-proposal-guide:hover{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.bv-inner-hero,.bv-project-hero,.bv-hero{background-position:center!important}.bv-inner-hero-content,.bv-page-hero>.bv-container,.bv-project-hero-content{opacity:1;transform:none;transition:none}.bv-inner-hero:after,.bv-page-hero:after,.bv-project-hero:after{transform:scaleX(1);transition:none}.bv-project-hero-image img{transform:none!important}.bv-reveal{opacity:1;transform:none;transition:none}.bv-approach-card,.bv-value,.bv-team-card,.bv-news-card,.bv-purpose-card,.bv-detail-list,.bv-project-facts,.bv-form-card,.bv-proposal-guide,.bv-project-card,.bv-stat{transition:none!important}}


/* Phase 4.3 — editorial Projects directory and project stories */
.bv-project-index-hero{position:relative;overflow:hidden;color:#fff;background:var(--navy-deep)}
.bv-project-index-grid{display:grid;min-height:760px;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);align-items:stretch}
.bv-project-index-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:190px 80px 90px 0}
.bv-project-index-copy .bv-section-label{color:var(--gold)}
.bv-project-index-copy h1{margin-bottom:30px;color:#fff}
.bv-project-index-intro{max-width:660px;margin-bottom:55px;color:rgba(255,255,255,.76);font-size:1.16rem}
.bv-project-index-stat{display:flex;align-items:flex-end;gap:18px}
.bv-project-index-stat strong{color:var(--gold);font-size:4.8rem;line-height:.8;letter-spacing:-.06em}
.bv-project-index-stat span{padding-bottom:4px;color:rgba(255,255,255,.66);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.bv-project-index-visual{position:relative;min-height:100%;overflow:hidden;background:linear-gradient(135deg,#174a78,#061b34)}
.bv-project-index-visual img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:bvProjectCoverIn 1.5s var(--bv-ease) forwards}
.bv-project-index-visual.is-placeholder{display:grid;place-items:center;color:rgba(255,255,255,.45);font-size:1.2rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.bv-project-index-visual-overlay{position:absolute;inset:0;background:linear-gradient(90deg,var(--navy-deep) 0,rgba(7,31,61,.08) 38%),linear-gradient(0deg,rgba(4,20,39,.45),transparent 55%)}
@keyframes bvProjectCoverIn{to{transform:scale(1)}}

.bv-project-directory{padding:70px 0 150px;background:#fff}
.bv-project-filters{position:relative;z-index:4;display:flex;align-items:flex-end;justify-content:space-between;gap:35px;padding:28px 0 34px;border-bottom:1px solid var(--border)}
.bv-project-filter-group{display:flex;flex-wrap:wrap;gap:9px}
.bv-filter-button,.bv-project-reset{appearance:none;border:0;background:transparent;font:inherit;cursor:pointer}
.bv-filter-button{padding:9px 14px;border:1px solid var(--border);color:var(--navy-deep);font-size:.8rem;font-weight:800;transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s var(--bv-ease)}
.bv-filter-button:hover{transform:translateY(-2px);border-color:var(--navy)}
.bv-filter-button.is-active{border-color:var(--navy-deep);color:#fff;background:var(--navy-deep)}
.bv-project-filter-selects{display:flex;gap:14px}
.bv-project-filter-selects label{display:block;color:#6c747d;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.bv-project-filter-selects select{display:block;min-width:180px;margin-top:5px;padding:10px 34px 10px 11px;border:1px solid var(--border);color:var(--navy-deep);background:#fff;font:inherit;font-size:.88rem}
.bv-project-results-bar{display:flex;align-items:center;justify-content:space-between;padding:28px 0 40px}
.bv-project-results-bar p{margin:0;color:#66707a;font-size:.9rem}
.bv-project-reset{color:var(--navy);font-size:.82rem;font-weight:800;text-decoration:underline;text-underline-offset:4px}

.bv-project-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 42px}
.bv-directory-project-card{min-width:0;transition:opacity .35s ease,transform .55s var(--bv-ease)}
.bv-directory-project-card[hidden]{display:none}
.bv-directory-project-card.is-leading{grid-column:1/-1}
.bv-directory-project-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--navy-deep)}
.bv-directory-project-card.is-leading .bv-directory-project-media{aspect-ratio:16/7}
.bv-directory-project-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--bv-ease),filter .6s ease}
.bv-directory-project-card:hover .bv-directory-project-media img{transform:scale(1.065);filter:saturate(1.08) contrast(1.02)}
.bv-directory-project-media:after{position:absolute;inset:0;content:"";background:linear-gradient(0deg,rgba(4,20,39,.68),transparent 48%);opacity:.55;transition:opacity .4s ease}
.bv-directory-project-card:hover .bv-directory-project-media:after{opacity:.8}
.bv-directory-project-view{position:absolute;right:25px;bottom:22px;z-index:2;padding:10px 14px;color:var(--navy-deep);background:var(--gold);font-size:.78rem;font-weight:800;transform:translateY(18px);opacity:0;transition:opacity .42s ease,transform .42s var(--bv-ease)}
.bv-directory-project-card:hover .bv-directory-project-view{opacity:1;transform:none}
.bv-directory-project-copy{padding:25px 0 0}
.bv-directory-project-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-bottom:11px;color:#69727c;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.bv-directory-project-card h2{max-width:980px;margin-bottom:20px;font-size:clamp(1.8rem,3vw,3.15rem);transition:color .3s ease,transform .42s var(--bv-ease)}
.bv-directory-project-card:not(.is-leading) h2{font-size:clamp(1.55rem,2.1vw,2.25rem)}
.bv-directory-project-card:hover h2{color:var(--navy);transform:translateX(6px)}
.bv-directory-project-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid var(--border);color:#6d747c;font-size:.86rem}
.bv-directory-project-bottom p{margin:0}
.bv-project-empty{padding:100px 30px;text-align:center;background:var(--warm)}
.bv-project-empty h2{max-width:720px;margin-right:auto;margin-left:auto}

.bv-project-story-hero{position:relative;display:flex;min-height:88vh;align-items:flex-end;overflow:hidden;color:#fff;background:var(--navy-deep)}
.bv-project-story-image,.bv-project-story-image img{position:absolute;inset:0;width:100%;height:100%}
.bv-project-story-image img{object-fit:cover;transform:scale(1.07);animation:bvProjectCoverIn 1.4s var(--bv-ease) forwards}
.bv-project-story-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,20,39,.96) 0,rgba(4,20,39,.35) 62%,rgba(4,20,39,.16)),linear-gradient(90deg,rgba(4,20,39,.62),transparent 60%)}
.bv-project-story-content{position:relative;z-index:2;padding-top:155px;padding-bottom:80px}
.bv-project-back{display:inline-flex;margin-bottom:85px;color:rgba(255,255,255,.74);font-size:.82rem;font-weight:800;transition:color .3s ease,transform .3s var(--bv-ease)}
.bv-project-back:hover{color:var(--gold);transform:translateX(-5px)}
.bv-project-story-heading{max-width:1100px}
.bv-project-story-heading .bv-section-label{color:var(--gold)}
.bv-project-story-heading h1{margin-bottom:25px;color:#fff;font-size:clamp(3.4rem,6.6vw,7.1rem)}
.bv-project-story-meta{display:flex;flex-wrap:wrap;gap:12px 22px;color:rgba(255,255,255,.72);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}

.bv-project-story-intro{padding:120px 0 145px;background:#fff}
.bv-project-story-grid{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);gap:100px;align-items:start}
.bv-project-story-facts{position:sticky;top:110px;padding:36px;border-top:4px solid var(--gold);background:var(--warm)}
.bv-project-story-facts dl{margin:0}
.bv-project-story-facts dl>div{padding:17px 0;border-bottom:1px solid var(--border)}
.bv-project-story-facts dl>div:last-child{border-bottom:0}
.bv-project-story-facts dt{color:#6d747d;font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.bv-project-story-facts dd{margin:5px 0 0;color:var(--navy-deep);font-weight:700}
.bv-project-story-body{max-width:850px;font-size:1.08rem}
.bv-project-story-lead{margin-bottom:50px;color:var(--navy-deep);font-size:clamp(1.55rem,2.5vw,2.45rem);font-weight:650;line-height:1.38;letter-spacing:-.025em}

.bv-project-services{padding:120px 0;color:#fff;background:var(--navy-deep)}
.bv-project-services-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}
.bv-project-services .bv-section-label{color:var(--gold)}
.bv-project-services h2{color:#fff}
.bv-project-service-list{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.18)}
.bv-project-service-list li{display:grid;grid-template-columns:65px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.18);transition:padding .42s var(--bv-ease),background .3s ease}
.bv-project-service-list li:hover{padding-right:18px;padding-left:18px;background:rgba(255,255,255,.055)}
.bv-project-service-list span{color:var(--gold);font-size:.75rem;font-weight:800}
.bv-project-service-list p{margin:0;color:#fff;font-size:1.2rem;font-weight:650}

.bv-project-gallery-section{background:var(--warm)}
.bv-project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.bv-project-gallery figure{margin:0;overflow:hidden;background:var(--navy-deep)}
.bv-project-gallery figure.is-wide{grid-column:1/-1}
.bv-project-gallery img{width:100%;height:100%;min-height:420px;object-fit:cover;transition:transform .9s var(--bv-ease)}
.bv-project-gallery figure.is-wide img{max-height:700px}
.bv-project-gallery figure:hover img{transform:scale(1.045)}

.bv-next-project{position:relative;min-height:620px;overflow:hidden;color:#fff;background:var(--navy-deep)}
.bv-next-project>a{display:flex;min-height:620px;align-items:flex-end}
.bv-next-project-image,.bv-next-project-image img{position:absolute;inset:0;width:100%;height:100%}
.bv-next-project-image img{object-fit:cover;transition:transform 1.1s var(--bv-ease)}
.bv-next-project:hover .bv-next-project-image img{transform:scale(1.06)}
.bv-next-project-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,20,39,.95),rgba(4,20,39,.2))}
.bv-next-project-content{position:relative;z-index:2;padding-bottom:85px}
.bv-next-project-content .bv-section-label{color:var(--gold)}
.bv-next-project-content h2{max-width:1000px;margin-bottom:22px;color:#fff}
.bv-next-project-content>span{display:inline-block;font-weight:800;transition:transform .35s var(--bv-ease),color .3s ease}
.bv-next-project:hover .bv-next-project-content>span{color:var(--gold);transform:translate(7px,-4px)}

@media(max-width:1050px){
  .bv-project-index-grid{grid-template-columns:1fr}.bv-project-index-copy{padding:170px 0 70px}.bv-project-index-visual{min-height:500px}
  .bv-project-filters{align-items:flex-start;flex-direction:column}.bv-project-filter-selects{width:100%}.bv-project-filter-selects label{flex:1}.bv-project-filter-selects select{width:100%;min-width:0}
  .bv-project-story-grid,.bv-project-services-grid{grid-template-columns:1fr;gap:60px}.bv-project-story-facts{position:relative;top:auto}
}
@media(max-width:720px){
  .bv-project-index-grid{min-height:auto}.bv-project-index-copy{padding:150px 0 60px}.bv-project-index-visual{min-height:390px}.bv-project-index-stat strong{font-size:3.5rem}
  .bv-project-filter-selects{flex-direction:column}.bv-project-directory-grid,.bv-project-gallery{grid-template-columns:1fr}.bv-directory-project-card.is-leading,.bv-project-gallery figure.is-wide{grid-column:auto}.bv-directory-project-card.is-leading .bv-directory-project-media{aspect-ratio:4/3}
  .bv-directory-project-bottom{align-items:flex-start;flex-direction:column}.bv-directory-project-view{opacity:1;transform:none}
  .bv-project-story-hero{min-height:760px}.bv-project-story-content{padding-top:135px;padding-bottom:60px}.bv-project-back{margin-bottom:55px}.bv-project-story-intro{padding:85px 0 100px}
  .bv-project-gallery img{min-height:300px}.bv-next-project,.bv-next-project>a{min-height:500px}
}
@media(prefers-reduced-motion:reduce){.bv-project-index-visual img,.bv-project-story-image img{animation:none;transform:none}.bv-directory-project-card,.bv-directory-project-media img,.bv-project-gallery img,.bv-next-project-image img{transition:none!important}}

/* Phase 4.4 — Expertise directory and detailed expertise pages */
.bv-expertise-archive-hero{min-height:88vh;background:linear-gradient(120deg,rgba(4,20,39,.97),rgba(7,31,61,.58)),var(--bv-inner-hero,none),linear-gradient(135deg,#0b3566,#071f3d)}
.bv-expertise-archive-hero .bv-inner-hero-content{padding-bottom:70px}
.bv-expertise-archive-hero h1{max-width:1180px}
.bv-expertise-hero-orbit{position:absolute;right:-10vw;top:12%;width:min(58vw,760px);aspect-ratio:1;border:1px solid rgba(255,255,255,.13);border-radius:50%;animation:bv-orbit 20s linear infinite}
.bv-expertise-hero-orbit:before,.bv-expertise-hero-orbit:after{position:absolute;inset:14%;content:"";border:1px solid rgba(211,166,44,.28);border-radius:50%}
.bv-expertise-hero-orbit:after{inset:31%;border-color:rgba(255,255,255,.18)}
@keyframes bv-orbit{to{transform:rotate(360deg)}}
.bv-expertise-hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:850px;margin-top:65px;border-top:1px solid rgba(255,255,255,.22);border-left:1px solid rgba(255,255,255,.22)}
.bv-expertise-hero-facts>div{padding:25px 26px;border-right:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);background:rgba(4,20,39,.18);backdrop-filter:blur(6px)}
.bv-expertise-hero-facts strong,.bv-expertise-hero-facts span{display:block}
.bv-expertise-hero-facts strong{color:#fff;font-size:2.3rem;line-height:1.05;letter-spacing:-.045em}
.bv-expertise-hero-facts span{margin-top:8px;color:rgba(255,255,255,.62);font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}

.bv-expertise-intro{background:var(--warm)}
.bv-expertise-intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(60px,10vw,150px);align-items:end}
.bv-expertise-intro h2{margin-bottom:0}
.bv-expertise-intro-grid>div:last-child p{margin-bottom:0;color:#626c75;font-size:1.08rem}

.bv-expertise-directory{padding:75px 0 150px;background:#fff}
.bv-expertise-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;padding-bottom:28px;border-bottom:1px solid var(--border)}
.bv-expertise-filters button,.bv-expertise-empty button{padding:10px 16px;border:1px solid var(--border);color:var(--navy-deep);background:#fff;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;transition:color .3s ease,background .3s ease,border-color .3s ease,transform .3s var(--bv-ease)}
.bv-expertise-filters button:hover,.bv-expertise-filters button.is-active,.bv-expertise-empty button:hover{border-color:var(--navy-deep);color:#fff;background:var(--navy-deep);transform:translateY(-2px)}
.bv-expertise-directory-meta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 0 38px;color:#707981;font-size:.8rem}
.bv-expertise-directory-meta p{margin:0;color:var(--navy-deep);font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.bv-expertise-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.bv-expertise-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--border);background:var(--warm);transition:transform .55s var(--bv-ease),box-shadow .55s var(--bv-ease),border-color .35s ease}
.bv-expertise-card:before{position:absolute;top:0;right:0;left:0;z-index:3;height:5px;content:"";background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--bv-ease)}
.bv-expertise-card:hover{z-index:2;border-color:rgba(7,31,61,.28);transform:translateY(-12px);box-shadow:0 24px 58px rgba(7,31,61,.16)}
.bv-expertise-card:hover:before{transform:scaleX(1)}
.bv-expertise-card>a{display:grid;grid-template-rows:auto 1fr;height:100%}
.bv-expertise-card.is-featured{grid-column:1/-1}
.bv-expertise-card.is-featured>a{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-rows:none}
.bv-expertise-card-media{position:relative;min-height:300px;overflow:hidden;background:var(--navy-deep)}
.bv-expertise-card.is-featured .bv-expertise-card-media{min-height:500px}
.bv-expertise-card-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--bv-ease),filter .6s ease}
.bv-expertise-card:hover .bv-expertise-card-media img{filter:saturate(1.08);transform:scale(1.055)}
.bv-expertise-card-graphic{position:absolute;inset:0;overflow:hidden;background:linear-gradient(145deg,#0b3566 0%,#071f3d 72%)}
.bv-expertise-card-graphic:before{position:absolute;inset:0;content:"";opacity:.18;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:62px 62px;transition:transform .9s var(--bv-ease),opacity .5s ease}
.bv-expertise-card:hover .bv-expertise-card-graphic:before{opacity:.28;transform:scale(1.08) rotate(.8deg)}
.bv-expertise-card-graphic>span{position:absolute;left:36px;bottom:24px;color:rgba(255,255,255,.13);font-size:clamp(5rem,12vw,11rem);font-weight:800;line-height:.85;letter-spacing:-.08em;transition:color .5s ease,transform .7s var(--bv-ease)}
.bv-expertise-card:hover .bv-expertise-card-graphic>span{color:rgba(211,166,44,.22);transform:translate(10px,-8px)}
.bv-expertise-card-graphic i{position:absolute;right:-12%;width:76%;height:1px;background:rgba(211,166,44,.52);transform:rotate(-28deg);transform-origin:right;transition:width .8s var(--bv-ease),right .8s var(--bv-ease)}
.bv-expertise-card-graphic i:nth-child(2){top:32%}.bv-expertise-card-graphic i:nth-child(3){top:52%;width:58%}.bv-expertise-card-graphic i:nth-child(4){top:72%;width:42%}
.bv-expertise-card:hover .bv-expertise-card-graphic i{right:-3%;width:88%}
.bv-expertise-card-body{display:flex;min-height:360px;flex-direction:column;padding:38px}
.bv-expertise-card.is-featured .bv-expertise-card-body{justify-content:center;padding:clamp(40px,6vw,78px)}
.bv-expertise-card-topline{display:flex;justify-content:space-between;gap:20px;margin-bottom:42px;color:#8a6720;font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.bv-expertise-card h2{margin-bottom:18px;font-size:clamp(2rem,3.2vw,3.5rem)}
.bv-expertise-card:not(.is-featured) h2{font-size:clamp(1.75rem,2.5vw,2.65rem)}
.bv-expertise-card-body>p{color:#626c75}
.bv-expertise-service-preview{display:grid;gap:8px;margin:20px 0 36px;padding:0;list-style:none}
.bv-expertise-service-preview li{position:relative;padding-left:18px;color:#4f5963;font-size:.92rem}
.bv-expertise-service-preview li:before{position:absolute;top:.72em;left:0;width:8px;height:1px;content:"";background:var(--gold)}
.bv-expertise-card-link{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:auto;padding-top:20px;border-top:1px solid var(--border);color:var(--navy-deep);font-weight:800}
.bv-expertise-card-link b{font-size:1.35rem;font-weight:500;transition:transform .4s var(--bv-ease),color .3s ease}
.bv-expertise-card:hover .bv-expertise-card-link b{color:var(--gold);transform:translate(6px,-6px)}
.bv-expertise-empty{padding:80px 30px;text-align:center;background:var(--warm)}
.bv-expertise-empty h2{font-size:2rem}

.bv-expertise-lifecycle{padding:130px 0;color:#fff;background:var(--navy-deep)}
.bv-lifecycle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.17);border-left:1px solid rgba(255,255,255,.17)}
.bv-lifecycle-step{position:relative;min-height:330px;padding:34px 28px;border-right:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17);overflow:hidden;transition:background .4s ease,transform .45s var(--bv-ease)}
.bv-lifecycle-step:after{position:absolute;right:-45px;bottom:-45px;width:120px;height:120px;border:1px solid rgba(211,166,44,.32);border-radius:50%;content:"";transition:transform .6s var(--bv-ease),background .4s ease}
.bv-lifecycle-step:hover{z-index:2;background:rgba(255,255,255,.055);transform:translateY(-8px)}
.bv-lifecycle-step:hover:after{background:rgba(211,166,44,.08);transform:scale(1.35)}
.bv-lifecycle-step>span,.bv-support-step>span{color:var(--gold);font-size:.72rem;font-weight:800}
.bv-lifecycle-step h3{margin:90px 0 16px;color:#fff}
.bv-lifecycle-step p{margin:0;color:rgba(255,255,255,.64)}

.bv-single-expertise-hero{min-height:86vh;background:linear-gradient(120deg,rgba(4,20,39,.97),rgba(7,31,61,.53)),var(--bv-inner-hero,none),linear-gradient(135deg,#0b3566,#071f3d)}
.bv-single-expertise-hero .bv-inner-hero-content{padding-bottom:85px}
.bv-single-expertise-hero h1{max-width:1120px}
.bv-back-link{display:inline-flex;margin-bottom:70px;color:rgba(255,255,255,.72);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:color .3s ease,transform .3s var(--bv-ease)}
.bv-back-link:hover{color:var(--gold);transform:translateX(-5px)}
.bv-single-expertise-lines{position:absolute;right:5%;bottom:8%;width:min(42vw,560px);height:360px;opacity:.75}
.bv-single-expertise-lines i{position:absolute;right:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--gold));transform:rotate(-24deg);transform-origin:right;animation:bv-line-pulse 5s ease-in-out infinite alternate}
.bv-single-expertise-lines i:nth-child(1){top:18%}.bv-single-expertise-lines i:nth-child(2){top:48%;width:74%;animation-delay:.5s}.bv-single-expertise-lines i:nth-child(3){top:78%;width:52%;animation-delay:1s}
@keyframes bv-line-pulse{from{opacity:.35;transform:rotate(-24deg) scaleX(.82)}to{opacity:1;transform:rotate(-24deg) scaleX(1)}}

.bv-expertise-overview{background:#fff}
.bv-expertise-overview-grid{display:grid;grid-template-columns:minmax(220px,.35fr) minmax(0,1fr);gap:clamp(55px,9vw,135px);align-items:start}
.bv-expertise-sticky-nav{position:sticky;top:115px;display:flex;flex-direction:column;padding:28px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.bv-expertise-sticky-nav .bv-section-label{margin-bottom:17px}
.bv-expertise-sticky-nav a{padding:10px 0;color:#68717a;font-size:.88rem;font-weight:700;transition:color .3s ease,padding .35s var(--bv-ease)}
.bv-expertise-sticky-nav a:hover{padding-left:10px;color:var(--navy-deep)}
.bv-expertise-copy{max-width:860px}
.bv-expertise-copy>p:first-of-type:not(.bv-section-label){color:var(--navy-deep);font-size:1.45rem;font-weight:600;line-height:1.5}

.bv-expertise-services{padding:125px 0 145px;background:var(--warm)}
.bv-service-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border)}
.bv-service-card{position:relative;min-height:285px;padding:30px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;background:rgba(255,255,255,.35);transition:color .4s ease,background .45s ease,transform .45s var(--bv-ease)}
.bv-service-card:before{position:absolute;inset:0;content:"";background:var(--navy-deep);transform:translateY(101%);transition:transform .55s var(--bv-ease)}
.bv-service-card:hover{z-index:2;color:#fff;transform:translateY(-8px)}
.bv-service-card:hover:before{transform:translateY(0)}
.bv-service-card>*{position:relative;z-index:1}
.bv-service-card>span{color:#a97d16;font-size:.72rem;font-weight:800}
.bv-service-card h3{max-width:320px;margin:85px 0 0;font-size:1.45rem;transition:color .4s ease}
.bv-service-card:hover h3{color:#fff}
.bv-service-card>i{position:absolute;right:28px;bottom:24px;color:var(--gold);font-style:normal;font-size:1.4rem;opacity:0;transform:translate(-8px,8px);transition:opacity .35s ease,transform .4s var(--bv-ease)}
.bv-service-card:hover>i{opacity:1;transform:none}

.bv-capabilities{background:#fff}
.bv-capabilities-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(65px,10vw,150px);align-items:start}
.bv-capabilities-grid>div:first-child{position:sticky;top:120px}
.bv-capabilities-grid>div:first-child>p:last-child{max-width:540px;color:#69727b}
.bv-capability-list{border-top:1px solid var(--border)}
.bv-capability-item{display:grid;grid-template-columns:68px 1fr;gap:20px;align-items:center;min-height:94px;padding:18px 12px;border-bottom:1px solid var(--border);transition:padding .4s var(--bv-ease),background .35s ease}
.bv-capability-item:hover{padding-right:22px;padding-left:22px;background:var(--warm)}
.bv-capability-item span{color:#a97d16;font-size:.7rem;font-weight:800}
.bv-capability-item strong{color:var(--navy-deep);font-size:1.08rem}

.bv-expertise-support{padding:130px 0;color:#fff;background:var(--navy-deep)}
.bv-support-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.bv-support-step{position:relative;min-height:310px;padding:30px;border:1px solid rgba(255,255,255,.16);overflow:hidden;transition:transform .5s var(--bv-ease),background .4s ease,border-color .35s ease}
.bv-support-step:before{position:absolute;inset:auto -50px -80px auto;width:180px;height:180px;border:1px solid rgba(211,166,44,.26);border-radius:50%;content:"";transition:transform .7s var(--bv-ease),background .4s ease}
.bv-support-step:hover{border-color:rgba(211,166,44,.52);background:rgba(255,255,255,.05);transform:translateY(-10px)}
.bv-support-step:hover:before{background:rgba(211,166,44,.08);transform:scale(1.35)}
.bv-support-step h3{margin:90px 0 16px;color:#fff}
.bv-support-step p{margin:0;color:rgba(255,255,255,.62)}

.bv-expertise-projects{background:var(--warm)}
.bv-expertise-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.bv-expertise-project-card{overflow:hidden;background:#fff;transition:transform .5s var(--bv-ease),box-shadow .5s var(--bv-ease)}
.bv-expertise-project-card:hover{transform:translateY(-10px);box-shadow:0 24px 55px rgba(7,31,61,.15)}
.bv-expertise-project-media{aspect-ratio:4/3;overflow:hidden;background:var(--navy-deep)}
.bv-expertise-project-media img{width:100%;height:100%;object-fit:cover;transition:transform .85s var(--bv-ease)}
.bv-expertise-project-card:hover .bv-expertise-project-media img{transform:scale(1.055)}
.bv-expertise-project-body{padding:26px}
.bv-expertise-project-body p{margin:0 0 10px;color:#777f87;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.bv-expertise-project-body h3{margin-bottom:25px;font-size:1.55rem}
.bv-expertise-project-body>span{color:var(--navy-deep);font-size:.84rem;font-weight:800;transition:color .3s ease}
.bv-expertise-project-card:hover .bv-expertise-project-body>span{color:#a97d16}

@media(max-width:1050px){
  .bv-expertise-card.is-featured>a{grid-template-columns:1fr}.bv-expertise-card.is-featured .bv-expertise-card-media{min-height:430px}
  .bv-lifecycle-grid,.bv-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bv-service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bv-capabilities-grid{grid-template-columns:1fr;gap:60px}.bv-capabilities-grid>div:first-child{position:relative;top:auto}
  .bv-expertise-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .bv-expertise-archive-hero{min-height:820px}.bv-expertise-hero-orbit{right:-48%;top:16%;width:100vw}
  .bv-expertise-hero-facts{grid-template-columns:1fr;margin-top:40px}.bv-expertise-hero-facts>div{padding:15px 18px}.bv-expertise-hero-facts strong{font-size:1.7rem}
  .bv-expertise-intro-grid,.bv-expertise-overview-grid{grid-template-columns:1fr;gap:42px}
  .bv-expertise-directory-meta{align-items:flex-start;flex-direction:column;gap:6px}
  .bv-expertise-card-grid,.bv-service-card-grid,.bv-expertise-project-grid{grid-template-columns:1fr}.bv-expertise-card.is-featured{grid-column:auto}.bv-expertise-card.is-featured .bv-expertise-card-media{min-height:320px}.bv-expertise-card-body,.bv-expertise-card.is-featured .bv-expertise-card-body{min-height:0;padding:28px}.bv-expertise-card-topline{margin-bottom:30px}
  .bv-lifecycle-grid,.bv-support-grid{grid-template-columns:1fr}.bv-lifecycle-step,.bv-support-step{min-height:260px}.bv-lifecycle-step h3,.bv-support-step h3{margin-top:55px}
  .bv-single-expertise-hero{min-height:780px}.bv-back-link{margin-bottom:45px}.bv-single-expertise-lines{right:-25%;width:90vw}
  .bv-expertise-sticky-nav{position:relative;top:auto}.bv-service-card{min-height:245px}.bv-service-card h3{margin-top:60px}
}
@media(prefers-reduced-motion:reduce){
  .bv-expertise-hero-orbit,.bv-single-expertise-lines i{animation:none}
  .bv-expertise-card,.bv-expertise-card-media img,.bv-expertise-card-graphic:before,.bv-expertise-card-graphic>span,.bv-expertise-card-graphic i,.bv-lifecycle-step,.bv-service-card,.bv-support-step,.bv-expertise-project-card,.bv-expertise-project-media img{transition:none!important}
}

/* Phase 4.5 — Our People and individual profiles */
.bv-people-archive-hero{--bv-people-hero:none;position:relative;display:flex;min-height:88vh;align-items:flex-end;overflow:hidden;color:#fff;background:linear-gradient(115deg,rgba(4,20,39,.97),rgba(7,31,61,.62)),var(--bv-people-hero),linear-gradient(140deg,#0b3566,#041527);background-position:center;background-size:cover}
.bv-people-hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 75% 30%,rgba(211,166,44,.13),transparent 35%)}
.bv-people-hero-lines{position:absolute;right:0;bottom:5%;width:min(46vw,650px);height:410px;opacity:.7}
.bv-people-hero-lines i{position:absolute;right:-10%;width:110%;height:1px;background:linear-gradient(90deg,transparent,rgba(211,166,44,.9));transform:rotate(-19deg);transform-origin:right;animation:bv-people-line 5.5s ease-in-out infinite alternate}
.bv-people-hero-lines i:nth-child(1){top:18%}.bv-people-hero-lines i:nth-child(2){top:51%;width:82%;animation-delay:.65s}.bv-people-hero-lines i:nth-child(3){top:82%;width:58%;animation-delay:1.2s}
@keyframes bv-people-line{from{opacity:.25;transform:rotate(-19deg) scaleX(.76)}to{opacity:1;transform:rotate(-19deg) scaleX(1)}}
.bv-people-hero-content{position:relative;z-index:2;padding-top:180px;padding-bottom:85px}
.bv-people-hero-content h1{max-width:1080px;margin-bottom:25px;color:#fff}
.bv-people-hero-content>p:not(.bv-section-label){max-width:750px;color:rgba(255,255,255,.75);font-size:1.12rem}
.bv-people-hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;margin-top:60px;border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}
.bv-people-hero-facts>div{padding:24px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);background:rgba(4,20,39,.18);backdrop-filter:blur(8px)}
.bv-people-hero-facts strong,.bv-people-hero-facts span{display:block}.bv-people-hero-facts strong{color:#fff;font-size:2.2rem;line-height:1}.bv-people-hero-facts span{margin-top:8px;color:rgba(255,255,255,.58);font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.bv-people-intro{background:#fff}.bv-people-intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.7fr);gap:clamp(60px,10vw,150px);align-items:start}.bv-people-intro-grid h2{margin-bottom:0}.bv-people-intro-grid .bv-entry-content{color:#606a73}
.bv-team-directory{padding:125px 0 150px;background:var(--warm)}
.bv-team-directory-header{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:55px}.bv-team-directory-header h2{max-width:850px;margin-bottom:0}.bv-team-directory-header>p{flex:none;margin:0;color:#6a737c;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.bv-team-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:45px}.bv-team-filters button,.bv-team-empty button{padding:12px 18px;border:1px solid var(--border);color:var(--navy-deep);background:#fff;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;transition:color .3s ease,background .3s ease,border-color .3s ease,transform .3s var(--bv-ease)}
.bv-team-filters button:hover,.bv-team-filters button.is-active,.bv-team-empty button:hover{color:#fff;border-color:var(--navy-deep);background:var(--navy-deep);transform:translateY(-2px)}
.bv-team-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.bv-person-card{position:relative;overflow:hidden;background:#fff;transition:transform .55s var(--bv-ease),box-shadow .55s var(--bv-ease)}.bv-person-card[hidden]{display:none}.bv-person-card:hover{z-index:2;transform:translateY(-12px);box-shadow:0 28px 65px rgba(7,31,61,.17)}
.bv-person-card>a{display:flex;height:100%;flex-direction:column}.bv-person-card-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:#dce5ec}.bv-person-card-photo:after{position:absolute;inset:auto 0 0;height:42%;content:"";background:linear-gradient(transparent,rgba(4,20,39,.76));opacity:0;transition:opacity .4s ease}
.bv-person-card-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.86);transition:transform .9s var(--bv-ease),filter .5s ease}.bv-person-card:hover .bv-person-card-photo img{filter:saturate(1);transform:scale(1.055)}
.bv-person-view{position:absolute;right:22px;bottom:20px;z-index:2;color:#fff;font-size:.76rem;font-weight:800;opacity:0;transform:translateY(12px);transition:opacity .35s ease,transform .4s var(--bv-ease)}.bv-person-card:hover .bv-person-view{opacity:1;transform:none}
.bv-person-card-placeholder{position:relative;display:grid;width:100%;height:100%;place-items:center;overflow:hidden;background:linear-gradient(145deg,#e4eaef,#bdcdda)}.bv-person-card-placeholder>span{position:relative;z-index:2;color:var(--navy-deep);font-size:6rem;font-weight:800}.bv-person-card-placeholder i{position:absolute;width:65%;height:65%;border:1px solid rgba(11,53,102,.18);border-radius:50%;transition:transform .75s var(--bv-ease)}.bv-person-card-placeholder i:nth-of-type(2){width:45%;height:45%;border-color:rgba(211,166,44,.35)}.bv-person-card:hover .bv-person-card-placeholder i:first-of-type{transform:scale(1.18) rotate(12deg)}.bv-person-card:hover .bv-person-card-placeholder i:nth-of-type(2){transform:scale(.84) rotate(-12deg)}
.bv-person-card-copy{display:flex;min-height:220px;flex:1;flex-direction:column;padding:28px}.bv-person-card-copy>p{margin:0 0 12px;color:#a77b14;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.bv-person-card-copy h3{margin-bottom:8px;font-size:1.75rem;transition:color .3s ease,transform .4s var(--bv-ease)}.bv-person-card:hover h3{color:var(--navy);transform:translateX(5px)}.bv-person-card-copy>strong{color:#58636d;font-size:.93rem}.bv-person-card-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:auto;padding-top:22px;border-top:1px solid var(--border);color:#77808a;font-size:.72rem;font-weight:700;text-transform:uppercase}
.bv-team-empty{padding:70px 25px;text-align:center;background:#fff}.bv-team-empty h3{font-size:1.8rem}
.bv-people-values{padding:130px 0;color:#fff;background:var(--navy-deep)}.bv-people-values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16)}.bv-people-value{position:relative;min-height:335px;padding:32px 28px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);overflow:hidden;transition:transform .48s var(--bv-ease),background .4s ease}.bv-people-value:after{position:absolute;right:-55px;bottom:-70px;width:180px;height:180px;border:1px solid rgba(211,166,44,.25);border-radius:50%;content:"";transition:transform .7s var(--bv-ease),background .4s ease}.bv-people-value:hover{z-index:2;background:rgba(255,255,255,.05);transform:translateY(-9px)}.bv-people-value:hover:after{background:rgba(211,166,44,.08);transform:scale(1.28)}.bv-people-value>span{color:var(--gold);font-size:.72rem;font-weight:800}.bv-people-value h3{margin:85px 0 16px;color:#fff}.bv-people-value p{margin:0;color:rgba(255,255,255,.62)}
.bv-person-profile-hero{padding:155px 0 0;color:#fff;background:var(--navy-deep)}.bv-person-profile-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(390px,.72fr);gap:clamp(60px,10vw,150px);align-items:end}.bv-person-profile-copy{padding-bottom:90px}.bv-person-profile-copy h1{max-width:760px;margin-bottom:20px;color:#fff}.bv-person-profile-role{max-width:650px;margin:0;color:rgba(255,255,255,.68);font-size:1.45rem}.bv-person-profile-photo{position:relative;min-height:650px;overflow:hidden;background:#dce5ec}.bv-person-profile-photo:before{position:absolute;inset:0;z-index:2;content:"";box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);pointer-events:none}.bv-person-profile-photo img{width:100%;height:100%;min-height:650px;object-fit:cover;filter:saturate(.88)}
.bv-person-profile-placeholder{position:relative;display:grid;min-height:650px;place-items:center;overflow:hidden;background:linear-gradient(145deg,#dfe7ed,#aebfce)}.bv-person-profile-placeholder span{position:relative;z-index:2;color:var(--navy-deep);font-size:10rem;font-weight:800}.bv-person-profile-placeholder i{position:absolute;width:78%;height:78%;border:1px solid rgba(11,53,102,.17);border-radius:50%;animation:bv-person-orbit 9s linear infinite}.bv-person-profile-placeholder i:nth-of-type(2){width:57%;height:57%;border-color:rgba(211,166,44,.4);animation-direction:reverse;animation-duration:7s}.bv-person-profile-placeholder i:nth-of-type(3){width:36%;height:36%;animation-duration:5s}@keyframes bv-person-orbit{to{transform:rotate(360deg)}}
.bv-person-profile-overview{background:#fff}.bv-person-profile-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:clamp(70px,11vw,160px);align-items:start}.bv-person-facts{position:sticky;top:115px;padding:34px;background:var(--warm)}.bv-person-facts h2{font-size:1.5rem}.bv-person-facts dl{margin:0}.bv-person-facts dl>div{padding:17px 0;border-bottom:1px solid var(--border)}.bv-person-facts dt{color:#77808a;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bv-person-facts dd{margin:5px 0 0;color:var(--navy-deep);font-weight:700}.bv-person-contact-links{display:flex;flex-direction:column;gap:10px;margin-top:28px}.bv-person-contact-links a{color:var(--navy-deep);font-size:.82rem;font-weight:800}.bv-person-biography{max-width:850px}.bv-person-biography>p:not(.bv-section-label):first-of-type{color:var(--navy-deep);font-size:1.35rem;font-weight:600;line-height:1.55}
.bv-person-contribution{padding:130px 0;color:#fff;background:var(--navy)}.bv-person-contribution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.bv-person-contribution-card{position:relative;min-height:320px;padding:30px;border:1px solid rgba(255,255,255,.16);overflow:hidden;transition:transform .5s var(--bv-ease),background .4s ease,border-color .4s ease}.bv-person-contribution-card:hover{border-color:rgba(211,166,44,.5);background:rgba(255,255,255,.055);transform:translateY(-10px)}.bv-person-contribution-card>span{color:var(--gold);font-size:.72rem;font-weight:800}.bv-person-contribution-card h3{margin:90px 0 16px;color:#fff}.bv-person-contribution-card p{margin:0;color:rgba(255,255,255,.65)}
@media(max-width:1050px){.bv-team-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bv-people-values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bv-person-profile-hero-grid{grid-template-columns:1fr 420px;gap:45px}.bv-person-profile-grid{grid-template-columns:320px 1fr;gap:55px}}
@media(max-width:760px){.bv-people-archive-hero{min-height:820px}.bv-people-hero-lines{right:-45%;width:115vw}.bv-people-hero-facts{grid-template-columns:1fr;margin-top:42px}.bv-people-hero-facts>div{padding:16px 20px}.bv-people-intro-grid,.bv-person-profile-grid{grid-template-columns:1fr;gap:45px}.bv-team-directory-header{align-items:flex-start;flex-direction:column;gap:12px}.bv-team-editorial-grid,.bv-people-values-grid,.bv-person-contribution-grid{grid-template-columns:1fr}.bv-person-card-copy{min-height:0}.bv-people-value{min-height:270px}.bv-people-value h3{margin-top:55px}.bv-person-profile-hero{padding-top:130px}.bv-person-profile-hero-grid{grid-template-columns:1fr;gap:0}.bv-person-profile-copy{padding-bottom:55px}.bv-person-profile-photo,.bv-person-profile-photo img,.bv-person-profile-placeholder{min-height:520px}.bv-person-facts{position:relative;top:auto}.bv-person-contribution-card{min-height:260px}.bv-person-contribution-card h3{margin-top:55px}}
@media(prefers-reduced-motion:reduce){.bv-people-hero-lines i,.bv-person-profile-placeholder i{animation:none}.bv-person-card,.bv-person-card-photo img,.bv-person-card-placeholder i,.bv-people-value,.bv-people-value:after,.bv-person-contribution-card{transition:none!important}}

/* Phase 4.6 — refined people cards and profile presentation */
.bv-team-editorial-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.bv-person-card{border:1px solid rgba(7,31,61,.10);border-radius:0;background:#fff}
.bv-person-card-photo{aspect-ratio:5/4;background:#e6ebef}
.bv-person-card-photo img{object-fit:cover;object-position:center 18%}
.bv-person-card-copy{min-height:310px;padding:26px 28px 28px}
.bv-person-card-department{margin:0 0 10px!important}
.bv-person-card-role{display:block;margin-bottom:14px;color:var(--navy-deep)!important;font-size:1rem!important;line-height:1.45}
.bv-person-card-summary{margin:0 0 22px;color:#68727b;font-size:.94rem;line-height:1.65}
.bv-person-card-meta{margin-top:auto}
.bv-person-view{right:18px;bottom:16px;padding:8px 11px;background:rgba(7,31,61,.92)}

.bv-person-profile-hero-v2{position:relative;overflow:hidden;padding:150px 0 90px;background:var(--navy-deep)}
.bv-person-profile-pattern{position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:90px 90px}
.bv-person-profile-hero-grid-v2{position:relative;z-index:2;display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);gap:clamp(55px,8vw,120px);align-items:center}
.bv-person-profile-photo-v2{position:relative}
.bv-person-profile-photo-v2:after{position:absolute;right:-18px;bottom:-18px;width:52%;height:42%;content:"";border-right:3px solid var(--gold);border-bottom:3px solid var(--gold);pointer-events:none}
.bv-person-profile-photo-frame{display:grid;min-height:520px;max-height:580px;place-items:center;overflow:hidden;background:#e8edf1;box-shadow:0 30px 70px rgba(0,0,0,.27)}
.bv-person-profile-photo-frame img{width:100%;height:100%;max-height:580px;object-fit:contain;object-position:center center;background:#e8edf1}
.bv-person-profile-copy-v2{padding:35px 0}
.bv-person-profile-copy-v2 .bv-back-link{display:inline-flex;margin-bottom:52px;color:rgba(255,255,255,.68);font-size:.8rem;font-weight:800;letter-spacing:.04em}
.bv-person-profile-copy-v2 h1{max-width:820px;margin-bottom:18px;color:#fff;font-size:clamp(3rem,6vw,6.2rem)}
.bv-person-profile-role-v2{margin:0 0 22px;color:var(--gold);font-size:clamp(1.25rem,2vw,1.75rem);font-weight:700}
.bv-person-profile-summary{max-width:780px;margin:0 0 34px;color:rgba(255,255,255,.74);font-size:1.05rem;line-height:1.75}
.bv-person-profile-quickfacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 34px;background:rgba(255,255,255,.16)}
.bv-person-profile-quickfacts>div{min-height:118px;padding:20px;background:rgba(4,21,39,.70)}
.bv-person-profile-quickfacts span,.bv-person-profile-quickfacts strong{display:block}
.bv-person-profile-quickfacts span{margin-bottom:8px;color:rgba(255,255,255,.48);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.bv-person-profile-quickfacts strong{color:#fff;font-size:.95rem;line-height:1.45}
.bv-person-profile-actions{display:flex;flex-wrap:wrap;gap:12px}
.bv-person-profile-overview-v2{background:#fff}
.bv-person-profile-grid-v2{display:grid;grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);gap:clamp(70px,10vw,150px);align-items:start}
.bv-person-facts-v2{position:sticky;top:110px;padding:34px;background:var(--warm)}
.bv-person-facts-v2 dl{margin:0}.bv-person-facts-v2 dl>div{padding:17px 0;border-bottom:1px solid var(--border)}
.bv-person-facts-v2 dt{color:#77808a;font-size:.69rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bv-person-facts-v2 dd{margin:5px 0 0;color:var(--navy-deep);font-weight:700}
.bv-person-biography-v2{max-width:850px}.bv-person-biography-v2>p:not(.bv-section-label):first-of-type{color:var(--navy-deep);font-size:1.3rem;font-weight:600;line-height:1.58}

@media(max-width:1050px){
  .bv-team-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bv-person-profile-hero-grid-v2{grid-template-columns:360px 1fr;gap:50px}
  .bv-person-profile-photo-frame{min-height:480px}
  .bv-person-profile-quickfacts{grid-template-columns:1fr}
  .bv-person-profile-quickfacts>div{min-height:0}
}
@media(max-width:760px){
  .bv-team-editorial-grid{grid-template-columns:1fr}
  .bv-person-card-photo{aspect-ratio:4/3}
  .bv-person-card-copy{min-height:0}
  .bv-person-profile-hero-v2{padding:125px 0 70px}
  .bv-person-profile-hero-grid-v2{grid-template-columns:1fr;gap:46px}
  .bv-person-profile-photo-v2{order:2}
  .bv-person-profile-copy-v2{order:1;padding:0}
  .bv-person-profile-copy-v2 .bv-back-link{margin-bottom:36px}
  .bv-person-profile-photo-frame{min-height:0;max-height:none;aspect-ratio:4/5}
  .bv-person-profile-photo-frame img{max-height:none;object-fit:contain}
  .bv-person-profile-grid-v2{grid-template-columns:1fr;gap:45px}
  .bv-person-facts-v2{position:relative;top:auto}
}


/* Phase 4.7 — Leadership & Technical Team card redesign */
.bv-team-showcase {
    padding: clamp(95px, 10vw, 155px) 0;
    overflow: hidden;
    background:
        linear-gradient(rgba(7,31,61,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7,31,61,.035) 1px, transparent 1px),
        #fff;
    background-size: 72px 72px;
}

.bv-team-showcase-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 50px;
    margin-bottom: 48px;
}

.bv-team-showcase-heading > div {
    max-width: 920px;
}

.bv-team-showcase-heading h2 {
    margin-bottom: 18px;
}

.bv-team-showcase-intro {
    max-width: 760px;
    margin: 0;
    color: #68727b;
    font-size: 1.04rem;
}

.bv-team-total {
    flex: 0 0 auto;
    margin: 0 0 10px;
    color: var(--navy-deep);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.bv-team-showcase-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(245px, 285px));
    justify-content: center;
    gap: 42px 30px;
    margin-top: 46px;
}

.bv-team-showcase-card {
    position: relative;
    min-width: 0;
    transition:
        transform .55s var(--bv-ease),
        filter .55s var(--bv-ease);
}

.bv-team-showcase-card[hidden] {
    display: none;
}

.bv-team-showcase-card:hover {
    z-index: 3;
    transform: translateY(-13px);
    filter: drop-shadow(0 28px 27px rgba(7,31,61,.18));
}

.bv-team-showcase-card > a {
    display: flex;
    height: 100%;
    flex-direction: column;
}

.bv-team-showcase-photo {
    position: relative;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    isolation: isolate;
    background: #e7ebef;
}

.bv-team-showcase-photo::before {
    position: absolute;
    inset: 0;
    z-index: 4;
    border: 1px solid rgba(7,31,61,.10);
    content: "";
    pointer-events: none;
}

.bv-team-showcase-accent {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 43%;
    height: 66%;
    overflow: hidden;
    color: rgba(255,255,255,.15);
    background: var(--navy);
    transition:
        width .65s var(--bv-ease),
        background .4s ease;
}

.bv-team-showcase-accent::after {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 5px;
    height: 54%;
    content: "";
    background: var(--gold);
    transform: scaleY(.45);
    transform-origin: bottom;
    transition: transform .6s var(--bv-ease);
}

.bv-team-showcase-accent span {
    position: absolute;
    top: 28px;
    left: 21px;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: .22em;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.bv-team-showcase-photo > img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 16%;
    filter: saturate(.88) contrast(1.01);
    transition:
        transform .85s var(--bv-ease),
        filter .5s ease;
}

.bv-team-showcase-card:hover .bv-team-showcase-photo > img {
    transform: scale(1.055);
    filter: saturate(1) contrast(1.02);
}

.bv-team-showcase-card:hover .bv-team-showcase-accent {
    width: 49%;
    background: var(--navy-deep);
}

.bv-team-showcase-card:hover .bv-team-showcase-accent::after {
    transform: scaleY(1);
}

.bv-team-showcase-placeholder {
    position: relative;
    z-index: 1;
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background:
        radial-gradient(circle at 68% 27%, rgba(211,166,44,.22), transparent 30%),
        linear-gradient(145deg, #dbe3e9, #aebfcb);
}

.bv-team-showcase-placeholder > span {
    color: var(--navy-deep);
    font-size: 7rem;
    font-weight: 800;
}

.bv-team-showcase-overlay {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
    min-height: 45%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 54px 20px 22px;
    color: #fff;
    background:
        linear-gradient(
            to bottom,
            rgba(7,31,61,0),
            rgba(7,31,61,.76) 34%,
            rgba(7,31,61,.98) 100%
        );
}

.bv-team-showcase-overlay::before {
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    height: 3px;
    content: "";
    background: var(--gold);
    transform: scaleX(.25);
    transform-origin: left;
    transition: transform .55s var(--bv-ease);
}

.bv-team-showcase-card:hover .bv-team-showcase-overlay::before {
    transform: scaleX(1);
}

.bv-team-showcase-overlay p {
    margin: 0 0 5px;
    color: var(--gold);
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.bv-team-showcase-overlay h3 {
    margin: 0 0 5px;
    color: #fff;
    font-size: clamp(1.45rem, 2.3vw, 1.9rem);
    line-height: 1.05;
}

.bv-team-showcase-overlay strong {
    color: rgba(255,255,255,.80);
    font-size: .86rem;
    font-weight: 650;
    line-height: 1.35;
}

.bv-team-showcase-arrow {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 5;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.50);
    border-radius: 50%;
    color: #fff;
    background: rgba(7,31,61,.40);
    backdrop-filter: blur(7px);
    opacity: 0;
    transform: translateY(10px) rotate(-12deg);
    transition:
        opacity .35s ease,
        transform .5s var(--bv-ease),
        background .35s ease;
}

.bv-team-showcase-card:hover .bv-team-showcase-arrow {
    opacity: 1;
    transform: none;
    background: var(--gold);
    color: var(--navy-deep);
}

.bv-team-showcase-details {
    display: flex;
    min-height: 190px;
    flex: 1;
    flex-direction: column;
    padding: 22px 20px 20px;
    border: 1px solid rgba(7,31,61,.10);
    border-top: 0;
    background: #fff;
    transition:
        border-color .4s ease,
        background .4s ease;
}

.bv-team-showcase-card:hover .bv-team-showcase-details {
    border-color: rgba(211,166,44,.55);
    background: #fbfaf7;
}

.bv-team-showcase-summary {
    margin: 0 0 18px;
    color: #68727b;
    font-size: .88rem;
    line-height: 1.58;
}

.bv-team-showcase-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: auto;
}

.bv-team-showcase-meta span {
    padding: 5px 8px;
    color: var(--navy-deep);
    background: rgba(11,53,102,.07);
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.bv-team-showcase-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 17px;
    padding-top: 13px;
    border-top: 1px solid var(--border);
    color: var(--navy-deep);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.bv-team-showcase-link i {
    color: var(--gold);
    font-size: 1.1rem;
    font-style: normal;
    transition: transform .35s var(--bv-ease);
}

.bv-team-showcase-card:hover .bv-team-showcase-link i {
    transform: translateX(5px);
}

@media (max-width: 900px) {
    .bv-team-showcase-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
    }

    .bv-team-showcase-grid {
        grid-template-columns: repeat(auto-fit, minmax(235px, 300px));
    }
}

@media (max-width: 560px) {
    .bv-team-showcase-grid {
        grid-template-columns: minmax(0, 330px);
        gap: 28px;
    }

    .bv-team-showcase-photo {
        aspect-ratio: 4 / 5;
    }

    .bv-team-showcase-details {
        min-height: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bv-team-showcase-card,
    .bv-team-showcase-photo > img,
    .bv-team-showcase-accent,
    .bv-team-showcase-accent::after,
    .bv-team-showcase-overlay::before,
    .bv-team-showcase-arrow,
    .bv-team-showcase-link i {
        transition: none !important;
    }
}


/* Phase 4.9 — Individual team profile editorial redesign */
.bv-profile-page {
    overflow: hidden;
}

.bv-profile-editorial-hero {
    position: relative;
    padding: 142px 0 clamp(85px, 9vw, 140px);
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 15%, rgba(211,166,44,.11), transparent 25%),
        linear-gradient(135deg, #f8f7f2 0%, #ffffff 58%, #edf1f4 100%);
}

.bv-profile-editorial-grid-pattern {
    position: absolute;
    inset: 0;
    opacity: .45;
    background-image:
        linear-gradient(rgba(7,31,61,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7,31,61,.045) 1px, transparent 1px);
    background-size: 82px 82px;
    mask-image: linear-gradient(to right, transparent, #000 35%, #000);
}

.bv-profile-back {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 46px;
    color: var(--navy-deep);
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.bv-profile-back span {
    color: var(--gold);
    font-size: 1.1rem;
    transition: transform .3s var(--bv-ease);
}

.bv-profile-back:hover span {
    transform: translateX(-5px);
}

.bv-profile-editorial-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.13fr) minmax(330px, .67fr);
    gap: clamp(65px, 9vw, 135px);
    align-items: center;
}

.bv-profile-editorial-copy {
    max-width: 830px;
}

.bv-profile-editorial-copy .bv-section-label {
    color: #9c7410;
}

.bv-profile-editorial-copy h1 {
    margin-bottom: 20px;
    color: var(--navy-deep);
    font-size: clamp(3.8rem, 7.2vw, 7.7rem);
    line-height: .94;
}

.bv-profile-editorial-role {
    position: relative;
    display: inline-block;
    margin: 0 0 32px;
    padding-bottom: 12px;
    color: var(--navy);
    font-size: clamp(1.3rem, 2.2vw, 2rem);
    font-weight: 750;
}

.bv-profile-editorial-role::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 72px;
    height: 3px;
    content: "";
    background: var(--gold);
}

.bv-profile-editorial-intro {
    max-width: 720px;
    margin-bottom: 38px;
    color: #5f6972;
    font-size: 1.08rem;
    line-height: 1.8;
}

.bv-profile-editorial-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(7,31,61,.14);
    border-bottom: 1px solid rgba(7,31,61,.14);
}

.bv-profile-editorial-facts > div {
    min-height: 120px;
    padding: 23px 20px;
    border-right: 1px solid rgba(7,31,61,.14);
}

.bv-profile-editorial-facts > div:first-child {
    padding-left: 0;
}

.bv-profile-editorial-facts > div:last-child {
    border-right: 0;
}

.bv-profile-editorial-facts span,
.bv-profile-editorial-facts strong {
    display: block;
}

.bv-profile-editorial-facts span {
    margin-bottom: 9px;
    color: #7a838a;
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.bv-profile-editorial-facts strong {
    color: var(--navy-deep);
    font-size: .94rem;
    line-height: 1.45;
}

.bv-profile-editorial-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
    margin-top: 34px;
}

.bv-profile-social-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--navy-deep);
    font-weight: 800;
}

.bv-profile-social-link span {
    color: var(--gold);
    transition: transform .3s var(--bv-ease);
}

.bv-profile-social-link:hover span {
    transform: translate(4px, -4px);
}

.bv-profile-editorial-portrait {
    position: relative;
    width: min(100%, 465px);
    margin-left: auto;
    isolation: isolate;
}

.bv-profile-portrait-accent {
    position: absolute;
    top: -28px;
    left: -28px;
    z-index: 0;
    width: 46%;
    height: 66%;
    overflow: hidden;
    background: var(--navy);
}

.bv-profile-portrait-accent::after {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 5px;
    height: 58%;
    content: "";
    background: var(--gold);
}

.bv-profile-portrait-accent span {
    position: absolute;
    top: 27px;
    left: 19px;
    color: rgba(255,255,255,.16);
    font-size: 1.15rem;
    font-weight: 850;
    letter-spacing: .20em;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.bv-profile-portrait-frame {
    position: relative;
    z-index: 1;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: #dfe6eb;
    box-shadow: 0 32px 65px rgba(7,31,61,.22);
}

.bv-profile-portrait-frame::after {
    position: absolute;
    inset: 0;
    content: "";
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
    pointer-events: none;
}

.bv-profile-portrait-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 18%;
    filter: saturate(.92) contrast(1.02);
    transition: transform .9s var(--bv-ease), filter .5s ease;
}

.bv-profile-editorial-portrait:hover .bv-profile-portrait-frame img {
    transform: scale(1.045);
    filter: saturate(1) contrast(1.03);
}

.bv-profile-portrait-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: var(--navy-deep);
    background:
        radial-gradient(circle at 65% 22%, rgba(211,166,44,.28), transparent 28%),
        linear-gradient(145deg, #dae4ea, #9fb2c0);
    font-size: 9rem;
    font-weight: 850;
}

.bv-profile-portrait-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: flex;
    min-height: 38%;
    flex-direction: column;
    justify-content: flex-end;
    padding: 72px 28px 27px;
    color: #fff;
    background: linear-gradient(to bottom, transparent, rgba(7,31,61,.84) 45%, rgba(7,31,61,.98));
}

.bv-profile-portrait-caption span {
    margin-bottom: 5px;
    color: var(--gold);
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.bv-profile-portrait-caption strong {
    color: #fff;
    font-size: clamp(1.4rem, 2.2vw, 2rem);
    line-height: 1.08;
}

.bv-profile-portrait-caption small {
    margin-top: 6px;
    color: rgba(255,255,255,.77);
    font-size: .84rem;
    font-weight: 650;
}

.bv-profile-portrait-corner {
    position: absolute;
    right: -19px;
    bottom: -19px;
    z-index: 0;
    width: 55%;
    height: 38%;
    border-right: 3px solid var(--gold);
    border-bottom: 3px solid var(--gold);
}

.bv-profile-biography-section {
    background: #fff;
}

.bv-profile-biography-grid {
    display: grid;
    grid-template-columns: minmax(270px, .68fr) minmax(0, 1.32fr);
    gap: clamp(75px, 11vw, 165px);
    align-items: start;
}

.bv-profile-side-heading {
    position: sticky;
    top: 110px;
}

.bv-profile-side-heading h2 {
    margin-bottom: 30px;
    font-size: clamp(2rem, 3.4vw, 3.55rem);
}

.bv-profile-side-rule {
    width: 82px;
    height: 4px;
    margin-bottom: 30px;
    background: var(--gold);
}

.bv-profile-side-heading dl {
    margin: 0;
}

.bv-profile-side-heading dl > div {
    padding: 17px 0;
    border-bottom: 1px solid var(--border);
}

.bv-profile-side-heading dt {
    color: #77808a;
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-profile-side-heading dd {
    margin: 5px 0 0;
    color: var(--navy-deep);
    font-weight: 720;
}

.bv-profile-biography-copy {
    max-width: 850px;
    color: #56616a;
    font-size: 1.08rem;
}

.bv-profile-biography-copy > p:not(.bv-section-label):first-of-type {
    color: var(--navy-deep);
    font-size: 1.42rem;
    font-weight: 620;
    line-height: 1.58;
}

.bv-profile-capability-section {
    padding: clamp(100px, 11vw, 160px) 0;
    color: #fff;
    background:
        radial-gradient(circle at 85% 10%, rgba(211,166,44,.13), transparent 24%),
        var(--navy-deep);
}

.bv-profile-capability-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.bv-profile-capability-card {
    position: relative;
    min-height: 330px;
    padding: 32px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.15);
    transition:
        transform .5s var(--bv-ease),
        border-color .4s ease,
        background .4s ease;
}

.bv-profile-capability-card::after {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 4px;
    content: "";
    background: var(--gold);
    transition: width .5s var(--bv-ease);
}

.bv-profile-capability-card:hover {
    border-color: rgba(211,166,44,.48);
    background: rgba(255,255,255,.05);
    transform: translateY(-10px);
}

.bv-profile-capability-card:hover::after {
    width: 100%;
}

.bv-profile-capability-card > span {
    color: var(--gold);
    font-size: .7rem;
    font-weight: 850;
}

.bv-profile-capability-card h3 {
    margin: 90px 0 18px;
    color: #fff;
}

.bv-profile-capability-card p {
    margin: 0;
    color: rgba(255,255,255,.66);
}

.bv-profile-related {
    background: var(--warm-white);
}

.bv-profile-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.bv-profile-related-card {
    background: #fff;
    transition: transform .45s var(--bv-ease), box-shadow .45s ease;
}

.bv-profile-related-card:hover {
    transform: translateY(-9px);
    box-shadow: 0 25px 50px rgba(7,31,61,.14);
}

.bv-profile-related-card > a {
    display: grid;
    grid-template-columns: 135px 1fr;
    min-height: 170px;
    align-items: center;
}

.bv-profile-related-photo {
    width: 100%;
    height: 100%;
    min-height: 170px;
    overflow: hidden;
    background: #dfe6eb;
}

.bv-profile-related-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 18%;
    transition: transform .65s var(--bv-ease);
}

.bv-profile-related-card:hover img {
    transform: scale(1.05);
}

.bv-profile-related-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: var(--navy-deep);
    font-size: 3.5rem;
    font-weight: 850;
    background: #dfe6eb;
}

.bv-profile-related-card > a > div:last-child {
    padding: 22px;
}

.bv-profile-related-card p {
    margin: 0 0 7px;
    color: #9c7410;
    font-size: .63rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-profile-related-card h3 {
    margin-bottom: 7px;
    font-size: 1.35rem;
}

.bv-profile-related-card span {
    color: #68727b;
    font-size: .82rem;
}

@media (max-width: 1050px) {
    .bv-profile-editorial-grid {
        grid-template-columns: minmax(0, 1fr) 365px;
        gap: 55px;
    }

    .bv-profile-editorial-facts {
        grid-template-columns: 1fr;
    }

    .bv-profile-editorial-facts > div,
    .bv-profile-editorial-facts > div:first-child {
        min-height: 0;
        padding: 16px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(7,31,61,.12);
    }

    .bv-profile-editorial-facts > div:last-child {
        border-bottom: 0;
    }

    .bv-profile-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .bv-profile-editorial-hero {
        padding: 122px 0 90px;
    }

    .bv-profile-editorial-grid,
    .bv-profile-biography-grid {
        grid-template-columns: 1fr;
        gap: 58px;
    }

    .bv-profile-editorial-copy h1 {
        font-size: clamp(3.25rem, 15vw, 5.2rem);
    }

    .bv-profile-editorial-portrait {
        width: min(100% - 26px, 430px);
        margin: 10px auto 0;
    }

    .bv-profile-side-heading {
        position: relative;
        top: auto;
    }

    .bv-profile-capability-grid,
    .bv-profile-related-grid {
        grid-template-columns: 1fr;
    }

    .bv-profile-capability-card {
        min-height: 270px;
    }

    .bv-profile-capability-card h3 {
        margin-top: 58px;
    }
}

@media (max-width: 480px) {
    .bv-profile-related-card > a {
        grid-template-columns: 105px 1fr;
    }

    .bv-profile-related-photo {
        min-height: 150px;
    }

    .bv-profile-portrait-accent {
        top: -18px;
        left: -18px;
    }

    .bv-profile-portrait-corner {
        right: -13px;
        bottom: -13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bv-profile-back span,
    .bv-profile-social-link span,
    .bv-profile-portrait-frame img,
    .bv-profile-capability-card,
    .bv-profile-capability-card::after,
    .bv-profile-related-card,
    .bv-profile-related-photo img {
        transition: none !important;
    }
}


/* Phase 5.0 — News & Insights editorial design */
.bv-news-hero {
    position: relative;
    min-height: 650px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(115deg, rgba(4,20,39,.97), rgba(7,31,61,.66)),
        var(--bv-news-hero, none),
        radial-gradient(circle at 80% 25%, #1d578c, var(--navy-deep) 62%);
    background-position: center;
    background-size: cover;
}

.bv-news-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4,20,39,.92), rgba(4,20,39,.30));
}

.bv-news-hero-grid,
.bv-article-grid-pattern {
    position: absolute;
    inset: 0;
    opacity: .19;
    background-image:
        linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px);
    background-size: 88px 88px;
}

.bv-news-hero-content {
    position: relative;
    z-index: 2;
    padding-top: 180px;
    padding-bottom: 90px;
}

.bv-news-hero-content h1 {
    max-width: 1050px;
    margin-bottom: 24px;
    color: #fff;
}

.bv-news-hero-content > p:not(.bv-section-label) {
    max-width: 760px;
    color: rgba(255,255,255,.76);
    font-size: 1.1rem;
}

.bv-news-hero-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 48px;
    border-top: 1px solid rgba(255,255,255,.18);
    border-bottom: 1px solid rgba(255,255,255,.18);
}

.bv-news-hero-facts > div {
    min-width: 190px;
    padding: 22px 35px 22px 0;
    margin-right: 35px;
    border-right: 1px solid rgba(255,255,255,.18);
}

.bv-news-hero-facts > div:last-child {
    border-right: 0;
}

.bv-news-hero-facts strong,
.bv-news-hero-facts span {
    display: block;
}

.bv-news-hero-facts strong {
    color: #fff;
    font-size: 2rem;
    line-height: 1;
}

.bv-news-hero-facts span {
    margin-top: 7px;
    color: rgba(255,255,255,.58);
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.bv-featured-news-section {
    background: var(--warm-white);
}

.bv-featured-news {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(320px, .78fr);
    min-height: 620px;
    background: #fff;
    box-shadow: 0 30px 75px rgba(7,31,61,.12);
}

.bv-featured-news-media {
    display: block;
    min-height: 520px;
    overflow: hidden;
    background: var(--navy-deep);
}

.bv-featured-news-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .9s var(--bv-ease);
}

.bv-featured-news:hover .bv-featured-news-media img {
    transform: scale(1.035);
}

.bv-featured-news-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(38px, 5vw, 78px);
}

.bv-featured-news-copy h3 {
    margin: 22px 0;
    font-size: clamp(2.25rem, 4vw, 4.2rem);
}

.bv-featured-news-copy > p {
    margin-bottom: 32px;
    color: #68727b;
}

.bv-news-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    color: #7a838a;
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bv-news-card-meta span {
    color: #9c7410;
}

.bv-news-graphic {
    position: relative;
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 72% 28%, rgba(211,166,44,.32), transparent 26%),
        linear-gradient(145deg, #0d4479, #061b33);
}

.bv-news-graphic span {
    position: relative;
    z-index: 2;
    color: rgba(255,255,255,.90);
    font-size: clamp(2rem, 4vw, 4rem);
    font-weight: 850;
    letter-spacing: .08em;
}

.bv-news-graphic i {
    position: absolute;
    border: 1px solid rgba(255,255,255,.15);
    transform: rotate(35deg);
}

.bv-news-graphic i:nth-of-type(1) {
    width: 55%;
    aspect-ratio: 1;
}

.bv-news-graphic i:nth-of-type(2) {
    width: 78%;
    aspect-ratio: 1;
}

.bv-news-graphic i:nth-of-type(3) {
    width: 105%;
    aspect-ratio: 1;
}

.bv-news-directory {
    background: #fff;
}

.bv-news-directory-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 45px;
    margin-bottom: 42px;
}

.bv-news-directory-heading > div {
    max-width: 890px;
}

.bv-news-directory-heading h2 {
    margin-bottom: 0;
}

.bv-news-result-count {
    flex: 0 0 auto;
    margin: 0 0 8px;
    color: var(--navy-deep);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-news-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 48px;
}

.bv-news-filters button,
.bv-news-empty button {
    min-height: 42px;
    padding: 9px 16px;
    border: 1px solid rgba(7,31,61,.18);
    color: var(--navy-deep);
    background: #fff;
    font: inherit;
    font-size: .70rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: color .25s ease, background .25s ease, border-color .25s ease;
}

.bv-news-filters button:hover,
.bv-news-filters button.is-active,
.bv-news-empty button:hover {
    color: #fff;
    border-color: var(--navy-deep);
    background: var(--navy-deep);
}

.bv-news-editorial-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 46px 28px;
}

.bv-news-editorial-card[hidden] {
    display: none;
}

.bv-news-editorial-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    border-bottom: 1px solid var(--border);
    transition: transform .5s var(--bv-ease), box-shadow .5s ease;
}

.bv-news-editorial-card:hover {
    transform: translateY(-9px);
    box-shadow: 0 24px 48px rgba(7,31,61,.12);
}

.bv-news-editorial-media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--navy-deep);
}

.bv-news-editorial-media > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .75s var(--bv-ease);
}

.bv-news-editorial-card:hover .bv-news-editorial-media > img {
    transform: scale(1.05);
}

.bv-news-editorial-arrow {
    position: absolute;
    top: 18px;
    right: 18px;
    display: grid;
    width: 43px;
    height: 43px;
    place-items: center;
    border-radius: 50%;
    color: var(--navy-deep);
    background: var(--gold);
    opacity: 0;
    transform: translateY(10px) rotate(-12deg);
    transition: opacity .35s ease, transform .45s var(--bv-ease);
}

.bv-news-editorial-card:hover .bv-news-editorial-arrow {
    opacity: 1;
    transform: none;
}

.bv-news-editorial-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 25px 22px 24px;
}

.bv-news-editorial-copy h3 {
    margin: 17px 0 13px;
    font-size: clamp(1.45rem, 2.2vw, 2rem);
}

.bv-news-editorial-copy > p {
    color: #68727b;
    font-size: .92rem;
}

.bv-news-read-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid var(--border);
    color: var(--navy-deep);
    font-size: .70rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.bv-news-read-link span {
    color: var(--gold);
    transition: transform .3s var(--bv-ease);
}

.bv-news-editorial-card:hover .bv-news-read-link span {
    transform: translateX(5px);
}

.bv-news-graphic-small {
    min-height: 100%;
}

.bv-news-graphic-small span {
    font-size: 1.3rem;
}

.bv-news-empty {
    padding: 55px;
    text-align: center;
    background: var(--warm-white);
}

/* Individual article */
.bv-article-hero {
    position: relative;
    padding: 150px 0 105px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 82% 18%, rgba(211,166,44,.17), transparent 26%),
        var(--navy-deep);
}

.bv-article-heading {
    position: relative;
    z-index: 2;
    max-width: 1080px;
}

.bv-article-kicker {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin-bottom: 24px;
    color: rgba(255,255,255,.61);
    font-size: .70rem;
    font-weight: 850;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.bv-article-kicker span {
    color: var(--gold);
}

.bv-article-heading h1 {
    margin-bottom: 28px;
    color: #fff;
    font-size: clamp(3.2rem, 7vw, 7.2rem);
}

.bv-article-lead {
    max-width: 850px;
    color: rgba(255,255,255,.76);
    font-size: 1.22rem;
    line-height: 1.65;
}

.bv-article-byline {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin-top: 34px;
    color: rgba(255,255,255,.55);
    font-size: .72rem;
    font-weight: 700;
}

.bv-article-featured-image {
    position: relative;
    z-index: 3;
    margin-top: -55px;
}

.bv-article-featured-image img {
    width: 100%;
    max-height: 740px;
    object-fit: cover;
    box-shadow: 0 30px 70px rgba(7,31,61,.20);
}

.bv-article-body-section {
    background: #fff;
}

.bv-article-layout {
    display: grid;
    grid-template-columns: minmax(230px, .42fr) minmax(0, 1.58fr);
    gap: clamp(60px, 10vw, 145px);
    align-items: start;
}

.bv-article-sidebar {
    position: sticky;
    top: 105px;
    padding: 28px;
    background: var(--warm-white);
}

.bv-article-sidebar > div {
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
}

.bv-article-sidebar span,
.bv-article-sidebar strong {
    display: block;
}

.bv-article-sidebar span {
    color: #77808a;
    font-size: .62rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-article-sidebar strong {
    margin-top: 5px;
    color: var(--navy-deep);
    font-size: .87rem;
    line-height: 1.45;
}

.bv-article-sidebar .bv-text-link {
    margin-top: 23px;
}

.bv-article-content {
    max-width: 850px;
    font-size: 1.08rem;
}

.bv-article-content > p:first-child {
    color: var(--navy-deep);
    font-size: 1.42rem;
    line-height: 1.62;
}

.bv-article-content blockquote {
    margin: 50px 0;
    padding: 32px 0 32px 34px;
    border-left: 4px solid var(--gold);
    color: var(--navy-deep);
    font-size: 1.6rem;
    font-weight: 650;
    line-height: 1.45;
}

.bv-article-content img {
    margin: 35px 0;
}

.bv-related-news {
    background: var(--warm-white);
}

.bv-related-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.bv-related-news-card {
    background: #fff;
    transition: transform .45s var(--bv-ease), box-shadow .45s ease;
}

.bv-related-news-card:hover {
    transform: translateY(-9px);
    box-shadow: 0 25px 50px rgba(7,31,61,.14);
}

.bv-related-news-media {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--navy-deep);
}

.bv-related-news-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s var(--bv-ease);
}

.bv-related-news-card:hover .bv-related-news-media img {
    transform: scale(1.05);
}

.bv-related-news-copy {
    padding: 24px;
}

.bv-related-news-copy p {
    margin-bottom: 8px;
    color: #9c7410;
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-related-news-copy h3 {
    margin-bottom: 18px;
    font-size: 1.55rem;
}

.bv-related-news-copy > span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #68727b;
    font-size: .72rem;
    font-weight: 700;
}

.bv-related-news-copy i {
    color: var(--gold);
    font-style: normal;
    transition: transform .3s var(--bv-ease);
}

.bv-related-news-card:hover i {
    transform: translateX(5px);
}

@media (max-width: 1050px) {
    .bv-featured-news {
        grid-template-columns: 1fr;
    }

    .bv-featured-news-media {
        min-height: 440px;
    }

    .bv-news-editorial-grid,
    .bv-related-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .bv-news-hero {
        min-height: 720px;
    }

    .bv-news-hero-facts {
        display: grid;
        grid-template-columns: 1fr;
    }

    .bv-news-hero-facts > div {
        min-width: 0;
        margin-right: 0;
        padding: 17px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.16);
    }

    .bv-news-directory-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .bv-news-editorial-grid,
    .bv-related-news-grid,
    .bv-article-layout {
        grid-template-columns: 1fr;
    }

    .bv-featured-news-media {
        min-height: 320px;
    }

    .bv-article-sidebar {
        position: relative;
        top: auto;
    }

    .bv-article-heading h1 {
        font-size: clamp(3rem, 14vw, 5.3rem);
    }
}

@media (max-width: 520px) {
    .bv-news-filters {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-news-filters button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bv-featured-news-media img,
    .bv-news-editorial-card,
    .bv-news-editorial-media > img,
    .bv-news-editorial-arrow,
    .bv-news-read-link span,
    .bv-related-news-card,
    .bv-related-news-media img,
    .bv-related-news-copy i {
        transition: none !important;
    }
}


/* Phase 5.1 — Newsletter subscription presentation */
.bv-newsletter-feature {
    position: relative;
    padding: clamp(95px, 11vw, 165px) 0;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 82% 22%, rgba(211,166,44,.18), transparent 25%),
        var(--navy-deep);
}

.bv-newsletter-feature-grid {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px);
    background-size: 82px 82px;
}

.bv-newsletter-feature-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr);
    gap: clamp(60px, 10vw, 145px);
    align-items: center;
}

.bv-newsletter-feature-copy h2 {
    margin-bottom: 22px;
    color: #fff;
}

.bv-newsletter-feature-copy > p:not(.bv-section-label) {
    max-width: 670px;
    color: rgba(255,255,255,.69);
    font-size: 1.06rem;
}

.bv-newsletter-feature-form {
    padding: 32px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.065);
    backdrop-filter: blur(10px);
}

.bv-newsletter-feature .bv-newsletter-input-row input {
    border-color: rgba(255,255,255,.25);
}

.bv-newsletter-feature .bv-newsletter-consent {
    color: rgba(255,255,255,.67);
}

.bv-newsletter-feature .bv-newsletter-consent a {
    color: #fff;
}

.bv-footer-newsletter {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: 70px;
    align-items: center;
    margin-bottom: 75px;
    padding: 0 0 65px;
    border-bottom: 1px solid rgba(255,255,255,.15);
}

.bv-footer-newsletter h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.8rem, 3vw, 3rem);
}

.bv-footer-newsletter .bv-section-label {
    margin-bottom: 10px;
}

.bv-footer-newsletter .bv-newsletter-input-row input {
    color: #fff;
    border-color: rgba(255,255,255,.24);
    background: rgba(255,255,255,.07);
}

.bv-footer-newsletter .bv-newsletter-input-row input::placeholder {
    color: rgba(255,255,255,.48);
}

.bv-footer-newsletter .bv-newsletter-consent {
    color: rgba(255,255,255,.53);
}

.bv-footer-newsletter .bv-newsletter-consent a {
    color: rgba(255,255,255,.85);
}

.bv-footer-newsletter .bv-newsletter-message {
    color: #fff;
    background: rgba(255,255,255,.08);
}

@media (max-width: 900px) {
    .bv-newsletter-feature-inner,
    .bv-footer-newsletter {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}

@media (max-width: 560px) {
    .bv-newsletter-feature-form {
        padding: 22px;
    }
}


/* Phase 5.2 — Careers and vacancies */
.bv-careers-hero {
    position: relative;
    min-height: 700px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(115deg, rgba(4,20,39,.97), rgba(7,31,61,.58)),
        var(--bv-careers-hero, none),
        radial-gradient(circle at 78% 28%, #1c578b, var(--navy-deep) 63%);
    background-position: center;
    background-size: cover;
}

.bv-careers-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4,20,39,.92), rgba(4,20,39,.30));
}

.bv-careers-hero-grid,
.bv-vacancy-hero-grid {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px);
    background-size: 88px 88px;
}

.bv-careers-hero-content {
    position: relative;
    z-index: 2;
    padding-top: 180px;
    padding-bottom: 90px;
}

.bv-careers-hero-content h1 {
    max-width: 1080px;
    margin-bottom: 24px;
    color: #fff;
}

.bv-careers-hero-content > p:not(.bv-section-label) {
    max-width: 760px;
    color: rgba(255,255,255,.76);
    font-size: 1.1rem;
}

.bv-careers-hero-facts {
    display: flex;
    flex-wrap: wrap;
    margin-top: 48px;
    border-top: 1px solid rgba(255,255,255,.18);
    border-bottom: 1px solid rgba(255,255,255,.18);
}

.bv-careers-hero-facts > div {
    min-width: 190px;
    margin-right: 35px;
    padding: 22px 35px 22px 0;
    border-right: 1px solid rgba(255,255,255,.18);
}

.bv-careers-hero-facts > div:last-child {
    border-right: 0;
}

.bv-careers-hero-facts strong,
.bv-careers-hero-facts span {
    display: block;
}

.bv-careers-hero-facts strong {
    color: #fff;
    font-size: 2rem;
    line-height: 1;
}

.bv-careers-hero-facts span {
    margin-top: 7px;
    color: rgba(255,255,255,.58);
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.bv-careers-intro {
    background: var(--warm-white);
}

.bv-careers-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
    gap: clamp(65px, 10vw, 145px);
    align-items: start;
}

.bv-careers-values {
    padding: clamp(100px, 11vw, 165px) 0;
    color: #fff;
    background:
        radial-gradient(circle at 83% 12%, rgba(211,166,44,.13), transparent 25%),
        var(--navy-deep);
}

.bv-careers-values-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.14);
    border-left: 1px solid rgba(255,255,255,.14);
}

.bv-careers-value {
    min-height: 330px;
    padding: 34px 28px;
    border-right: 1px solid rgba(255,255,255,.14);
    border-bottom: 1px solid rgba(255,255,255,.14);
    transition: transform .45s var(--bv-ease), background .4s ease;
}

.bv-careers-value:hover {
    transform: translateY(-9px);
    background: rgba(255,255,255,.05);
}

.bv-careers-value > span {
    color: var(--gold);
    font-size: .7rem;
    font-weight: 850;
}

.bv-careers-value h3 {
    margin-top: 80px;
    color: #fff;
}

.bv-careers-value p {
    color: rgba(255,255,255,.64);
}

.bv-vacancy-directory {
    background: #fff;
}

.bv-vacancy-directory-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 45px;
    margin-bottom: 42px;
}

.bv-vacancy-directory-heading > div {
    max-width: 900px;
}

.bv-vacancy-directory-heading h2 {
    margin-bottom: 0;
}

.bv-vacancy-result-count {
    flex: 0 0 auto;
    margin: 0 0 8px;
    color: var(--navy-deep);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-vacancy-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 14px;
    align-items: end;
    margin-bottom: 45px;
    padding: 24px;
    background: var(--warm-white);
}

.bv-vacancy-filters label {
    display: block;
    margin-bottom: 7px;
    color: #6f7982;
    font-size: .63rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-vacancy-filters select {
    width: 100%;
    min-height: 48px;
    padding: 10px 14px;
    border: 1px solid rgba(7,31,61,.18);
    border-radius: 0;
    color: var(--navy-deep);
    background: #fff;
    font: inherit;
}

.bv-vacancy-filters button,
.bv-vacancy-filter-empty button {
    min-height: 48px;
    padding: 10px 18px;
    border: 1px solid var(--navy-deep);
    color: #fff;
    background: var(--navy-deep);
    font: inherit;
    font-size: .70rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
}

.bv-vacancy-list {
    border-top: 1px solid var(--border);
}

.bv-vacancy-card[hidden] {
    display: none;
}

.bv-vacancy-card {
    border-bottom: 1px solid var(--border);
    transition: transform .45s var(--bv-ease), box-shadow .45s ease;
}

.bv-vacancy-card:hover {
    position: relative;
    z-index: 2;
    transform: translateY(-6px);
    box-shadow: 0 20px 45px rgba(7,31,61,.10);
}

.bv-vacancy-card > a {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr) minmax(250px, .45fr);
    gap: 30px;
    align-items: center;
    padding: 32px 24px;
    background: #fff;
    transition: background .35s ease;
}

.bv-vacancy-card:hover > a {
    background: #fbfaf7;
}

.bv-vacancy-card-number {
    color: #b98915;
    font-size: .72rem;
    font-weight: 850;
}

.bv-vacancy-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-bottom: 10px;
    color: #8b6710;
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bv-vacancy-card-main h3 {
    margin-bottom: 10px;
    font-size: clamp(1.55rem, 2.7vw, 2.6rem);
}

.bv-vacancy-card-main > p {
    max-width: 760px;
    margin-bottom: 0;
    color: #68727b;
    font-size: .91rem;
}

.bv-vacancy-card-side {
    display: grid;
    gap: 12px;
    padding-left: 28px;
    border-left: 1px solid var(--border);
}

.bv-vacancy-card-side span,
.bv-vacancy-card-side strong {
    display: block;
}

.bv-vacancy-card-side > div > span {
    color: #77808a;
    font-size: .60rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bv-vacancy-card-side > div > strong {
    margin-top: 3px;
    color: var(--navy-deep);
    font-size: .83rem;
}

.bv-vacancy-card-link {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    margin-top: 5px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
    color: var(--navy-deep);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.bv-vacancy-card-link i {
    color: var(--gold);
    font-size: 1.05rem;
    font-style: normal;
    transition: transform .3s var(--bv-ease);
}

.bv-vacancy-card:hover .bv-vacancy-card-link i {
    transform: translate(4px, -4px);
}

.bv-vacancy-empty-state,
.bv-vacancy-filter-empty {
    padding: 75px 30px;
    text-align: center;
    background: var(--warm-white);
}

.bv-vacancy-empty-state h3,
.bv-vacancy-filter-empty h3 {
    margin-bottom: 15px;
    font-size: 2rem;
}

.bv-careers-note {
    padding: 75px 0;
    color: #fff;
    background: var(--navy);
}

.bv-careers-note-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
    gap: 70px;
    align-items: center;
}

.bv-careers-note h2 {
    margin-bottom: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.8rem);
}

.bv-careers-note p {
    margin-bottom: 0;
    color: rgba(255,255,255,.72);
}

/* Individual vacancy */
.bv-vacancy-hero {
    position: relative;
    padding: 150px 0 105px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 84% 18%, rgba(211,166,44,.17), transparent 25%),
        var(--navy-deep);
}

.bv-vacancy-hero-layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(330px, .55fr);
    gap: clamp(65px, 10vw, 140px);
    align-items: center;
}

.bv-vacancy-hero h1 {
    max-width: 950px;
    margin-bottom: 25px;
    color: #fff;
}

.bv-vacancy-lead {
    max-width: 790px;
    color: rgba(255,255,255,.74);
    font-size: 1.18rem;
    line-height: 1.7;
}

.bv-vacancy-hero-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 42px;
    border-top: 1px solid rgba(255,255,255,.17);
    border-bottom: 1px solid rgba(255,255,255,.17);
}

.bv-vacancy-hero-meta > div {
    min-height: 105px;
    padding: 22px 18px;
    border-right: 1px solid rgba(255,255,255,.17);
}

.bv-vacancy-hero-meta > div:first-child {
    padding-left: 0;
}

.bv-vacancy-hero-meta > div:last-child {
    border-right: 0;
}

.bv-vacancy-hero-meta span,
.bv-vacancy-hero-meta strong {
    display: block;
}

.bv-vacancy-hero-meta span {
    color: rgba(255,255,255,.53);
    font-size: .61rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-vacancy-hero-meta strong {
    margin-top: 7px;
    color: #fff;
    font-size: .90rem;
    line-height: 1.4;
}

.bv-vacancy-apply-card {
    padding: 34px;
    border: 1px solid rgba(255,255,255,.17);
    background: rgba(255,255,255,.065);
    backdrop-filter: blur(10px);
}

.bv-vacancy-apply-card h2 {
    margin-bottom: 18px;
    color: #fff;
    font-size: 2.1rem;
}

.bv-vacancy-apply-card > p:not(.bv-section-label) {
    color: rgba(255,255,255,.65);
}

.bv-vacancy-apply-card .bv-button {
    width: 100%;
    margin-top: 15px;
}

.bv-vacancy-apply-card small {
    display: block;
    margin-top: 13px;
    color: rgba(255,255,255,.53);
    text-align: center;
}

.bv-vacancy-content-section {
    background: #fff;
}

.bv-vacancy-content-layout {
    display: grid;
    grid-template-columns: minmax(240px, .42fr) minmax(0, 1.58fr);
    gap: clamp(65px, 10vw, 145px);
    align-items: start;
}

.bv-vacancy-sidebar {
    position: sticky;
    top: 105px;
    padding: 28px;
    background: var(--warm-white);
}

.bv-vacancy-sidebar dl {
    margin: 0;
}

.bv-vacancy-sidebar dl > div {
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
}

.bv-vacancy-sidebar dt {
    color: #77808a;
    font-size: .61rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bv-vacancy-sidebar dd {
    margin: 5px 0 0;
    color: var(--navy-deep);
    font-size: .88rem;
    font-weight: 720;
}

.bv-vacancy-sidebar .bv-text-link {
    margin-top: 23px;
}

.bv-vacancy-content {
    max-width: 880px;
    font-size: 1.05rem;
}

.bv-vacancy-content h2 {
    margin-top: 45px;
    font-size: 2.25rem;
}

.bv-vacancy-content h2:first-child {
    margin-top: 0;
}

.bv-vacancy-content ul {
    padding-left: 1.3em;
}

.bv-vacancy-content li {
    margin-bottom: 10px;
}

.bv-vacancy-process {
    padding: clamp(100px, 11vw, 160px) 0;
    color: #fff;
    background: var(--navy-deep);
}

.bv-vacancy-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.14);
    border-left: 1px solid rgba(255,255,255,.14);
}

.bv-vacancy-process-card {
    min-height: 310px;
    padding: 32px 28px;
    border-right: 1px solid rgba(255,255,255,.14);
    border-bottom: 1px solid rgba(255,255,255,.14);
    transition: transform .45s var(--bv-ease), background .4s ease;
}

.bv-vacancy-process-card:hover {
    transform: translateY(-9px);
    background: rgba(255,255,255,.05);
}

.bv-vacancy-process-card > span {
    color: var(--gold);
    font-size: .68rem;
    font-weight: 850;
}

.bv-vacancy-process-card h3 {
    margin-top: 70px;
    color: #fff;
}

.bv-vacancy-process-card p {
    color: rgba(255,255,255,.64);
}

.bv-related-vacancies {
    background: var(--warm-white);
}

.bv-related-vacancies-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.bv-related-vacancy-card {
    background: #fff;
    transition: transform .45s var(--bv-ease), box-shadow .45s ease;
}

.bv-related-vacancy-card:hover {
    transform: translateY(-9px);
    box-shadow: 0 24px 48px rgba(7,31,61,.13);
}

.bv-related-vacancy-card > a {
    display: block;
    min-height: 300px;
    padding: 28px;
}

.bv-related-vacancy-card p {
    margin-bottom: 12px;
    color: #9c7410;
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bv-related-vacancy-card h3 {
    margin-bottom: 28px;
    font-size: 1.8rem;
}

.bv-related-vacancy-card > a > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 13px;
    margin-bottom: 40px;
    color: #68727b;
    font-size: .78rem;
}

.bv-related-vacancy-card > a > strong {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 17px;
    border-top: 1px solid var(--border);
    color: var(--navy-deep);
    font-size: .70rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.bv-related-vacancy-card i {
    color: var(--gold);
    font-style: normal;
    transition: transform .3s var(--bv-ease);
}

.bv-related-vacancy-card:hover i {
    transform: translate(4px, -4px);
}

@media (max-width: 1050px) {
    .bv-careers-values-grid,
    .bv-vacancy-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-vacancy-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-vacancy-card > a {
        grid-template-columns: 60px minmax(0, 1fr);
    }

    .bv-vacancy-card-side {
        grid-column: 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding-left: 0;
        border-left: 0;
    }

    .bv-vacancy-card-link {
        grid-column: 1 / -1;
    }

    .bv-related-vacancies-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .bv-careers-hero {
        min-height: 760px;
    }

    .bv-careers-hero-facts {
        display: grid;
        grid-template-columns: 1fr;
    }

    .bv-careers-hero-facts > div {
        min-width: 0;
        margin-right: 0;
        padding: 17px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.16);
    }

    .bv-careers-intro-grid,
    .bv-careers-note-inner,
    .bv-vacancy-hero-layout,
    .bv-vacancy-content-layout {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .bv-vacancy-directory-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .bv-vacancy-filters,
    .bv-careers-values-grid,
    .bv-vacancy-process-grid,
    .bv-related-vacancies-grid {
        grid-template-columns: 1fr;
    }

    .bv-vacancy-card > a {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .bv-vacancy-card-number {
        display: none;
    }

    .bv-vacancy-card-side {
        grid-column: auto;
        grid-template-columns: 1fr;
        padding-top: 18px;
        border-top: 1px solid var(--border);
    }

    .bv-vacancy-hero-meta {
        grid-template-columns: 1fr;
    }

    .bv-vacancy-hero-meta > div,
    .bv-vacancy-hero-meta > div:first-child {
        min-height: 0;
        padding: 16px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.15);
    }

    .bv-vacancy-sidebar {
        position: relative;
        top: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bv-careers-value,
    .bv-vacancy-card,
    .bv-vacancy-card-link i,
    .bv-vacancy-process-card,
    .bv-related-vacancy-card,
    .bv-related-vacancy-card i {
        transition: none !important;
    }
}


/* Phase 5.3 — Contact and Request a Proposal */
.bv-contact-hero,
.bv-proposal-page-hero {
    position: relative;
    min-height: 650px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(115deg, rgba(4,20,39,.97), rgba(7,31,61,.58)),
        var(--bv-contact-hero, none),
        radial-gradient(circle at 80% 28%, #1c578b, var(--navy-deep) 63%);
    background-position: center;
    background-size: cover;
}

.bv-proposal-page-hero {
    --bv-contact-hero: var(--bv-proposal-hero, none);
}

.bv-contact-hero-overlay,
.bv-proposal-page-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4,20,39,.92), rgba(4,20,39,.30));
}

.bv-contact-hero-grid,
.bv-proposal-page-grid {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px);
    background-size: 88px 88px;
}

.bv-contact-hero-content,
.bv-proposal-page-content {
    position: relative;
    z-index: 2;
    padding-top: 180px;
    padding-bottom: 90px;
}

.bv-contact-hero-content h1,
.bv-proposal-page-content h1 {
    max-width: 1050px;
    margin-bottom: 24px;
    color: #fff;
}

.bv-contact-hero-content > p:not(.bv-section-label),
.bv-proposal-page-content > p:not(.bv-section-label) {
    max-width: 760px;
    color: rgba(255,255,255,.76);
    font-size: 1.1rem;
}

.bv-contact-details {
    background: var(--warm-white);
}

.bv-contact-details-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-left: 1px solid var(--border);
}

.bv-contact-detail-card {
    min-height: 285px;
    padding: 30px 26px;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    transition: transform .45s var(--bv-ease), background .35s ease;
}

.bv-contact-detail-card:hover {
    transform: translateY(-8px);
    background: #fff;
}

.bv-contact-detail-card > span {
    color: #b98915;
    font-size: .68rem;
    font-weight: 850;
}

.bv-contact-detail-card > p {
    margin: 70px 0 8px;
    color: #7a838a;
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-contact-detail-card h2 {
    margin: 0;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    overflow-wrap: anywhere;
}

.bv-contact-form-section {
    background: #fff;
}

.bv-contact-form-layout,
.bv-proposal-form-layout {
    display: grid;
    grid-template-columns: minmax(280px, .55fr) minmax(0, 1.45fr);
    gap: clamp(65px, 10vw, 145px);
    align-items: start;
}

.bv-contact-form-copy,
.bv-proposal-sidebar {
    position: sticky;
    top: 105px;
}

.bv-contact-form-copy > p:not(.bv-section-label),
.bv-proposal-sidebar > p:not(.bv-section-label) {
    color: #65707a;
}

.bv-contact-response-note {
    margin-top: 34px;
    padding: 24px;
    border-left: 4px solid var(--gold);
    background: var(--warm-white);
}

.bv-contact-response-note strong {
    color: var(--navy-deep);
}

.bv-contact-response-note p {
    margin: 8px 0 0;
    color: #65707a;
    font-size: .9rem;
}

.bv-contact-form-card,
.bv-proposal-form-card {
    padding: clamp(28px, 4vw, 52px);
    border: 1px solid var(--border);
    background: #fff;
    box-shadow: 0 24px 55px rgba(7,31,61,.10);
}

.bv-contact-services {
    padding: clamp(100px, 11vw, 160px) 0;
    color: #fff;
    background: var(--navy-deep);
}

.bv-contact-services-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.14);
    border-left: 1px solid rgba(255,255,255,.14);
}

.bv-contact-service-card {
    min-height: 310px;
    padding: 30px 27px;
    border-right: 1px solid rgba(255,255,255,.14);
    border-bottom: 1px solid rgba(255,255,255,.14);
    transition: transform .45s var(--bv-ease), background .35s ease;
}

.bv-contact-service-card:hover {
    transform: translateY(-8px);
    background: rgba(255,255,255,.05);
}

.bv-contact-service-card > span {
    color: var(--gold);
    font-size: .68rem;
    font-weight: 850;
}

.bv-contact-service-card h3 {
    margin-top: 75px;
    color: #fff;
}

.bv-contact-service-card p {
    color: rgba(255,255,255,.64);
}

.bv-proposal-process {
    background: var(--warm-white);
}

.bv-proposal-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-left: 1px solid var(--border);
}

.bv-proposal-process-card {
    min-height: 315px;
    padding: 32px 28px;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    transition: transform .45s var(--bv-ease), background .35s ease;
}

.bv-proposal-process-card:hover {
    transform: translateY(-8px);
    background: #fff;
}

.bv-proposal-process-card > span {
    color: #b98915;
    font-size: .68rem;
    font-weight: 850;
}

.bv-proposal-process-card h2 {
    margin-top: 65px;
    font-size: 1.65rem;
}

.bv-proposal-process-card p {
    color: #65707a;
}

.bv-proposal-form-section {
    background: #fff;
}

.bv-proposal-sidebar-list {
    margin-top: 34px;
    border-top: 1px solid var(--border);
}

.bv-proposal-sidebar-list > div {
    display: grid;
    grid-template-columns: 35px 1fr;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
}

.bv-proposal-sidebar-list span {
    color: #b98915;
    font-size: .68rem;
    font-weight: 850;
}

.bv-proposal-sidebar-list p {
    margin: 0;
    color: var(--navy-deep);
    font-weight: 700;
}

.bv-proposal-assurance {
    padding: 80px 0;
    color: #fff;
    background: var(--navy);
}

.bv-proposal-assurance-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
    gap: 70px;
    align-items: center;
}

.bv-proposal-assurance h2 {
    margin-bottom: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.8rem);
}

.bv-proposal-assurance p {
    margin-bottom: 0;
    color: rgba(255,255,255,.72);
}

@media (max-width: 1050px) {
    .bv-contact-details-grid,
    .bv-contact-services-grid,
    .bv-proposal-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .bv-contact-hero,
    .bv-proposal-page-hero {
        min-height: 720px;
    }

    .bv-contact-form-layout,
    .bv-proposal-form-layout,
    .bv-proposal-assurance-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .bv-contact-form-copy,
    .bv-proposal-sidebar {
        position: relative;
        top: auto;
    }

    .bv-contact-details-grid,
    .bv-contact-services-grid,
    .bv-proposal-process-grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bv-contact-detail-card,
    .bv-contact-service-card,
    .bv-proposal-process-card {
        transition: none !important;
    }
}


/* Phase 5.4 — Quality & Sustainability */
.bv-quality-hero {
    position: relative;
    min-height: 700px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(115deg, rgba(4,20,39,.97), rgba(7,31,61,.56)),
        var(--bv-quality-hero, none),
        radial-gradient(circle at 80% 25%, #1b568a, var(--navy-deep) 63%);
    background-position: center;
    background-size: cover;
}

.bv-quality-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4,20,39,.92), rgba(4,20,39,.28));
}

.bv-quality-hero-grid {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px);
    background-size: 88px 88px;
}

.bv-quality-hero-content {
    position: relative;
    z-index: 2;
    padding-top: 180px;
    padding-bottom: 90px;
}

.bv-quality-hero-content h1 {
    max-width: 1080px;
    margin-bottom: 24px;
    color: #fff;
}

.bv-quality-hero-content > p:not(.bv-section-label) {
    max-width: 780px;
    color: rgba(255,255,255,.76);
    font-size: 1.1rem;
}

.bv-quality-intro {
    background: var(--warm-white);
}

.bv-quality-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
    gap: clamp(65px, 10vw, 145px);
    align-items: start;
}

.bv-quality-pillars {
    padding: clamp(100px, 11vw, 165px) 0;
    color: #fff;
    background:
        radial-gradient(circle at 84% 12%, rgba(211,166,44,.14), transparent 24%),
        var(--navy-deep);
}

.bv-quality-pillars-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.14);
    border-left: 1px solid rgba(255,255,255,.14);
}

.bv-quality-pillar {
    min-height: 340px;
    padding: 34px 28px;
    border-right: 1px solid rgba(255,255,255,.14);
    border-bottom: 1px solid rgba(255,255,255,.14);
    transition: transform .45s var(--bv-ease), background .4s ease;
}

.bv-quality-pillar:hover {
    transform: translateY(-9px);
    background: rgba(255,255,255,.05);
}

.bv-quality-pillar > span {
    color: var(--gold);
    font-size: .69rem;
    font-weight: 850;
}

.bv-quality-pillar h3 {
    margin-top: 82px;
    color: #fff;
}

.bv-quality-pillar p {
    color: rgba(255,255,255,.64);
}

.bv-quality-framework {
    background: #fff;
}

.bv-quality-framework-grid {
    border-top: 1px solid var(--border);
}

.bv-quality-stage {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 34px;
    padding: 34px 0;
    border-bottom: 1px solid var(--border);
    transition: padding .4s var(--bv-ease), background .35s ease;
}

.bv-quality-stage:hover {
    padding-right: 24px;
    padding-left: 24px;
    background: var(--warm-white);
}

.bv-quality-stage-number {
    color: #b98915;
    font-size: .72rem;
    font-weight: 850;
}

.bv-quality-stage > div:last-child > p:first-child {
    margin-bottom: 7px;
    color: #8b6710;
    font-size: .63rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-quality-stage h3 {
    margin-bottom: 10px;
    font-size: clamp(1.6rem, 2.7vw, 2.7rem);
}

.bv-quality-stage > div:last-child > p:last-child {
    max-width: 850px;
    margin-bottom: 0;
    color: #68727b;
}

.bv-sustainability-section {
    position: relative;
    padding: clamp(110px, 12vw, 175px) 0;
    overflow: hidden;
    background: #eef3ef;
}

.bv-sustainability-decoration {
    position: absolute;
    top: -170px;
    right: -120px;
    width: 540px;
    height: 540px;
    border: 1px solid rgba(11,53,102,.11);
    border-radius: 50%;
}

.bv-sustainability-decoration::before,
.bv-sustainability-decoration::after {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(11,53,102,.11);
    border-radius: 50%;
    content: "";
    transform: translate(-50%, -50%);
}

.bv-sustainability-decoration::before {
    width: 72%;
    height: 72%;
}

.bv-sustainability-decoration::after {
    width: 43%;
    height: 43%;
}

.bv-sustainability-heading {
    position: relative;
    z-index: 2;
    max-width: 930px;
    margin-bottom: 62px;
}

.bv-sustainability-heading h2 {
    margin-bottom: 22px;
}

.bv-sustainability-heading > p:not(.bv-section-label) {
    max-width: 760px;
    color: #64706a;
    font-size: 1.05rem;
}

.bv-sustainability-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.bv-sustainability-card {
    min-height: 300px;
    padding: 30px;
    border: 1px solid rgba(7,31,61,.12);
    background: rgba(255,255,255,.72);
    backdrop-filter: blur(8px);
    transition: transform .45s var(--bv-ease), box-shadow .45s ease, border-color .35s ease;
}

.bv-sustainability-card:hover {
    transform: translateY(-9px);
    border-color: rgba(211,166,44,.55);
    box-shadow: 0 24px 48px rgba(7,31,61,.11);
}

.bv-sustainability-card > span {
    color: #9c7410;
    font-size: .69rem;
    font-weight: 850;
}

.bv-sustainability-card h3 {
    margin-top: 58px;
}

.bv-sustainability-card p {
    color: #64706a;
}

.bv-governance-section {
    background: #fff;
}

.bv-governance-grid {
    display: grid;
    grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr);
    gap: clamp(70px, 11vw, 160px);
    align-items: start;
}

.bv-governance-copy {
    position: sticky;
    top: 105px;
}

.bv-governance-copy > p:not(.bv-section-label) {
    color: #68727b;
}

.bv-governance-copy .bv-button {
    margin-top: 22px;
}

.bv-governance-list {
    border-top: 1px solid var(--border);
}

.bv-governance-item {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 22px;
    padding: 30px 0;
    border-bottom: 1px solid var(--border);
    transition: padding .4s var(--bv-ease), background .35s ease;
}

.bv-governance-item:hover {
    padding-right: 22px;
    padding-left: 22px;
    background: var(--warm-white);
}

.bv-governance-item > span {
    color: #b98915;
    font-size: .68rem;
    font-weight: 850;
}

.bv-governance-item h3 {
    margin-bottom: 8px;
}

.bv-governance-item p {
    margin-bottom: 0;
    color: #68727b;
}

.bv-quality-statement {
    padding: clamp(120px, 14vw, 210px) 0;
    color: #fff;
    background:
        radial-gradient(circle at 82% 17%, rgba(211,166,44,.14), transparent 24%),
        var(--navy);
}

.bv-quality-statement blockquote {
    max-width: 1120px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.5rem, 5vw, 5.2rem);
    font-weight: 750;
    line-height: 1.08;
    letter-spacing: -.05em;
}

@media (max-width: 1050px) {
    .bv-quality-pillars-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-sustainability-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .bv-quality-hero {
        min-height: 760px;
    }

    .bv-quality-intro-grid,
    .bv-governance-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .bv-quality-pillars-grid,
    .bv-sustainability-grid {
        grid-template-columns: 1fr;
    }

    .bv-quality-stage {
        grid-template-columns: 48px 1fr;
        gap: 15px;
    }

    .bv-governance-copy {
        position: relative;
        top: auto;
    }

    .bv-governance-item {
        grid-template-columns: 45px 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bv-quality-pillar,
    .bv-quality-stage,
    .bv-sustainability-card,
    .bv-governance-item {
        transition: none !important;
    }
}


/* Phase 5.5 — Site completion */
:focus-visible {
    outline: 3px solid var(--gold);
    outline-offset: 4px;
}

.bv-footer-main {
    display: grid;
    grid-template-columns: 1.45fr .9fr 1fr .9fr;
    gap: clamp(38px, 6vw, 80px);
    padding-bottom: 72px;
}

.bv-footer-introduction > p {
    max-width: 390px;
    margin: 25px 0;
}

.bv-footer-heading {
    margin: 0 0 20px;
    color: #fff;
    font-size: .75rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.bv-footer-profile-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--gold);
    font-weight: 750;
}

.bv-footer-profile-link span {
    transition: transform .3s var(--bv-ease);
}

.bv-footer-profile-link:hover span {
    transform: translate(4px, -4px);
}

.bv-footer-menu {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bv-footer-contact,
.bv-footer-company {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.bv-footer-contact address {
    margin-bottom: 8px;
    color: rgba(255,255,255,.65);
    font-style: normal;
    line-height: 1.65;
}

.bv-footer-socials {
    display: flex;
    gap: 9px;
    margin-top: 17px;
}

.bv-footer-socials a {
    display: grid;
    width: 37px;
    height: 37px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.23);
    border-radius: 50%;
    color: #fff;
    transition: color .25s ease, border-color .25s ease, background .25s ease;
}

.bv-footer-socials a:hover {
    color: var(--navy-deep);
    border-color: var(--gold);
    background: var(--gold);
}

.bv-footer-bottom > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}

.bv-back-to-top {
    padding: 0;
    border: 0;
    color: rgba(255,255,255,.72);
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.bv-back-to-top span {
    margin-left: 5px;
    color: var(--gold);
}

/* Privacy and legal */
.bv-legal-hero {
    position: relative;
    padding: 175px 0 95px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 84% 18%, rgba(211,166,44,.16), transparent 25%),
        var(--navy-deep);
}

.bv-legal-grid {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px);
    background-size: 88px 88px;
}

.bv-legal-hero-content {
    position: relative;
    z-index: 2;
}

.bv-legal-hero h1 {
    margin-bottom: 20px;
    color: #fff;
}

.bv-legal-hero-content > p:not(.bv-section-label) {
    max-width: 780px;
    color: rgba(255,255,255,.72);
    font-size: 1.08rem;
}

.bv-legal-section {
    background: #fff;
}

.bv-legal-layout {
    display: grid;
    grid-template-columns: minmax(230px, .42fr) minmax(0, 1.58fr);
    gap: clamp(65px, 10vw, 145px);
    align-items: start;
}

.bv-legal-sidebar {
    position: sticky;
    top: 105px;
    display: grid;
    gap: 9px;
    padding: 27px;
    background: var(--warm-white);
}

.bv-legal-sidebar a {
    padding: 8px 0;
    border-bottom: 1px solid var(--border);
    color: var(--navy-deep);
    font-size: .82rem;
    font-weight: 650;
}

.bv-legal-content {
    max-width: 880px;
}

.bv-legal-content h2 {
    scroll-margin-top: 110px;
    margin-top: 55px;
    font-size: 2.15rem;
}

.bv-legal-content h2:first-of-type {
    margin-top: 22px;
}

.bv-legal-updated {
    color: #78828a;
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.bv-legal-content address {
    padding: 24px;
    border-left: 4px solid var(--gold);
    background: var(--warm-white);
    font-style: normal;
}

/* Search */
.bv-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    max-width: 820px;
}

.bv-search-form input {
    min-height: 57px;
    min-width: 0;
    padding: 13px 17px;
    border: 1px solid rgba(7,31,61,.20);
    border-right: 0;
    border-radius: 0;
    font: inherit;
}

.bv-search-form button {
    min-height: 57px;
    padding: 13px 22px;
    border: 1px solid var(--gold);
    color: var(--navy-deep);
    background: var(--gold);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.bv-search-hero {
    padding: 175px 0 90px;
    color: #fff;
    background:
        radial-gradient(circle at 84% 18%, rgba(211,166,44,.15), transparent 25%),
        var(--navy-deep);
}

.bv-search-hero h1 {
    max-width: 980px;
    margin-bottom: 34px;
    color: #fff;
}

.bv-search-results {
    border-top: 1px solid var(--border);
}

.bv-search-result {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) 50px;
    gap: 28px;
    align-items: center;
    padding: 30px 0;
    border-bottom: 1px solid var(--border);
    transition: padding .4s var(--bv-ease), background .35s ease;
}

.bv-search-result:hover {
    padding-right: 20px;
    padding-left: 20px;
    background: var(--warm-white);
}

.bv-search-result-type {
    color: #9c7410;
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bv-search-result h2 {
    margin-bottom: 8px;
    font-size: clamp(1.45rem, 2.6vw, 2.5rem);
}

.bv-search-result p {
    margin-bottom: 0;
    color: #68727b;
}

.bv-search-result-arrow {
    color: var(--gold);
    font-size: 1.45rem;
    text-align: center;
}

.bv-pagination {
    margin-top: 45px;
}

.bv-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.bv-pagination a,
.bv-pagination span {
    display: grid;
    min-width: 42px;
    height: 42px;
    place-items: center;
    padding: 0 10px;
    border: 1px solid var(--border);
}

.bv-pagination .current {
    color: #fff;
    border-color: var(--navy-deep);
    background: var(--navy-deep);
}

.bv-search-no-results {
    max-width: 850px;
    padding: 55px;
    background: var(--warm-white);
}

.bv-search-no-results-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
}

.bv-search-no-results-links a {
    padding: 10px 15px;
    border: 1px solid var(--border);
    color: var(--navy-deep);
    background: #fff;
    font-weight: 750;
}

/* 404 */
.bv-not-found {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 80% 20%, rgba(211,166,44,.16), transparent 25%),
        var(--navy-deep);
}

.bv-not-found-grid {
    position: absolute;
    inset: 0;
    opacity: .17;
    background-image:
        linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px);
    background-size: 88px 88px;
}

.bv-not-found-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(280px, .58fr) minmax(0, 1.42fr);
    gap: clamp(60px, 10vw, 145px);
    align-items: center;
    padding-top: 150px;
    padding-bottom: 100px;
}

.bv-not-found-code {
    color: transparent;
    font-size: clamp(8rem, 20vw, 19rem);
    font-weight: 900;
    line-height: .8;
    -webkit-text-stroke: 2px rgba(255,255,255,.28);
}

.bv-not-found-copy h1 {
    margin-bottom: 23px;
    color: #fff;
}

.bv-not-found-copy > p:not(.bv-section-label) {
    max-width: 680px;
    color: rgba(255,255,255,.69);
}

.bv-not-found .bv-search-form {
    margin-top: 32px;
}

.bv-not-found-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 25px;
}

@media (max-width: 1050px) {
    .bv-footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .bv-footer-main,
    .bv-legal-layout,
    .bv-not-found-inner {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .bv-legal-sidebar {
        position: relative;
        top: auto;
    }

    .bv-search-result {
        grid-template-columns: 1fr 35px;
        gap: 14px;
    }

    .bv-search-result-type {
        grid-column: 1 / -1;
    }

    .bv-search-form {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .bv-search-form input {
        border-right: 1px solid rgba(7,31,61,.20);
    }

    .bv-not-found-code {
        font-size: 9rem;
    }
}

@media (max-width: 520px) {
    .bv-footer-main {
        grid-template-columns: 1fr;
    }

    .bv-footer-bottom {
        flex-direction: column;
    }

    .bv-search-no-results {
        padding: 30px 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bv-footer-profile-link span,
    .bv-search-result {
        transition: none !important;
    }
}


/* Phase 6.1 — Mobile navigation visibility and scrolling fix */
@media (max-width: 1100px) {
    .bv-navigation {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        overflow-x: hidden;
        overflow-y: auto;
        padding:
            calc(var(--header) + 48px + env(safe-area-inset-top))
            max(28px, env(safe-area-inset-right))
            calc(45px + env(safe-area-inset-bottom))
            max(28px, env(safe-area-inset-left));
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    body.admin-bar .bv-navigation {
        padding-top: calc(var(--header) + 82px);
    }

    .bv-navigation .bv-menu {
        width: min(100%, 520px);
        margin: 0 auto;
    }

    .bv-navigation .bv-menu > li {
        width: 100%;
        border-bottom: 1px solid rgba(255,255,255,.12);
    }

    .bv-navigation .bv-menu > li:first-child {
        border-top: 1px solid rgba(255,255,255,.12);
    }

    .bv-navigation .bv-menu a {
        display: flex;
        min-height: 58px;
        align-items: center;
        justify-content: space-between;
        padding: 10px 4px;
        color: #fff;
        font-size: clamp(1.35rem, 6vw, 1.85rem);
        line-height: 1.2;
    }

    .bv-navigation .bv-menu a::after {
        position: static;
        width: 9px;
        height: 9px;
        flex: 0 0 9px;
        margin-left: 18px;
        border-top: 2px solid var(--gold);
        border-right: 2px solid var(--gold);
        background: transparent;
        transform: rotate(45deg);
    }

    .bv-navigation .bv-menu a:hover::after,
    .bv-navigation .current-menu-item > a::after,
    .bv-navigation .current_page_item > a::after {
        transform: translateX(4px) rotate(45deg);
    }

    .bv-navigation .current-menu-item > a,
    .bv-navigation .current_page_item > a,
    .bv-navigation .menu-item-home.current-menu-item > a {
        color: var(--gold);
    }

    .bv-navigation .bv-proposal-button {
        display: flex;
        width: min(100%, 520px);
        min-height: 58px;
        margin: 24px auto 0;
        color: var(--navy-deep);
        font-size: .86rem;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

    .bv-menu-toggle {
        border: 1px solid rgba(255,255,255,.28);
    }

    .bv-header.is-scrolled .bv-menu-toggle,
    body:not(.home) .bv-menu-toggle {
        border-color: rgba(7,31,61,.20);
    }

    body.bv-menu-open .bv-header {
        color: #fff;
        background: var(--navy-deep);
        box-shadow: none;
    }

    body.bv-menu-open .bv-logo {
        color: #fff;
    }

    body.bv-menu-open .bv-menu-toggle {
        color: #fff;
        border-color: rgba(255,255,255,.30);
    }

    body.bv-menu-open .bv-menu-toggle span:nth-child(1) {
        top: 21px;
        transform: rotate(45deg);
    }

    body.bv-menu-open .bv-menu-toggle span:nth-child(2) {
        opacity: 0;
    }

    body.bv-menu-open .bv-menu-toggle span:nth-child(3) {
        top: 21px;
        transform: rotate(-45deg);
    }

    .bv-menu-toggle span:not(.screen-reader-text) {
        transition:
            top .25s ease,
            transform .25s ease,
            opacity .20s ease;
    }
}

@media (max-width: 782px) {
    body.admin-bar .bv-navigation {
        padding-top: calc(var(--header) + 96px);
    }
}

@media (max-width: 600px) {
    body.admin-bar .bv-header {
        top: 0;
    }

    body.admin-bar .bv-navigation {
        padding-top: calc(var(--header) + 50px);
    }
}


/* ==========================================================
   Phase 6.2 — Unified typography, colour and sizing system
   ========================================================== */

:root {
    --navy-deep: #071f3d;
    --navy: #0c3a69;
    --navy-soft: #174f80;
    --gold: #c99823;
    --gold-bright: #e4bd55;
    --gold-text: #896300;
    --warm: #f5f3ee;
    --warm-white: #faf9f6;
    --white: #ffffff;
    --charcoal: #27323c;
    --muted: #5f6b76;
    --muted-light: #75808a;
    --border: rgba(7, 31, 61, .14);

    --font-display:
        "Segoe UI Variable Display",
        "Segoe UI",
        "Helvetica Neue",
        Arial,
        sans-serif;
    --font-body:
        "Segoe UI Variable Text",
        "Segoe UI",
        "Helvetica Neue",
        Arial,
        sans-serif;

    --text-xs: .72rem;
    --text-sm: .84rem;
    --text-base: 1rem;
    --text-lead: clamp(1.04rem, 1.3vw, 1.16rem);

    --heading-1: clamp(3.15rem, 6.2vw, 6.35rem);
    --heading-2: clamp(2.25rem, 4.25vw, 4.35rem);
    --heading-3: clamp(1.35rem, 2vw, 1.92rem);

    --body-line: 1.68;
    --heading-line: 1.04;
}

/* Base text */
html {
    font-size: 16px;
}

body {
    color: var(--charcoal);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 400;
    line-height: var(--body-line);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

p,
li,
dd,
input,
select,
textarea,
button {
    font-family: var(--font-body);
}

p {
    color: var(--muted);
    text-wrap: pretty;
}

strong,
b {
    color: inherit;
    font-weight: 750;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--navy-deep);
    font-family: var(--font-display);
    font-weight: 760;
    line-height: var(--heading-line);
    letter-spacing: -.035em;
    text-wrap: balance;
}

h1 {
    font-size: var(--heading-1);
}

h2 {
    font-size: var(--heading-2);
}

h3 {
    font-size: var(--heading-3);
    letter-spacing: -.025em;
}

h4 {
    font-size: clamp(1.1rem, 1.5vw, 1.35rem);
    letter-spacing: -.015em;
}

/* Labels and metadata */
.bv-section-label,
.bv-eyebrow,
.bv-news-card-meta,
.bv-project-meta,
.bv-article-kicker,
.bv-vacancy-card-meta {
    color: var(--gold-text);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.bv-gold-label,
.bv-hero .bv-eyebrow,
.bv-section-heading-light .bv-section-label,
.bv-news-hero .bv-section-label,
.bv-careers-hero .bv-section-label,
.bv-contact-hero .bv-section-label,
.bv-proposal-page-hero .bv-section-label,
.bv-quality-hero .bv-section-label,
.bv-article-hero .bv-section-label,
.bv-vacancy-hero .bv-section-label,
.bv-legal-hero .bv-section-label,
.bv-search-hero .bv-section-label,
.bv-not-found .bv-section-label {
    color: var(--gold-bright);
}

/* Readable body content */
.bv-entry-content,
.bv-article-content,
.bv-vacancy-content,
.bv-legal-content {
    color: var(--muted);
    font-size: clamp(1rem, 1.15vw, 1.075rem);
    line-height: 1.78;
}

.bv-entry-content p,
.bv-article-content p,
.bv-vacancy-content p,
.bv-legal-content p {
    max-width: 76ch;
}

.bv-entry-content h2,
.bv-article-content h2,
.bv-vacancy-content h2,
.bv-legal-content h2 {
    font-size: clamp(1.85rem, 3vw, 2.7rem);
    line-height: 1.12;
}

.bv-entry-content h3,
.bv-article-content h3,
.bv-vacancy-content h3,
.bv-legal-content h3 {
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    line-height: 1.18;
}

/* Main hero text */
.bv-hero h1,
.bv-news-hero-content h1,
.bv-careers-hero-content h1,
.bv-contact-hero-content h1,
.bv-proposal-page-content h1,
.bv-quality-hero-content h1,
.bv-article-heading h1,
.bv-vacancy-hero h1,
.bv-profile-editorial-copy h1,
.bv-not-found-copy h1 {
    font-size: var(--heading-1);
    font-weight: 780;
    line-height: .99;
    letter-spacing: -.05em;
}

.bv-page-hero h1,
.bv-people-hero-content h1,
.bv-project-hero-content h1,
.bv-legal-hero h1,
.bv-search-hero h1 {
    font-size: clamp(3rem, 5.5vw, 5.65rem);
    font-weight: 770;
    line-height: 1;
    letter-spacing: -.045em;
}

.bv-hero-text,
.bv-news-hero-content > p:not(.bv-section-label),
.bv-careers-hero-content > p:not(.bv-section-label),
.bv-contact-hero-content > p:not(.bv-section-label),
.bv-proposal-page-content > p:not(.bv-section-label),
.bv-quality-hero-content > p:not(.bv-section-label),
.bv-people-hero-content > p:not(.bv-section-label),
.bv-article-lead,
.bv-vacancy-lead,
.bv-profile-editorial-intro {
    color: rgba(255, 255, 255, .79);
    font-size: var(--text-lead);
    line-height: 1.7;
}

.bv-profile-editorial-intro {
    color: var(--muted);
}

/* Section headings */
.bv-section-heading h2,
.bv-team-showcase-heading h2,
.bv-news-directory-heading h2,
.bv-vacancy-directory-heading h2 {
    font-size: var(--heading-2);
    font-weight: 750;
    line-height: 1.06;
}

.bv-section-heading-light h2 {
    color: #fff;
}

/* Navigation */
.bv-logo-text {
    color: inherit;
    font-family: var(--font-display);
    font-size: 1.32rem;
    font-weight: 800;
    letter-spacing: -.025em;
}

.bv-menu a {
    color: inherit;
    font-family: var(--font-body);
    font-size: .86rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .005em;
}

.bv-header.is-scrolled .bv-menu a,
body:not(.home) .bv-header .bv-menu a {
    color: var(--navy-deep);
}

/* Buttons */
.bv-button,
.bv-enquiry-submit,
.bv-newsletter-input-row button,
.bv-search-form button,
.bv-vacancy-filters button,
.bv-news-filters button {
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.bv-button {
    min-height: 52px;
    padding: 13px 23px;
}

.bv-button-gold {
    color: var(--navy-deep);
    background: var(--gold);
}

.bv-button-gold:hover {
    background: var(--gold-bright);
}

.bv-button-navy {
    color: #fff;
    background: var(--navy-deep);
}

.bv-button-navy:hover {
    background: var(--navy);
}

/* Cards and supporting copy */
.bv-intro-copy p,
.bv-expertise-item p,
.bv-value p,
.bv-news-editorial-copy > p,
.bv-team-showcase-summary,
.bv-sustainability-card p,
.bv-contact-service-card p,
.bv-careers-value p,
.bv-quality-pillar p,
.bv-profile-capability-card p,
.bv-vacancy-process-card p {
    color: var(--muted);
    font-size: .96rem;
    line-height: 1.66;
}

.bv-projects-section p,
.bv-stats p,
.bv-statement p,
.bv-careers-values p,
.bv-contact-services p,
.bv-quality-pillars p,
.bv-profile-capability-section p,
.bv-vacancy-process p,
.bv-footer p {
    color: rgba(255, 255, 255, .67);
}

/* Statistics */
.bv-stat strong,
.bv-people-number strong,
.bv-news-hero-facts strong,
.bv-careers-hero-facts strong,
.bv-people-hero-facts strong {
    font-family: var(--font-display);
    font-weight: 760;
    letter-spacing: -.045em;
}

.bv-stat span,
.bv-news-hero-facts span,
.bv-careers-hero-facts span,
.bv-people-hero-facts span {
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .11em;
}

/* Forms */
.bv-enquiry-field label,
.bv-newsletter-consent,
.bv-enquiry-consent,
.bv-vacancy-filters label {
    font-size: .76rem;
    font-weight: 750;
    line-height: 1.45;
}

.bv-enquiry-field input,
.bv-enquiry-field select,
.bv-enquiry-field textarea,
.bv-newsletter-input-row input,
.bv-search-form input,
.bv-vacancy-filters select {
    color: var(--charcoal);
    font-size: .96rem;
    line-height: 1.4;
}

.bv-enquiry-field input::placeholder,
.bv-enquiry-field textarea::placeholder,
.bv-newsletter-input-row input::placeholder,
.bv-search-form input::placeholder {
    color: #87919a;
    opacity: 1;
}

/* Footer */
.bv-footer {
    color: rgba(255, 255, 255, .69);
}

.bv-footer-heading {
    color: var(--gold-bright);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.bv-footer a {
    font-size: .91rem;
    line-height: 1.5;
}

.bv-footer-bottom {
    color: rgba(255, 255, 255, .54);
    font-size: .78rem;
}

/* Keep gold readable when used as text on light backgrounds */
.bv-expertise-number,
.bv-vacancy-card-number,
.bv-quality-stage-number,
.bv-governance-item > span,
.bv-contact-detail-card > span,
.bv-proposal-process-card > span,
.bv-related-news-copy p,
.bv-related-vacancy-card p {
    color: var(--gold-text);
}

/* Mobile and tablet typography */
@media (max-width: 1100px) {
    .bv-navigation .bv-menu a {
        color: #fff;
        font-size: clamp(1.18rem, 4.4vw, 1.52rem);
        font-weight: 720;
        line-height: 1.22;
        letter-spacing: -.015em;
    }

    .bv-navigation .bv-proposal-button {
        font-size: .76rem;
        font-weight: 800;
        letter-spacing: .055em;
    }
}

@media (max-width: 760px) {
    :root {
        --heading-1: clamp(2.75rem, 12.5vw, 4.65rem);
        --heading-2: clamp(2rem, 9vw, 3.25rem);
        --heading-3: clamp(1.28rem, 5.8vw, 1.65rem);
        --text-lead: 1rem;
    }

    body {
        font-size: 1rem;
        line-height: 1.64;
    }

    h1,
    .bv-hero h1,
    .bv-news-hero-content h1,
    .bv-careers-hero-content h1,
    .bv-contact-hero-content h1,
    .bv-proposal-page-content h1,
    .bv-quality-hero-content h1,
    .bv-article-heading h1,
    .bv-vacancy-hero h1,
    .bv-profile-editorial-copy h1,
    .bv-not-found-copy h1,
    .bv-page-hero h1,
    .bv-people-hero-content h1,
    .bv-project-hero-content h1,
    .bv-legal-hero h1,
    .bv-search-hero h1 {
        font-size: var(--heading-1);
        line-height: 1.01;
        letter-spacing: -.042em;
    }

    h2,
    .bv-section-heading h2,
    .bv-team-showcase-heading h2,
    .bv-news-directory-heading h2,
    .bv-vacancy-directory-heading h2 {
        font-size: var(--heading-2);
        line-height: 1.08;
        letter-spacing: -.035em;
    }

    h3 {
        font-size: var(--heading-3);
        line-height: 1.15;
    }

    .bv-section-label,
    .bv-eyebrow {
        margin-bottom: 14px;
        font-size: .67rem;
        letter-spacing: .11em;
    }

    .bv-hero-text,
    .bv-news-hero-content > p:not(.bv-section-label),
    .bv-careers-hero-content > p:not(.bv-section-label),
    .bv-contact-hero-content > p:not(.bv-section-label),
    .bv-proposal-page-content > p:not(.bv-section-label),
    .bv-quality-hero-content > p:not(.bv-section-label),
    .bv-people-hero-content > p:not(.bv-section-label),
    .bv-article-lead,
    .bv-vacancy-lead,
    .bv-profile-editorial-intro {
        font-size: 1rem;
        line-height: 1.62;
    }

    .bv-entry-content,
    .bv-article-content,
    .bv-vacancy-content,
    .bv-legal-content {
        font-size: 1rem;
        line-height: 1.7;
    }

    .bv-button {
        min-height: 50px;
        padding: 12px 19px;
        font-size: .72rem;
    }

    .bv-footer a {
        font-size: .9rem;
    }
}

@media (max-width: 420px) {
    :root {
        --heading-1: clamp(2.45rem, 12vw, 3.6rem);
        --heading-2: clamp(1.85rem, 9.2vw, 2.75rem);
    }

    .bv-navigation .bv-menu a {
        min-height: 54px;
        font-size: 1.16rem;
    }

    .bv-logo-text {
        font-size: 1.16rem;
    }
}


/* ==========================================================
   Phase 6.3 — Responsive layout, spacing and image system
   ========================================================== */

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

main,
section,
header,
footer,
.bv-container,
.bv-container > *,
[class*="grid"] > *,
[class*="layout"] > * {
    min-width: 0;
}

iframe,
video,
embed,
object,
table {
    max-width: 100%;
}

.bv-container {
    width: min(calc(100% - 48px), var(--container));
}

.bv-section {
    padding-block: clamp(88px, 9vw, 145px);
}

.bv-button,
.bv-menu-toggle,
.bv-news-filters button,
.bv-vacancy-filters button,
.bv-enquiry-submit,
.bv-newsletter-input-row button {
    touch-action: manipulation;
}

/* Keep hero text clear on shorter laptop displays. */
.bv-hero {
    min-height: min(940px, 100svh);
}

.bv-hero-content {
    width: 100%;
    padding-top: calc(var(--header) + 110px);
    padding-bottom: clamp(90px, 11vh, 145px);
}

.bv-page-hero,
.bv-legal-hero,
.bv-search-hero {
    padding-top: calc(var(--header) + 95px);
}

/* Cards keep predictable image ratios on all screens. */
.bv-project-media img,
.bv-directory-project-media img,
.bv-expertise-card-media img,
.bv-news-editorial-media img,
.bv-featured-news-media img,
.bv-team-showcase-photo > img,
.bv-profile-portrait-frame img,
.bv-related-news-media img,
.bv-related-news-photo img,
.bv-profile-related-photo img {
    object-position: center 30%;
}

/* Prevent long words, emails and project names from breaking layouts. */
.bv-footer,
.bv-contact-detail-card,
.bv-profile-editorial-copy,
.bv-vacancy-card,
.bv-entry-content,
.bv-article-content,
.bv-legal-content {
    overflow-wrap: anywhere;
}

/* ----------------------------------------------------------
   Tablet: 1180 px and below
   ---------------------------------------------------------- */
@media (max-width: 1180px) {
    :root {
        --container: 1040px;
        --header: 80px;
    }

    .bv-container {
        width: min(calc(100% - 40px), var(--container));
    }

    .bv-header-inner {
        gap: 18px;
    }

    .bv-logo {
        max-width: 205px;
    }

    .bv-logo-image,
    .bv-logo .custom-logo {
        max-height: 52px;
    }

    .bv-section-heading {
        margin-bottom: 58px;
    }

    .bv-intro-grid,
    .bv-expertise-intro-grid,
    .bv-people-intro-grid,
    .bv-careers-intro-grid,
    .bv-quality-intro-grid {
        grid-template-columns: 1fr 1fr;
        gap: 60px;
    }

    .bv-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-stat:nth-child(2) {
        border-right: 1px solid rgba(255,255,255,.14);
    }

    .bv-stat:nth-child(n+3) {
        border-top: 1px solid rgba(255,255,255,.14);
    }

    .bv-values-grid,
    .bv-people-values-grid,
    .bv-careers-values-grid,
    .bv-contact-services-grid,
    .bv-quality-pillars-grid,
    .bv-vacancy-process-grid,
    .bv-profile-capability-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-project-grid {
        gap: 38px 28px;
    }

    .bv-people-grid {
        gap: 65px;
    }

    .bv-people-number {
        padding: 45px;
    }

    .bv-proposal-inner {
        align-items: flex-start;
    }

    .bv-featured-news {
        grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
        min-height: 540px;
    }

    .bv-featured-news-media {
        min-height: 460px;
    }

    .bv-news-editorial-grid,
    .bv-related-news-grid,
    .bv-related-vacancies-grid,
    .bv-sustainability-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-team-showcase-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .bv-profile-editorial-grid {
        grid-template-columns: minmax(0, 1fr) minmax(310px, 390px);
        gap: 60px;
    }

    .bv-contact-details-grid,
    .bv-proposal-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 55px;
    }
}

/* ----------------------------------------------------------
   Small tablet: 900 px and below
   ---------------------------------------------------------- */
@media (max-width: 900px) {
    :root {
        --header: 74px;
    }

    .bv-container {
        width: min(calc(100% - 36px), var(--container));
    }

    .bv-section {
        padding-block: 88px;
    }

    .bv-header,
    .bv-header.is-scrolled,
    body:not(.home) .bv-header {
        height: var(--header);
    }

    .bv-hero {
        min-height: max(700px, 100svh);
        align-items: flex-end;
    }

    .bv-hero-content {
        padding-top: calc(var(--header) + 90px);
        padding-bottom: 86px;
    }

    .bv-hero-actions {
        align-items: stretch;
    }

    .bv-hero-actions .bv-button {
        min-width: 210px;
    }

    .bv-section-heading,
    .bv-team-showcase-heading,
    .bv-news-directory-heading,
    .bv-vacancy-directory-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
        margin-bottom: 48px;
    }

    .bv-intro-grid,
    .bv-expertise-intro-grid,
    .bv-people-intro-grid,
    .bv-careers-intro-grid,
    .bv-quality-intro-grid,
    .bv-people-grid,
    .bv-project-detail-grid,
    .bv-expertise-detail,
    .bv-project-story-grid,
    .bv-project-services-grid,
    .bv-contact-form-layout,
    .bv-proposal-form-layout,
    .bv-careers-note-inner,
    .bv-proposal-assurance-grid,
    .bv-governance-grid,
    .bv-legal-layout,
    .bv-article-layout,
    .bv-vacancy-content-layout,
    .bv-profile-biography-grid,
    .bv-newsletter-feature-inner {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .bv-intro-grid,
    .bv-expertise-intro-grid {
        align-items: start;
    }

    .bv-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-stat {
        min-height: 170px;
        padding: 38px 26px;
    }

    .bv-expertise-item a {
        grid-template-columns: 60px minmax(0, 1fr) 38px;
        gap: 18px;
        padding: 27px 0;
    }

    .bv-project-grid {
        grid-template-columns: 1fr;
    }

    .bv-project-card-featured {
        grid-column: auto;
    }

    .bv-project-card-featured .bv-project-media,
    .bv-project-media {
        aspect-ratio: 16 / 10;
    }

    .bv-project-content {
        padding-top: 20px;
    }

    .bv-statement {
        padding-block: 105px;
    }

    .bv-values-grid,
    .bv-people-values-grid,
    .bv-careers-values-grid,
    .bv-contact-services-grid,
    .bv-quality-pillars-grid,
    .bv-vacancy-process-grid,
    .bv-profile-capability-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-value,
    .bv-people-value,
    .bv-careers-value,
    .bv-contact-service-card,
    .bv-quality-pillar,
    .bv-vacancy-process-card,
    .bv-profile-capability-card {
        min-height: 280px;
    }

    .bv-people-number {
        max-width: 520px;
    }

    .bv-proposal-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 30px;
    }

    .bv-featured-news {
        grid-template-columns: 1fr;
    }

    .bv-featured-news-media {
        min-height: 380px;
        aspect-ratio: 16 / 9;
    }

    .bv-news-editorial-grid,
    .bv-related-news-grid,
    .bv-related-vacancies-grid,
    .bv-sustainability-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-team-showcase-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-profile-editorial-grid {
        grid-template-columns: 1fr;
        gap: 62px;
    }

    .bv-profile-editorial-copy {
        max-width: 760px;
    }

    .bv-profile-editorial-portrait {
        width: min(100%, 430px);
        margin: 0 auto;
    }

    .bv-profile-side-heading,
    .bv-contact-form-copy,
    .bv-proposal-sidebar,
    .bv-governance-copy,
    .bv-legal-sidebar,
    .bv-article-sidebar,
    .bv-vacancy-sidebar {
        position: relative;
        top: auto;
    }

    .bv-vacancy-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-vacancy-filters button {
        width: 100%;
    }

    .bv-vacancy-card > a {
        grid-template-columns: 58px minmax(0, 1fr);
    }

    .bv-vacancy-card-side {
        grid-column: 2;
        padding-top: 20px;
        padding-left: 0;
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .bv-contact-form-card,
    .bv-proposal-form-card,
    .bv-newsletter-feature-form {
        padding: 34px;
    }

    .bv-footer-newsletter {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

/* ----------------------------------------------------------
   Phone: 680 px and below
   ---------------------------------------------------------- */
@media (max-width: 680px) {
    :root {
        --header: 68px;
    }

    .bv-container {
        width: min(calc(100% - 28px), var(--container));
    }

    .bv-section {
        padding-block: 72px;
    }

    .bv-logo {
        max-width: 175px;
    }

    .bv-logo-image,
    .bv-logo .custom-logo {
        max-height: 46px;
    }

    .bv-menu-toggle {
        width: 42px;
        height: 42px;
    }

    .bv-hero {
        min-height: max(650px, 100svh);
    }

    .bv-hero-content {
        padding-top: calc(var(--header) + 72px);
        padding-bottom: 64px;
    }

    .bv-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: min(100%, 380px);
    }

    .bv-hero-actions .bv-button {
        width: 100%;
        min-width: 0;
    }

    .bv-page-hero,
    .bv-legal-hero,
    .bv-search-hero {
        padding-top: calc(var(--header) + 70px);
        padding-bottom: 68px;
    }

    .bv-stats-grid {
        grid-template-columns: 1fr;
    }

    .bv-stat,
    .bv-stat:nth-child(2),
    .bv-stat:nth-child(n+3) {
        min-height: 135px;
        padding: 28px 22px;
        border-top: 1px solid rgba(255,255,255,.14);
        border-right: 1px solid rgba(255,255,255,.14);
    }

    .bv-stat:first-child {
        border-top: 0;
    }

    .bv-expertise-item a {
        grid-template-columns: 39px minmax(0, 1fr) 28px;
        gap: 12px;
        padding: 23px 0;
    }

    .bv-expertise-item p {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .bv-project-media,
    .bv-project-card-featured .bv-project-media {
        aspect-ratio: 4 / 3;
    }

    .bv-project-content {
        padding-right: 36px;
    }

    .bv-project-meta {
        gap: 6px 12px;
    }

    .bv-statement {
        padding-block: 82px;
    }

    .bv-values-grid,
    .bv-people-values-grid,
    .bv-careers-values-grid,
    .bv-contact-services-grid,
    .bv-quality-pillars-grid,
    .bv-vacancy-process-grid,
    .bv-profile-capability-grid,
    .bv-news-editorial-grid,
    .bv-related-news-grid,
    .bv-related-vacancies-grid,
    .bv-sustainability-grid,
    .bv-team-showcase-grid,
    .bv-contact-details-grid,
    .bv-proposal-process-grid {
        grid-template-columns: 1fr;
    }

    .bv-value,
    .bv-people-value,
    .bv-careers-value,
    .bv-contact-service-card,
    .bv-quality-pillar,
    .bv-vacancy-process-card,
    .bv-profile-capability-card {
        min-height: 0;
        padding: 28px 23px;
    }

    .bv-value h3,
    .bv-people-value h3,
    .bv-careers-value h3,
    .bv-contact-service-card h3,
    .bv-quality-pillar h3,
    .bv-vacancy-process-card h3,
    .bv-profile-capability-card h3 {
        margin-top: 42px;
    }

    .bv-people-number {
        padding: 35px 27px;
    }

    .bv-proposal {
        padding-block: 64px;
    }

    .bv-proposal .bv-button {
        width: 100%;
    }

    .bv-featured-news-media {
        min-height: 260px;
    }

    .bv-featured-news-copy {
        padding: 30px 23px;
    }

    .bv-news-editorial-media {
        aspect-ratio: 4 / 3;
    }

    .bv-news-filters {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-news-filters button {
        width: 100%;
    }

    .bv-team-showcase-grid {
        width: min(100%, 390px);
        margin-right: auto;
        margin-left: auto;
    }

    .bv-team-showcase-photo {
        aspect-ratio: 4 / 5;
    }

    .bv-profile-editorial-facts {
        grid-template-columns: 1fr;
    }

    .bv-profile-editorial-facts > div,
    .bv-profile-editorial-facts > div:first-child {
        min-height: 0;
        padding: 16px 0;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .bv-profile-editorial-facts > div:last-child {
        border-bottom: 0;
    }

    .bv-profile-editorial-portrait {
        width: min(calc(100% - 22px), 390px);
    }

    .bv-profile-portrait-caption {
        padding: 58px 21px 21px;
    }

    .bv-vacancy-filters {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .bv-vacancy-card > a {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 27px 20px;
    }

    .bv-vacancy-card-number {
        display: none;
    }

    .bv-vacancy-card-side {
        grid-column: auto;
        grid-template-columns: 1fr;
    }

    .bv-vacancy-hero-meta {
        grid-template-columns: 1fr;
    }

    .bv-vacancy-hero-meta > div,
    .bv-vacancy-hero-meta > div:first-child {
        min-height: 0;
        padding: 15px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.15);
    }

    .bv-contact-form-card,
    .bv-proposal-form-card,
    .bv-newsletter-feature-form {
        padding: 24px 19px;
    }

    .bv-enquiry-grid {
        grid-template-columns: 1fr;
    }

    .bv-enquiry-submit {
        width: 100%;
    }

    .bv-newsletter-input-row,
    .bv-search-form {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .bv-newsletter-input-row input,
    .bv-search-form input {
        border-right: 1px solid rgba(7,31,61,.20);
    }

    .bv-newsletter-input-row button,
    .bv-search-form button {
        width: 100%;
    }

    .bv-project-story-facts,
    .bv-project-facts,
    .bv-article-sidebar,
    .bv-vacancy-sidebar,
    .bv-legal-sidebar {
        padding: 23px;
    }

    .bv-project-gallery,
    .bv-expertise-card-grid,
    .bv-project-directory-grid {
        grid-template-columns: 1fr;
    }

    .bv-expertise-card.is-featured,
    .bv-directory-project-card.is-leading,
    .bv-project-gallery figure.is-wide {
        grid-column: auto;
    }

    .bv-expertise-card.is-featured > a {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
    }

    .bv-expertise-card-media,
    .bv-expertise-card.is-featured .bv-expertise-card-media {
        min-height: 280px;
        aspect-ratio: 4 / 3;
    }

    .bv-project-gallery img {
        min-height: 260px;
    }

    .bv-footer {
        padding-top: 70px;
    }

    .bv-footer-main {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .bv-footer-bottom,
    .bv-footer-bottom > div {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* ----------------------------------------------------------
   Small phone: 420 px and below
   ---------------------------------------------------------- */
@media (max-width: 420px) {
    .bv-container {
        width: min(calc(100% - 22px), var(--container));
    }

    .bv-section {
        padding-block: 62px;
    }

    .bv-logo {
        max-width: 155px;
    }

    .bv-hero-content {
        padding-bottom: 52px;
    }

    .bv-news-filters {
        grid-template-columns: 1fr;
    }

    .bv-project-content {
        padding-right: 30px;
    }

    .bv-profile-editorial-portrait {
        width: calc(100% - 18px);
    }

    .bv-profile-portrait-accent {
        top: -14px;
        left: -14px;
    }

    .bv-profile-portrait-corner {
        right: -11px;
        bottom: -11px;
    }

    .bv-contact-detail-card {
        min-height: 230px;
        padding: 25px 21px;
    }

    .bv-contact-detail-card > p {
        margin-top: 48px;
    }

    .bv-search-no-results,
    .bv-vacancy-empty-state,
    .bv-vacancy-filter-empty {
        padding: 36px 20px;
    }
}

/* Touch devices should not depend on hover-only information. */
@media (hover: none) {
    .bv-news-editorial-arrow,
    .bv-team-showcase-arrow,
    .bv-directory-project-view {
        opacity: 1;
        transform: none;
    }

    .bv-project-card:hover img,
    .bv-news-editorial-card:hover img,
    .bv-team-showcase-card:hover img,
    .bv-expertise-card:hover img {
        transform: none;
    }

    .bv-project-card:hover,
    .bv-news-editorial-card:hover,
    .bv-team-showcase-card:hover,
    .bv-expertise-card:hover,
    .bv-vacancy-card:hover {
        transform: none;
        box-shadow: none;
    }
}


/* ==========================================================
   Phase 6.4 — Compact page covers and unified button motion
   ========================================================== */

/* Homepage cover: still prominent, but no longer full-screen. */
.bv-hero {
    min-height: 660px;
    height: auto;
}

.bv-hero-content {
    padding-top: calc(var(--header) + 88px);
    padding-bottom: 78px;
}

/* Internal page covers: compact and consistent. */
.bv-page-hero,
.bv-people-archive-hero,
.bv-news-hero,
.bv-careers-hero,
.bv-contact-hero,
.bv-proposal-page-hero,
.bv-quality-hero,
.bv-project-hero,
.bv-expertise-hero,
.bv-article-hero,
.bv-vacancy-hero,
.bv-profile-editorial-hero,
.bv-legal-hero,
.bv-search-hero {
    min-height: 0;
    height: auto;
    padding-top: calc(var(--header) + 72px);
    padding-bottom: 68px;
}

/* Hero content should not add extra vertical height. */
.bv-page-hero-content,
.bv-people-hero-content,
.bv-news-hero-content,
.bv-careers-hero-content,
.bv-contact-hero-content,
.bv-proposal-page-content,
.bv-quality-hero-content,
.bv-project-hero-content,
.bv-article-heading,
.bv-vacancy-hero-layout {
    padding-top: 0;
    padding-bottom: 0;
}

/* Reduce oversized hero facts and metadata spacing. */
.bv-news-hero-facts,
.bv-careers-hero-facts,
.bv-people-hero-facts,
.bv-vacancy-hero-meta {
    margin-top: 30px;
}

.bv-news-hero-facts > div,
.bv-careers-hero-facts > div,
.bv-people-hero-facts > div {
    padding-top: 16px;
    padding-bottom: 16px;
}

.bv-profile-back {
    margin-bottom: 30px;
}

/* Article and profile covers remain readable but compact. */
.bv-article-heading h1,
.bv-vacancy-hero h1,
.bv-profile-editorial-copy h1 {
    max-width: 1000px;
}

.bv-profile-editorial-grid {
    align-items: center;
}

/* Unified motion for every important button and action. */
.bv-button,
.bv-enquiry-submit,
.bv-newsletter-input-row button,
.bv-search-form button,
.bv-news-filters button,
.bv-vacancy-filters button,
.bv-vacancy-filter-empty button,
.bv-news-empty button,
.bv-menu-toggle,
.bv-back-to-top,
.bv-text-link,
.bv-news-read-link,
.bv-team-showcase-link,
.bv-vacancy-card-link,
.bv-footer-profile-link,
.bv-profile-social-link {
    position: relative;
    overflow: hidden;
    transition:
        color .28s ease,
        background-color .28s ease,
        border-color .28s ease,
        box-shadow .32s ease,
        transform .32s var(--bv-ease);
}

/* Navy buttons */
.bv-button-navy,
.bv-enquiry-submit,
.bv-vacancy-filters button,
.bv-vacancy-filter-empty button,
.bv-news-empty button {
    color: #fff;
    border-color: var(--navy-deep);
    background: var(--navy-deep);
}

.bv-button-navy:hover,
.bv-enquiry-submit:hover,
.bv-vacancy-filters button:hover,
.bv-vacancy-filter-empty button:hover,
.bv-news-empty button:hover {
    color: #fff;
    border-color: var(--navy-soft);
    background: var(--navy-soft);
    box-shadow: 0 14px 28px rgba(7,31,61,.22);
    transform: translateY(-3px);
}

/* Gold buttons */
.bv-button-gold,
.bv-newsletter-input-row button,
.bv-search-form button {
    color: var(--navy-deep);
    border-color: var(--gold);
    background: var(--gold);
}

.bv-button-gold:hover,
.bv-newsletter-input-row button:hover,
.bv-search-form button:hover {
    color: var(--navy-deep);
    border-color: var(--gold-bright);
    background: var(--gold-bright);
    box-shadow: 0 14px 28px rgba(201,152,35,.25);
    transform: translateY(-3px);
}

/* Outline buttons */
.bv-button-outline {
    color: inherit;
    border-color: currentColor;
    background: transparent;
}

.bv-button-outline:hover {
    color: var(--navy-deep);
    border-color: var(--gold);
    background: var(--gold);
    box-shadow: 0 14px 28px rgba(7,31,61,.16);
    transform: translateY(-3px);
}

/* Filter buttons */
.bv-news-filters button:hover,
.bv-news-filters button.is-active {
    color: #fff;
    border-color: var(--navy-deep);
    background: var(--navy-deep);
    box-shadow: 0 10px 20px rgba(7,31,61,.16);
    transform: translateY(-2px);
}

/* Text links and card actions */
.bv-text-link:hover,
.bv-news-read-link:hover,
.bv-team-showcase-link:hover,
.bv-vacancy-card-link:hover,
.bv-footer-profile-link:hover,
.bv-profile-social-link:hover {
    color: var(--gold-text);
}

.bv-text-link:hover span,
.bv-news-read-link:hover span,
.bv-team-showcase-link:hover i,
.bv-vacancy-card-link:hover i,
.bv-footer-profile-link:hover span,
.bv-profile-social-link:hover span {
    transform: translateX(5px);
}

/* Proposal button in header */
.bv-proposal-button {
    transition:
        color .28s ease,
        background-color .28s ease,
        border-color .28s ease,
        box-shadow .32s ease,
        transform .32s var(--bv-ease);
}

.bv-proposal-button:hover {
    color: var(--navy-deep);
    background: var(--gold-bright);
    box-shadow: 0 12px 24px rgba(201,152,35,.24);
    transform: translateY(-2px);
}

/* Form submit feedback */
.bv-enquiry-submit span,
.bv-button span,
.bv-newsletter-input-row button span,
.bv-search-form button span {
    display: inline-block;
    transition: transform .32s var(--bv-ease);
}

.bv-enquiry-submit:hover span,
.bv-button:hover span,
.bv-newsletter-input-row button:hover span,
.bv-search-form button:hover span {
    transform: translate(4px, -2px);
}

/* Mobile and tablet cover heights */
@media (max-width: 900px) {
    .bv-hero {
        min-height: 570px;
    }

    .bv-hero-content {
        padding-top: calc(var(--header) + 64px);
        padding-bottom: 58px;
    }

    .bv-page-hero,
    .bv-people-archive-hero,
    .bv-news-hero,
    .bv-careers-hero,
    .bv-contact-hero,
    .bv-proposal-page-hero,
    .bv-quality-hero,
    .bv-project-hero,
    .bv-expertise-hero,
    .bv-article-hero,
    .bv-vacancy-hero,
    .bv-profile-editorial-hero,
    .bv-legal-hero,
    .bv-search-hero {
        min-height: 0;
        padding-top: calc(var(--header) + 55px);
        padding-bottom: 54px;
    }

    .bv-news-hero-facts,
    .bv-careers-hero-facts,
    .bv-people-hero-facts,
    .bv-vacancy-hero-meta {
        margin-top: 24px;
    }
}

@media (max-width: 680px) {
    .bv-hero {
        min-height: 500px;
    }

    .bv-hero-content {
        padding-top: calc(var(--header) + 52px);
        padding-bottom: 46px;
    }

    .bv-page-hero,
    .bv-people-archive-hero,
    .bv-news-hero,
    .bv-careers-hero,
    .bv-contact-hero,
    .bv-proposal-page-hero,
    .bv-quality-hero,
    .bv-project-hero,
    .bv-expertise-hero,
    .bv-article-hero,
    .bv-vacancy-hero,
    .bv-profile-editorial-hero,
    .bv-legal-hero,
    .bv-search-hero {
        padding-top: calc(var(--header) + 42px);
        padding-bottom: 42px;
    }

    .bv-news-hero-facts,
    .bv-careers-hero-facts,
    .bv-people-hero-facts {
        display: none;
    }

    .bv-profile-back {
        margin-bottom: 22px;
    }

    .bv-button,
    .bv-enquiry-submit,
    .bv-newsletter-input-row button,
    .bv-search-form button {
        min-height: 48px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bv-button,
    .bv-enquiry-submit,
    .bv-newsletter-input-row button,
    .bv-search-form button,
    .bv-news-filters button,
    .bv-vacancy-filters button,
    .bv-vacancy-filter-empty button,
    .bv-news-empty button,
    .bv-menu-toggle,
    .bv-back-to-top,
    .bv-text-link,
    .bv-news-read-link,
    .bv-team-showcase-link,
    .bv-vacancy-card-link,
    .bv-footer-profile-link,
    .bv-profile-social-link,
    .bv-proposal-button,
    .bv-button span,
    .bv-enquiry-submit span,
    .bv-newsletter-input-row button span,
    .bv-search-form button span {
        transition: none !important;
    }
}


/* ==========================================================
   Phase 6.5 — Centered homepage slider and clearer About cover
   ========================================================== */

/* Homepage image slideshow */
.bv-hero-slider {
    position: relative;
    min-height: 620px;
    isolation: isolate;
    background: var(--navy-deep);
}

.bv-hero-slides,
.bv-hero-slide {
    position: absolute;
    inset: 0;
}

.bv-hero-slides {
    z-index: -3;
    overflow: hidden;
}

.bv-hero-slide {
    opacity: 0;
    background-position: center;
    background-size: cover;
    transform: scale(1.055);
    transition:
        opacity 1.2s ease,
        transform 8s linear;
}

.bv-hero-slide.is-active {
    opacity: 1;
    transform: scale(1);
}

.bv-hero-slide-fallback {
    background:
        radial-gradient(circle at 74% 28%, #245d8e, transparent 36%),
        linear-gradient(135deg, #0c3a69, #071f3d);
}

.bv-hero-slider .bv-hero-overlay {
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(4,20,39,.72), rgba(4,20,39,.43)),
        linear-gradient(0deg, rgba(4,20,39,.43), rgba(4,20,39,.18));
}

.bv-hero-slider .bv-hero-grid {
    z-index: -1;
}

/* Center the homepage message and both buttons */
.bv-hero-slider {
    align-items: center;
}

.bv-hero-slider .bv-hero-content {
    display: flex;
    max-width: 1050px;
    min-height: 620px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-top: calc(var(--header) + 54px);
    padding-bottom: 62px;
    text-align: center;
}

.bv-hero-slider .bv-eyebrow,
.bv-hero-slider h1,
.bv-hero-slider .bv-hero-text {
    margin-right: auto;
    margin-left: auto;
}

.bv-hero-slider h1 {
    max-width: 960px;
    font-size: clamp(3.1rem, 6vw, 6rem);
}

.bv-hero-slider .bv-hero-text {
    max-width: 720px;
    margin-bottom: 30px;
}

.bv-hero-slider .bv-hero-actions {
    justify-content: center;
}

/* Slider controls */
.bv-hero-slider-controls {
    position: absolute;
    right: 28px;
    bottom: 24px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 13px;
}

.bv-hero-slider-dots {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bv-hero-slider-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transition:
        width .3s var(--bv-ease),
        border-radius .3s ease,
        background .3s ease;
}

.bv-hero-slider-dots button.is-active {
    width: 28px;
    border-radius: 10px;
    border-color: var(--gold-bright);
    background: var(--gold-bright);
}

.bv-hero-slider-toggle {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 50%;
    color: #fff;
    background: rgba(4,20,39,.34);
    font: inherit;
    font-size: .72rem;
    cursor: pointer;
    backdrop-filter: blur(6px);
    transition:
        color .25s ease,
        border-color .25s ease,
        background .25s ease,
        transform .25s ease;
}

.bv-hero-slider-toggle:hover {
    color: var(--navy-deep);
    border-color: var(--gold);
    background: var(--gold);
    transform: translateY(-2px);
}

/* Reduce the empty area immediately below the homepage cover */
.bv-hero-slider + .bv-intro {
    padding-top: 44px;
}

.bv-hero-slider + .bv-intro .bv-intro-grid {
    padding-top: 0;
}

/* About cover: shorter, smaller copy, and much clearer photograph */
.bv-about-hero {
    min-height: 430px;
    align-items: center;
    background:
        var(--bv-inner-hero, none),
        linear-gradient(135deg, #0c3a69, #071f3d);
    background-position: center;
    background-size: cover;
}

.bv-about-hero .bv-inner-hero-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(4,20,39,.64) 0%,
            rgba(4,20,39,.40) 48%,
            rgba(4,20,39,.14) 100%
        );
}

.bv-about-hero .bv-inner-hero-content {
    padding-top: calc(var(--header) + 56px);
    padding-bottom: 54px;
}

.bv-about-hero h1 {
    max-width: 900px;
    margin-bottom: 18px;
    font-size: clamp(2.65rem, 4.75vw, 4.75rem);
    line-height: 1.02;
}

.bv-about-hero .bv-inner-hero-content > p:last-child {
    max-width: 670px;
    font-size: 1rem;
    line-height: 1.62;
}

/* Reduce the space between the About cover and the next section */
.bv-about-hero + .bv-editorial-intro {
    padding-top: 48px;
}

/* Tablet */
@media (max-width: 900px) {
    .bv-hero-slider,
    .bv-hero-slider .bv-hero-content {
        min-height: 550px;
    }

    .bv-hero-slider .bv-hero-content {
        padding-top: calc(var(--header) + 46px);
        padding-bottom: 54px;
    }

    .bv-hero-slider h1 {
        max-width: 790px;
    }

    .bv-about-hero {
        min-height: 390px;
    }

    .bv-about-hero h1 {
        font-size: clamp(2.45rem, 7.2vw, 4rem);
    }
}

/* Mobile */
@media (max-width: 680px) {
    .bv-hero-slider,
    .bv-hero-slider .bv-hero-content {
        min-height: 500px;
    }

    .bv-hero-slider .bv-hero-content {
        padding-top: calc(var(--header) + 42px);
        padding-bottom: 52px;
    }

    .bv-hero-slider h1 {
        font-size: clamp(2.55rem, 11vw, 3.8rem);
    }

    .bv-hero-slider .bv-hero-text {
        max-width: 520px;
        margin-bottom: 24px;
    }

    .bv-hero-slider .bv-hero-actions {
        width: min(100%, 370px);
    }

    .bv-hero-slider-controls {
        right: 14px;
        bottom: 13px;
    }

    .bv-hero-slider + .bv-intro {
        padding-top: 34px;
    }

    .bv-about-hero {
        min-height: 340px;
        align-items: flex-end;
    }

    .bv-about-hero .bv-inner-hero-content {
        padding-top: calc(var(--header) + 38px);
        padding-bottom: 38px;
    }

    .bv-about-hero h1 {
        max-width: 590px;
        font-size: clamp(2.15rem, 9.7vw, 3.15rem);
    }

    .bv-about-hero .bv-inner-hero-content > p:last-child {
        font-size: .94rem;
    }

    .bv-about-hero + .bv-editorial-intro {
        padding-top: 36px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bv-hero-slide {
        transition: none !important;
        transform: none !important;
    }

    .bv-hero-slide:not(:first-child) {
        display: none;
    }

    .bv-hero-slider-controls {
        display: none;
    }
}


/* ==========================================================
   Phase 6.7 — Restore Projects layout; retain About gradient
   ========================================================== */

/*
 * About cover keeps a controlled navy gradient on the text side while
 * leaving most of the photograph visible.
 */
.bv-about-hero {
    min-height: 400px;
}

.bv-about-hero .bv-inner-hero-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(4, 20, 39, .78) 0%,
            rgba(4, 20, 39, .66) 30%,
            rgba(4, 20, 39, .34) 48%,
            rgba(4, 20, 39, .08) 68%,
            rgba(4, 20, 39, 0) 82%
        );
}

.bv-about-hero .bv-inner-hero-content {
    padding-top: calc(var(--header) + 48px);
    padding-bottom: 45px;
}

.bv-about-hero h1 {
    max-width: 780px;
    font-size: clamp(2.5rem, 4.2vw, 4.15rem);
}

.bv-about-hero .bv-inner-hero-content > p:last-child {
    max-width: 610px;
}

@media (max-width: 720px) {
    .bv-about-hero {
        min-height: 320px;
    }

    .bv-about-hero .bv-inner-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(4, 20, 39, .76) 0%,
                rgba(4, 20, 39, .54) 48%,
                rgba(4, 20, 39, .15) 78%,
                rgba(4, 20, 39, 0) 100%
            );
    }

    .bv-about-hero h1 {
        font-size: clamp(2.05rem, 9vw, 2.95rem);
    }
}


/* ==========================================================
   Phase 6.8 — Construction-style covers
   Reference direction:
   bold commercial-construction landing style adapted to Big-Vision
   ========================================================== */

:root {
    --cover-accent: #d08b24;
    --cover-accent-strong: #ea9f2d;
    --cover-dark: #090f17;
    --cover-dark-soft: #101925;
}

/* ----------------------------------------------------------
   Shared cover language
   ---------------------------------------------------------- */
.bv-hero-slider,
.bv-about-hero,
.bv-project-index-hero,
.bv-project-story-hero {
    color: #fff;
    background-color: var(--cover-dark);
}

.bv-hero-slider .bv-eyebrow,
.bv-about-hero .bv-section-label,
.bv-project-index-copy .bv-section-label,
.bv-project-story-heading .bv-section-label {
    color: var(--cover-accent-strong);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.bv-hero-slider h1,
.bv-about-hero h1,
.bv-project-index-copy h1,
.bv-project-story-heading h1 {
    color: #fff;
    font-weight: 820;
    line-height: .95;
    letter-spacing: -.05em;
    text-wrap: balance;
}

.bv-hero-slider .bv-hero-text,
.bv-about-hero .bv-inner-hero-content > p:last-child,
.bv-project-index-intro,
.bv-project-story-meta {
    color: rgba(255,255,255,.82);
}

.bv-project-story-meta span,
.bv-project-index-stat span {
    color: rgba(255,255,255,.68);
}

/* ----------------------------------------------------------
   Homepage cover
   ---------------------------------------------------------- */
.bv-hero-slider {
    min-height: 680px;
}

.bv-hero-slider .bv-hero-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(6,12,18,.90) 0%,
            rgba(6,12,18,.76) 30%,
            rgba(6,12,18,.44) 56%,
            rgba(6,12,18,.12) 84%,
            rgba(6,12,18,0) 100%
        ),
        linear-gradient(
            0deg,
            rgba(6,12,18,.36) 0%,
            rgba(6,12,18,.18) 45%,
            rgba(6,12,18,.02) 100%
        );
}

.bv-hero-slider .bv-hero-content {
    align-items: flex-start;
    justify-content: center;
    max-width: min(100%, 730px);
    min-height: 680px;
    margin-left: 0;
    padding-top: calc(var(--header) + 48px);
    padding-bottom: 60px;
    text-align: left;
}

.bv-hero-slider h1 {
    max-width: 700px;
    margin-left: 0;
    font-size: clamp(3.6rem, 7vw, 6.2rem);
}

.bv-hero-slider .bv-hero-text {
    max-width: 610px;
    margin-left: 0;
    font-size: 1.06rem;
    line-height: 1.65;
}

.bv-hero-slider .bv-hero-actions {
    justify-content: flex-start;
}

.bv-hero-slider .bv-button-gold {
    color: var(--cover-dark);
    border-color: var(--cover-accent);
    background: var(--cover-accent);
}

.bv-hero-slider .bv-button-gold:hover {
    border-color: var(--cover-accent-strong);
    background: var(--cover-accent-strong);
}

.bv-hero-slider .bv-button-outline {
    color: #fff;
    border-color: rgba(255,255,255,.82);
}

.bv-hero-slider .bv-button-outline:hover {
    color: var(--cover-dark);
    border-color: #fff;
    background: #fff;
}

.bv-hero-slider-controls {
    right: 30px;
    bottom: 22px;
}

/* Pull the next section closer to the cover. */
.bv-hero-slider + .bv-intro {
    padding-top: 28px;
}

/* ----------------------------------------------------------
   About cover
   ---------------------------------------------------------- */
.bv-about-hero {
    min-height: 420px;
    align-items: center;
    background-position: center;
    background-size: cover;
}

.bv-about-hero .bv-inner-hero-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(6,12,18,.88) 0%,
            rgba(6,12,18,.74) 28%,
            rgba(6,12,18,.46) 50%,
            rgba(6,12,18,.14) 70%,
            rgba(6,12,18,0) 84%
        );
}

.bv-about-hero .bv-inner-hero-content {
    max-width: min(100%, 760px);
    margin-right: auto;
    margin-left: 0;
    padding-top: calc(var(--header) + 44px);
    padding-bottom: 44px;
    text-align: left;
}

.bv-about-hero h1 {
    max-width: 690px;
    margin-bottom: 16px;
    font-size: clamp(2.7rem, 5vw, 4.8rem);
}

.bv-about-hero .bv-inner-hero-content > p:last-child {
    max-width: 600px;
    font-size: 1rem;
    line-height: 1.62;
}

.bv-about-hero + .bv-editorial-intro {
    padding-top: 36px;
}

/* ----------------------------------------------------------
   Projects archive cover
   ---------------------------------------------------------- */
.bv-project-index-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, #09111b 0%, #101925 100%);
}

.bv-project-index-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(6,12,18,.92) 0%,
            rgba(6,12,18,.82) 28%,
            rgba(6,12,18,.58) 50%,
            rgba(6,12,18,.20) 72%,
            rgba(6,12,18,0) 100%
        );
    pointer-events: none;
}

.bv-project-index-grid {
    position: relative;
    z-index: 1;
    min-height: 520px;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    gap: clamp(28px, 4vw, 56px);
    align-items: center;
    padding-top: calc(var(--header) + 42px);
    padding-bottom: 44px;
}

.bv-project-index-copy {
    position: relative;
    z-index: 2;
    max-width: 700px;
    padding: 12px 0;
}

.bv-project-index-copy h1 {
    margin-bottom: 15px;
    font-size: clamp(3rem, 5.2vw, 5.2rem);
}

.bv-project-index-intro {
    max-width: 590px;
    margin-bottom: 24px;
    font-size: 1rem;
    line-height: 1.62;
}

.bv-project-index-stat {
    align-items: baseline;
    gap: 12px;
}

.bv-project-index-stat strong {
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(3.1rem, 4vw, 4.5rem);
    font-weight: 820;
    letter-spacing: -.05em;
}

.bv-project-index-stat span {
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.bv-project-index-visual {
    height: 340px;
    min-height: 0;
    border: 1px solid rgba(255,255,255,.12);
    background: #0f1723;
    box-shadow: 0 28px 56px rgba(0,0,0,.28);
}

.bv-project-index-visual-overlay {
    background:
        linear-gradient(
            0deg,
            rgba(6,12,18,.46) 0%,
            rgba(6,12,18,.08) 42%,
            rgba(6,12,18,0) 100%
        ),
        linear-gradient(
            90deg,
            rgba(6,12,18,.38) 0%,
            rgba(6,12,18,.08) 38%,
            rgba(6,12,18,0) 70%
        );
}

.bv-project-directory {
    padding-top: 24px;
}

/* ----------------------------------------------------------
   Single project cover
   ---------------------------------------------------------- */
.bv-project-story-hero {
    min-height: 540px;
}

.bv-project-story-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(6,12,18,.90) 0%,
            rgba(6,12,18,.76) 34%,
            rgba(6,12,18,.42) 58%,
            rgba(6,12,18,.12) 82%,
            rgba(6,12,18,0) 100%
        ),
        linear-gradient(
            0deg,
            rgba(6,12,18,.56) 0%,
            rgba(6,12,18,.16) 52%,
            rgba(6,12,18,.04) 100%
        );
}

.bv-project-story-content {
    display: flex;
    min-height: 540px;
    flex-direction: column;
    justify-content: center;
    padding-top: calc(var(--header) + 44px);
    padding-bottom: 48px;
}

.bv-project-back {
    align-self: flex-start;
    margin-bottom: 26px;
    color: rgba(255,255,255,.78);
}

.bv-project-back:hover {
    color: var(--cover-accent-strong);
}

.bv-project-story-heading {
    max-width: 760px;
}

.bv-project-story-heading h1 {
    margin-bottom: 14px;
    font-size: clamp(3rem, 5.6vw, 5.6rem);
}

.bv-project-story-meta {
    gap: 10px 14px;
}

.bv-project-story-meta span {
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(6px);
}

/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */
@media (max-width: 960px) {
    .bv-hero-slider,
    .bv-hero-slider .bv-hero-content {
        min-height: 600px;
    }

    .bv-hero-slider .bv-hero-content {
        max-width: 640px;
        padding-top: calc(var(--header) + 38px);
        padding-bottom: 52px;
    }

    .bv-about-hero {
        min-height: 380px;
    }

    .bv-project-index-grid {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 26px;
        padding-top: calc(var(--header) + 28px);
        padding-bottom: 36px;
    }

    .bv-project-index-copy {
        max-width: 680px;
    }

    .bv-project-index-visual {
        max-width: 640px;
        height: 300px;
    }

    .bv-project-story-hero,
    .bv-project-story-content {
        min-height: 480px;
    }

    .bv-project-story-heading {
        max-width: 680px;
    }
}

/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */
@media (max-width: 680px) {
    .bv-hero-slider,
    .bv-hero-slider .bv-hero-content {
        min-height: 530px;
    }

    .bv-hero-slider .bv-hero-content {
        max-width: 100%;
        padding-top: calc(var(--header) + 34px);
        padding-bottom: 44px;
    }

    .bv-hero-slider h1 {
        font-size: clamp(2.65rem, 12vw, 4rem);
    }

    .bv-hero-slider .bv-hero-text {
        max-width: 100%;
        font-size: .97rem;
    }

    .bv-hero-slider .bv-hero-actions {
        width: min(100%, 360px);
    }

    .bv-about-hero {
        min-height: 320px;
    }

    .bv-about-hero .bv-inner-hero-content {
        max-width: 100%;
        padding-top: calc(var(--header) + 34px);
        padding-bottom: 34px;
    }

    .bv-about-hero h1 {
        font-size: clamp(2.2rem, 10vw, 3.25rem);
    }

    .bv-project-index-grid {
        gap: 22px;
        padding-top: calc(var(--header) + 22px);
        padding-bottom: 28px;
    }

    .bv-project-index-copy h1 {
        font-size: clamp(2.6rem, 11vw, 4rem);
    }

    .bv-project-index-intro {
        font-size: .95rem;
    }

    .bv-project-index-visual {
        height: 250px;
        max-width: 100%;
    }

    .bv-project-story-hero,
    .bv-project-story-content {
        min-height: 420px;
    }

    .bv-project-story-content {
        padding-top: calc(var(--header) + 30px);
        padding-bottom: 34px;
    }

    .bv-project-story-heading h1 {
        font-size: clamp(2.45rem, 10.4vw, 3.8rem);
    }
}

@media (max-width: 420px) {
    .bv-project-index-visual {
        height: 220px;
    }

    .bv-project-story-hero,
    .bv-project-story-content {
        min-height: 390px;
    }
}


/* ==========================================================
   Phase 6.9 — Restore Projects and redesign About
   ========================================================== */

/* ----------------------------------------------------------
   About: new split layout with previous Big-Vision navy
   ---------------------------------------------------------- */
.bv-about-split-hero {
    position: relative;
    display: grid;
    min-height: 455px;
    grid-template-columns: minmax(0, 46%) minmax(0, 54%);
    overflow: hidden;
    color: #fff;
    background: var(--navy-deep);
}

.bv-about-split-copy {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 18% 20%, rgba(211,166,44,.10), transparent 28%),
        linear-gradient(135deg, #071f3d 0%, #0b3566 100%);
}

.bv-about-split-pattern {
    position: absolute;
    inset: 0;
    opacity: .14;
    background-image:
        linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px);
    background-size: 72px 72px;
}

.bv-about-split-copy-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-top: calc(var(--header) + 52px);
    padding-right: clamp(34px, 5vw, 78px);
    padding-bottom: 54px;
}

.bv-about-split-copy .bv-section-label {
    color: var(--gold-bright);
}

.bv-about-split-copy h1 {
    max-width: 720px;
    margin-bottom: 20px;
    color: #fff;
    font-size: clamp(2.65rem, 4.5vw, 4.65rem);
    font-weight: 780;
    line-height: 1.01;
    letter-spacing: -.045em;
}

.bv-about-split-copy p:not(.bv-section-label) {
    max-width: 610px;
    margin-bottom: 0;
    color: rgba(255,255,255,.75);
    font-size: 1rem;
    line-height: 1.68;
}

.bv-about-split-image {
    position: relative;
    min-height: 455px;
    background:
        var(--bv-inner-hero, none),
        linear-gradient(135deg, #1a4f7f, #071f3d);
    background-position: center;
    background-size: cover;
}

.bv-about-split-image-gradient {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(11,53,102,.56) 0%,
            rgba(11,53,102,.22) 14%,
            rgba(11,53,102,0) 34%
        ),
        linear-gradient(
            0deg,
            rgba(7,31,61,.36) 0%,
            rgba(7,31,61,0) 42%
        );
}

.bv-about-split-image-label {
    position: absolute;
    right: 28px;
    bottom: 25px;
    display: flex;
    align-items: flex-end;
    gap: 12px;
    padding: 14px 17px;
    border-left: 3px solid var(--gold);
    color: #fff;
    background: rgba(7,31,61,.70);
    backdrop-filter: blur(8px);
}

.bv-about-split-image-label span {
    color: var(--gold-bright);
    font-size: 2.1rem;
    font-weight: 800;
    line-height: 1;
}

.bv-about-split-image-label small {
    max-width: 145px;
    color: rgba(255,255,255,.78);
    font-size: .68rem;
    font-weight: 750;
    line-height: 1.35;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.bv-about-split-hero + .bv-editorial-intro {
    padding-top: 38px;
}

/* ----------------------------------------------------------
   Restore Projects archive to the earlier Phase 6.5 layout
   ---------------------------------------------------------- */
.bv-project-index-hero {
    position: relative;
    min-height: initial;
    overflow: hidden;
    padding-top: 0;
    background: var(--navy-deep);
}

.bv-project-index-hero::before {
    display: none;
}

.bv-project-index-grid {
    position: relative;
    z-index: auto;
    min-height: 620px;
    grid-template-columns: minmax(0, .82fr) minmax(430px, 1.18fr);
    gap: 0;
    align-items: stretch;
    padding-top: 0;
    padding-bottom: 0;
}

.bv-project-index-copy {
    position: relative;
    z-index: auto;
    display: flex;
    max-width: none;
    flex-direction: column;
    justify-content: center;
    padding: calc(var(--header) + 65px) clamp(45px, 6vw, 90px) 72px 0;
}

.bv-project-index-copy .bv-section-label {
    color: var(--gold);
}

.bv-project-index-copy h1 {
    margin-bottom: 24px;
    color: #fff;
    font-size: clamp(3.4rem, 6vw, 6.4rem);
    font-weight: 760;
    line-height: .96;
    letter-spacing: -.05em;
}

.bv-project-index-intro {
    max-width: 660px;
    margin-bottom: 38px;
    color: rgba(255,255,255,.70);
    font-size: 1.04rem;
    line-height: 1.72;
}

.bv-project-index-stat {
    display: flex;
    align-items: baseline;
    gap: 17px;
}

.bv-project-index-stat strong {
    color: #fff;
    font-size: 4.2rem;
    font-weight: 750;
}

.bv-project-index-stat span {
    max-width: 130px;
    color: rgba(255,255,255,.58);
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-project-index-visual {
    position: relative;
    width: auto;
    height: auto;
    min-height: 620px;
    overflow: hidden;
    border: 0;
    background: #10243a;
    box-shadow: none;
}

.bv-project-index-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.bv-project-index-visual-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(7,31,61,.55) 0%,
            rgba(7,31,61,.15) 24%,
            rgba(7,31,61,0) 48%
        ),
        linear-gradient(
            0deg,
            rgba(4,20,39,.30),
            transparent 52%
        );
}

.bv-project-directory {
    padding-top: clamp(72px, 8vw, 115px);
}

/* ----------------------------------------------------------
   Restore individual project cover
   ---------------------------------------------------------- */
.bv-project-story-hero {
    position: relative;
    min-height: 720px;
    overflow: hidden;
}

.bv-project-story-image,
.bv-project-story-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.bv-project-story-image img {
    object-fit: cover;
}

.bv-project-story-overlay {
    background:
        linear-gradient(
            0deg,
            rgba(4,20,39,.88) 0%,
            rgba(4,20,39,.42) 48%,
            rgba(4,20,39,.08) 100%
        ),
        linear-gradient(
            90deg,
            rgba(4,20,39,.62),
            transparent 72%
        );
}

.bv-project-story-content {
    position: relative;
    z-index: 2;
    display: block;
    min-height: 720px;
    padding-top: calc(var(--header) + 58px);
    padding-bottom: 70px;
}

.bv-project-back {
    display: inline-flex;
    margin-bottom: clamp(165px, 27vh, 270px);
    color: rgba(255,255,255,.78);
}

.bv-project-story-heading {
    max-width: 1050px;
}

.bv-project-story-heading .bv-section-label {
    color: var(--gold-bright);
}

.bv-project-story-heading h1 {
    max-width: 1030px;
    margin-bottom: 23px;
    color: #fff;
    font-size: clamp(3.15rem, 6vw, 6.3rem);
    font-weight: 770;
    line-height: .98;
    letter-spacing: -.05em;
}

.bv-project-story-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 12px;
}

.bv-project-story-meta span {
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.20);
    color: rgba(255,255,255,.78);
    background: rgba(4,20,39,.30);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */
@media (max-width: 1050px) {
    .bv-about-split-hero {
        grid-template-columns: minmax(0, 52%) minmax(0, 48%);
    }

    .bv-about-split-copy-inner {
        padding-right: 34px;
    }

    .bv-project-index-grid {
        min-height: 560px;
        grid-template-columns: 1fr 1fr;
    }

    .bv-project-index-copy {
        padding-right: 40px;
    }

    .bv-project-index-visual {
        min-height: 560px;
    }

    .bv-project-story-hero,
    .bv-project-story-content {
        min-height: 620px;
    }

    .bv-project-back {
        margin-bottom: 150px;
    }
}

/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */
@media (max-width: 720px) {
    .bv-about-split-hero {
        grid-template-columns: 1fr;
    }

    .bv-about-split-copy-inner {
        padding-top: calc(var(--header) + 40px);
        padding-right: 0;
        padding-bottom: 38px;
    }

    .bv-about-split-copy h1 {
        font-size: clamp(2.2rem, 10vw, 3.35rem);
    }

    .bv-about-split-image {
        min-height: 270px;
    }

    .bv-about-split-image-gradient {
        background:
            linear-gradient(
                0deg,
                rgba(7,31,61,.42),
                rgba(7,31,61,0) 50%
            );
    }

    .bv-about-split-image-label {
        right: 14px;
        bottom: 14px;
    }

    .bv-project-index-grid {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .bv-project-index-copy {
        padding: calc(var(--header) + 35px) 0 38px;
    }

    .bv-project-index-copy h1 {
        font-size: clamp(2.8rem, 12vw, 4.2rem);
    }

    .bv-project-index-visual {
        min-height: 310px;
    }

    .bv-project-directory {
        padding-top: 62px;
    }

    .bv-project-story-hero,
    .bv-project-story-content {
        min-height: 520px;
    }

    .bv-project-story-content {
        padding-top: calc(var(--header) + 34px);
        padding-bottom: 42px;
    }

    .bv-project-back {
        margin-bottom: 110px;
    }

    .bv-project-story-heading h1 {
        font-size: clamp(2.5rem, 10.5vw, 4rem);
    }
}

@media (max-width: 420px) {
    .bv-project-index-visual {
        min-height: 270px;
    }

    .bv-project-story-hero,
    .bv-project-story-content {
        min-height: 490px;
    }

    .bv-project-back {
        margin-bottom: 90px;
    }
}


/* ==========================================================
   Phase 6.10 — Unified Big-Vision gradient and text spacing
   ========================================================== */

:root {
    --bv-brand-navy-deep: #071f3d;
    --bv-brand-navy: #0b3566;
    --bv-brand-navy-light: #174f80;
    --bv-brand-gold: #d3a62c;

    --bv-cover-gradient-left:
        linear-gradient(
            90deg,
            rgba(7,31,61,.93) 0%,
            rgba(7,31,61,.82) 30%,
            rgba(11,53,102,.58) 55%,
            rgba(11,53,102,.22) 78%,
            rgba(11,53,102,0) 100%
        );

    --bv-cover-gradient-bottom:
        linear-gradient(
            0deg,
            rgba(7,31,61,.52) 0%,
            rgba(7,31,61,.18) 45%,
            rgba(7,31,61,0) 78%
        );

    --bv-cover-gradient-balanced:
        linear-gradient(
            115deg,
            rgba(7,31,61,.92) 0%,
            rgba(11,53,102,.68) 50%,
            rgba(23,79,128,.32) 100%
        );
}

/* ----------------------------------------------------------
   One brand gradient across all photographic cover sections
   ---------------------------------------------------------- */
.bv-hero-slider .bv-hero-overlay,
.bv-about-split-image-gradient,
.bv-project-index-visual-overlay,
.bv-project-story-overlay,
.bv-people-hero-overlay,
.bv-news-hero-overlay,
.bv-careers-hero-overlay,
.bv-contact-hero-overlay,
.bv-proposal-page-overlay,
.bv-quality-hero-overlay,
.bv-inner-hero-overlay {
    background:
        var(--bv-cover-gradient-left),
        var(--bv-cover-gradient-bottom);
}

/* Covers with a full navy background use the same brand tones. */
.bv-about-split-copy,
.bv-article-hero,
.bv-vacancy-hero,
.bv-profile-editorial-hero,
.bv-legal-hero,
.bv-search-hero,
.bv-not-found,
.bv-project-index-hero {
    background:
        radial-gradient(
            circle at 82% 16%,
            rgba(211,166,44,.12),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            var(--bv-brand-navy-deep) 0%,
            var(--bv-brand-navy) 72%,
            var(--bv-brand-navy-light) 100%
        );
}

/* About split image should only receive a small joining gradient. */
.bv-about-split-image-gradient {
    background:
        linear-gradient(
            90deg,
            rgba(11,53,102,.56) 0%,
            rgba(11,53,102,.23) 15%,
            rgba(11,53,102,0) 34%
        ),
        linear-gradient(
            0deg,
            rgba(7,31,61,.30) 0%,
            rgba(7,31,61,0) 42%
        );
}

/* Projects split cover keeps the photo visible but uses the same navy. */
.bv-project-index-visual-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(11,53,102,.58) 0%,
            rgba(11,53,102,.19) 25%,
            rgba(11,53,102,0) 52%
        ),
        linear-gradient(
            0deg,
            rgba(7,31,61,.30),
            rgba(7,31,61,0) 55%
        );
}

/* Single project cover uses the same navy instead of black. */
.bv-project-story-overlay {
    background:
        linear-gradient(
            0deg,
            rgba(7,31,61,.88) 0%,
            rgba(7,31,61,.43) 48%,
            rgba(11,53,102,.10) 100%
        ),
        linear-gradient(
            90deg,
            rgba(7,31,61,.72) 0%,
            rgba(11,53,102,.42) 43%,
            rgba(11,53,102,0) 76%
        );
}

/* Homepage uses the same Big-Vision gradient over every slide. */
.bv-hero-slider .bv-hero-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(7,31,61,.92) 0%,
            rgba(7,31,61,.78) 30%,
            rgba(11,53,102,.50) 57%,
            rgba(11,53,102,.14) 84%,
            rgba(11,53,102,0) 100%
        ),
        linear-gradient(
            0deg,
            rgba(7,31,61,.40) 0%,
            rgba(7,31,61,.12) 48%,
            rgba(7,31,61,0) 100%
        );
}

/* ----------------------------------------------------------
   Consistent spacing inside every cover
   ---------------------------------------------------------- */
.bv-hero-slider .bv-eyebrow,
.bv-about-split-copy .bv-section-label,
.bv-project-index-copy .bv-section-label,
.bv-project-story-heading .bv-section-label,
.bv-people-hero-content .bv-section-label,
.bv-news-hero-content .bv-section-label,
.bv-careers-hero-content .bv-section-label,
.bv-contact-hero-content .bv-section-label,
.bv-proposal-page-content .bv-section-label,
.bv-quality-hero-content .bv-section-label,
.bv-article-heading .bv-article-kicker,
.bv-vacancy-hero .bv-section-label,
.bv-profile-editorial-copy .bv-section-label,
.bv-legal-hero-content .bv-section-label,
.bv-search-hero .bv-section-label,
.bv-not-found-copy .bv-section-label {
    margin-bottom: 20px;
}

.bv-hero-slider h1,
.bv-about-split-copy h1,
.bv-project-index-copy h1,
.bv-project-story-heading h1,
.bv-people-hero-content h1,
.bv-news-hero-content h1,
.bv-careers-hero-content h1,
.bv-contact-hero-content h1,
.bv-proposal-page-content h1,
.bv-quality-hero-content h1,
.bv-article-heading h1,
.bv-vacancy-hero h1,
.bv-profile-editorial-copy h1,
.bv-legal-hero h1,
.bv-search-hero h1,
.bv-not-found-copy h1 {
    margin-bottom: 26px;
}

.bv-hero-slider .bv-hero-text,
.bv-about-split-copy p:not(.bv-section-label),
.bv-project-index-intro,
.bv-people-hero-content > p:not(.bv-section-label),
.bv-news-hero-content > p:not(.bv-section-label),
.bv-careers-hero-content > p:not(.bv-section-label),
.bv-contact-hero-content > p:not(.bv-section-label),
.bv-proposal-page-content > p:not(.bv-section-label),
.bv-quality-hero-content > p:not(.bv-section-label),
.bv-article-lead,
.bv-vacancy-lead,
.bv-profile-editorial-intro,
.bv-legal-hero-content > p:not(.bv-section-label),
.bv-not-found-copy > p:not(.bv-section-label) {
    margin-bottom: 0;
    line-height: 1.76;
}

/* Space between cover description and actions or facts. */
.bv-hero-actions,
.bv-profile-editorial-actions,
.bv-not-found-actions {
    margin-top: 34px;
    gap: 14px;
}

.bv-news-hero-facts,
.bv-careers-hero-facts,
.bv-people-hero-facts,
.bv-vacancy-hero-meta,
.bv-project-index-stat,
.bv-project-story-meta,
.bv-profile-editorial-facts,
.bv-article-byline {
    margin-top: 34px;
}

/* ----------------------------------------------------------
   Better spacing in normal page content
   ---------------------------------------------------------- */
.bv-section-heading,
.bv-team-showcase-heading,
.bv-news-directory-heading,
.bv-vacancy-directory-heading {
    margin-bottom: 58px;
}

.bv-section-heading .bv-section-label,
.bv-team-showcase-heading .bv-section-label,
.bv-news-directory-heading .bv-section-label,
.bv-vacancy-directory-heading .bv-section-label {
    margin-bottom: 18px;
}

.bv-section-heading h2,
.bv-team-showcase-heading h2,
.bv-news-directory-heading h2,
.bv-vacancy-directory-heading h2 {
    margin-bottom: 20px;
}

.bv-section-heading p,
.bv-team-showcase-intro,
.bv-news-directory-heading p,
.bv-vacancy-directory-heading p {
    line-height: 1.72;
}

/* Paragraph rhythm */
.bv-entry-content p,
.bv-article-content p,
.bv-vacancy-content p,
.bv-legal-content p,
.bv-intro-copy p,
.bv-project-index-intro,
.bv-profile-editorial-intro {
    margin-bottom: 1.35em;
}

.bv-entry-content p:last-child,
.bv-article-content p:last-child,
.bv-vacancy-content p:last-child,
.bv-legal-content p:last-child,
.bv-intro-copy p:last-child {
    margin-bottom: 0;
}

/* Headings inside articles and information pages. */
.bv-entry-content h2,
.bv-article-content h2,
.bv-vacancy-content h2,
.bv-legal-content h2 {
    margin-top: 2em;
    margin-bottom: .65em;
}

.bv-entry-content h2:first-child,
.bv-article-content h2:first-child,
.bv-vacancy-content h2:first-child,
.bv-legal-content h2:first-child {
    margin-top: 0;
}

.bv-entry-content h3,
.bv-article-content h3,
.bv-vacancy-content h3,
.bv-legal-content h3 {
    margin-top: 1.65em;
    margin-bottom: .55em;
}

/* Lists should not feel compressed. */
.bv-entry-content ul,
.bv-entry-content ol,
.bv-article-content ul,
.bv-article-content ol,
.bv-vacancy-content ul,
.bv-vacancy-content ol {
    margin-top: 1em;
    margin-bottom: 1.5em;
}

.bv-entry-content li,
.bv-article-content li,
.bv-vacancy-content li {
    margin-bottom: .72em;
}

/* Card text rhythm */
.bv-project-content h3,
.bv-news-editorial-copy h3,
.bv-team-showcase-details h3,
.bv-vacancy-card-main h3,
.bv-expertise-card h3,
.bv-related-news-copy h3,
.bv-related-vacancy-card h3 {
    margin-bottom: 15px;
}

.bv-project-content p,
.bv-news-editorial-copy > p,
.bv-team-showcase-summary,
.bv-vacancy-card-main > p,
.bv-expertise-card p {
    margin-bottom: 20px;
    line-height: 1.7;
}

/* Footer spacing */
.bv-footer-heading {
    margin-bottom: 24px;
}

.bv-footer-menu,
.bv-footer-contact,
.bv-footer-company {
    gap: 13px;
}

.bv-footer-introduction > p {
    margin-top: 28px;
    margin-bottom: 28px;
    line-height: 1.75;
}

/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */
@media (max-width: 900px) {
    .bv-hero-slider .bv-eyebrow,
    .bv-about-split-copy .bv-section-label,
    .bv-project-index-copy .bv-section-label,
    .bv-project-story-heading .bv-section-label,
    .bv-people-hero-content .bv-section-label,
    .bv-news-hero-content .bv-section-label,
    .bv-careers-hero-content .bv-section-label,
    .bv-contact-hero-content .bv-section-label,
    .bv-proposal-page-content .bv-section-label,
    .bv-quality-hero-content .bv-section-label {
        margin-bottom: 16px;
    }

    .bv-hero-slider h1,
    .bv-about-split-copy h1,
    .bv-project-index-copy h1,
    .bv-project-story-heading h1,
    .bv-people-hero-content h1,
    .bv-news-hero-content h1,
    .bv-careers-hero-content h1,
    .bv-contact-hero-content h1,
    .bv-proposal-page-content h1,
    .bv-quality-hero-content h1 {
        margin-bottom: 21px;
    }

    .bv-hero-actions,
    .bv-profile-editorial-actions,
    .bv-not-found-actions {
        margin-top: 28px;
    }

    .bv-section-heading,
    .bv-team-showcase-heading,
    .bv-news-directory-heading,
    .bv-vacancy-directory-heading {
        margin-bottom: 46px;
    }
}

/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */
@media (max-width: 680px) {
    .bv-hero-slider .bv-eyebrow,
    .bv-about-split-copy .bv-section-label,
    .bv-project-index-copy .bv-section-label,
    .bv-project-story-heading .bv-section-label,
    .bv-people-hero-content .bv-section-label,
    .bv-news-hero-content .bv-section-label,
    .bv-careers-hero-content .bv-section-label,
    .bv-contact-hero-content .bv-section-label,
    .bv-proposal-page-content .bv-section-label,
    .bv-quality-hero-content .bv-section-label {
        margin-bottom: 13px;
    }

    .bv-hero-slider h1,
    .bv-about-split-copy h1,
    .bv-project-index-copy h1,
    .bv-project-story-heading h1,
    .bv-people-hero-content h1,
    .bv-news-hero-content h1,
    .bv-careers-hero-content h1,
    .bv-contact-hero-content h1,
    .bv-proposal-page-content h1,
    .bv-quality-hero-content h1 {
        margin-bottom: 17px;
    }

    .bv-hero-slider .bv-hero-text,
    .bv-about-split-copy p:not(.bv-section-label),
    .bv-project-index-intro,
    .bv-people-hero-content > p:not(.bv-section-label),
    .bv-news-hero-content > p:not(.bv-section-label),
    .bv-careers-hero-content > p:not(.bv-section-label),
    .bv-contact-hero-content > p:not(.bv-section-label),
    .bv-proposal-page-content > p:not(.bv-section-label),
    .bv-quality-hero-content > p:not(.bv-section-label) {
        line-height: 1.68;
    }

    .bv-hero-actions,
    .bv-profile-editorial-actions,
    .bv-not-found-actions {
        margin-top: 24px;
        gap: 10px;
    }

    .bv-news-hero-facts,
    .bv-careers-hero-facts,
    .bv-people-hero-facts,
    .bv-vacancy-hero-meta,
    .bv-project-index-stat,
    .bv-project-story-meta,
    .bv-profile-editorial-facts,
    .bv-article-byline {
        margin-top: 26px;
    }

    .bv-section-heading,
    .bv-team-showcase-heading,
    .bv-news-directory-heading,
    .bv-vacancy-directory-heading {
        margin-bottom: 38px;
    }

    .bv-entry-content p,
    .bv-article-content p,
    .bv-vacancy-content p,
    .bv-legal-content p {
        margin-bottom: 1.2em;
    }
}


/* ==========================================================
   Phase 6.11 — Centered cover blocks and softer faded gradients
   ========================================================== */

/* ----------------------------------------------------------
   Homepage:
   Move the full content block slightly inward toward the centre.
   ---------------------------------------------------------- */
.bv-hero-slider .bv-hero-content {
    max-width: min(100%, 760px);
    margin-left: clamp(50px, 8vw, 150px);
    margin-right: auto;
    padding-top: calc(var(--header) + 54px);
}

.bv-hero-slider h1 {
    max-width: 720px;
}

.bv-hero-slider .bv-hero-text {
    max-width: 620px;
}

.bv-hero-slider .bv-hero-actions {
    gap: 15px;
}

/* Keep mobile clean and natural */
@media (max-width: 900px) {
    .bv-hero-slider .bv-hero-content {
        margin-left: clamp(18px, 4vw, 38px);
        padding-top: calc(var(--header) + 40px);
    }
}

@media (max-width: 680px) {
    .bv-hero-slider .bv-hero-content {
        margin-left: 0;
    }
}

/* ----------------------------------------------------------
   About:
   Pull the text panel content slightly toward the centre.
   Also soften the join gradient to a more faded transition.
   ---------------------------------------------------------- */
.bv-about-split-copy-inner {
    max-width: 760px;
    margin-left: auto;
    margin-right: 0;
    padding-left: clamp(22px, 3vw, 44px);
    padding-right: clamp(34px, 5vw, 92px);
}

.bv-about-split-copy h1 {
    max-width: 650px;
}

.bv-about-split-copy p:not(.bv-section-label) {
    max-width: 560px;
}

.bv-about-split-image-gradient {
    background:
        linear-gradient(
            90deg,
            rgba(11,53,102,.42) 0%,
            rgba(11,53,102,.22) 12%,
            rgba(11,53,102,.10) 22%,
            rgba(11,53,102,.03) 32%,
            rgba(11,53,102,0) 44%
        ),
        linear-gradient(
            0deg,
            rgba(7,31,61,.24) 0%,
            rgba(7,31,61,.08) 26%,
            rgba(7,31,61,0) 52%
        );
}

/* ----------------------------------------------------------
   Projects:
   Use the same brand colour, but fade more gently on both
   the archive cover image and the single-project cover.
   ---------------------------------------------------------- */
.bv-project-index-visual-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(11,53,102,.46) 0%,
            rgba(11,53,102,.22) 16%,
            rgba(11,53,102,.10) 32%,
            rgba(11,53,102,.03) 45%,
            rgba(11,53,102,0) 58%
        ),
        linear-gradient(
            0deg,
            rgba(7,31,61,.24) 0%,
            rgba(7,31,61,.08) 28%,
            rgba(7,31,61,0) 56%
        );
}

.bv-project-story-overlay {
    background:
        linear-gradient(
            0deg,
            rgba(7,31,61,.82) 0%,
            rgba(7,31,61,.38) 42%,
            rgba(11,53,102,.12) 72%,
            rgba(11,53,102,0) 100%
        ),
        linear-gradient(
            90deg,
            rgba(7,31,61,.62) 0%,
            rgba(11,53,102,.34) 28%,
            rgba(11,53,102,.12) 48%,
            rgba(11,53,102,0) 72%
        );
}

/* Slightly more breathing room in project cover text */
.bv-project-index-copy h1,
.bv-project-story-heading h1 {
    margin-bottom: 28px;
}

.bv-project-index-intro {
    margin-bottom: 42px;
}

.bv-project-story-meta {
    margin-top: 30px;
}

/* ----------------------------------------------------------
   Tablet / mobile balance for About
   ---------------------------------------------------------- */
@media (max-width: 1050px) {
    .bv-about-split-copy-inner {
        padding-left: 0;
        padding-right: 34px;
    }
}

@media (max-width: 720px) {
    .bv-about-split-copy-inner {
        max-width: 100%;
        margin-left: 0;
        padding-right: 0;
    }

    .bv-about-split-image-gradient {
        background:
            linear-gradient(
                0deg,
                rgba(7,31,61,.28) 0%,
                rgba(7,31,61,.08) 26%,
                rgba(7,31,61,0) 58%
            );
    }

    .bv-project-index-visual-overlay {
        background:
            linear-gradient(
                0deg,
                rgba(7,31,61,.24) 0%,
                rgba(7,31,61,.08) 28%,
                rgba(7,31,61,0) 60%
            );
    }
}


/* ==========================================================
   Phase 6.12 — Nahda-inspired compact typography
   ========================================================== */

:root {
    --font-display:
        "Poppins",
        "Segoe UI",
        Arial,
        sans-serif;

    --font-body:
        "Poppins",
        "Segoe UI",
        Arial,
        sans-serif;

    --heading-1: clamp(2.9rem, 5.25vw, 5.35rem);
    --heading-2: clamp(2rem, 3.65vw, 3.75rem);
    --heading-3: clamp(1.28rem, 1.85vw, 1.78rem);

    --text-xs: .68rem;
    --text-sm: .81rem;
    --text-base: .98rem;
    --text-lead: clamp(1rem, 1.2vw, 1.1rem);
}

/* Base */
html {
    font-size: 16px;
}

body {
    font-family: var(--font-body);
    font-size: .98rem;
    font-weight: 400;
    line-height: 1.72;
    letter-spacing: 0;
}

p,
li,
dd,
input,
select,
textarea,
button,
a {
    font-family: var(--font-body);
}

p {
    line-height: 1.72;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -.032em;
}

h1 {
    font-size: var(--heading-1);
    line-height: 1.01;
}

h2 {
    font-size: var(--heading-2);
    line-height: 1.08;
}

h3 {
    font-size: var(--heading-3);
    line-height: 1.18;
}

/* Main cover headings */
.bv-hero-slider h1,
.bv-about-split-copy h1,
.bv-project-index-copy h1,
.bv-project-story-heading h1,
.bv-people-hero-content h1,
.bv-news-hero-content h1,
.bv-careers-hero-content h1,
.bv-contact-hero-content h1,
.bv-proposal-page-content h1,
.bv-quality-hero-content h1,
.bv-article-heading h1,
.bv-vacancy-hero h1,
.bv-profile-editorial-copy h1,
.bv-legal-hero h1,
.bv-search-hero h1,
.bv-not-found-copy h1 {
    font-size: var(--heading-1);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -.042em;
}

/* Homepage remains strong but not oversized */
.bv-hero-slider h1 {
    max-width: 700px;
    font-size: clamp(3rem, 5.5vw, 5.45rem);
}

.bv-hero-slider .bv-hero-text {
    max-width: 610px;
    font-size: 1rem;
    line-height: 1.72;
}

/* About and Projects covers */
.bv-about-split-copy h1 {
    max-width: 650px;
    font-size: clamp(2.55rem, 4.25vw, 4.25rem);
}

.bv-project-index-copy h1 {
    font-size: clamp(2.9rem, 5vw, 5.15rem);
}

.bv-project-story-heading h1 {
    font-size: clamp(2.9rem, 5.35vw, 5.5rem);
}

/* Internal section headings */
.bv-section-heading h2,
.bv-team-showcase-heading h2,
.bv-news-directory-heading h2,
.bv-vacancy-directory-heading h2,
.bv-intro-grid h2,
.bv-people-intro-grid h2,
.bv-careers-intro-grid h2,
.bv-quality-intro-grid h2 {
    font-size: clamp(1.95rem, 3.4vw, 3.5rem);
    font-weight: 700;
    line-height: 1.1;
}

/* Labels */
.bv-section-label,
.bv-eyebrow,
.bv-news-card-meta,
.bv-project-meta,
.bv-article-kicker,
.bv-vacancy-card-meta {
    font-size: .67rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .105em;
}

/* Navigation */
.bv-logo-text {
    font-family: var(--font-display);
    font-size: 1.18rem;
    font-weight: 700;
}

.bv-menu a {
    font-size: .79rem;
    font-weight: 600;
    letter-spacing: .005em;
}

.bv-proposal-button {
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .045em;
}

/* Buttons */
.bv-button,
.bv-enquiry-submit,
.bv-newsletter-input-row button,
.bv-search-form button,
.bv-news-filters button,
.bv-vacancy-filters button {
    min-height: 49px;
    padding: 12px 20px;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .045em;
}

/* Normal content */
.bv-entry-content,
.bv-article-content,
.bv-vacancy-content,
.bv-legal-content {
    font-size: .98rem;
    line-height: 1.78;
}

.bv-entry-content h2,
.bv-article-content h2,
.bv-vacancy-content h2,
.bv-legal-content h2 {
    font-size: clamp(1.72rem, 2.75vw, 2.45rem);
    font-weight: 700;
}

.bv-entry-content h3,
.bv-article-content h3,
.bv-vacancy-content h3,
.bv-legal-content h3 {
    font-size: clamp(1.25rem, 1.8vw, 1.65rem);
    font-weight: 600;
}

/* Cards */
.bv-project-content h3,
.bv-news-editorial-copy h3,
.bv-team-showcase-details h3,
.bv-vacancy-card-main h3,
.bv-expertise-card h3,
.bv-related-news-copy h3,
.bv-related-vacancy-card h3,
.bv-profile-related-card h3 {
    font-size: clamp(1.28rem, 1.7vw, 1.65rem);
    font-weight: 600;
    line-height: 1.2;
}

.bv-project-content p,
.bv-news-editorial-copy > p,
.bv-team-showcase-summary,
.bv-vacancy-card-main > p,
.bv-expertise-card p,
.bv-related-news-copy p {
    font-size: .9rem;
    line-height: 1.68;
}

/* Supporting descriptions */
.bv-about-split-copy p:not(.bv-section-label),
.bv-project-index-intro,
.bv-people-hero-content > p:not(.bv-section-label),
.bv-news-hero-content > p:not(.bv-section-label),
.bv-careers-hero-content > p:not(.bv-section-label),
.bv-contact-hero-content > p:not(.bv-section-label),
.bv-proposal-page-content > p:not(.bv-section-label),
.bv-quality-hero-content > p:not(.bv-section-label),
.bv-profile-editorial-intro,
.bv-vacancy-lead,
.bv-article-lead {
    font-size: 1rem;
    line-height: 1.72;
}

/* Statistics */
.bv-stat strong,
.bv-news-hero-facts strong,
.bv-careers-hero-facts strong,
.bv-people-hero-facts strong,
.bv-project-index-stat strong {
    font-family: var(--font-display);
    font-weight: 700;
}

.bv-stat span,
.bv-news-hero-facts span,
.bv-careers-hero-facts span,
.bv-people-hero-facts span {
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .09em;
}

/* Forms */
.bv-enquiry-field label,
.bv-vacancy-filters label {
    font-size: .72rem;
    font-weight: 600;
}

.bv-enquiry-field input,
.bv-enquiry-field select,
.bv-enquiry-field textarea,
.bv-newsletter-input-row input,
.bv-search-form input,
.bv-vacancy-filters select {
    font-size: .92rem;
}

/* Footer */
.bv-footer-heading {
    font-size: .67rem;
    font-weight: 700;
}

.bv-footer a {
    font-size: .86rem;
}

.bv-footer p,
.bv-footer address {
    font-size: .87rem;
    line-height: 1.68;
}

/* Tablet */
@media (max-width: 900px) {
    :root {
        --heading-1: clamp(2.65rem, 7.8vw, 4.35rem);
        --heading-2: clamp(1.9rem, 5.7vw, 3rem);
        --heading-3: clamp(1.22rem, 3.5vw, 1.58rem);
    }

    .bv-menu a {
        font-size: 1.14rem;
    }

    .bv-hero-slider h1 {
        font-size: clamp(2.85rem, 8.3vw, 4.45rem);
    }
}

/* Mobile */
@media (max-width: 680px) {
    :root {
        --heading-1: clamp(2.35rem, 10.5vw, 3.55rem);
        --heading-2: clamp(1.8rem, 8vw, 2.6rem);
        --heading-3: clamp(1.2rem, 5.5vw, 1.5rem);
    }

    body {
        font-size: .95rem;
        line-height: 1.68;
    }

    .bv-hero-slider h1,
    .bv-about-split-copy h1,
    .bv-project-index-copy h1,
    .bv-project-story-heading h1 {
        font-size: var(--heading-1);
    }

    .bv-section-heading h2,
    .bv-team-showcase-heading h2,
    .bv-news-directory-heading h2,
    .bv-vacancy-directory-heading h2 {
        font-size: var(--heading-2);
    }

    .bv-menu a {
        font-size: 1.08rem;
        font-weight: 600;
    }

    .bv-button,
    .bv-enquiry-submit,
    .bv-newsletter-input-row button,
    .bv-search-form button {
        min-height: 47px;
        font-size: .68rem;
    }

    .bv-entry-content,
    .bv-article-content,
    .bv-vacancy-content,
    .bv-legal-content {
        font-size: .95rem;
    }
}


/* ==========================================================
   Phase 7.1 — Company Profile, Partners and Map
   ========================================================== */

.bv-intro-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 24px;
    align-items: center;
    margin-top: 22px;
}

.bv-profile-inline-link {
    color: var(--gold-text);
}

/* Company profile block on About */
.bv-about-profile-download {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-top: 36px;
    padding: 24px 26px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--gold);
    background: var(--warm-white);
}

.bv-about-profile-download span,
.bv-about-profile-download strong {
    display: block;
}

.bv-about-profile-download span {
    margin-bottom: 6px;
    color: var(--gold-text);
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.bv-about-profile-download strong {
    color: var(--navy-deep);
    font-size: .95rem;
    line-height: 1.5;
}

/* Partners */
.bv-partners-section {
    background: var(--warm-white);
}

.bv-partners-section .bv-section-heading {
    max-width: 980px;
}

.bv-partners-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--border);
    border-left: 1px solid var(--border);
}

.bv-partner-card {
    min-width: 0;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: #fff;
    transition:
        transform .4s var(--bv-ease),
        box-shadow .4s ease,
        background .3s ease;
}

.bv-partner-card:hover {
    position: relative;
    z-index: 2;
    background: #fdfcf9;
    box-shadow: 0 22px 46px rgba(7,31,61,.12);
    transform: translateY(-7px);
}

.bv-partner-card-inner {
    display: flex;
    min-height: 245px;
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
    padding: 27px;
}

.bv-partner-logo {
    display: grid;
    min-height: 105px;
    place-items: center;
    padding: 15px;
}

.bv-partner-logo img {
    width: 100%;
    max-width: 190px;
    height: 82px;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .76;
    transition:
        filter .35s ease,
        opacity .35s ease,
        transform .45s var(--bv-ease);
}

.bv-partner-card:hover .bv-partner-logo img {
    filter: grayscale(0);
    opacity: 1;
    transform: scale(1.035);
}

.bv-partner-logo strong {
    color: var(--navy-deep);
    font-size: 1.25rem;
    text-align: center;
}

.bv-partner-details {
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

.bv-partner-details h3 {
    margin-bottom: 7px;
    font-size: 1rem;
    line-height: 1.25;
}

.bv-partner-details p {
    margin-bottom: 8px;
    color: var(--muted);
    font-size: .78rem;
}

.bv-partner-details span {
    color: var(--gold-text);
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

/* Contact map */
.bv-contact-map-section {
    padding: clamp(88px, 9vw, 140px) 0;
    background: var(--warm-white);
}

.bv-contact-map-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 42px;
}

.bv-contact-map-heading > div {
    max-width: 800px;
}

.bv-contact-map-heading h2 {
    margin-bottom: 15px;
}

.bv-contact-map-heading p:not(.bv-section-label) {
    margin-bottom: 0;
}

.bv-contact-map-frame {
    position: relative;
    min-height: 480px;
    overflow: hidden;
    border: 1px solid var(--border);
    background:
        linear-gradient(135deg, #dfe7ec, #b8c8d3);
    box-shadow: 0 28px 60px rgba(7,31,61,.13);
}

.bv-contact-map-frame iframe {
    display: block;
    width: 100%;
    height: 480px;
    border: 0;
}

@media (max-width: 1050px) {
    .bv-partners-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .bv-about-profile-download,
    .bv-contact-map-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .bv-about-profile-download .bv-button,
    .bv-contact-map-heading .bv-button {
        width: 100%;
    }

    .bv-partners-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-partner-card-inner {
        min-height: 220px;
        padding: 22px;
    }

    .bv-contact-map-frame,
    .bv-contact-map-frame iframe {
        min-height: 370px;
        height: 370px;
    }
}

@media (max-width: 480px) {
    .bv-partners-grid {
        grid-template-columns: 1fr;
    }

    .bv-partner-card-inner {
        min-height: 205px;
    }

    .bv-contact-map-frame,
    .bv-contact-map-frame iframe {
        min-height: 330px;
        height: 330px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bv-partner-card,
    .bv-partner-logo img {
        transition: none !important;
    }
}


/* ==========================================================
   Phase 7.3 — Floating WhatsApp button
   ========================================================== */

.bv-whatsapp-float {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    color: #fff;
    background: #25d366;
    box-shadow: 0 14px 34px rgba(7,31,61,.24);
    transition:
        transform .28s var(--bv-ease),
        box-shadow .28s ease,
        background-color .28s ease;
}

.bv-whatsapp-float:hover {
    color: #fff;
    background: #1fba58;
    box-shadow: 0 18px 42px rgba(7,31,61,.30);
    transform: translateY(-4px) scale(1.04);
}

.bv-whatsapp-icon {
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
}

.bv-whatsapp-icon svg {
    display: block;
    width: 31px;
    height: 31px;
}

.bv-whatsapp-tooltip {
    position: absolute;
    right: calc(100% + 12px);
    width: max-content;
    max-width: 180px;
    padding: 9px 12px;
    border-radius: 6px;
    color: #fff;
    background: var(--navy-deep);
    font-size: .68rem;
    font-weight: 600;
    line-height: 1.3;
    opacity: 0;
    pointer-events: none;
    transform: translateX(6px);
    transition:
        opacity .22s ease,
        transform .22s ease;
}

.bv-whatsapp-tooltip::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -5px;
    width: 10px;
    height: 10px;
    background: var(--navy-deep);
    transform: translateY(-50%) rotate(45deg);
}

.bv-whatsapp-float:hover .bv-whatsapp-tooltip,
.bv-whatsapp-float:focus-visible .bv-whatsapp-tooltip {
    opacity: 1;
    transform: translateX(0);
}

/* Keep it above the back-to-top control. */
.bv-back-to-top {
    bottom: 94px;
}

@media (max-width: 680px) {
    .bv-whatsapp-float {
        right: 16px;
        bottom: 16px;
        width: 54px;
        height: 54px;
    }

    .bv-whatsapp-icon,
    .bv-whatsapp-icon svg {
        width: 29px;
        height: 29px;
    }

    .bv-whatsapp-tooltip {
        display: none;
    }

    .bv-back-to-top {
        bottom: 82px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bv-whatsapp-float,
    .bv-whatsapp-tooltip {
        transition: none !important;
    }
}


/* ==========================================================
   Phase 7.5 — Compact statement sections
   ========================================================== */

/* Large marketing statements should act as short visual pauses,
   not full-page text sections. */
.bv-statement,
.bv-quality-statement {
    padding: clamp(58px, 6vw, 82px) 0;
}

.bv-statement .bv-section-label,
.bv-quality-statement .bv-section-label {
    margin-bottom: 14px;
}

.bv-statement blockquote,
.bv-quality-statement blockquote {
    max-width: 850px;
    margin: 0;
    font-size: clamp(1.65rem, 3vw, 2.7rem);
    font-weight: 650;
    line-height: 1.25;
    letter-spacing: -.035em;
}

/* Give the homepage statement a restrained brand accent. */
.bv-statement-compact {
    position: relative;
    background:
        linear-gradient(
            115deg,
            var(--navy-deep) 0%,
            var(--navy) 72%,
            #174f80 100%
        );
}

.bv-statement-compact::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    content: "";
    background:
        linear-gradient(
            90deg,
            var(--gold) 0 20%,
            rgba(211,166,44,0) 58%
        );
}

/* Prevent inherited mobile rules from making these sections tall again. */
@media (max-width: 900px) {
    .bv-statement,
    .bv-quality-statement {
        padding-block: 54px;
    }

    .bv-statement blockquote,
    .bv-quality-statement blockquote {
        max-width: 700px;
        font-size: clamp(1.55rem, 5vw, 2.25rem);
    }
}

@media (max-width: 680px) {
    .bv-statement,
    .bv-quality-statement {
        padding-block: 44px;
    }

    .bv-statement blockquote,
    .bv-quality-statement blockquote {
        font-size: clamp(1.4rem, 7vw, 1.9rem);
        line-height: 1.3;
    }
}


/* ==========================================================
   Phase 7.6 — About page minimized headline + home gradient
   ========================================================== */

/* Use the same overall gradient language as the homepage hero,
   but keep it slightly lighter so the About photo remains visible. */
.bv-about-split-copy {
    background:
        linear-gradient(
            135deg,
            rgba(7,31,61,.95) 0%,
            rgba(7,31,61,.84) 28%,
            rgba(11,53,102,.72) 58%,
            rgba(23,79,128,.62) 100%
        );
}

.bv-about-split-image-gradient {
    background:
        linear-gradient(
            90deg,
            rgba(7,31,61,.88) 0%,
            rgba(7,31,61,.68) 18%,
            rgba(11,53,102,.40) 38%,
            rgba(11,53,102,.16) 56%,
            rgba(11,53,102,0) 76%
        ),
        linear-gradient(
            0deg,
            rgba(7,31,61,.26) 0%,
            rgba(7,31,61,.10) 32%,
            rgba(7,31,61,0) 62%
        );
}

/* Make the About cover shorter and less dominant. */
.bv-about-split-copy,
.bv-about-split-image {
    min-height: clamp(360px, 52vw, 560px);
}

.bv-about-split-copy-inner {
    max-width: 690px;
    padding-top: clamp(36px, 5vw, 64px);
    padding-bottom: clamp(36px, 5vw, 64px);
}

/* Minimize the main About text block. */
.bv-about-split-copy h1 {
    max-width: 540px;
    margin-bottom: 18px;
    font-size: clamp(2.15rem, 3.3vw, 3.2rem);
    line-height: 1.08;
    letter-spacing: -.03em;
}

.bv-about-split-copy p:not(.bv-section-label) {
    max-width: 480px;
    font-size: .96rem;
    line-height: 1.68;
}

/* Slightly reduce section label spacing on the About cover. */
.bv-about-split-copy .bv-section-label {
    margin-bottom: 12px;
}

/* Keep the right image visually balanced. */
.bv-about-split-image img,
.bv-about-split-image video {
    object-position: center center;
}

@media (max-width: 900px) {
    .bv-about-split-copy,
    .bv-about-split-image {
        min-height: clamp(320px, 54vw, 470px);
    }

    .bv-about-split-copy h1 {
        font-size: clamp(2rem, 4.8vw, 2.75rem);
    }
}

@media (max-width: 680px) {
    .bv-about-split-copy,
    .bv-about-split-image {
        min-height: auto;
    }

    .bv-about-split-copy-inner {
        padding-top: 34px;
        padding-bottom: 34px;
    }

    .bv-about-split-copy h1 {
        max-width: 100%;
        font-size: clamp(1.85rem, 8vw, 2.35rem);
        line-height: 1.12;
    }

    .bv-about-split-copy p:not(.bv-section-label) {
        max-width: 100%;
        font-size: .93rem;
    }
}



/* ==========================================================
   Phase 7.7 — Projects, People and News covers minimized
   with the same home-style brand gradient language
   ========================================================== */

/* -------------------------
   Projects cover (archive)
   ------------------------- */
.bv-project-index-copy {
    min-height: clamp(360px, 52vw, 560px);
    background:
        linear-gradient(
            135deg,
            rgba(7,31,61,.95) 0%,
            rgba(7,31,61,.84) 28%,
            rgba(11,53,102,.72) 58%,
            rgba(23,79,128,.62) 100%
        );
}

.bv-project-index-copy-inner,
.bv-project-index-copy > .bv-container,
.bv-project-index-copy .bv-container {
    max-width: 690px;
}

.bv-project-index-copy h1 {
    max-width: 560px;
    margin-bottom: 18px;
    font-size: clamp(2.2rem, 3.35vw, 3.25rem);
    line-height: 1.08;
    letter-spacing: -.03em;
}

.bv-project-index-intro {
    max-width: 500px;
    margin-bottom: 24px;
    font-size: .96rem;
    line-height: 1.68;
}

.bv-project-index-visual,
.bv-project-index-visual-media {
    min-height: clamp(360px, 52vw, 560px);
}

.bv-project-index-visual-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(7,31,61,.88) 0%,
            rgba(7,31,61,.68) 18%,
            rgba(11,53,102,.40) 38%,
            rgba(11,53,102,.16) 56%,
            rgba(11,53,102,0) 76%
        ),
        linear-gradient(
            0deg,
            rgba(7,31,61,.26) 0%,
            rgba(7,31,61,.10) 32%,
            rgba(7,31,61,0) 62%
        );
}

/* -------------------------
   People cover
   ------------------------- */
.bv-people-hero {
    min-height: clamp(350px, 50vw, 540px);
    background:
        linear-gradient(
            135deg,
            rgba(7,31,61,.96) 0%,
            rgba(7,31,61,.86) 30%,
            rgba(11,53,102,.74) 60%,
            rgba(23,79,128,.62) 100%
        );
}

.bv-people-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(7,31,61,.88) 0%,
            rgba(7,31,61,.66) 16%,
            rgba(11,53,102,.34) 36%,
            rgba(11,53,102,.10) 56%,
            rgba(11,53,102,0) 78%
        ),
        linear-gradient(
            0deg,
            rgba(7,31,61,.24) 0%,
            rgba(7,31,61,.08) 30%,
            rgba(7,31,61,0) 60%
        );
    pointer-events: none;
}

.bv-people-hero-content {
    position: relative;
    z-index: 2;
    max-width: 690px;
    padding-top: clamp(36px, 5vw, 64px);
    padding-bottom: clamp(36px, 5vw, 64px);
}

.bv-people-hero-content h1 {
    max-width: 550px;
    margin-bottom: 18px;
    font-size: clamp(2.2rem, 3.35vw, 3.2rem);
    line-height: 1.08;
    letter-spacing: -.03em;
}

.bv-people-hero-content > p:not(.bv-section-label) {
    max-width: 490px;
    font-size: .96rem;
    line-height: 1.68;
}

/* -------------------------
   News cover
   ------------------------- */
.bv-news-hero {
    min-height: clamp(350px, 50vw, 540px);
    background:
        linear-gradient(
            135deg,
            rgba(7,31,61,.96) 0%,
            rgba(7,31,61,.86) 30%,
            rgba(11,53,102,.74) 60%,
            rgba(23,79,128,.62) 100%
        );
}

.bv-news-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(7,31,61,.88) 0%,
            rgba(7,31,61,.66) 16%,
            rgba(11,53,102,.34) 36%,
            rgba(11,53,102,.10) 56%,
            rgba(11,53,102,0) 78%
        ),
        linear-gradient(
            0deg,
            rgba(7,31,61,.24) 0%,
            rgba(7,31,61,.08) 30%,
            rgba(7,31,61,0) 60%
        );
    pointer-events: none;
}

.bv-news-hero-content {
    position: relative;
    z-index: 2;
    max-width: 690px;
    padding-top: clamp(36px, 5vw, 64px);
    padding-bottom: clamp(36px, 5vw, 64px);
}

.bv-news-hero-content h1 {
    max-width: 550px;
    margin-bottom: 18px;
    font-size: clamp(2.2rem, 3.35vw, 3.2rem);
    line-height: 1.08;
    letter-spacing: -.03em;
}

.bv-news-hero-content > p:not(.bv-section-label) {
    max-width: 490px;
    font-size: .96rem;
    line-height: 1.68;
}

/* Consistent small label spacing */
.bv-project-index-copy .bv-section-label,
.bv-people-hero-content .bv-section-label,
.bv-news-hero-content .bv-section-label {
    margin-bottom: 12px;
}

/* Responsive handling */
@media (max-width: 900px) {
    .bv-project-index-copy,
    .bv-project-index-visual,
    .bv-project-index-visual-media,
    .bv-people-hero,
    .bv-news-hero {
        min-height: clamp(320px, 54vw, 470px);
    }

    .bv-project-index-copy h1,
    .bv-people-hero-content h1,
    .bv-news-hero-content h1 {
        font-size: clamp(2rem, 4.8vw, 2.75rem);
    }
}

@media (max-width: 680px) {
    .bv-project-index-copy,
    .bv-project-index-visual,
    .bv-project-index-visual-media,
    .bv-people-hero,
    .bv-news-hero {
        min-height: auto;
    }

    .bv-project-index-copy h1,
    .bv-people-hero-content h1,
    .bv-news-hero-content h1 {
        max-width: 100%;
        font-size: clamp(1.85rem, 8vw, 2.35rem);
        line-height: 1.12;
    }

    .bv-project-index-intro,
    .bv-people-hero-content > p:not(.bv-section-label),
    .bv-news-hero-content > p:not(.bv-section-label) {
        max-width: 100%;
        font-size: .93rem;
    }
}



/* ==========================================================
   Phase 7.8 — Homepage-style cover system for all main pages
   ========================================================== */

/*
 * The homepage is the visual reference:
 * - full-bleed photograph
 * - faded Big-Vision navy/blue overlay
 * - left-positioned content
 * - gold eyebrow
 * - strong white heading
 * - concise supporting text
 * - no oversized facts competing with the image
 */

:root {
    --bv-home-cover-overlay:
        linear-gradient(
            90deg,
            rgba(7,31,61,.92) 0%,
            rgba(7,31,61,.78) 30%,
            rgba(11,53,102,.50) 57%,
            rgba(11,53,102,.14) 84%,
            rgba(11,53,102,0) 100%
        ),
        linear-gradient(
            0deg,
            rgba(7,31,61,.40) 0%,
            rgba(7,31,61,.12) 48%,
            rgba(7,31,61,0) 100%
        );
}

/* ----------------------------------------------------------
   Shared internal-cover proportions
   ---------------------------------------------------------- */
.bv-about-split-hero,
.bv-project-index-hero,
.bv-people-archive-hero,
.bv-news-hero,
.bv-careers-hero,
.bv-contact-hero,
.bv-proposal-page-hero,
.bv-quality-hero,
.bv-expertise-archive-hero {
    position: relative;
    display: flex;
    min-height: 560px;
    align-items: center;
    overflow: hidden;
    color: #fff;
    background-color: var(--navy-deep);
}

/* ----------------------------------------------------------
   About: convert the split layout into a homepage-style cover
   ---------------------------------------------------------- */
.bv-about-split-hero {
    display: block;
}

.bv-about-split-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    min-height: 0;
    background-position: center;
    background-size: cover;
}

.bv-about-split-image-gradient {
    position: absolute;
    inset: 0;
    background: var(--bv-home-cover-overlay);
}

.bv-about-split-image-label {
    display: none;
}

.bv-about-split-copy {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: 560px;
    align-items: center;
    background: transparent;
}

.bv-about-split-pattern {
    display: none;
}

.bv-about-split-copy-inner {
    width: min(760px, calc(100% - 48px));
    max-width: 760px;
    margin-right: auto;
    margin-left: clamp(50px, 8vw, 150px);
    padding: calc(var(--header) + 38px) 0 52px;
}

.bv-about-split-copy h1 {
    max-width: 650px;
    margin-bottom: 24px;
    color: #fff;
    font-size: clamp(3rem, 5vw, 4.8rem);
    line-height: 1.02;
}

.bv-about-split-copy p:not(.bv-section-label) {
    max-width: 590px;
    color: rgba(255,255,255,.82);
    font-size: 1rem;
    line-height: 1.72;
}

/* ----------------------------------------------------------
   Projects: convert split image/text cover to full photograph
   ---------------------------------------------------------- */
.bv-project-index-hero {
    display: block;
    min-height: 560px;
}

.bv-project-index-grid {
    position: relative;
    display: block;
    width: 100% !important;
    max-width: none !important;
    min-height: 560px;
    margin: 0 !important;
    padding: 0 !important;
}

.bv-project-index-visual {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    min-height: 560px;
    border: 0;
    box-shadow: none;
}

.bv-project-index-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.bv-project-index-visual-overlay {
    position: absolute;
    inset: 0;
    background: var(--bv-home-cover-overlay);
}

.bv-project-index-copy {
    position: relative;
    z-index: 2;
    display: flex;
    width: min(760px, calc(100% - 48px));
    max-width: 760px;
    min-height: 560px;
    justify-content: center;
    margin-right: auto;
    margin-left: clamp(50px, 8vw, 150px);
    padding: calc(var(--header) + 38px) 0 52px;
    background: transparent;
}

.bv-project-index-copy h1 {
    max-width: 650px;
    margin-bottom: 24px;
    font-size: clamp(3rem, 5vw, 4.8rem);
    line-height: 1.02;
}

.bv-project-index-intro {
    max-width: 590px;
    margin-bottom: 0;
    color: rgba(255,255,255,.82);
    font-size: 1rem;
    line-height: 1.72;
}

.bv-project-index-stat {
    display: none;
}

/* ----------------------------------------------------------
   People / News / Careers:
   retain each page's own featured image, but use Home overlay.
   ---------------------------------------------------------- */
.bv-people-archive-hero,
.bv-news-hero,
.bv-careers-hero {
    min-height: 560px;
    align-items: center;
    background-position: center;
    background-size: cover;
}

.bv-people-hero-overlay,
.bv-news-hero-overlay,
.bv-careers-hero-overlay {
    position: absolute;
    inset: 0;
    background: var(--bv-home-cover-overlay);
}

.bv-people-hero-lines,
.bv-news-hero-grid,
.bv-careers-hero-grid {
    display: none;
}

.bv-people-hero-content,
.bv-news-hero-content,
.bv-careers-hero-content {
    width: min(760px, calc(100% - 48px));
    max-width: 760px;
    margin-right: auto;
    margin-left: clamp(50px, 8vw, 150px);
    padding: calc(var(--header) + 38px) 0 52px;
}

.bv-people-hero-content h1,
.bv-news-hero-content h1,
.bv-careers-hero-content h1 {
    max-width: 670px;
    margin-bottom: 24px;
    font-size: clamp(3rem, 5vw, 4.8rem);
    line-height: 1.02;
}

.bv-people-hero-content > p:not(.bv-section-label),
.bv-news-hero-content > p:not(.bv-section-label),
.bv-careers-hero-content > p:not(.bv-section-label) {
    max-width: 590px;
    color: rgba(255,255,255,.82);
    font-size: 1rem;
    line-height: 1.72;
}

.bv-people-hero-facts,
.bv-news-hero-facts,
.bv-careers-hero-facts {
    display: none;
}

/* ----------------------------------------------------------
   Contact / Proposal / Quality
   ---------------------------------------------------------- */
.bv-contact-hero,
.bv-proposal-page-hero,
.bv-quality-hero {
    min-height: 560px;
    align-items: center;
    background-position: center;
    background-size: cover;
}

.bv-contact-hero-overlay,
.bv-proposal-page-overlay,
.bv-quality-hero-overlay {
    position: absolute;
    inset: 0;
    background: var(--bv-home-cover-overlay);
}

.bv-contact-hero-grid,
.bv-proposal-page-grid,
.bv-quality-hero-grid {
    display: none;
}

.bv-contact-hero-content,
.bv-proposal-page-content,
.bv-quality-hero-content {
    width: min(760px, calc(100% - 48px));
    max-width: 760px;
    margin-right: auto;
    margin-left: clamp(50px, 8vw, 150px);
    padding: calc(var(--header) + 38px) 0 52px;
}

.bv-contact-hero-content h1,
.bv-proposal-page-content h1,
.bv-quality-hero-content h1 {
    max-width: 680px;
    margin-bottom: 24px;
    font-size: clamp(3rem, 5vw, 4.8rem);
    line-height: 1.02;
}

.bv-contact-hero-content > p:not(.bv-section-label),
.bv-proposal-page-content > p:not(.bv-section-label),
.bv-quality-hero-content > p:not(.bv-section-label) {
    max-width: 590px;
    color: rgba(255,255,255,.82);
    font-size: 1rem;
    line-height: 1.72;
}

/* ----------------------------------------------------------
   Expertise archive
   ---------------------------------------------------------- */
.bv-expertise-archive-hero {
    min-height: 560px;
    align-items: center;
    background-position: center;
    background-size: cover;
}

.bv-expertise-archive-hero .bv-inner-hero-overlay {
    background: var(--bv-home-cover-overlay);
}

.bv-expertise-hero-orbit {
    display: none;
}

.bv-expertise-archive-hero .bv-inner-hero-content {
    width: min(760px, calc(100% - 48px));
    max-width: 760px;
    margin-right: auto;
    margin-left: clamp(50px, 8vw, 150px);
    padding: calc(var(--header) + 38px) 0 52px;
}

.bv-expertise-archive-hero h1 {
    max-width: 680px;
    margin-bottom: 24px;
    font-size: clamp(3rem, 5vw, 4.8rem);
    line-height: 1.02;
}

.bv-expertise-archive-hero .bv-inner-hero-content > p:not(.bv-section-label) {
    max-width: 590px;
    color: rgba(255,255,255,.82);
    font-size: 1rem;
    line-height: 1.72;
}

.bv-expertise-hero-facts {
    display: none;
}

/* ----------------------------------------------------------
   Shared labels and subtle cover accent
   ---------------------------------------------------------- */
.bv-about-split-copy .bv-section-label,
.bv-project-index-copy .bv-section-label,
.bv-people-hero-content .bv-section-label,
.bv-news-hero-content .bv-section-label,
.bv-careers-hero-content .bv-section-label,
.bv-contact-hero-content .bv-section-label,
.bv-proposal-page-content .bv-section-label,
.bv-quality-hero-content .bv-section-label,
.bv-expertise-archive-hero .bv-section-label {
    margin-bottom: 18px;
    color: var(--gold-bright);
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .105em;
}

/* Gold line at the bottom, like the established theme language. */
.bv-about-split-hero::after,
.bv-project-index-hero::after,
.bv-people-archive-hero::after,
.bv-news-hero::after,
.bv-careers-hero::after,
.bv-contact-hero::after,
.bv-proposal-page-hero::after,
.bv-quality-hero::after,
.bv-expertise-archive-hero::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5;
    height: 3px;
    content: "";
    background:
        linear-gradient(
            90deg,
            var(--gold) 0 24%,
            rgba(211,166,44,0) 68%
        );
}

/* Reduce the jump between cover and first content section. */
.bv-about-split-hero + .bv-editorial-intro,
.bv-project-index-hero + .bv-project-directory,
.bv-people-archive-hero + .bv-people-intro,
.bv-news-hero + .bv-news-featured,
.bv-careers-hero + .bv-careers-intro,
.bv-contact-hero + .bv-contact-main,
.bv-quality-hero + .bv-quality-intro {
    padding-top: clamp(48px, 6vw, 76px);
}

/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */
@media (max-width: 900px) {
    .bv-about-split-hero,
    .bv-project-index-hero,
    .bv-project-index-grid,
    .bv-project-index-visual,
    .bv-project-index-copy,
    .bv-about-split-copy,
    .bv-people-archive-hero,
    .bv-news-hero,
    .bv-careers-hero,
    .bv-contact-hero,
    .bv-proposal-page-hero,
    .bv-quality-hero,
    .bv-expertise-archive-hero {
        min-height: 500px;
    }

    .bv-about-split-copy-inner,
    .bv-project-index-copy,
    .bv-people-hero-content,
    .bv-news-hero-content,
    .bv-careers-hero-content,
    .bv-contact-hero-content,
    .bv-proposal-page-content,
    .bv-quality-hero-content,
    .bv-expertise-archive-hero .bv-inner-hero-content {
        width: min(700px, calc(100% - 44px));
        margin-left: clamp(24px, 5vw, 55px);
    }

    .bv-about-split-copy h1,
    .bv-project-index-copy h1,
    .bv-people-hero-content h1,
    .bv-news-hero-content h1,
    .bv-careers-hero-content h1,
    .bv-contact-hero-content h1,
    .bv-proposal-page-content h1,
    .bv-quality-hero-content h1,
    .bv-expertise-archive-hero h1 {
        font-size: clamp(2.55rem, 6.8vw, 4rem);
    }
}

/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */
@media (max-width: 680px) {
    .bv-about-split-hero,
    .bv-project-index-hero,
    .bv-project-index-grid,
    .bv-project-index-visual,
    .bv-project-index-copy,
    .bv-about-split-copy,
    .bv-people-archive-hero,
    .bv-news-hero,
    .bv-careers-hero,
    .bv-contact-hero,
    .bv-proposal-page-hero,
    .bv-quality-hero,
    .bv-expertise-archive-hero {
        min-height: 465px;
    }

    .bv-about-split-copy-inner,
    .bv-project-index-copy,
    .bv-people-hero-content,
    .bv-news-hero-content,
    .bv-careers-hero-content,
    .bv-contact-hero-content,
    .bv-proposal-page-content,
    .bv-quality-hero-content,
    .bv-expertise-archive-hero .bv-inner-hero-content {
        width: calc(100% - 32px);
        margin-right: 16px;
        margin-left: 16px;
        padding-top: calc(var(--header) + 30px);
        padding-bottom: 38px;
    }

    .bv-about-split-copy h1,
    .bv-project-index-copy h1,
    .bv-people-hero-content h1,
    .bv-news-hero-content h1,
    .bv-careers-hero-content h1,
    .bv-contact-hero-content h1,
    .bv-proposal-page-content h1,
    .bv-quality-hero-content h1,
    .bv-expertise-archive-hero h1 {
        max-width: 100%;
        margin-bottom: 18px;
        font-size: clamp(2.25rem, 10vw, 3.25rem);
        line-height: 1.06;
    }

    .bv-about-split-copy p:not(.bv-section-label),
    .bv-project-index-intro,
    .bv-people-hero-content > p:not(.bv-section-label),
    .bv-news-hero-content > p:not(.bv-section-label),
    .bv-careers-hero-content > p:not(.bv-section-label),
    .bv-contact-hero-content > p:not(.bv-section-label),
    .bv-proposal-page-content > p:not(.bv-section-label),
    .bv-quality-hero-content > p:not(.bv-section-label),
    .bv-expertise-archive-hero .bv-inner-hero-content > p:not(.bv-section-label) {
        max-width: 100%;
        font-size: .93rem;
    }
}


/* ==========================================================
   Phase 7.9 — Adaptive logo + cover-aware header
   ========================================================== */

/*
 * All pages with dark photographic covers behave like Home:
 * transparent header over the image, then white header after scrolling.
 */
body.bv-has-dark-cover .bv-header:not(.is-scrolled) {
    height: var(--header);
    color: #fff;
    background: transparent;
    box-shadow: none;
}

body.bv-has-dark-cover .bv-header:not(.is-scrolled) .bv-menu a {
    color: #fff;
}

body.bv-has-dark-cover .bv-header:not(.is-scrolled) .bv-menu a::after {
    background: var(--gold);
}

body.bv-has-dark-cover .bv-header:not(.is-scrolled) .bv-menu-toggle {
    color: #fff;
}

/* White header after scrolling. */
body.bv-has-dark-cover .bv-header.is-scrolled {
    height: 76px;
    color: var(--navy-deep);
    background: rgba(255,255,255,.97);
    box-shadow: 0 10px 30px rgba(7,31,61,.09);
}

body.bv-has-dark-cover .bv-header.is-scrolled .bv-menu a {
    color: var(--navy-deep);
}

/* ----------------------------------------------------------
   Adaptive logo variants
   ---------------------------------------------------------- */
.bv-logo {
    min-width: 54px;
}

.bv-header-logo-variant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    transition:
        opacity .22s ease,
        transform .28s var(--bv-ease);
}

.bv-header-logo-variant .bv-logo-image,
.bv-header-logo-variant .custom-logo {
    width: auto;
    max-width: 210px;
    max-height: 58px;
    object-fit: contain;
}

/* Normal white header = logo for light backgrounds. */
.bv-header-logo-light {
    position: relative;
    opacity: 1;
    transform: scale(1);
}

.bv-header-logo-dark {
    position: absolute;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transform: scale(.96);
}

/* Dark photographic cover = logo for dark backgrounds. */
body.bv-has-dark-cover .bv-header:not(.is-scrolled) .bv-header-logo-light {
    opacity: 0;
    pointer-events: none;
    transform: scale(.96);
}

body.bv-has-dark-cover .bv-header:not(.is-scrolled) .bv-header-logo-dark {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
}

/*
 * If no dedicated dark-background logo has been uploaded yet, the regular
 * logo remains readable inside a small translucent light badge.
 */
body.bv-has-dark-cover .bv-header:not(.is-scrolled) .bv-header-logo-dark.is-fallback {
    padding: 5px 8px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 4px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 8px 24px rgba(7,31,61,.15);
}

/* Footer logo uses the dark-background asset. */
.bv-footer .bv-logo-image-dark-bg {
    width: auto;
    max-width: 205px;
    max-height: 66px;
    object-fit: contain;
}

/* Text fallback adapts too. */
body.bv-has-dark-cover .bv-header:not(.is-scrolled) .bv-logo-text {
    color: #fff;
}

body.bv-has-dark-cover .bv-header.is-scrolled .bv-logo-text,
body:not(.bv-has-dark-cover) .bv-logo-text {
    color: var(--navy-deep);
}

/* Mobile navigation is deliberately light, so always use normal logo. */
@media (max-width: 1100px) {
    body.bv-menu-open .bv-header-logo-light {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: scale(1) !important;
    }

    body.bv-menu-open .bv-header-logo-dark {
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body.bv-menu-open .bv-header {
        color: var(--navy-deep);
    }
}

@media (max-width: 680px) {
    .bv-header-logo-variant .bv-logo-image,
    .bv-header-logo-variant .custom-logo {
        max-width: 170px;
        max-height: 52px;
    }

    body.bv-has-dark-cover .bv-header:not(.is-scrolled) .bv-header-logo-dark.is-fallback {
        padding: 4px 6px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bv-header-logo-variant {
        transition: none !important;
    }
}


/* ==========================================================
   Phase 7.10 — Rewritten Privacy Policy
   ========================================================== */

.bv-privacy-hero {
    min-height: 400px;
}

.bv-privacy-hero .bv-legal-hero-content {
    padding-top: calc(var(--header) + 55px);
    padding-bottom: 55px;
}

.bv-privacy-hero h1 {
    max-width: 700px;
    font-size: clamp(2.7rem, 4.5vw, 4.5rem);
}

.bv-privacy-hero .bv-legal-hero-content > p:last-child {
    max-width: 620px;
    line-height: 1.7;
}

.bv-privacy-section + .bv-privacy-section {
    margin-top: 54px;
}

.bv-privacy-section h2 {
    margin-top: 0;
    margin-bottom: 18px;
}

.bv-privacy-section p {
    max-width: 790px;
}

.bv-privacy-section ul {
    max-width: 790px;
    margin-top: 22px;
    margin-bottom: 25px;
    padding-left: 22px;
}

.bv-privacy-section li {
    margin-bottom: 10px;
    line-height: 1.65;
}

.bv-privacy-contact {
    padding: 30px;
    border-left: 4px solid var(--gold);
    background: var(--warm-white);
}

.bv-privacy-contact address {
    margin-top: 22px;
    font-style: normal;
    line-height: 1.8;
}

.bv-privacy-contact strong {
    color: var(--navy-deep);
}

.bv-privacy-contact a {
    color: var(--gold-text);
}

@media (max-width: 680px) {
    .bv-privacy-hero {
        min-height: 330px;
    }

    .bv-privacy-hero .bv-legal-hero-content {
        padding-top: calc(var(--header) + 38px);
        padding-bottom: 38px;
    }

    .bv-privacy-section + .bv-privacy-section {
        margin-top: 42px;
    }

    .bv-privacy-contact {
        padding: 22px;
    }
}


/* ==========================================================
   Phase 7.11 — Real Big-Vision project homepage
   ========================================================== */

/* Hero slide project captions */
.bv-hero-project-caption-wrap {
    position: absolute;
    bottom: 22px;
    left: clamp(50px, 8vw, 150px);
    z-index: 6;
    min-width: 260px;
}

.bv-hero-project-caption {
    display: none;
    align-items: center;
    gap: 14px;
    color: #fff;
}

.bv-hero-project-caption.is-active {
    display: flex;
    animation: bvProjectCaptionIn .48s ease both;
}

.bv-hero-project-caption > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.35);
    color: var(--gold-bright);
    background: rgba(7,31,61,.38);
    font-size: .68rem;
    font-weight: 700;
    backdrop-filter: blur(8px);
}

.bv-hero-project-caption small,
.bv-hero-project-caption strong {
    display: block;
}

.bv-hero-project-caption small {
    margin-bottom: 3px;
    color: rgba(255,255,255,.63);
    font-size: .61rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bv-hero-project-caption strong {
    font-size: .88rem;
    font-weight: 600;
}

@keyframes bvProjectCaptionIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Featured real projects */
.bv-home-real-projects {
    background: #071421;
}

.bv-real-project-grid {
    display: grid;
    grid-template-columns: 1.38fr .92fr .92fr;
    grid-template-rows: repeat(2, minmax(245px, 1fr));
    gap: 10px;
}

.bv-real-project-card {
    min-width: 0;
}

.bv-real-project-card.is-leading {
    grid-row: 1 / 3;
}

.bv-real-project-card:nth-child(4) {
    grid-column: 3;
}

.bv-real-project-card > a,
.bv-real-project-media {
    display: block;
    width: 100%;
    height: 100%;
}

.bv-real-project-media {
    position: relative;
    min-height: 245px;
    overflow: hidden;
    background: var(--navy-deep);
}

.bv-real-project-card.is-leading .bv-real-project-media {
    min-height: 500px;
}

.bv-real-project-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform .8s var(--bv-ease),
        filter .45s ease;
}

.bv-real-project-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            0deg,
            rgba(4,18,31,.88) 0%,
            rgba(4,18,31,.36) 45%,
            rgba(4,18,31,.04) 78%
        );
    transition: background .35s ease;
}

.bv-real-project-number {
    position: absolute;
    top: 20px;
    left: 20px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.34);
    color: var(--gold-bright);
    background: rgba(7,31,61,.38);
    font-size: .66rem;
    font-weight: 700;
    backdrop-filter: blur(7px);
}

.bv-real-project-copy {
    position: absolute;
    right: 22px;
    bottom: 22px;
    left: 22px;
    color: #fff;
}

.bv-real-project-copy p {
    margin-bottom: 7px;
    color: var(--gold-bright);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-real-project-copy h3 {
    max-width: 490px;
    margin-bottom: 12px;
    color: #fff;
    font-size: clamp(1.2rem, 1.8vw, 1.75rem);
}

.bv-real-project-card.is-leading .bv-real-project-copy h3 {
    font-size: clamp(1.8rem, 3vw, 3rem);
}

.bv-real-project-copy span {
    display: inline-block;
    color: rgba(255,255,255,.74);
    font-size: .68rem;
    font-weight: 600;
    transition:
        color .3s ease,
        transform .3s var(--bv-ease);
}

.bv-real-project-card:hover .bv-real-project-media img {
    filter: saturate(1.06) contrast(1.03);
    transform: scale(1.045);
}

.bv-real-project-card:hover .bv-real-project-copy span {
    color: var(--gold-bright);
    transform: translateX(5px);
}

.bv-real-project-note {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 24px;
    color: rgba(255,255,255,.58);
}

.bv-real-project-note span {
    color: var(--gold-bright);
    font-size: .63rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-real-project-note p {
    margin: 0;
    font-size: .78rem;
}

/* Before / After */
.bv-before-after-section {
    overflow: hidden;
    background: var(--warm-white);
}

.bv-before-after-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, .65fr);
    gap: clamp(30px, 7vw, 100px);
    align-items: end;
    margin-bottom: 50px;
}

.bv-before-after-heading h2 {
    max-width: 800px;
}

.bv-before-after-heading > p {
    margin: 0;
    color: var(--muted);
    line-height: 1.72;
}

.bv-before-after-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
    gap: clamp(30px, 5vw, 70px);
    align-items: center;
}

.bv-image-compare {
    --compare-position: 52%;
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid var(--border);
    background: var(--navy-deep);
    box-shadow: 0 28px 60px rgba(7,31,61,.15);
}

.bv-image-compare-before,
.bv-image-compare-after,
.bv-image-compare-after img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.bv-image-compare-before,
.bv-image-compare-after img {
    object-fit: cover;
}

.bv-image-compare-after {
    clip-path: inset(
        0 calc(100% - var(--compare-position)) 0 0
    );
}

.bv-image-compare-divider {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--compare-position);
    z-index: 5;
    width: 2px;
    background: #fff;
    transform: translateX(-1px);
    pointer-events: none;
}

.bv-image-compare-divider span {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 50%;
    color: var(--navy-deep);
    background: var(--gold-bright);
    font-size: 1rem;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(7,31,61,.2);
    transform: translate(-50%, -50%);
}

.bv-image-compare-label {
    position: absolute;
    top: 18px;
    z-index: 6;
    padding: 8px 11px;
    color: #fff;
    background: rgba(7,31,61,.72);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: blur(7px);
}

.bv-image-compare-label.is-before {
    left: 18px;
}

.bv-image-compare-label.is-after {
    right: 18px;
}

.bv-image-compare input[type="range"] {
    position: absolute;
    inset: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: ew-resize;
}

.bv-before-after-copy {
    max-width: 390px;
}

.bv-before-after-copy h3 {
    margin-bottom: 18px;
    color: var(--navy-deep);
    font-size: clamp(1.7rem, 2.8vw, 2.7rem);
}

.bv-before-after-copy > p:not(.bv-section-label) {
    margin-bottom: 24px;
    color: var(--muted);
    line-height: 1.75;
}

/* Tablet */
@media (max-width: 980px) {
    .bv-real-project-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }

    .bv-real-project-card.is-leading {
        grid-column: 1 / 3;
        grid-row: auto;
    }

    .bv-real-project-card:nth-child(4) {
        grid-column: auto;
    }

    .bv-real-project-card.is-leading .bv-real-project-media {
        min-height: 430px;
    }

    .bv-before-after-layout {
        grid-template-columns: 1fr;
    }

    .bv-before-after-copy {
        max-width: 680px;
    }
}

/* Mobile */
@media (max-width: 680px) {
    .bv-hero-project-caption-wrap {
        left: 16px;
        bottom: 15px;
    }

    .bv-hero-project-caption > span {
        width: 34px;
        height: 34px;
    }

    .bv-hero-project-caption small {
        display: none;
    }

    .bv-hero-slider-controls {
        bottom: 14px;
    }

    .bv-real-project-grid {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .bv-real-project-card.is-leading {
        grid-column: auto;
    }

    .bv-real-project-media,
    .bv-real-project-card.is-leading .bv-real-project-media {
        min-height: 310px;
    }

    .bv-real-project-card.is-leading .bv-real-project-copy h3,
    .bv-real-project-copy h3 {
        font-size: 1.55rem;
    }

    .bv-real-project-note {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .bv-before-after-heading {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 34px;
    }

    .bv-image-compare {
        aspect-ratio: 4 / 3;
    }

    .bv-image-compare-divider span {
        width: 40px;
        height: 40px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bv-real-project-media img,
    .bv-real-project-copy span,
    .bv-hero-project-caption.is-active {
        transition: none !important;
        animation: none !important;
    }
}


/* ==========================================================
   Phase 7.12 — Public homepage copy and comparison cleanup
   ========================================================== */

/* Hero project title is moved away from the CTA buttons. */
.bv-hero-project-caption-wrap {
    right: auto;
    bottom: 18px;
    left: 50%;
    min-width: 0;
    transform: translateX(-50%);
}

.bv-hero-project-caption {
    gap: 10px;
    padding: 7px 12px 7px 8px;
    border: 1px solid rgba(255,255,255,.22);
    color: #fff;
    background: rgba(7,31,61,.56);
    backdrop-filter: blur(8px);
}

.bv-hero-project-caption > span {
    width: 31px;
    height: 31px;
    border: 0;
    color: var(--navy-deep);
    background: var(--gold-bright);
}

.bv-hero-project-caption > strong {
    white-space: nowrap;
    font-size: .72rem;
    font-weight: 600;
}

/* Featured Projects are visual showcases until individual case-study
   pages are added, so they no longer pretend to be direct project links. */
.bv-real-project-card {
    cursor: default;
}

.bv-real-project-copy p {
    margin-bottom: 8px;
}

.bv-real-project-copy h3 {
    margin-bottom: 0;
}

/* Remove hover behaviour that previously suggested a direct link. */
.bv-real-project-card:hover .bv-real-project-copy span {
    transform: none;
}

.bv-real-project-card:hover .bv-real-project-media img {
    transform: scale(1.025);
}

/* Clear comparison guidance. */
.bv-image-compare-help {
    position: absolute;
    bottom: 16px;
    left: 50%;
    z-index: 6;
    padding: 7px 10px;
    color: #fff;
    background: rgba(7,31,61,.70);
    font-size: .6rem;
    font-weight: 650;
    letter-spacing: .06em;
    text-transform: uppercase;
    transform: translateX(-50%);
    pointer-events: none;
    backdrop-filter: blur(7px);
}

/* Before/After column copy is deliberately concise and public-facing. */
.bv-before-after-copy > p:not(.bv-section-label) {
    max-width: 360px;
}

@media (max-width: 680px) {
    /* Keep the mobile hero uncluttered. */
    .bv-hero-project-caption-wrap {
        display: none;
    }

    .bv-image-compare-help {
        bottom: 11px;
        font-size: .56rem;
    }
}


/* ==========================================================
   Phase 7.13 — Correct Before / After comparison direction
   ========================================================== */

/*
 * Correct logic:
 * LEFT  = Before / construction
 * RIGHT = After / completed
 *
 * The completed photo is the full base image.
 * The construction photo is clipped from the left up to the slider.
 */
.bv-image-compare-after-base,
.bv-image-compare-before-clip,
.bv-image-compare-before-clip img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.bv-image-compare-after-base,
.bv-image-compare-before-clip img {
    object-fit: cover;
}

.bv-image-compare-before-clip {
    z-index: 2;
    clip-path: inset(
        0 calc(100% - var(--compare-position)) 0 0
    );
}

/* Retire the old comparison layers if cached CSS/markup is encountered. */
.bv-image-compare > .bv-image-compare-before,
.bv-image-compare > .bv-image-compare-after {
    display: none;
}

.bv-image-compare-divider,
.bv-image-compare-label,
.bv-image-compare-help,
.bv-image-compare input[type="range"] {
    z-index: 5;
}

.bv-image-compare input[type="range"] {
    z-index: 10;
}


/* ==========================================================
   Phase 8.1 — Road / Bridge project case-study system
   ========================================================== */

/* Technical project covers are slightly shorter so modest-resolution
   verified project photography remains sharp and credible. */
.bv-project-story-hero-technical,
.bv-project-story-hero-technical .bv-project-story-content {
    min-height: 590px;
}

.bv-project-story-hero-technical .bv-project-story-image img {
    filter: saturate(.94) contrast(1.02);
}

.bv-project-story-hero-technical .bv-project-story-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(7,31,61,.92) 0%,
            rgba(7,31,61,.72) 38%,
            rgba(11,53,102,.36) 64%,
            rgba(11,53,102,.06) 100%
        ),
        linear-gradient(
            0deg,
            rgba(7,31,61,.72) 0%,
            rgba(7,31,61,.18) 58%,
            transparent 100%
        );
}

.bv-project-story-hero-technical .bv-project-back {
    margin-bottom: clamp(120px, 20vh, 185px);
}

/* Project facts with longer technical values */
.bv-project-story-facts dd {
    overflow-wrap: anywhere;
}

/* Technical overview */
.bv-project-technical {
    padding: clamp(85px, 9vw, 135px) 0;
    background: #071f3d;
    color: #fff;
}

.bv-project-technical-heading {
    max-width: 850px;
    margin-bottom: 50px;
}

.bv-project-technical-heading .bv-section-label {
    color: var(--gold-bright);
}

.bv-project-technical-heading h2 {
    color: #fff;
}

.bv-project-technical-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.14);
    border-left: 1px solid rgba(255,255,255,.14);
}

.bv-project-technical-card {
    min-width: 0;
    padding: clamp(27px, 3vw, 42px);
    border-right: 1px solid rgba(255,255,255,.14);
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.bv-project-technical-number {
    display: block;
    margin-bottom: 42px;
    color: var(--gold-bright);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .10em;
}

.bv-project-technical-card h3 {
    margin-bottom: 24px;
    color: #fff;
    font-size: clamp(1.25rem, 1.8vw, 1.65rem);
}

.bv-project-technical-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bv-project-technical-card li {
    position: relative;
    margin-bottom: 13px;
    padding-left: 18px;
    color: rgba(255,255,255,.72);
    font-size: .88rem;
    line-height: 1.58;
}

.bv-project-technical-card li::before {
    position: absolute;
    top: .72em;
    left: 0;
    width: 6px;
    height: 2px;
    content: "";
    background: var(--gold);
}

/* Technical drawings and route maps should remain readable in galleries. */
.bv-project-gallery figure img {
    background: #fff;
}

@media (max-width: 900px) {
    .bv-project-technical-grid {
        grid-template-columns: 1fr;
    }

    .bv-project-technical-number {
        margin-bottom: 24px;
    }
}

@media (max-width: 680px) {
    .bv-project-story-hero-technical,
    .bv-project-story-hero-technical .bv-project-story-content {
        min-height: 500px;
    }

    .bv-project-story-hero-technical .bv-project-back {
        margin-bottom: 95px;
    }

    .bv-project-technical {
        padding-block: 64px;
    }

    .bv-project-technical-heading {
        margin-bottom: 34px;
    }
}


/* ==========================================================
   Phase 8.3 — 2–3 Project Photos + Technical Drawings
   ========================================================== */

.bv-project-photo-section {
    background: #fff;
}

.bv-project-photo-count {
    margin: 0;
    color: var(--muted);
    font-size: .76rem;
}

.bv-project-photo-gallery {
    display: grid;
    gap: 10px;
}

.bv-project-photo-gallery.is-count-3 {
    grid-template-columns: 1.35fr .825fr .825fr;
}

.bv-project-photo-gallery.is-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bv-project-photo-gallery.is-count-1 {
    grid-template-columns: minmax(0, 1fr);
    max-width: 980px;
}

.bv-project-photo-gallery figure {
    min-width: 0;
    min-height: 330px;
    margin: 0;
    overflow: hidden;
    background: #e9edf0;
}

.bv-project-photo-gallery.is-count-3 figure:first-child {
    min-height: 500px;
}

.bv-project-photo-gallery.is-count-3 figure:nth-child(2),
.bv-project-photo-gallery.is-count-3 figure:nth-child(3) {
    min-height: 500px;
}

.bv-project-photo-gallery img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transition: transform .65s var(--bv-ease);
}

.bv-project-photo-gallery figure:hover img {
    transform: scale(1.025);
}

/* Technical graphics are intentionally visually separate from photography. */
.bv-project-drawings-section {
    background: var(--warm-white);
}

.bv-project-drawings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.bv-project-drawings-grid figure {
    display: grid;
    min-width: 0;
    min-height: 330px;
    margin: 0;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--border);
    background: #fff;
}

.bv-project-drawings-grid figure:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.bv-project-drawings-grid img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 650px;
    object-fit: contain;
}

@media (max-width: 900px) {
    .bv-project-photo-gallery.is-count-3 {
        grid-template-columns: 1fr 1fr;
    }

    .bv-project-photo-gallery.is-count-3 figure:first-child {
        grid-column: 1 / -1;
    }

    .bv-project-photo-gallery.is-count-3 figure,
    .bv-project-photo-gallery.is-count-3 figure:first-child {
        min-height: 360px;
    }
}

@media (max-width: 680px) {
    .bv-project-photo-gallery.is-count-3,
    .bv-project-photo-gallery.is-count-2,
    .bv-project-drawings-grid {
        grid-template-columns: 1fr;
    }

    .bv-project-photo-gallery.is-count-3 figure:first-child,
    .bv-project-drawings-grid figure:last-child:nth-child(odd) {
        grid-column: auto;
    }

    .bv-project-photo-gallery figure,
    .bv-project-photo-gallery.is-count-3 figure,
    .bv-project-photo-gallery.is-count-3 figure:first-child,
    .bv-project-drawings-grid figure {
        min-height: 280px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bv-project-photo-gallery img {
        transition: none !important;
    }
}


/* ==========================================================
   Phase 8.6 — Technical Overview missing-card fix
   ========================================================== */

.bv-project-technical-grid.is-count-1 {
    grid-template-columns: minmax(0, 1fr);
    max-width: 720px;
}

.bv-project-technical-grid.is-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bv-project-technical-grid.is-count-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Keep cards balanced even when the first project has fewer data groups. */
.bv-project-technical-card {
    min-height: 330px;
}

/* Improve readability of longer route / geometry facts. */
.bv-project-technical-card li {
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .bv-project-technical-grid.is-count-1,
    .bv-project-technical-grid.is-count-2,
    .bv-project-technical-grid.is-count-3 {
        grid-template-columns: 1fr;
        max-width: none;
    }

    .bv-project-technical-card {
        min-height: 0;
    }
}


/* ==========================================================
   Phase 9.0 — Integrated transparent Big-Vision logo
   ========================================================== */

/* The new emblem is transparent and needs no white badge. */
.bv-logo {
    display: inline-flex;
    min-width: 0;
    align-items: center;
}

.bv-header-logo-variant {
    display: inline-flex;
    width: 70px;
    height: 70px;
    align-items: center;
    justify-content: center;
}

.bv-header-logo-variant .bv-logo-image {
    display: block;
    width: 66px;
    height: 66px;
    max-width: none;
    max-height: none;
    object-fit: contain;
}

/* Dark photographic covers use the silver/gold transparent version. */
body.bv-has-dark-cover .bv-header:not(.is-scrolled) .bv-header-logo-dark {
    opacity: 1;
    transform: scale(1);
}

/* Once the header turns white, switch to charcoal/gold. */
body.bv-has-dark-cover .bv-header.is-scrolled .bv-header-logo-light,
body:not(.bv-has-dark-cover) .bv-header-logo-light {
    opacity: 1;
    transform: scale(1);
}

body.bv-has-dark-cover .bv-header.is-scrolled .bv-header-logo-dark,
body:not(.bv-has-dark-cover) .bv-header-logo-dark {
    opacity: 0;
    pointer-events: none;
    transform: scale(.94);
}

/* Footer uses a larger silver/gold mark without a background box. */
.bv-footer .bv-logo-image-dark-bg {
    width: 88px;
    height: 88px;
    max-width: none;
    max-height: none;
    object-fit: contain;
}

/* Remove the previous fallback badge behavior completely. */
body.bv-has-dark-cover .bv-header:not(.is-scrolled) .bv-header-logo-dark {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

@media (max-width: 1100px) {
    .bv-header-logo-variant {
        width: 62px;
        height: 62px;
    }

    .bv-header-logo-variant .bv-logo-image {
        width: 58px;
        height: 58px;
    }
}

@media (max-width: 680px) {
    .bv-header-logo-variant {
        width: 54px;
        height: 54px;
    }

    .bv-header-logo-variant .bv-logo-image {
        width: 50px;
        height: 50px;
    }

    .bv-footer .bv-logo-image-dark-bg {
        width: 76px;
        height: 76px;
    }
}


/* ==========================================================
   Phase 9.1 — Complete Expertise
   ========================================================== */

.bv-expertise-archive-hero {
    min-height: 560px;
}

.bv-expertise-archive-hero .bv-inner-hero-overlay,
.bv-single-expertise-hero-complete .bv-inner-hero-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(7,31,61,.94) 0%,
            rgba(7,31,61,.79) 32%,
            rgba(11,53,102,.48) 61%,
            rgba(11,53,102,.10) 88%,
            rgba(11,53,102,0) 100%
        ),
        linear-gradient(
            0deg,
            rgba(7,31,61,.48) 0%,
            rgba(7,31,61,.08) 58%,
            transparent 100%
        );
}

.bv-expertise-card-grid-complete {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    padding-bottom: clamp(80px, 9vw, 130px);
}

.bv-expertise-card-complete {
    min-width: 0;
    border: 1px solid var(--border);
    background: #fff;
    transition:
        transform .32s var(--bv-ease),
        box-shadow .32s ease,
        border-color .32s ease;
}

.bv-expertise-card-complete:hover {
    border-color: rgba(211,166,44,.55);
    box-shadow: 0 24px 48px rgba(7,31,61,.12);
    transform: translateY(-5px);
}

.bv-expertise-card-complete > a {
    display: block;
    height: 100%;
}

.bv-expertise-card-complete .bv-expertise-card-media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--navy-deep);
}

.bv-expertise-card-complete .bv-expertise-card-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform .7s var(--bv-ease),
        filter .4s ease;
}

.bv-expertise-card-complete:hover .bv-expertise-card-media img {
    filter: saturate(1.04) contrast(1.02);
    transform: scale(1.04);
}

.bv-expertise-card-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            0deg,
            rgba(7,31,61,.58) 0%,
            rgba(7,31,61,.10) 56%,
            transparent 100%
        );
}

.bv-expertise-card-index {
    position: absolute;
    top: 18px;
    left: 18px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.33);
    color: var(--gold-bright);
    background: rgba(7,31,61,.56);
    font-size: .65rem;
    font-weight: 700;
    backdrop-filter: blur(7px);
}

.bv-expertise-card-complete .bv-expertise-card-body {
    padding: 28px;
}

.bv-expertise-card-group {
    margin-bottom: 10px !important;
    color: var(--gold-text) !important;
    font-size: .64rem !important;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-expertise-card-complete h2 {
    margin-bottom: 13px;
    color: var(--navy-deep);
    font-size: clamp(1.3rem, 1.7vw, 1.75rem);
}

.bv-expertise-card-complete .bv-expertise-card-body > p:not(.bv-expertise-card-group) {
    min-height: 70px;
    margin-bottom: 20px;
    color: var(--muted);
    font-size: .86rem;
    line-height: 1.65;
}

.bv-expertise-card-complete ul {
    min-height: 92px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}

.bv-expertise-card-complete li {
    position: relative;
    margin-bottom: 8px;
    padding-left: 14px;
    color: var(--navy);
    font-size: .75rem;
    line-height: 1.45;
}

.bv-expertise-card-complete li::before {
    position: absolute;
    top: .66em;
    left: 0;
    width: 5px;
    height: 2px;
    content: "";
    background: var(--gold);
}

.bv-expertise-card-link {
    display: inline-block;
    color: var(--navy-deep);
    font-size: .72rem;
    font-weight: 700;
    transition:
        color .25s ease,
        transform .25s var(--bv-ease);
}

.bv-expertise-card-complete:hover .bv-expertise-card-link {
    color: var(--gold-text);
    transform: translateX(4px);
}

.bv-expertise-closing {
    padding: clamp(70px, 8vw, 110px) 0;
    background: var(--navy-deep);
}

.bv-expertise-closing-inner {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
}

.bv-expertise-closing h2 {
    max-width: 760px;
    color: #fff;
}

/* Single expertise */
.bv-single-expertise-hero-complete {
    min-height: 560px;
}

.bv-single-expertise-hero-complete .bv-inner-hero-content {
    max-width: 820px;
}

.bv-expertise-experience {
    padding: clamp(85px, 9vw, 130px) 0;
    background: var(--navy-deep);
    color: #fff;
}

.bv-expertise-experience-grid {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    gap: clamp(45px, 8vw, 120px);
}

.bv-expertise-experience h2 {
    max-width: 510px;
    color: #fff;
}

.bv-experience-list {
    border-top: 1px solid rgba(255,255,255,.16);
}

.bv-experience-item {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 18px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255,255,255,.16);
}

.bv-experience-item span {
    color: var(--gold-bright);
    font-size: .66rem;
    font-weight: 700;
}

.bv-experience-item p {
    margin: 0;
    color: rgba(255,255,255,.78);
    line-height: 1.6;
}

/* Keep related projects honest: no placeholder card if no thumbnail. */
.bv-expertise-project-media:empty {
    display: none;
}

@media (max-width: 980px) {
    .bv-expertise-card-grid-complete {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bv-expertise-experience-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }
}

@media (max-width: 680px) {
    .bv-expertise-archive-hero,
    .bv-single-expertise-hero-complete {
        min-height: 470px;
    }

    .bv-expertise-card-grid-complete {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .bv-expertise-card-complete .bv-expertise-card-body {
        padding: 22px;
    }

    .bv-expertise-card-complete .bv-expertise-card-body > p:not(.bv-expertise-card-group),
    .bv-expertise-card-complete ul {
        min-height: 0;
    }

    .bv-expertise-closing-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .bv-experience-item {
        grid-template-columns: 42px 1fr;
    }
}


/* ==========================================================
   Phase 9.3 — Leadership-first People page
   ========================================================== */

.bv-people-leadership-hero .bv-people-hero-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(7,31,61,.94) 0%,
            rgba(7,31,61,.78) 38%,
            rgba(11,53,102,.42) 66%,
            rgba(11,53,102,.08) 100%
        ),
        linear-gradient(
            0deg,
            rgba(7,31,61,.55) 0%,
            transparent 60%
        );
}

/* Leadership section */
.bv-leadership-section {
    padding: clamp(85px, 9vw, 135px) 0;
    background: #071f3d;
}

.bv-leadership-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.bv-leadership-card {
    min-width: 0;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.035);
    transition:
        transform .35s var(--bv-ease),
        border-color .35s ease,
        background .35s ease;
}

.bv-leadership-card:hover {
    border-color: rgba(214,168,48,.55);
    background: rgba(255,255,255,.055);
    transform: translateY(-5px);
}

.bv-leadership-card > a {
    display: grid;
    grid-template-columns: minmax(250px, .82fr) minmax(0, 1.18fr);
    height: 100%;
}

.bv-leadership-portrait {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.01)
        );
}

.bv-leadership-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bv-leadership-mark {
    position: absolute;
    top: 24px;
    left: 24px;
    z-index: 4;
    color: rgba(255,255,255,.42);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .14em;
}

.bv-leadership-initials {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 520px;
    place-items: center;
    background:
        radial-gradient(circle at 50% 35%, rgba(214,168,48,.15), transparent 28%),
        linear-gradient(145deg, #0c315b, #071f3d 70%);
}

.bv-leadership-initials span {
    color: rgba(255,255,255,.93);
    font-size: clamp(5rem, 9vw, 8rem);
    font-weight: 700;
    letter-spacing: -.06em;
}

.bv-leadership-arrow {
    position: absolute;
    right: 22px;
    bottom: 22px;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: var(--navy-deep);
    background: var(--gold-bright);
    transition: transform .3s var(--bv-ease);
}

.bv-leadership-card:hover .bv-leadership-arrow {
    transform: translate(3px, -3px);
}

.bv-leadership-content {
    display: flex;
    min-width: 0;
    padding: clamp(30px, 4vw, 54px);
    flex-direction: column;
}

.bv-leadership-content .bv-section-label {
    color: var(--gold-bright);
}

.bv-leadership-content h3 {
    margin-bottom: 10px;
    color: #fff;
    font-size: clamp(2rem, 3vw, 3.2rem);
}

.bv-leadership-content > strong {
    display: block;
    margin-bottom: 24px;
    color: rgba(255,255,255,.78);
    font-size: .88rem;
    font-weight: 600;
}

.bv-leadership-content > p:not(.bv-section-label) {
    margin-bottom: 28px;
    color: rgba(255,255,255,.67);
    line-height: 1.72;
}

.bv-leadership-facts {
    display: grid;
    gap: 12px;
    margin-top: auto;
    padding-top: 26px;
    border-top: 1px solid rgba(255,255,255,.14);
}

.bv-leadership-facts span {
    color: rgba(255,255,255,.62);
    font-size: .73rem;
    line-height: 1.55;
}

.bv-leadership-link {
    display: inline-block;
    margin-top: 26px;
    color: var(--gold-bright);
    font-size: .72rem;
    font-weight: 700;
}

/* Public profile */
.bv-profile-initials-placeholder {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 14px;
    background:
        radial-gradient(circle at 50% 30%, rgba(214,168,48,.16), transparent 30%),
        linear-gradient(145deg, #0d396a, #071f3d 75%);
}

.bv-profile-initials-placeholder > span {
    color: #fff;
    font-size: clamp(5rem, 10vw, 9rem);
    font-weight: 700;
    letter-spacing: -.06em;
}

.bv-profile-initials-placeholder small {
    color: rgba(255,255,255,.48);
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.bv-profile-public-section {
    padding: clamp(85px, 9vw, 130px) 0;
}

.bv-profile-public-grid {
    display: grid;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: clamp(40px, 8vw, 120px);
}

.bv-profile-public-list {
    border-top: 1px solid var(--border);
}

.bv-profile-public-item {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 18px;
    padding: 20px 0;
    border-bottom: 1px solid var(--border);
}

.bv-profile-public-item span {
    color: var(--gold-text);
    font-size: .66rem;
    font-weight: 700;
}

.bv-profile-public-item p {
    margin: 0;
    color: var(--navy-deep);
    line-height: 1.62;
}

.bv-profile-expertise-section {
    background: #071f3d;
}

.bv-profile-expertise-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.14);
    border-left: 1px solid rgba(255,255,255,.14);
}

.bv-profile-expertise-card {
    min-height: 210px;
    padding: 30px;
    border-right: 1px solid rgba(255,255,255,.14);
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.bv-profile-expertise-card span {
    display: block;
    margin-bottom: 52px;
    color: var(--gold-bright);
    font-size: .65rem;
    font-weight: 700;
}

.bv-profile-expertise-card h3 {
    color: #fff;
    font-size: 1.04rem;
    line-height: 1.45;
}

.bv-profile-highlights-section {
    background: var(--warm-white);
}

.bv-profile-privacy-note {
    padding: 24px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: #fff;
}

.bv-profile-privacy-note p {
    max-width: 820px;
    margin: 0;
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.65;
}

/* Better initials for non-leadership cards too */
.bv-team-showcase-placeholder span {
    font-size: clamp(3rem, 6vw, 5rem);
    letter-spacing: -.05em;
}

@media (max-width: 1050px) {
    .bv-leadership-card > a {
        grid-template-columns: 1fr;
    }

    .bv-leadership-portrait,
    .bv-leadership-initials {
        min-height: 390px;
    }
}

@media (max-width: 820px) {
    .bv-leadership-grid,
    .bv-profile-public-grid {
        grid-template-columns: 1fr;
    }

    .bv-profile-expertise-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 580px) {
    .bv-leadership-grid,
    .bv-profile-expertise-grid {
        grid-template-columns: 1fr;
    }

    .bv-leadership-content {
        padding: 26px;
    }

    .bv-leadership-portrait,
    .bv-leadership-initials {
        min-height: 330px;
    }

    .bv-profile-expertise-card {
        min-height: 0;
    }

    .bv-profile-expertise-card span {
        margin-bottom: 28px;
    }
}


/* ==========================================================
   Phase 9.6 — Leadership profile brand/style correction
   ========================================================== */

/*
 * The individual leadership profile previously inherited the original
 * light editorial design and later dark-background overrides, causing dark
 * typography on dark navy. This section deliberately normalizes the entire
 * profile hero to the same Poppins / navy / gold system used site-wide.
 */

.bv-public-leadership-profile,
.bv-public-leadership-profile * {
    font-family: var(--font-body);
}

.bv-public-leadership-profile h1,
.bv-public-leadership-profile h2,
.bv-public-leadership-profile h3,
.bv-public-leadership-profile h4 {
    font-family: var(--font-display);
}

.bv-profile-brand-hero {
    position: relative;
    padding: 150px 0 clamp(78px, 8vw, 118px);
    color: #fff;
    background:
        radial-gradient(
            circle at 82% 16%,
            rgba(211,166,44,.13),
            transparent 24%
        ),
        linear-gradient(
            115deg,
            #041527 0%,
            #071f3d 46%,
            #0b3566 100%
        ) !important;
}

.bv-profile-brand-hero::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            rgba(4,21,39,.55) 0%,
            transparent 48%,
            rgba(7,31,61,.12) 100%
        );
}

.bv-profile-brand-hero .bv-profile-editorial-grid-pattern {
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 88px 88px;
    mask-image: linear-gradient(
        to right,
        rgba(0,0,0,.2),
        #000 55%,
        rgba(0,0,0,.5)
    );
}

.bv-profile-brand-hero .bv-container {
    position: relative;
    z-index: 2;
}

.bv-profile-brand-hero .bv-profile-back {
    margin-bottom: 38px;
    color: rgba(255,255,255,.72);
    font-size: var(--text-xs);
    font-weight: 650;
    letter-spacing: .08em;
}

.bv-profile-brand-hero .bv-profile-back:hover {
    color: #fff;
}

.bv-profile-brand-hero .bv-profile-editorial-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, .62fr);
    gap: clamp(54px, 8vw, 118px);
}

.bv-profile-brand-hero .bv-profile-editorial-copy .bv-section-label {
    margin-bottom: 18px;
    color: var(--gold-bright);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: .13em;
}

.bv-profile-brand-hero .bv-profile-editorial-copy h1 {
    max-width: 760px;
    margin-bottom: 18px;
    color: #fff !important;
    font-family: var(--font-display);
    font-size: clamp(3.15rem, 5.3vw, 5.45rem);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -.042em;
    text-shadow: 0 4px 26px rgba(0,0,0,.16);
}

.bv-profile-brand-hero .bv-profile-editorial-role {
    display: block;
    width: fit-content;
    margin: 0 0 26px;
    padding-bottom: 13px;
    color: #e6b94c !important;
    font-family: var(--font-display);
    font-size: clamp(1.25rem, 2vw, 1.8rem);
    font-weight: 600;
    letter-spacing: -.02em;
}

.bv-profile-brand-hero .bv-profile-editorial-role::after {
    width: 62px;
    height: 3px;
    background: var(--gold-bright);
}

.bv-profile-brand-hero .bv-profile-editorial-intro {
    max-width: 700px;
    margin: 0;
    color: rgba(255,255,255,.76) !important;
    font-size: var(--text-lead);
    line-height: 1.72;
}

.bv-profile-brand-hero .bv-profile-editorial-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 34px;
    border-top: 1px solid rgba(255,255,255,.16);
    border-bottom: 1px solid rgba(255,255,255,.16);
}

.bv-profile-brand-hero .bv-profile-editorial-facts > div {
    min-height: 118px;
    padding: 22px 20px;
    border-right: 1px solid rgba(255,255,255,.16);
}

.bv-profile-brand-hero .bv-profile-editorial-facts > div:first-child {
    padding-left: 0;
}

.bv-profile-brand-hero .bv-profile-editorial-facts > div:last-child {
    border-right: 0;
}

.bv-profile-brand-hero .bv-profile-editorial-facts span {
    margin-bottom: 8px;
    color: var(--gold-bright) !important;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .11em;
}

.bv-profile-brand-hero .bv-profile-editorial-facts strong {
    color: rgba(255,255,255,.88) !important;
    font-size: .84rem;
    font-weight: 500;
    line-height: 1.52;
}

.bv-profile-brand-hero
.bv-profile-editorial-facts > div:first-child strong {
    color: #fff !important;
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 700;
}

.bv-profile-brand-hero .bv-profile-editorial-portrait {
    width: min(100%, 420px);
}

.bv-profile-brand-hero .bv-profile-portrait-accent {
    top: -18px;
    left: -18px;
    width: 44%;
    height: 64%;
    background: rgba(4,21,39,.84);
    border-top: 2px solid var(--gold-bright);
    border-left: 2px solid var(--gold-bright);
}

.bv-profile-brand-hero .bv-profile-portrait-frame {
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 30px 60px rgba(0,0,0,.32);
}

.bv-profile-brand-hero .bv-profile-portrait-caption {
    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(4,21,39,.80) 43%,
            rgba(4,21,39,.98)
        );
}

.bv-profile-brand-hero .bv-profile-portrait-caption > span {
    color: var(--gold-bright);
}

.bv-profile-brand-hero .bv-profile-portrait-caption > strong {
    color: #fff;
    font-family: var(--font-display);
}

.bv-profile-brand-hero .bv-profile-portrait-caption > small {
    color: rgba(255,255,255,.76);
}

/* Main profile content uses the same compact typography as Expertise/Projects. */
.bv-public-leadership-profile .bv-profile-biography-section {
    background: #fff;
}

.bv-public-leadership-profile .bv-profile-side-heading h2,
.bv-public-leadership-profile .bv-profile-public-section h2 {
    font-size: clamp(2rem, 3.4vw, 3.35rem);
}

.bv-public-leadership-profile .bv-profile-biography-copy {
    color: #4f5a64;
    font-size: .98rem;
    line-height: 1.76;
}

.bv-public-leadership-profile .bv-profile-biography-copy > p:not(.bv-section-label):first-of-type {
    color: var(--navy-deep);
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.7;
}

.bv-public-leadership-profile .bv-profile-side-heading dl {
    margin-top: 30px;
}

.bv-public-leadership-profile .bv-profile-side-heading dt {
    color: #7a838a;
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .09em;
}

.bv-public-leadership-profile .bv-profile-side-heading dd {
    color: var(--navy-deep);
    font-size: .86rem;
    font-weight: 600;
    line-height: 1.55;
}

.bv-leadership-experience {
    display: flex !important;
    align-items: baseline;
    gap: 8px;
}

.bv-leadership-experience strong {
    color: var(--gold-bright);
    font-family: var(--font-display);
    font-size: 1.2rem;
}

/* Remove public/internal privacy-explanation block from older cached markup. */
.bv-profile-privacy-note {
    display: none !important;
}

@media (max-width: 980px) {
    .bv-profile-brand-hero .bv-profile-editorial-grid {
        grid-template-columns: minmax(0, 1fr) minmax(300px, .58fr);
        gap: 42px;
    }

    .bv-profile-brand-hero .bv-profile-editorial-facts {
        grid-template-columns: 1fr 1fr;
    }

    .bv-profile-brand-hero
    .bv-profile-editorial-facts > div:first-child {
        grid-column: 1 / -1;
        padding-left: 20px;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.16);
    }
}

@media (max-width: 760px) {
    .bv-profile-brand-hero {
        padding: 126px 0 64px;
    }

    .bv-profile-brand-hero .bv-profile-editorial-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .bv-profile-brand-hero .bv-profile-editorial-copy h1 {
        font-size: clamp(2.65rem, 12vw, 4rem);
    }

    .bv-profile-brand-hero .bv-profile-editorial-portrait {
        width: min(100%, 390px);
        margin: 0 auto;
    }

    .bv-profile-brand-hero .bv-profile-editorial-facts {
        grid-template-columns: 1fr;
    }

    .bv-profile-brand-hero
    .bv-profile-editorial-facts > div,
    .bv-profile-brand-hero
    .bv-profile-editorial-facts > div:first-child {
        grid-column: auto;
        padding: 18px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.16);
    }

    .bv-profile-brand-hero
    .bv-profile-editorial-facts > div:last-child {
        border-bottom: 0;
    }
}


/* ==========================================================
   Phase 9.7 — Leadership cover contrast fallback
   ========================================================== */

.single-bv_team .bv-profile-brand-hero h1,
.single-bv_team .bv-profile-brand-hero h2,
.single-bv_team .bv-profile-brand-hero h3,
.single-bv_team .bv-profile-brand-hero strong,
.single-bv_team .bv-profile-brand-hero p:not(.bv-section-label),
.single-bv_team .bv-profile-editorial-hero h1,
.single-bv_team .bv-profile-editorial-hero h2,
.single-bv_team .bv-profile-editorial-hero h3,
.single-bv_team .bv-profile-editorial-hero strong,
.single-bv_team .bv-profile-editorial-hero p:not(.bv-section-label) {
    color: #fff !important;
}

.single-bv_team .bv-profile-brand-hero .bv-section-label,
.single-bv_team .bv-profile-brand-hero .bv-profile-editorial-role,
.single-bv_team .bv-profile-brand-hero .bv-profile-editorial-facts span,
.single-bv_team .bv-profile-editorial-hero .bv-section-label,
.single-bv_team .bv-profile-editorial-hero .bv-profile-editorial-role,
.single-bv_team .bv-profile-editorial-hero .bv-profile-editorial-facts span {
    color: #e5b742 !important;
}


/* ==========================================================
   Phase 9.8 — Restore compact People cards + People cover
   ========================================================== */

/* Dedicated People cover: same Big-Vision visual language, but shorter
   than the original oversized People hero. */
.bv-people-team-cover {
    min-height: 570px !important;
    align-items: flex-end;
    color: #fff;
    background:
        linear-gradient(
            110deg,
            rgba(4,20,39,.96) 0%,
            rgba(7,31,61,.82) 42%,
            rgba(11,53,102,.50) 70%,
            rgba(11,53,102,.20) 100%
        ),
        var(--bv-people-hero),
        linear-gradient(
            135deg,
            #071f3d,
            #0b3566
        ) !important;
    background-position: center !important;
    background-size: cover !important;
}

.bv-people-team-cover .bv-people-hero-overlay {
    background:
        radial-gradient(
            circle at 78% 28%,
            rgba(211,166,44,.13),
            transparent 34%
        ),
        linear-gradient(
            0deg,
            rgba(4,20,39,.35),
            transparent 54%
        );
}

.bv-people-team-cover .bv-people-hero-content {
    padding-top: 150px;
    padding-bottom: 58px;
}

.bv-people-team-cover .bv-people-hero-content h1 {
    max-width: 900px;
    margin-bottom: 18px;
    color: #fff;
    font-size: clamp(2.9rem, 5vw, 5rem);
    line-height: 1.03;
}

.bv-people-team-cover
.bv-people-hero-content > p:not(.bv-section-label) {
    max-width: 720px;
    color: rgba(255,255,255,.80);
    font-size: .98rem;
    line-height: 1.68;
}

.bv-people-team-cover .bv-people-hero-facts {
    max-width: 680px;
    margin-top: 34px;
}

.bv-people-team-cover .bv-people-hero-facts > div {
    padding: 18px 20px;
}

.bv-people-team-cover .bv-people-hero-facts strong {
    font-size: 1.7rem;
}

/* Restore the compact card presentation instead of the oversized split
   leadership panels. */
.bv-team-showcase-restored {
    padding-top: clamp(80px, 8vw, 120px);
}

.bv-team-showcase-restored .bv-team-showcase-grid {
    grid-template-columns:
        repeat(auto-fit, minmax(250px, 300px));
    justify-content: flex-start;
    gap: 38px 28px;
}

.bv-team-showcase-restored .bv-team-showcase-card {
    width: 100%;
}

.bv-team-showcase-restored .bv-team-showcase-photo {
    aspect-ratio: 3 / 4;
}

.bv-team-showcase-restored
.bv-team-showcase-photo > img {
    object-position: center 16%;
}

.bv-team-showcase-restored
.bv-team-showcase-details {
    min-height: 250px;
}

.bv-team-showcase-restored
.bv-team-showcase-summary {
    font-size: .84rem;
    line-height: 1.62;
}

.bv-team-showcase-restored
.bv-team-showcase-meta {
    gap: 6px;
}

.bv-team-showcase-restored
.bv-team-showcase-meta span {
    max-width: 100%;
    white-space: normal;
    line-height: 1.4;
}

.bv-team-card-specialization {
    margin: 14px 0 0;
    color: #67717a;
    font-size: .72rem;
    line-height: 1.5;
}

.bv-team-showcase-restored
.bv-team-showcase-link {
    margin-top: auto;
}

@media (max-width: 900px) {
    .bv-people-team-cover {
        min-height: 520px !important;
    }

    .bv-people-team-cover .bv-people-hero-content {
        padding-top: 135px;
        padding-bottom: 48px;
    }

    .bv-team-showcase-restored
    .bv-team-showcase-grid {
        grid-template-columns:
            repeat(auto-fit, minmax(235px, 300px));
        justify-content: center;
    }
}

@media (max-width: 600px) {
    .bv-people-team-cover {
        min-height: 500px !important;
    }

    .bv-people-team-cover .bv-people-hero-facts {
        grid-template-columns: 1fr 1fr;
    }

    .bv-people-team-cover
    .bv-people-hero-facts > div:last-child {
        grid-column: 1 / -1;
    }

    .bv-team-showcase-restored
    .bv-team-showcase-grid {
        grid-template-columns: minmax(0, 340px);
    }

    .bv-team-showcase-restored
    .bv-team-showcase-details {
        min-height: 0;
    }
}


/* ==========================================================
   Phase 9.9 — Clean public People page
   ========================================================== */

.bv-team-showcase-restored .bv-team-showcase-heading {
    grid-template-columns: minmax(0, 760px);
}

.bv-team-showcase-restored .bv-team-showcase-intro {
    max-width: 620px;
}

/* Do not expose internal WordPress/profile-management language. */
.bv-team-showcase-restored .bv-team-total {
    display: none !important;
}


/* Phase 10.0 — Project Information */
.bv-project-story-facts dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bv-project-story-facts dl > div {
    min-width: 0;
}

.bv-project-story-facts dt {
    color: #7a838a;
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-project-story-facts dd {
    color: var(--navy-deep);
    font-size: .88rem;
    font-weight: 600;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

@media (max-width: 680px) {
    .bv-project-story-facts dl {
        grid-template-columns: 1fr;
    }
}
