@font-face {
    font-family: Manrope;
    src: url('assets/manrope-0.ttf') format('truetype');
    font-weight: 400;
    font-display: swap
}

@font-face {
    font-family: Manrope;
    src: url('assets/manrope-1.ttf') format('truetype');
    font-weight: 500;
    font-display: swap
}

@font-face {
    font-family: Manrope;
    src: url('assets/manrope-2.ttf') format('truetype');
    font-weight: 600;
    font-display: swap
}

@font-face {
    font-family: Manrope;
    src: url('assets/manrope-3.ttf') format('truetype');
    font-weight: 700;
    font-display: swap
}

@font-face {
    font-family: Manrope;
    src: url('assets/manrope-4.ttf') format('truetype');
    font-weight: 800;
    font-display: swap
}

:root {
    --navy: #081420;
    --navy-light: #122330;
    --lime: #b6ef36;
    --ink: #122330;
    --muted: #626d73;
    --paper: #f5f6f2;
    --line: #dce1dc;
    --white: #fff;
    --gutter: clamp(24px, 5.5vw, 90px)
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 24px
}

body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: Manrope, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    -webkit-font-smoothing: antialiased
}

button,
a,
input {
    font: inherit
}

button {
    cursor: pointer
}

a {
    color: inherit;
    text-decoration: none
}

button:focus-visible,
a:focus-visible,
summary:focus-visible {
    outline: 3px solid #2d80c8;
    outline-offset: 6px
}

button {
    color: inherit
}

img {
    max-width: 100%;
    display: block
}

p {
    margin: 0 0 20px
}

p:last-child {
    margin-bottom: 0
}

h1,
h2,
h3 {
    margin: 0;
    font-weight: 600;
    line-height: 1.18
}

h2 {
    font-size: clamp(32px, 3.35vw, 49px);
    letter-spacing: -1.9px;
    margin-bottom: 28px
}

h3 {
    font-size: 20px;
    letter-spacing: -.5px
}

em {
    font-style: normal
}

.container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 var(--gutter)
}

.section {
    padding: 100px 0
}

.split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 90px;
    align-items: start
}

.body-copy {
    max-width: 640px
}

.heading-wide {
    max-width: 880px
}

.eyebrow {
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    display: flex;
    gap: 13px;
    align-items: center;
    margin-bottom: 24px;
    color: #526150
}

.section-index {
    font-size: 16px;
    letter-spacing: 0;
    border: 1px solid currentColor;
    width: 24px;
    height: 24px;
    display: inline-grid;
    place-content: center;
    border-radius: 50%;
    opacity: .7
}

.icon {
    width: 27px;
    height: 27px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0
}

.svg-defs {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden
}

.dark {
    background: var(--navy);
    color: #fff
}

.dark p {
    color: #fff
}

.dark .eyebrow {
    color: var(--lime)
}

.reading-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    z-index: 60;
    width: 100%;
    transform: scaleX(0);
    transform-origin: left;
    background: var(--lime);
    pointer-events: none
}

.hero {
    background: var(--navy);
    color: #fff;
    min-height: 810px;
    position: relative;
    overflow: hidden
}

.hero-image,
.hero-shade {
    position: absolute;
    inset: 0
}

.hero-image {
    background-image: url('assets/hero-field.webp');
    background-position: 65% 55%;
    background-size: cover;
    opacity: .87;
    animation: hero-enter 1.5s ease-out
}

.hero-shade {
    background: linear-gradient(90deg, rgba(6, 17, 27, .99) 1%, rgba(6, 17, 27, .92) 27%, rgba(6, 17, 27, .56) 58%, rgba(6, 17, 27, .08) 100%), linear-gradient(0deg, #081420 0%, transparent 35%, rgba(6, 17, 27, .45) 100%)
}

.hero-content {
    position: relative;
    z-index: 1
}

.masthead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 35px 0;
    border-bottom: 1px solid #ffffff24
}

.masthead img {
    width: 210px;
    height: auto
}

.advertorial {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1.7px;
    color: #b7c0c3
}

.ticker {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1.5px;
    border: 1px solid #ffffff35;
    padding: 9px 17px;
    border-radius: 3px;
    white-space: nowrap
}

.ticker i,
.status-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    background: var(--lime);
    border-radius: 50%;
    margin-right: 10px;
    box-shadow: 0 0 13px #b6ef3670
}

.hero-copy {
    max-width: 830px;
    padding: 72px 0 66px
}

.company-line {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1.2px;
    color: #c9d0d3;
    margin-bottom: 25px
}

.hero h1 {
    font-size: clamp(44px, 4.6vw, 67px);
    letter-spacing: -2.9px;
    line-height: 1.1;
    font-weight: 500;
    max-width: 830px
}

.hero h1 em {
    color: var(--lime)
}

.hero-lead {
    font-size: 16px;
    color: #bbc5cc;
    max-width: 660px;
    line-height: 1.85;
    margin-top: 29px
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
    padding: 16px 23px;
    font-size: 16px;
    font-weight: 800;
    border: 1px solid transparent;
    border-radius: 3px;
    transition: background .2s, transform .2s
}

.button:hover {
    transform: translateY(-3px)
}

.button-lime {
    background: var(--lime);
    color: #13220a
}

.button-lime:hover {
    background: #c8ff54
}

.button span {
    font-size: 20px;
    line-height: 1
}

.intro {
    background: #fff
}

.intro .split h2 {
    max-width: 410px
}

.highlights-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 65px;
    margin-bottom: 22px
}

.highlights-heading h3 {
    font-size: 16px
}

.highlights-heading>span,
.news-header>span {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1.3px;
    color: #6b7878
}

.overview .split {
    align-items: center
}

.disclosure {
    font-size: 12px !important;
    line-height: 1.8;
    color: #82909a !important;
    border-top: 1px solid #9ca7a52b;
    padding-top: 21px;
    margin-top: 48px !important;
    max-width: none !important
}

.reference {
    font-size: 16px;
    margin-left: 4px;
    color: #7faa29
}

.market-section {
    position: relative;
    background-image: linear-gradient(#ffffff03 1px, transparent 1px), linear-gradient(90deg, #ffffff03 1px, transparent 1px);
    background-size: 64px 64px
}

.market-section h2 {
    max-width: 880px
}

.market-copy {
    columns: 2;
    column-gap: 65px
}

.market-copy p {
    font-size: 16px;
    break-inside: avoid
}

.market-context {
    font-size: 16px;
    margin-top: 32px !important;
    color: #8999a1 !important
}

.market-context a {
    text-decoration: underline;
    text-underline-offset: 3px
}

.milestone-feature {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #e9efdf;
    min-height: 680px
}

.investor-reasons h2 {
    max-width: 650px
}

.ecosystem h2 {
    max-width: 790px
}

.development-line {
    padding: 22px;
    background: #17262b;
    font-size: 16px;
    color: #adbebc;
    margin-top: 18px;
    border-left: 2px solid var(--lime)
}

.source-figure {
    display: flex;
    width: 100%;
    gap: 12px;
    align-items: center;
    padding: 17px 0;
    margin-top: 22px;
    border: 0;
    border-top: 1px solid #9aa8a03a;
    background: transparent;
    text-align: left;
    font-size: 16px;
    color: #65716b
}

.source-figure .icon {
    width: 15px;
    height: 15px
}

.source-figure>span:last-child {
    margin-left: auto;
    font-size: 18px
}

.source-figure:hover {
    color: #65920d
}

.dark .source-figure {
    color: #a2b3bc
}

.dark .source-figure:hover {
    color: var(--lime)
}

.platforms {
    background: white
}

.platforms .split p {
    font-size: 16px
}

.payload-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    align-items: start
}

.payload-grid details {
    border: 1px solid var(--line);
    background: var(--paper);
    border-radius: 4px
}

.payload-grid summary {
    display: flex;
    gap: 12px;
    align-items: center;
    font-size: 16px;
    font-weight: 700;
    list-style: none;
    cursor: pointer;
    padding: 19px
}

.payload-grid summary>.icon {
    color: #709229;
    width: 22px;
    height: 22px
}

.payload-grid summary b {
    margin-left: auto;
    font-size: 18px;
    font-weight: 400;
    color: #7b8977
}

.payload-grid details[open] summary b {
    transform: rotate(45deg)
}

.payload-grid details p {
    padding: 0 19px 20px 53px;
    font-size: 16px;
    color: #697766
}

.solar .split {
    align-items: center;
    gap: 65px
}

.solar h2 {
    font-size: 40px
}

.solar p {
    font-size: 16px
}

.intelligence .split p {
    font-size: 16px
}

.command-display {
    border: 1px solid #35414a;
    border-radius: 6px;
    margin-top: 42px;
    overflow: hidden
}

.command-header {
    padding: 18px 26px;
    border-bottom: 1px solid #ffffff17;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #11222c
}

.command-header>span {
    font-size: 16px;
    font-weight: 600
}

.command-header small {
    font-size: 16px;
    letter-spacing: 2px;
    color: #8095a1
}

.command-grid {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    background: #0d1c27
}

.command-copy {
    padding: 34px
}

.command-copy h3 {
    font-size: 32px;
    line-height: 1.15;
    margin-bottom: 15px
}

.command-copy>p {
    font-size: 16px
}

.command-capability {
    border-top: 1px solid #ffffff15;
    padding: 15px 0
}

.command-capability strong {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: var(--lime);
    margin-bottom: 5px
}

.command-capability>span {
    font-size: 16px;
    line-height: 1.7;
    color: #fff;
    display: block
}

.interface-preview {
    padding: 18px;
    border: 0;
    border-left: 1px solid #ffffff17;
    background: #080f1b;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 0
}

.interface-preview img {
    width: 100%;
    border: 1px solid #ffffff12;
    transition: transform .3s
}

.interface-preview:hover img {
    transform: scale(1.015)
}

.interface-preview>span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    font-size: 16px;
    margin-top: 18px;
    color: #90a2ad
}

.interface-preview .icon {
    height: 15px;
    width: 15px
}

.development-caption {
    font-size: 16px;
    margin-top: 15px !important;
    color: #7d929e !important
}

.partnerships {
    background: #fff
}

.strategy .split p {
    font-size: 16px
}

.patent-section .split {
    align-items: center
}

.patent-section p {
    font-size: 16px
}

.global {
    background: #fff
}

.global .split p {
    font-size: 16px
}

.global-interactive {
    display: grid;
    grid-template-columns: 1.75fr 1fr;
    background: #f0f3ed;
    margin-top: 45px;
    border: 1px solid #e1e6dc;
    border-radius: 5px;
    overflow: hidden
}

.world-map {
    position: relative;
    aspect-ratio: 1.65;
    background: radial-gradient(ellipse at center, #e3ecd7, transparent 70%)
}

.world-map>svg {
    width: 100%;
    height: 100%
}

.map-pin {
    position: absolute;
    padding: 0;
    height: 21px;
    width: 21px;
    border-radius: 50%;
    border: 1px solid #90a671;
    background: #fff9;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    transition: transform .2s
}

.map-pin i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #678437
}

.map-pin.active {
    background: #b6ef3670;
    border-color: #769f28;
    box-shadow: 0 0 0 6px #b6ef3625;
    z-index: 2
}

.map-pin.active i {
    background: #567517
}

.map-pin:hover {
    transform: translate(-50%, -50%) scale(1.25);
    z-index: 3
}

.map-caption {
    position: absolute;
    bottom: 18px;
    left: 24px;
    font-size: 16px;
    letter-spacing: 1.5px;
    color: #7b8e6b
}

.market-detail {
    border-left: 1px solid #dae2d4;
    padding: 35px;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.market-detail>span {
    font-size: 16px;
    letter-spacing: 1.5px;
    color: #7c945e;
    margin-bottom: 18px
}

.market-detail h3 {
    font-size: 29px;
    margin-bottom: 22px
}

.market-detail p {
    font-size: 16px;
    color: #000;
    min-height: 130px
}

.market-status {
    font-size: 16px;
    letter-spacing: 1.4px;
    margin-top: 22px;
    padding-top: 17px;
    border-top: 1px solid #d5e0ca;
    color: #7b905f
}

.market-selector {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px
}

.market-selector button {
    padding: 9px 14px;
    border-radius: 3px;
    border: 1px solid #dde3d7;
    font-size: 16px;
    background: white;
    transition: background .2s
}

.market-selector button.active {
    background: var(--navy);
    border-color: var(--navy);
    color: var(--lime)
}

.market-selector button:hover:not(.active) {
    background: #edf4e3
}

.timeline-section h2 {
    max-width: 780px
}

.news-section {
    background: #fff
}

.news-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px
}

.news-header h2 {
    margin-bottom: 0
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px
}

.news-card {
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    transition: background .2s, transform .2s
}

.news-card:hover {
    background: #f3f7ed;
    transform: translateY(-3px)
}

.news-source {
    font-size: 16px;
    letter-spacing: 1.3px;
    font-weight: 700;
    color: #758368;
    display: flex;
    justify-content: space-between
}

.news-source>span {
    color: #a6b09e
}

.news-card h3 {
    font-size: 18px;
    line-height: 1.45;
    letter-spacing: -.4px;
    margin: 28px 0 35px;
    flex: 1
}

.news-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    font-weight: 600;
    padding-top: 15px;
    border-top: 1px solid var(--line)
}

.news-bottom>span {
    font-size: 20px;
    font-weight: 400
}

.closing {
    position: relative;
    overflow: hidden
}

.closing .container {
    position: relative
}

.closing-content {
    max-width: 890px
}

.closing-content h2 {
    font-size: 55px
}

.closing-content>p {
    max-width: 850px;
    font-size: 16px
}

.closing-actions {
    display: flex;
    gap: 15px;
    margin-top: 35px
}

.button-outline {
    border-color: #71808a;
    color: #fff;
    background: transparent
}

.button-outline:hover {
    background: #ffffff12
}

.footer {
    background: #06111b;
    color: #81929c;
    padding: 42px 0 30px
}

.footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 30px
}

.footer-top>img {
    width: 172px;
    height: auto;
    opacity: .8
}

.footer-top>span {
    font-size: 16px;
    letter-spacing: 1.4px
}

.references {
    border-top: 1px solid #ffffff15;
    border-bottom: 1px solid #ffffff15
}

.references summary {
    cursor: pointer;
    list-style: none;
    font-size: 16px;
    padding: 16px 0;
    display: flex;
    justify-content: space-between
}

.references summary>span {
    font-size: 16px
}

.references[open] summary>span {
    transform: rotate(45deg)
}

.references ol {
    list-style: none;
    padding: 0;
    margin: 0 0 23px;
    display: grid;
    gap: 10px
}

.references li a {
    font-size: 16px
}

.references li a>span:first-child {
    width: 25px;
    display: inline-block;
    color: #b6ef36
}

.references li a:hover {
    color: #fff
}

.image-dialog {
    border: 1px solid #ffffff25;
    padding: 0;
    border-radius: 7px;
    width: min(1250px, 94vw);
    max-width: 94vw;
    max-height: 92vh;
    background: #fff;
    color: var(--ink);
    box-shadow: 0 40px 130px #0009
}

.image-dialog::backdrop {
    background: #04101de6;
    backdrop-filter: blur(7px)
}

.dialog-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 16px 24px;
    border-bottom: 1px solid #e0e5df;
    background: #f7f8f4
}

.dialog-toolbar>span {
    font-size: 16px;
    font-weight: 600
}

.dialog-close {
    width: 35px;
    height: 35px;
    border: 1px solid #d5ddcf;
    border-radius: 50%;
    font-size: 24px;
    line-height: 1;
    background: white
}

.dialog-image-wrap {
    overflow: auto;
    max-height: 74vh;
    padding: 20px
}

.dialog-image-wrap img {
    width: 100%;
    height: auto
}

.image-dialog>p {
    font-size: 16px;
    color: #7a8674;
    margin: 0;
    padding: 10px 24px 17px
}

.reveal-ready {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .7s, transform .7s
}

.reveal-ready.in-view {
    opacity: 1;
    transform: none
}

@keyframes hero-enter {
    from {
        transform: scale(1.04)
    }

    to {
        transform: scale(1)
    }
}

@media(min-width:1600px) {
    .hero {
        min-height: 900px
    }

    .hero-copy {
        padding: 90px 0
    }

    .hero h1 {
        font-size: 74px
    }

    .hero-lead {
        font-size: 16px
    }

    .hero-image {
        background-position: right center
    }
}

@media(max-width:1100px) {
    .split {
        gap: 45px
    }

    .hero {
        min-height: 760px
    }

    .hero-copy {
        max-width: 700px
    }

    .hero h1 {
        max-width: 690px
    }

    .section {
        padding: 80px 0
    }

    .solar h2 {
        font-size: 34px
    }

    .solar .split {
        gap: 35px
    }

    .command-grid {
        grid-template-columns: 1fr 1.1fr
    }

    .command-copy {
        padding: 26px
    }

    .market-detail {
        padding: 25px
    }

    .market-detail h3 {
        font-size: 24px
    }

    .market-detail p {
        font-size: 16px
    }

    .payload-grid summary {
        font-size: 16px;
        padding: 16px
    }

    .map-pin {
        width: 18px;
        height: 18px
    }
}

