/* Original Horizons3D visual system. Additions are limited to application depth and continuity. */
html{scroll-behavior:smooth}
.seo-links a{display:flex!important;visibility:visible!important}
.image-policy{font-size:12px;line-height:1.65;max-width:900px;margin:0;color:#69727b}
.gallery-overview{display:inline-flex;align-items:center;gap:25px;min-height:48px;padding:12px 0;color:#e8eff2;border-bottom:1px solid #71828d;font-size:15px}
.application-deep-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;color:#fff;border-bottom:1px solid #b3c0c9!important;padding:8px 0;font-size:14px!important;line-height:1.4}
.application-deep-link:hover,.gallery-overview:hover{border-color:white!important}
.application-copy .application-deep-link{position:relative;z-index:7}
.applications-page{background:#151e28}
.applications-page .applications{padding-top:155px;padding-bottom:0}
.applications-page .gallery-heading{padding-bottom:54px}
.applications-page .gallery-heading h1{font-size:clamp(48px,6vw,88px);line-height:1.05;letter-spacing:-3px;font-weight:400;margin:22px 0 0}
.applications-page .gallery-intro{max-width:420px}
.applications-page .application-depth{background:#f5f4f0;color:#19212a}
.application-detail-nav{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:35px;border-bottom:1px solid #bfc7c9;margin-bottom:52px}
.application-detail-nav>div{display:flex;gap:12px;align-items:center}
.application-detail-nav button{width:46px;height:46px;background:transparent;border:1px solid #9aa7b0;color:#1b2b38;font-size:21px;cursor:pointer}
.application-detail-nav button:hover{background:#dce3e5}
.application-detail-nav a{font-size:13px;margin-left:18px;border-bottom:1px solid #9aa7b0;padding:10px 0;line-height:1.5}
.application-detail-nav .eyebrow{margin:0;font-size:11px;color:#596d7c}
.detail-heading{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:start}
.detail-heading h2{font-size:clamp(38px,4.4vw,66px);max-width:570px;margin-bottom:22px}
.detail-heading .eyebrow{font-size:11px;color:#60707e;margin-top:0;margin-bottom:25px}
.detail-heading .lead{font-size:22px;line-height:1.7;color:#33424e}
.detail-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:54px}
.detail-columns>div{border-top:1px solid #adb8bd;padding-top:22px}
.detail-columns span{font-size:11px;letter-spacing:1.5px;color:#60707d}
.detail-columns h3{font-size:25px;margin:20px 0 14px;letter-spacing:-.4px}
.detail-columns p{font-size:16px;line-height:1.8;margin:0}
.detail-conclusion{display:grid;grid-template-columns:1fr auto;align-items:center;gap:70px;margin-top:50px;padding-top:30px;border-top:1px solid #bfc7c9}
.detail-conclusion p{font-size:15px;margin:0;max-width:700px;line-height:1.8}
.detail-conclusion .button{font-size:14px;justify-content:center;line-height:1.5}
.application-depth{scroll-margin-top:20px}
.secondary-hero{position:relative;min-height:580px;height:82svh;max-height:1000px;background:#111b23;color:#fff;overflow:hidden}
.secondary-hero>img{width:100%;height:100%;object-fit:cover}
.secondary-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0a1420b8,transparent 85%),linear-gradient(0deg,#0a142093,transparent 80%)}
.secondary-copy{position:absolute;left:6%;right:6%;bottom:12%;max-width:950px}
.secondary-copy .eyebrow{color:#d1dce4}
.secondary-copy h1{font-size:clamp(52px,6.5vw,100px);line-height:1.04;margin:27px 0;letter-spacing:-3px;font-weight:400}
.secondary-copy>p:last-child{color:#e2e8eb;font-size:22px;line-height:1.6;max-width:650px}
.editorial-page>.contact,.editorial-page main>.contact{margin-top:0}
.service-page .menu-toggle{display:none}
.service-page .wordmark{width:260px}
.service-page .service-related .seo-links a{min-height:58px}
@media(max-width:1080px){.detail-heading{gap:6%}.detail-columns{gap:25px}.detail-conclusion{gap:30px}.application-detail-nav{gap:20px}.application-detail-nav a{margin-left:5px}.detail-heading .lead{font-size:20px}}
@media(max-width:800px){
 .applications-page .applications{padding-top:125px}
 .applications-page .gallery-heading{padding-bottom:35px}
 .applications-page .gallery-heading h1{font-size:clamp(41px,10vw,62px);letter-spacing:-1.8px;margin-top:19px}
 .applications-page .gallery-intro{max-width:none;margin-top:24px}
 .applications-page .gallery-intro p{font-size:16px;line-height:1.7}
 .gallery-overview{font-size:14px}
 html .gallery-track.gallery-manual .application-copy{bottom:23%!important}
 .application-copy .application-deep-link{font-size:13px!important;min-height:44px;margin-top:4px}
 html .gallery-track.gallery-manual .application-copy h3{font-size:clamp(27px,7.8vw,36px)}
 .application-detail-nav{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:38px;padding-bottom:26px}
 .application-detail-nav>div{width:100%}
 .application-detail-nav a{margin-left:auto;max-width:160px}
 .detail-heading{grid-template-columns:1fr;gap:25px}
 .detail-heading h2{font-size:38px;letter-spacing:-1px}
 .detail-heading .lead{font-size:19px;line-height:1.7}
 .detail-heading .eyebrow{font-size:10px;margin-bottom:22px}
 .detail-columns{grid-template-columns:1fr;gap:31px;margin-top:37px}
 .detail-columns h3{font-size:25px;margin:17px 0 12px}
 .detail-columns p{font-size:16px}
 .detail-conclusion{grid-template-columns:1fr;gap:22px;margin-top:35px;padding-top:25px}
 .detail-conclusion .button{justify-self:start}
 .secondary-hero{height:90svh;min-height:560px}
 .secondary-copy{bottom:10%;max-width:none}
 .secondary-copy h1{font-size:clamp(45px,11.8vw,68px);letter-spacing:-2px}
 .secondary-copy>p:last-child{font-size:18px;line-height:1.6;max-width:560px}
 .secondary-hero>img{object-position:62% center}
 .service-page .menu-toggle:not([hidden]){display:flex}
 .service-page header.js-menu nav{width:auto;display:none}
 .service-page header.js-menu.menu-open nav{display:flex;width:100%}
 .service-page header .wordmark{max-width:calc(100% - 80px);width:230px}
 .service-page header nav a{font-size:17px;display:block!important}
 .image-policy{font-size:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-thumb,.application-card,.core-reveal{transition:none!important}}
/* Complete application overview; the large scene remains the focal point. */
html .gallery-track.gallery-manual.gallery-grid-ready{height:auto!important;min-height:0!important;display:block!important;padding:0!important;overflow:visible!important}
html .gallery-track.gallery-manual.gallery-grid-ready>.full-stage{position:relative!important;height:clamp(460px,64svh,740px)!important;min-height:0!important;overflow:hidden!important}
html .gallery-track.gallery-manual.gallery-grid-ready .application-card{height:100%!important;min-height:0!important;transition:opacity .28s ease,visibility .28s!important}
html .gallery-track.gallery-manual.gallery-grid-ready .application-copy{bottom:9%!important}
html .gallery-track.gallery-manual.gallery-grid-ready>.gallery-picker{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;overflow:visible!important;touch-action:pan-y;scrollbar-width:none;max-width:none;width:88%;margin:0 auto;padding:20px 0 22px;background:transparent;border:0;box-shadow:none;backdrop-filter:none}
html .gallery-grid-ready .gallery-thumb{display:block;width:100%;min-width:0;max-width:100%;height:auto;min-height:112px;padding:5px;border:1px solid transparent;transform:none!important}
html .gallery-grid-ready .gallery-thumb img{width:100%;height:84px;aspect-ratio:1.85;object-fit:cover}
html .gallery-grid-ready .gallery-thumb span{font-size:10px;white-space:normal;line-height:1.4;padding:7px 2px 3px;overflow:visible;text-overflow:clip}
html .gallery-grid-ready .gallery-thumb:hover,html .gallery-grid-ready .gallery-thumb[aria-pressed=true]{border-color:#dce8ebaa;background:#ffffff18}
html .gallery-grid-ready .gallery-rail-controls{display:none!important}
.frontier-overview-link{display:inline-flex;gap:22px;align-items:center;min-height:48px;margin-top:20px;border-bottom:1px solid #8797a3;padding:12px 0;color:#e5edf0;font-size:15px;line-height:1.6}
.innovation-page .frontier-overview-link{color:#253947;border-color:#7e909b}
.innovation-topic-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;color:inherit;line-height:1.3}
.innovation-topic-link:hover{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.innovation-topic-link>span{display:inline;width:auto;flex:0 0 auto;font-size:20px;color:#617889;letter-spacing:0}
.innovation-page footer .image-policy{color:#aebbc3}
.frontier-page .secondary-copy{max-width:1120px}
.frontier-page .secondary-copy h1{font-size:clamp(46px,6.1vw,90px)}
.frontier-intro{padding-bottom:46px}
.frontier-intro .breadcrumbs{font-size:13px;margin:0 0 38px;color:#697781}
.frontier-intro>p:not(.breadcrumbs){max-width:760px;font-size:20px}
.frontier-index{display:flex;flex-wrap:wrap;gap:25px;margin-top:35px;font-size:14px}
.frontier-index a{display:inline-flex!important;align-items:center;gap:24px;padding:15px 0;border-bottom:1px solid #a0adb5;min-height:48px}
.frontier-topic{display:grid;grid-template-columns:1fr 1.35fr;gap:9%;border-top:1px solid #c1c9cd;scroll-margin-top:30px}
.frontier-topic:nth-of-type(odd){background:#e9eceb}
.frontier-topic-heading .eyebrow{color:#60717d}
.frontier-topic h2{font-size:clamp(34px,4vw,58px);margin:28px 0 0}
.frontier-explainer{margin:0}
.frontier-explainer>div+div{margin-top:26px;padding-top:24px;border-top:1px solid #c3ccd0}
.frontier-explainer dt{font-size:15px;font-weight:600;line-height:1.5;color:#233745;margin-bottom:9px}
.frontier-explainer dd{font-size:17px;line-height:1.75;color:#5c6268;margin:0}
.frontier-next{background:#e8eceb}
.frontier-next>p{max-width:780px}
.frontier-topic{display:block;padding-top:34px;padding-bottom:34px}
.frontier-disclosure{border:0;padding:0;min-width:0}
.frontier-disclosure>summary{display:block;cursor:pointer;list-style:none;padding:0}
.frontier-disclosure>summary::-webkit-details-marker{display:none}
.frontier-disclosure>summary h2{position:relative;margin:0;padding-right:60px;line-height:1.15}
.frontier-disclosure>summary span{font-size:inherit;transform:none}
.frontier-disclosure[open]>summary span{transform:none}
.frontier-disclosure>summary .eyebrow{display:block;font-size:11px;line-height:1.6;margin-bottom:18px;color:#60717d}
.frontier-disclosure>summary .frontier-toggle{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:44px;height:56px;font-size:34px;line-height:1;color:#5c7483;transition:transform .2s}
.frontier-disclosure[open]>summary .frontier-toggle{transform:rotate(45deg)}
.frontier-disclosure .frontier-explainer{max-width:780px;margin:30px 0 0 auto;padding-top:28px;border-top:1px solid #c3ccd0}
@media(min-width:1500px){html .gallery-grid-ready .gallery-thumb img{height:100px}}
@media(max-width:1000px) and (min-width:801px){html .gallery-track.gallery-manual.gallery-grid-ready>.gallery-picker{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){
 html .gallery-track.gallery-manual.gallery-grid-ready>.full-stage{height:clamp(460px,68svh,650px)!important}
 html .gallery-track.gallery-manual.gallery-grid-ready .application-copy{bottom:8%!important}
 html .gallery-track.gallery-manual.gallery-grid-ready>.gallery-picker{width:92%;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:14px 0 18px}
 html .gallery-grid-ready .gallery-thumb{min-height:96px;padding:4px}
 html .gallery-grid-ready .gallery-thumb img{height:63px}
 html .gallery-grid-ready .gallery-thumb span{font-size:9px;line-height:1.35;padding:6px 1px 3px}
 .frontier-overview-link{font-size:14px;margin-top:12px}
 .frontier-page .secondary-copy h1{font-size:clamp(42px,10.6vw,68px);letter-spacing:-1.8px}
 .frontier-intro .breadcrumbs{font-size:12px;margin-bottom:30px}
 .frontier-intro>p:not(.breadcrumbs){font-size:18px}
 .frontier-index{display:grid;gap:10px;margin-top:25px}
 .frontier-index a{justify-content:space-between;font-size:14px}
 .frontier-topic{grid-template-columns:1fr;gap:27px}
 .frontier-topic h2{font-size:36px;margin-top:20px}
 .frontier-explainer dd{font-size:16px}
 .frontier-topic{padding-top:27px;padding-bottom:27px}
 .frontier-disclosure>summary h2{padding-right:48px}
 .frontier-disclosure>summary .eyebrow{font-size:10px;margin-bottom:15px}
 .frontier-disclosure>summary .frontier-toggle{font-size:30px;width:36px;height:44px;bottom:2px}
 .frontier-disclosure .frontier-explainer{margin-top:25px;padding-top:24px;max-width:none}
}
