
/* RAPCO2 NEXT — V6.3 benchmark-led homepage. Scoped so Visione and legacy routes keep their layout. */
.bh-home{background:#F1F5FC;color:#0C162A;overflow:hidden}
.bh-home *,.bh-home *::before,.bh-home *::after{box-sizing:border-box}
.bh-home h1,.bh-home h2,.bh-home h3,.bh-home figure,.bh-home p{margin:0}
.bh-home img{display:block;width:100%;height:100%;object-fit:cover}
.bh-home h1,.bh-home h2{font-family:Inter,system-ui,sans-serif;font-weight:750;letter-spacing:-.084em;line-height:.98}
.bh-home .rap-accent{font:400 italic 1em/.9 Inter,system-ui,sans-serif;letter-spacing:-.045em}
.bh-wrap{width:min(1440px,calc(100% - 120px));margin-inline:auto;position:relative}
.bh-count,.bh-eyebrow,.bh-question,.bh-micro,.bh-corner{font:760 10px/1.5 Inter,system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.bh-count{color:#254C96}.bh-count--light,.bh-eyebrow--light{color:#D3E0F5}
.bh-eyebrow{display:flex;gap:12px;align-items:center}.bh-divider{opacity:.45}
.bh-spark{display:inline-block;width:8px;height:8px;background:#5B91FF;border-radius:50%;box-shadow:0 0 18px #5B91FF}
.bh-home a:focus-visible,.bh-home button:focus-visible{outline:3px solid #6F95D3;outline-offset:5px}
.bh-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-radius:999px;min-height:56px;padding:0 25px;text-decoration:none;font-size:12px;letter-spacing:.03em;font-weight:760;transition:transform .25s ease,background .25s ease}.bh-button:hover{transform:translateY(-3px)}
.bh-button--lime{background:#5B91FF;color:#0C162A}.bh-button--outline{border:1px solid rgba(255,255,255,.65);color:#fff}
.bh-button span,.bh-link span{font-size:20px;font-weight:400}.bh-link{display:inline-flex;gap:18px;align-items:center;width:max-content;border-bottom:1px solid currentColor;padding-bottom:10px;font-size:12px;font-weight:720;color:#17294F;text-decoration:none}.bh-link--light{color:#F1F5FC}
.bh-home [data-reveal]{position:relative}
/* Header controls must remain readable on the cinematic dark background. */
body.next-home-active .site-header .header-cta{background:#5B91FF!important;color:#0C162A!important;opacity:1!important}
body.next-home-active .site-header .header-cta b{background:#17294F!important;color:#5B91FF!important}
body.next-home-active .site-header .nav-toggle{background:#0C162A!important}
body.next-home-active .site-header .nav-toggle span{display:block!important;background:#D3E0F5!important;opacity:1!important}
/* HERO — large narrative + conceptual city image */
.bh-hero{position:relative;min-height:760px;height:min(960px,calc(100svh - 84px));color:#F1F5FC;background:#070C17;isolation:isolate;display:flex;align-items:center}
.bh-hero__art{position:absolute;inset:0 0 0 38%;z-index:-2;overflow:hidden;background:#0C162A}.bh-hero__art img{object-position:58% 46%;filter:saturate(.93) contrast(1.12);transform:scale(1.035);animation:bh-hero-breathe 18s ease-in-out infinite alternate}
.bh-hero__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#070C17 1%,#070C17 19%,rgba(7,12,23,.94) 34%,rgba(7,12,23,.42) 62%,rgba(7,12,23,.08) 100%),linear-gradient(0deg,#070C17 0%,transparent 24%,rgba(7,12,23,.3) 90%)}
.bh-hero__content{padding:105px 0 100px}.bh-hero h1{max-width:1160px;margin:34px 0 27px;font-size:clamp(76px,8.4vw,142px);text-wrap:balance}.bh-hero h1 .rap-accent{color:#5B91FF;white-space:nowrap}
.bh-hero__sub{max-width:570px;font-size:clamp(16px,1.6vw,20px);font-weight:450;color:#D3E0F5;letter-spacing:-.01em}.bh-hero__links{display:flex;gap:27px;align-items:center;flex-wrap:wrap;margin-top:34px}.bh-hero__number{font-size:10px;color:#D3E0F5;letter-spacing:.18em;font-weight:750;margin-top:100px}.bh-hero__number span{padding:0 9px}
.bh-hero__disclaimer{position:absolute;bottom:22px;right:26px;color:#F1F5FC;font-size:9px;letter-spacing:.12em;text-align:right;font-weight:650;max-width:330px}
.bh-hero__line{position:absolute;width:340px;height:340px;border:1px solid rgba(91,145,255,.35);border-radius:50%;top:22%;left:19%;box-shadow:0 0 0 60px rgba(91,145,255,.035),0 0 0 140px rgba(91,145,255,.024);animation:bh-rotate 27s linear infinite}
/* SYSTEM — strong photographic product split */
.bh-system{padding:120px 0 95px;background:#F1F5FC}.bh-section-top{display:flex;gap:25px;align-items:center;justify-content:space-between}.bh-topline{height:1px;background:#A0B8E4;flex:1}.bh-question{color:#3D66B4}
.bh-system__heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:40px 0 52px}.bh-system h2{font-size:clamp(60px,6.8vw,112px)}.bh-system h2 .rap-accent{color:#254C96}.bh-system__heading>p{font-size:16px;max-width:240px;color:#254C96;margin-bottom:10px}
.bh-system__gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}.bh-tile{min-width:0;background:#070C17;color:#F1F5FC;overflow:hidden;border-radius:7px}.bh-tile--jungle{background:#0C162A}.bh-tile__image{height:clamp(340px,34vw,560px);position:relative;overflow:hidden}.bh-tile__image img{transition:transform .85s cubic-bezier(.2,.8,.1,1)}.bh-tile:hover .bh-tile__image img{transform:scale(1.045)}.bh-tile--leaf .bh-tile__image img{object-position:32% 48%}.bh-tile--jungle .bh-tile__image img{object-position:center 48%}
.bh-tile__image::after{content:'';position:absolute;inset:62% 0 0;background:linear-gradient(transparent,rgba(7,12,23,.45))}.bh-corner{position:absolute;top:23px;left:23px;color:#0C162A;background:#5B91FF;padding:9px 12px;border-radius:2px;z-index:1}.bh-corner--real{background:#F1F5FC}
.bh-tile__body{display:flex;justify-content:space-between;gap:20px;padding:27px 28px 33px;align-items:end}.bh-micro{color:#A0B8E4}.bh-tile h3{font-size:clamp(38px,4vw,57px);letter-spacing:-.07em;line-height:1.02;margin:7px 0}.bh-tile__body p{font-size:14px;color:#D3E0F5}.bh-tile__body a{font-size:27px;color:#5B91FF;text-decoration:none;min-width:35px;text-align:center}
.bh-system__base{display:flex;align-items:center;gap:20px;margin-top:34px;min-height:98px}.bh-system__base>p{white-space:nowrap;font-size:12px;font-weight:760;letter-spacing:.03em}.bh-system__base>p span{color:#3D66B4;padding:0 8px}.bh-connection{display:flex;align-items:center;gap:0;min-width:100px;width:100%;max-width:400px}.bh-connection i{height:1px;background:#A0B8E4;flex:1}.bh-connection span{width:16px;height:16px;background:#254C96;border:4px solid #D3E0F5;border-radius:50%;animation:bh-pulse 2.5s infinite}.bh-system__prototype{display:flex;align-items:center;gap:12px;margin-left:auto;white-space:nowrap}.bh-system__prototype img{width:52px;height:62px;object-fit:contain;background:#ddd}.bh-system__prototype span{font-size:9px;font-weight:760;letter-spacing:.1em;color:#254C96}
/* PROOF — evidence fullscreen */
.bh-proof{height:min(820px,90svh);min-height:610px;position:relative;isolation:isolate;color:#F1F5FC;background:#0C162A;display:flex;align-items:flex-end}.bh-proof__image{position:absolute;inset:0;z-index:-2}.bh-proof__image img{object-position:50% 50%;filter:contrast(1.06) saturate(.85)}.bh-proof__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(7,12,23,.94) 0%,rgba(7,12,23,.43) 48%,rgba(7,12,23,.18) 95%),linear-gradient(90deg,rgba(7,12,23,.5),transparent 80%)}
.bh-proof__content{padding-bottom:95px}.bh-proof h2{font-size:clamp(68px,8.2vw,129px);max-width:1000px;margin:24px 0 32px}.bh-proof h2 .rap-accent{color:#D3E0F5}.bh-proof__credit{position:absolute;right:33px;bottom:27px;font-weight:730;font-size:9px;letter-spacing:.13em;color:#F1F5FC}
/* CARBON — real interactive visual change */
.bh-carbon{background:#D3E0F5;padding:125px 0}.bh-carbon__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:7%;align-items:center}.bh-carbon h2{font-size:clamp(62px,7vw,110px);margin:28px 0 26px}.bh-carbon h2 .rap-accent{color:#254C96}.bh-carbon__text>p{font-size:16px;color:#254C96;max-width:355px}.bh-carbon__controls{margin:42px 0 36px;border-top:1px solid #A0B8E4;max-width:500px}.bh-carbon__controls button{appearance:none;border:0;border-bottom:1px solid #A0B8E4;background:transparent;text-align:left;display:flex;gap:22px;align-items:center;width:100%;padding:16px 8px 16px 0;cursor:pointer;font:700 23px/1.3 Inter,system-ui,sans-serif;color:#3D66B4;transition:color .25s}.bh-carbon__controls button span{font:750 10px Inter,system-ui,sans-serif;color:#3D66B4;letter-spacing:.13em}.bh-carbon__controls button.is-active,.bh-carbon__controls button:hover{color:#0C162A}.bh-carbon__controls button.is-active::after{content:'↗';margin-left:auto;color:#254C96}
.bh-carbon__scene{height:min(680px,64vw);min-height:440px;background:#0C162A;position:relative;overflow:hidden;border-radius:5px;isolation:isolate}.bh-carbon__frame{position:absolute;inset:0;opacity:0;transform:scale(1.07);transition:opacity .65s,transform 1.05s;pointer-events:none}.bh-carbon__frame.is-active{opacity:1;transform:scale(1)}.bh-carbon__frame img{filter:saturate(.86) contrast(1.08)}.bh-carbon__frame:nth-child(1) img{object-position:50% 55%}.bh-carbon__frame:nth-child(2) img{object-position:50% 50%}.bh-carbon__frame:nth-child(3) img{object-position:42% 50%}.bh-carbon__frame::after{content:'';position:absolute;inset:53% 0 0;background:linear-gradient(transparent,rgba(7,12,23,.9))}.bh-carbon__frame figcaption{position:absolute;bottom:23px;left:23px;right:23px;color:#F1F5FC;z-index:1;font-size:10px;font-weight:760;letter-spacing:.13em}.bh-carbon__glyph{position:absolute;top:20px;right:24px;color:rgba(241,245,252,.86);font-size:12px;font-weight:700;letter-spacing:.2em}.bh-carbon__glyph span{padding:0 12px;color:#5B91FF}
/* WORLD — future, distinctly conceptual */
.bh-world{position:relative;height:min(820px,87svh);min-height:620px;isolation:isolate;background:#0C162A;color:#fff;display:flex;align-items:center}.bh-world__image{position:absolute;inset:0;z-index:-2}.bh-world__image img{object-position:center 46%;filter:saturate(.84) contrast(1.08)}.bh-world__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,12,23,.93) 0%,rgba(7,12,23,.7) 40%,rgba(7,12,23,.08) 95%),linear-gradient(0deg,rgba(7,12,23,.6) 0%,transparent 35%)}.bh-world h2{font-size:clamp(70px,8.3vw,133px);margin:27px 0 34px;max-width:920px}.bh-world h2 .rap-accent{color:#5B91FF}.bh-world__uses{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:38px}.bh-world__uses span{font:760 10px Inter,sans-serif;letter-spacing:.13em;border:1px solid rgba(255,255,255,.5);border-radius:99px;padding:13px 19px}.bh-world__disclaimer{position:absolute;bottom:22px;right:25px;font:700 9px Inter,sans-serif;letter-spacing:.11em;text-align:right;max-width:370px}
/* RECOGNITION — important but not fake awards */
.bh-recognition{padding:118px 0 125px;background:#F1F5FC}.bh-recognition__heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.bh-recognition h2{font-size:clamp(63px,7.4vw,110px);margin-top:20px}.bh-recognition h2 .rap-accent{color:#254C96}.bh-recognition__heading>p{max-width:255px;font-size:15px;color:#254C96}.bh-recognition__slots{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.bh-recognition__slot{min-height:260px;display:flex;flex-direction:column;align-items:start;background:#D3E0F5;border:1px solid #A0B8E4;border-radius:3px;padding:21px;position:relative}.bh-recognition__slot>span:nth-child(2){color:#254C96;font-size:11px;font-weight:800}.bh-recognition__star{margin-bottom:auto;color:#6F95D3;font-size:45px;font-weight:400}.bh-recognition__slot strong{font-size:clamp(19px,2.2vw,29px);letter-spacing:-.05em}.bh-recognition__slot small{display:block;font-size:9px;font-weight:780;color:#3D66B4;letter-spacing:.13em;margin-top:11px}.bh-recognition__note{font-size:9px;letter-spacing:.13em;font-weight:730;color:#3D66B4;margin-top:21px}
/* PEOPLE / CONTACT */
.bh-finale{background:#070C17;color:#F1F5FC;padding:105px 0 0}.bh-finale__layout{display:grid;grid-template-columns:.84fr 1.16fr;gap:7%;align-items:center}.bh-finale h2{font-size:clamp(62px,7.3vw,116px);margin:27px 0 36px}.bh-finale h2 .rap-accent{color:#5B91FF}.bh-finale__portraits{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;height:370px}.bh-finale__portraits figure{position:relative;overflow:hidden;min-width:0;background:radial-gradient(ellipse at 55% 40%,#17294F,#0C162A);display:flex;align-items:center;justify-content:center;border-radius:3px}.bh-finale__portraits figure>span{font:650 35px/1 Inter,sans-serif;letter-spacing:-.05em;color:#A0B8E4}.bh-finale__portraits figure figcaption{position:absolute;z-index:2;bottom:10px;left:9px;right:6px;font-size:10px;font-weight:650;color:#fff;text-shadow:0 1px 8px #000}.bh-finale__portraits img{position:absolute;inset:0;z-index:1;min-width:0;object-position:center;filter:grayscale(1) contrast(1.08);transition:filter .5s,transform .5s;border-radius:3px}.bh-finale__portraits img:hover{filter:grayscale(0);transform:translateY(-8px)}
.bh-finale__end{padding:140px 0 110px;border-top:1px solid rgba(241,245,252,.17);margin-top:110px;text-align:center}.bh-finale__end>p{font-size:10px;letter-spacing:.17em;color:#D3E0F5;font-weight:740}.bh-finale__end h2{font-size:clamp(66px,9vw,150px);margin:24px auto 34px}.bh-finale__end .bh-button{margin:auto}
@keyframes bh-hero-breathe{from{transform:scale(1.035)}to{transform:scale(1.095)}}@keyframes bh-rotate{to{transform:rotate(360deg)}}@keyframes bh-pulse{50%{box-shadow:0 0 0 9px rgba(37,76,150,.08)}}
@media(max-width:1050px){.bh-wrap{width:calc(100% - 68px)}.bh-hero h1{font-size:clamp(72px,10vw,110px)}.bh-system__heading>p{display:none}.bh-system__prototype span{display:none}.bh-carbon__layout{gap:4%}.bh-finale__layout{grid-template-columns:1fr;gap:35px}.bh-finale__portraits{height:340px}.bh-finale h2{max-width:740px}}
@media(max-width:720px){.bh-wrap{width:calc(100% - 38px)}.bh-hero{height:calc(100svh - 67px);min-height:690px;align-items:flex-start}.bh-hero__art{inset:0 0 12% 5%}.bh-hero__art img{object-position:60% center}.bh-hero__veil{background:linear-gradient(0deg,#070C17 0%,rgba(7,12,23,.98) 13%,rgba(7,12,23,.8) 40%,rgba(7,12,23,.16) 85%),linear-gradient(90deg,rgba(7,12,23,.35),transparent)}.bh-hero__content{padding:55px 0 90px;margin-top:auto}.bh-hero h1{font-size:clamp(56px,13.1vw,88px);margin:22px 0}.bh-hero h1 .rap-accent{white-space:normal}.bh-hero__sub{font-size:15px}.bh-hero__links{gap:18px;margin-top:25px}.bh-hero__number{margin-top:48px}.bh-hero__disclaimer{bottom:12px;right:18px;font-size:8px;max-width:190px}.bh-hero__line{width:200px;height:200px}.bh-button{min-height:51px;padding:0 20px}.bh-system{padding:74px 0 70px}.bh-question{display:none}.bh-system__heading{margin:23px 0 25px}.bh-system h2,.bh-carbon h2,.bh-recognition h2{font-size:clamp(56px,12vw,77px)}.bh-system__gallery{grid-template-columns:1fr;gap:14px}.bh-tile__image{height:390px}.bh-tile--leaf .bh-tile__image img{object-position:center 42%}.bh-tile__body{padding:22px 21px 24px}.bh-tile h3{font-size:39px}.bh-system__base{gap:9px;flex-wrap:wrap}.bh-connection{width:55px;min-width:55px}.bh-system__base>p{font-size:10px}.bh-system__prototype{margin-left:auto}.bh-system__prototype img{width:42px;height:50px}.bh-proof{min-height:550px;height:77svh}.bh-proof__content{padding-bottom:67px}.bh-proof h2,.bh-world h2{font-size:clamp(61px,12vw,85px)}.bh-proof__credit,.bh-world__disclaimer{font-size:8px;bottom:14px;right:15px}.bh-carbon{padding:78px 0}.bh-carbon__layout{grid-template-columns:1fr;gap:35px}.bh-carbon h2{margin:18px 0}.bh-carbon__controls{margin:24px 0 21px}.bh-carbon__controls button{font-size:20px;padding:12px 4px 12px 0}.bh-carbon__scene{height:480px;min-height:0}.bh-world{height:73svh;min-height:550px}.bh-world__veil{background:linear-gradient(90deg,rgba(7,12,23,.88) 0%,rgba(7,12,23,.42) 100%),linear-gradient(0deg,rgba(7,12,23,.7),transparent 35%)}.bh-world__uses{margin-bottom:30px}.bh-recognition{padding:77px 0}.bh-recognition__heading{display:block;margin-bottom:26px}.bh-recognition__heading>p{margin-top:19px}.bh-recognition__slots{grid-template-columns:1fr;gap:9px}.bh-recognition__slot{min-height:155px;padding:16px}.bh-recognition__star{font-size:28px}.bh-recognition__slot strong{font-size:25px}.bh-finale{padding:75px 0 0}.bh-finale__portraits{height:280px;gap:5px}.bh-finale h2{font-size:clamp(60px,12vw,77px)}.bh-finale__end{margin-top:80px;padding:82px 0 90px}.bh-finale__end h2{font-size:clamp(59px,11.6vw,83px)}}
@media(max-width:390px){.bh-hero h1{font-size:53px}.bh-hero__links{gap:14px}.bh-system__base>p span{padding:0 3px}.bh-connection{display:none}.bh-finale__portraits{height:225px}}
@media(prefers-reduced-motion:reduce){.bh-home *,.bh-home *::before,.bh-home *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* V6.9 sticky scroll chapter */