@media(max-width:800px) {
    body {
        font-size: 16px
    }

    .section {
        padding: 65px 0
    }

    .split {
        grid-template-columns: 1fr;
        gap: 20px
    }

    h2 {
        font-size: 36px;
        letter-spacing: -1.4px;
        margin-bottom: 22px
    }

    .eyebrow {
        margin-bottom: 18px
    }

    .masthead {
        padding: 25px 0;
        flex-wrap: wrap
    }

    .masthead img {
        width: 177px
    }

    .advertorial {
        order: 3;
        width: 100%;
        font-size: 16px;
        margin-top: 0
    }

    .ticker {
        font-size: 16px;
        padding: 7px 11px
    }

    .hero {
        min-height: 760px
    }

    .hero-copy {
        padding: 53px 0 55px;
        max-width: 650px
    }

    .hero h1 {
        font-size: 52px;
        letter-spacing: -2px;
        max-width: 650px
    }

    .hero-lead {
        font-size: 16px;
        max-width: 570px
    }

    .hero-shade {
        background: linear-gradient(90deg, #07131bf0, #07131b99), linear-gradient(0deg, #081420, transparent 75%)
    }

    .hero-image {
        background-position: 68% center
    }

    .highlights-heading {
        margin-top: 40px
    }

    .overview .split {
        grid-template-columns: 1fr 1fr;
        gap: 30px
    }

    .overview h2 {
        font-size: 30px
    }

    .overview .body-copy {
        font-size: 16px
    }

    .market-copy {
        column-gap: 32px
    }

    .milestone-feature {
        grid-template-columns: 1fr
    }

    .payload-grid {
        grid-template-columns: 1fr 1fr
    }

    .solar .split {
        gap: 30px
    }

    .command-grid {
        grid-template-columns: 1fr 1.2fr
    }

    .command-copy h3 {
        font-size: 27px
    }

    .command-copy {
        padding: 24px
    }

    .patent-section .split {
        grid-template-columns: 1.2fr 1fr;
        gap: 35px
    }

    .global-interactive {
        grid-template-columns: 1fr
    }

    .world-map {
        aspect-ratio: 1.8
    }

    .market-detail {
        border-left: 0;
        border-top: 1px solid #dae2d4;
        padding: 25px 30px
    }

    .market-detail p {
        min-height: 0;
        font-size: 16px
    }

    .market-detail h3 {
        margin-bottom: 15px
    }

    .market-detail>span {
        margin-bottom: 10px
    }

    .market-status {
        margin-top: 15px
    }

    .market-selector {
        gap: 7px
    }

    .news-grid {
        grid-template-columns: 1fr 1fr
    }

    .news-card h3 {
        font-size: 17px
    }

    .closing-content h2 {
        font-size: 45px
    }

    .closing-content>p {
        font-size: 16px
    }

    .footer-top>span {
        font-size: 16px
    }
}

@media(max-width:540px) {
    :root {
        --gutter: 23px
    }

    .section {
        padding: 56px 0
    }

    h2 {
        font-size: 32px;
        letter-spacing: -1.2px
    }

    .hero {
        min-height: 0
    }

    .hero-copy {
        padding: 42px 0
    }

    .hero h1 {
        font-size: 40px;
        line-height: 1.13;
        letter-spacing: -1.8px
    }

    .company-line {
        font-size: 16px;
        letter-spacing: .5px;
        margin-bottom: 22px
    }

    .hero-lead {
        font-size: 16px;
        line-height: 1.9;
        margin-top: 25px
    }

    .masthead img {
        width: 160px
    }

    .masthead {
        gap: 18px;
        padding: 22px 0
    }

    .ticker {
        font-size: 16px;
        padding: 6px 9px
    }

    .advertorial {
        font-size: 16px;
        letter-spacing: 1.5px
    }

    .button {
        padding: 14px 18px;
        font-size: 16px;
        gap: 20px
    }

    .hero-image {
        background-position: 62% center
    }

    .hero-shade {
        background: linear-gradient(90deg, #07131bed, #07131b9e), linear-gradient(0deg, #081420, transparent)
    }

    .eyebrow {
        font-size: 16px;
        letter-spacing: 1.5px
    }

    .section-index {
        width: 21px;
        height: 21px;
        font-size: 16px
    }

    .body-copy p {
        font-size: 16px
    }

    .highlights-heading>span {
        max-width: 120px;
        text-align: right;
        font-size: 16px
    }

    .highlights-heading h3 {
        font-size: 16px
    }

    .overview .split {
        display: flex;
        flex-direction: column-reverse;
        gap: 40px;
        align-items: stretch
    }

    .overview h2 {
        font-size: 32px
    }

    .overview .body-copy {
        font-size: 16px
    }

    .disclosure {
        font-size: 16px !important;
        margin-top: 33px !important
    }

    .market-copy {
        columns: 1
    }

    .market-copy p {
        font-size: 16px
    }

    .market-context {
        font-size: 16px
    }

    .development-line {
        font-size: 16px;
        padding: 19px
    }

    .source-figure {
        font-size: 16px;
        gap: 9px
    }

    .source-figure>.icon {
        width: 14px
    }

    .platforms .split p {
        font-size: 16px
    }

    .payload-grid {
        grid-template-columns: 1fr
    }

    .payload-grid summary {
        font-size: 16px
    }

    .payload-grid details p {
        padding-left: 50px
    }

    .solar h2 {
        font-size: 32px
    }

    .solar p {
        font-size: 16px
    }

    .intelligence .split p {
        font-size: 16px
    }

    .command-display {
        margin-top: 28px
    }

    .command-header {
        padding: 15px 18px
    }

    .command-header>span {
        font-size: 16px
    }

    .command-header small {
        display: none
    }

    .command-grid {
        grid-template-columns: 1fr
    }

    .command-copy h3 {
        font-size: 34px
    }

    .command-capability strong {
        font-size: 16px
    }

    .command-capability>span {
        font-size: 16px
    }

    .interface-preview {
        border-top: 1px solid #ffffff17;
        border-left: 0;
        padding: 15px
    }

    .partnerships .split p {
        font-size: 16px
    }

    .strategy .split p {
        font-size: 16px
    }

    .patent-section .split {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .patent-section p {
        font-size: 16px
    }

    .global-interactive {
        margin-top: 25px
    }

    .world-map {
        aspect-ratio: 1.5
    }

    .map-caption {
        font-size: 16px;
        left: 15px;
        bottom: 10px;
        letter-spacing: 1px
    }

    .map-pin {
        width: 15px;
        height: 15px
    }

    .map-pin i {
        width: 5px;
        height: 5px
    }

    .map-pin.active {
        box-shadow: 0 0 0 4px #b6ef3625
    }

    .market-detail {
        padding: 25px
    }

    .market-detail h3 {
        font-size: 25px
    }

    .market-selector {
        gap: 6px
    }

    .market-selector button {
        font-size: 16px;
        padding: 8px 11px
    }

    .news-header {
        gap: 20px
    }

    .news-header>span {
        font-size: 16px;
        max-width: 100px;
        text-align: right
    }

    .news-grid {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .news-card {
        padding: 25px
    }

    .news-card h3 {
        margin: 20px 0 25px;
        font-size: 19px
    }

    .closing-content h2 {
        font-size: 41px
    }

    .closing-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px
    }

    .closing-content>p {
        font-size: 16px
    }

    .footer {
        padding: 30px 0
    }

    .footer-top {
        flex-wrap: wrap;
        gap: 18px
    }

    .footer-top img {
        width: 150px
    }

    .footer-top>span:last-child {
        width: 100%;
        font-size: 16px
    }

    .footer-top>span {
        font-size: 16px
    }

    .dialog-toolbar {
        padding: 12px 15px
    }

    .dialog-toolbar>span {
        font-size: 16px
    }

    .dialog-close {
        flex-shrink: 0
    }

    .dialog-image-wrap {
        padding: 10px
    }

    .dialog-image-wrap img {
        min-width: 750px;
        max-width: none
    }

    .image-dialog>p {
        font-size: 16px;
        padding: 10px 15px
    }

    .references li a {
        font-size: 16px
    }
}

.hero-video {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    opacity: 0;
    transition: opacity 1s ease;
    background: var(--navy)
}

.hero-video.is-playing {
    opacity: 1
}

.hero-video video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border: 0;
    pointer-events: none
}

.hero-shade {
    pointer-events: none
}

.market-detail>span,
.market-status {
    color: #5c7245
}

.highlights-heading>span,
.news-header>span {
    color: #5b685a
}

.map-caption {
    color: #5e724f
}

.market-selector button {
    min-height: 40px
}

@media(max-width:360px) {

    .hero h1 {
        font-size: 36px
    }

    .masthead img {
        width: 140px
    }

    .ticker {
        font-size: 16px;
        letter-spacing: 1px
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    *,
    *:before,
    *:after {
        animation: none !important;
        transition: none !important
    }

    .reveal-ready {
        opacity: 1;
        transform: none
    }
}

@font-face {
    font-family: Sora;
    src: url('assets/sora-0.ttf') format('truetype');
    font-weight: 500;
    font-display: swap
}

@font-face {
    font-family: Sora;
    src: url('assets/sora-1.ttf') format('truetype');
    font-weight: 600;
    font-display: swap
}

@font-face {
    font-family: Sora;
    src: url('assets/sora-2.ttf') format('truetype');
    font-weight: 700;
    font-display: swap
}

h1,
h2,
h3 {
    font-family: Sora, Manrope, Arial, sans-serif
}

h2 {
    letter-spacing: -1.6px;
    line-height: 1.22
}

h3 {
    letter-spacing: -.4px
}

.hero {
    min-height: 760px
}

.hero-copy {
    max-width: 920px;
    padding: 82px 0 104px
}

.hero h1 {
    font-size: clamp(44px, 4.45vw, 64px);
    font-weight: 600;
    letter-spacing: -2.3px;
    line-height: 1.14;
    max-width: 920px
}

.hero-lead {
    margin-top: 30px
}

@media(min-width:1600px) {
    .hero {
        min-height: 830px
    }

    .hero-copy {
        padding: 90px 0 110px
    }

    .hero h1 {
        font-size: 69px
    }
}

@media(max-width:800px) {
    .hero {
        min-height: 680px
    }

    .hero-copy {
        padding: 58px 0 88px
    }

    .hero h1 {
        font-size: 49px;
        letter-spacing: -1.9px
    }
}

@media(max-width:540px) {
    .hero {
        min-height: 0
    }

    .hero-copy {
        padding: 42px 0 84px
    }

    .hero h1 {
        font-size: 37px;
        line-height: 1.17;
        letter-spacing: -1.3px
    }

    h2 {
        letter-spacing: -1px
    }
}

@media(max-width:360px) {
    .hero h1 {
        font-size: 32px;
        letter-spacing: -1.1px
    }
}

/* Hero identity, introduction and stock profile */
.hero-content {
    min-height: inherit;
    position: relative
}

.masthead {
    justify-content: space-between
}

.masthead .advertorial {
    margin-left: auto
}

.company-line {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    max-width: 100%;
    padding: 10px 16px;
    margin-bottom: 26px;
    background: linear-gradient(110deg, #b6ef3617, #ffffff09);
    border: 1px solid #b6ef3638;
    border-radius: 5px;
    color: #e0e8d9;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .65px;
    backdrop-filter: blur(14px);
    box-shadow: inset 0 1px #ffffff08
}

.company-line:before {
    content: '';
    width: 7px;
    height: 7px;
    flex-shrink: 0;
    border: 1px solid var(--lime);
    background: #b6ef3630;
    transform: rotate(45deg);
    box-shadow: 0 0 14px #b6ef3640
}

.hero-copy {
    padding-top: 68px;
    padding-bottom: 75px
}

.hero-lead-panel {
    max-width: 665px;
    margin-top: 34px;
    padding: 23px 27px 25px;
    background: linear-gradient(115deg, #132a36c9, #0c1b24a6);
    border: 1px solid #b7d0b526;
    border-left: 3px solid var(--lime);
    border-radius: 0 8px 8px 0;
    backdrop-filter: blur(16px);
    box-shadow: 0 15px 40px #00000012;
    transition: background .25s, border-color .25s, transform .25s
}

.hero-lead-panel:hover {
    border-color: #b6ef365e;
    transform: translateY(-3px);
    background: linear-gradient(115deg, #1d3536e0, #0c1b24bd)
}

.hero-lead-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--lime);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1.8px;
    margin-bottom: 13px
}

.hero-lead-kicker .icon {
    width: 18px;
    height: 18px;
    stroke-width: 1.5
}

.hero-lead-panel .hero-lead {
    font-size: 16px;
    line-height: 1.85;
    margin: 0;
    color: #b9c8cf;
    max-width: none
}

.hero-lead strong {
    color: #f1f5ee;
    font-weight: 600
}

.ticker-card {
    position: absolute;
    right: var(--gutter);
    bottom: 70px;
    width: 255px;
    padding: 24px 25px 19px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    white-space: normal;
    color: #fff;
    border: 1px solid #b6ef3652;
    border-radius: 10px;
    background: linear-gradient(135deg, #1d352dd9, #0a1926e8 65%);
    backdrop-filter: blur(18px);
    box-shadow: 0 20px 65px #0005, inset 0 1px #ffffff12;
    overflow: hidden;
    transition: transform .25s, border-color .25s, box-shadow .25s
}

.ticker-card:before {
    content: '';
    position: absolute;
    inset: -100% -50%;
    background: linear-gradient(110deg, transparent 40%, #b6ef360e 50%, transparent 60%);
    transform: translateX(-45%);
    pointer-events: none;
    transition: transform .65s
}

.ticker-card:hover,
.ticker-card:focus-visible {
    transform: translateY(-5px);
    border-color: #b6ef36b3;
    box-shadow: 0 25px 65px #0006, 0 0 28px #b6ef3612
}

.ticker-card:hover:before,
.ticker-card:focus-visible:before {
    transform: translateX(45%)
}

.ticker-exchange {
    font-size: 16px;
    letter-spacing: 1.7px;
    display: flex;
    align-items: center;
    color: #c4d9b5
}

.ticker-exchange i {
    margin-right: 9px;
    width: 6px;
    height: 6px;
    background: var(--lime);
    border-radius: 50%;
    box-shadow: 0 0 12px #b6ef3680
}

.ticker-arrow {
    margin-left: auto;
    font-size: 20px;
    line-height: 1;
    color: #91aa89;
    transition: color .2s, transform .2s
}

.ticker-card:hover .ticker-arrow {
    color: var(--lime);
    transform: translate(2px, -2px)
}

.ticker-card>strong {
    font-family: Sora, Arial, sans-serif;
    font-weight: 600;
    font-size: 49px;
    line-height: 1.1;
    letter-spacing: -2px;
    margin: 18px 0 8px;
    color: var(--lime)
}

.ticker-company {
    font-size: 16px;
    letter-spacing: .15px;
    font-weight: 400;
    color: #a9bbc3
}

.ticker-link {
    margin-top: 20px;
    padding-top: 13px;
    border-top: 1px solid #c5e5ad20;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .2px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #e1e9dc
}

.ticker-link>span {
    font-size: 18px;
    line-height: 1
}

@media(min-width:1600px) {
    .hero-copy {
        padding-top: 76px;
        padding-bottom: 90px
    }

    .ticker-card {
        width: 275px;
        padding: 27px 28px 21px;
        bottom: 85px
    }

    .ticker-card>strong {
        font-size: 55px
    }
}

@media(max-width:1100px) {
    .hero-lead-panel {
        max-width: calc(100% - 265px)
    }

    .ticker-card {
        width: 235px;
        bottom: 75px;
        padding: 22px
    }

    .ticker-card>strong {
        font-size: 44px
    }

    .hero-lead-panel .hero-lead {
        font-size: 16px
    }
}

@media(max-width:800px) {
    .hero-copy {
        padding-top: 48px;
        padding-bottom: 30px
    }

    .hero-lead-panel {
        max-width: 100%;
        margin-top: 28px;
        padding: 23px
    }

    .ticker-card {
        position: relative;
        right: auto;
        bottom: auto;
        width: 255px;
        margin: 0 0 75px auto
    }

    .hero-content {
        padding-bottom: 1px
    }

    .hero-lead-panel .hero-lead {
        font-size: 16px
    }

    .masthead .advertorial {
        order: 0;
        width: auto;
        margin-top: 0;
        text-align: right;

    }

    .company-line {
        font-size: 16px;
        padding: 10px 13px;
        letter-spacing: .35px
    }
}

@media(max-width:540px) {
    .hero-copy {
        padding-top: 38px;
        padding-bottom: 25px
    }

    .masthead {
        gap: 14px
    }

    .masthead .advertorial {
        font-size: 16px;
        letter-spacing: .9px;
        max-width: 110px
    }

    .company-line {
        font-size: 16px;
        line-height: 1.7;
        padding: 10px 11px;
        gap: 8px;
        margin-bottom: 24px;
        letter-spacing: .15px
    }

    .company-line:before {
        width: 6px;
        height: 6px
    }

    .hero-lead-panel {
        padding: 20px 19px;
        margin-top: 27px
    }

    .hero-lead-kicker {
        font-size: 16px;
        letter-spacing: 1.4px;
        gap: 8px;
        margin-bottom: 12px
    }

    .hero-lead-kicker .icon {
        width: 16px;
        height: 16px
    }

    .hero-lead-panel .hero-lead {
        font-size: 16px;
        line-height: 1.85
    }

    .ticker-card {
        width: 235px;
        margin-bottom: 70px;
        padding: 21px 23px 18px
    }

    .ticker-card>strong {
        font-size: 44px;
        margin: 15px 0 6px
    }

    .ticker-link {
        margin-top: 16px;
        padding-top: 12px
    }

    .ticker-exchange {
        font-size: 16px;
        letter-spacing: 1.3px
    }
}

@media(max-width:360px) {
    .masthead img {
        width: 132px
    }

    .masthead .advertorial {
        max-width: 105px;
        font-size: 16px
    }

    .company-line {
        font-size: 16px;
        gap: 7px
    }

    .ticker-card {
        width: 225px
    }

    .hero-lead-kicker {
        font-size: 16px;
        letter-spacing: 1px
    }
}

/* Readability: every visible text label is at least 16px. */
body {
    font-size: 16px
}

small,
sup,
sub {
    font-size: 16px
}

.company-line {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.55;
    padding: 13px 19px;
    color: #f2ffd9;
    background: linear-gradient(110deg, #b6ef3633, #91be2720);
    border-color: #b6ef3690;
    box-shadow: 0 0 30px #b6ef3610, inset 0 1px #e2ffad21;
    letter-spacing: .2px
}

.company-line:before {
    width: 10px;
    height: 10px;
    background: var(--lime);
    box-shadow: 0 0 18px #b6ef3660
}

.hero-lead-panel .hero-lead,
.hero-lead-panel .hero-lead strong,
.hero-lead-kicker {
    font-size: 16px;
    color: #fff
}

.hero-lead-kicker {
    letter-spacing: 1px;
    line-height: 1.5
}

.hero-lead-panel .hero-lead {
    line-height: 1.8
}

.hero-lead-panel {
    max-width: 665px;
    padding: 24px 27px
}

.hero-copy {
    padding-bottom: 80px
}

.ticker-card {
    width: 320px;
    padding: 27px 28px 23px;
    bottom: 80px;
    --tilt-x: 0deg;
    --tilt-y: 0deg;
    --shine-x: 50%;
    --shine-y: 35%;
    border-color: #b6ef3670;
    background: radial-gradient(circle at var(--shine-x) var(--shine-y), #b6ef3627, transparent 65%), linear-gradient(140deg, #213d2feb, #081a27f0);
    transform: perspective(800px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
    transition: transform .2s, border-color .25s, box-shadow .25s;
    isolation: isolate
}

.ticker-card:hover,
.ticker-card:focus-visible {
    transform: perspective(800px) translateY(-7px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
    border-color: var(--lime);
    box-shadow: 0 28px 70px #0006, 0 0 38px #b6ef3624
}

.ticker-card:active {
    transform: perspective(800px) translateY(-2px) scale(.98)
}

.ticker-card>strong {
    font-size: 62px;
    letter-spacing: -2px;
    margin: 20px 0 10px;
    text-shadow: 0 0 30px #b6ef3625;
    transition: color .25s, text-shadow .25s
}

.ticker-card:hover>strong {
    color: #d1ff73;
    text-shadow: 0 0 28px #b6ef365e
}

.ticker-exchange {
    font-size: 16px;
    letter-spacing: 1px
}

.ticker-exchange i {
    width: 8px;
    height: 8px;
    flex-shrink: 0
}

.ticker-arrow {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid #b6ef3640;
    border-radius: 50%;
    font-size: 23px;
    color: var(--lime);
    margin-left: auto
}

.ticker-company {
    font-size: 16px;
    line-height: 1.5;
    color: #d0ddd0
}

.ticker-link {
    font-size: 16px;
    line-height: 1.5;
    margin-top: 23px;
    padding-top: 18px;
    gap: 12px;
    color: white
}

.ticker-link>span {
    font-size: 24px;
    transition: transform .25s
}

.ticker-card:hover .ticker-link>span {
    transform: translate(3px, -3px)
}

.masthead .advertorial {
    font-size: 12px;
    letter-spacing: 1.2px
}

.hero-lead-panel {
    max-width: min(665px, calc(100% - 5px))
}

.command-header {
    gap: 20px
}

.command-header small {
    white-space: normal
}

.highlights-heading>span,
.news-header>span {
    letter-spacing: .6px;
    line-height: 1.5
}

.map-caption {
    max-width: 90%;
    line-height: 1.5;
    letter-spacing: .7px
}

.section-index {
    width: 28px;
    height: 28px;
    flex-shrink: 0
}

.reference {
    line-height: 1
}

@media(min-width:1600px) {
    .ticker-card {
        width: 340px;
        bottom: 85px;
        padding: 29px
    }

    .ticker-card>strong {
        font-size: 66px
    }
}

@media(min-width:801px) and (max-width:1200px) {
    .hero-lead-panel {
        max-width: calc(100% - 355px)
    }

    .ticker-card {
        width: 315px
    }

    .hero-copy {
        padding-bottom: 70px
    }

    .overview .split {
        gap: 40px
    }
}

@media(max-width:800px) {
    .ticker-card {
        position: relative;
        right: auto;
        bottom: auto;
        width: 320px;
        max-width: 100%;
        margin: 0 0 44px auto
    }

    .hero-copy {
        padding-bottom: 28px
    }

    .hero-lead-panel {
        max-width: 100%
    }

    .company-line {
        font-size: 17px
    }

    .masthead .advertorial {
 
        width: auto;
        max-width: none
    }

    .overview .split {
        grid-template-columns: 1fr
    }

    .highlights-heading,
    .news-header {
        align-items: flex-start;
        gap: 22px
    }

    .highlights-heading>span,
    .news-header>span {
        max-width: 240px;
        text-align: left
    }

    .patent-section .split {
        grid-template-columns: 1fr
    }

    .footer-top {
        flex-wrap: wrap
    }

    .footer-top>span {
        font-size: 16px
    }
}

@media(max-width:540px) {
    .masthead {
        align-items: flex-start;
        gap: 18px;
      
    }
.ticker-company{display:none;}
    .masthead .advertorial {
   
        letter-spacing: .7px;
        text-align: left;
        margin: 0
    }

    .company-line {
        font-size: 16px;
        line-height: 1.55;
        padding: 12px 14px;
        gap: 11px
    }

    .company-line:before {
        width: 8px;
        height: 8px
    }

    .hero-lead-panel {
        padding: 21px
    }

    .hero-lead-kicker {
        font-size: 16px;
        letter-spacing: 0;
        align-items: flex-start
    }

    .hero-lead-kicker .icon {
        width: 22px;
        height: 22px;
        margin-top: 1px
    }

    .hero-lead-panel .hero-lead {
        font-size: 16px
    }

    .ticker-card {
        width: 100%;
        padding: 25px 24px;
        margin-bottom: 36px
    }

    .ticker-card>strong {
        font-size: 60px
    }

    .ticker-exchange,
    .ticker-company,
    .ticker-link {
        font-size: 16px
    }

    .highlights-heading,
    .news-header {
        flex-direction: column;
        gap: 12px
    }

    .highlights-heading>span,
    .news-header>span {
        max-width: none;
        text-align: left
    }

    .command-header>span {
        font-size: 16px
    }

    .command-header small {
        display: none
    }

    .market-selector button {
        font-size: 16px
    }

    .world-map {
        padding-bottom: 45px;
        aspect-ratio: 1.2
    }

    .map-caption {
        font-size: 16px;
        bottom: 12px;
        left: 15px;
        letter-spacing: 0
    }

    .map-pin {
        transform: translate(-50%, -50%)
    }

    .news-source {
        font-size: 16px;
        letter-spacing: .5px
    }

    .footer-top>span:last-child {
        font-size: 16px
    }

    .dialog-toolbar>span,
    .image-dialog>p {
        font-size: 16px
    }

    .references li a {
        font-size: 16px
    }

    .market-context {
        font-size: 16px
    }

    .ticker-arrow {
        font-size: 23px
    }
}

/* Hero title hierarchy and a lighter veil over the film. */
.hero-shade {
    background: linear-gradient(90deg, rgba(5, 16, 25, .62) 0%, rgba(5, 16, 25, .52) 35%, rgba(5, 16, 25, .25) 68%, rgba(5, 16, 25, .08) 100%), linear-gradient(0deg, rgba(8, 20, 32, .9) 0%, rgba(8, 20, 32, .1) 53%, rgba(8, 20, 32, .35) 100%)
}

.hero h1 {
    max-width: 920px;
    line-height: 1.12;
    letter-spacing: -1.8px;
    text-shadow: 0 3px 22px #0008
}

.hero-heading-intro {
    display: block;
    font-size: clamp(26px, 2.3vw, 34px);
    font-weight: 500;
    letter-spacing: -.8px;
    line-height: 1.35;
    color: #fff;
    margin-bottom: 12px
}

.hero h1 .hero-heading-focus {
    display: block;
    width: fit-content;
    font-size: clamp(60px, 5.6vw, 82px);
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -3px;
    color: var(--lime);
    white-space: nowrap;
    margin-bottom: 8px;
    text-shadow: 0 3px 24px #0007
}

.hero-heading-finish {
    display: block;
    font-size: clamp(42px, 4.05vw, 59px);
    font-weight: 600;
    letter-spacing: -2px;
    line-height: 1.18;
    color: #fff;
    text-wrap: balance
}

@media(max-width:800px) {
    .hero-heading-intro {
        font-size: 27px;
        max-width: 580px;
        margin-bottom: 13px
    }

    .hero h1 .hero-heading-focus {
        font-size: clamp(44px, 8vw, 62px);
        letter-spacing: -2px
    }

    .hero-heading-finish {
        font-size: clamp(34px, 5.8vw, 46px);
        letter-spacing: -1.4px;
        max-width: 650px
    }
}

@media(max-width:540px) {
    .hero-heading-intro {
        font-size: 23px;
        line-height: 1.4;
        letter-spacing: -.5px;
        margin-bottom: 15px;
        max-width: 340px
    }

    .hero h1 .hero-heading-focus {
        font-size: clamp(28px, 8.6vw, 45px);
        letter-spacing: -1.3px;
        margin-bottom: 13px;
        line-height: 1.12
    }

    .hero-heading-finish {
        font-size: 32px;
        letter-spacing: -1px;
        line-height: 1.22;
        max-width: 100%;
        text-wrap: balance
    }

    .hero-shade {
        background: linear-gradient(90deg, #07131ba8, #07131b70), linear-gradient(0deg, #081420ed, transparent 70%)
    }
}

@media(max-width:360px) {
    .hero-heading-intro {
        font-size: 21px
    }

    .hero-heading-finish {
        font-size: 29px
    }
}

/* Full-viewport hero with the supplied disclosure fixed to its bottom edge. */
.hero {
    height: 100vh;
    min-height: 0;
    --hero-notice-height: 48px
}

.hero-content {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    grid-template-rows: auto 1fr;
    column-gap: 46px;
    align-items: end;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: #64854466 transparent;
    padding-bottom: calc(var(--hero-notice-height) + 28px)
}

.hero .masthead {
    grid-column: 1/-1;
    align-self: start;
    padding: 24px 0
}

.hero .hero-copy {
    min-width: 0;
    max-width: none;
    align-self: center;
    padding: 30px 0 24px
}

.hero .hero-lead-panel {
    max-width: 665px;
    width: 100%;
    margin-top: 27px
}

.hero .ticker-card {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: 100%;
    margin: 0 0 24px;
    align-self: end
}

.hero .hero-heading-intro {
    font-size: clamp(24px, 2.1vw, 32px)
}

.hero h1 .hero-heading-focus {
    font-size: clamp(44px, 5vw, 76px);
    letter-spacing: -2.5px
}

.hero .hero-heading-finish {
    font-size: clamp(34px, 3.55vw, 54px);
    letter-spacing: -1.7px
}

@media(min-width:1600px) {
    .hero-content {
        grid-template-columns: minmax(0, 1fr) 340px;
        column-gap: 46px
    }
}

@media(max-width:1100px) and (min-width:801px) {
    .hero-content {
        grid-template-columns: minmax(0, 1fr) 285px;
        column-gap: 30px
    }

    .hero .ticker-card {
        padding: 23px
    }

    .hero h1 .hero-heading-focus {
        font-size: clamp(38px, 4.7vw, 52px)
    }

    .hero .hero-heading-finish {
        font-size: 34px
    }

    .hero .hero-heading-intro {
        font-size: 24px
    }

    .hero .company-line {
        font-size: 16px
    }

    .hero .hero-lead-panel {
        padding: 21px
    }
}

@media(max-width:800px) {
    .hero-content {
        display: block;
        padding-bottom: calc(var(--hero-notice-height) + 24px)
    }

    .hero .hero-copy {
        padding: 32px 0 26px
    }

    .hero .ticker-card {
        width: 320px;
        max-width: 100%;
        margin: 0 0 0 auto
    }

    .hero .hero-heading-intro {
        font-size: 27px
    }

    .hero h1 .hero-heading-focus {
        font-size: clamp(42px, 8vw, 62px);
        letter-spacing: -2px
    }

    .hero .hero-heading-finish {
        font-size: clamp(34px, 5.8vw, 46px)
    }
}

@media(max-width:540px) {
    .hero .masthead {
        padding: 22px 0
    }

    .hero .hero-copy {
        padding: 30px 0 25px
    }

    .hero .ticker-card {
        width: 100%;
        margin: 0;
        padding: 18px 20px
    }

    .hero .ticker-card>strong {
        font-size: 46px;
        margin: 12px 0 6px
    }

    .hero .ticker-card .ticker-link {
        margin-top: 16px;
        padding-top: 12px
    }

    .hero .ticker-card .ticker-arrow {
        width: 28px;
        height: 28px;
        font-size: 20px
    }

    .hero .hero-heading-intro {
        font-size: 23px
    }

    .hero h1 .hero-heading-focus {
        font-size: clamp(28px, 8.6vw, 45px);
        letter-spacing: -1.3px
    }

    .hero .hero-heading-finish {
        font-size: 32px;
        letter-spacing: -1px
    }

    .hero .hero-lead-panel {
        padding: 21px
    }

    .hero .company-line {
        font-size: 16px
    }
}

@media(max-width:360px) {
    .hero .hero-heading-intro {
        font-size: 21px
    }

    .hero .hero-heading-finish {
        font-size: 29px
    }
}

/* Motion-led hero typography. Original headline copy remains intact. */
.hero-copy {
    container-type: inline-size
}

.hero h1 {
    --headline-x: 30%;
    --headline-y: 50%;
    position: relative;
    isolation: isolate;
    padding: 8px 0 9px 25px;
    margin: 0;
    max-width: 100%;
    text-shadow: 0 3px 20px #0007
}

.hero h1:before {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 14px;
    width: 2px;
    background: linear-gradient(180deg, #b6ef3600, #b6ef3699 32%, #b6ef362b 76%, #b6ef3600);
    transition: filter .3s
}

.hero h1:after {
    content: '';
    position: absolute;
    inset: -24px -18px;
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(ellipse 230px 160px at var(--headline-x) var(--headline-y), #b6ef361a, transparent 76%);
    opacity: .5;
    transition: opacity .3s
}

.hero h1:hover:after {
    opacity: 1
}

.hero h1:hover:before {
    filter: drop-shadow(0 0 7px #b6ef3666)
}

.hero .hero-heading-intro {
    font-size: clamp(24px, 3.6cqw, 32px);
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -.7px;
    color: #e3eceb;
    margin: 0 0 13px;
    display: block;
    animation: headline-arrive .65s ease both
}

.hero-heading-intro strong {
    font-weight: 700;
    color: #fff
}

.hero .hero-heading-bridge {
    display: flex;
    align-items: center;
    gap: 13px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #d0ded4;
    margin: 0 0 4px;
    animation: headline-arrive .65s .1s ease both
}

.hero-heading-bridge:after {
    content: '';
    height: 1px;
    width: 58px;
    background: linear-gradient(90deg, #b6ef3699, transparent)
}

.hero h1 .hero-heading-focus {
    position: relative;
    display: block;
    width: fit-content;
    max-width: 100%;
    font-size: clamp(37px, 9.7cqw, 82px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -2.6px;
    white-space: nowrap;
    margin: 0 0 16px;
    padding: 0 0 10px;
    color: var(--lime);
    text-shadow: none;
    animation: headline-arrive .75s .18s ease both
}

.hero-heading-focus .headline-next {
    color: #e8ffc5
}

.hero-heading-focus .headline-generation {
    color: var(--lime);
    background: radial-gradient(ellipse at var(--headline-x) 50%, #f0ffd7 0%, #c6fa58 24%, #b6ef36 62%, #94d629 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.hero h1 .hero-heading-focus:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--lime), #b6ef364d 60%, transparent);
    transform: scaleX(.62);
    transform-origin: left;
    transition: transform .5s, filter .5s
}

.hero h1:hover .hero-heading-focus:after {
    transform: scaleX(1);
    filter: drop-shadow(0 0 6px #b6ef3699)
}

.hero .hero-heading-finish {
    font-size: clamp(29px, 5.9cqw, 50px);
    font-weight: 600;
    line-height: 1.18;
    letter-spacing: -1.5px;
    max-width: 100%;
    text-wrap: balance;
    animation: headline-arrive .75s .28s ease both
}

.hero-heading-finish .headline-of {
    font-size: .65em;
    font-weight: 500;
    color: #d5e0dd;
    letter-spacing: -.5px
}

.hero-heading-finish strong {
    font-weight: 600;
    color: #fff
}

@keyframes headline-arrive {
    from {
        opacity: 0;
        transform: translateY(15px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@media(max-width:800px) {
    .hero h1 {
        padding-left: 20px
    }

    .hero .hero-heading-intro {
        font-size: clamp(24px, 4.7cqw, 29px)
    }

    .hero h1 .hero-heading-focus {
        font-size: clamp(34px, 10cqw, 66px);
        letter-spacing: -2px
    }

    .hero .hero-heading-finish {
        font-size: clamp(29px, 6.5cqw, 42px)
    }
}

@media(max-width:540px) {
    .hero h1 {
        padding: 5px 0 7px 16px
    }

    .hero .hero-heading-intro {
        font-size: 24px;
        line-height: 1.3;
        margin-bottom: 12px;
        letter-spacing: -.6px
    }

    .hero .hero-heading-bridge {
        font-size: 16px;
        letter-spacing: 2px;
        margin-bottom: 7px
    }

    .hero h1 .hero-heading-focus {
        font-size: clamp(29px, 10cqw, 42px);
        letter-spacing: -1.2px;
        margin-bottom: 13px;
        padding-bottom: 11px
    }

    .hero .hero-heading-finish {
        font-size: clamp(29px, 8.7cqw, 34px);
        letter-spacing: -.9px;
        line-height: 1.25
    }

    .hero-heading-finish .headline-of {
        font-size: 20px
    }

    .hero h1:after {
        inset: -12px 0
    }

    .hero-heading-bridge:after {
        width: 42px
    }
}

@media(max-width:360px) {
    .hero h1 {
        padding-left: 12px
    }

    .hero .hero-heading-intro {
        font-size: 22px
    }

    .hero h1 .hero-heading-focus {
        font-size: 29px;
        letter-spacing: -1.3px
    }

    .hero .hero-heading-finish {
        font-size: 28px
    }
}

@media(prefers-reduced-motion:reduce) {
    .hero h1:after {
        display: none
    }

    .hero h1 .hero-heading-focus:after {
        transform: scaleX(.8)
    }
}

/* A connected-system treatment for the investor introduction. */
.hero .hero-lead-panel {
    --lead-x: 15%;
    --lead-y: 0%;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 25px 27px 21px;
    border: 1px solid #b6ef3650;
    border-radius: 14px;
    background: radial-gradient(ellipse at var(--lead-x) var(--lead-y), #b6ef361a 0%, transparent 58%), linear-gradient(120deg, #163039e6, #0a1926ed 72%);
    backdrop-filter: blur(20px);
    box-shadow: 0 18px 48px #0003, inset 0 1px #e5ffcf12;
    transition: border-color .3s, box-shadow .3s, transform .3s
}

.hero .hero-lead-panel:before {
    content: '';
    position: absolute;
    left: 27px;
    right: 27px;
    top: 0;
    height: 2px;
    background: linear-gradient(90deg, #b6ef36, #b6ef3630 70%, transparent);
    transform: scaleX(.6);
    transform-origin: left;
    transition: transform .45s
}

.hero .hero-lead-panel:after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(circle 180px at var(--lead-x) var(--lead-y), #ccff6a17, transparent 80%);
    opacity: 0;
    transition: opacity .3s
}

.hero .hero-lead-panel:hover {
    background: radial-gradient(ellipse at var(--lead-x) var(--lead-y), #b6ef3625 0%, transparent 58%), linear-gradient(120deg, #163039ed, #0a1926f5 72%);
    border-color: #b6ef3699;
    box-shadow: 0 22px 55px #0004, 0 0 30px #b6ef360a;
    transform: translateY(-3px)
}

.hero .hero-lead-panel:hover:before {
    transform: scaleX(1)
}

.hero .hero-lead-panel:hover:after {
    opacity: 1
}

.hero-lead-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px
}

.hero .hero-lead-kicker {
    margin: 0;
    display: flex;
    gap: 14px;
    align-items: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 1px;
    color: #fff
}

.lead-icon {
    display: grid;
    place-items: center;
    width: 47px;
    height: 47px;
    flex-shrink: 0;
    border: 1px solid #b6ef365c;
    border-radius: 11px;
    background: linear-gradient(140deg, #b6ef3624, #b6ef3605);
    box-shadow: inset 0 1px #e1ffb321;
    transition: box-shadow .35s, background .35s
}

.hero .lead-icon .icon {
    width: 25px;
    height: 25px;
    color: var(--lime);
    margin: 0;
    stroke-width: 1.4
}

.hero-lead-panel:hover .lead-icon {
    background: #b6ef3624;
    box-shadow: 0 0 22px #b6ef3622, inset 0 1px #e1ffb340
}

.lead-network {
    display: flex;
    align-items: center;
    width: 72px;
    flex-shrink: 0
}

.lead-network i {
    width: 6px;
    height: 6px;
    flex-shrink: 0;
    border: 1px solid #b6ef3670;
    border-radius: 50%;
    background: #1f3531;
    transition: background .3s, box-shadow .3s
}

.lead-network i:first-child {
    background: var(--lime);
    box-shadow: 0 0 9px #b6ef3660
}

.lead-network b {
    height: 1px;
    flex: 1;
    background: #b6ef363f
}

.hero-lead-panel:hover .lead-network i {
    background: var(--lime);
    box-shadow: 0 0 10px #b6ef3670
}

.hero-lead-panel:hover .lead-network i:nth-of-type(2) {
    transition-delay: .1s
}

.hero-lead-panel:hover .lead-network i:nth-of-type(3) {
    transition-delay: .2s
}

.hero .hero-lead-panel .hero-lead {
    font-size: 16px;
    color: #fff;
    line-height: 1.85;
    margin: 0
}

.hero .hero-lead-panel .hero-lead strong {
    font-size: 16px;
    color: #fff;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: #b6ef3655;
    text-underline-offset: 5px;
    text-decoration-thickness: 1px;
    transition: text-decoration-color .3s
}

.hero-lead-panel:hover .hero-lead strong {
    text-decoration-color: #b6ef36a0
}

.hero-lead-domains {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 21px;
    padding-top: 17px;
    border-top: 1px solid #daeec61c
}

.hero-lead-domains>span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 5px;
    background: #ffffff05;
    border: 1px solid #c2d9af25;
    color: white;
    font-size: 16px;
    line-height: 1.4;
    transition: background .25s, border-color .25s
}

.hero-lead-domains>span:hover {
    background: #b6ef3617;
    border-color: #b6ef3670
}

.hero-lead-domains .icon {
    width: 17px;
    height: 17px;
    color: #c7e697;
    stroke-width: 1.5
}

@media(max-width:1100px) and (min-width:801px) {
    .hero .hero-lead-panel {
        padding: 22px
    }

    .lead-network {
        width: 40px
    }

    .hero .hero-lead-kicker {
        letter-spacing: .4px;
        gap: 11px
    }

    .hero-lead-domains {
        gap: 7px
    }

    .hero-lead-domains>span {
        padding: 6px 8px
    }
}

@media(max-width:540px) {
    .hero .hero-lead-panel {
        padding: 22px 20px 20px;
        border-radius: 12px
    }

    .hero .hero-lead-panel:before {
        left: 20px;
        right: 20px
    }

    .hero-lead-header {
        gap: 9px;
        margin-bottom: 17px
    }

    .hero .hero-lead-kicker {
        font-size: 16px;
        letter-spacing: .35px;
        gap: 11px
    }

    .lead-icon {
        width: 42px;
        height: 42px;
        border-radius: 9px
    }

    .hero .lead-icon .icon {
        width: 23px;
        height: 23px
    }

    .lead-network {
        width: 34px
    }

    .lead-network i {
        width: 5px;
        height: 5px
    }

    .hero-lead-domains {
        margin-top: 18px;
        padding-top: 15px;
        gap: 8px
    }

    .hero-lead-domains>span {
        font-size: 16px;
        padding: 7px 9px
    }

    .hero .hero-lead-panel .hero-lead {
        font-size: 16px;
        line-height: 1.8
    }
}

@media(max-width:360px) {
    .lead-network {
        display: none
    }

    .hero .hero-lead-panel {
        padding: 20px 17px
    }

    .hero .hero-lead-kicker {
        letter-spacing: 0
    }
}

@media(min-width:1101px) {
    .hero .hero-lead-panel {
        padding: 21px 27px 17px
    }

    .hero-lead-header {
        margin-bottom: 14px
    }

    .lead-icon {
        width: 40px;
        height: 40px;
        border-radius: 10px
    }

    .hero-lead-domains {
        margin-top: 16px;
        padding-top: 12px
    }

    .hero-lead-domains>span {
        padding: 6px 10px
    }

    .hero .hero-lead-panel .hero-lead {
        line-height: 1.8
    }
}

/* Dedicated platform introduction and environment explorer. */
.intro {
    background: radial-gradient(ellipse at 0 0, #eaf1dd, transparent 48%), #fff
}

.vision-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    padding-bottom: 37px;
    margin-bottom: 38px;
    border-bottom: 1px solid #dce4d7
}

.vision-heading h2 {
    font-size: clamp(34px, 3.7vw, 54px);
    line-height: 1.18;
    letter-spacing: -2px;
    margin: 0;
    max-width: 100%
}

.vision-heading h2 span {
    color: #527222
}

.vision-heading-mark {
    display: grid;
    place-items: center;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    border: 1px solid #d0ddbf;
    background: #f0f6e6;
    flex-shrink: 0;
    transform: rotate(-25deg)
}

.vision-heading-mark .icon {
    width: 37px;
    height: 37px;
    color: #527222
}

.vision-layout {
    display: grid;
    grid-template-columns: 1fr 1.08fr;
    gap: 64px;
    align-items: center
}

.vision-copy p {
    font-size: 16px;
    line-height: 1.85;
    margin: 0 0 20px;
    color: #000
}

.vision-copy p:first-child {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.65;
    color: var(--ink)
}

.vision-foundation {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 27px;
    padding-top: 23px;
    border-top: 1px solid #dce4d7;
    font-size: 16px;
    font-weight: 700;
    color: #354c24
}

.vision-foundation .icon {
    width: 25px;
    height: 25px;
    flex-shrink: 0
}

.vision-explorer {
    min-width: 0;
    border-radius: 16px;
    overflow: hidden;
    background: #0b1a24;
    box-shadow: 0 22px 55px #12233019;
    border: 1px solid #213733
}

.vision-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding: 10px
}

.vision-tabs button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    font: 600 16px Manrope, sans-serif;
    padding: 15px 8px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #d5ded9;
    cursor: pointer;
    transition: background .25s, color .25s, border-color .25s
}

.vision-tabs .icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0
}

.vision-tabs button>span {
    margin-left: auto
}

.vision-tabs button:hover {
    background: #20332f;
    border-color: #729149
}

.vision-tabs button[aria-selected=true] {
    background: var(--lime);
    color: #162315;
    border-color: var(--lime);
    box-shadow: 0 3px 16px #b6ef361b
}

.vision-tabs button:focus-visible,
.vision-scene:focus-visible {
    outline: 3px solid #b6ef36;
    outline-offset: -3px
}

.vision-scene {
    position: relative;
    min-height: 340px;
    isolation: isolate;
    overflow: hidden
}

.vision-scene[hidden] {
    display: none
}

.vision-scene:after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, #08142010 10%, #08142070 45%, #081420f5 100%)
}

.vision-scene>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
    animation: vision-arrive .6s ease both
}

.vision-scene-copy {
    position: absolute;
    bottom: 28px;
    left: 28px;
    right: 28px;
    color: #fff
}

.vision-scene-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 600;
    color: #daffa4;
    margin-bottom: 12px
}

.vision-scene-label .icon {
    width: 19px;
    height: 19px
}

.vision-scene-copy h3 {
    font-size: clamp(24px, 2.1vw, 30px);
    line-height: 1.25;
    letter-spacing: -.7px;
    color: #fff;
    margin: 0 0 14px
}

.vision-scene-note {
    display: block;
    max-width: 340px;
    font-size: 16px;
    line-height: 1.6;
    color: #e0e7e3
}

.vision-scene-count {
    position: absolute;
    top: 18px;
    right: 20px;
    color: #fff;
    font-size: 16px;
    letter-spacing: 2px;
    padding: 7px 10px;
    background: #081420b3;
    border: 1px solid #ffffff30;
    border-radius: 4px
}

.vision-explorer-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 17px 24px;
    color: #c1ccc6;
    font-size: 16px;
    border-top: 1px solid #ffffff14
}

.vision-status {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--lime);
    box-shadow: 0 0 12px #b6ef3680;
    flex-shrink: 0
}

.key-highlights {
    background: #f4f6f0;
    border-top: 1px solid #e1e6db
}

.key-highlights .highlights-heading {
    margin-top: 0;
    gap: 24px;
    margin-bottom: 35px
}

.key-highlights .highlights-heading h2 {
    margin: 0;
    font-size: clamp(32px, 3vw, 44px)
}

.key-highlights .highlights-heading>span {
    font-size: 16px;
    line-height: 1.6;
    max-width: 300px;
    color: #5c6b59
}

@keyframes vision-arrive {
    from {
        opacity: .5;
        transform: scale(1.035)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

@media(max-width:1100px) {
    .vision-layout {
        gap: 32px
    }

    .vision-tabs button>span {
        display: none
    }

    .vision-heading h2 {
        letter-spacing: -1.3px
    }
}

@media(max-width:800px) {
    .vision-layout {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .vision-heading-mark {
        width: 60px;
        height: 60px
    }

    .vision-heading {
        padding-bottom: 28px;
        margin-bottom: 28px
    }

    .vision-scene {
        min-height: 350px
    }

    .vision-copy p:first-child {
        font-size: 19px
    }

    .vision-foundation {
        margin-top: 22px
    }

    .key-highlights .highlights-heading {
        align-items: flex-start
    }
}

@media(max-width:540px) {
    .vision-heading h2 {
        font-size: 34px;
        letter-spacing: -1.2px
    }

    .vision-heading-mark {
        display: none
    }

    .vision-tabs {
        gap: 3px;
        padding: 7px
    }

    .vision-tabs button {
        font-size: 16px;
        gap: 6px;
        padding: 13px 4px
    }

    .vision-tabs .icon {
        width: 17px;
        height: 17px
    }

    .vision-scene {
        min-height: 330px
    }

    .vision-scene-copy {
        left: 21px;
        right: 21px;
        bottom: 24px
    }

    .vision-scene-copy h3 {
        font-size: 26px
    }

    .vision-explorer-footer {
        padding: 17px 20px;
        line-height: 1.5
    }

    .key-highlights .highlights-heading {
        flex-direction: column;
        gap: 15px
    }
}

@media(max-width:360px) {
    .vision-tabs .icon {
        display: none
    }

    .vision-heading h2 {
        font-size: 31px
    }
}

@media(prefers-reduced-motion:reduce) {
    .vision-scene>img {
        animation: none
    }

    .vision-tabs button {
        transition: none
    }
}

/* Investor highlights: editorial metric cards with direct detail links. */
.key-highlights {
    background: radial-gradient(ellipse at 90% 5%, #e8efd9, transparent 45%), #f3f5ef
}

.highlight-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #526448;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1.4px;
    margin-bottom: 14px
}

.highlight-eyebrow i {
    width: 8px;
    height: 8px;
    background: #719f27;
    transform: rotate(45deg)
}

.key-highlights .highlights-heading {
    align-items: center;
    margin-bottom: 40px
}

.key-highlights .highlights-heading h2 {
    font-size: clamp(36px, 4vw, 56px);
    letter-spacing: -1.8px;
    line-height: 1.15
}

.key-highlights .highlights-heading>span {
    border-left: 2px solid #97c641;
    padding: 8px 0 8px 21px;
    letter-spacing: .6px;
    font-weight: 600
}

.highlight-card {
    --highlight-x: 50%;
    --highlight-y: 0%;
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 26px 24px 22px;
    border: 1px solid #dce3d3;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px #12233004;
    transition: transform .3s, border-color .3s, box-shadow .3s;
    overflow: hidden
}

.highlight-card:before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(circle 220px at var(--highlight-x) var(--highlight-y), #b6ef3629, transparent 75%);
    opacity: 0;
    transition: opacity .3s
}

.highlight-card:hover,
.highlight-card:focus-within {
    transform: translateY(-7px);
    border-color: #8dbd36;
    box-shadow: 0 20px 38px #253e1912
}

.highlight-card:hover:before,
.highlight-card:focus-within:before {
    opacity: 1
}

.highlight-card h3 {
    font-size: 19px;
    line-height: 1.45;
    letter-spacing: -.5px;
    margin: 0 0 15px;
    color: #142733
}

.highlight-card p {
    font-size: 16px;
    line-height: 1.85;
    color: #000;
    margin: 0 0 25px
}

.highlight-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
    border-top: 1px solid #e1e8dc;
    padding-top: 18px;
    color: #334b22;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.5
}

.highlight-link>span,
.commercial-link>span {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border: 1px solid #d9e3cc;
    border-radius: 50%;
    transition: transform .3s, background .3s;
    color: #58782e;
    font-size: 20px
}

.highlight-link:hover>span {
    transform: rotate(45deg);
    background: #b6ef36;
    border-color: #b6ef36
}

.highlight-link:focus-visible,
.commercial-link:focus-visible {
    outline: 2px solid #86ab31;
    outline-offset: 5px;
    border-radius: 2px
}

.highlight-commercial {
    display: flex;
    align-items: center;
    gap: 25px;
    padding: 30px 32px;
    margin-top: 26px;
    border: 1px solid #d6e0c9;
    border-radius: 14px;
    background: linear-gradient(110deg, #e3efce, #ecf3e0 65%, #e5efda)
}

.commercial-icon {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #b6ef36;
    flex-shrink: 0;
    color: #294319;
    box-shadow: 0 0 0 8px #b6ef361a
}

.commercial-icon .icon {
    width: 30px;
    height: 30px
}

.highlight-commercial>div {
    flex: 1
}

.highlight-commercial h3 {
    font-size: 21px;
    line-height: 1.4;
    margin: 0 0 10px;
    color: #203526;
    letter-spacing: -.5px
}

.highlight-commercial p {
    font-size: 16px;
    line-height: 1.8;
    color: #4f6049;
    margin: 0;
    max-width: 800px
}

.commercial-link {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
    font-size: 16px;
    font-weight: 700;
    color: #2e4920;
    text-decoration: none;
    border-bottom: 1px solid #a8bc90;
    padding-bottom: 8px
}

.commercial-link>span {
    border-color: #acbf92
}

.commercial-link:hover>span {
    background: #b6ef36;
    transform: rotate(45deg)
}

#technology-ecosystem,
#dual-market-strategy,
#patent-portfolio,
#global-markets,
#commercial-milestones {
    scroll-margin-top: 25px
}

@media(max-width:1200px) {

    .highlight-card {
        padding: 28px
    }

    .highlight-commercial {
        flex-wrap: wrap
    }

    .commercial-link {
        margin-left: 89px
    }
}

@media(max-width:600px) {

    .key-highlights .highlights-heading {
        align-items: flex-start;
        gap: 22px
    }

    .highlight-eyebrow {
        letter-spacing: .7px
    }

    .key-highlights .highlights-heading h2 {
        font-size: 38px
    }

    .highlight-card {
        padding: 26px
    }

    .highlight-commercial {
        padding: 26px;
        gap: 23px
    }

    .highlight-commercial>div {
        flex-basis: 100%
    }

    .commercial-link {
        margin: 0
    }

    .commercial-icon {
        width: 52px;
        height: 52px
    }

    .highlight-card:hover {
        transform: none
    }
}

@media(prefers-reduced-motion:reduce) {

    .highlight-card,
    .highlight-card:before,
    .highlight-link>span,
    .commercial-link>span {
        transition: none
    }

    .highlight-card:hover,
    .highlight-card:focus-within {
        transform: none
    }
}

/* Visual bento: four distinct ways to explore the original highlights. */
.highlight-bento {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 24px
}

.highlight-bento .highlight-card {
    padding: 30px 34px;
    border-radius: 22px;
    box-shadow: none
}

.bento-topline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 600;
    color: #65755c;
    letter-spacing: .5px;
    margin-bottom: 24px
}

.bento-topline>span:first-child {
    display: flex;
    gap: 10px;
    align-items: center
}

.bento-topline>span:last-child {
    white-space: nowrap;
    opacity: .7
}

.bento-topline .icon {
    width: 21px;
    height: 21px;
    flex-shrink: 0
}

.bento-visual {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 180px;
    margin-bottom: 20px
}

.bento-number {
    font-family: Sora, sans-serif;
    font-size: 104px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: -6px;
    flex-shrink: 0
}

.bento-number>span {
    display: block;
    font-family: Manrope, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0;
    font-weight: 500;
    margin-top: 12px
}

.highlight-bento h3 {
    font-size: 25px;
    letter-spacing: -.8px;
    margin: 0 0 13px;
    line-height: 1.35
}

.highlight-bento .highlight-card>p {
    line-height: 1.8;
    margin-bottom: 23px
}

.highlight-bento .highlight-link {
    padding-top: 18px;
    margin-top: auto
}

.highlight-bento .bento-platform {
    background: radial-gradient(ellipse at 90% 10%, #345e44, transparent 65%), #0d222b;
    border-color: #35513e;
    color: #fff
}

.bento-platform .bento-topline {
    color: #c6dbb4
}

.bento-platform .bento-number {
    color: var(--lime)
}

.bento-platform .bento-number>span {
    color: #d7e5cb
}

.highlight-bento .bento-platform h3 {
    color: white
}

.highlight-bento .bento-platform>p {
    color: #d5e2dc
}

.layer-stack {
    width: 55%;
    display: flex;
    flex-direction: column;
    gap: 9px;
    transform: rotate(-4deg);
    padding: 8px 0;
    transition: transform .35s
}

.bento-platform:hover .layer-stack,
.layer-stack:focus-within {
    transform: rotate(0deg)
}

.layer-stack button {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #7f9d6666;
    border-radius: 8px;
    background: #203b34;
    color: #e0eadd;
    font: 600 16px Manrope, sans-serif;
    cursor: pointer;
    box-shadow: 0 5px 0 #06191466;
    transition: background .25s, transform .25s
}

.layer-stack button>span {
    opacity: .6
}

.layer-stack .icon {
    width: 20px;
    height: 20px;
    margin-left: auto
}

.layer-stack button:hover {
    transform: translateX(-5px)
}

.layer-stack button[aria-pressed=true] {
    background: var(--lime);
    color: #1b321a;
    border-color: var(--lime)
}

.highlight-bento .bento-context {
    font-size: 16px;
    padding: 11px 0 15px;
    border-bottom: 1px solid #ffffff26;
    color: #c6e79d !important;
    min-height: 52px;
    margin-bottom: 21px !important
}

.bento-platform .highlight-link {
    border-color: #ffffff26;
    color: #ddf7bd
}

.bento-platform .highlight-link>span {
    color: var(--lime);
    border-color: #b6ef3655
}

.bento-platform .highlight-link:hover>span {
    color: #162c1a
}

.highlight-bento .bento-revenue {
    background: linear-gradient(125deg, #dcf7a4, #c5ed7d);
    border-color: #c0db9a
}

.bento-revenue .bento-topline {
    color: #435a30
}

.bento-revenue .bento-number {
    color: #253e23
}

.bento-revenue .highlight-link {
    border-color: #829d644d
}

.bento-revenue .highlight-link>span {
    border-color: #96b86b
}

.revenue-window {
    position: relative;
    isolation: isolate;
    width: 58%;
    height: 177px;
    overflow: hidden;
    border-radius: 13px;
    transform: rotate(3deg);
    box-shadow: 0 12px 25px #29421d28;
    transition: transform .35s
}

.bento-revenue:hover .revenue-window {
    transform: rotate(0)
}

.revenue-window img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1
}

.revenue-window:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent 30%, #081420e6);
    z-index: -1
}

.revenue-window>span {
    position: absolute;
    bottom: 16px;
    left: 16px;
    right: 12px;
    color: white;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4
}

.revenue-toggle {
    display: flex;
    gap: 7px;
    padding: 5px;
    border: 1px solid #70934d4d;
    border-radius: 9px;
    margin-bottom: 22px;
    width: fit-content;
    background: #ffffff35
}

.revenue-toggle button {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 14px;
    border: 0;
    border-radius: 6px;
    font: 600 16px Manrope, sans-serif;
    color: #314a29;
    background: transparent;
    cursor: pointer;
    transition: background .25s, color .25s
}

.revenue-toggle .icon {
    width: 19px;
    height: 19px
}

.revenue-toggle button[aria-pressed=true] {
    background: #223d2e;
    color: #edffd7
}

.patent-mini-visual {
    display: flex;
    align-items: center;
    gap: 35px;
    min-height: 200px;
    margin-bottom: 25px
}

.patent-mini-ring {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: conic-gradient(#7dae32 0 70%, #dee8d3 70% 100%);
    transform: rotate(-15deg);
    transition: transform .5s;
    box-shadow: 0 0 0 9px #f4f7ef
}

.patent-mini-ring>div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 158px;
    height: 158px;
    border-radius: 50%;
    background: #fff;
    transform: rotate(15deg);
    transition: transform .5s
}

.patent-mini-ring strong {
    font: 600 58px Sora, sans-serif;
    letter-spacing: -3px;
    color: #223b2c;
    line-height: 1.2
}

.patent-mini-ring span {
    font-size: 16px;
    color: #5b6a51
}

.bento-patents:hover .patent-mini-ring,
.bento-patents:hover .patent-mini-ring>div {
    transform: rotate(0deg)
}

.patent-mini-key {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 17px;
    min-width: 0
}

.patent-mini-key>span {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 16px;
    color: #5b6a51
}

.patent-mini-key strong {
    font: 600 26px Sora, sans-serif;
    color: #263f2c
}

.patent-mini-key i {
    display: block;
    width: 8px;
    height: 8px;
    background: #7dae32;
    border-radius: 50%;
    flex-shrink: 0
}

.patent-mini-key>span:nth-child(2) i {
    background: #dee8d3
}

.patent-mini-bar {
    height: 6px;
    background: #dee8d3;
    border-radius: 5px;
    overflow: hidden;
    margin-top: 7px
}

.patent-mini-bar i {
    width: 70%;
    height: 100%;
    border-radius: 0
}

.highlight-bento .bento-markets {
    background: radial-gradient(ellipse at 85% 10%, #1b3943, transparent 70%), #102530;
    border-color: #304f56;
    color: #fff
}

.bento-markets .bento-topline {
    color: #b4c9c9
}

.bento-markets .bento-number {
    color: #e4ffbf
}

.highlight-bento .bento-markets h3 {
    color: #fff
}

.highlight-bento .bento-markets>p {
    color: #cddcda
}

.bento-markets .highlight-link {
    color: #d8f8b0;
    border-color: #ffffff26
}

.market-mini-visual {
    min-height: 170px;
    margin-bottom: 22px
}

.market-mini-globe {
    position: relative;
    width: 175px;
    height: 175px;
    border: 1px solid #b6ef3633;
    border-radius: 50%;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    background: radial-gradient(circle, #b6ef360a, transparent)
}

.market-mini-globe>.icon {
    width: 138px;
    height: 138px;
    color: #a8d67b;
    stroke-width: .65;
    transform: rotate(-18deg)
}

.market-mini-globe i {
    position: absolute;
    width: 9px;
    height: 9px;
    background: var(--lime);
    border-radius: 50%;
    box-shadow: 0 0 0 6px #b6ef3614, 0 0 15px #b6ef3644
}

.market-mini-globe i:nth-of-type(1) {
    top: 36px;
    left: 43px
}

.market-mini-globe i:nth-of-type(2) {
    top: 80px;
    right: 28px
}

.market-mini-globe i:nth-of-type(3) {
    bottom: 30px;
    left: 65px
}

.highlight-market-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0 0 24px
}

.highlight-market-pills a {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 16px;
    line-height: 1.5;
    color: #d4e3dc;
    padding: 6px 11px;
    border: 1px solid #8ea89444;
    border-radius: 5px;
    text-decoration: none;
    background: #ffffff04;
    transition: background .2s, color .2s
}

.highlight-market-pills a>span {
    color: #b6ef36
}

.highlight-market-pills a:hover {
    background: #b6ef36;
    color: #1b3025
}

.highlight-market-pills a:hover>span {
    color: #1b3025
}

.highlight-bento button:focus-visible,
.highlight-market-pills a:focus-visible {
    outline: 3px solid #78a72a;
    outline-offset: 3px
}

.key-highlights .highlight-commercial {
    margin-top: 24px;
    border-radius: 18px;
    background: #e6eddc
}

@media(max-width:1100px) {
    .highlight-bento .highlight-card {
        padding: 26px
    }

    .bento-topline {
        font-size: 16px;
        letter-spacing: 0
    }

    .bento-topline>span:last-child {
        display: none
    }

    .bento-visual {
        gap: 18px
    }

    .bento-number {
        font-size: 84px
    }

    .layer-stack {
        width: 60%
    }

    .layer-stack button {
        gap: 8px;
        padding: 13px 10px
    }

    .layer-stack button>span {
        display: none
    }

    .patent-mini-visual {
        gap: 22px
    }

    .patent-mini-ring {
        width: 155px;
        height: 155px
    }

    .patent-mini-ring>div {
        width: 129px;
        height: 129px
    }

    .patent-mini-ring strong {
        font-size: 48px
    }

    .patent-mini-ring span {
        max-width: 80px;
        text-align: center;
        line-height: 1.3
    }

    .market-mini-globe {
        width: 145px;
        height: 145px
    }

    .market-mini-globe>.icon {
        width: 115px;
        height: 115px
    }
}

@media(max-width:800px) {
    .highlight-bento {
        grid-template-columns: 1fr
    }

    .highlight-bento .highlight-card {
        padding: 30px
    }

    .bento-topline>span:last-child {
        display: block
    }

    .bento-visual {
        min-height: 190px
    }

    .bento-number {
        font-size: 98px
    }

    .layer-stack {
        max-width: 300px
    }

    .revenue-window {
        max-width: 320px;
        height: 190px
    }

    .patent-mini-ring {
        width: 190px;
        height: 190px
    }

    .patent-mini-ring>div {
        width: 158px;
        height: 158px
    }

    .patent-mini-ring strong {
        font-size: 58px
    }

    .patent-mini-ring span {
        max-width: none
    }

    .patent-mini-key {
        max-width: 190px
    }

    .market-mini-globe {
        width: 175px;
        height: 175px
    }

    .market-mini-globe>.icon {
        width: 138px;
        height: 138px
    }
}

@media(max-width:480px) {
    .highlight-bento .highlight-card {
        padding: 24px 22px;
        border-radius: 17px
    }

    .bento-topline {
        margin-bottom: 24px
    }

    .bento-topline>span:last-child {
        display: none
    }

    .bento-number {
        font-size: 76px;
        letter-spacing: -4px
    }

    .bento-number>span {
        max-width: 95px
    }

    .bento-visual {
        gap: 16px;
        min-height: 164px
    }

    .layer-stack {
        width: 61%
    }

    .layer-stack button {
        font-size: 16px;
        padding: 12px 9px;
        gap: 4px
    }

    .layer-stack .icon {
        width: 16px;
        height: 16px
    }

    .highlight-bento h3 {
        font-size: 23px
    }

    .revenue-window {
        height: 165px;
        width: 57%
    }

    .revenue-toggle {
        width: 100%;
        gap: 3px
    }

    .revenue-toggle button {
        justify-content: center;
        flex: 1;
        padding: 9px 7px;
        gap: 6px
    }

    .revenue-toggle .icon {
        width: 16px;
        height: 16px
    }

    .patent-mini-visual {
        gap: 22px;
        min-height: 175px
    }

    .patent-mini-ring {
        width: 144px;
        height: 144px
    }

    .patent-mini-ring>div {
        width: 120px;
        height: 120px
    }

    .patent-mini-ring strong {
        font-size: 45px
    }

    .patent-mini-ring span {
        max-width: 90px
    }

    .patent-mini-key>span {
        flex-wrap: wrap;
        gap: 6px
    }

    .patent-mini-key strong {
        font-size: 23px
    }

    .market-mini-globe {
        width: 140px;
        height: 140px
    }

    .market-mini-globe>.icon {
        width: 110px;
        height: 110px
    }
     .hero .company-line {
    font-size: 14px;
    padding: 10px 12px;
  }
}

@media(max-width:360px) {
    .highlight-bento .highlight-card {
        padding: 22px 18px
    }

    .layer-stack .icon {
        display: none
    }

    .bento-number {
        font-size: 66px
    }

    .patent-mini-visual {
        gap: 18px
    }

    .patent-mini-ring {
        width: 126px;
        height: 126px
    }

    .patent-mini-ring>div {
        width: 104px;
        height: 104px
    }

    .patent-mini-ring strong {
        font-size: 38px
    }

    .revenue-toggle .icon {
        display: none
    }

    .market-mini-globe {
        width: 115px;
        height: 115px
    }

    .market-mini-globe>.icon {
        width: 92px;
        height: 92px
    }
}

@media(prefers-reduced-motion:reduce) {

    .layer-stack,
    .layer-stack button,
    .revenue-window,
    .revenue-toggle button,
    .patent-mini-ring,
    .patent-mini-ring>div,
    .highlight-market-pills a {
        transition: none
    }

    .layer-stack,
    .revenue-window,
    .patent-mini-ring,
    .patent-mini-ring>div {
        transform: none
    }
}

/* Image-led investor overview with a selectable ecosystem view. */
.overview {
    position: relative;
    background: radial-gradient(ellipse at 5% 45%, #1b3834 0%, transparent 55%), #081620;
    overflow: hidden
}

.overview-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding-bottom: 34px;
    margin-bottom: 38px;
    border-bottom: 1px solid #c4e2bb22
}

.overview-header h2 {
    font-size: clamp(36px, 3.6vw, 54px);
    line-height: 1.18;
    letter-spacing: -1.6px;
    margin: 0;
    color: #fff
}

.overview-header .eyebrow {
    margin-bottom: 18px
}

.overview-signature {
    display: flex;
    align-items: center;
    gap: 17px;
    color: #e8f7df;
    padding: 17px 21px;
    border: 1px solid #b6ef3633;
    border-radius: 12px;
    background: #b6ef3606
}

.overview-signature>.icon {
    width: 33px;
    height: 33px;
    color: var(--lime)
}

.overview-signature>span {
    font: 500 25px Sora, sans-serif;
    letter-spacing: -.7px
}

.overview-signature sup {
    font-size: 16px
}

.overview-signature small {
    display: block;
    font: 500 16px Manrope, sans-serif;
    color: #aec0b8;
    letter-spacing: .3px;
    margin-top: 7px
}

.overview-layout {
    display: grid;
    grid-template-columns: 1.08fr 1fr;
    gap: 56px;
    align-items: center
}

.overview-media {
    min-width: 0;
    border: 1px solid #b6ef3640;
    border-radius: 18px;
    padding: 10px;
    background: linear-gradient(140deg, #27443c80, #0b1a25);
    box-shadow: 0 25px 60px #0003
}

.overview-image-stage {
    position: relative;
    isolation: isolate;
    height: 370px;
    border-radius: 11px;
    overflow: hidden;
    background: #08121c
}

.overview-image-stage:after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, #06141c50, transparent 30%, transparent 55%, #06141ce8)
}

.overview-image-stage>img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    inset: 0;
    z-index: -2;
    transition: transform .7s
}

.overview-image-stage:hover>img {
    transform: scale(1.035)
}

.overview-image-stage>img.overview-interface {
    object-fit: contain;
    padding: 45px 0 60px;
    background: #071421
}

.overview-image-label {
    position: absolute;
    left: 18px;
    top: 18px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 12px;
    border: 1px solid #ffffff38;
    border-radius: 5px;
    background: #091b24ad;
    backdrop-filter: blur(10px);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .8px;
    color: #efffe3
}

.overview-image-label .icon {
    width: 18px;
    height: 18px;
    color: var(--lime)
}

.overview-expand {
    position: absolute;
    right: 18px;
    top: 18px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid #ffffff50;
    border-radius: 50%;
    background: #071822bd;
    color: white;
    cursor: pointer;
    transition: background .25s, color .25s
}

.overview-expand .icon {
    width: 20px;
    height: 20px
}

.overview-expand:hover {
    background: var(--lime);
    color: #182919
}

.overview-photo-caption {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    color: white
}

#overview-platform-name {
    font: 600 30px Sora, sans-serif;
    letter-spacing: -1px
}

#overview-photo-credit {
    font-size: 16px;
    color: #d4e1dc
}

.overview-controls {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    padding-top: 10px
}

.overview-controls button {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 15px 9px;
    border: 1px solid #8eaa8940;
    border-radius: 7px;
    background: #ffffff04;
    color: #cddacf;
    font: 600 16px Manrope, sans-serif;
    cursor: pointer;
    transition: background .25s, color .25s, border-color .25s
}

.overview-controls .icon {
    width: 19px;
    height: 19px;
    flex-shrink: 0
}

.overview-controls button>span {
    margin-left: auto
}

.overview-controls button:hover {
    background: #b6ef361c;
    border-color: #b6ef3680
}

.overview-controls button[aria-pressed=true] {
    background: var(--lime);
    color: #163120;
    border-color: var(--lime)
}

.overview-controls button:focus-visible,
.overview-expand:focus-visible {
    outline: 3px solid #dbff8a;
    outline-offset: 3px
}

.overview-selection {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 16px 11px 8px;
    min-height: 76px
}

.overview-selection p {
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
    color: #c0d3c4
}

.overview-connection {
    width: 7px;
    height: 7px;
    background: #b6ef36;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 0 0 5px #b6ef3612
}

.overview-story p {
    font-size: 16px;
    line-height: 1.9;
    color: #fff;
    margin: 0 0 23px
}

.overview-story p:first-child {
    font-size: 20px;
    line-height: 1.7;
    color: #fff;
    font-weight: 500;
    padding-left: 21px;
    border-left: 2px solid #b6ef36
}

.overview-foundation {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    padding-top: 24px;
    margin-top: 28px;
    border-top: 1px solid #a5be9f30
}

.overview-foundation>span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #d9e9cd;
    font-size: 16px;
    font-weight: 600
}

.overview-foundation .icon {
    width: 20px;
    height: 20px;
    color: #b6ef36
}

.overview-foundation>i {
    font-size: 16px;
    color: #728e71;
    font-style: normal
}

.overview .disclosure {
    margin-top: 38px;
    padding-top: 24px;
    border-top: 1px solid #c4e2bb22;
    font-size: 16px;
    line-height: 1.85;
    color: #99aeb7
}

@media(max-width:1150px) {
    .overview-layout {
        gap: 32px
    }

    .overview-image-stage {
        height: 380px
    }

    .overview-controls button>span {
        display: none
    }

    .overview-controls button {
        gap: 6px
    }

    .overview-controls .icon {
        width: 17px;
        height: 17px
    }

    .overview-signature {
        padding: 15px
    }

    .overview-signature small {
        max-width: 220px
    }
}

@media(max-width:850px) {
    .overview-layout {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .overview-header {
        align-items: flex-start
    }

    .overview-signature {
        display: none
    }

    .overview-image-stage {
        height: 390px
    }

    .overview-controls button>span {
        display: block
    }

    .overview-story p:first-child {
        font-size: 20px
    }

    .overview-selection {
        min-height: 65px
    }
}

@media(max-width:540px) {
    .overview-header {
        padding-bottom: 25px;
        margin-bottom: 27px
    }

    .overview-header h2 {
        font-size: 36px;
        letter-spacing: -1.2px
    }

    .overview-image-stage {
        height: 320px
    }

    .overview-image-label {
        font-size: 16px;
        letter-spacing: 0;
        left: 12px;
        top: 12px;
        padding: 8px
    }

    .overview-image-label .icon {
        display: none
    }

    .overview-expand {
        top: 12px;
        right: 12px;
        width: 36px;
        height: 36px
    }

    .overview-photo-caption {
        left: 16px;
        right: 16px;
        bottom: 19px
    }

    #overview-platform-name {
        font-size: 27px
    }

    .overview-controls {
        gap: 5px
    }

    .overview-controls button {
        font-size: 16px;
        padding: 13px 3px
    }

    .overview-controls button>span,
    .overview-controls .icon {
        display: none
    }

    .overview-selection {
        padding: 15px 8px 7px
    }

    .overview-story p:first-child {
        font-size: 18px;
        padding-left: 17px
    }

    .overview-foundation {
        gap: 10px
    }

    .overview-foundation>span {
        font-size: 16px
    }

    .overview-foundation .icon {
        width: 17px;
        height: 17px
    }
}

@media(prefers-reduced-motion:reduce) {

    .overview-image-stage>img,
    .overview-controls button,
    .overview-expand {
        transition: none
    }

    .overview-image-stage:hover>img {
        transform: none
    }
}

/* Fragmented versus connected architecture. */
.architecture {
    background: linear-gradient(150deg, #f8f9f5, #eef2e9)
}

.architecture .heading-wide {
    max-width: 950px;
    margin-bottom: 40px
}

.architecture .heading-wide h2 {
    font-size: clamp(34px, 3.5vw, 50px);
    line-height: 1.22;
    letter-spacing: -1.6px
}

.architecture-comparison {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 24px;
    align-items: stretch
}

.architecture-comparison>article {
    padding: 34px;
    border-radius: 19px;
    min-width: 0;
    position: relative;
    overflow: hidden
}

.architecture-challenge {
    background: linear-gradient(145deg, #fff7f6, #fbe9e6);
    border: 1px solid #e8beb7;
    display: flex;
    flex-direction: column
}

.architecture-solution {
    background: radial-gradient(ellipse at 100% 0, #2e503c, transparent 62%), #102630;
    border: 1px solid #4b6a43;
    box-shadow: 0 18px 45px #18332216
}

.architecture-status {
    display: flex;
    align-items: center;
    gap: 11px;
    letter-spacing: 1px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 24px;
    color: #a63932
}

.architecture-status-icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border: 1px solid #d8a39d;
    border-radius: 10px;
    background: #f2dad5;
    font: 600 20px Sora, sans-serif
}

.architecture-status-icon .icon {
    width: 22px;
    height: 22px
}

.architecture-solution .architecture-status {
    color: #c4f17f
}

.architecture-solution .architecture-status-icon {
    color: var(--lime);
    border-color: #b6ef3655;
    background: #b6ef3610
}

.architecture-comparison h3 {
    font: 600 28px/1.35 Sora, sans-serif;
    letter-spacing: -.8px;
    margin: 0 0 22px
}

.architecture-challenge h3 {
    color: #922e29
}

.architecture-solution h3 {
    color: #edffd8
}

.architecture-comparison article>p {
    font-size: 16px;
    line-height: 1.9;
    margin: 0 0 20px
}

.architecture-challenge>p {
    color: #79544f
}

.architecture-solution>p {
    color: #fff
}

.architecture-fragments {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
    padding: 34px 0 30px;
    margin-top: auto
}

.architecture-fragments>div {
    min-width: 0;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 12px;
    color: #9d4840;
    transform: rotate(-5deg);
    transition: transform .3s
}

.architecture-fragments>div:nth-of-type(2) {
    transform: rotate(5deg)
}

.architecture-fragments>div:nth-of-type(3) {
    transform: rotate(-3deg)
}

.architecture-fragments .icon {
    box-sizing: content-box;
    width: 27px;
    height: 27px;
    padding: 19px;
    border: 1px solid #dca8a0;
    border-radius: 13px;
    background: #fff5f1;
    box-shadow: 0 7px 0 #efd3cd66
}

.architecture-fragments>div>span {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -.3px
}

.architecture-challenge:hover .architecture-fragments>div {
    transform: rotate(0deg)
}

.broken-connection {
    font-size: 22px;
    color: #b2645d;
    border-top: 1px dashed #d39991;
    line-height: 0;
    margin-bottom: 22px;
    width: 20px;
    text-align: center
}

.architecture-friction {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 22px;
    border-top: 1px solid #d8aaa34f
}

.architecture-friction>span {
    font-size: 16px;
    padding: 7px 10px;
    border: 1px solid #dca8a077;
    background: #f5ded8;
    color: #934b42;
    border-radius: 5px
}

.architecture-interactive {
    padding: 21px;
    margin-top: 27px;
    border: 1px solid #b6ef3630;
    border-radius: 12px;
    background: #061b2370
}

.architecture-system-label {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 600;
    color: #c3dba9;
    margin-bottom: 22px;
    letter-spacing: .4px
}

.architecture-system-dot {
    width: 7px;
    height: 7px;
    background: var(--lime);
    border-radius: 50%;
    box-shadow: 0 0 0 4px #b6ef3612;
    flex-shrink: 0
}

.architecture-nodes {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    isolation: isolate
}

.architecture-nodes:before {
    content: '';
    position: absolute;
    height: 2px;
    left: 15%;
    right: 15%;
    top: 36px;
    z-index: -1;
    background: linear-gradient(90deg, #b6ef3670, #b6ef36, #b6ef3670)
}

.architecture-nodes button {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 0;
    padding: 16px 7px;
    border: 1px solid #577449;
    border-radius: 9px;
    background: #1c3633;
    color: #dbe9d2;
    cursor: pointer;
    font: 600 16px/1.45 Manrope, sans-serif;
    transition: background .25s, color .25s, transform .25s;
    min-height: 113px
}

.architecture-nodes .icon {
    width: 25px;
    height: 25px
}

.architecture-nodes button:hover {
    transform: translateY(-3px);
    border-color: var(--lime)
}

.architecture-nodes button[aria-pressed=true] {
    background: var(--lime);
    color: #213619;
    border-color: var(--lime);
    box-shadow: 0 6px 24px #b6ef3612
}

.architecture-node-dot {
    position: absolute;
    width: 6px;
    height: 6px;
    background: #81b53b;
    right: 8px;
    top: 8px;
    border-radius: 50%
}

.architecture-nodes button[aria-pressed=true] .architecture-node-dot {
    background: #2b481b
}

.architecture-nodes button:focus-visible {
    outline: 3px solid #e4ffa1;
    outline-offset: 4px
}

.architecture-detail {
    padding-top: 20px;
    margin-top: 20px;
    border-top: 1px solid #d7eac020;
    min-height: 108px
}

.architecture-detail strong {
    font-size: 17px;
    font-weight: 700;
    color: #edffd8
}

.architecture-detail p {
    font-size: 16px;
    line-height: 1.7;
    margin: 8px 0 0;
    color: #bcd0c7
}

.architecture-outcomes {
    display: flex;
    flex-wrap: wrap;
    gap: 13px 20px;
    margin-top: 24px;
    color: #d6e6c9
}

.architecture-outcomes>span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px
}

.architecture-outcomes .icon {
    width: 18px;
    height: 18px;
    color: var(--lime)
}

@media(max-width:1150px) {
    .architecture-comparison {
        grid-template-columns: .85fr 1.15fr;
        gap: 18px
    }

    .architecture-comparison>article {
        padding: 26px
    }

    .architecture-fragments .icon {
        padding: 13px;
        width: 25px;
        height: 25px
    }

    .architecture-nodes {
        gap: 12px
    }

    .architecture-interactive {
        padding: 17px
    }

    .architecture-status {
        letter-spacing: .2px
    }

    .architecture-comparison h3 {
        font-size: 25px
    }
}

@media(max-width:900px) {
    .architecture-comparison {
        grid-template-columns: 1fr;
        gap: 23px
    }

    .architecture-fragments {
        justify-content: center;
        gap: 20px;
        padding: 28px 0 33px
    }

    .architecture-fragments .icon {
        padding: 19px;
        width: 28px;
        height: 28px
    }

    .broken-connection {
        width: 45px
    }

    .architecture-comparison>article {
        padding: 30px
    }

    .architecture-detail {
        min-height: 90px
    }
}

@media(max-width:540px) {
    .architecture .heading-wide {
        margin-bottom: 28px
    }

    .architecture .heading-wide h2 {
        font-size: 34px;
        letter-spacing: -1px
    }

    .architecture-comparison>article {
        padding: 24px 21px;
        border-radius: 15px
    }

    .architecture-comparison h3 {
        font-size: 25px
    }

    .architecture-status {
        font-size: 16px;
        gap: 9px;
        letter-spacing: 0
    }

    .architecture-status-icon {
        width: 31px;
        height: 31px
    }

    .architecture-fragments {
        gap: 7px
    }

    .architecture-fragments .icon {
        width: 23px;
        height: 23px;
        padding: 13px
    }

    .broken-connection {
        width: 15px
    }

    .architecture-fragments>div>span {
        font-size: 16px;
        letter-spacing: -.5px
    }

    .architecture-interactive {
        padding: 16px 12px
    }

    .architecture-system-label {
        letter-spacing: 0;
        font-size: 16px;
        align-items: flex-start
    }

    .architecture-system-dot {
        margin-top: 8px
    }

    .architecture-nodes {
        gap: 8px
    }

    .architecture-nodes button {
        font-size: 16px;
        padding: 14px 3px;
        min-height: 122px;
        line-height: 1.35
    }

    .architecture-nodes .icon {
        width: 23px;
        height: 23px
    }

    .architecture-outcomes {
        gap: 12px
    }

    .architecture-detail {
        min-height: 150px
    }
}

@media(max-width:360px) {
    .architecture-comparison>article {
        padding: 22px 17px
    }

    .architecture-fragments {
        gap: 4px
    }

    .broken-connection {
        width: 9px
    }

    .architecture-fragments .icon {
        padding: 10px
    }

    .architecture-interactive {
        padding: 15px 10px
    }

    .architecture-nodes {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .architecture-nodes:before {
        top: 15%;
        bottom: 15%;
        left: 50%;
        right: auto;
        width: 2px;
        height: auto
    }

    .architecture-nodes button {
        min-height: 60px;
        flex-direction: row;
        gap: 12px;
        padding: 13px
    }

    .architecture-detail {
        min-height: 145px
    }
}

@media(prefers-reduced-motion:reduce) {

    .architecture-fragments>div,
    .architecture-nodes button {
        transition: none
    }

    .architecture-fragments>div,
    .architecture-fragments>div:nth-of-type(2),
    .architecture-fragments>div:nth-of-type(3),
    .architecture-nodes button:hover {
        transform: none
    }
}

@media(min-width:901px) {
    .architecture-fragments {
        flex: 1;
        margin: 24px 0;
        padding: 32px 10px;
        border: 1px dashed #d8aaa380;
        border-radius: 13px;
        background: radial-gradient(ellipse at center, #edc4ba50, transparent 72%), repeating-linear-gradient(0deg, transparent, transparent 27px, #d4a69d12 28px), repeating-linear-gradient(90deg, transparent, transparent 27px, #d4a69d12 28px)
    }

    .architecture-fragments .icon {
        width: 30px;
        height: 30px;
        padding: 17px
    }
}

/* Market scale dashboard with an illustrative animated background. */
.market-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: radial-gradient(ellipse at 85% 20%, #183c32, transparent 55%), #081620
}

.market-section>.container {
    position: relative;
    z-index: 1
}

.market-section .heading-wide {
    max-width: 1050px;
    margin-bottom: 36px
}

.market-section h2 {
    font-size: clamp(34px, 3.5vw, 50px);
    line-height: 1.23;
    letter-spacing: -1.5px
}

.market-chart-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .6;
    background-image: linear-gradient(#87b66708 1px, transparent 1px), linear-gradient(90deg, #87b66708 1px, transparent 1px);
    background-size: 70px 70px;
    mask-image: linear-gradient(#000, #000 65%, transparent)
}

.market-chart-backdrop svg {
    width: 100%;
    height: 100%;
    max-height: 1100px;
    overflow: visible
}

.market-trend-path,
.market-trend-tip {
    fill: none;
    stroke: #b6ef36;
    stroke-width: 3;
    opacity: .3;
    stroke-linejoin: round
}

.market-trend-points {
    fill: #b6ef36;
    opacity: .4
}

.market-in-view .market-trend-path {
    stroke-dasharray: 1;
    animation: market-draw 2.6s ease both
}

.market-in-view .market-trend-tip {
    animation: market-tip 2.6s ease both
}

.market-in-view .market-trend-points {
    animation: market-points 1.5s ease 3
}

.market-scale-label {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: 16px;
    color: #c8dabf;
    font-weight: 600;
    letter-spacing: 1.1px;
    margin-bottom: 18px
}

.market-scale-label>span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--lime);
    box-shadow: 0 0 0 5px #b6ef3612
}

.market-scale-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 37px
}

.market-scale-card {
    position: relative;
    overflow: hidden;
    padding: 29px 32px;
    border: 1px solid #b6ef3650;
    border-radius: 18px;
    background: linear-gradient(125deg, #234335de, #0c222ee8);
    box-shadow: 0 18px 45px #0002;
    transition: transform .3s, border-color .3s
}

.market-scale-card:nth-child(2) {
    background: linear-gradient(125deg, #172e3bea, #0a202ade);
    border-color: #87bbc044
}

.market-scale-card:hover {
    transform: translateY(-5px);
    border-color: #b6ef36a0
}

.market-scale-top {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
    line-height: 1.6;
    color: #e6f0df;
    font-weight: 600
}

.market-scale-top>.icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    color: var(--lime)
}

.market-scale-index {
    margin-left: auto;
    color: #a6bba1;
    letter-spacing: 2px
}

.market-scale-value {
    font-family: Sora, sans-serif;
    color: #c1fa58;
    font-size: clamp(65px, 7.3vw, 106px);
    font-weight: 500;
    letter-spacing: -6px;
    line-height: 1.1;
    margin: 27px 0 23px;
    white-space: nowrap;
    font-variant-numeric: tabular-nums
}

.market-scale-value strong {
    font-weight: 600
}

.market-scale-value em {
    font-size: .56em;
    font-style: normal;
    letter-spacing: -3px;
    margin-left: 5px
}

.market-scale-card:nth-child(2) .market-scale-value {
    color: #e2ffc2
}

.market-scale-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding-top: 18px;
    border-top: 1px solid #c5e1b820;
    font-size: 16px;
    color: #b3c6bb
}

.market-spark {
    display: flex;
    align-items: flex-end;
    gap: 5px;
    height: 36px;
    width: 92px;
    flex-shrink: 0
}

.market-spark i {
    height: var(--spark-height);
    width: 7px;
    background: #b6ef3680;
    border-radius: 2px 2px 0 0;
    transform-origin: bottom
}

.market-in-view .market-spark i {
    animation: market-bar-grow 1s var(--spark-delay) ease both
}

.market-section .market-copy {
    column-gap: 50px;
    margin-bottom: 37px
}

.market-section .market-copy p {
    font-size: 16px;
    line-height: 1.85;
    color: #fff
}

.market-sector-panel {
    padding: 31px;
    border: 1px solid #acc99433;
    background: #0c1c27e8;
    border-radius: 18px;
    backdrop-filter: blur(8px)
}

.market-sector-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 30px
}

.market-sector-kicker {
    font-size: 16px;
    letter-spacing: 1px;
    color: #b6ef36;
    font-weight: 600
}

.market-sector-heading h3 {
    font: 600 30px/1.3 Sora, sans-serif;
    letter-spacing: -1px;
    color: #fff;
    margin: 9px 0 0
}

.market-sector-heading>span {
    font-size: 16px;
    color: #a6bab8
}

.market-sector-layout {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: 38px
}

.market-sector-readout {
    padding: 27px;
    background: radial-gradient(ellipse at 10% 0, #b6ef3620, transparent 80%), #162b30;
    border: 1px solid #b6ef363a;
    border-radius: 12px;
    display: flex;
    align-items: flex-start;
    flex-direction: column
}

.market-sector-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border: 1px solid #b6ef364f;
    border-radius: 11px;
    color: var(--lime);
    margin-bottom: 22px
}

.market-sector-icon .icon {
    width: 25px;
    height: 25px
}

#market-sector-value {
    font: 600 clamp(38px, 3.9vw, 57px)/1.15 Sora, sans-serif;
    color: var(--lime);
    letter-spacing: -2px;
    white-space: nowrap
}

#market-sector-name {
    font: 500 22px/1.4 Sora, sans-serif;
    color: #fff;
    margin: 16px 0 10px
}

.market-sector-readout p {
    font-size: 16px;
    color: #bdcec1;
    line-height: 1.5;
    margin: 0 0 24px
}

.market-sector-footnote {
    display: block;
    font-size: 16px;
    color: #a6bba8;
    border-top: 1px solid #bbd3ad25;
    padding-top: 16px;
    margin-top: auto;
    width: 100%
}

.market-sector-bars {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0
}

.market-sector-bars button {
    padding: 14px 16px;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    text-align: left;
    cursor: pointer;
    color: #cbdbd3;
    font: 500 16px Manrope, sans-serif;
    transition: background .25s, border-color .25s
}

.market-sector-bars button:hover {
    background: #b6ef360a;
    border-color: #b6ef3640
}

.market-sector-bars button[aria-pressed=true] {
    background: #b6ef3611;
    border-color: #b6ef365a
}

.market-sector-bars button:focus-visible {
    outline: 3px solid #d6ff93;
    outline-offset: 2px
}

.market-sector-row {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    line-height: 1.5
}

.market-sector-row>.icon {
    width: 20px;
    height: 20px;
    color: #a3c77f;
    flex-shrink: 0
}

.market-sector-row strong {
    margin-left: auto;
    color: #efffe0;
    font: 600 20px Sora, sans-serif;
    white-space: nowrap
}

.market-sector-track {
    display: block;
    height: 9px;
    background: #243a40;
    border-radius: 6px;
    margin-top: 15px;
    overflow: hidden
}

.market-sector-track>span {
    display: block;
    height: 100%;
    width: var(--sector-width);
    border-radius: 6px;
    background: linear-gradient(90deg, #719d35, #b6ef36);
    transform-origin: left
}

.market-in-view .market-sector-track>span {
    animation: market-bar-fill 1.2s var(--sector-delay) ease both
}

.market-chart-caption {
    font-size: 16px;
    line-height: 1.6;
    color: #9fb2b9;
    margin: 8px 16px 0
}

.market-section .market-context {
    font-size: 16px;
    line-height: 1.85;
    color: #aebfc4;
    margin-top: 27px
}

.market-section .disclosure {
    font-size: 16px;
    line-height: 1.85
}

@keyframes market-draw {
    from {
        stroke-dashoffset: 1
    }

    to {
        stroke-dashoffset: 0
    }
}

@keyframes market-tip {

    0%,
    75% {
        opacity: 0
    }

    100% {
        opacity: .3
    }
}

@keyframes market-points {

    0%,
    100% {
        opacity: .25
    }

    50% {
        opacity: .7
    }
}

@keyframes market-bar-grow {
    from {
        transform: scaleY(.1)
    }

    to {
        transform: scaleY(1)
    }
}

@keyframes market-bar-fill {
    from {
        transform: scaleX(0)
    }

    to {
        transform: scaleX(1)
    }
}

@media(max-width:1000px) {
    .market-scale-card {
        padding: 24px
    }

    .market-scale-top {
        align-items: flex-start
    }

    .market-scale-index {
        display: none
    }

    .market-sector-layout {
        grid-template-columns: .8fr 1.2fr;
        gap: 22px
    }

    .market-sector-panel {
        padding: 25px
    }

    .market-sector-readout {
        padding: 22px
    }

    .market-sector-row {
        flex-wrap: wrap
    }

    .market-sector-row strong {
        font-size: 19px
    }

    .market-scale-value {
        font-size: 76px
    }
}

@media(max-width:800px) {
    .market-sector-layout {
        grid-template-columns: 1fr
    }

    .market-sector-readout {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 10px 20px;
        align-items: center
    }

    .market-sector-icon {
        grid-row: 1/3;
        margin: 0
    }

    .market-sector-readout h4 {
        margin: 0 !important
    }

    .market-sector-readout p,
    .market-sector-footnote {
        grid-column: 1/-1;
        margin: 0
    }

    .market-sector-readout p {
        margin-top: 8px
    }

    .market-sector-footnote {
        margin-top: 8px
    }

    .market-sector-heading {
        align-items: flex-start
    }

    .market-scale-grid {
        gap: 16px
    }

    .market-scale-card {
        padding: 22px
    }

    .market-scale-value {
        font-size: 65px;
        letter-spacing: -4px
    }

    .market-scale-bottom {
        flex-wrap: wrap
    }
}

@media(max-width:540px) {
    .market-section h2 {
        font-size: 34px;
        letter-spacing: -1px
    }

    .market-scale-label {
        letter-spacing: .4px
    }

    .market-scale-grid {
        grid-template-columns: 1fr;
        gap: 17px
    }

    .market-scale-value {
        font-size: 83px
    }

    .market-scale-bottom {
        flex-wrap: nowrap
    }

    .market-scale-top {
        align-items: center
    }

    .market-sector-panel {
        padding: 22px 15px
    }

    .market-sector-heading {
        flex-direction: column;
        gap: 14px;
        padding: 0 5px
    }

    .market-sector-heading h3 {
        font-size: 27px
    }

    .market-sector-readout {
        padding: 20px;
        gap: 10px 16px
    }

    #market-sector-value {
        font-size: 42px
    }

    #market-sector-name {
        font-size: 20px
    }

    .market-sector-bars button {
        padding: 13px 10px
    }

    .market-sector-row {
        gap: 8px
    }

    .market-sector-row>.icon {
        display: none
    }

    .market-sector-row>span {
        max-width: 65%
    }

    .market-sector-row strong {
        font-size: 18px
    }

    .market-chart-caption {
        margin: 9px 10px 0
    }

    .market-chart-backdrop {
        opacity: .4
    }
}

@media(prefers-reduced-motion:reduce) {

    .market-in-view .market-trend-path,
    .market-in-view .market-trend-tip,
    .market-in-view .market-trend-points,
    .market-in-view .market-spark i,
    .market-in-view .market-sector-track>span {
        animation: none
    }

    .market-scale-card,
    .market-sector-bars button {
        transition: none
    }

    .market-scale-card:hover {
        transform: none
    }
}

.market-section .disclosure {
    font-size: 16px !important;
    line-height: 1.85 !important
}

/* Commercial milestone and leadership quote. */
.section.milestone-feature {
    display: block;
    background: radial-gradient(ellipse at 100% 15%, #e6efda, transparent 55%), #f5f7f1;
    padding: 100px 0
}

.milestone-heading {
    max-width: 1030px;
    margin-bottom: 38px
}

.milestone-heading h2 {
    font-size: clamp(34px, 3.5vw, 50px);
    letter-spacing: -1.5px;
    line-height: 1.23;
    margin-bottom: 0
}

.milestone-layout {
    display: grid;
    grid-template-columns: 1fr 1.06fr;
    gap: 36px;
    align-items: stretch
}

.milestone-image {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 400px;
    width: 100%;
    display: block;
    padding: 0;
    background: #10272c;
    border: 1px solid #3c533f;
    border-radius: 17px;
    cursor: zoom-in;
    text-align: left;
    color: white
}

.milestone-image>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
    transition: transform .65s, filter .65s
}

.milestone-image:hover>img {
    transform: scale(1.045);
    filter: brightness(1.1)
}

.milestone-image:after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, #06182166, transparent 45%, #061821e6)
}

.milestone-photo-label {
    position: absolute;
    top: 23px;
    left: 23px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #b6ef3655;
    padding: 10px 13px;
    border-radius: 6px;
    background: #0a1d25b0;
    backdrop-filter: blur(10px);
    font: 600 16px Manrope, sans-serif;
    color: #e8ffce
}

.milestone-photo-label .icon {
    width: 20px;
    height: 20px;
    color: var(--lime)
}

.milestone-photo-bottom {
    position: absolute;
    bottom: 24px;
    left: 26px;
    right: 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    font: 500 23px/1.35 Sora, sans-serif;
    letter-spacing: -.5px
}

.milestone-expand {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border: 1px solid #b6ef3660;
    border-radius: 50%;
    background: #b6ef361a;
    color: var(--lime);
    transition: background .25s, color .25s
}

.milestone-expand .icon {
    width: 21px;
    height: 21px
}

.milestone-image:hover .milestone-expand {
    background: var(--lime);
    color: #163120
}

.milestone-order {
    min-width: 0;
    padding: 28px 0 8px
}

.milestone-order-kicker {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: 16px;
    letter-spacing: .7px;
    color: #49622d;
    font-weight: 700;
    line-height: 1.5
}

.milestone-order-kicker i {
    width: 8px;
    height: 8px;
    transform: rotate(45deg);
    background: #81ac29;
    flex-shrink: 0
}

.milestone-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin: 24px 0 25px;
    padding-bottom: 26px;
    border-bottom: 1px solid #cfdcc2
}

.milestone-metrics>div {
    display: flex;
    flex-direction: column;
    gap: 9px
}

.milestone-metrics>div+div {
    padding-left: 25px;
    border-left: 1px solid #cfdcc2
}

.milestone-metrics strong {
    font: 600 clamp(48px, 4.7vw, 68px)/1.1 Sora, sans-serif;
    letter-spacing: -3px;
    color: #223b2b
}

.milestone-metrics strong>span {
    font-size: .63em;
    letter-spacing: -1px;
    color: #638824
}

.milestone-metrics>div>span {
    font-size: 16px;
    line-height: 1.6;
    color: #56654e
}

.milestone-order>p {
    font-size: 16px;
    line-height: 1.9;
    color: #000;
    margin: 0 0 26px
}

.milestone-conditions {
    border: 1px solid #cedbbf;
    border-radius: 10px;
    background: #ffffff85;
    overflow: hidden
}

.milestone-conditions summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    padding: 17px 18px;
    font-size: 16px;
    font-weight: 600;
    color: #354b29;
    list-style: none
}

.milestone-conditions summary::-webkit-details-marker {
    display: none
}

.milestone-conditions summary>span:first-child {
    display: flex;
    align-items: center;
    gap: 10px
}

.milestone-conditions summary .icon {
    width: 21px;
    height: 21px;
    flex-shrink: 0;
    color: #719435
}

.milestone-detail-plus {
    font-size: 24px;
    line-height: 1;
    transition: transform .25s
}

.milestone-conditions[open] .milestone-detail-plus {
    transform: rotate(45deg)
}

.milestone-conditions>div {
    padding: 0 18px 18px
}

.milestone-conditions p {
    font-size: 16px;
    line-height: 1.8;
    color: #56634e;
    margin: 0 0 15px
}

.milestone-condition-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.milestone-condition-tags>span {
    font-size: 16px;
    background: #edf3e5;
    border: 1px solid #d6e2c7;
    padding: 5px 10px;
    border-radius: 5px;
    color: #4d653c
}

.milestone-image:focus-visible,
.milestone-conditions summary:focus-visible {
    outline: 3px solid #8ab633;
    outline-offset: 4px
}

.milestone-quote {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 38px;
    align-items: stretch;
    margin: 32px 0 0;
    border: 1px solid #496143;
    border-radius: 19px;
    background: radial-gradient(ellipse at 0 50%, #355438, transparent 50%), #10242e;
    overflow: hidden;
    box-shadow: 0 20px 45px #18352212
}

.milestone-portrait {
    position: relative;
    isolation: isolate;
    min-height: 340px;
    background: linear-gradient(160deg, #b6ef3610, transparent);
    overflow: hidden
}

.milestone-portrait>img {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 1;
    filter: contrast(1.04);
    transition: transform .6s
}

.milestone-quote:hover .milestone-portrait>img {
    transform: scale(1.025)
}

.portrait-orbit {
    position: absolute;
    width: 230px;
    height: 230px;
    border: 1px solid #b6ef3650;
    border-radius: 50%;
    left: 25px;
    top: 42px;
    box-shadow: 0 0 0 22px #b6ef3606, 0 0 0 44px #b6ef3604
}

.milestone-portrait-label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    background: #0a202be0;
    backdrop-filter: blur(7px);
    padding: 16px 15px;
    font-size: 16px;
    font-weight: 600;
    color: #d4eeb8;
    text-align: center;
    letter-spacing: .5px
}

.milestone-quote-content {
    position: relative;
    min-width: 0;
    padding: 36px 36px 30px 0
}

.milestone-quote-mark {
    display: block;
    font: 90px/.65 Georgia, serif;
    color: var(--lime);
    height: 48px;
    margin-top: 8px
}

.milestone-quote blockquote {
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent
}

.milestone-quote blockquote p {
    font: 500 20px/1.8 Manrope, sans-serif;
    color: #f0f7eb;
    margin: 0 0 23px
}

.milestone-quote figcaption {
    padding-top: 19px;
    border-top: 1px solid #b6ef362b
}

.milestone-quote cite {
    display: block;
    font: 600 16px/1.7 Manrope, sans-serif;
    color: #c9e4ac
}

.milestone-quote .reference {
    color: var(--lime)
}

.milestone-quote-rule {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 19px
}

.milestone-quote-rule i {
    width: 6px;
    height: 6px;
    background: #b6ef36;
    transform: rotate(45deg)
}

.milestone-quote-rule>span {
    width: 65px;
    height: 1px;
    background: linear-gradient(90deg, #b6ef36, transparent);
    transition: width .6s
}

.milestone-quote:hover .milestone-quote-rule>span {
    width: 140px
}

@media(max-width:1100px) {
    .section.milestone-feature {
        padding: 80px 0
    }

    .milestone-layout {
        gap: 28px
    }

    .milestone-quote {
        grid-template-columns: 230px 1fr;
        gap: 28px
    }

    .milestone-quote-content {
        padding-right: 28px
    }

    .milestone-quote blockquote p {
        font-size: 18px
    }

    .portrait-orbit {
        width: 195px;
        height: 195px;
        left: 18px;
        top: auto;
        bottom: 90px
    }

    .milestone-metrics {
        gap: 15px
    }

    .milestone-metrics>div+div {
        padding-left: 17px
    }
}

@media(max-width:800px) {
    .section.milestone-feature {
        padding: 65px 0
    }

    .milestone-layout {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .milestone-image {
        min-height: 340px
    }

    .milestone-order {
        padding-top: 4px
    }

    .milestone-metrics strong {
        font-size: 65px
    }

    .milestone-quote {
        grid-template-columns: 190px 1fr;
        gap: 24px
    }

    .milestone-quote-content {
        padding: 28px 25px 25px 0
    }

    .milestone-portrait-label {
        font-size: 16px;
        letter-spacing: 0
    }

    .portrait-orbit {
        width: 165px;
        height: 165px;
        left: 12px
    }

    .milestone-portrait {
        min-height: 290px
    }
}

@media(max-width:600px) {
    .milestone-quote {
        grid-template-columns: 1fr;
        gap: 0
    }

    .milestone-portrait {
        height: 230px;
        min-height: 0;
        background: radial-gradient(ellipse at center, #426b4190, transparent)
    }

    .milestone-portrait>img {
        width: 220px;
        left: 50%;
        margin-left: -110px
    }

    .portrait-orbit {
        width: 180px;
        height: 180px;
        left: 50%;
        margin-left: -90px;
        top: 25px;
        bottom: auto
    }

    .milestone-portrait-label {
        padding: 10px
    }

    .milestone-quote-content {
        padding: 28px 24px
    }

    .milestone-quote blockquote p {
        font-size: 18px;
        line-height: 1.8
    }

    .milestone-quote-mark {
        font-size: 80px;
        height: 42px
    }

    .milestone-quote figcaption {
        padding-top: 16px
    }
}

@media(max-width:540px) {
    .section.milestone-feature {
        padding: 56px 0
    }

    .milestone-heading h2 {
        font-size: 34px;
        letter-spacing: -1px
    }

    .milestone-heading {
        margin-bottom: 27px
    }

    .milestone-image {
        min-height: 310px
    }

    .milestone-photo-label {
        left: 16px;
        top: 16px;
        padding: 9px;
        font-size: 16px
    }

    .milestone-photo-bottom {
        left: 18px;
        right: 18px;
        bottom: 20px;
        font-size: 20px
    }

    .milestone-metrics strong {
        font-size: 51px;
        letter-spacing: -2px
    }

    .milestone-metrics {
        gap: 12px
    }

    .milestone-metrics>div+div {
        padding-left: 15px
    }

    .milestone-order-kicker {
        letter-spacing: .2px
    }

    .milestone-conditions summary {
        padding: 15px 13px
    }

    .milestone-conditions summary>span:first-child {
        gap: 7px
    }

    .milestone-conditions summary .icon {
        width: 18px;
        height: 18px
    }
}

@media(prefers-reduced-motion:reduce) {

    .milestone-image>img,
    .milestone-expand,
    .milestone-detail-plus,
    .milestone-portrait>img,
    .milestone-quote-rule>span {
        transition: none
    }

    .milestone-image:hover>img,
    .milestone-quote:hover .milestone-portrait>img {
        transform: none
    }
}

.milestone-portrait>img {
    bottom: 48px
}

@media(max-width:600px) {
    .milestone-portrait>img {
        bottom: 40px;
        width: 190px;
        margin-left: -95px
    }
}

/* Filterable investor perspectives, retaining every original point. */
.investor-reasons {
    background: radial-gradient(ellipse at 100% 0, #e3edcf, transparent 35%), #f1f4ec
}

.reasons-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 33px
}

.investor-reasons .reasons-heading h2 {
    max-width: 100%;
    font-size: clamp(35px, 3.6vw, 52px);
    line-height: 1.22;
    letter-spacing: -1.7px;
    margin: 0
}

.reasons-index {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 23px 28px;
    border: 1px solid #c6d7b4;
    border-radius: 16px;
    background: #e8efdb;
    flex-shrink: 0
}

.reasons-index strong {
    font: 600 66px/1 Sora, sans-serif;
    letter-spacing: -4px;
    color: #4f7227
}

.reasons-index>span {
    font-size: 16px;
    line-height: 1.6;
    font-weight: 600;
    color: #526348
}

.reason-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 21px
}

.reason-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 28px;
    border: 1px solid #d7e0ce;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 5px 15px #2c452006;
    transition: transform .3s, border-color .3s, box-shadow .3s
}

.reason-card[hidden] {
    display: none
}

.reason-card:before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(circle 250px at var(--reason-x, 50%) var(--reason-y, 0%), #b6ef3620, transparent 80%);
    opacity: 0;
    transition: opacity .3s
}

.reason-card:hover {
    transform: translateY(-5px);
    border-color: #9ebc79;
    box-shadow: 0 18px 35px #233c1712
}

.reason-card:hover:before {
    opacity: 1
}

.reason-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 23px
}

.reason-icon {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    border: 1px solid #d4e1c5;
    border-radius: 11px;
    color: #6e9435;
    background: #f1f6e9
}

.reason-icon .icon {
    width: 23px;
    height: 23px
}

.reason-number {
    font-size: 16px;
    letter-spacing: 1px;
    color: #7a8970;
    font-weight: 600
}

.reason-value {
    display: block;
    font: 600 clamp(28px, 2.7vw, 40px)/1.2 Sora, sans-serif;
    color: #52782e;
    letter-spacing: -1.3px;
    padding-bottom: 23px;
    margin-bottom: 23px;
    border-bottom: 1px solid #e0e8d8
}

.reason-value.reason-value-long {
    font-size: 27px;
    line-height: 1.3;
    letter-spacing: -.8px
}

.reason-card h3 {
    font: 600 20px/1.45 Sora, sans-serif;
    color: #192e36;
    letter-spacing: -.5px;
    margin: 0 0 15px
}

.reason-card p {
    font-size: 16px;
    line-height: 1.85;
    margin: 0 0 25px;
    color: #57676a
}

.reason-status {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 600;
    color: #607449;
    padding-top: 17px;
    border-top: 1px solid #e1e8d9;
    margin-top: auto
}

.reason-status i {
    width: 6px;
    height: 6px;
    background: #89ac4e;
    border-radius: 50%;
    flex-shrink: 0
}

.reason-featured {
    background: radial-gradient(ellipse at 100% 0, #35583c, transparent 70%), #112832;
    border-color: #3e624b
}

.reason-featured .reason-icon {
    background: #b6ef3610;
    border-color: #b6ef3645;
    color: #b6ef36
}

.reason-featured .reason-number {
    color: #aabd9e
}

.reason-featured .reason-value {
    color: #b6ef36;
    border-color: #ffffff26
}

.reason-featured h3 {
    color: #fff
}

.reason-featured p {
    color: #d1e0d7
}

.reason-featured .reason-status {
    color: #d1ecae;
    border-color: #ffffff26
}

.reason-featured .reason-status i {
    background: #b6ef36
}

.reason-global {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 0 30px;
    background: linear-gradient(125deg, #e0edc7, #edf4e1);
    border-color: #c0d5a7
}

.reason-global .reason-card-top {
    grid-column: 1
}

.reason-global .reason-value {
    grid-column: 1;
    grid-row: 2/4;
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 32px
}

.reason-global h3 {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    margin: 0
}

.reason-global p {
    grid-column: 2;
    grid-row: 2;
    margin-bottom: 20px
}

.reason-global .reason-status {
    grid-column: 2;
    grid-row: 3
}

.investor-reasons .disclosure {
    font-size: 16px !important;
    line-height: 1.85 !important;
    margin-top: 35px
}

@media(max-width:1100px) {
    .reason-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .reason-card {
        padding: 25px
    }

    .reason-value {
        font-size: 36px
    }

    .reason-value.reason-value-long {
        font-size: 28px
    }

    .reason-global {
        display: flex;
        grid-column: auto
    }

    .reason-global .reason-value {
        border-bottom: 1px solid #c9d8b7;
        padding-bottom: 23px;
        margin-bottom: 23px;
        font-size: 29px
    }

    .reason-global h3 {
        align-self: auto;
        margin-bottom: 15px
    }

    .reason-global p {
        margin-bottom: 25px
    }

    .reasons-index {
        padding: 20px
    }

    .reasons-index strong {
        font-size: 56px
    }
}

@media(max-width:700px) {
    .reasons-index {
        display: none
    }

    .reason-grid {
        grid-template-columns: 1fr
    }

    .reason-card {
        padding: 26px
    }

    .reason-value {
        font-size: 39px
    }

    .reason-value.reason-value-long {
        font-size: 29px
    }

    .investor-reasons .reasons-heading h2 {
        font-size: 36px;
        letter-spacing: -1.1px
    }

    .reason-card:hover {
        transform: none
    }
}

@media(max-width:380px) {

    .reason-card {
        padding: 23px
    }

    .reason-value {
        font-size: 35px
    }

    .reason-value.reason-value-long {
        font-size: 26px
    }
}

@media(prefers-reduced-motion:reduce) {

    .reason-card,
    .reason-card:before {
        transition: none
    }

    .reason-card:hover {
        transform: none
    }
}

/* Simple, sequential investor reasons. */
.investor-reasons .reason-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 17px
}

.investor-reasons .reasons-index {
    display: none
}

.investor-reasons .reason-card {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 0 34px;
    padding: 28px 30px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #d7e0ce;
    box-shadow: none;
    transform: none;
    transition: none
}

.investor-reasons .reason-card:before {
    display: none
}

.investor-reasons .reason-card-top {
    grid-column: 1;
    grid-row: 1;
    margin: 0 0 16px
}

.investor-reasons .reason-icon {
    display: none
}

.investor-reasons .reason-number {
    color: #718063;
    font-size: 16px
}

.investor-reasons .reason-value,
.investor-reasons .reason-value.reason-value-long {
    grid-column: 1;
    grid-row: 2/4;
    border: 0;
    padding: 0;
    margin: 0;
    font-size: 29px;
    line-height: 1.35;
    color: #52782e;
    letter-spacing: -.8px
}

.investor-reasons .reason-card h3 {
    grid-column: 2;
    grid-row: 1;
    margin: 0 0 12px;
    color: #192e36;
    align-self: start
}

.investor-reasons .reason-card p {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    color: #57676a;
    font-size: 16px;
    line-height: 1.85
}

.investor-reasons .reason-status {
    display: none
}

@media(max-width:800px) {
    .investor-reasons .reason-card {
        grid-template-columns: 190px minmax(0, 1fr);
        gap: 0 24px;
        padding: 25px
    }

    .investor-reasons .reason-value,
    .investor-reasons .reason-value.reason-value-long {
        font-size: 26px
    }
}

@media(max-width:600px) {
    .investor-reasons .reason-card {
        display: flex;
        flex-direction: column;
        padding: 24px;
        gap: 0
    }

    .investor-reasons .reason-card-top {
        margin-bottom: 12px
    }

    .investor-reasons .reason-value,
    .investor-reasons .reason-value.reason-value-long {
        margin: 0 0 18px;
        font-size: 28px
    }

    .investor-reasons .reason-card h3 {
        margin-bottom: 13px
    }
}

/* Single-column investor story: highlighted metric rail and readable content. */
.investor-reasons .reason-grid {
    gap: 20px
}

.investor-reasons .reason-card {
    --reason-x: 50%;
    --reason-y: 50%;
    grid-template-columns: 275px minmax(0, 1fr);
    gap: 0 34px;
    padding: 29px 32px 29px 0;
    border-radius: 16px;
    border-color: #d1dfc4;
    box-shadow: 0 5px 18px #243d1d06;
    transition: border-color .3s, box-shadow .3s, transform .3s;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(90deg, #132e30 0, #1c3d34 275px, #fff 275px)
}

.investor-reasons .reason-card:before {
    display: block;
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(circle 280px at var(--reason-x) var(--reason-y), #b6ef361b, transparent 78%);
    pointer-events: none;
    opacity: 0;
    transition: opacity .35s
}

.investor-reasons .reason-card:after {
    content: '';
    position: absolute;
    left: 0;
    top: 24px;
    bottom: 24px;
    width: 3px;
    background: linear-gradient(transparent, #b6ef36, transparent);
    opacity: .45;
    transition: opacity .3s
}

.investor-reasons .reason-card:hover,
.investor-reasons .reason-card:focus-within {
    border-color: #98bc66;
    box-shadow: 0 15px 35px #2c492015;
    transform: translateY(-3px)
}

.investor-reasons .reason-card:hover:before,
.investor-reasons .reason-card:focus-within:before,
.investor-reasons .reason-card:hover:after {
    opacity: 1
}

.investor-reasons .reason-card-top {
    padding: 0 25px;
    margin: 0 0 20px;
    align-items: center
}

.investor-reasons .reason-icon {
    display: grid;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    border-color: #b6ef3640;
    background: #b6ef360d;
    color: #b6ef36;
    transition: background .3s, transform .3s
}

.investor-reasons .reason-icon .icon {
    width: 21px;
    height: 21px
}

.investor-reasons .reason-card:hover .reason-icon {
    background: #b6ef3623;
    transform: rotate(-6deg)
}

.investor-reasons .reason-number {
    color: #c3d7b5;
    font-size: 16px;
    letter-spacing: 1.3px
}

.investor-reasons .reason-value,
.investor-reasons .reason-value.reason-value-long {
    padding: 0 25px 6px;
    color: #c5fa6d;
    font-size: 36px;
    letter-spacing: -1.2px;
    line-height: 1.22;
    align-self: start;
    margin: 0;
    border: 0
}

.investor-reasons .reason-value.reason-value-long {
    font-size: 27px;
    line-height: 1.35;
    letter-spacing: -.6px
}

.investor-reasons .reason-card h3 {
    align-self: center;
    font-size: 23px;
    line-height: 1.4;
    letter-spacing: -.6px;
    margin: 0 0 16px;
    color: #19342f
}

.investor-reasons .reason-card p {
    color: #000;
    line-height: 1.85;
    margin: 0;
    font-size: 16px;
    padding-bottom: 7px
}

.investor-reasons .reason-card .reference a {
    color: #668b2c
}

@media(max-width:1000px) {
    .investor-reasons .reason-card {
        grid-template-columns: 225px minmax(0, 1fr);
        gap: 0 25px;
        padding: 25px 25px 25px 0;
        background: linear-gradient(90deg, #132e30 0, #1c3d34 225px, #fff 225px)
    }

    .investor-reasons .reason-card-top {
        padding: 0 21px
    }

    .investor-reasons .reason-value,
    .investor-reasons .reason-value.reason-value-long {
        padding: 0 21px 4px;
        font-size: 30px
    }

    .investor-reasons .reason-value.reason-value-long {
        font-size: 24px
    }

    .investor-reasons .reason-card h3 {
        font-size: 21px
    }
}

@media(max-width:650px) {
    .investor-reasons .reason-card {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0;
        background: #fff
    }

    .investor-reasons .reason-card-top {
        grid-column: 1;
        grid-row: 1;
        padding: 20px 23px 15px;
        margin: 0;
        background: #15332f
    }

    .investor-reasons .reason-value,
    .investor-reasons .reason-value.reason-value-long {
        grid-column: 1;
        grid-row: 2;
        padding: 0 23px 23px;
        margin: 0;
        background: #15332f;
        font-size: 33px
    }

    .investor-reasons .reason-value.reason-value-long {
        font-size: 26px
    }

    .investor-reasons .reason-card h3 {
        grid-column: 1;
        grid-row: 3;
        padding: 23px 23px 0;
        margin: 0 0 13px;
        font-size: 22px
    }

    .investor-reasons .reason-card p {
        grid-column: 1;
        grid-row: 4;
        padding: 0 23px 23px
    }

    .investor-reasons .reason-card:after {
        top: 20px;
        bottom: auto;
        height: 80px
    }

    .investor-reasons .reason-card:hover {
        transform: none
    }
}

@media(prefers-reduced-motion:reduce) {

    .investor-reasons .reason-card,
    .investor-reasons .reason-card:before,
    .investor-reasons .reason-card:after,
    .investor-reasons .reason-icon {
        transition: none
    }

    .investor-reasons .reason-card:hover,
    .investor-reasons .reason-card:focus-within,
    .investor-reasons .reason-card:hover .reason-icon {
        transform: none
    }
}

/* Technology ecosystem: continuous landing-page story, with every layer visible. */
#technology-ecosystem {
    position: relative;
    overflow: hidden;
    background: radial-gradient(ellipse at 90% 15%, #28413955, transparent 45%), #08151f
}

.eco-heading {
    max-width: 1050px;
    margin-bottom: 28px
}

#technology-ecosystem .eco-heading h2 {
    max-width: 1020px;
    margin: 0;
    font-size: clamp(32px, 3.6vw, 52px);
    line-height: 1.19;
    letter-spacing: -1.9px
}

.eco-intro {
    color: #b6c4cc;
    margin-bottom: 44px;
    font-size: 16px;
    line-height: 1.85
}

.eco-intro p {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 44px;
    margin: 0
}

.eco-intro p>span {
    display: block
}

.eco-intro p>span+span {
    padding-left: 28px;
    border-left: 1px solid #b6ef3630
}

.eco-story {
    position: relative
}

.eco-scene {
    position: relative;
    isolation: isolate;
    height: 475px;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
    background: #0a2029
}

.eco-scene-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 25%;
    transition: transform 1s ease
}

.eco-scene:hover .eco-scene-image {
    transform: scale(1.025)
}

.eco-scene-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #07141bea 0%, #07141b90 25%, #07141b00 65%), linear-gradient(0deg, #08151f 0%, #08151f00 50%, #08151f44 100%)
}

.eco-scene-top {
    position: absolute;
    inset: 28px 32px auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px
}

.eco-scene-top>span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #e2efd9;
    font-size: 16px;
    letter-spacing: 1.2px
}

.eco-expand {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid #c5e4b866;
    background: #091821aa;
    color: #e3fbc9;
    transition: background .2s, transform .2s
}

.eco-expand:hover {
    background: #36502d;
    transform: scale(1.07)
}

.eco-expand .icon {
    width: 21px;
    height: 21px
}

.eco-scene-copy {
    position: absolute;
    left: 40px;
    top: 115px
}

.eco-scene-kicker {
    font-size: 16px;
    letter-spacing: 2px;
    color: #c2d5c5
}

.eco-scene-copy p {
    font: 500 clamp(40px, 4.5vw, 66px)/1.08 Sora, sans-serif;
    letter-spacing: -2.5px;
    color: #fff;
    margin: 18px 0
}

.eco-scene-copy em {
    color: var(--lime)
}

.eco-scene-copy>span:last-child {
    font-size: 16px;
    color: #c2d1d3
}

.eco-image-credit {
    position: absolute;
    right: 30px;
    bottom: 95px;
    color: #c8d4d4;
    font-size: 16px
}

.eco-image-credit a {
    text-decoration: underline;
    text-underline-offset: 4px
}

.eco-image-credit a:hover {
    color: var(--lime)
}

.eco-connections {
    position: absolute;
    inset: auto 0 0;
    height: 70px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 0 12px
}

.eco-connection {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    color: #c0d3c8;
    font-size: 16px;
    transition: color .25s
}

.eco-connection>span {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 3px 12px;
    background: #0b1b22c9;
    z-index: 1;
    border-radius: 20px
}

.eco-connection>span:before {
    content: '';
    width: 6px;
    height: 6px;
    background: #8aa779;
    border-radius: 50%;
    box-shadow: 0 0 0 4px #b6ef360e;
    transition: box-shadow .3s, background .3s
}

.eco-connection>i {
    position: absolute;
    top: 28px;
    bottom: 0;
    width: 1px;
    background: linear-gradient(#b6ef3677, #b6ef3622)
}

.eco-connection.is-active {
    color: var(--lime)
}

.eco-connection.is-active>span:before {
    background: var(--lime);
    box-shadow: 0 0 0 6px #b6ef3626, 0 0 20px #b6ef36
}

.eco-connection.is-active>i {
    background: var(--lime);
    box-shadow: 0 0 12px #b6ef3644
}

.eco-layer-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    padding: 0 12px
}

.eco-layer {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    padding: 30px 28px 24px;
    border: 1px solid #354a4a;
    border-radius: 12px;
    background: linear-gradient(150deg, #193031, #10232b 50%, #0d1f29);
    transition: transform .35s, border-color .35s, box-shadow .35s;
    overflow: hidden
}

.eco-layer:before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(300px circle at var(--eco-glow-x, 50%) var(--eco-glow-y, 0%), #b6ef3625, transparent 80%);
    opacity: 0;
    transition: opacity .3s
}

.eco-layer:after {
    content: '';
    position: absolute;
    top: 0;
    left: 28px;
    right: 28px;
    height: 2px;
    background: linear-gradient(90deg, transparent, #b6ef36, transparent);
    opacity: .35;
    transition: opacity .3s
}

.eco-layer:hover {
    transform: translateY(-8px);
    border-color: #8caf67;
    box-shadow: 0 24px 45px #0003
}

.eco-layer:hover:before,
.eco-layer:hover:after {
    opacity: 1
}

.eco-layer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 26px
}

.eco-layer-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid #b6ef3633;
    background: #b6ef3609;
    border-radius: 12px;
    color: var(--lime);
    transition: transform .35s, background .35s
}

.eco-layer-icon .icon {
    width: 28px;
    height: 28px
}

.eco-layer:hover .eco-layer-icon {
    transform: rotate(-6deg);
    background: #b6ef361b
}

.eco-layer-number {
    font: 500 43px/1 Sora, sans-serif;
    letter-spacing: -2px;
    color: #6e8981
}

.eco-layer:hover .eco-layer-number {
    color: #b9d795
}

#technology-ecosystem .eco-layer h3 {
    font: 500 28px/1.25 Sora, sans-serif;
    letter-spacing: -.8px;
    margin: 0 0 10px
}

.eco-layer>p {
    color: #b5c6c9;
    font-size: 16px;
    line-height: 1.65;
    margin: 0 0 25px
}

.eco-layer ul {
    list-style: none;
    margin: 0 0 25px;
    padding: 0
}

.eco-layer li {
    display: flex;
    align-items: baseline;
    gap: 11px;
    padding: 13px 0;
    border-top: 1px solid #ffffff12;
    color: #d0dcde;
    font-size: 16px;
    line-height: 1.75
}

.eco-layer li>span {
    flex-shrink: 0;
    color: var(--lime);
    transition: transform .25s
}

.eco-layer li:hover>span {
    transform: translate(2px, -2px)
}

.eco-layer-bottom {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: auto;
    color: #a1b997;
    font-size: 16px;
    line-height: 1.5
}

.eco-layer-bottom>span {
    width: 17px;
    height: 1px;
    background: #93b86b
}

.eco-unified {
    display: flex;
    align-items: center;
    gap: 20px;
    max-width: 800px;
    margin: 30px auto;
    color: #c3d1c3;
    font-size: 16px
}

.eco-unified>span:not(.eco-unified-line) {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px
}

.eco-unified .icon {
    color: var(--lime);
    width: 23px;
    height: 23px;
    flex-shrink: 0
}

.eco-unified-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, #87a06f66)
}

.eco-unified-line:last-child {
    transform: scaleX(-1)
}

#technology-ecosystem .development-line {
    display: flex;
    align-items: baseline;
    gap: 12px;
    border-radius: 0 8px 8px 0;
    background: #b6ef3608;
    margin-top: 0;
    padding: 18px 22px;
    line-height: 1.8
}

#technology-ecosystem .status-dot {
    flex-shrink: 0
}

#technology-ecosystem .source-figure {
    margin-top: 24px
}

@media(max-width:1100px) {
    .eco-layer {
        padding: 25px 21px
    }

    .eco-layer-grid {
        gap: 14px;
        padding: 0
    }

    .eco-connections {
        padding: 0
    }

    .eco-scene-copy {
        left: 30px
    }

    .eco-scene {
        height: 440px
    }

    #technology-ecosystem .eco-layer h3 {
        font-size: 25px
    }

    .eco-layer-number {
        font-size: 36px
    }

    .eco-layer-top {
        margin-bottom: 23px
    }
}

@media(max-width:850px) {
    .eco-intro p {
        grid-template-columns: 1fr;
        gap: 22px
    }

    .eco-intro p>span+span {
        padding: 0;
        border: 0
    }

    .eco-layer-grid {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .eco-layer {
        display: grid;
        grid-template-columns: 210px 1fr;
        gap: 0 30px;
        padding: 28px
    }

    .eco-layer-top {
        grid-column: 1;
        grid-row: 1;
        margin-bottom: 20px
    }

    .eco-layer h3 {
        grid-column: 1;
        grid-row: 2
    }

    .eco-layer>p {
        grid-column: 1;
        grid-row: 3;
        margin: 0
    }

    .eco-layer ul {
        grid-column: 2;
        grid-row: 1/5;
        margin: 0
    }

    .eco-layer-bottom {
        grid-column: 1;
        grid-row: 4;
        margin-top: 22px
    }

    .eco-layer li:first-child {
        border-top: 0;
        padding-top: 0
    }

    .eco-connections {
        display: none
    }

    .eco-image-credit {
        bottom: 27px
    }

    .eco-scene {
        height: 420px;
        border-radius: 12px;
        margin-bottom: 22px
    }

    .eco-scene-copy {
        top: 115px
    }

    .eco-scene-shade {
        background: linear-gradient(90deg, #07141bdd, #07141b44 65%), linear-gradient(0deg, #08151f 0%, transparent 60%)
    }

    .eco-scene-image {
        object-position: 60% center
    }

    .eco-layer:hover {
        transform: translateY(-3px)
    }
}

@media(max-width:560px) {
    #technology-ecosystem .eco-heading h2 {
        font-size: 32px;
        letter-spacing: -1px
    }

    .eco-intro {
        margin-bottom: 30px
    }

    .eco-scene {
        height: 450px
    }

    .eco-scene-top {
        inset: 18px 18px auto;
        gap: 10px
    }

    .eco-scene-top>span {
        font-size: 16px;
        letter-spacing: 0;
        line-height: 1.5
    }

    .eco-scene-top .status-dot {
        display: none
    }

    .eco-expand {
        width: 44px;
        height: 44px;
        flex-shrink: 0
    }

    .eco-scene-copy {
        top: 108px;
        left: 24px;
        right: 24px
    }

    .eco-scene-copy p {
        font-size: 49px;
        letter-spacing: -2px;
        margin: 17px 0
    }

    .eco-scene-copy>span:last-child {
        max-width: 240px;
        display: block
    }

    .eco-scene-kicker {
        letter-spacing: 1px
    }

    .eco-scene-image {
        object-position: 58% center
    }

    .eco-scene-shade {
        background: linear-gradient(90deg, #07141bcc, #07141b22), linear-gradient(0deg, #08151f 0%, #08151f00 55%)
    }

    .eco-image-credit {
        left: 24px;
        right: 20px;
        bottom: 25px;
        line-height: 1.5
    }

    .eco-layer {
        display: flex;
        padding: 26px 25px
    }

    .eco-layer-top {
        margin-bottom: 22px
    }

    .eco-layer-number {
        font-size: 43px
    }

    #technology-ecosystem .eco-layer h3 {
        font-size: 28px
    }

    .eco-layer>p {
        margin-bottom: 23px
    }

    .eco-layer li:first-child {
        border-top: 1px solid #ffffff12;
        padding-top: 13px
    }

    .eco-layer-bottom {
        margin-top: 22px
    }

    .eco-unified {
        gap: 12px;
        margin: 25px 0;
        line-height: 1.5
    }

    .eco-unified>span:not(.eco-unified-line) {
        flex: 0 1 auto;
        gap: 8px
    }

    .eco-unified-line {
        min-width: 10px
    }

    #technology-ecosystem .development-line {
        padding: 16px 18px
    }

    .eco-layer:hover {
        transform: none
    }
}

@media(prefers-reduced-motion:no-preference) {
    .eco-arrived .eco-layer {
        animation: eco-rise .7s ease-out both
    }

    .eco-arrived .eco-layer:nth-child(2) {
        animation-delay: .13s
    }

    .eco-arrived .eco-layer:nth-child(3) {
        animation-delay: .26s
    }

    @keyframes eco-rise {
        from {
            opacity: .55;
            translate: 0 20px
        }

        to {
            opacity: 1;
            translate: 0 0
        }
    }
}

@media(prefers-reduced-motion:reduce) {

    .eco-layer,
    .eco-layer:before,
    .eco-layer:after,
    .eco-layer-icon,
    .eco-layer li>span,
    .eco-connection,
    .eco-connection>span:before,
    .eco-scene-image,
    .eco-expand {
        transition: none
    }

    .eco-layer:hover,
    .eco-layer:hover .eco-layer-icon,
    .eco-scene:hover .eco-scene-image,
    .eco-expand:hover,
    .eco-layer li:hover>span {
        transform: none
    }
}

/* Platforms: video-led landing section with visible ground and aerial stories. */
#platforms {
    background: radial-gradient(ellipse at 100% 15%, #e6eedc88, transparent 50%), #fff
}

.platforms-intro {
    display: grid;
    grid-template-columns: 1fr 1.12fr;
    gap: 70px;
    align-items: start;
    margin-bottom: 40px
}

.platforms-intro h2 {
    font-size: clamp(34px, 3.8vw, 54px);
    letter-spacing: -2px;
    max-width: 490px;
    line-height: 1.17;
    margin-bottom: 25px
}

.platforms-intro .body-copy {
    font-size: 16px;
    color: #000;
    line-height: 1.85
}

.platforms-heading-note {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #697b58;
    font-size: 16px
}

.platforms-heading-note>span {
    width: 34px;
    height: 2px;
    background: #80a742
}

.platforms-media {
    display: grid;
    grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr);
    gap: 22px;
    align-items: stretch
}

.platform-film {
    overflow: hidden;
    border-radius: 15px;
    background: #0c2029;
    box-shadow: 0 18px 45px #122c2312
}

.platform-film-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    background: #060c10
}

.platform-video-launch {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    padding: 0;
    background: #0a1d26;
    isolation: isolate;
    color: #fff;
    overflow: hidden;
    text-align: left
}

.platform-video-launch[hidden] {
    display: none
}

.platform-video-launch:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, #051119e8, transparent 50%, #05111960);
    z-index: -1
}

.platform-video-launch>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
    transition: transform .7s, filter .7s;
    filter: brightness(.85)
}

