
/* RAPCO2 Hybrid Premium V6.10 · ONLY scoped to Home.
 * Palette contract: deep blue / black / red; typography Inter; italics for science only.
 * The original Apps Script routes, forms, translations and other pages remain untouched. */
:root{--hp-black:#070c16;--hp-ink:#0c1729;--hp-blue:#326cf0;--hp-red:#ed354f;--hp-paper:#f3f6fb;--hp-silver:#dce5f2;--hp-muted:#a9bad6}
/* Critical: ancestor overflow clipping prevents sticky layout. */
body.next-home-active #app,body.next-home-active .app-page.bh-home,
body.next-home-active .bh-home{overflow:visible!important;overflow-x:clip!important}
.bh-home{background:var(--hp-paper);font-family:Inter,system-ui,sans-serif}
.bh-home h1,.bh-home h2,.bh-home h3{font-style:normal!important;letter-spacing:-.066em}
.bh-home .rap-accent{font-style:normal!important;font-family:Inter,system-ui,sans-serif!important;letter-spacing:inherit!important}
.bh-home .science-term{font-style:italic}
.bh-home .bh-count{letter-spacing:.145em;font-weight:850}
.bh-home .bh-link{transition:opacity .25s ease,color .25s ease,transform .3s ease;display:inline-flex;gap:12px;align-items:center}
.bh-home .bh-link:hover{transform:translateX(5px)}
.bh-home a:focus-visible,.bh-home button:focus-visible{outline:3px solid #f84a63;outline-offset:4px}
/* Hero: architectural photography is the ONLY photographic full-screen entry. */
.bh-home .bh-hero{min-height:720px;min-height:min(900px,calc(100svh - 68px));background:#070c16}
.bh-home .bh-hero__art{inset:0 0 0 35%}
.bh-home .bh-hero__art img{object-position:60% 50%}
.bh-home .bh-hero__veil{background:linear-gradient(92deg,#070c16 0%,#070c16 25%,rgba(7,12,22,.94) 36%,rgba(7,12,22,.32) 75%,rgba(7,12,22,.2) 100%),linear-gradient(0deg,rgba(7,12,22,.85),transparent 23%)}
.bh-home .bh-hero__content{position:relative;z-index:2;padding-top:105px;padding-bottom:98px}
.bh-home .bh-hero h1{font-size:clamp(67px,7.5vw,124px);letter-spacing:-.075em;font-weight:665;line-height:.99}
.bh-home .bh-hero h1 .rap-accent{color:#ff5268}
.bh-home .bh-hero__sub{max-width:530px;color:#d4dded}
.hp-hero__index{position:absolute;right:5.3%;top:8%;width:min(280px,20vw);z-index:2;display:flex;align-items:center;gap:12px;color:#c5d7f0;font-size:9px;letter-spacing:.21em;font-weight:800}
.hp-hero__index i{flex:1;height:1px;background:rgba(203,220,248,.5)}
.hp-hero__scroll{position:absolute;display:flex;flex-direction:column;gap:12px;align-items:center;bottom:-70px;left:0;color:#cfdef5;font-size:9px;letter-spacing:.17em;font-weight:750;white-space:nowrap}
.hp-hero__scroll i{display:block;width:1px;height:52px;background:linear-gradient(#f04460,rgba(240,68,96,0));transform-origin:top;animation:hp-drop 2s ease-in-out infinite}
@keyframes hp-drop{0%,100%{transform:scaleY(.5);opacity:.45}55%{transform:scaleY(1);opacity:1}}
/* Editorial galleries: staggered rhythm + focused product shots. */
.bh-home .bh-system{padding-top:128px;padding-bottom:110px}
.bh-home .bh-system__heading{margin-bottom:34px}
.bh-home .bh-system__gallery{gap:26px}
.bh-home .bh-tile{box-shadow:0 20px 48px rgba(7,12,22,.04);border-radius:8px;overflow:hidden}
.bh-home .bh-tile:nth-child(2){margin-top:68px}
.bh-home .bh-tile__image{overflow:hidden}
.bh-home .bh-tile__image img{transition:transform 1s cubic-bezier(.2,.7,.1,1),filter .6s;will-change:transform}
.bh-home .bh-tile:hover .bh-tile__image img{transform:scale(1.06)}
.bh-home .bh-connection{max-width:35vw}
.bh-home .bh-proof--editorial{padding:148px 0;background:#eff3fa}
.bh-home .bh-proof__photo{border-radius:8px;box-shadow:0 30px 70px rgba(10,23,45,.13)}
.bh-home .bh-proof__photo img{transition:transform 1.1s ease}
.bh-home .bh-proof__photo:hover img{transform:scale(1.025)}
.bh-home .bh-proof__copy h2{max-width:680px}
.bh-home .bh-proof__copy .rap-accent{color:#d32440!important}
/* Real-pilot hotspots: only identify visible hardware; never assert performance. */
.hp-hotspots{position:absolute;inset:0;z-index:4;pointer-events:none}
.hp-hotspot{pointer-events:auto;position:absolute;left:var(--hx);top:var(--hy);width:42px;height:42px;border:1px solid rgba(255,255,255,.82);border-radius:50%;display:grid;place-items:center;color:white;background:rgba(8,15,29,.67);box-shadow:0 0 0 8px rgba(255,255,255,.09),0 4px 22px rgba(0,0,0,.34);font-size:24px;line-height:1;cursor:pointer;transition:transform .3s ease,background .3s ease}
.hp-hotspot:hover,.hp-hotspot[aria-expanded="true"]{transform:scale(1.14);background:var(--hp-red)}
.hp-hotspots__info{pointer-events:none;position:absolute;top:25px;right:25px;max-width:270px;background:rgba(6,12,24,.9);color:#fff;border:1px solid rgba(255,255,255,.2);border-left:3px solid var(--hp-red);border-radius:6px;padding:16px;box-shadow:0 15px 28px rgba(0,0,0,.2);backdrop-filter:blur(15px)}
.hp-hotspots__info[hidden]{display:none}
.hp-hotspots__info strong{display:block;font-size:15px;margin-bottom:5px}
.hp-hotspots__info span{color:#c4d6f0;font-size:12px;line-height:1.5}
/* Carbon scrollytelling: stable pinned 100vh layout with 3 viewport-sized chapters.
 * Important: overflow on this section must remain VISIBLE for sticky to work. */
@media(min-width:861px){
 .bh-home .bh-carbon{height:320vh!important;min-height:0!important;padding:0!important;position:relative!important;overflow:visible!important;background:#eaf0fa}
 .bh-home .bh-carbon>.bh-carbon__layout{position:sticky!important;top:0!important;height:100vh!important;min-height:0!important;max-height:none!important;margin:0 auto!important;padding-top:84px!important;padding-bottom:32px!important;align-items:center;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);gap:7%;z-index:3;overflow:visible!important}
 .bh-home .bh-carbon__scene{height:calc(100vh - 144px)!important;min-height:480px;max-height:760px;border-radius:10px;box-shadow:0 24px 55px rgba(7,21,45,.15)}
 .bh-home .bh-carbon__text{align-self:center}
 .bh-home .bh-carbon__scroll-steps{position:absolute;inset:0;display:grid;grid-template-rows:repeat(3,1fr);pointer-events:none}
 .bh-home .bh-carbon__frame{transform:scale(1.055);transition:opacity .75s ease,transform 1.35s cubic-bezier(.17,.7,.13,1)}
 .bh-home .bh-carbon__frame.is-active{transform:scale(1)}
}
.bh-home .bh-carbon{background:#eaf0fa}
.bh-home .bh-carbon h2{font-size:clamp(62px,6.75vw,112px);font-weight:650!important;margin:17px 0 22px}
.bh-home .bh-carbon h2 .rap-accent{color:#d32440!important}
.bh-home .bh-carbon__text>p{font-size:15px;color:#415773}
.bh-home .bh-carbon__controls{margin:30px 0 14px}
.bh-home .bh-carbon__controls button{font-size:21px;position:relative;padding:14px 9px 14px 0;color:#6981a8;transition:color .2s ease,padding .2s ease}
.bh-home .bh-carbon__controls button.is-active{color:#124bbd;padding-left:9px}
.bh-home .bh-carbon__controls button.is-active:before{content:"";position:absolute;left:-2px;top:20%;bottom:20%;width:3px;background:var(--hp-red)}
.bh-home .bh-carbon__controls button.is-active:after{color:var(--hp-red)}
.bh-home .bh-carbon__frame{will-change:opacity,transform}
.bh-home .bh-carbon__scene{background:#0a1426}
.bh-home .bh-carbon__glyph span{color:#ff5268}
.hp-carbon__intro{display:flex;gap:14px;align-items:center;color:#7892b7;font:750 9px/1 Inter,sans-serif;letter-spacing:.15em;margin:22px 0 0;max-width:465px}
.hp-carbon__intro span:first-child{color:var(--hp-red)}
.hp-carbon__intro b{display:block;height:1px;flex:1;background:linear-gradient(90deg,#e23a55,#a5b8da);margin-left:3px}
.hp-carbon__detail{max-width:420px;margin:12px 0 20px!important;min-height:38px;color:#546c8d!important;font:500 12px/1.6 Inter,sans-serif!important}
.hp-carbon__visual-index{position:absolute;top:22px;left:23px;z-index:6;display:flex;align-items:center;gap:12px;color:#eff5ff;font:800 10px/1 Inter,sans-serif;letter-spacing:.13em;pointer-events:none}
.hp-carbon__visual-index [data-hp-stage-num]{color:#ff5268}
.hp-carbon__visual-index i{width:67px;height:2px;background:linear-gradient(90deg,#ff5268,#6d90c6)}
.bh-home .bh-carbon__frame figcaption{bottom:25px;left:24px}
/* Visual and typography variety: off-center concept, restrained recognition, clear closing. */
.bh-home .bh-world--editorial{padding:145px 0;background:#091324}
.bh-home .bh-world__editorial-art{box-shadow:0 26px 60px rgba(0,0,0,.23)}
.bh-home .bh-world__editorial-copy .rap-accent{color:#ff5268!important}
.bh-home .bh-recognition{padding:128px 0}
.bh-home .bh-recognition__slot{border-radius:8px;transition:transform .35s ease,border-color .35s ease}
.bh-home .bh-recognition__slot:hover{transform:translateY(-7px);border-color:rgba(232,54,79,.46)}
.bh-home .bh-finale{padding-top:115px;background:#070d19}
.bh-home .bh-finale__field{border-radius:8px}
.bh-home .bh-finale__intro .rap-accent{color:#ff5268!important}
/* Standard reveal timing: preserve existing observer; do not hide content without JS. */
@media(min-width:861px){.bh-home .bh-proof__photo[data-reveal],.bh-home .bh-world__editorial-art[data-reveal]{transition:opacity .75s ease,transform 1s cubic-bezier(.2,.7,.2,1)}}
@media(max-width:860px){
 .bh-home .bh-carbon{height:auto!important;min-height:0!important;overflow:visible!important;padding:68px 0!important}
 .bh-home .bh-carbon>.bh-carbon__layout{display:block;position:relative!important;top:auto!important;height:auto!important;min-height:0!important;padding:0!important}
 .bh-home .bh-carbon__scene{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;background:transparent;display:flex;flex-direction:column;gap:16px;box-shadow:none}
 .bh-home .bh-carbon__frame{position:relative!important;inset:auto!important;opacity:1!important;transform:none!important;display:block!important;height:clamp(320px,80vw,490px);min-height:0;border-radius:9px;overflow:hidden;background:#0a1426}
 .bh-home .bh-carbon__frame--graphic{display:flex!important}
 .bh-home .bh-carbon__controls{display:none}
 .bh-home .bh-carbon__glyph,.bh-home .hp-carbon__visual-index{display:none}
 .bh-home .hp-carbon__detail{display:none}
 .bh-home .bh-carbon__scroll-steps{display:none}
 .bh-home .bh-carbon__text{margin-bottom:30px}
 .bh-home .bh-system__gallery{gap:15px}
 .bh-home .bh-tile:nth-child(2){margin-top:0}
 .bh-home .bh-proof--editorial,.bh-home .bh-world--editorial{padding:80px 0}
 .hp-hotspot{width:36px;height:36px;font-size:20px}
}
@media(max-width:640px){
 .bh-home .bh-hero{min-height:680px;min-height:calc(100svh - 60px)}
 .bh-home .bh-hero__art{inset:0 0 0 12%}
 .bh-home .bh-hero__content{padding-top:105px;padding-bottom:100px}
 .bh-home .bh-hero h1{font-size:clamp(52px,13vw,80px);line-height:1.02}
 .hp-hero__index{top:18px;right:5%;width:45%;font-size:8px}
 .hp-hero__scroll{bottom:-59px}
 .bh-home .bh-system{padding-top:94px;padding-bottom:80px}
 .bh-home .bh-carbon h2{font-size:clamp(54px,11.7vw,80px)}
 .bh-home .bh-carbon__frame{height:380px}
 .bh-home .bh-proof__photo{height:450px}
 .hp-hotspots__info{top:12px;right:12px;max-width:205px}
 .bh-home .bh-recognition{padding:85px 0}
}
@media(prefers-reduced-motion:reduce){
 .bh-home .bh-tile__image img,.bh-home .bh-proof__photo img,.bh-home .bh-carbon__frame,.hp-hotspot{transition:none!important;animation:none!important;transform:none!important}
 .hp-hero__scroll i{animation:none}
}
