.brand{display:flex;align-items:center;gap:18px}
.logo-mark{position:relative;display:block;overflow:hidden;flex:0 0 auto;background:transparent}
.logo-mark img{display:block}
.brand .logo-mark-header{display:block;width:140px;height:70px;margin:0;background:transparent}
.logo-mark-header img{width:100%;height:100%;object-fit:contain}
.hero{padding-top:88px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.65fr);gap:52px;align-items:stretch}
.hero-copy{padding:14px 0}
.hero-portrait{margin:0;min-height:520px;overflow:hidden;background:#e4e7e5}
.hero-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:51% center;filter:saturate(.92) contrast(1.02)}
.hero h1{font-size:clamp(44px,5.85vw,75px);max-width:820px}
.identity-signoff{display:flex;align-items:center;gap:30px;margin:0 0 52px}
.logo-mark-signoff{width:128px;height:68px}
.logo-mark-signoff img{width:100%;height:100%;object-fit:contain}
.identity-signoff>span:last-child{display:flex;flex-direction:column;padding-left:28px;border-left:1px solid rgba(255,255,255,.24)}
.identity-signoff strong{font:500 18px/1.25 Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:white}
.identity-signoff small{margin-top:9px;font:500 13px/1.25 Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#aeb8b5}

/* Executive editorial direction */
:root{--ink:#0b0e0d;--paper:#f3f2ed;--teal:#00d9bc;--soft:#c4cac7}
body{background:var(--paper)}
.nav-wrap{border-bottom-color:rgba(255,255,255,.12)}
.nav{height:94px}
.nav-links a{letter-spacing:.04em}
.hero{position:relative;padding-top:96px;padding-bottom:58px;color:white;background:var(--ink);box-shadow:0 0 0 100vmax var(--ink);clip-path:inset(0 -100vmax)}
.hero-grid{grid-template-columns:minmax(0,1.5fr) minmax(320px,.72fr);gap:72px}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:38px 0}
.hero .eyebrow{color:var(--teal);margin-bottom:38px}
.hero h1{font-weight:500;letter-spacing:-.052em;color:#f7f7f3}
.hero h1 em{color:var(--teal)}
.hero-portrait{position:relative;min-height:590px;border-radius:2px;border-bottom:8px solid var(--teal);box-shadow:22px 22px 0 #173e38}
.hero-bottom{margin:70px 0 66px;border-top:1px solid rgba(255,255,255,.18);padding-top:36px}
.hero .lead{color:#d8dcda}
.hero .text-link{color:white}
.signal-grid{border-color:rgba(255,255,255,.2)}
.signal-grid div{border-color:rgba(255,255,255,.2)}
.signal-grid strong{color:white}
.signal-grid span{color:#aeb8b5}
.signal-heading{font:500 14px/1.5 Manrope,sans-serif;color:var(--soft);margin:0 0 18px}
.signal-grid>div{min-width:0}
.signal-grid a{display:block;height:100%;color:inherit;text-decoration:none}
.signal-grid a:hover strong{color:var(--teal)}
.signal-grid a:focus-visible{outline:2px solid var(--teal);outline-offset:8px}
.signal-grid strong small{font-size:18px;font-weight:500;letter-spacing:0}
.signal-grid span{font-size:14px;line-height:1.55}
.signal-grid .signal-title{font:600 16px/1.5 Manrope,sans-serif;color:var(--paper);margin-top:12px;margin-bottom:8px}
.signal-recognition{margin:20px 0 0;font-size:14px;line-height:1.6;color:var(--soft)}
.signal-recognition b{font-weight:600;color:var(--teal)}
@media(min-width:851px){.signal-grid{grid-template-rows:auto auto 1fr;grid-auto-flow:column;row-gap:10px}.signal-grid>div{display:grid;grid-template-rows:subgrid;grid-row:span 3}.signal-grid a{display:grid;grid-template-rows:subgrid;grid-row:span 3}.signal-grid span,.signal-grid .signal-title{margin:0}.signal-grid strong{line-height:1.25}}
#eenergy-impact,#virgin-impact{scroll-margin-top:120px}
.section-label{display:flex;align-items:center;gap:14px;color:#3c5c56}
.section-label::before{content:"";width:34px;height:2px;background:var(--teal)}
.section h2,.section-intro h2{font-weight:500}
.statement{padding-top:138px}
.statement .two-col h2{position:relative}
.statement .two-col h2::after{content:"";display:block;width:84px;height:7px;background:var(--teal);margin-top:34px}
.career{background:#101413}
.timeline article{transition:background .25s ease,transform .25s ease}
.timeline article:hover{background:#161d1b;transform:translateY(-4px)}
.timeline article:last-child{background:#143a34;padding-left:30px}
.case{background:#ecece6;border-color:#c8cdca;transition:transform .25s ease,box-shadow .25s ease}
.case:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(11,14,13,.1)}
.case.featured{background:#fff;box-shadow:0 18px 50px rgba(11,14,13,.07)}
.case-no{font-size:16px;color:#166e62}
.align{background:#103e37}
.align-grid>div{transition:background .25s ease}
.align-grid>div:hover{background:rgba(255,255,255,.05)}
.align-grid strong{display:inline-flex;align-items:center;justify-content:center;width:74px;height:74px;border:1px solid rgba(0,217,188,.55);border-radius:50%;font-size:40px}
.proof{background:#e5e5df}
.reputation span{border-left:3px solid var(--teal);padding-left:18px}
.contact{background:#090c0b}
.button.primary{transition:transform .2s ease,background .2s ease}
.button.primary:hover{transform:translateY(-2px)}
@media(max-width:850px){.nav-links{top:94px}.hero{padding-top:52px}.hero-grid{grid-template-columns:1fr;gap:38px}.hero-portrait{min-height:0;aspect-ratio:4/3}}
@media(max-width:500px){.nav{height:86px}.nav-links{top:86px}.brand{gap:10px}.brand .logo-mark-header{width:112px;height:60px}.hero-portrait{aspect-ratio:1/1}.identity-signoff{gap:18px;margin-bottom:40px}.logo-mark-signoff{width:104px;height:56px}.identity-signoff>span:last-child{padding-left:18px}.identity-signoff strong{font-size:13px;letter-spacing:.13em}.identity-signoff small{font-size:10px;letter-spacing:.14em}}

/* ALIGN: stage, strategic purpose and supporting activities. */
.align-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.align-grid>div{display:grid;grid-template-rows:auto auto 1fr auto;min-width:0}
.align-grid h3{color:var(--teal)}
.align-grid p{color:var(--paper);font-size:1rem;line-height:1.55;margin:0}
.align-grid .align-activities{color:var(--soft);font-size:.875rem;line-height:1.65;margin-top:24px}
@media(max-width:850px){.align-grid{grid-template-columns:1fr}.align-grid>div{padding-right:0}.align-grid h3{margin-top:24px}.align-grid .align-activities{margin-top:16px}}

/* Subtle connections between the case studies and the framework. */
.case-align{font-size:.875rem;line-height:1.65;color:#596460;margin:28px 0 0;padding-top:18px;border-top:1px solid #b9bfbc}
.case-align a{color:inherit;text-decoration:underline;text-decoration-color:#87938e;text-underline-offset:3px}
.case-align a:hover{color:#0c6f62}
.case-align a:focus-visible{outline:2px solid #0c6f62;outline-offset:4px}

/* Visible contact address across desktop and mobile navigation. */
.nav{gap:24px}.nav .brand{order:0}.nav-links{order:1;margin-left:auto;align-items:center;gap:24px}.nav-email{order:2;flex-shrink:0;color:var(--teal);font:600 14px/1.4 Manrope,sans-serif;text-decoration:none;padding:10px 0;white-space:nowrap}.nav-email:hover{text-decoration:underline;text-underline-offset:4px}.nav-email:focus-visible{outline:2px solid var(--teal);outline-offset:5px}.nav .menu{order:3}
@media(max-width:850px){.nav{height:126px;flex-wrap:wrap;gap:0;padding-top:8px;padding-bottom:8px}.nav .menu{margin-left:auto}.nav-email{order:4;width:100%;text-align:right;padding:0 0 4px}.nav-links{top:126px;margin-left:0;align-items:stretch;gap:24px}}
@media(max-width:500px){.nav{height:116px}.nav-links{top:116px}}