.platform-video-launch:hover>img {
    transform: scale(1.035);
    filter: brightness(1)
}

.platform-video-launch:focus-visible {
    outline: 3px solid var(--lime);
    outline-offset: -6px
}

.platform-film-tag {
    position: absolute;
    top: 24px;
    left: 26px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    letter-spacing: 1.1px
}

.platform-film-tag .icon {
    width: 22px;
    height: 22px;
    color: var(--lime)
}

.platform-play {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    display: grid;
    place-items: center;
    width: 85px;
    height: 85px;
    border-radius: 50%;
    background: var(--lime);
    color: #14291e;
    box-shadow: 0 0 0 12px #b6ef3622, 0 10px 35px #0004;
    transition: transform .3s, box-shadow .3s
}

.platform-play svg {
    width: 36px;
    height: 36px;
    margin-left: 2px
}

.platform-video-launch:hover .platform-play {
    transform: scale(1.08);
    box-shadow: 0 0 0 20px #b6ef361c, 0 10px 35px #0004
}

.platform-play-label {
    position: absolute;
    left: 26px;
    right: 26px;
    bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 18px;
    color: #f1f5ec
}

.platform-play-label>span {
    font-size: 25px;
    color: var(--lime)
}

.platform-film-stage video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0
}

.platform-film-footer {
    padding: 26px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    min-height: 155px
}

