@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root {
    --navy:#000d28;
    --blue:#5c9fe1;
    --cyan:#58d4ee;
    --violet:#8270c4;
    --muted:#a2b4d1;
    --white:#f7faff;
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
}
body {
    margin:0;
    background:var(--navy);
    color:var(--white);
    font-family:'DM Sans',system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
}
a {
    color:inherit;
    text-decoration:none;
}
button,input,textarea,select {
    font:inherit;
}
.shell {
    width:min(1220px,calc(100% - 84px));
    margin:auto;
}
h1,h2,h3,p {
    margin-top:0;
}
h1,h2,h3 {
    font-family:Manrope,'DM Sans',sans-serif;
    letter-spacing:-.055em;
}
h2 {
    font-size:clamp(38px,4.5vw,65px);
    line-height:1.12;
}
p {
    line-height:1.75;
}
.site-header {
    position:absolute;
    z-index:50;
    top:0;
    left:0;
    right:0;
    border-bottom:1px solid #ffffff17;
    background:#000d28a3;
    backdrop-filter:blur(18px);
}
.topbar {
    min-height:90px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.brand {
    display:flex;
    align-items:center;
    gap:12px;
    font-family:Manrope,sans-serif;
    font-size:21px;
    letter-spacing:-.045em;
    font-weight:600;
}
.brand img {
    object-fit:contain;
}
.brand b {
    font-weight:800;
}
.site-header nav {
    display:flex;
    align-items:center;
    gap:36px;
    font-size:13px;
    font-weight:700;
    color:#d2dff0;
}
.site-header nav>a:hover,.text-link:hover,.inline-arrow:hover {
    color:#65d2ed;
}
.nav-cta {
    border:1px solid #6b8dbb67;
    border-radius:7px;
    padding:13px 18px;
    background:#ffffff0b;
}
.nav-cta span {
    margin-left:13px;
    color:#72d5f0;
}
.kicker {
    display:flex;
    align-items:center;
    gap:12px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.19em;
    color:#84c6f5;
}
.pulse {
    width:7px;
    height:7px;
    background:#62ddf8;
    border-radius:100%;
    box-shadow:0 0 0 5px #62ddf820,0 0 22px #62ddf8;
}
.gradient-word,.soft-gradient {
    background:linear-gradient(100deg,#8b80e0 0%,#71a7ed 53%,#5de5e5 100%);
    color:transparent;
    background-clip:text;
    -webkit-background-clip:text;
}
.hero {
    position:relative;
    min-height:815px;
    overflow:hidden;
    padding:170px 0 130px;
}
.hero:after {
    content:'';
    position:absolute;
    right:-220px;
    top:-280px;
    width:950px;
    height:950px;
    border-radius:100%;
    border:1px solid #4c8ed112;
    pointer-events:none;
    box-shadow:0 0 0 85px #3263b609,0 0 0 170px #3263b604;
}
.hero-halo {
    position:absolute;
    right:0;
    top:0;
    width:70%;
    height:100%;
    background:radial-gradient(ellipse at 65% 50%,#223d8b5a 0%,#0b245a29 36%,transparent 72%);
    pointer-events:none;
}
.hero-inner {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:.98fr 1.02fr;
    gap:32px;
    align-items:center;
}
.hero-copy h1 {
    font-size:clamp(54px,5.5vw,82px);
    line-height:1.09;
    margin:25px 0 31px;
    max-width:730px;
}
.hero-lead {
    font-size:20px;
    letter-spacing:-.02em;
    color:#e0e9f7;
    margin-bottom:14px;
}
.hero-lead strong {
    color:#fff;
}
.hero-body {
    color:#a9bbd6;
    font-size:16px;
    max-width:485px;
    line-height:1.8;
}
.hero-actions {
    margin-top:33px;
    display:flex;
    align-items:center;
    gap:26px;
    flex-wrap:wrap;
}
.button {
    border:0;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:28px;
    padding:17px 22px;
    border-radius:7px;
    font-size:13px;
    font-weight:800;
    transition:transform .2s,box-shadow .2s;
}
.button:hover {
    transform:translateY(-2px);
}
.button-primary {
    background:linear-gradient(105deg,#6a7ed5,#469ddc);
    color:white;
    box-shadow:0 12px 32px #348cdd38;
}
.text-link {
    font-size:13px;
    font-weight:700;
    color:#d5e4f6;
}
.text-link span {
    margin-left:8px;
    color:#73d6ee;
}
.hero-footnote {
    margin-top:69px;
    font-size:10px;
    font-weight:800;
    color:#7f95b4;
    letter-spacing:.13em;
}
.vision-stage {
    position:relative;
    transform:perspective(1350px) rotateY(-8deg) rotateX(2deg);
    filter:drop-shadow(0 40px 65px #00081bb0);
    isolation:isolate;
    margin-left:6px;
}
.stage-glow {
    position:absolute;
    z-index:-1;
    inset:10%;
    background:#527df899;
    filter:blur(110px);
    border-radius:100%;
}
.stage-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:#0c1d3e;
    border:1px solid #7496d944;
    border-bottom:0;
    border-radius:17px 17px 0 0;
    padding:19px 23px;
}
.stage-label {
    font-size:10px;
    letter-spacing:.12em;
    font-weight:800;
    color:#cce0ff;
}
.stage-label b {
    font-weight:500;
    color:#7897c8;
}
.stage-status {
    font-size:9px;
    font-weight:800;
    color:#8ad4ef;
    letter-spacing:.12em;
}
.stage-status i {
    display:inline-block;
    width:6px;
    height:6px;
    border-radius:100%;
    background:#63dced;
    margin-right:6px;
    box-shadow:0 0 10px #5ad9ff;
}
.stage-main {
    background:linear-gradient(142deg,#14264c,#071a39 67%,#08192f);
    border:1px solid #7496d944;
    border-radius:0 0 17px 17px;
    padding:33px 28px 24px;
    min-height:365px;
}
.stage-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:27px;
}
.stage-heading small {
    font-size:9px;
    letter-spacing:.17em;
    color:#95a9ca;
}
.stage-heading h2 {
    font-size:26px;
    margin:6px 0 0;
    letter-spacing:-.03em;
}
.stage-chip {
    font-size:10px;
    color:#bbcee9;
    border:1px solid #7b9bd13b;
    border-radius:5px;
    padding:10px;
}
.stage-chip span {
    margin-left:10px;
}
.overview-rail {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}
.rail-block {
    border:1px solid #6e96db38;
    background:linear-gradient(155deg,#122a55,#0a1c3b);
    border-radius:9px;
    padding:17px 13px;
    min-height:194px;
    display:flex;
    flex-direction:column;
}
.rail-feature {
    background:linear-gradient(150deg,#254f91,#12345f);
}
.rail-block>span {
    font-size:9px;
    color:#9dbbe1;
    letter-spacing:.08em;
    font-weight:800;
}
.rail-block b {
    font-size:13px;
    margin-top:auto;
    letter-spacing:-.025em;
}
.rail-block small {
    color:#95aeca;
    font-size:9px;
    line-height:1.5;
    margin-top:5px;
}
.rail-symbol {
    font-size:53px;
    color:#68e2f5;
    line-height:1.35;
}
.rail-ring {
    border:7px solid #69bce72b;
    border-top-color:#69ccea;
    border-right-color:#9b8fe3;
    width:66px;
    height:66px;
    border-radius:50%;
    margin:17px auto;
}
.mini-spark {
    margin:43px 0 25px;
    height:32px;
    display:flex;
    align-items:end;
    gap:5px;
}
.mini-spark i {
    display:block;
    flex:1;
    background:linear-gradient(#67d2ef,#5669ae);
    border-radius:3px 3px 0 0;
    height:45%;
}
.mini-spark i:nth-child(2) {
    height:70%;
}
.mini-spark i:nth-child(3) {
    height:54%;
}
.mini-spark i:nth-child(4) {
    height:83%;
}
.mini-spark i:nth-child(5) {
    height:62%;
}
.mini-spark i:nth-child(6) {
    height:100%;
}
.stage-activity {
    border-top:1px solid #ffffff1a;
    margin-top:22px;
    padding-top:18px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
}
.stage-activity span {
    font-size:9px;
    font-weight:800;
    letter-spacing:.13em;
    color:#a6bad7;
}
.stage-flow {
    display:flex;
    gap:5px;
}
.stage-flow i {
    width:28px;
    height:3px;
    background:#438dcc;
    border-radius:3px;
}
.stage-flow i:nth-child(3) {
    background:#7f80d9;
}
.stage-flow i:nth-child(4) {
    background:#69cfe8;
}
.stage-flow i:nth-child(5) {
    background:#4f6ab4;
}
.stage-caption {
    text-align:right;
    font-size:10px;
    color:#869cbb;
    margin-top:12px;
    font-style:italic;
}
.scroll-cue {
    position:absolute;
    bottom:48px;
    left:calc((100% - min(1220px,100% - 84px))/2);
    font-size:10px;
    letter-spacing:.18em;
    color:#809abd;
    font-weight:800;
}
.scroll-cue span {
    margin-left:14px;
    font-size:17px;
}
.reveal-section {
    background:#eff4fa;
    color:#102343;
    padding:122px 0;
}
.reveal-grid {
    display:grid;
    grid-template-columns:1fr .82fr;
    gap:11%;
    align-items:center;
}
.reveal-section .kicker {
    color:#477dbd;
}
.section-intro h2 {
    margin:22px 0 0;
    max-width:650px;
}
.section-intro em {
    font-style:normal;
    color:#356cad;
}
.reveal-copy {
    padding-top:28px;
}
.reveal-copy p {
    font-size:17px;
    color:#50637f;
    line-height:1.9;
}
.inline-arrow {
    display:inline-flex;
    align-items:center;
    gap:25px;
    font-size:13px;
    font-weight:800;
    margin-top:17px;
    border-bottom:1px solid #94bee6;
    padding-bottom:13px;
    color:#2e6bad;
}
.inline-arrow span {
    font-size:19px;
}
.outcome-section {
    background:#061736;
    padding:125px 0 142px;
}
.outcome-top {
    text-align:center;
}
.outcome-top .kicker {
    justify-content:center;
}
.outcome-top h2 {
    margin:18px 0 67px;
}
.outcome-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}
.outcome-grid article {
    border-top:1px solid #427bbb;
    padding:30px 5px 0;
}
.outcome-index {
    font-size:10px;
    letter-spacing:.15em;
    color:#7bc8ef;
    font-weight:800;
}
.outcome-grid h3 {
    font-size:27px;
    margin:40px 0 14px;
}
.outcome-grid p {
    font-size:14px;
    color:#9fb3d1;
    max-width:315px;
}
.window-section {
    background:#000d28;
    padding:105px 0 125px;
}
.window-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9%;
    align-items:center;
}
.window-art {
    position:relative;
}
.art-overline {
    font-size:10px;
    letter-spacing:.18em;
    color:#7895c3;
    margin-bottom:16px;
    font-weight:800;
}
.art-frame {
    height:350px;
    border:1px solid #3d6194;
    border-radius:12px;
    background:linear-gradient(145deg,#152b56,#07182f);
    overflow:hidden;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 22px 75px #0007;
}
.art-frame img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}
.art-frame img:not([src]) {
    display:none;
}
.art-frame span {
    z-index:1;
    max-width:220px;
    font-size:12px;
    color:#8aa8d0;
    text-align:center;
    letter-spacing:.06em;
    background:#06162ebb;
    padding:15px;
}
.window-copy h2 {
    margin:23px 0 21px;
}
.window-copy p {
    color:#a7bbd5;
    font-size:16px;
    line-height:1.9;
}
.window-copy .inline-arrow {
    color:#87d7f4;
    border-color:#5b8bb0;
}
.conversion {
    padding:125px 0 150px;
    background:radial-gradient(ellipse at 25% 25%,#173b76 0%,#071b3b 38%,#000d28 78%);
}
.conversion-grid {
    display:grid;
    grid-template-columns:.9fr 1fr;
    gap:9%;
    align-items:start;
}
.conversion-copy {
    padding-top:40px;
}
.conversion-copy h2 {
    margin:23px 0 25px;
}
.conversion-copy>p {
    color:#b0c2dc;
    font-size:17px;
    line-height:1.9;
}
.contact-promise {
    display:flex;
    align-items:center;
    gap:15px;
    margin-top:55px;
    padding-top:25px;
    border-top:1px solid #ffffff2b;
}
.contact-promise>span {
    border:1px solid #638db6;
    border-radius:50%;
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    color:#6bd9ed;
}
.contact-promise b {
    font-size:13px;
    display:block;
}
.contact-promise small {
    display:block;
    font-size:12px;
    margin-top:5px;
    color:#9bafce;
}
.form-panel {
    border:1px solid #6982b45c;
    background:#081b38f2;
    box-shadow:0 32px 100px #0007;
    border-radius:16px;
    padding:33px;
}
.form-panel h3 {
    font-size:24px;
    letter-spacing:-.04em;
    margin-bottom:5px;
}
.form-panel .small {
    color:#9bb2d2;
    font-size:13px;
    margin-bottom:25px;
}
.form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
}
.field {
    margin-bottom:16px;
}
.field label {
    display:block;
    font-size:11px;
    color:#c4d5ed;
    font-weight:800;
    margin:0 0 7px;
}
.field input,.field textarea,.field select {
    width:100%;
    min-width:0;
    background:#102a50;
    color:white;
    border:1px solid #45658e;
    border-radius:5px;
    padding:12px;
    outline:none;
    font-size:13px;
}
.field input:focus,.field textarea:focus,.field select:focus {
    border-color:#76cceb;
    box-shadow:0 0 0 2px #76cceb22;
}
.field textarea {
    min-height:90px;
    resize:vertical;
}
.form-panel .btn {
    background:linear-gradient(100deg,#647ed5,#409fd5);
    color:#fff;
    border:0;
    border-radius:6px;
    padding:15px 22px;
    cursor:pointer;
    font-size:13px;
    font-weight:800;
}
.tiny {
    font-size:10px;
    color:#879ebd;
    line-height:1.6;
    margin:15px 0 0;
}
.hidden {
    position:absolute;
    left:-9999px;
}
.notice {
    padding:12px;
    margin:15px 0;
    border-radius:5px;
}
.notice.success {
    background:#173e4b;
    color:#b2f8ed;
}
.notice.error {
    background:#5d2639;
    color:#ffe1e7;
}
.footer {
    background:#00081b;
    border-top:1px solid #253656;
    padding:35px 0;
}
.footer-content {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.footer-content>div,.footer-content small {
    font-size:11px;
    color:#8195b5;
}
.footer .brand {
    font-size:18px;
}
.footer small a {
    text-decoration:underline;
}
.details-hero {
    padding:175px 0 105px;
    background:radial-gradient(ellipse at 80% 30%,#173c76,#000d28 65%);
}
.details-hero h1 {
    font-size:clamp(48px,6vw,76px);
    max-width:850px;
    margin:20px 0;
}
.details-hero p {
    max-width:650px;
    color:#aac0dd;
    font-size:18px;
}
.details-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin:45px 0;
}
.detail-card {
    padding:35px;
    border:1px solid #42639577;
    border-radius:10px;
    background:#0b2142;
}
.detail-card small {
    color:#76c6ef;
    font-size:10px;
    letter-spacing:.14em;
    font-weight:800;
}
.detail-card h2 {
    font-size:26px;
    margin:24px 0 12px;
}
.detail-card p {
    color:#afc1dc;
    font-size:14px;
}
.details-cta {
    text-align:center;
    padding:80px 0 115px;
}
.details-cta h2 {
    max-width:700px;
    margin:0 auto 35px;
}
.details-cta .button {
    margin:auto;
}
@media(max-width:1050px) {
    .hero-inner {
        grid-template-columns:1fr;
    }
    .hero {
        padding-top:160px;
    }
    .hero-copy h1 {
        max-width:800px;
    }
    .vision-stage {
        margin-top:35px;
        max-width:670px;
        transform:none;
    }
    .hero-footnote {
        margin-top:35px;
    }
    .scroll-cue {
        display:none;
    }
}
@media(max-width:720px) {
    .shell {
        width:calc(100% - 36px);
    }
    .topbar {
        min-height:75px;
    }
    .brand {
        font-size:19px;
    }
    .site-header nav {
        gap:12px;
    }
    .site-header nav>a:not(.nav-cta) {
        display:none;
    }
    .nav-cta {
        padding:11px;
        font-size:11px;
    }
    .hero {
        padding:132px 0 75px;
        min-height:0;
    }
    .hero-copy h1 {
        font-size:clamp(43px,10vw,65px);
    }
    .hero-lead {
        font-size:17px;
    }
    .hero-body {
        font-size:14px;
    }
    .hero-footnote {
        font-size:9px;
    }
    .vision-stage {
        margin-left:0;
    }
    .stage-top {
        padding:15px;
    }
    .stage-main {
        padding:22px 14px;
        min-height:0;
    }
    .stage-heading h2 {
        font-size:20px;
    }
    .stage-chip {
        display:none;
    }
    .rail-block {
        padding:12px 8px;
        min-height:157px;
    }
    .rail-block b {
        font-size:11px;
    }
    .rail-block small {
        font-size:8px;
    }
    .rail-block>span {
        font-size:8px;
    }
    .rail-symbol {
        font-size:38px;
    }
    .rail-ring {
        width:50px;
        height:50px;
        border-width:5px;
        margin:15px auto;
    }
    .mini-spark {
        margin:28px 0;
    }
    .reveal-section,.outcome-section,.window-section,.conversion {
        padding:77px 0;
    }
    .reveal-grid,.window-grid,.conversion-grid {
        grid-template-columns:1fr;
        gap:38px;
    }
    .section-intro h2,.outcome-top h2,.window-copy h2,.conversion-copy h2 {
        font-size:clamp(36px,9vw,52px);
    }
    .reveal-copy p,.conversion-copy>p {
        font-size:15px;
    }
    .outcome-grid {
        grid-template-columns:1fr;
        gap:20px;
    }
    .outcome-grid article {
        padding:20px 0;
    }
    .outcome-grid h3 {
        margin:20px 0 10px;
    }
    .outcome-top h2 {
        margin-bottom:40px;
    }
    .window-art {
        order:2;
    }
    .window-copy {
        order:1;
    }
    .art-frame {
        height:260px;
    }
    .conversion-copy {
        padding-top:0;
    }
    .contact-promise {
        margin-top:24px;
    }
    .form-panel {
        padding:23px 18px;
    }
    .footer-content {
        flex-wrap:wrap;
    }
    .footer-content>div {
        display:none;
    }
}
@media(max-width:400px) {
    .form-grid {
        grid-template-columns:1fr;
    }
    .rail-block small {
        display:none;
    }
    .rail-block {
        min-height:130px;
    }
    .stage-status {
        font-size:7px;
    }
    .stage-label {
        font-size:8px;
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    .button {
        transition:none;
    }
}

/* Complete replacement wordmark on the secondary platform page. */
.brand .complete-wordmark {
    display: block;
    width: auto;
    height: 44px;
    max-width: min(310px, 55vw);
    object-fit: contain;
    object-position: left center;
}
@media (max-width: 700px) {
    .brand .complete-wordmark {
        height: 34px;
        max-width: 52vw;
    }
}
