/* V4 site chrome only. Do not override V2's wheel geometry or page composition. */
@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/montserrat-400.ttf') format('truetype')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/montserrat-600.ttf') format('truetype')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/montserrat-700.ttf') format('truetype')}
.brand img,.fbrand img{object-fit:contain;box-shadow:none;border-radius:0}
.brand small{letter-spacing:.12em;font-size:.47rem}
.wheel-frame iframe{scroll-margin-top:5.5rem}
.mobile-menu{visibility:hidden}.mobile-menu.open{visibility:visible}
.btn{min-height:44px}.burger{min-width:44px;min-height:44px;justify-content:center}
.skip-link{position:fixed;top:0;left:1rem;z-index:120;transform:translateY(-150%);padding:.75rem 1rem;background:#fff;color:#020308;text-decoration:none;border-radius:0 0 .5rem .5rem}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:2px solid #00B5FF;outline-offset:5px}
.legal-details{max-width:60rem}.legal-details p+p{margin-top:.3rem}
@media(min-width:1020px) and (max-width:1220px){nav.links,.nav-cta{display:none}.burger,.mobile-menu{display:flex}}
@media(min-width:1221px){nav.links{gap:1.15rem}nav.links a{font-size:.8rem}.nav-cta{font-size:.78rem;padding:.68rem 1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.grain,.intro span{animation:none}.hload,.rv{opacity:1;transform:none;filter:none}body.loaded .hload{animation:none}}

/* One immersive page scene, with no iframe, player border or raised card. */
.native-library{min-height:100svh;padding:0;overflow:visible;background:#000}
.native-library::before{display:none}
#library-scene{display:block;width:100%;height:calc(100svh + 120px);min-height:900px;position:relative}
.native-library .wheel-copy{top:7rem;width:min(1000px,calc(100% - 3rem));pointer-events:none}
.native-library .wheel-copy h1{font-size:clamp(2.4rem,4vw,3.6rem);max-width:none;margin:.8rem auto .6rem}
.native-library .wheel-copy h1 .grad{display:block}
.native-library .wheel-copy .sub{max-width:60ch;color:#abb3c9}
.library-index-link{display:inline-flex;gap:.7rem;margin-top:.9rem;color:#bac8e4;font-size:.8rem;text-decoration:none;pointer-events:auto;border-bottom:1px solid #4b5670;padding-bottom:.2rem}
.library-index-link:hover{color:#fff;border-color:var(--cyan)}
.wheel-controls .library-index-link{margin:0;font-size:.7rem;letter-spacing:.04em;text-transform:none;min-height:44px;align-items:center}
.scene-loading{position:absolute;top:60%;left:50%;transform:translateX(-50%);color:#a9b9d4;font-size:.9rem;text-align:center;width:min(28rem,80%)}
.scene-loading a{color:#9adfff;text-decoration:underline;text-underline-offset:4px}
.wheel-controls{position:absolute;left:0;right:0;bottom:1.5rem;display:flex;align-items:center;justify-content:center;gap:1.3rem;color:#a5aec3;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;z-index:3}
.wheel-controls button{background:rgba(8,12,24,.7);border:1px solid #485066;color:#c0c9dd;font:inherit;letter-spacing:.04em;padding:.5rem .85rem;min-height:44px;cursor:pointer}
.wheel-controls button:hover{color:#fff;border-color:var(--cyan)}
.solution-dialog-open{overflow:hidden}.solution-dialog-open header,.solution-dialog-open .wheel-copy,.solution-dialog-open .wheel-controls{visibility:hidden}
.solution-index{padding-top:6rem;padding-bottom:5rem}.index-heading{display:grid;grid-template-columns:1fr 1fr;gap:1rem 3rem;align-items:end;margin-bottom:2.8rem}.index-heading .eyebrow{grid-column:1/-1}.index-heading h2{font:600 clamp(2rem,4vw,3.3rem)/1.1 var(--disp);letter-spacing:-.03em}.index-heading>p:last-child{color:#aab4cb;font-size:1rem;max-width:47ch}
#solution-list{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem}.solution-entry{border-top:1px solid #354058;padding:1.15rem 0}.solution-entry summary{display:flex;align-items:center;gap:1.2rem;cursor:pointer;list-style:none;font:600 1.05rem/1.4 var(--disp);color:#edf1fb;min-height:44px}.solution-entry summary::-webkit-details-marker{display:none}.solution-entry summary::after{content:'+';margin-left:auto;color:#8dbce9;font-size:1.5rem;font-weight:400}.solution-entry[open] summary::after{content:'−'}.solution-entry summary small{font:600 .62rem/1.4 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);width:6rem;flex:none}.solution-entry p{color:#b7c0d4;font-size:.93rem;line-height:1.7;margin-top:1.15rem}.solution-entry a{display:inline-flex;margin-top:1.2rem;color:#76c8ff;font-size:.85rem;text-decoration:none;border-bottom:1px solid #425c72;padding-bottom:.2rem}
@media(max-width:700px){#library-scene{height:1040px;min-height:1040px}.native-library .wheel-copy{top:7.3rem;width:calc(100% - 2rem)}.native-library .wheel-copy h1{font-size:clamp(2rem,8.5vw,3rem);max-width:18ch}.native-library .wheel-copy .sub{font-size:.95rem;max-width:32ch}.wheel-controls{flex-direction:column;gap:.35rem;font-size:.52rem;bottom:1rem}.index-heading{display:block}.index-heading h2{margin:1rem 0}.index-heading>p:last-child{margin-top:1rem}#solution-list{grid-template-columns:1fr}.solution-entry summary{font-size:1rem}.solution-entry summary small{width:5.5rem;font-size:.58rem}.solution-index{padding-top:4rem}}