.platform-film-footer>div>span {
    display: block;
    color: #b7da83;
    font-size: 16px;
    letter-spacing: 1.3px;
    margin-bottom: 10px
}

.platform-film-footer h3 {
    font: 500 25px/1.35 Sora, sans-serif;
    color: white;
    letter-spacing: -.6px
}

.platform-film-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 13px;
    font-size: 16px
}

.platform-film-actions a {
    color: #c9d8cb;
    text-decoration: underline;
    text-underline-offset: 5px;
    white-space: nowrap
}

.platform-film-actions a:hover {
    color: var(--lime)
}

.platform-video-stop {
    background: #b6ef3610;
    color: #d8efbd;
    border: 1px solid #b6ef3655;
    border-radius: 6px;
    padding: 7px 12px;
    font-size: 16px
}

.platform-video-stop[hidden] {
    display: none
}

.platform-video-stop:hover {
    background: #b6ef3625
}

.platform-domain-grid {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 20px;
    min-width: 0
}

.platform-domain {
    position: relative;
    isolation: isolate;
    min-height: 240px;
    overflow: hidden;
    border-radius: 12px;
    background: #102732;
    color: white
}

.platform-domain>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
    transition: transform .7s
}

.platform-domain:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, #06141af5, transparent 100%);
    z-index: -1
}

