:root {
    --navy: #292550;
    --navy-2: #17152f;
    --navy-3: #111024;
    --blue: #9bb7c6;
    --blue-soft: #dce9ef;
    --cyan: #48a9c8;
    --red: #8f1f28;
    --sand: #d1c77a;
    --ink: #18192b;
    --muted: #666b7b;
    --line: #e5e8ee;
    --paper: #f7f8fa;
    --white: #fff;
    --shadow: 0 28px 80px rgba(30,27,67,.13);
    --shadow-soft: 0 16px 46px rgba(30,27,67,.08);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: #fff;
    color: var(--ink);
    font-family: Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

body.menu-open {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    color: inherit;
}

.container {
    width: min(1180px,calc(100% - 48px));
    margin-inline: auto;
}

section[id] {
    scroll-margin-top: 105px;
}

.skip-link {
    position: fixed;
    top: -70px;
    left: 16px;
    z-index: 999;
    background: #fff;
    padding: 10px 14px;
    border-radius: 10px;
    box-shadow: var(--shadow-soft);
    color: var(--navy);
}

.skip-link:focus {
    top: 16px;
}

/* Header */

.site-header {
    position: fixed;
    z-index: 100;
    top: 14px;
    left: 0;
    right: 0;
    pointer-events: none;
}

.nav-shell {
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 0 14px 0 16px;
    border-radius: 24px;
    border: 1px solid rgba(41,37,80,.10);
    background: rgba(255,255,255,.88);
    box-shadow: 0 18px 54px rgba(27,24,59,.10);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    pointer-events: auto;
    transition: .3s ease;
}

.site-header.scrolled .nav-shell {
    height: 74px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 60px rgba(27,24,59,.16);
}

.brand {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.brand-logo {
    width: 202px;
    height: 58px;
    padding: 7px 10px;
    border-radius: 17px;
    background: linear-gradient(180deg,#fff,#f6f7fa);
    border: 1px solid rgba(41,37,80,.07);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.brand-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.desktop-nav {
    display: flex;
    align-items: center;
    gap: 2px;
    color: #515365;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.desktop-nav a {
    padding: 10px 10px;
    border-radius: 999px;
    transition: .2s;
}

.desktop-nav a:hover {
    background: rgba(41,37,80,.055);
    color: var(--navy);
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.lang-switch {
    display: flex;
    gap: 2px;
    padding: 3px;
    border-radius: 999px;
    background: #f4f5f8;
    border: 1px solid rgba(41,37,80,.08);
}

.lang-btn {
    border: 0;
    background: transparent;
    border-radius: 999px;
    padding: 6px 8px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    color: #8f929e;
    cursor: pointer;
}

.lang-btn.active {
    background: #fff;
    color: var(--navy);
    box-shadow: 0 2px 8px rgba(28,25,62,.08);
}

.nav-teaser {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 43px;
    padding: 0 17px;
    border-radius: 13px;
    background: linear-gradient(135deg,#082d76 0%,#2d347d 55%,var(--red) 100%);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(8,45,118,.24);
}

.menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(41,37,80,.10);
    background: #fff;
    border-radius: 13px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 0;
    cursor: pointer;
}

.menu-toggle span {
    width: 18px;
    height: 2px;
    margin: 2.5px 0;
    background: var(--navy);
    border-radius: 20px;
    transition: .22s;
}

.menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}

.menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.mobile-menu {
    display: none;
    pointer-events: auto;
}

/* Typography */

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--navy);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.eyebrow:before {
    content: "";
    width: 18px;
    height: 2px;
    border-radius: 99px;
    background: var(--cyan);
}

.eyebrow.light {
    color: #d5e8ee;
}

.eyebrow.light:before {
    background: #8cc7d8;
}

.section {
    padding: 112px 0;
}

.section-heading h2,
.section-intro h2 {
    font-size: clamp(38px,4.6vw,62px);
    line-height: 1.04;
    letter-spacing: -.045em;
    margin: 18px 0 22px;
    font-weight: 820;
}

.section-heading>p,
.section-intro>p {
    color: var(--muted);
    font-size: 16px;
    max-width: 660px;
}

.section-heading .lead {
    font-size: 19px;
    color: #3f4254;
    max-width: 700px;
}

.centered {
    text-align: center;
    max-width: 900px;
    margin-inline: auto;
}

.centered>p {
    margin-inline: auto;
}

.centered .eyebrow {
    justify-content: center;
}

/* Hero */

.hero {
    position: relative;
    min-height: 850px;
    padding: 166px 0 96px;
    background: radial-gradient(circle at 14% 18%,rgba(209,199,122,.36),transparent 24%),radial-gradient(circle at 82% 20%,rgba(72,169,200,.30),transparent 28%),radial-gradient(circle at 76% 80%,rgba(143,31,40,.14),transparent 18%),linear-gradient(135deg,#eef1e4 0%,#dceaf0 26%,#bad2de 58%,#d8d3e8 100%);
    overflow: hidden;
}

.heart-backdrop {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(155,183,198,.08),rgba(155,183,198,.08)),url("heart-wireframe.png");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto 102%;
    opacity: .72;
    mix-blend-mode: multiply;
}

.hero-glow {
    position: absolute;
    width: 760px;
    height: 760px;
    border-radius: 50%;
    left: -220px;
    bottom: -400px;
    background: radial-gradient(circle,rgba(255,255,255,.46),transparent 67%);
}

.hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 72px;
    align-items: center;
}

.project-tag {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: #082d76;
    font-size: 11px;
    letter-spacing: .13em;
}

.project-tag span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #082d76;
    box-shadow: 0 0 0 6px rgba(8,45,118,.10);
}

.hero h1 {
    font-family: Georgia,"Times New Roman",serif;
    font-size: clamp(54px,5.4vw,82px);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: .98;
    color: #fff;
    margin: 26px 0 28px;
    max-width: 850px;
    text-wrap: balance;
}

.hero h1 em {
    font-style: normal;
    color: #082d76;
}

.hero-lead {
    font-size: 18px;
    line-height: 1.75;
    color: #12366e;
    max-width: 760px;
    margin: 0 0 34px;
    font-weight: 520;
}

.hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.btn {
    min-height: 54px;
    padding: 0 22px;
    border-radius: 14px;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    font-weight: 800;
    font-size: 13px;
    cursor: pointer;
    transition: .23s ease;
}

.btn-primary {
    background: linear-gradient(135deg,#082d76 0%,#22459a 48%,#48a9c8 100%);
    color: #fff;
    box-shadow: 0 14px 30px rgba(8,45,118,.22);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(8,45,118,.28);
}

.btn-outline {
    border: 1px solid rgba(8,45,118,.24);
    background: rgba(255,255,255,.28);
    color: #082d76;
    backdrop-filter: blur(8px);
}

.btn-outline:hover {
    background: rgba(255,255,255,.48);
}

.btn-white {
    background: #fff;
    color: var(--navy);
    box-shadow: 0 14px 30px rgba(0,0,0,.16);
}

.btn-red {
    width: 100%;
    background: linear-gradient(135deg,var(--red) 0%,#a22f38 56%,#7a1932 100%);
    color: #fff;
    border-radius: 14px;
    box-shadow: 0 14px 30px rgba(143,31,40,.24);
}

.hero-footnote {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 30px;
    color: #36546c;
    font-size: 11px;
    max-width: 650px;
}

.pulse {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #082d76;
    box-shadow: 0 0 0 5px rgba(8,45,118,.08);
    flex: 0 0 auto;
}

.hero-card {
    position: relative;
    padding: 24px;
    border-radius: 32px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(255,255,255,.66);
    box-shadow: 0 36px 90px rgba(30,42,67,.20);
    backdrop-filter: blur(17px);
    overflow: hidden;
}

.hero-card:before {
    content: "";
    position: absolute;
    width: 250px;
    height: 250px;
    border: 50px solid rgba(8,45,118,.05);
    border-radius: 50%;
    right: -105px;
    top: -100px;
}

.hero-card-top {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #74808c;
}

.hero-card-top small {
    font-size: 9px;
    letter-spacing: .15em;
    font-weight: 900;
}

.hero-card-top span {
    font-size: 10px;
    font-weight: 900;
    color: #082d76;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(8,45,118,.08);
}

.heart-visual {
    position: relative;
    height: 310px;
    margin: 6px 0 18px;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.heart-visual img {
    position: absolute;
    width: 680px;
    max-width: none;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    opacity: .42;
    filter: saturate(.7) contrast(1.05);
}

.heart-ring {
    position: absolute;
    border: 1px solid rgba(8,45,118,.18);
    border-radius: 50%;
}

.ring-a {
    width: 210px;
    height: 210px;
}

.ring-b {
    width: 280px;
    height: 210px;
    transform: rotate(-18deg);
}

.heart-core {
    position: relative;
    width: 94px;
    height: 94px;
    border-radius: 31px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg,#173d85,#082d76);
    color: #fff;
    font: 700 42px Georgia;
    box-shadow: 0 20px 50px rgba(8,45,118,.30);
}

.hero-card-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid rgba(41,37,80,.11);
    padding-top: 18px;
    gap: 10px;
}

.hero-card-grid div {
    padding-right: 8px;
}

.hero-card-grid small {
    display: block;
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: .11em;
    color: #8c909b;
    font-weight: 900;
}

.hero-card-grid strong {
    display: block;
    font-size: 11px;
    line-height: 1.4;
    color: var(--navy);
    margin-top: 4px;
}

.hero-color-line {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg,#082d76 0 26%,var(--sand) 26% 52%,var(--red) 52% 76%,var(--cyan) 76%);
}

/* Metrics */

.metrics {
    padding: 84px 0 90px;
    background: #fff;
}

.metrics-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 50px;
    margin-bottom: 48px;
}

.metrics-head h2 {
    font: 400 clamp(32px,3.6vw,50px)/1.08 Georgia,"Times New Roman",serif;
    letter-spacing: -.03em;
    margin: 0;
    max-width: 630px;
    color: var(--navy);
}

.metrics-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.metrics-grid article {
    padding: 42px 34px;
    min-height: 190px;
    border-right: 1px solid var(--line);
}

.metrics-grid article:last-child {
    border-right: 0;
}

.metrics-grid strong {
    display: block;
    font: 400 47px/1 Georgia,"Times New Roman",serif;
    color: var(--navy);
    white-space: nowrap;
}

.metrics-grid strong i {
    font-size: .55em;
    font-style: normal;
}

.metrics-grid p {
    font-size: 13px;
    line-height: 1.55;
    color: var(--muted);
    max-width: 270px;
    margin: 28px 0 0;
}

.source-note {
    margin: 16px 0 0;
    color: #9a9da8;
    font-size: 10px;
}

/* Gap */

.gap-section {
    background: linear-gradient(180deg,#f6f8fa,#fff);
}

.gap-grid {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: 86px;
    align-items: start;
}

.gap-cards {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.gap-cards:before {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    border: 12px solid rgba(72,169,200,.08);
    border-radius: 50%;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    pointer-events: none;
}

.gap-card {
    position: relative;
    z-index: 1;
    min-height: 240px;
    padding: 28px;
    border-radius: 24px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.95);
    box-shadow: var(--shadow-soft);
    display: flex;
    flex-direction: column;
}

.gap-card>span {
    width: 38px;
    height: 38px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    background: #edf6f9;
    color: var(--cyan);
    font-size: 10px;
    font-weight: 900;
    margin-bottom: 42px;
}

.gap-card.feature>span {
    background: #eaf0fc;
    color: #082d76;
}

.gap-card h3 {
    font: 700 20px/1.25 Georgia,"Times New Roman",serif;
    color: var(--navy);
    margin: 0 0 12px;
}

.gap-card p {
    font-size: 13px;
    color: var(--muted);
    margin: 0;
    line-height: 1.58;
}

/* Platform */

.platform-section {
    position: relative;
    overflow: hidden;
    background: #1a1837;
    color: #fff;
}

.platform-bg {
    position: absolute;
    inset: 0;
    background-image: url("heart-wireframe.png");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto 110%;
    opacity: .10;
}

.platform-section .section-intro {
    position: relative;
    z-index: 1;
}

.platform-section .section-intro p {
    color: #aaa9ba;
}

.platform-cards {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 16px;
    margin-top: 54px;
}

.platform-cards article {
    min-height: 390px;
    padding: 28px 26px;
    border-radius: 26px;
    background: rgba(255,255,255,.96);
    color: var(--ink);
    box-shadow: 0 24px 60px rgba(0,0,0,.15);
    display: flex;
    flex-direction: column;
}

.card-index {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    font-size: 10px;
    font-weight: 900;
    margin-bottom: 52px;
}

.card-index.cyan {
    background: #e8f6f9;
    color: #3d94ad;
}

.card-index.sand {
    background: #f7f4df;
    color: #9b914d;
}

.card-index.red {
    background: #f6e9eb;
    color: var(--red);
}

.platform-cards article>small {
    font-size: 9px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 900;
    color: #8b8e9a;
}

.platform-cards h3 {
    font: 400 28px/1.08 Georgia,"Times New Roman",serif;
    color: var(--navy);
    margin: 14px 0 20px;
}

.platform-cards p {
    font-size: 13px;
    color: #595d6d;
    line-height: 1.62;
    margin: auto 0 0;
}

.platform-roadmap {
    position: relative;
    z-index: 1;
    margin-top: 18px;
    padding: 24px 28px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 22px;
    background: rgba(255,255,255,.04);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
}

.roadmap-label small {
    display: block;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: #8ec9d8;
}

.roadmap-label b {
    display: block;
    font-size: 13px;
    margin-top: 4px;
    color: #d8d7df;
}

.roadmap-flow {
    display: flex;
    align-items: center;
    gap: 12px;
}

.roadmap-flow>i {
    font-style: normal;
    color: #6c6980;
}

.road-node {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #aaa9b8;
}

.road-node span {
    width: 28px;
    height: 28px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.06);
    font-size: 8px;
    font-weight: 900;
}

.road-node b {
    font-size: 10px;
    white-space: nowrap;
}

.road-node.active {
    color: #fff;
}

.road-node.active span {
    background: rgba(72,169,200,.18);
    color: #8fd1e2;
}

/* IP */

.ip-section {
    background: #fff;
}

.ip-grid {
    display: grid;
    grid-template-columns: .88fr 1.12fr;
    gap: 96px;
    align-items: center;
}

.ip-visual {
    position: relative;
    min-height: 520px;
}

.patent-sheet {
    position: absolute;
    width: 350px;
    height: 450px;
    border-radius: 22px;
    box-shadow: var(--shadow);
}

.patent-back {
    left: 72px;
    top: 28px;
    background: linear-gradient(145deg,#8fb3c2,#b9d0d9);
    transform: rotate(7deg);
    opacity: .52;
}

.patent-front {
    left: 35px;
    top: 20px;
    background: #fff;
    border: 1px solid var(--line);
    padding: 30px;
    display: flex;
    flex-direction: column;
}

.patent-head {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    color: #7c7f8c;
}

.patent-head span,
.patent-head small {
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .13em;
}

.patent-seal {
    width: 138px;
    height: 138px;
    border: 2px solid #082d76;
    border-radius: 50%;
    margin: 58px auto 35px;
    display: grid;
    place-items: center;
    align-content: center;
    color: #082d76;
}

.patent-seal b {
    font: 700 50px/1 Georgia;
}

.patent-seal span {
    font-size: 8px;
    letter-spacing: .13em;
    font-weight: 900;
}

.patent-number {
    padding: 14px 15px;
    border-radius: 13px;
    background: #f7f8fa;
}

.patent-number small {
    display: block;
    font-size: 7px;
    letter-spacing: .13em;
    color: #9b9eaa;
    font-weight: 900;
}

.patent-number strong {
    display: block;
    font-size: 13px;
    color: var(--navy);
    margin-top: 4px;
    overflow-wrap: anywhere;
}

.patent-lines {
    margin-top: auto;
}

.patent-lines i {
    display: block;
    height: 4px;
    background: #eceef2;
    border-radius: 99px;
    margin-top: 8px;
}

.patent-lines i:nth-child(2) {
    width: 83%;
}

.patent-lines i:nth-child(3) {
    width: 64%;
}

.ip-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 11px;
    margin-top: 30px;
}

.ip-list>div {
    display: flex;
    gap: 11px;
    padding: 14px;
    border-radius: 16px;
    background: #f8f9fb;
    border: 1px solid var(--line);
}

.ip-list>div>span {
    width: 23px;
    height: 23px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    background: #e8f5f8;
    color: var(--cyan);
    font-size: 11px;
    font-weight: 900;
}

.ip-list p {
    margin: 0;
}

.ip-list b {
    display: block;
    color: var(--navy);
    font-size: 12px;
}

.ip-list small {
    display: block;
    color: #747887;
    font-size: 10px;
    line-height: 1.5;
    margin-top: 3px;
}

/* Network */

.network-section {
    background: linear-gradient(180deg,#f6f8fa,#eef3f6);
}

.network-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 16px;
    margin-top: 54px;
}

.network-grid article {
    position: relative;
    padding: 28px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(41,37,80,.08);
    min-height: 295px;
    box-shadow: var(--shadow-soft);
}

.network-role {
    display: block;
    padding-top: 14px;
    border-top: 2px solid var(--navy);
    color: #082d76;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.avatar {
    width: 50px;
    height: 50px;
    border-radius: 16px;
    background: #eff2f7;
    color: var(--navy);
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
    margin: 38px 0 18px;
}

.avatar.mark {
    background: #e9f5f8;
    color: var(--cyan);
}

.network-grid h3 {
    font: 400 25px/1.1 Georgia,"Times New Roman",serif;
    color: var(--navy);
    margin: 0 0 18px;
}

.network-grid p {
    font-size: 12px;
    color: var(--muted);
    margin: 0;
    max-width: 310px;
}

/* About */

.about-section {
    background: #fff;
    padding-top: 82px;
}

.about-shell {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 70px;
    padding: 62px;
    border-radius: 34px;
    background: linear-gradient(135deg,#2e2a5c 0%,#1c193e 58%,#11102a 100%);
    color: #fff;
    box-shadow: 0 35px 90px rgba(27,24,59,.22);
}

.about-copy h2 {
    font-size: clamp(38px,4.3vw,58px);
    line-height: 1.05;
    letter-spacing: -.04em;
    margin: 18px 0 22px;
}

.about-copy p {
    max-width: 670px;
    color: #b8b7c5;
    font-size: 15px;
    margin: 0 0 30px;
}

.about-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    align-content: start;
}

.about-facts div {
    min-height: 125px;
    padding: 20px;
    border-radius: 19px;
    border: 1px solid rgba(255,255,255,.09);
    background: rgba(255,255,255,.04);
}

.about-facts small {
    display: block;
    font-size: 8px;
    letter-spacing: .11em;
    text-transform: uppercase;
    color: #838196;
    font-weight: 900;
}

.about-facts strong {
    display: block;
    font-size: 14px;
    line-height: 1.4;
    margin-top: 20px;
    color: #fff;
}

/* Teaser */

.teaser-section {
    position: relative;
    background: #9eb8c6;
    overflow: hidden;
    color: #172343;
}

.teaser-heart {
    position: absolute;
    inset: 0;
    background-image: url("heart-wireframe.png");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto 112%;
    opacity: .30;
    mix-blend-mode: multiply;
}

.teaser-grid {
    position: relative;
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    gap: 82px;
    align-items: center;
}

.teaser-copy h2 {
    font: 400 clamp(42px,4.8vw,64px)/1.04 Georgia,"Times New Roman",serif;
    letter-spacing: -.04em;
    color: #fff;
    margin: 18px 0 24px;
}

.teaser-copy>p {
    font-size: 15px;
    color: #334b67;
    max-width: 620px;
}

.nda-note {
    display: flex;
    gap: 18px;
    margin-top: 34px;
    padding: 23px 0;
    border-top: 1px solid rgba(8,45,118,.14);
    border-bottom: 1px solid rgba(8,45,118,.14);
}

.nda-note>span {
    width: 4px;
    border-radius: 9px;
    background: var(--sand);
    flex: 0 0 auto;
}

.nda-note p {
    font-size: 11px;
    font-style: italic;
    color: #425971;
    margin: 0;
    line-height: 1.65;
}

.teaser-form {
    padding: 32px;
    border-radius: 24px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.7);
    box-shadow: 0 30px 75px rgba(38,58,78,.20);
}

.form-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.form-head small {
    display: block;
    color: #a0a2ad;
    font-size: 8px;
    letter-spacing: .13em;
    font-weight: 900;
}

.form-head strong {
    display: block;
    color: var(--navy);
    font-size: 19px;
    margin-top: 4px;
}

.form-head>span {
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .10em;
    color: #487180;
    padding: 7px 9px;
    background: #e8f4f7;
    border-radius: 999px;
}

.teaser-form label {
    display: block;
    margin-bottom: 13px;
}

.teaser-form label>span {
    display: block;
    font-size: 10px;
    font-weight: 800;
    color: #5e6270;
    margin-bottom: 6px;
}

.teaser-form input,
.teaser-form select,
.teaser-form textarea {
    width: 100%;
    border: 1px solid #d7dbe1;
    background: #fafafa;
    border-radius: 11px;
    padding: 12px 13px;
    color: var(--ink);
    outline: none;
    transition: .2s;
}

.teaser-form textarea {
    min-height: 100px;
    resize: vertical;
}

.teaser-form input:focus,
.teaser-form select:focus,
.teaser-form textarea:focus {
    border-color: #76afc0;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(72,169,200,.10);
}

.form-note {
    display: block;
    margin-top: 12px;
    color: #9497a4;
    font-size: 9px;
    line-height: 1.5;
}

.form-note a {
    text-decoration: underline;
    color: var(--navy);
}

/* Color refresh */

.metrics {
    background: linear-gradient(180deg,#fff 0%,#fbfcfd 100%);
}

.metrics-grid article:nth-child(1) {
    background: linear-gradient(180deg,rgba(72,169,200,.06),rgba(255,255,255,.96));
    border-top: 3px solid rgba(72,169,200,.5);
}

.metrics-grid article:nth-child(2) {
    background: linear-gradient(180deg,rgba(209,199,122,.08),rgba(255,255,255,.96));
    border-top: 3px solid rgba(209,199,122,.7);
}

.metrics-grid article:nth-child(3) {
    background: linear-gradient(180deg,rgba(143,31,40,.05),rgba(255,255,255,.96));
    border-top: 3px solid rgba(143,31,40,.45);
}

.gap-section {
    background: linear-gradient(180deg,#f8fbfc,#fff);
}

.gap-card {
    position: relative;
    overflow: hidden;
}

.gap-card:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 4px;
    background: linear-gradient(90deg,var(--cyan),var(--sand),var(--red));
}

.gap-card:nth-child(2):after {
    background: linear-gradient(90deg,var(--navy),var(--cyan));
}

.gap-card:nth-child(3):after {
    background: linear-gradient(90deg,var(--sand),var(--red));
}

.gap-card:nth-child(4):after {
    background: linear-gradient(90deg,var(--red),var(--cyan));
}

.platform-section {
    background: linear-gradient(180deg,#17274a 0%,#18263f 38%,#1c3550 100%);
}

.platform-bg {
    opacity: .20;
    filter: saturate(1.12);
}

.platform-cards article {
    border: 1px solid rgba(255,255,255,.09);
    box-shadow: 0 18px 46px rgba(10,20,44,.17);
}

.platform-cards article:nth-child(1) {
    background: linear-gradient(180deg,rgba(72,169,200,.10),rgba(255,255,255,.05));
}

.platform-cards article:nth-child(2) {
    background: linear-gradient(180deg,rgba(209,199,122,.11),rgba(255,255,255,.05));
}

.platform-cards article:nth-child(3) {
    background: linear-gradient(180deg,rgba(143,31,40,.12),rgba(255,255,255,.05));
}

.road-node.active {
    background: linear-gradient(135deg,#082d76,#48a9c8);
    box-shadow: 0 18px 36px rgba(8,45,118,.28);
}

.ip-section {
    background: linear-gradient(180deg,#fff,#f9f8fc);
}

.ip-list>div:nth-child(1) {
    background: linear-gradient(180deg,rgba(72,169,200,.08),#fff);
}

.ip-list>div:nth-child(2) {
    background: linear-gradient(180deg,rgba(209,199,122,.10),#fff);
}

.ip-list>div:nth-child(3) {
    background: linear-gradient(180deg,rgba(143,31,40,.06),#fff);
}

.ip-list>div:nth-child(4) {
    background: linear-gradient(180deg,rgba(41,37,80,.05),#fff);
}

.network-section {
    background: linear-gradient(180deg,#f7fbfc,#edf4f7);
}

.network-grid article:nth-child(1) {
    border-top: 4px solid var(--cyan);
}

.network-grid article:nth-child(2) {
    border-top: 4px solid var(--sand);
}

.network-grid article:nth-child(3) {
    border-top: 4px solid var(--red);
}

.avatar {
    background: linear-gradient(135deg,#fff,#eef4f8);
}

.about-shell {
    background: linear-gradient(135deg,#25224f 0%,#26345c 42%,#324d6f 100%);
}

.about-facts div:nth-child(1) {
    border-top: 3px solid var(--cyan);
}

.about-facts div:nth-child(2) {
    border-top: 3px solid var(--sand);
}

.about-facts div:nth-child(3) {
    border-top: 3px solid var(--red);
}

.about-facts div:nth-child(4) {
    border-top: 3px solid #5d67b1;
}

.teaser-section {
    background: linear-gradient(135deg,#eef3f5 0%,#dce9ef 26%,#d4e0e8 52%,#e5dfe8 100%);
}

.teaser-heart {
    opacity: .32;
    filter: saturate(1.1);
}

.teaser-form {
    position: relative;
    overflow: hidden;
    padding: 26px 26px 24px;
    border-radius: 26px;
    background: linear-gradient(180deg,rgba(255,255,255,.98),rgba(249,250,252,.98));
    border: 1px solid rgba(41,37,80,.10);
    box-shadow: 0 28px 75px rgba(38,58,78,.20);
}

.form-accent-bar {
    height: 6px;
    border-radius: 999px;
    background: linear-gradient(90deg,#082d76 0 30%,var(--cyan) 30% 55%,var(--sand) 55% 78%,var(--red) 78%);
    margin-bottom: 20px;
}

.form-head {
    margin-bottom: 16px;
}

.form-head>span {
    background: linear-gradient(135deg,#e9f5f8,#f7f0d7);
    color: #27455f;
}

.form-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.form-highlights span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 11px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .03em;
    background: #f4f7fa;
    color: #445062;
    border: 1px solid rgba(41,37,80,.08);
}

.form-highlights span:nth-child(1) {
    background: rgba(72,169,200,.10);
    color: #256b82;
}

.form-highlights span:nth-child(2) {
    background: rgba(209,199,122,.18);
    color: #6f6430;
}

.form-highlights span:nth-child(3) {
    background: rgba(143,31,40,.08);
    color: #7d1d2d;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 14px;
}

.teaser-form label {
    margin-bottom: 0;
}

.teaser-form label.full {
    grid-column: 1/-1;
}

.teaser-form input,
.teaser-form select,
.teaser-form textarea {
    background: #fff;
    border: 1px solid #d7dbe1;
    border-radius: 14px;
    padding: 14px 14px;
}

.teaser-form input:hover,
.teaser-form select:hover,
.teaser-form textarea:hover {
    border-color: #bcc3cf;
}

.form-footer {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    align-items: end;
    margin-top: 16px;
}

.form-footer .btn-red {
    width: auto;
    min-width: 280px;
}

.form-note {
    margin-top: 0;
    font-size: 10px;
    max-width: 420px;
}

.site-footer {
    position: relative;
    background: #101025;
    color: #b7b5c4;
    padding: 72px 0 24px;
}

.site-footer:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 4px;
    background: linear-gradient(90deg,#082d76 0 26%,var(--sand) 26% 52%,var(--red) 52% 76%,var(--cyan) 76%);
}

/* Footer */

.site-footer {
    background: #101025;
    color: #b7b5c4;
    padding: 72px 0 24px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr 1fr;
    gap: 64px;
    align-items: start;
}

.footer-logo {
    width: 210px;
    height: 90px;
    padding: 10px 12px;
    background: #fff;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.footer-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.footer-brand p {
    font-size: 11px;
    color: #797789;
    margin: 14px 0 0;
}

.footer-links,
.footer-company {
    display: flex;
    flex-direction: column;
    gap: 7px;
    font-size: 12px;
}

.footer-links small,
.footer-company>small {
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .14em;
    color: #676576;
    margin-bottom: 6px;
}

.footer-links a,
.footer-company a {
    color: #a6a4b3;
}

.footer-company p {
    font-size: 11px;
    color: #777586;
    line-height: 1.7;
    margin: 0 0 5px;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 44px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.08);
    font-size: 10px;
    color: #666474;
}

/* Animations */

.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .72s ease,transform .72s ease;
}

.reveal.visible {
    opacity: 1;
    transform: none;
}

.delay-1 {
    transition-delay: .12s;
}

@media (max-width:900px) {
    .form-grid {
        grid-template-columns: 1fr 1fr;
    }

    .form-footer {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .form-footer .btn-red {
        width: 100%;
        min-width: 0;
    }

}

@media (max-width:1100px) {
    .desktop-nav {
        display: none;
    }

    .menu-toggle {
        display: flex;
    }

    .nav-teaser {
        display: none;
    }

    .hero-grid,
    .gap-grid,
    .ip-grid,
    .teaser-grid {
        gap: 54px;
    }

    .about-shell {
        gap: 42px;
        padding: 48px;
    }

}

@media (max-width:900px) {
    .site-header {
        top: 10px;
    }

    .nav-shell {
        height: 74px;
        border-radius: 21px;
    }

    .site-header.scrolled .nav-shell {
        height: 70px;
    }

    .brand-logo {
        width: 188px;
        height: 55px;
    }

    .mobile-menu {
        display: block;
        position: fixed;
        left: 20px;
        right: 20px;
        top: 94px;
        visibility: hidden;
        opacity: 0;
        transform: translateY(-8px);
        transition: .2s ease;
        pointer-events: none;
    }

    .mobile-menu.open {
        visibility: visible;
        opacity: 1;
        transform: none;
        pointer-events: auto;
    }

    .mobile-menu-inner {
        padding: 13px;
        border-radius: 20px;
        background: rgba(255,255,255,.98);
        border: 1px solid rgba(41,37,80,.09);
        box-shadow: 0 28px 70px rgba(28,25,62,.19);
        backdrop-filter: blur(20px);
        display: flex;
        flex-direction: column;
        gap: 3px;
    }

    .mobile-menu a {
        padding: 13px 14px;
        border-radius: 14px;
        font-size: 14px;
        font-weight: 750;
        color: #47495d;
    }

    .mobile-menu a:hover {
        background: #f4f5f8;
    }

    .mobile-menu .mobile-cta {
        margin-top: 4px;
        background: #082d76;
        color: #fff;
        text-align: center;
    }

    .hero {
        min-height: auto;
        padding: 137px 0 82px;
    }

    .hero-grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .hero-copy {
        max-width: 780px;
    }

    .hero-card {
        max-width: 680px;
        width: 100%;
        margin-inline: auto;
    }

    .heart-backdrop {
        background-position: 80% center;
        opacity: .45;
    }

    .metrics-head {
        display: block;
    }

    .metrics-head .eyebrow {
        margin-bottom: 18px;
    }

    .metrics-grid article {
        padding: 32px 24px;
    }

    .gap-grid,
    .ip-grid,
    .teaser-grid {
        grid-template-columns: 1fr;
    }

    .gap-grid {
        gap: 42px;
    }

    .gap-section .section-heading {
        max-width: 760px;
    }

    .gap-cards {
        max-width: 780px;
    }

    .platform-cards {
        grid-template-columns: 1fr;
    }

    .platform-cards article {
        min-height: auto;
    }

    .card-index {
        margin-bottom: 28px;
    }

    .platform-roadmap {
        flex-direction: column;
        align-items: flex-start;
    }

    .roadmap-flow {
        width: 100%;
        justify-content: space-between;
    }

    .ip-visual {
        min-height: 470px;
        max-width: 470px;
        width: 100%;
        margin-inline: auto;
    }

    .ip-section .section-heading {
        max-width: 760px;
        margin-inline: auto;
    }

    .network-grid {
        grid-template-columns: 1fr;
    }

    .network-grid article {
        min-height: auto;
        max-width: 760px;
        width: 100%;
        margin-inline: auto;
    }

    .avatar {
        margin-top: 28px;
    }

    .about-shell {
        grid-template-columns: 1fr;
    }

    .about-facts {
        max-width: 600px;
    }

    .teaser-grid {
        gap: 44px;
    }

    .teaser-copy {
        max-width: 760px;
    }

    .teaser-form {
        max-width: 700px;
        width: 100%;
        margin-inline: auto;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer-company {
        grid-column: 1/-1;
    }

}

@media (max-width:640px) {
    .container {
        width: min(100% - 28px,1180px);
    }

    section[id] {
        scroll-margin-top: 88px;
    }

    .site-header {
        top: 7px;
    }

    .nav-shell {
        height: 66px;
        border-radius: 18px;
        padding: 0 9px;
    }

    .site-header.scrolled .nav-shell {
        height: 64px;
    }

    .brand-logo {
        width: 153px;
        height: 48px;
        padding: 5px 7px;
        border-radius: 13px;
    }

    .nav-actions {
        gap: 5px;
    }

    .lang-switch {
        padding: 2px;
    }

    .lang-btn {
        padding: 5px 6px;
    }

    .menu-toggle {
        width: 39px;
        height: 39px;
        border-radius: 12px;
    }

    .mobile-menu {
        left: 14px;
        right: 14px;
        top: 80px;
    }

    .mobile-menu-inner {
        border-radius: 18px;
    }

    .section {
        padding: 74px 0;
    }

    .section-heading,
    .section-intro {
        text-align: center;
    }

    .section-heading .eyebrow,
    .section-intro .eyebrow {
        justify-content: center;
    }

    .section-heading h2,
    .section-intro h2 {
        font-size: 35px;
        line-height: 1.08;
    }

    .section-heading>p,
    .section-intro>p {
        font-size: 15px;
        margin-left: auto;
        margin-right: auto;
    }

    .section-heading .lead {
        font-size: 17px;
    }

    .hero {
        padding: 107px 0 58px;
    }

    .hero-grid {
        text-align: center;
        gap: 30px;
    }

    .project-tag {
        justify-content: center;
    }

    .hero h1 {
        font-size: 43px;
        line-height: 1.01;
        margin: 22px auto 21px;
    }

    .hero-lead {
        font-size: 15.5px;
        line-height: 1.7;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-actions {
        flex-direction: column;
    }

    .hero-actions .btn {
        width: 100%;
    }

    .hero-footnote {
        justify-content: center;
        margin: 24px auto 0;
        font-size: 10px;
    }

    .heart-backdrop {
        background-size: auto 80%;
        background-position: 72% 8%;
        opacity: .28;
    }

    .hero-card {
        padding: 18px;
        border-radius: 25px;
    }

    .heart-visual {
        height: 235px;
    }

    .heart-visual img {
        width: 520px;
    }

    .heart-core {
        width: 76px;
        height: 76px;
        border-radius: 25px;
        font-size: 34px;
    }

    .ring-a {
        width: 160px;
        height: 160px;
    }

    .ring-b {
        width: 215px;
        height: 155px;
    }

    .hero-card-grid {
        grid-template-columns: 1fr;
        gap: 8px;
        text-align: center;
    }

    .hero-card-grid div {
        padding: 10px 0;
        border-bottom: 1px solid rgba(41,37,80,.08);
    }

    .hero-card-grid div:last-child {
        border-bottom: 0;
    }

    .hero-card-grid strong {
        font-size: 12px;
    }

    .metrics {
        padding: 68px 0;
    }

    .metrics-head {
        text-align: center;
        margin-bottom: 28px;
    }

    .metrics-head .eyebrow {
        justify-content: center;
    }

    .metrics-head h2 {
        font-size: 35px;
        margin-inline: auto;
    }

    .metrics-grid {
        grid-template-columns: 1fr;
        border: 0;
        gap: 10px;
    }

    .metrics-grid article {
        min-height: auto;
        padding: 26px 20px;
        border: 1px solid var(--line) !important;
        border-radius: 20px;
        text-align: center;
    }

    .metrics-grid strong {
        font-size: 42px;
    }

    .metrics-grid p {
        margin: 15px auto 0;
    }

    .source-note {
        text-align: center;
    }

    .gap-grid {
        gap: 28px;
    }

    .gap-cards {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .gap-cards:before {
        display: none;
    }

    .gap-card {
        min-height: auto;
        padding: 22px;
        text-align: center;
        align-items: center;
    }

    .gap-card>span {
        margin-bottom: 18px;
    }

    .gap-card h3 {
        font-size: 21px;
    }

    .gap-card p {
        max-width: 420px;
    }

    .platform-bg {
        background-size: auto 70%;
        background-position: center top;
    }

    .platform-cards {
        margin-top: 36px;
        gap: 11px;
    }

    .platform-cards article {
        text-align: center;
        align-items: center;
        padding: 24px 20px;
        border-radius: 22px;
    }

    .card-index {
        margin-bottom: 20px;
    }

    .platform-cards h3 {
        font-size: 26px;
    }

    .platform-cards p {
        margin-top: 0;
        max-width: 430px;
    }

    .platform-roadmap {
        padding: 22px 18px;
        text-align: center;
        align-items: center;
    }

    .roadmap-flow {
        flex-direction: column;
        gap: 8px;
    }

    .roadmap-flow>i {
        transform: rotate(90deg);
    }

    .road-node {
        width: 100%;
        max-width: 360px;
        justify-content: center;
    }

    .road-node b {
        white-space: normal;
    }

    .ip-grid {
        gap: 18px;
    }

    .ip-visual {
        min-height: 390px;
        max-width: 360px;
    }

    .patent-sheet {
        width: 285px;
        height: 365px;
    }

    .patent-front {
        left: 50%;
        top: 8px;
        transform: translateX(-50%);
        padding: 24px;
    }

    .patent-back {
        left: 50%;
        top: 20px;
        transform: translateX(-48%) rotate(6deg);
    }

    .patent-seal {
        width: 105px;
        height: 105px;
        margin: 38px auto 24px;
    }

    .patent-seal b {
        font-size: 39px;
    }

    .ip-list {
        grid-template-columns: 1fr;
    }

    .ip-list>div {
        text-align: left;
    }

    .network-grid {
        margin-top: 36px;
        gap: 11px;
    }

    .network-grid article {
        text-align: center;
        padding: 24px 20px;
        border-radius: 21px;
    }

    .network-role {
        padding-top: 12px;
    }

    .avatar {
        margin: 24px auto 16px;
    }

    .network-grid p {
        margin-inline: auto;
    }

    .network-grid h3 {
        font-size: 24px;
    }

    .about-section {
        padding-top: 60px;
    }

    .about-shell {
        padding: 31px 21px;
        border-radius: 27px;
        gap: 30px;
        text-align: center;
    }

    .about-copy h2 {
        font-size: 34px;
    }

    .about-copy p {
        font-size: 14px;
    }

    .about-copy .btn {
        width: 100%;
    }

    .about-facts {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .about-facts div {
        min-height: auto;
        text-align: center;
        padding: 17px;
    }

    .about-facts strong {
        margin-top: 8px;
    }

    .teaser-heart {
        background-size: auto 72%;
        background-position: 70% top;
        opacity: .18;
    }

    .teaser-grid {
        gap: 30px;
    }

    .teaser-copy {
        text-align: center;
    }

    .teaser-copy .eyebrow {
        justify-content: center;
    }

    .teaser-copy h2 {
        font-size: 37px;
    }

    .teaser-copy>p {
        font-size: 14px;
    }

    .nda-note {
        text-align: left;
        margin-top: 26px;
    }

    .teaser-form {
        padding: 20px 16px;
        border-radius: 21px;
    }

    .form-head {
        flex-direction: column;
        gap: 7px;
        text-align: left;
    }

    .form-head>span {
        align-self: flex-start;
    }

    .form-highlights {
        justify-content: flex-start;
    }

    .form-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .form-footer {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .form-footer .btn-red {
        width: 100%;
        min-width: 0;
    }

    .teaser-form input,
    .teaser-form select,
    .teaser-form textarea {
        font-size: 16px;
    }

    .site-footer {
        padding: 58px 0 23px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }

    .footer-company {
        grid-column: auto;
        align-items: center;
    }

    .footer-links {
        align-items: center;
    }

    .footer-brand {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .footer-logo {
        width: 190px;
        height: 82px;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }

}

@media (max-width:390px) {
    .brand-logo {
        width: 143px;
    }

    .hero h1 {
        font-size: 39px;
    }

    .section-heading h2,
    .section-intro h2 {
        font-size: 31px;
    }

    .metrics-head h2 {
        font-size: 31px;
    }

    .teaser-copy h2 {
        font-size: 33px;
    }

    .about-copy h2 {
        font-size: 31px;
    }

}

@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto;
    }

    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

}

/* V10 targeted refinements */

.project-tag {
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.58);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 10px 28px rgba(18,34,63,.10);
    width: fit-content;
    color: #0c2b61;
}

.project-tag span {
    background: var(--red);
    box-shadow: 0 0 0 6px rgba(143,31,40,.10);
}

.hero h1 {
    color: #152748;
    text-shadow: 0 1px 0 rgba(255,255,255,.35);
}

.hero h1 em {
    color: var(--red);
}

.hero-lead {
    color: #1a3e68;
    font-weight: 560;
}

.hero-footnote {
    color: #294d71;
}

.btn-outline {
    background: rgba(255,255,255,.46);
    border-color: rgba(8,45,118,.18);
}

.platform-section {
    background: radial-gradient(circle at 12% 18%,rgba(72,169,200,.16),transparent 24%),radial-gradient(circle at 88% 18%,rgba(209,199,122,.10),transparent 22%),linear-gradient(180deg,#172543 0%,#1a2440 52%,#1d3048 100%);
}

.platform-bg {
    opacity: .14;
    filter: saturate(1.05);
}

.platform-section .section-intro p {
    color: #d4dae5;
}

.platform-cards {
    gap: 20px;
    margin-top: 58px;
}

.platform-cards article {
    position: relative;
    overflow: hidden;
    min-height: 365px;
    padding: 30px 28px 28px;
    border-radius: 28px;
    background: linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 26px 70px rgba(8,18,42,.24);
    color: var(--ink);
}

.platform-cards article:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 5px;
}

.platform-cards article:nth-child(1):before {
    background: linear-gradient(90deg,#082d76,var(--cyan));
}

.platform-cards article:nth-child(2):before {
    background: linear-gradient(90deg,var(--sand),#a68d34);
}

.platform-cards article:nth-child(3):before {
    background: linear-gradient(90deg,var(--red),#d25561);
}

.platform-cards article:nth-child(1) {
    background: linear-gradient(180deg,rgba(72,169,200,.08),#fff 24%,#f8fbfd 100%);
}

.platform-cards article:nth-child(2) {
    background: linear-gradient(180deg,rgba(209,199,122,.10),#fff 24%,#fcfbf4 100%);
}

.platform-cards article:nth-child(3) {
    background: linear-gradient(180deg,rgba(143,31,40,.08),#fff 24%,#fcf7f8 100%);
}

.card-index {
    width: 54px;
    height: 54px;
    border-radius: 17px;
    margin-bottom: 22px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55),0 10px 24px rgba(30,35,64,.09);
}

.card-index.cyan {
    background: linear-gradient(135deg,rgba(72,169,200,.20),rgba(72,169,200,.08));
    color: #1c728e;
    border: 1px solid rgba(72,169,200,.22);
}

.card-index.sand {
    background: linear-gradient(135deg,rgba(209,199,122,.24),rgba(209,199,122,.10));
    color: #7d6e2e;
    border: 1px solid rgba(209,199,122,.25);
}

.card-index.red {
    background: linear-gradient(135deg,rgba(143,31,40,.18),rgba(143,31,40,.08));
    color: #8f1f28;
    border: 1px solid rgba(143,31,40,.18);
}

.platform-cards article>small {
    color: #6e7384;
}

.platform-cards h3 {
    color: #1d2950;
    margin: 12px 0 18px;
}

.platform-cards p {
    color: #596172;
    line-height: 1.68;
}

.platform-roadmap {
    margin-top: 26px;
    padding: 28px 30px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 26px;
    background: linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.roadmap-label small {
    color: #99d1df;
}

.roadmap-label b {
    color: #fff;
}

.roadmap-flow {
    gap: 14px;
}

.roadmap-flow>i {
    color: rgba(255,255,255,.38);
}

.road-node {
    padding: 14px 16px;
    border-radius: 17px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.09);
    color: #dbe4ef;
}

.road-node span {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: rgba(255,255,255,.10);
    color: #fff;
}

.road-node b {
    font-size: 11px;
}

.road-node.active {
    background: linear-gradient(135deg,#0b327d 0%,#1d5d9d 52%,#48a9c8 100%);
    border-color: rgba(255,255,255,.20);
    color: #fff;
    box-shadow: 0 18px 40px rgba(8,45,118,.30);
}

.road-node.active span {
    background: rgba(255,255,255,.18);
}

.teaser-section {
    background: radial-gradient(circle at 14% 18%,rgba(72,169,200,.18),transparent 24%),radial-gradient(circle at 86% 16%,rgba(209,199,122,.14),transparent 20%),radial-gradient(circle at 78% 82%,rgba(143,31,40,.12),transparent 18%),linear-gradient(135deg,#18172f 0%,#1f2948 45%,#34233f 100%);
    color: #fff;
}

.teaser-heart {
    opacity: .18;
    filter: saturate(1.05) brightness(1.05);
}

.teaser-copy h2 {
    color: #fff;
}

.teaser-copy>p {
    color: #ced6e6;
}

.nda-note {
    border-top: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.nda-note p {
    color: #bcc8da;
}

.teaser-form {
    box-shadow: 0 30px 80px rgba(8,16,35,.28);
}

@media (max-width:900px) {
    .project-tag {
        margin-inline: auto;
    }

    .platform-cards {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .platform-cards article {
        min-height: auto;
    }

    .platform-roadmap {
        gap: 24px;
    }

}

@media (max-width:640px) {
    .project-tag {
        padding: 9px 12px;
        font-size: 10px;
    }

    .hero h1 {
        font-size: 44px;
        line-height: 1.02;
    }

    .hero-lead {
        font-size: 16px;
    }

    .platform-section .section-intro p {
        color: #d7deea;
    }

    .platform-cards article {
        text-align: center;
        align-items: center;
        padding: 24px 20px 22px;
    }

    .platform-cards p {
        max-width: 430px;
    }

    .platform-roadmap {
        padding: 20px 16px;
        text-align: center;
        align-items: center;
    }

    .roadmap-label {
        width: 100%;
        text-align: center;
    }

    .roadmap-flow {
        width: 100%;
        flex-direction: column;
        gap: 8px;
    }

    .roadmap-flow>i {
        transform: rotate(90deg);
    }

    .road-node {
        width: 100%;
        max-width: 360px;
        justify-content: center;
    }

    .teaser-section {
        background: radial-gradient(circle at 18% 10%,rgba(72,169,200,.16),transparent 26%),linear-gradient(135deg,#16152d 0%,#20284b 54%,#33243c 100%);
    }

    .teaser-copy>p {
        color: #d2d9e8;
    }

}

/* =========================================================
   FIX V10 — CTA "Richiedi l'Investor Teaser" nella Hero
   ========================================================= */

.hero .heart-backdrop,
.hero .hero-glow {
    pointer-events: none;
}

.hero .hero-grid {
    position: relative;
    z-index: 2;
}

.hero .hero-actions {
    position: relative;
    z-index: 5;
}

.hero .hero-actions .btn-outline {
    position: relative;
    z-index: 6;
    background: #ffffff;
    color: #082d76;
    border: 1px solid #082d76;
    opacity: 1;
    pointer-events: auto;
    cursor: pointer;
    box-shadow: 0 10px 26px rgba(8, 45, 118, 0.14);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transition: background-color 0.22s ease,
        color 0.22s ease,
        border-color 0.22s ease,
        box-shadow 0.22s ease,
        transform 0.22s ease;
}

.hero .hero-actions .btn-outline:hover {
    background: var(--red);
    color: #ffffff;
    border-color: var(--red);
    box-shadow: 0 16px 34px rgba(143, 31, 40, 0.24);
    transform: translateY(-2px);
}

.hero .hero-actions .btn-outline:focus-visible {
    outline: 3px solid rgba(72, 169, 200, 0.42);
    outline-offset: 3px;
}

.hero .hero-actions .btn-outline:active {
    transform: translateY(0);
    box-shadow: 0 8px 18px rgba(143, 31, 40, 0.18);
}