.platform-domain:hover>img {
    transform: scale(1.06)
}

.platform-domain-top {
    position: absolute;
    top: 18px;
    left: 20px;
    right: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px
}

.platform-domain-top>span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #e4eedb;
    font-size: 16px
}

.platform-domain-top>span>.icon {
    width: 20px;
    height: 20px;
    color: var(--lime)
}

.platform-domain-top button {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    border-radius: 50%;
    border: 1px solid #d6e8c655;
    background: #0b202b99;
    color: #d9f7b6;
    transition: background .25s
}

.platform-domain-top button:hover {
    background: #496736
}

.platform-domain-top button .icon {
    width: 18px;
    height: 18px
}

.platform-domain-copy {
    position: absolute;
    left: 22px;
    right: 20px;
    bottom: 22px
}

.platform-domain-copy h3 {
    font: 500 25px/1.25 Sora, sans-serif;
    letter-spacing: -.7px;
    margin-bottom: 10px
}

.platform-domain-copy p {
    color: #d2dddb;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 12px
}

.platform-domain-copy>span {
    font-size: 16px;
    color: #abbcb8;
    line-height: 1.5;
    display: block
}

.platform-spec-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 36px 0 17px;
    font-size: 16px;
    color: #687a62
}

.platform-spec-heading>span:first-child {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: #38543c
}

.platform-spec-heading .icon {
    width: 21px;
    height: 21px;
    color: #6f943e
}

.platform-specs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px
}

.platform-spec {
    position: relative;
    overflow: hidden;
    padding: 22px 24px 25px;
    border: 1px solid #d6e1ce;
    border-radius: 12px;
    background: linear-gradient(135deg, #eff4e7, #f8faf4);
    transition: transform .25s, border-color .25s, box-shadow .25s
}

.platform-spec:hover {
    transform: translateY(-5px);
    border-color: #97b56f;
    box-shadow: 0 12px 25px #25411a10
}

.platform-spec-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #7e946e;
    font-size: 16px;
    margin-bottom: 15px
}

.platform-spec-top .icon {
    width: 23px;
    height: 23px;
    color: #6c9238
}

.platform-spec strong {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font: 500 clamp(29px, 2.75vw, 42px)/1.2 Sora, sans-serif;
    letter-spacing: -1.8px;
    white-space: nowrap;
    color: #1a3534;
    margin-bottom: 12px
}

.platform-spec strong small {
    font: 500 18px/1.4 Manrope, sans-serif;
    color: #718360;
    letter-spacing: 0
}

.platform-spec-label {
    display: block;
    font-size: 16px;
    line-height: 1.6;
    color: #5b6f5c
}

.platform-spec-line {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 0;
    height: 3px;
    background: linear-gradient(90deg, #789d45, #b6ef36);
    transform-origin: left
}

.platform-spec-note {
    color: #6c7b69;
    font-size: 16px;
    margin: 15px 0 0
}

.platform-payload-layout {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 50px;
    margin: 55px 0 35px;
    padding-top: 40px;
    border-top: 1px solid #dbe4d7
}

.platform-payload-heading .eyebrow {
    font-size: 16px;
    margin-bottom: 18px;
    letter-spacing: 1.4px;
    color: #6d8c4c
}

.platform-payload-heading h3 {
    font: 500 28px/1.35 Sora, sans-serif;
    letter-spacing: -.9px;
    color: #183733;
    margin-bottom: 17px
}

.platform-payload-heading>p {
    font-size: 16px;
    color: #63726c;
    line-height: 1.8;
    margin-bottom: 28px
}

.platform-payload-mark {
    display: flex;
    align-items: center;
    gap: 15px;
    color: #718760;
    font-size: 16px;
    line-height: 1.5
}

.platform-payload-mark .icon {
    width: 39px;
    height: 39px;
    color: #83a458
}

#platforms .payload-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px
}

#platforms .payload-grid details {
    background: #f6f8f2;
    border: 1px solid #dbe4d5;
    border-radius: 10px;
    transition: border-color .25s, box-shadow .25s, background .25s;
    overflow: hidden
}

#platforms .payload-grid details:hover {
    border-color: #9fba83;
    box-shadow: 0 8px 18px #2c49200a
}

#platforms .payload-grid details[open] {
    background: #eef4e6;
    border-color: #a7c187
}

#platforms .payload-grid summary {
    gap: 12px;
    padding: 19px 17px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 600
}

#platforms .payload-grid summary::-webkit-details-marker {
    display: none
}

.payload-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid #d2dfc6;
    border-radius: 9px;
    background: #fff9;
    flex-shrink: 0;
    color: #6d9338
}

.payload-icon .icon {
    width: 21px;
    height: 21px
}

#platforms .payload-grid summary b {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    font-size: 22px;
    flex-shrink: 0;
    transition: transform .25s
}

#platforms .payload-grid details p {
    padding: 0 20px 23px 67px;
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
    color: #596e59
}

@media(max-width:1100px) {
    .platforms-intro {
        gap: 40px
    }

    .platforms-media {
        grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
        gap: 18px
    }

    .platform-domain {
        min-height: 225px
    }

    .platform-domain-top {
        left: 16px;
        right: 16px
    }

    .platform-domain-copy {
        left: 18px;
        right: 18px;
        bottom: 18px
    }

    .platform-domain-copy h3 {
        font-size: 22px
    }

    .platform-film-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
        padding: 24px
    }

    .platform-film-actions {
        align-items: flex-start
    }

    .platform-spec {
        padding: 20px 18px
    }

    .platform-spec strong {
        font-size: 32px;
        gap: 5px
    }

    .platform-payload-layout {
        gap: 28px;
        grid-template-columns: 1fr 1.8fr
    }

    #platforms .payload-grid summary {
        padding: 16px 13px;
        gap: 10px
    }

    #platforms .payload-grid details p {
        padding-left: 18px
    }
}

@media(max-width:850px) {
    .platforms-intro {
        grid-template-columns: 1fr;
        gap: 25px
    }

    .platforms-intro h2 {
        max-width: 650px
    }

    .platforms-intro .body-copy {
        max-width: none
    }

    .platforms-media {
        grid-template-columns: 1fr
    }

    .platform-film-footer {
        flex-direction: row;
        align-items: center
    }

    .platform-domain-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto
    }

    .platform-domain {
        min-height: 270px
    }

    .platform-specs {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .platform-spec strong {
        font-size: 38px
    }

    .platform-spec-heading>span:last-child {
        display: none
    }

    .platform-payload-layout {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .platform-payload-heading {
        max-width: 580px
    }

    .platform-payload-mark {
        display: none
    }

    .platform-payload-heading>p {
        margin-bottom: 0
    }

    #platforms .payload-grid summary {
        padding: 18px
    }
}

@media(max-width:560px) {
    .platforms-intro h2 {
        font-size: 36px;
        letter-spacing: -1.2px
    }

    .platforms-heading-note {
        line-height: 1.5
    }

    .platform-film {
        border-radius: 11px
    }

    .platform-film-tag {
        left: 15px;
        top: 13px;
        letter-spacing: 0;
        font-size: 16px
    }

    .platform-film-tag .icon {
        display: none
    }

    .platform-play {
        width: 56px;
        height: 56px;
        box-shadow: 0 0 0 7px #b6ef3622
    }

    .platform-play svg {
        width: 27px;
        height: 27px
    }

    .platform-play-label {
        left: 15px;
        right: 15px;
        bottom: 12px;
        font-size: 16px;
        line-height: 1.5
    }

    .platform-play-label>span {
        display: none
    }

    .platform-film-footer {
        padding: 22px;
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        min-height: 0
    }

    .platform-film-footer h3 {
        font-size: 24px
    }

    .platform-domain-grid {
        grid-template-columns: 1fr;
        gap: 17px
    }

    .platform-domain {
        min-height: 265px
    }

    .platform-domain-copy h3 {
        font-size: 26px
    }

    .platform-domain-copy {
        left: 24px;
        bottom: 23px
    }

    .platform-domain-top {
        left: 24px;
        top: 20px;
        right: 20px
    }

    .platform-spec-heading {
        margin-top: 28px;
        line-height: 1.5
    }

    .platform-specs {
        gap: 12px
    }

    .platform-spec {
        padding: 18px 15px 23px;
        border-radius: 10px
    }

    .platform-spec-top {
        margin-bottom: 15px
    }

    .platform-spec strong {
        font-size: 30px;
        gap: 5px;
        letter-spacing: -1.5px;
        flex-wrap: wrap
    }

    .platform-spec strong small {
        font-size: 16px
    }

    .platform-spec-label {
        font-size: 16px;
        line-height: 1.6
    }

    .platform-spec-line {
        left: 15px;
        right: 15px
    }

    .platform-spec-note {
        line-height: 1.7
    }

    .platform-payload-layout {
        padding-top: 30px;
        margin-top: 35px
    }

    .platform-payload-heading h3 {
        font-size: 27px
    }

    #platforms .payload-grid {
        grid-template-columns: 1fr;
        gap: 12px
    }

    #platforms .payload-grid summary {
        padding: 18px;
        gap: 12px
    }

    #platforms .payload-grid details p {
        padding: 0 22px 22px 68px
    }
}

@media(max-width:360px) {
    .platform-film-tag {
        font-size: 16px
    }

    .platform-play-label {
        max-width: 165px;
        bottom: 8px;
        line-height: 1.3
    }

    .platform-play {
        top: 46%;
        width: 48px;
        height: 48px
    }

    .platform-spec strong {
        font-size: 27px
    }

    .platform-spec {
        padding-left: 12px;
        padding-right: 12px
    }

    .platform-specs {
        gap: 10px
    }

    #platforms .payload-grid details p {
        padding-left: 20px
    }
}

@media(prefers-reduced-motion:no-preference) {
    .platform-specs.is-in-view .platform-spec-line {
        animation: platform-line 1.1s ease-out both
    }

    @keyframes platform-line {
        from {
            transform: scaleX(0)
        }

        to {
            transform: scaleX(1)
        }
    }
}

@media(prefers-reduced-motion:reduce) {

    .platform-video-launch>img,
    .platform-play,
    .platform-domain>img,
    .platform-domain-top button,
    .platform-spec,
    #platforms .payload-grid details,
    #platforms .payload-grid summary b {
        transition: none
    }

    .platform-video-launch:hover>img,
    .platform-video-launch:hover .platform-play,
    .platform-domain:hover>img,
    .platform-spec:hover {
        transform: none
    }
}

.platform-film-stage video {
    display: block;
    object-fit: contain;
    background: #000
}

.platform-film-stage video[hidden] {
    display: none
}

.platform-video-error {
    max-width: 230px;
    color: #efc7a5;
    font-size: 16px;
    line-height: 1.5;
    margin: 0
}

.platform-video-error[hidden] {
    display: none
}

/* Solar Drone: image-led commercial story with accessible contextual hotspots. */
#solar {
    position: relative;
    overflow: hidden;
    background: radial-gradient(ellipse at 0% 35%, #dfeacb88, transparent 50%), #f3f6ee
}

.solar-heading {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 65px;
    align-items: start;
    margin-bottom: 42px
}

#solar .solar-heading h2 {
    font-size: clamp(33px, 3.25vw, 48px);
    line-height: 1.22;
    letter-spacing: -1.6px;
    margin: 0;
    max-width: 620px
}

.solar-heading .eyebrow {
    color: #647955;
    font-size: 16px
}

.solar-intro {
    padding-top: 5px;
    color: #000;
    font-size: 16px;
    line-height: 1.85
}

.solar-experience {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr);
    gap: 24px;
    align-items: stretch
}

.solar-visual {
    min-width: 0;
    background: #fff;
    border: 1px solid #d4e0cc;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 44px #3049210b
}

.solar-image-stage {
    position: relative;
    isolation: isolate;
    aspect-ratio: 749/517;
    overflow: hidden;
    background: #bfd1c2
}

.solar-image-stage>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.solar-image-stage:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, #081b26aa, transparent 30%, transparent 65%, #081b2622);
    z-index: 0;
    pointer-events: none
}

.solar-photo-top {
    position: absolute;
    top: 22px;
    left: 24px;
    right: 22px;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px
}

.solar-photo-top>span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 16px;
    letter-spacing: 1.2px;
    background: #102b32b8;
    border: 1px solid #f1ffe433;
    backdrop-filter: blur(8px);
    padding: 9px 13px;
    border-radius: 5px
}

.solar-photo-top .icon {
    width: 22px;
    height: 22px;
    color: #c7f887
}

.solar-zoom {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid #d6e8c688;
    background: #112d35c9;
    color: #e1fbc5;
    transition: background .25s, transform .25s
}

.solar-zoom:hover {
    background: #37543a;
    transform: scale(1.06)
}

.solar-photo-credit {
    position: absolute;
    bottom: 20px;
    left: 24px;
    z-index: 1;
    color: #e3eadd;
    font-size: 16px;
    text-shadow: 0 1px 3px #000
}

.solar-hotspots {
    position: absolute;
    inset: 0;
    z-index: 1
}

.solar-hotspot {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    transform: translate(-50%, -50%);
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    color: #f3ffe6
}

.solar-hotspot>span:first-child {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #e0ff9a;
    color: #1c352b;
    box-shadow: 0 0 0 6px #d6ff9e33, 0 4px 20px #102a3555;
    border: 1px solid #f0ffd2;
    font-size: 16px;
    font-weight: 700;
    transition: box-shadow .25s, background .25s
}

.solar-hotspot:hover>span:first-child,
.solar-hotspot[aria-expanded=true]>span:first-child {
    background: #b6ef36;
    box-shadow: 0 0 0 10px #c5ff7130, 0 0 28px #b6ef3644
}

.solar-hotspot:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 8px;
    border-radius: 25px
}

.solar-hotspot-label {
    position: absolute;
    left: 54px;
    white-space: nowrap;
    font-size: 16px;
    line-height: 1.5;
    color: #fff;
    background: #09232de8;
    border: 1px solid #b4d99c55;
    border-radius: 6px;
    padding: 7px 11px;
    opacity: 0;
    translate: -5px 0;
    pointer-events: none;
    transition: opacity .2s, translate .2s
}

.solar-hotspot:hover .solar-hotspot-label,
.solar-hotspot:focus-visible .solar-hotspot-label,
.solar-hotspot[aria-expanded=true] .solar-hotspot-label {
    opacity: 1;
    translate: 0 0
}

.solar-hotspot-air {
    left: 47%;
    top: 22%
}

.solar-hotspot-panels {
    left: 21%;
    top: 58%
}

.solar-hotspot-ground {
    left: 74%;
    top: 71%
}

.solar-hotspot-ground .solar-hotspot-label {
    left: auto;
    right: 54px;
    translate: 5px 0
}

.solar-hotspot-ground:hover .solar-hotspot-label,
.solar-hotspot-ground:focus-visible .solar-hotspot-label,
.solar-hotspot-ground[aria-expanded=true] .solar-hotspot-label {
    translate: 0 0
}

.solar-operation {
    display: flex;
    align-items: center;
    gap: 17px;
    position: relative;
    min-height: 130px;
    padding: 23px 26px;
    background: #fff
}

.solar-operation-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border: 1px solid #d4e2c6;
    background: #eff5e7;
    border-radius: 50%;
    color: #779b40;
    flex-shrink: 0
}

.solar-operation-icon .icon {
    width: 23px;
    height: 23px
}

.solar-operation strong {
    font: 500 19px/1.45 Sora, sans-serif;
    letter-spacing: -.4px;
    color: #214139
}

.solar-operation p {
    font-size: 16px;
    line-height: 1.7;
    color: #6b7b6e;
    margin: 6px 0 0
}

.solar-detail-close {
    align-self: flex-start;
    border: 1px solid #d2dfc6;
    background: #f1f5eb;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    color: #526c43;
    flex-shrink: 0;
    font-size: 25px;
    line-height: 1
}

.solar-detail-close[hidden] {
    display: none
}

.solar-impact {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    padding: 30px 32px;
    border-radius: 18px;
    border: 1px solid #355b48;
    background: radial-gradient(ellipse at 100% 0%, #365846, transparent 65%), #112d2b;
    color: white;
    box-shadow: 0 18px 44px #3049210b
}

.solar-impact:before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .16;
    background-image: linear-gradient(#c5edb518 1px, transparent 1px), linear-gradient(90deg, #c5edb518 1px, transparent 1px);
    background-size: 38px 38px
}

.solar-impact-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 16px;
    letter-spacing: 1.1px;
    line-height: 1.5;
    color: #c7dfb6;
    margin-bottom: 18px
}

.solar-impact-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--lime);
    box-shadow: 0 0 0 4px #b6ef3613;
    flex-shrink: 0
}

.solar-metric {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 20px 0 24px;
    border-bottom: 1px solid #d7f4bd26
}

.solar-up-to {
    font-size: 16px;
    letter-spacing: 1.5px;
    color: #a7c69e
}

.solar-metric strong {
    display: flex;
    align-items: baseline;
    gap: 12px;
    font: 500 clamp(55px, 4.8vw, 72px)/1.15 Sora, sans-serif;
    letter-spacing: -3px;
    color: #d2ff91;
    margin: 4px 0 8px
}

.solar-metric strong small {
    font: 400 19px/1.5 Manrope, sans-serif;
    color: #c9e1b9;
    letter-spacing: 0
}

.solar-metric h3 {
    font: 400 16px/1.5 Manrope, sans-serif;
    letter-spacing: 0;
    color: #c8d9cd
}

.solar-metric-icon {
    display: grid;
    place-items: center;
    width: 53px;
    height: 53px;
    border-radius: 50%;
    border: 1px solid #c4ee9355;
    color: #c0e991;
    background: #c4ee9308;
    flex-shrink: 0
}

.solar-metric-icon .icon {
    width: 26px;
    height: 26px
}

.solar-impact-note {
    display: flex;
    gap: 15px;
    margin-top: auto;
    padding-top: 26px
}

.solar-impact-note>.icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: #b6ef36;
    margin-top: 4px
}

.solar-impact-note strong {
    display: block;
    font: 500 23px/1.35 Sora, sans-serif;
    letter-spacing: -.5px;
    color: #fff;
    margin-bottom: 14px
}

.solar-impact-note p {
    font-size: 16px;
    line-height: 1.75;
    color: #b7cdbd;
    margin: 0
}

.solar-use-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 35px;
    margin: 52px 0 25px
}

.solar-use-heading .eyebrow {
    font-size: 16px;
    letter-spacing: 1.5px;
    color: #6f8b54;
    margin-bottom: 13px
}

.solar-use-heading h3 {
    font: 500 32px/1.3 Sora, sans-serif;
    letter-spacing: -1px;
    color: #1c3a32
}

.solar-use-caption {
    display: flex;
    align-items: center;
    gap: 16px;
    color: #738463;
    font-size: 16px
}

.solar-use-caption .icon {
    width: 24px;
    height: 24px;
    color: #83a255;
    flex-shrink: 0
}

.solar-use-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 17px
}

.solar-use-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 25px 24px 30px;
    border: 1px solid #d8e2ce;
    background: #ffffffbd;
    border-radius: 13px;
    transition: transform .3s, border-color .3s, box-shadow .3s
}

.solar-use-card:before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(250px circle at var(--solar-x, 50%) var(--solar-y, 0%), #c8e99766, transparent 80%);
    opacity: 0;
    transition: opacity .3s
}

.solar-use-card:hover {
    transform: translateY(-6px);
    border-color: #9dba7d;
    box-shadow: 0 16px 28px #3853230b
}

.solar-use-card:hover:before {
    opacity: 1
}

.solar-use-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    color: #92a282;
    font-size: 16px
}

.solar-use-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: #edf4e4;
    border: 1px solid #d9e6cc;
    color: #719a3f;
    transition: transform .3s
}

.solar-use-icon .icon {
    width: 24px;
    height: 24px
}

.solar-use-card:hover .solar-use-icon {
    transform: rotate(-7deg)
}

.solar-use-tag {
    font-size: 16px;
    color: #78945b;
    letter-spacing: .5px;
    display: block;
    margin-bottom: 12px
}

.solar-use-card h3 {
    font: 500 21px/1.4 Sora, sans-serif;
    letter-spacing: -.5px;
    color: #244236;
    margin-bottom: 15px
}

.solar-use-card p {
    color: #69796a;
    font-size: 16px;
    line-height: 1.8;
    margin: 0
}

.solar-use-rule {
    position: absolute;
    bottom: 0;
    left: 24px;
    right: 24px;
    height: 3px;
    background: linear-gradient(90deg, #7c9f4a, #b6ef36);
    transform: scaleX(.2);
    transform-origin: left;
    opacity: .55;
    transition: transform .4s, opacity .4s
}

.solar-use-card:hover .solar-use-rule {
    transform: scaleX(1);
    opacity: 1
}

#solar .source-figure {
    margin-top: 30px
}

@media(max-width:1100px) {
    .solar-heading {
        gap: 38px
    }

    .solar-experience {
        grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
        gap: 18px
    }

    .solar-impact {
        padding: 25px
    }

    .solar-metric strong {
        font-size: 58px
    }

    .solar-metric-icon {
        width: 44px;
        height: 44px
    }

    .solar-operation {
        padding: 22px;
        gap: 12px
    }

    .solar-use-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .solar-use-card {
        padding: 25px 27px 30px
    }

    .solar-image-stage {
        min-height: 470px;
        aspect-ratio: auto
    }

    .solar-image-stage>img {
        object-fit: cover;
        object-position: 50% center
    }

    .solar-visual {
        display: flex;
        flex-direction: column
    }

    .solar-operation {
        flex: 1
    }

    .solar-hotspot-air {
        left: 46%;
        top: 23%
    }

    .solar-hotspot-ground {
        left: 76%;
        top: 70%
    }
}

@media(max-width:850px) {
    .solar-heading {
        grid-template-columns: 1fr;
        gap: 27px
    }

    .solar-intro {
        padding: 0
    }

    .solar-experience {
        grid-template-columns: 1fr;
        gap: 22px
    }

    .solar-image-stage {
        min-height: 0;
        aspect-ratio: 749/517
    }

    .solar-impact {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 30px;
        padding: 28px
    }

    .solar-impact-heading {
        grid-column: 1/-1;
        margin-bottom: 10px
    }

    .solar-metric {
        padding: 17px 0 23px
    }

    .solar-impact-note {
        grid-column: 1/-1;
        margin: 0;
        padding-top: 24px
    }

    .solar-impact-note strong br {
        display: none
    }

    .solar-impact-note strong {
        margin-bottom: 10px
    }

    .solar-use-caption {
        display: none
    }

    .solar-hotspot-air {
        left: 47%;
        top: 22%
    }

    .solar-hotspot-ground {
        left: 74%;
        top: 71%
    }
}

@media(max-width:560px) {
    #solar .solar-heading h2 {
        font-size: 33px;
        letter-spacing: -1px
    }

    .solar-heading {
        margin-bottom: 30px
    }

    .solar-heading .eyebrow {
        font-size: 16px;
        letter-spacing: 1.2px;
        gap: 10px
    }

    .solar-heading .section-index {
        flex-shrink: 0
    }

    .solar-photo-top {
        top: 14px;
        left: 14px;
        right: 14px
    }

    .solar-photo-top>span {
        font-size: 16px;
        letter-spacing: 0;
        padding: 7px 9px;
        gap: 7px
    }

    .solar-photo-top>span .icon {
        width: 19px;
        height: 19px
    }

    .solar-image-stage {
        aspect-ratio: 1.15
    }

    .solar-image-stage>img {
        object-position: 50% center
    }

    .solar-photo-credit {
        font-size: 16px;
        left: 17px;
        right: 17px;
        bottom: 13px;
        line-height: 1.4;
        max-width: 245px
    }

    .solar-hotspot>span:first-child {
        width: 44px;
        height: 44px
    }

    .solar-hotspot-air {
        left: 44%;
        top: 29%
    }

    .solar-hotspot-panels {
        left: 20%;
        top: 58%
    }

    .solar-hotspot-ground {
        left: 76%;
        top: 71%
    }

    .solar-hotspot-label {
        left: auto;
        right: 0;
        top: 53px;
        font-size: 16px;
        padding: 6px 9px;
        translate: 0 -5px
    }

    .solar-hotspot-panels .solar-hotspot-label {
        left: 0;
        right: auto
    }

    .solar-hotspot-ground .solar-hotspot-label {
        right: 0;
        top: -45px;
        translate: 0 5px
    }

    .solar-operation {
        padding: 22px 18px;
        gap: 10px;
        align-items: flex-start;
        min-height: 150px
    }

    .solar-operation-icon {
        display: none
    }

    .solar-operation strong {
        font-size: 18px
    }

    .solar-operation p {
        font-size: 16px;
        line-height: 1.75
    }

    .solar-detail-close {
        width: 32px;
        height: 32px
    }

    .solar-visual,
    .solar-impact {
        border-radius: 13px
    }

    .solar-impact {
        gap: 0 20px;
        padding: 24px
    }

    .solar-impact-heading {
        font-size: 16px;
        letter-spacing: .7px;
        margin-bottom: 13px
    }

    .solar-metric-icon {
        display: none
    }

    .solar-metric strong {
        font-size: 54px;
        flex-wrap: wrap;
        gap: 0 8px;
        letter-spacing: -2px
    }

    .solar-metric strong small {
        font-size: 16px
    }

    .solar-metric h3 {
        font-size: 16px
    }

    .solar-metric {
        padding: 14px 0 22px;
        align-items: flex-start
    }

    .solar-impact-note {
        gap: 12px
    }

    .solar-impact-note strong {
        font-size: 22px
    }

    .solar-impact-note strong br {
        display: block
    }

    .solar-impact-note p {
        font-size: 16px
    }

    .solar-use-heading {
        margin-top: 35px
    }

    .solar-use-heading h3 {
        font-size: 29px
    }

    .solar-use-grid {
        grid-template-columns: 1fr;
        gap: 15px
    }

    .solar-use-card {
        padding: 25px 26px 29px
    }

    .solar-use-top {
        margin-bottom: 20px
    }

    .solar-use-card h3 {
        font-size: 23px
    }

    .solar-use-card:hover {
        transform: none
    }
}

@media(max-width:360px) {
    .solar-heading .eyebrow {
        font-size: 16px;
        letter-spacing: 0
    }

    .solar-heading .section-index {
        display: none
    }

    .solar-impact {
        padding: 22px 18px;
        gap: 0 15px
    }

    .solar-metric strong {
        font-size: 49px
    }

    .solar-metric strong small {
        flex-basis: 100%;
        line-height: 1.6
    }

    .solar-photo-top>span .icon {
        display: none
    }

    .solar-photo-top>span {
        padding: 7px 9px
    }

    .solar-hotspot-air {
        top: 32%
    }
}

@media(prefers-reduced-motion:no-preference) {
    .solar-is-visible .solar-hotspot>span:first-child {
        animation: solar-beacon 1.4s ease-out 2
    }

    .solar-is-visible .solar-hotspot-panels>span:first-child {
        animation-delay: .2s
    }

    .solar-is-visible .solar-hotspot-ground>span:first-child {
        animation-delay: .4s
    }

    @keyframes solar-beacon {

        0%,
        100% {
            box-shadow: 0 0 0 6px #d6ff9e33, 0 4px 20px #102a3555
        }

        50% {
            box-shadow: 0 0 0 13px #d6ff9e08, 0 4px 20px #102a3555
        }
    }
}

@media(prefers-reduced-motion:reduce) {

    .solar-hotspot>span:first-child,
    .solar-hotspot-label,
    .solar-zoom,
    .solar-use-card,
    .solar-use-card:before,
    .solar-use-icon,
    .solar-use-rule {
        transition: none
    }

    .solar-use-card:hover,
    .solar-use-card:hover .solar-use-icon,
    .solar-zoom:hover {
        transform: none
    }
}

@media(max-width:560px) {
    .solar-hotspot-air .solar-hotspot-label {
        left: 22px;
        right: auto;
        transform: translateX(-50%)
    }
}

/* Standalone IP portfolio: technical illustrations and expandable focus areas. */
#ip-portfolio {
    position: relative;
    overflow: hidden;
    background: radial-gradient(ellipse at 95% 0%, #dbe9ca88, transparent 48%), #f2f5ed;
    border-top: 1px solid #dce6d2;
    border-bottom: 1px solid #dce6d2
}

.ip-portfolio-heading {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 65px;
    align-items: center;
    margin-bottom: 43px
}

.ip-portfolio-heading .eyebrow {
    color: #6c8654;
    font-size: 16px;
    letter-spacing: 1.7px
}

.ip-portfolio-heading h2 {
    font: 500 clamp(34px, 3.4vw, 50px)/1.2 Sora, sans-serif;
    letter-spacing: -1.7px;
    color: #18352e;
    margin: 0
}

.ip-portfolio-heading h2 em {
    color: #688b3d
}

.ip-portfolio-intro>p {
    font-size: 18px;
    line-height: 1.8;
    color: #5e7064;
    margin: 0 0 24px
}

.ip-foundations {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    font-size: 16px;
    line-height: 1.5;
    color: #778b65
}

.ip-foundations>span {
    display: flex;
    align-items: center;
    gap: 8px
}

.ip-foundations .icon {
    width: 18px;
    height: 18px;
    color: #73973e
}

.ip-technology-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px
}

.ip-tech-card {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #fff;
    border: 1px solid #d3dfc9;
    border-radius: 15px;
    overflow: hidden;
    transition: transform .3s, border-color .3s, box-shadow .3s
}

.ip-tech-card:hover,
.ip-tech-card:focus-within {
    border-color: #96b66d;
    box-shadow: 0 18px 34px #2c492014;
    transform: translateY(-5px)
}

.ip-tech-art {
    position: relative;
    height: 169px;
    overflow: hidden;
    background: radial-gradient(ellipse at 50% 80%, #2b534255, transparent 70%), #102a2d;
    color: #c6f486;
    border-bottom: 1px solid #355848
}

.ip-tech-art:before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(#b6ef3609 1px, transparent 1px), linear-gradient(90deg, #b6ef3609 1px, transparent 1px);
    background-size: 24px 24px;
    mask-image: linear-gradient(0deg, #000, transparent)
}

.ip-tech-art:after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(180px circle at var(--ip-x, 50%) var(--ip-y, 50%), #b6ef3619, transparent 80%);
    opacity: 0;
    transition: opacity .3s
}

.ip-tech-card:hover .ip-tech-art:after {
    opacity: 1
}

.ip-tech-number {
    position: absolute;
    left: 23px;
    top: 18px;
    font: 500 16px/1.5 Sora, sans-serif;
    color: #93b397;
    letter-spacing: 1px
}

.ip-tech-category {
    position: absolute;
    left: 23px;
    bottom: 15px;
    right: 23px;
    color: #b5cfa5;
    font-size: 16px;
    letter-spacing: .7px;
    line-height: 1.5
}

.ip-art {
    position: absolute;
    width: 245px;
    height: 133px;
    left: 50%;
    top: 1px;
    translate: -50% 0;
    opacity: .78;
    transition: opacity .3s, filter .3s
}

.ip-tech-card:hover .ip-art,
.ip-tech-card:focus-within .ip-art,
.ip-tech-card.is-expanded .ip-art {
    opacity: 1;
    filter: drop-shadow(0 0 6px #b6ef3622)
}

.ip-art-track {
    position: absolute;
    bottom: 0;
    height: 2px;
    left: 23px;
    right: 23px;
    background: linear-gradient(90deg, transparent, #b6ef36, transparent);
    transform: scaleX(.3);
    opacity: .5;
    transition: transform .4s, opacity .4s
}

.ip-tech-card:hover .ip-art-track,
.ip-tech-card:focus-within .ip-art-track,
.ip-tech-card.is-expanded .ip-art-track {
    transform: scaleX(1);
    opacity: 1
}

.ip-tech-body {
    padding: 26px 25px 0;
    display: flex;
    flex-direction: column;
    flex: 1
}

.ip-tech-title {
    display: flex;
    align-items: baseline;
    gap: 11px;
    margin-bottom: 16px
}

.ip-tech-title>.icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: #7b9e48;
    align-self: center
}

.ip-tech-title h3 {
    font: 500 22px/1.4 Sora, sans-serif;
    letter-spacing: -.6px;
    color: #203f34;
    margin: 0
}

.ip-tech-body>p {
    font-size: 16px;
    line-height: 1.85;
    color: #000;
    margin: 0 0 24px
}

.ip-tech-status {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 8px;
    margin-top: auto;
    padding: 6px 10px;
    border: 1px solid #dde5d5;
    border-radius: 5px;
    background: #f4f7f0;
    color: #7a896c;
    font-size: 16px;
    line-height: 1.5
}

.ip-tech-status>i {
    width: 6px;
    height: 6px;
    flex-shrink: 0;
    background: #9aa884;
    border-radius: 50%
}

.ip-tech-acquired {
    background: #eef5e3;
    border-color: #cfdeb8;
    color: #678644
}

.ip-tech-acquired>i {
    background: #7ba23e
}

.ip-tech-focus {
    margin-top: 23px;
    border-top: 1px solid #e2e9db
}

.ip-tech-focus summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    font-size: 16px;
    font-weight: 600;
    color: #496a42;
    line-height: 1.5;
    cursor: pointer;
    padding: 17px 0;
    list-style: none
}

.ip-tech-focus summary::-webkit-details-marker {
    display: none
}

.ip-tech-focus summary>span {
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid #dce7cf;
    background: #f4f8ed;
    font-size: 21px;
    font-weight: 400;
    transition: transform .25s, background .25s;
    flex-shrink: 0
}

.ip-tech-focus[open] summary>span {
    transform: rotate(45deg);
    background: #e2efce
}

.ip-tech-focus summary:hover {
    color: #7a9c38
}

.ip-tech-focus summary:focus-visible {
    outline: 2px solid #7c9e44;
    outline-offset: 3px;
    border-radius: 3px
}

.ip-tech-focus ul {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    list-style: none;
    padding: 0 0 22px;
    margin: 0
}

.ip-tech-focus li {
    font-size: 16px;
    line-height: 1.5;
    color: #657a52;
    padding: 7px 10px;
    border: 1px solid #dce6cf;
    background: #f4f8ed;
    border-radius: 5px
}

#ip-portfolio .source-figure {
    margin-top: 30px;
    color: #61745b;
    border-color: #cfdcc3
}

@media(max-width:1100px) {
    .ip-portfolio-heading {
        gap: 38px
    }

    .ip-technology-grid {
        gap: 18px
    }

    .ip-tech-body {
        padding: 23px 20px 0
    }

    .ip-tech-title {
        gap: 8px
    }

    .ip-tech-title h3 {
        font-size: 20px
    }

    .ip-tech-category {
        left: 20px;
        right: 15px;
        letter-spacing: 0;
        font-size: 16px
    }

    .ip-tech-art {
        height: 176px
    }

    .ip-tech-category {
        bottom: 14px
    }

    .ip-art {
        width: 225px
    }
}

@media(max-width:900px) {
    .ip-portfolio-heading {
        grid-template-columns: 1fr;
        gap: 25px;
        max-width: 750px
    }

    .ip-portfolio-intro>p {
        font-size: 16px
    }

    .ip-technology-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px
    }

    .ip-tech-body {
        padding: 25px 24px 0
    }

    .ip-tech-title h3 {
        font-size: 22px
    }

    .ip-tech-art {
        height: 169px
    }

    .ip-art {
        width: 245px
    }

    .ip-tech-category {
        left: 24px;
        letter-spacing: .5px
    }
}

@media(max-width:560px) {
    .ip-portfolio-heading {
        margin-bottom: 30px
    }

    .ip-portfolio-heading h2 {
        font-size: 34px;
        letter-spacing: -1.2px
    }

    .ip-portfolio-heading .eyebrow {
        letter-spacing: 1.2px
    }

    .ip-foundations {
        gap: 13px 18px
    }

    .ip-technology-grid {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .ip-tech-card {
        border-radius: 12px
    }

    .ip-tech-body {
        padding: 24px 23px 0
    }

    .ip-tech-body>p {
        margin-bottom: 22px
    }

    .ip-tech-title h3 {
        font-size: 23px
    }

    .ip-tech-focus {
        margin-top: 21px
    }

    .ip-tech-card:hover,
    .ip-tech-card:focus-within {
        transform: none
    }

    .ip-tech-category {
        font-size: 16px;
        letter-spacing: .4px;
        left: 23px;
        right: 18px
    }

    .ip-tech-art {
        height: 170px
    }
}

@media(max-width:360px) {
    .ip-portfolio-heading h2 {
        font-size: 31px
    }

    .ip-tech-title h3 {
        font-size: 21px
    }

    .ip-tech-title {
        gap: 8px
    }

    .ip-tech-body {
        padding: 22px 19px 0
    }

    .ip-tech-category {
        font-size: 16px;
        letter-spacing: 0;
        left: 19px;
        bottom: 12px
    }

    .ip-tech-art {
        height: 181px
    }

    .ip-tech-number {
        left: 19px
    }

    .ip-tech-focus summary {
        gap: 9px
    }
}

@media(prefers-reduced-motion:no-preference) {

    .ip-tech-card:hover .ip-art-motion,
    .ip-tech-card:focus-within .ip-art-motion,
    .ip-tech-card.is-expanded .ip-art-motion {
        animation: ip-art-pulse 1.8s ease-in-out 2;
        transform-box: fill-box;
        transform-origin: center
    }

    @keyframes ip-art-pulse {

        0%,
        100% {
            opacity: 1;
            transform: scale(1)
        }

        50% {
            opacity: .55;
            transform: scale(1.08)
        }
    }
}

@media(prefers-reduced-motion:reduce) {

    .ip-tech-card,
    .ip-tech-art:after,
    .ip-art,
    .ip-art-track,
    .ip-tech-focus summary>span {
        transition: none
    }

    .ip-tech-card:hover,
    .ip-tech-card:focus-within {
        transform: none
    }
}

/* Commercial progress and partnerships: official imagery with compact partner names. */
#partnerships {
    position: relative;
    overflow: hidden;
    background: #fff
}

.partnership-heading {
    margin-bottom: 38px
}

.partnership-heading>.eyebrow {
    font-size: 16px;
    color: #657b56;
    letter-spacing: 1.5px;
    max-width: 800px
}

.partnership-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 65px
}

.partnership-title-row h2 {
    font: 500 clamp(34px, 3.55vw, 52px)/1.2 Sora, sans-serif;
    letter-spacing: -1.9px;
    color: #18342f;
    max-width: 920px;
    margin: 0
}

.partnership-heading-mark {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-left: 30px;
    border-left: 1px solid #d6e1cd;
    color: #84956e;
    flex: 0 0 235px;
    font-size: 16px;
    line-height: 1.8
}

.partnership-heading-mark .icon {
    width: 37px;
    height: 37px;
    color: #94b465;
    flex-shrink: 0
}

.partnership-feature {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 38px;
    align-items: stretch
}

.partnership-visual {
    position: relative;
    isolation: isolate;
    border-radius: 17px;
    overflow: hidden;
    min-height: 570px;
    background: #0b202c
}

.partnership-visual>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 43% center;
    transition: transform .8s
}

.partnership-visual:hover>img {
    transform: scale(1.035)
}

.partnership-image-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, #081a24f5 0%, #081a2488 25%, transparent 70%), linear-gradient(180deg, #081a2477, transparent 35%);
    pointer-events: none
}

.partnership-image-top {
    position: absolute;
    top: 23px;
    left: 25px;
    right: 23px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px
}

.partnership-image-top>span {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 16px;
    color: #dceaca;
    letter-spacing: .7px;
    line-height: 1.5
}

.partnership-image-top>span .icon {
    width: 23px;
    height: 23px;
    color: var(--lime);
    flex-shrink: 0
}

.partnership-zoom {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    background: #102b34b8;
    border: 1px solid #c9e7b855;
    border-radius: 50%;
    color: #d7f7b2;
    transition: background .25s, transform .25s
}

.partnership-zoom:hover {
    background: #3a5737;
    transform: scale(1.06)
}

.partnership-zoom .icon {
    width: 21px;
    height: 21px
}

.partnership-image-copy {
    position: absolute;
    left: 32px;
    right: 32px;
    bottom: 32px
}

.partnership-image-kicker {
    font-size: 16px;
    letter-spacing: 1.3px;
    color: #bfdf9e
}

.partnership-image-copy p {
    font: 500 clamp(29px, 2.75vw, 40px)/1.25 Sora, sans-serif;
    letter-spacing: -1.1px;
    color: #fff;
    margin: 16px 0 23px
}

.partnership-image-copy em {
    color: #c4f18c
}

.partnership-image-copy a {
    font-size: 16px;
    line-height: 1.5;
    color: #b9cbc7;
    text-decoration: underline;
    text-underline-offset: 4px
}

.partnership-image-copy a:hover {
    color: #d8f5b2
}

.partnership-story {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 19px;
    padding: 2px 0
}

.partnership-story-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 19px;
    padding: 26px 25px;
    background: linear-gradient(135deg, #f5f8f0, #fbfcf9);
    border: 1px solid #dce5d4;
    border-radius: 13px;
    isolation: isolate;
    overflow: hidden;
    transition: border-color .3s, box-shadow .3s, transform .3s
}

.partnership-story-item:before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(250px circle at var(--partnership-x, 0%) var(--partnership-y, 0%), #c0e68c33, transparent 80%);
    opacity: 0;
    transition: opacity .3s
}

.partnership-story-item:hover {
    border-color: #afc68e;
    box-shadow: 0 12px 26px #2647190b;
    transform: translateX(-4px)
}

.partnership-story-item:hover:before {
    opacity: 1
}

.partnership-story-icon {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border: 1px solid #d3e0c3;
    border-radius: 11px;
    color: #789d42;
    background: #edf5e2;
    transition: transform .3s, background .3s
}

.partnership-story-icon .icon {
    width: 23px;
    height: 23px
}

.partnership-story-item:hover .partnership-story-icon {
    transform: rotate(-6deg);
    background: #e0efc9
}

.partnership-story-number {
    display: block;
    font-size: 16px;
    line-height: 1.5;
    color: #809265;
    letter-spacing: .5px;
    margin-bottom: 12px
}

.partnership-story-item h3 {
    font: 500 23px/1.35 Sora, sans-serif;
    letter-spacing: -.7px;
    color: #294736;
    margin-bottom: 16px
}

.partnership-story-item p {
    font-size: 16px;
    line-height: 1.85;
    color: #000;
    margin: 0
}

.partnership-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    margin-top: 28px;
    padding: 23px 0 0;
    border-top: 1px solid #dfe7d7
}

.partnership-relationships {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap
}

.partnership-relationships-label {
    font-size: 16px;
    color: #7d8b73;
    line-height: 1.5
}

.partnership-badges {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px
}

.partnership-badges>span {
    display: inline-flex;
    padding: 7px 13px;
    border: 1px solid #dce5d4;
    border-radius: 6px;
    background: #f7f9f3;
    color: #526b49;
    font: 500 16px/1.5 Manrope, sans-serif;
    letter-spacing: 0
}

.partnership-technology-link {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    flex-shrink: 0;
    color: #52763d;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 600;
    padding: 10px 0
}

.partnership-technology-link .icon {
    width: 23px;
    height: 23px;
    color: #8ead55;
    transition: transform .25s
}

.partnership-technology-link:hover .icon {
    transform: translateX(5px)
}

.partnership-technology-link:hover {
    color: #294c2c
}

@media(max-width:1100px) {
    .partnership-title-row {
        gap: 30px
    }

    .partnership-heading-mark {
        flex-basis: 210px;
        padding-left: 24px;
        gap: 15px
    }

    .partnership-feature {
        gap: 25px;
        grid-template-columns: 1fr 1fr
    }

    .partnership-story-item {
        padding: 24px 20px;
        gap: 13px
    }

    .partnership-story-icon {
        width: 35px;
        height: 35px
    }

    .partnership-story-icon .icon {
        width: 20px;
        height: 20px
    }

    .partnership-story-number {
        font-size: 16px;
        letter-spacing: 0
    }

    .partnership-story-item h3 {
        font-size: 21px
    }

    .partnership-image-top {
        left: 22px;
        right: 20px
    }

    .partnership-image-top>span {
        letter-spacing: 0
    }

    .partnership-image-top>span .icon {
        display: none
    }

    .partnership-image-copy {
        left: 26px;
        right: 26px
    }

    .partnership-bottom {
        align-items: flex-start
    }

    .partnership-relationships {
        gap: 13px
    }

    .partnership-relationships-label {
        flex-basis: 100%
    }
}

@media(max-width:850px) {
    .partnership-heading-mark {
        display: none
    }

    .partnership-title-row h2 {
        max-width: 750px
    }

    .partnership-feature {
        grid-template-columns: 1fr
    }

    .partnership-visual {
        min-height: 440px
    }

    .partnership-visual>img {
        object-position: 50% center
    }

    .partnership-story {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px
    }

    .partnership-story-item {
        display: block;
        padding: 25px
    }

    .partnership-story-icon {
        margin-bottom: 20px;
        width: 42px;
        height: 42px
    }

    .partnership-story-icon .icon {
        width: 23px;
        height: 23px
    }

    .partnership-story-item h3 {
        font-size: 23px
    }

    .partnership-image-top>span .icon {
        display: block
    }

    .partnership-image-copy p {
        font-size: 38px
    }

    .partnership-bottom {
        gap: 20px
    }

    .partnership-story-item:hover {
        transform: translateY(-3px)
    }
}

@media(max-width:560px) {
    .partnership-heading {
        margin-bottom: 29px
    }

    .partnership-heading>.eyebrow {
        font-size: 16px;
        letter-spacing: 1.1px;
        line-height: 1.7
    }

    .partnership-title-row h2 {
        font-size: 35px;
        letter-spacing: -1.1px
    }

    .partnership-visual {
        min-height: 445px;
        border-radius: 12px
    }

    .partnership-visual>img {
        object-position: 42% center
    }

    .partnership-image-top {
        top: 19px;
        left: 21px;
        right: 18px;
        gap: 12px
    }

    .partnership-image-top>span {
        font-size: 16px;
        line-height: 1.6;
        max-width: 215px;
        letter-spacing: .3px
    }

    .partnership-image-top>span .icon {
        display: none
    }

    .partnership-image-copy {
        left: 24px;
        right: 22px;
        bottom: 25px
    }

    .partnership-image-kicker {
        font-size: 16px;
        letter-spacing: .6px
    }

    .partnership-image-copy p {
        font-size: 30px;
        line-height: 1.3;
        margin: 13px 0 20px;
        letter-spacing: -.7px
    }

    .partnership-story {
        grid-template-columns: 1fr;
        gap: 17px
    }

    .partnership-story-item {
        padding: 25px 24px
    }

    .partnership-story-item h3 {
        font-size: 24px
    }

    .partnership-story-number {
        font-size: 16px
    }

    .partnership-story-item:hover {
        transform: none
    }

    .partnership-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 13px;
        margin-top: 24px;
        padding-top: 23px
    }

    .partnership-badges {
        gap: 8px
    }

    .partnership-badges>span {
        font-size: 16px;
        padding: 6px 11px
    }

    .partnership-technology-link {
        font-size: 16px
    }

    .partnership-relationships {
        gap: 13px
    }
}

@media(prefers-reduced-motion:reduce) {

    .partnership-visual>img,
    .partnership-zoom,
    .partnership-story-item,
    .partnership-story-item:before,
    .partnership-story-icon,
    .partnership-technology-link .icon {
        transition: none
    }

    .partnership-visual:hover>img,
    .partnership-zoom:hover,
    .partnership-story-item:hover,
    .partnership-story-item:hover .partnership-story-icon,
    .partnership-technology-link:hover .icon {
        transform: none
    }
}

/* Dual-market strategy: two visible markets linked by a shared integration approach. */
#dual-market-strategy {
    background: radial-gradient(ellipse at 0% 40%, #e1ecd388, transparent 50%), #f4f6f0;
    overflow: hidden
}

.strategy-heading {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 65px;
    align-items: start;
    margin-bottom: 42px
}

.strategy-heading .eyebrow {
    font-size: 16px;
    color: #667f54;
    letter-spacing: 1.6px
}

.strategy-heading h2 {
    font: 500 clamp(34px, 3.45vw, 50px)/1.2 Sora, sans-serif;
    letter-spacing: -1.6px;
    color: #18372f;
    margin: 0 0 25px
}

.strategy-heading-note {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: 16px;
    line-height: 1.6;
    color: #829665
}

.strategy-heading-note i {
    width: 27px;
    height: 2px;
    background: #93b45e;
    flex-shrink: 0
}

.strategy-intro {
    font-size: 16px;
    line-height: 1.85;
    color: #000
}

.strategy-intro p {
    margin-bottom: 20px
}

.strategy-intro p:last-child {
    margin-bottom: 0
}

.strategy-market-story {
    position: relative
}

.strategy-market-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px
}

.strategy-market-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #d3dfc9;
    border-radius: 16px;
    transition: transform .35s, box-shadow .35s, border-color .35s
}

.strategy-market-card:hover,
.strategy-market-card:focus-within {
    border-color: #a0be7a;
    box-shadow: 0 18px 34px #26461d12;
    transform: translateY(-5px)
}

.strategy-market-image {
    position: relative;
    isolation: isolate;
    height: 272px;
    overflow: hidden;
    background: #19352c
}

.strategy-market-image>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: -2;
    transition: transform .8s
}

.strategy-market-card:hover .strategy-market-image>img {
    transform: scale(1.04)
}

.strategy-market-image:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, #071a24b3, transparent 35%, transparent 70%, #071a2455);
    z-index: -1;
    pointer-events: none
}

.strategy-market-photo-top {
    position: absolute;
    left: 23px;
    right: 22px;
    top: 21px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px
}

.strategy-market-photo-top>span {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 16px;
    letter-spacing: .8px;
    line-height: 1.5;
    color: #e8f6d7;
    padding: 8px 12px;
    background: #0d2630b8;
    border: 1px solid #cbe4bb33;
    backdrop-filter: blur(6px);
    border-radius: 5px
}

.strategy-market-photo-top>span .icon {
    width: 20px;
    height: 20px;
    color: #c3f17f;
    flex-shrink: 0
}

.strategy-market-photo-top button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid #d5edc766;
    background: #102b35bb;
    color: #ddf8c5;
    flex-shrink: 0;
    transition: background .25s
}

.strategy-market-photo-top button:hover {
    background: #3d5d39
}

.strategy-market-photo-top button .icon {
    width: 20px;
    height: 20px
}

.strategy-market-credit {
    position: absolute;
    left: 25px;
    right: 23px;
    bottom: 20px;
    font-size: 16px;
    line-height: 1.5;
    color: #dfebdf;
    text-shadow: 0 1px 3px #0006
}

.strategy-market-copy {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 29px 29px 30px
}

.strategy-market-number {
    font: 500 35px/1.2 Sora, sans-serif;
    color: #bdcda8;
    letter-spacing: -1px;
    flex-shrink: 0
}

.strategy-market-copy h3 {
    font: 500 25px/1.35 Sora, sans-serif;
    letter-spacing: -.6px;
    color: #234337;
    margin-bottom: 13px
}

.strategy-market-copy p {
    font-size: 16px;
    line-height: 1.8;
    color: #6a7a68;
    margin: 0 0 21px
}

.strategy-market-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.strategy-market-tags>span {
    font-size: 16px;
    line-height: 1.5;
    background: #f3f7ed;
    color: #778d5f;
    border: 1px solid #dfe8d4;
    padding: 5px 9px;
    border-radius: 5px
}

.strategy-shared-mark {
    position: absolute;
    left: 50%;
    top: 120px;
    translate: -50% 0;
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    border: 7px solid #f4f6f0;
    border-radius: 50%;
    background: #d8efac;
    color: #41692f;
    box-shadow: 0 6px 20px #172c2020;
    pointer-events: none;
    z-index: 2
}

.strategy-shared-mark .icon {
    width: 29px;
    height: 29px
}

.strategy-shared-line {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 26px 35px;
    color: #7c9164;
    font-size: 16px;
    line-height: 1.5
}

.strategy-shared-line>span:first-child,
.strategy-shared-line>span:last-child {
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, transparent, #a9be8b)
}

.strategy-shared-line>span:last-child {
    transform: scaleX(-1)
}

.strategy-shared-line>span:nth-child(2) {
    display: flex;
    align-items: center;
    gap: 12px
}

.strategy-shared-line .icon {
    width: 22px;
    height: 22px;
    color: #8cab57;
    flex-shrink: 0
}

.strategy-integration {
    position: relative;
    isolation: isolate;
    border: 1px solid #355a44;
    border-radius: 15px;
    background: radial-gradient(ellipse at 100% 0%, #385b3b80, transparent 65%), #112e2b;
    overflow: hidden;
    color: #fff
}

.strategy-integration-intro {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 29px 32px
}

.strategy-integration-icon {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    border-radius: 14px;
    border: 1px solid #b6ef3655;
    background: #b6ef360c;
    color: #c2f184;
    flex-shrink: 0
}

.strategy-integration-icon .icon {
    width: 31px;
    height: 31px
}

.strategy-integration-label {
    display: block;
    font-size: 16px;
    letter-spacing: 1.2px;
    color: #9dbb8c;
    line-height: 1.5;
    margin-bottom: 8px
}

.strategy-integration h3 {
    font: 500 27px/1.3 Sora, sans-serif;
    letter-spacing: -.6px;
    margin: 0 0 10px;
    color: #fff
}

.strategy-integration p {
    font-size: 16px;
    color: #c0d2c2;
    line-height: 1.8;
    margin: 0
}

.strategy-ip-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-left: auto;
    flex-shrink: 0;
    font-size: 16px;
    line-height: 1.5;
    color: #d7efa9;
    border: 1px solid #b9d89155;
    border-radius: 7px;
    padding: 12px 17px;
    background: #b6ef3608;
    transition: background .25s, border-color .25s
}

.strategy-ip-link:hover {
    background: #b6ef361c;
    border-color: #b9d89199
}

.strategy-ip-link>span {
    font-size: 23px;
    transition: transform .25s
}

.strategy-ip-link:hover>span {
    transform: translate(2px, -2px)
}

.strategy-activity {
    border-top: 1px solid #c9e3b522
}

.strategy-activity summary {
    padding: 19px 31px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    list-style: none;
    cursor: pointer;
    color: #c8dfb7;
    font-size: 16px;
    line-height: 1.5;
    transition: background .25s
}

.strategy-activity summary::-webkit-details-marker {
    display: none
}

.strategy-activity summary:hover {
    background: #b6ef3608
}

.strategy-activity summary>span:first-child {
    display: flex;
    align-items: center;
    gap: 12px
}

.strategy-activity summary .icon {
    width: 20px;
    height: 20px;
    color: #b6ef36
}

.strategy-activity-toggle {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    font-size: 23px;
    border: 1px solid #b6ef3633;
    border-radius: 50%;
    color: #b6ef36;
    transition: transform .25s
}

.strategy-activity[open] .strategy-activity-toggle {
    transform: rotate(45deg)
}

.strategy-activity summary:focus-visible {
    outline: 2px solid #b6ef36;
    outline-offset: -5px
}

.strategy-transactions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
    padding: 2px 31px 29px
}

.strategy-transactions article {
    padding: 19px 17px;
    border: 1px solid #98b87d40;
    background: #b6ef3605;
    border-radius: 8px
}

.strategy-transaction-index {
    color: #8aa779;
    font-size: 16px
}

.strategy-transactions h4 {
    font: 500 17px/1.55 Sora, sans-serif;
    margin: 13px 0;
    color: #edf6e9;
    letter-spacing: -.3px
}

.strategy-transaction-status {
    font-size: 16px;
    line-height: 1.6;
    color: #b5d292;
    display: block
}

#dual-market-strategy .source-figure {
    margin-top: 28px
}

@media(max-width:1100px) {
    .strategy-heading {
        gap: 40px
    }

    .strategy-market-grid {
        gap: 22px
    }

    .strategy-market-copy {
        gap: 15px;
        padding: 26px 23px
    }

    .strategy-market-copy h3 {
        font-size: 23px
    }

    .strategy-market-number {
        font-size: 30px
    }

    .strategy-market-photo-top {
        left: 19px;
        right: 18px
    }

    .strategy-market-photo-top>span {
        letter-spacing: 0
    }

    .strategy-integration-intro {
        padding: 28px;
        gap: 20px;
        flex-wrap: wrap
    }

    .strategy-integration-intro>div {
        flex: 1
    }

    .strategy-ip-link {
        margin-left: 82px
    }

    .strategy-transactions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding-left: 28px;
        padding-right: 28px
    }
}

@media(max-width:850px) {
    .strategy-heading {
        grid-template-columns: 1fr;
        gap: 25px
    }

    .strategy-heading h2 {
        max-width: 670px
    }

    .strategy-market-copy {
        display: block
    }

    .strategy-market-number {
        display: block;
        margin-bottom: 14px;
        font-size: 27px
    }

    .strategy-market-image {
        height: 255px
    }

    .strategy-market-copy h3 {
        font-size: 25px
    }

    .strategy-market-photo-top>span .icon {
        display: none
    }

    .strategy-market-photo-top>span {
        font-size: 16px;
        padding: 7px 10px
    }

    .strategy-market-credit {
        left: 20px;
        right: 18px;
        font-size: 16px
    }

    .strategy-shared-mark {
        width: 58px;
        height: 58px;
        border-width: 6px;
        top: 103px
    }

    .strategy-shared-mark .icon {
        width: 25px;
        height: 25px
    }

    .strategy-shared-line {
        padding-left: 12px;
        padding-right: 12px;
        gap: 15px
    }
}

@media(max-width:600px) {
    .strategy-market-grid {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .strategy-shared-mark {
        display: none
    }

    .strategy-market-copy {
        padding: 25px;
        display: flex;
        gap: 17px
    }

    .strategy-market-number {
        margin: 0;
        font-size: 30px
    }

    .strategy-market-photo-top>span .icon {
        display: block
    }

    .strategy-market-image {
        height: 270px
    }

    .strategy-market-copy h3 {
        font-size: 25px
    }

    .strategy-shared-line {
        font-size: 16px;
        padding: 24px 0;
        gap: 10px
    }

    .strategy-shared-line>span:nth-child(2) {
        gap: 8px
    }

    .strategy-shared-line>span:first-child,
    .strategy-shared-line>span:last-child {
        min-width: 8px
    }

    .strategy-integration-intro {
        padding: 26px 23px;
        gap: 19px;
        align-items: flex-start
    }

    .strategy-integration-icon {
        width: 47px;
        height: 47px;
        border-radius: 11px
    }

    .strategy-integration-icon .icon {
        width: 25px;
        height: 25px
    }

    .strategy-integration-intro>div {
        flex-basis: calc(100% - 67px)
    }

    .strategy-integration-label {
        font-size: 16px;
        letter-spacing: .5px
    }

    .strategy-integration h3 {
        font-size: 26px
    }

    .strategy-ip-link {
        margin: 0;
        justify-content: space-between;
        width: 100%
    }

    .strategy-activity summary {
        padding: 18px 23px;
        gap: 12px
    }

    .strategy-activity summary>span:first-child {
        gap: 9px
    }

    .strategy-activity summary .icon {
        display: none
    }

    .strategy-transactions {
        grid-template-columns: 1fr;
        padding: 0 23px 23px;
        gap: 12px
    }

    .strategy-transactions article {
        display: grid;
        grid-template-columns: 25px 1fr;
        gap: 7px 12px;
        padding: 18px
    }

    .strategy-transaction-index {
        grid-row: 1/3
    }

    .strategy-transactions h4 {
        font-size: 17px;
        margin: 0
    }

    .strategy-transaction-status {
        grid-column: 2
    }

    .strategy-heading {
        margin-bottom: 30px
    }

    .strategy-heading h2 {
        font-size: 35px;
        letter-spacing: -1.2px
    }

    .strategy-market-card:hover,
    .strategy-market-card:focus-within {
        transform: none
    }
}

@media(max-width:360px) {
    .strategy-market-copy {
        display: block;
        padding: 24px 22px
    }

    .strategy-market-number {
        margin-bottom: 13px
    }

    .strategy-market-photo-top>span .icon {
        display: none
    }

    .strategy-integration-icon {
        display: none
    }

    .strategy-integration-intro>div {
        flex-basis: 100%
    }

    .strategy-shared-line .icon {
        display: none
    }

    .strategy-integration-intro {
        padding: 25px 21px
    }

    .strategy-activity summary {
        padding: 18px 21px
    }
}

@media(prefers-reduced-motion:reduce) {

    .strategy-market-card,
    .strategy-market-image>img,
    .strategy-market-photo-top button,
    .strategy-ip-link,
    .strategy-ip-link>span,
    .strategy-activity summary,
    .strategy-activity-toggle {
        transition: none
    }

    .strategy-market-card:hover,
    .strategy-market-card:focus-within,
    .strategy-market-card:hover .strategy-market-image>img,
    .strategy-ip-link:hover>span {
        transform: none
    }
}

.strategy-market-commercial .strategy-market-image>img {
    object-position: center 5%
}

/* Patent portfolio: an explorable, company-reported IP breakdown. */
#patent-portfolio {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: radial-gradient(ellipse at 90% 20%, #25483255, transparent 48%), #071520
}

#patent-portfolio:before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .2;
    background-image: linear-gradient(#728b7820 1px, transparent 1px), linear-gradient(90deg, #728b7820 1px, transparent 1px);
    background-size: 70px 70px;
    mask-image: linear-gradient(90deg, transparent, #000)
}

.patent-layout {
    display: grid;
    grid-template-columns: 1.12fr 1fr;
    gap: 75px;
    align-items: center
}

.patent-story .eyebrow {
    color: #b9f329;
    font-size: 16px;
    letter-spacing: 1.8px
}

.patent-story h2 {
    font: 500 clamp(34px, 3.5vw, 50px)/1.22 Sora, sans-serif;
    letter-spacing: -1.6px;
    max-width: 620px;
    margin: 0
}

.patent-heading-rule {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 27px 0 28px
}

.patent-heading-rule span {
    height: 2px;
    width: 65px;
    background: #b6ef36
}

.patent-heading-rule i {
    height: 5px;
    width: 5px;
    background: #b6ef36;
    border-radius: 50%
}

.patent-original-copy p {
    font-size: 16px;
    line-height: 1.85;
    color: #fff;
    margin: 0 0 20px
}

.patent-original-copy p:last-child {
    color: #819c91;
    padding-left: 17px;
    border-left: 2px solid #547642;
    margin: 25px 0 0
}

.patent-explore {
    display: inline-flex;
    gap: 25px;
    align-items: center;
    color: #d4efaf;
    font-size: 16px;
    line-height: 1.5;
    padding: 14px 0 9px;
    border-bottom: 1px solid #a4c77555;
    margin-top: 16px
}

.patent-explore span {
    font-size: 25px;
    transition: transform .25s
}

.patent-explore:hover span {
    transform: translate(3px, -3px)
}

.patent-dashboard {
    position: relative;
    border: 1px solid #769e5d40;
    border-radius: 22px;
    padding: 25px 25px 22px;
    background: linear-gradient(145deg, #17332eaa, #0b1d2780 65%);
    box-shadow: 0 25px 70px #0002;
    min-width: 0
}

.patent-dashboard-top {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    flex-wrap: wrap;
    font-size: 16px;
    line-height: 1.5;
    color: #d9e9d5
}

.patent-dashboard-top>span {
    display: flex;
    align-items: center;
    gap: 9px
}

.patent-dashboard-top .icon {
    width: 20px;
    height: 20px;
    color: #b6ef36
}

.patent-reported {
    color: #94ab9c
}

.patent-reported i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #a9cc82
}

.patent-orbit {
    position: relative;
    width: min(100%, 350px);
    aspect-ratio: 1;
    margin: 17px auto 13px
}

.patent-chart {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible
}

.patent-chart circle {
    fill: none
}

.patent-chart-track {
    stroke: #263e37;
    stroke-width: 13
}

.patent-chart-granted {
    stroke: #b8f134;
    stroke-width: 13;
    transition: opacity .3s, stroke-width .3s, filter .3s
}

.patent-chart-pending {
    stroke: #668b72;
    stroke-width: 13;
    transition: opacity .3s, stroke-width .3s, filter .3s
}

.patent-chart-inner {
    stroke: #8dab7833;
    stroke-width: 1;
    stroke-dasharray: 2 6
}

.patent-orbit-guide {
    position: absolute;
    inset: 3%;
    border: 1px solid #93b77d24;
    border-radius: 50%
}

.patent-orbit-guide:after,
.patent-orbit-guide:before {
    content: '';
    position: absolute;
    width: 7px;
    height: 7px;
    border: 1px solid #a4c88399;
    border-radius: 50%;
    background: #153029;
    top: 50%;
    left: -4px
}

.patent-orbit-guide:after {
    left: auto;
    right: -4px
}

.patent-orbit-total {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #a7bbaa;
    gap: 4px;
    font-size: 16px;
    line-height: 1.5
}

.patent-total-kicker {
    font-size: 16px;
    letter-spacing: 1.4px;
    color: #95b776
}

.patent-orbit-total strong {
    font: 400 clamp(66px, 6.5vw, 94px)/1.13 Sora, sans-serif;
    letter-spacing: -5px;
    color: #f7fcf4;
    font-variant-numeric: tabular-nums
}

.patent-orbit-point {
    position: absolute;
    bottom: 0;
    left: calc(50% - 10px);
    font-size: 23px;
    color: #78996c;
    background: #0f2628;
    line-height: 20px;
    width: 20px;
    text-align: center
}

.patent-breakdown {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
}

.patent-status {
    text-align: left;
    color: #d4e4d4;
    background: #b5ec3205;
    border: 1px solid #83ac6c40;
    border-radius: 11px;
    padding: 16px;
    min-width: 0;
    cursor: pointer;
    transition: background .25s, border-color .25s, transform .25s
}

.patent-status:hover,
.patent-status[aria-pressed=true] {
    background: #b5ec3210;
    border-color: #aada6380;
    transform: translateY(-3px)
}

.patent-status:focus-visible,
.patent-explore:focus-visible {
    outline: 2px solid #b6ef36;
    outline-offset: 5px
}

.patent-status-label {
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 16px;
    line-height: 1.5
}

.patent-status-label>i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #b8f134
}

.patent-status-pending .patent-status-label>i {
    background: #83b093
}

.patent-status-label>span {
    margin-left: auto;
    color: #99b985;
    font-size: 20px
}

.patent-status-numbers {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 11px
}

.patent-status-numbers strong {
    font: 400 37px/1.25 Sora, sans-serif;
    letter-spacing: -1px;
    color: #fff
}

.patent-status-numbers>span {
    font-size: 16px;
    line-height: 1.4;
    color: #95ad9b;
    max-width: 95px
}

.patent-status-bar {
    display: block;
    background: #57734c30;
    height: 3px;
    margin-top: 15px;
    border-radius: 4px;
    overflow: hidden
}

.patent-status-bar i {
    display: block;
    height: 100%;
    width: 70%;
    background: #b8f134
}

.patent-status-pending .patent-status-bar i {
    width: 30%;
    background: #83b093
}

.patent-chart-insight {
    min-height: 48px;
    text-align: center;
    font-size: 16px;
    line-height: 1.5 !important;
    color: #9cb59f;
    margin: 17px 0 0 !important;
    display: flex;
    justify-content: center;
    align-items: center
}

.patent-dashboard[data-patent-view=granted] .patent-chart-pending,
.patent-dashboard[data-patent-view=pending] .patent-chart-granted {
    opacity: .18
}

.patent-dashboard[data-patent-view=granted] .patent-chart-granted {
    stroke-width: 18;
    filter: drop-shadow(0 0 7px #b6ef3645)
}

.patent-dashboard[data-patent-view=pending] .patent-chart-pending {
    stroke-width: 18;
    filter: drop-shadow(0 0 7px #83b09365)
}

.patent-foundation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 45px;
    padding-top: 28px;
    border-top: 1px solid #74955e40
}

.patent-foundation-heading {
    display: flex;
    gap: 17px;
    align-items: center
}

.patent-foundation-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid #91ad6640;
    border-radius: 10px;
    color: #bbe880;
    background: #a6d74e08;
    flex-shrink: 0
}

.patent-foundation-icon .icon {
    width: 25px;
    height: 25px
}

.patent-foundation-heading>div>span {
    font-size: 16px;
    letter-spacing: 1px;
    color: #8fab79
}

.patent-foundation h3 {
    font: 500 21px/1.5 Sora, sans-serif;
    margin: 5px 0 0;
    letter-spacing: -.5px;
    color: #e4ecdf
}

.patent-domains {
    display: flex;
    gap: 9px;
    flex-wrap: wrap
}

.patent-domains>span {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    font-size: 16px;
    color: #b6c9af;
    border: 1px solid #748e6440;
    border-radius: 6px;
    transition: background .25s, border-color .25s
}

.patent-domains>span:hover {
    background: #b6ef360d;
    border-color: #b6ef3666
}

.patent-domains .icon {
    width: 18px;
    height: 18px;
    color: #a4c47d
}

.patent-chart-enter .patent-chart {
    animation: patent-chart-arrive 1.2s ease-out both
}

@keyframes patent-chart-arrive {
    from {
        opacity: .2;
        transform: rotate(-35deg) scale(.95)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@media(max-width:1100px) {
    .patent-layout {
        gap: 35px;
        grid-template-columns: 1fr 1fr
    }

    .patent-dashboard {
        padding: 23px 19px
    }

    .patent-status {
        padding: 13px
    }

    .patent-foundation {
        align-items: flex-start;
        flex-direction: column;
        gap: 23px
    }

    .patent-status-numbers {
        gap: 8px
    }

    .patent-status-numbers>span {
        max-width: 100%;
        font-size: 16px
    }

    .patent-orbit {
        margin-top: 20px
    }
}

@media(max-width:800px) {
    .patent-layout {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .patent-story h2 {
        max-width: 650px
    }

    .patent-dashboard {
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
        padding: 26px
    }

    .patent-orbit {
        width: 340px;
        max-width: 100%
    }

    .patent-status-numbers>span {
        max-width: 100%
    }

    .patent-status-numbers {
        gap: 15px
    }

    .patent-orbit-total strong {
        font-size: 90px
    }

    .patent-foundation {
        margin-top: 33px
    }
}

@media(max-width:450px) {
    .patent-story h2 {
        font-size: 35px;
        letter-spacing: -1.2px
    }

    .patent-dashboard {
        padding: 20px 16px;
        border-radius: 16px
    }

    .patent-dashboard-top {
        gap: 10px
    }

    .patent-orbit {
        margin: 18px auto 12px
    }

    .patent-orbit-total strong {
        font-size: 76px
    }

    .patent-total-kicker {
        letter-spacing: .7px
    }

    .patent-breakdown {
        gap: 9px
    }

    .patent-status {
        padding: 12px
    }

    .patent-status-numbers {
        display: block
    }

    .patent-status-numbers>span {
        display: block;
        margin-top: 5px;
        max-width: 95px
    }

    .patent-status-label {
        gap: 6px
    }

    .patent-status-label>span {
        display: none
    }

    .patent-chart-insight {
        min-height: 72px
    }

    .patent-foundation-heading {
        gap: 12px;
        align-items: flex-start
    }

    .patent-foundation h3 {
        font-size: 21px
    }

    .patent-domains {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%
    }

    .patent-domains>span {
        padding: 11px 9px;
        gap: 7px
    }

    .patent-explore {
        gap: 15px
    }

    .patent-foundation-heading>div>span {
        letter-spacing: .4px
    }
}

@media(max-width:350px) {
    .patent-orbit-total strong {
        font-size: 62px
    }

    .patent-total-kicker {
        font-size: 16px;
        letter-spacing: 0
    }

    .patent-orbit-total {
        gap: 0
    }

    .patent-status {
        padding: 10px
    }

    .patent-story h2 {
        font-size: 32px
    }
}

@media(prefers-reduced-motion:reduce) {
    .patent-chart-enter .patent-chart {
        animation: none
    }

    .patent-chart-granted,
    .patent-chart-pending,
    .patent-status,
    .patent-explore span,
    .patent-domains>span {
        transition: none
    }

    .patent-status:hover,
    .patent-status[aria-pressed=true],
    .patent-explore:hover span {
        transform: none
    }
}

/* Commercial milestones: featured latest announcement and connected history. */
#commercial-milestones {
    background: radial-gradient(ellipse at 0% 25%, #e1ecd380, transparent 45%), #f4f6f0;
    overflow: visible
}

.journey-heading {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    align-items: end;
    gap: 65px;
    margin-bottom: 45px
}

.journey-heading .eyebrow {
    color: #63794e;
    font-size: 16px;
    letter-spacing: 1.7px
}

.journey-heading h2 {
    font: 500 clamp(34px, 3.5vw, 50px)/1.22 Sora, sans-serif;
    letter-spacing: -1.6px;
    max-width: 780px;
    margin: 0;
    color: #193a30
}

.journey-heading-aside {
    padding-bottom: 4px
}

.journey-range {
    display: flex;
    gap: 15px;
    align-items: center;
    font-size: 16px;
    letter-spacing: .6px;
    color: #668349
}

.journey-range i {
    height: 1px;
    width: 60px;
    background: #b1c198;
    position: relative
}

.journey-range i:after {
    content: '';
    position: absolute;
    right: 0;
    top: -2px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #7da34b
}

.journey-lead {
    font-size: 16px;
    line-height: 1.8;
    color: #71816b;
    margin: 19px 0 0
}

.journey-experience {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 58px;
    align-items: start
}

.journey-feature-wrap {
    position: sticky;
    top: 35px;
    min-width: 0
}

.journey-feature {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid #41664a;
    border-radius: 18px;
    padding: 29px 31px;
    background: radial-gradient(ellipse at 95% 15%, #53734288, transparent 70%), #12322c;
    color: #fff;
    box-shadow: 0 22px 42px #1d3c2510
}

.journey-feature-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 33px
}

.journey-feature-top>span {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 16px;
    letter-spacing: .7px;
    line-height: 1.5;
    color: #c3de9c
}

.journey-feature-top i {
    width: 6px;
    height: 6px;
    background: #b6ef36;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 0 0 5px #b6ef360c
}

.journey-feature-top>.icon {
    width: 24px;
    height: 24px;
    color: #b6ef36;
    flex-shrink: 0
}

.journey-feature time {
    font-size: 16px;
    color: #a9c29b
}

.journey-feature h3 {
    font: 500 clamp(29px, 2.8vw, 39px)/1.28 Sora, sans-serif;
    letter-spacing: -1px;
    margin: 13px 0 22px;
    color: #f5faef
}

.journey-order-value {
    font: 400 clamp(72px, 6.8vw, 96px)/1.1 Sora, sans-serif;
    letter-spacing: -5px;
    display: flex;
    align-items: baseline;
    gap: 12px;
    color: #d2f68a;
    margin-bottom: 13px
}

.journey-order-value>span {
    font: 400 23px/1.5 Manrope, sans-serif;
    letter-spacing: -.3px;
    color: #b6cbab
}

.journey-condition {
    display: inline-flex;
    align-items: center;
    border: 1px solid #b7d48566;
    border-radius: 5px;
    background: #b6ef360a;
    padding: 6px 11px;
    font-size: 16px;
    line-height: 1.5;
    color: #d5e7ba
}

.journey-latest-copy {
    font-size: 16px;
    line-height: 1.8;
    color: #b9cdbb;
    margin: 22px 0 25px
}

.journey-unit-row {
    display: flex;
    align-items: center;
    gap: 15px;
    border-top: 1px solid #c5ddac2b;
    padding-top: 22px
}

.journey-unit-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 9px;
    background: #c7ed880a;
    border: 1px solid #c7ed8840;
    color: #b8dc80;
    flex-shrink: 0
}

.journey-unit-icon .icon {
    width: 23px;
    height: 23px
}

.journey-unit-row>div {
    display: flex;
    flex-direction: column;
    gap: 3px
}

.journey-unit-row strong {
    font: 500 29px/1.2 Sora, sans-serif;
    color: #fff
}

.journey-unit-row>div>span {
    font-size: 16px;
    line-height: 1.6;
    color: #a9c19e
}

.journey-unit-row>a {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin-left: auto;
    border: 1px solid #bce58466;
    border-radius: 50%;
    color: #cbed9c;
    font-size: 25px;
    flex-shrink: 0;
    transition: background .25s, transform .25s
}

.journey-unit-row>a:hover {
    background: #b6ef3620;
    transform: translate(2px, -2px)
}

.journey-feature-grid {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .14;
    background-image: linear-gradient(#b6d88935 1px, transparent 1px), linear-gradient(90deg, #b6d88935 1px, transparent 1px);
    background-size: 36px 36px;
    mask-image: linear-gradient(140deg, transparent 40%, #000)
}

.journey-closing {
    font-size: 16px;
    line-height: 1.8;
    color: #78886e;
    border-left: 2px solid #b2c996;
    padding-left: 20px;
    margin: 28px 0 0
}

.journey-history {
    min-width: 0
}

.journey-history-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    color: #778866;
    font-size: 16px;
    letter-spacing: .9px;
    line-height: 1.5;
    margin: 0 0 22px;
    padding-left: 57px
}

.journey-history-top>span:last-child {
    color: #95a286;
    letter-spacing: 0
}

.journey-list {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
    --journey-progress: 0%;
    isolation: isolate
}

.journey-list:before,
.journey-list:after {
    content: '';
    position: absolute;
    top: 21px;
    bottom: 27px;
    left: 17px;
    width: 1px;
    background: #d0debe;
    z-index: -1
}

.journey-list:after {
    background: #8ab945;
    height: var(--journey-progress);
    max-height: calc(100% - 48px);
    bottom: auto;
    transition: height .45s ease
}

.journey-item {
    position: relative;
    padding-left: 57px;
    margin-bottom: 15px
}

.journey-item:last-child {
    margin-bottom: 0
}

.journey-node {
    display: grid;
    place-items: center;
    position: absolute;
    top: 20px;
    left: 0;
    width: 35px;
    height: 35px;
    background: #f4f6f0;
    border: 1px solid #cbdab8;
    border-radius: 50%;
    font-size: 16px;
    color: #819764;
    transition: background .3s, border-color .3s, color .3s
}

.journey-item.journey-seen .journey-node {
    border-color: #a5c976;
    background: #e5efda;
    color: #567c30
}

.journey-card {
    position: relative;
    padding: 19px 22px 21px;
    background: #fff9;
    border: 1px solid #d7e2cc;
    border-radius: 12px;
    transition: transform .3s, border-color .3s, box-shadow .3s, background .3s
}

.journey-card:hover,
.journey-card:focus-within {
    transform: translateX(4px);
    border-color: #9abc72;
    background: #fff;
    box-shadow: 0 9px 25px #2842240a
}

.journey-item:hover .journey-node,
.journey-item:focus-within .journey-node {
    color: #2d4c20;
    background: #c9ee94;
    border-color: #a5cf6b
}

.journey-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px
}

.journey-category {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #8a9d74;
    font-size: 16px;
    line-height: 1.5
}

.journey-category .icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: #82a951
}

.journey-card-link {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #638747;
    font-size: 16px;
    line-height: 1.5;
    flex-shrink: 0
}

.journey-card-link>span {
    display: none
}

.journey-card-link b {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid #cbdcb8;
    border-radius: 50%;
    font-size: 20px;
    font-weight: 400;
    transition: background .25s
}

.journey-card-link:hover b {
    background: #e2f3cb
}

.journey-card-link:after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 12px
}

.journey-card-link:focus-visible {
    outline: none
}

.journey-card:has(.journey-card-link:focus-visible) {
    outline: 2px solid #6b953d;
    outline-offset: 4px
}

.journey-unit-row>a:focus-visible {
    outline: 2px solid #b6ef36;
    outline-offset: 4px
}

.journey-event-copy time {
    font-size: 16px;
    color: #668442;
    font-weight: 600;
    line-height: 1.5
}

.journey-event-copy p {
    font: 500 18px/1.6 Manrope, sans-serif;
    color: #243e31;
    margin: 6px 0 0
}

.journey-history-end {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 22px 0 0 10px;
    font-size: 16px;
    line-height: 1.6;
    color: #8ba174
}

.journey-history-end>span {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    border: 1px solid #bdd396;
    background: #e6efda;
    border-radius: 50%
}

@media(max-width:1100px) {
    .journey-heading {
        gap: 35px;
        grid-template-columns: 1.25fr 1fr
    }

    .journey-experience {
        gap: 30px;
        grid-template-columns: .9fr 1.1fr
    }

    .journey-feature {
        padding: 26px 24px
    }

    .journey-feature-top>.icon {
        display: none
    }

    .journey-feature-top>span {
        letter-spacing: .3px
    }

    .journey-card {
        padding: 18px
    }

    .journey-item {
        padding-left: 48px
    }

    .journey-history-top {
        padding-left: 48px
    }

    .journey-category {
        gap: 7px
    }

    .journey-order-value {
        font-size: 78px
    }

    .journey-feature h3 {
        font-size: 32px
    }

    .journey-unit-icon {
        display: none
    }

    .journey-history-top {
        letter-spacing: .4px
    }
}

@media(max-width:800px) {
    .journey-heading {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-bottom: 32px
    }

    .journey-heading h2 {
        max-width: 700px
    }

    .journey-heading-aside {
        max-width: 650px
    }

    .journey-lead {
        margin-top: 14px
    }

    .journey-experience {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .journey-feature-wrap {
        position: static
    }

    .journey-feature {
        padding: 28px 30px
    }

    .journey-feature h3 {
        font-size: 36px
    }

    .journey-feature-top>.icon {
        display: block
    }

    .journey-order-value {
        font-size: 88px
    }

    .journey-unit-icon {
        display: grid
    }

    .journey-feature-top {
        margin-bottom: 25px
    }

    .journey-latest-copy {
        max-width: 550px
    }

    .journey-card-link>span {
        display: block
    }

    .journey-card {
        padding: 21px 24px
    }

    .journey-event-copy p {
        font-size: 19px
    }

    .journey-history-top {
        margin-bottom: 20px
    }

    .journey-closing {
        margin-top: 24px
    }
}

@media(max-width:450px) {
    .journey-heading h2 {
        font-size: 35px;
        letter-spacing: -1.2px
    }

    .journey-range {
        gap: 12px;
        letter-spacing: .2px
    }

    .journey-range i {
        width: 38px
    }

    .journey-feature {
        padding: 25px 22px;
        border-radius: 14px
    }

    .journey-feature-top>span {
        font-size: 16px;
        letter-spacing: 0;
        align-items: flex-start
    }

    .journey-feature-top i {
        margin-top: 9px
    }

    .journey-feature-top>.icon {
        display: none
    }

    .journey-feature h3 {
        font-size: 31px
    }

    .journey-order-value {
        font-size: 76px;
        gap: 10px
    }

    .journey-order-value>span {
        font-size: 22px
    }

    .journey-unit-icon {
        display: none
    }

    .journey-unit-row {
        gap: 10px
    }

    .journey-unit-row>a {
        width: 40px;
        height: 40px
    }

    .journey-closing {
        padding-left: 16px
    }

    .journey-history-top {
        padding-left: 43px;
        gap: 10px;
        flex-wrap: wrap
    }

    .journey-item {
        padding-left: 43px;
        margin-bottom: 14px
    }

    .journey-node {
        width: 31px;
        height: 31px;
        top: 21px
    }

    .journey-list:before,
    .journey-list:after {
        left: 15px
    }

    .journey-card {
        padding: 17px 16px
    }

    .journey-category .icon {
        display: none
    }

    .journey-card-top {
        gap: 6px;
        margin-bottom: 10px
    }

    .journey-card-link>span {
        display: none
    }

    .journey-card-link b {
        width: 29px;
        height: 29px
    }

    .journey-category {
        font-size: 16px
    }

    .journey-event-copy p {
        font-size: 17px;
        line-height: 1.7
    }

    .journey-card:hover,
    .journey-card:focus-within {
        transform: none
    }

    .journey-history-end {
        margin-left: 8px;
        gap: 19px
    }

    .journey-feature-top {
        margin-bottom: 23px
    }
}

@media(prefers-reduced-motion:reduce) {

    .journey-list:after,
    .journey-node,
    .journey-card,
    .journey-unit-row>a,
    .journey-card-link b {
        transition: none
    }

    .journey-card:hover,
    .journey-card:focus-within,
    .journey-unit-row>a:hover {
        transform: none
    }
}

/* News: complete verified headlines with visible publication dates. */
.news-section .news-card {
    height: auto;
    min-width: 0
}

.news-section .news-published {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 7px;
    font-size: 16px;
    line-height: 1.6;
    color: #7b8873;
    margin-top: 13px
}

.news-section .news-published time {
    color: #56684c;
    font-weight: 500
}

.news-section .news-card h3 {
    display: block;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    height: auto;
    max-height: none;
    overflow-wrap: break-word;
    margin: 22px 0 28px;
    line-height: 1.6
}

.news-section .news-bottom {
    margin-top: auto
}

.news-section .news-card:focus-visible {
    outline: 2px solid #709d38;
    outline-offset: 4px
}

@media(prefers-reduced-motion:reduce) {
    .news-section .news-card {
        transition: none
    }

    .news-section .news-card:hover {
        transform: none
    }
}

/* Closing: clear aerial artwork, interactive enlargement and two primary actions. */
#the-bigger-picture {
    background: radial-gradient(ellipse at 95% 0%, #294d3c60, transparent 55%), #071520
}

.closing-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 35px
}

.closing-head h2 {
    font: 500 clamp(40px, 4.6vw, 64px)/1.16 Sora, sans-serif;
    letter-spacing: -2px;
    margin: 0
}

.closing-head .eyebrow {
    color: #b6ef36;
    font-size: 16px
}

.closing-stock {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    letter-spacing: 1px;
    color: #baceb0;
    border: 1px solid #9bbf753f;
    padding: 10px 15px;
    border-radius: 6px;
    flex-shrink: 0
}

.closing-stock i {
    width: 6px;
    height: 6px;
    background: #b6ef36;
    border-radius: 50%;
    box-shadow: 0 0 0 5px #b6ef360b
}

.closing-layout {
    display: grid;
    grid-template-columns: 1.16fr 1fr;
    gap: 55px;
    align-items: stretch
}

.closing-layout .closing-content {
    max-width: none;
    padding: 9px 0
}

.closing-layout .closing-content>p {
    font-size: 16px;
    line-height: 1.9;
    color: #fff;
    margin: 0 0 24px
}

.closing-layout .closing-content>p:last-child {
    margin-bottom: 0
}

.closing-visual {
    position: relative;
    isolation: isolate;
    display: block;
    min-width: 0;
    min-height: 510px;
    text-align: left;
    padding: 0;
    border: 1px solid #b3d58a50;
    border-radius: 17px;
    overflow: hidden;
    background: #244239;
    cursor: zoom-in;
    color: #fff;
    box-shadow: 0 22px 50px #0002
}

.closing-photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 66% center;
    transition: transform .8s, filter .6s;
    z-index: -2
}

.closing-visual:after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(0deg, #061620ed, transparent 55%, transparent 75%, #08182070);
    pointer-events: none
}

.closing-visual:hover .closing-photo,
.closing-visual:focus-visible .closing-photo {
    transform: scale(1.045);
    filter: brightness(1.08)
}

.closing-visual:focus-visible {
    outline: 2px solid #b6ef36;
    outline-offset: 5px
}

.closing-visual-top {
    position: absolute;
    top: 24px;
    left: 25px;
    right: 23px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px
}

.closing-visual-top>span:first-child {
    font-size: 16px;
    letter-spacing: 1px;
    line-height: 1.6;
    max-width: 220px;
    text-shadow: 0 1px 5px #0009
}

.closing-zoom {
    display: grid;
    place-items: center;
    border: 1px solid #e0efc777;
    background: #0a252655;
    backdrop-filter: blur(5px);
    width: 43px;
    height: 43px;
    border-radius: 50%;
    flex-shrink: 0;
    transition: background .3s, transform .3s
}

.closing-zoom .icon {
    width: 20px;
    height: 20px;
    color: #e8ffc0
}

.closing-visual:hover .closing-zoom {
    background: #355b3988;
    transform: rotate(6deg)
}

.closing-visual-bottom {
    position: absolute;
    left: 28px;
    right: 24px;
    bottom: 25px;
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

.closing-visual-line {
    width: 40px;
    height: 2px;
    background: #b6ef36;
    margin-bottom: 17px;
    transition: width .5s
}

.closing-visual:hover .closing-visual-line {
    width: 80px
}

.closing-visual-bottom strong {
    font: 500 31px/1.3 Sora, sans-serif;
    letter-spacing: -.8px;
    text-shadow: 0 2px 10px #0003
}

.closing-image-credit {
    font-size: 16px;
    line-height: 1.6;
    color: #beceb9;
    margin-top: 15px
}

.closing-action-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 25px 29px;
    border: 1px solid #92b77845;
    border-radius: 12px;
    background: linear-gradient(110deg, #223d2d90, #16322d40);
    margin-top: 35px
}

.closing-action-intro {
    display: flex;
    align-items: center;
    gap: 16px
}

.closing-action-intro>.icon {
    width: 28px;
    height: 28px;
    color: #acd66f;
    flex-shrink: 0
}

.closing-action-intro span {
    font-size: 16px;
    letter-spacing: 1px;
    color: #91ab7e
}

.closing-action-intro h3 {
    font: 500 23px/1.4 Sora, sans-serif;
    letter-spacing: -.5px;
    color: #eaf3e2;
    margin: 5px 0 0
}

.closing-action-panel .closing-actions {
    margin: 0;
    gap: 12px;
    flex-shrink: 0
}

.closing-action-panel .button {
    gap: 24px;
    border-radius: 5px;
    transition: background .25s, box-shadow .25s, transform .25s
}

.closing-action-panel .button-lime:hover {
    box-shadow: 0 6px 25px #b6ef3625;
    transform: translateY(-3px)
}

.closing-action-panel .button-outline {
    border-color: #99b98175;
    background: #a3c56a05
}

.closing-action-panel .button-outline:hover {
    background: #b6ef3612;
    border-color: #b6ef36
}

.closing-action-panel .button>span {
    transition: transform .25s
}

.closing-action-panel .button:hover>span {
    transform: translate(2px, -2px)
}

.closing-action-panel .button:focus-visible {
    outline: 2px solid #b6ef36;
    outline-offset: 5px
}

.closing-disclosure {
    margin-top: 27px;
    border-top: 1px solid #9db28725;
    padding-top: 23px
}

.closing-disclosure .disclosure {
    margin: 0;
    padding: 0;
    border: 0;
    color: #819696;
    font-size: 16px;
    line-height: 1.75
}

@media(max-width:1100px) {
    .closing-layout {
        gap: 30px;
        grid-template-columns: 1.15fr 1fr
    }

    .closing-action-panel {
        flex-wrap: wrap;
        gap: 23px
    }

    .closing-action-panel .closing-actions {
        flex-wrap: wrap
    }

    .closing-visual-bottom strong {
        font-size: 29px
    }

    .closing-visual-top {
        left: 22px;
        right: 20px;
        gap: 10px
    }

    .closing-visual-top>span:first-child {
        font-size: 16px;
        letter-spacing: .4px
    }
}

@media(max-width:800px) {
    .closing-layout {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .closing-visual {
        min-height: 470px
    }

    .closing-photo {
        object-position: center 40%
    }

    .closing-visual-bottom strong {
        font-size: 35px
    }

    .closing-head {
        align-items: flex-start
    }

    .closing-stock {
        letter-spacing: .3px;
        padding: 9px 12px
    }

    .closing-action-panel {
        padding: 26px
    }

    .closing-action-panel .closing-actions {
        width: 100%;
        flex-direction: row;
        align-items: stretch
    }

    .closing-action-panel .button {
        justify-content: space-between;
        flex: 1
    }

    .closing-layout .closing-content {
        padding: 0
    }

    .closing-disclosure {
        margin-top: 24px
    }
}

@media(max-width:540px) {
    .closing-head {
        flex-direction: column;
        gap: 20px;
        margin-bottom: 27px
    }

    .closing-head h2 {
        font-size: 43px;
        letter-spacing: -1.5px
    }

    .closing-head .eyebrow {
        letter-spacing: 1.2px
    }

    .closing-stock {
        font-size: 16px
    }

    .closing-layout .closing-content>p {
        line-height: 1.85
    }

    .closing-visual {
        min-height: 455px;
        border-radius: 13px
    }

    .closing-photo {
        object-position: 65% center
    }

    .closing-visual-top {
        top: 20px;
        left: 22px;
        right: 20px
    }

    .closing-visual-bottom {
        left: 23px;
        bottom: 23px
    }

    .closing-visual-bottom strong {
        font-size: 30px
    }

    .closing-image-credit {
        font-size: 16px
    }

    .closing-action-panel {
        padding: 24px 21px;
        margin-top: 27px
    }

    .closing-action-intro {
        gap: 13px
    }

    .closing-action-intro span {
        letter-spacing: .4px
    }

    .closing-action-intro h3 {
        font-size: 22px
    }

    .closing-action-panel .closing-actions {
        flex-direction: column;
        gap: 12px
    }

    .closing-action-panel .button {
        width: 100%;
        padding: 17px 18px;
        gap: 12px;
        font-size: 16px;
        text-align: left
    }

    .closing-disclosure .disclosure {
        font-size: 16px
    }

    .closing-action-intro>.icon {
        width: 25px;
        height: 25px
    }
}

@media(prefers-reduced-motion:reduce) {

    .closing-photo,
    .closing-zoom,
    .closing-visual-line,
    .closing-action-panel .button,
    .closing-action-panel .button>span {
        transition: none
    }

    .closing-visual:hover .closing-photo,
    .closing-visual:focus-visible .closing-photo,
    .closing-visual:hover .closing-zoom,
    .closing-action-panel .button-lime:hover,
    .closing-action-panel .button:hover>span {
        transform: none
    }
}

.closing-disclosure .disclosure {
    font-size: 16px !important;
    margin-top: 0 !important;
    line-height: 1.75
}

/* TradingView autosize widgets need explicit parent heights. */
#stock-charts {
    background: #f4f6f0;
    padding: 70px 0 75px
}

.stock-charts-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 25px;
    margin-bottom: 26px
}

.stock-charts-heading h2 {
    font-size: clamp(30px, 3vw, 43px);
    line-height: 1.25;
    letter-spacing: -1px;
    margin: 0;
    color: #17372c
}

.stock-charts-heading .eyebrow {
    font-size: 16px;
    color: #718957;
    margin-bottom: 13px
}

.stock-charts-heading>span,
.stock-financials-heading>span {
    font-size: 16px;
    line-height: 1.6;
    color: #788b6b
}

.stock-widget {
    min-width: 0;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #dce4d5
}

.stock-symbol {
    min-height: 190px;
    margin-bottom: 20px
}

.stock-symbol .tradingview-widget-container {
    width: 100%;
    min-height: 190px
}

.stock-price {
    height: 640px
}

.stock-financials {
    height: 730px
}

.stock-price>.tradingview-widget-container,
.stock-financials>.tradingview-widget-container {
    height: 100%;
    width: 100%
}

.stock-price .tradingview-widget-container__widget,
.stock-financials .tradingview-widget-container__widget {
    height: calc(100% - 34px);
    width: 100%
}

.stock-widget iframe {
    display: block;
    max-width: 100%
}

.stock-widget .tradingview-widget-copyright {
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 16px;
    line-height: 1.4;
    color: #7e8879;
    background: #fff
}

.stock-widget .tradingview-widget-copyright a {
    color: #386ac3
}

.stock-financials-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin: 32px 0 17px
}

.stock-financials-heading h3 {
    font-size: 25px;
    color: #17372c;
    margin: 0
}

.references li {
    padding: 12px 15px;
    border: 1px solid #9bb86e25;
    border-radius: 5px;
    scroll-margin-top: 30px
}

.references li:target,
.references li:focus {
    background: #b6ef3612;
    border-color: #b6ef3670;
    outline: none
}

.references li a {
    display: block;
    overflow-wrap: anywhere;
    line-height: 1.7
}

.references summary {
    padding: 23px 0;
    color: #b8c8bc
}

.references summary:focus-visible,
.reference a:focus-visible {
    outline: 2px solid #b6ef36;
    outline-offset: 4px
}

.reference {
    font-size: 16px !important;
    line-height: 1;
    vertical-align: super;
    white-space: nowrap
}

.reference a {
    color: #719c36;
    text-decoration: underline;
    text-underline-offset: 3px;
    padding: 2px
}

.dark .reference a {
    color: #b6ef36
}

.references[open] summary>span {
    transform: none;
    font-size: 20px
}

.html-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    flex-shrink: 0;
    color: inherit
}


@media(max-width:800px) {

    .stock-charts-heading,
    .stock-financials-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 13px
    }

    .stock-price {
        height: 560px
    }

    .stock-financials {
        height: 780px
    }

    #stock-charts {
        padding: 55px 0
    }

    .stock-charts-heading>span {
        font-size: 16px
    }
}

@media(max-width:450px) {
    .stock-price {
        height: 520px
    }

    .stock-financials {
        height: 850px
    }

    .stock-symbol,
    .stock-symbol .tradingview-widget-container {
        min-height: 260px
    }

    .stock-widget .tradingview-widget-copyright {
        font-size: 16px;
        gap: 4px
    }

    .references li {
        padding: 12px
    }

    .stock-charts-heading h2 {
        font-size: 30px
    }
}

@media(max-width:450px) {

    .stock-symbol,
    .stock-symbol .tradingview-widget-container {
        min-height: 330px
    }

    .stock-symbol iframe {
        min-height: 330px
    }
}

/* Side-by-side market widgets; legible legal footer and a separate copyright row. */
.stock-two-column {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px;
    align-items: start
}

.stock-column {
    min-width: 0
}

.stock-panel-heading,
.stock-financials-heading.stock-panel-heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 5px;
    margin: 9px 0 18px;
    min-height: 68px
}

.stock-panel-heading h3 {
    font: 500 25px/1.4 Sora, sans-serif;
    letter-spacing: -.5px;
    margin: 0;
    color: #17372c
}

.stock-panel-heading>span {
    font-size: 16px;
    line-height: 1.6;
    color: #788b6b
}

.stock-two-column .stock-price,
.stock-two-column .stock-financials {
    height: 660px
}

.footer-legal {
    padding: 40px 0 0;
    margin-top: 10px
}

.footer-legal-heading {
    margin-bottom: 25px
}

.footer-legal-heading>span {
    display: block;
    font-size: 16px;
    letter-spacing: 1.3px;
    color: #88a277;
    margin-bottom: 12px
}

.footer-legal-heading h2 {
    font: 500 clamp(26px, 2.5vw, 34px)/1.35 Sora, sans-serif;
    letter-spacing: -.7px;
    color: #e0e9e5;
    margin: 0
}

.footer-legal-copy {
    max-width: 1160px
}

.footer-legal-copy p {
    font-size: 16px;
    line-height: 1.85;
    color: #a7b7bc;
    margin: 0 0 24px;
    overflow-wrap: anywhere
}

.footer-legal-copy p:last-child {
    margin-bottom: 0
}

.footer-copyright {
    border-top: 1px solid #9bb1a12d;
    margin-top: 35px;
    padding-top: 24px
}

.footer-copyright p {
    font-size: 16px;
    line-height: 1.7;
    color: #8fa49e;
    margin: 0
}

.footer:has(.footer-legal) {
    padding-bottom: 28px
}

@media(max-width:950px) {
    .stock-two-column {
        grid-template-columns: 1fr;
        gap: 26px
    }

    .stock-two-column .stock-price {
        height: 560px
    }

    .stock-two-column .stock-financials {
        height: 760px
    }

    .stock-panel-heading,
    .stock-financials-heading.stock-panel-heading {
        min-height: 0;
        margin: 0 0 16px
    }

    .footer-legal {
        padding-top: 30px
    }

    .footer-legal-heading h2 {
        font-size: 29px
    }
}

@media(max-width:450px) {
    .stock-two-column .stock-price {
        height: 520px
    }

    .stock-two-column .stock-financials {
        height: 820px
    }

    .stock-panel-heading h3 {
        font-size: 24px
    }

    .footer-legal-heading h2 {
        font-size: 27px
    }

    .footer-legal-copy p {
        line-height: 1.8;
        margin-bottom: 23px
    }

    .footer-copyright {
        padding-top: 22px;
        margin-top: 29px
    }

    .footer-copyright p {
        font-size: 16px
    }

    .footer-legal-heading>span {
        letter-spacing: .8px
    }
}

/* Responsive audit: avoid a squeezed market panel and nested hero scrolling on small screens. */
.global-interactive {
    grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr)
}

.global-interactive>*,
.market-detail {
    min-width: 0
}

.market-detail h3,
.market-detail p {
    overflow-wrap: break-word
}

@media(max-width:950px) {
    .global-interactive {
        grid-template-columns: minmax(0, 1fr)
    }

    .market-detail {
        border-left: 0;
        border-top: 1px solid #dae2d4
    }

    .market-detail p {
        min-height: 0
    }

    .hero {
        height: auto;
        min-height: 100svh
    }

    .hero-content {
        height: auto;
        min-height: 100svh;
        overflow: visible
    }
}

@media(max-height:800px) and (orientation:landscape) {
    .hero {
        height: auto;
        min-height: 100svh
    }

    .hero-content {
        height: auto;
        min-height: 100svh;
        overflow: visible
    }
}/* Emphasize the market-opportunity takeaway without changing its wording. */
.market-section .market-copy p[data-source-id="38"]{position:relative;break-inside:avoid;padding:22px 25px;margin-top:24px;border-left:3px solid #b6ef36;border-radius:0 10px 10px 0;background:linear-gradient(110deg,#b6ef3618,#b6ef3606);color:#e3f6c5;font-size:20px;font-weight:600;line-height:1.7;box-shadow:inset 0 1px 0 #b6ef3617,inset 0 -1px 0 #b6ef3617}
@media(max-width:600px){.market-section .market-copy p[data-source-id="38"]{font-size:18px;line-height:1.75;padding:19px 20px;margin-top:22px}}

/* Mobile hero uses the matching high-priority, smaller image preload. */
@media (max-width: 800px) {
    .hero-image { background-image: url('assets/hero-field-mobile.webp'); }
}
