:root {
        --navy: #071a38;
        --body: #5e6b7d;
        --muted: #687588;
        --line: #e3e6eb;
        --blue: #2788ed;
        --logo-blue: #8fb1d9;
        --purple: #7615e8;
        --pale: #eef6ff;
        --max: 1160px;
    }

    * { box-sizing: border-box; }

    html { scroll-behavior: smooth; }

    body {
        margin: 0;
        background: #fff;
        color: var(--body);
        font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
        -webkit-font-smoothing: antialiased;
    }

    a { color: inherit; }

    .site-header {
        height: 146px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        max-width: var(--max);
        margin: 0 auto;
        padding: 0 36px;
    }

    .brand {
        display: inline-flex;
        flex-direction: column;
        text-decoration: none;
        line-height: 1;
    }

    .brand-name {
        font-size: 74px;
        font-weight: 500;
        letter-spacing: -5px;
        color: var(--navy);
    }

    .brand-name span { color: var(--logo-blue); }

    .brand-tagline {
        margin-top: 7px;
        padding-left: 4px;
        color: var(--navy);
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 4px;
        white-space: nowrap;
    }

    .email {
        display: flex;
        align-items: center;
        gap: 14px;
        color: #17233a;
        text-decoration: none;
        font-size: 16px;
    }

    .email svg {
        width: 25px;
        height: 25px;
        stroke: var(--navy);
        fill: none;
        stroke-width: 1.6;
    }

    .hero {
        position: relative;
        min-height: 562px;
        overflow: hidden;
        background:
            radial-gradient(ellipse at 20% 20%, rgba(255,255,255,.95) 0 26%, transparent 58%),
            linear-gradient(112deg, #f9fcff 0%, #eef6ff 43%, #d9eafa 100%);
    }
    /* Abstract flowing shapes inspired by the supplied reference */
    .hero::before,
    .hero::after {
        content: "";
        position: absolute;
        pointer-events: none;
        right: -7%;
        top: 4%;
        width: 67%;
        height: 100%;
        border-radius: 50% 0 0 50%;
        transform: rotate(-17deg);
        background: linear-gradient(150deg, rgba(255,255,255,.78), rgba(177,211,241,.35));
        box-shadow:
            -80px 85px 0 -18px rgba(255,255,255,.55),
            -150px 170px 0 -30px rgba(160,201,236,.28);
    }

    .hero::after {
        right: -13%;
        top: 26%;
        width: 72%;
        height: 55%;
        transform: rotate(-23deg);
        background: linear-gradient(150deg, rgba(255,255,255,.62), rgba(155,198,236,.28));
        box-shadow: -90px 50px 0 -20px rgba(255,255,255,.5);
    }

    .hero-inner {
        position: relative;
        z-index: 2;
        max-width: var(--max);
        min-height: 562px;
        margin: 0 auto;
        padding: 64px 36px 56px;
    }

    .eyebrow,
    .section-label {
        margin: 0 0 29px;
        color: #647188;
        font-size: 14px;
        line-height: 1.7;
        font-weight: 500;
        letter-spacing: 5px;
        text-transform: uppercase;
    }

    .hero h1 {
        max-width: 590px;
        margin: 0 0 31px;
        color: var(--navy);
        font-size: clamp(52px, 5.2vw, 76px);
        line-height: .99;
        letter-spacing: -3px;
        font-weight: 650;
    }

    .hero-copy {
        max-width: 530px;
        margin: 0;
        color: #647084;
        font-size: 23px;
        line-height: 1.45;
        letter-spacing: -.3px;
    }

    .content {
        max-width: var(--max);
        margin: 0 auto;
        padding: 54px 36px 50px;
    }

    .product {
        padding-bottom: 43px;
        border-bottom: 1px solid var(--line);
    }

    .product .section-label { margin-bottom: 24px; }

    .product-logo {
        display: flex;
        align-items: center;
        margin-bottom: 29px;
        max-width: 150px !important;
    }

    .product-mark {
        position: relative;
        width: 53px;
        height: 53px;
        flex: 0 0 53px;
    }

    .product-mark::before,
    .product-mark::after {
        content: "";
        position: absolute;
        width: 30px;
        height: 17px;
        border: 8px solid currentColor;
        border-radius: 8px;
        transform: rotate(-45deg);
    }

    .product-mark::before { left: 2px; top: 8px; }
    .product-mark::after { right: 1px; bottom: 8px; }

    .product-name {
        font-size: 48px;
        line-height: 1;
        font-weight: 700;
        letter-spacing: -2px;
    }

    .trademark {
        align-self: flex-start;
        margin-top: 3px;
        font-size: 11px;
        font-weight: 700;
    }

    .product-description {
        max-width: 880px;
        margin: 0 0 28px;
        color: #687588;
        font-size: 22px;
        line-height: 1.48;
    }

    .button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 13px;
        min-height: 58px;
        padding: 0 30px;
        border-radius: 999px;
        background: var(--blue);
        color: #fff;
        text-decoration: none;
        font-size: 19px;
        font-weight: 500;
        transition: transform .2s ease, box-shadow .2s ease;
    }

    .button:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(39,136,237,.22);
    }

    .button svg {
        width: 20px;
        height: 20px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
    }

    .values {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        padding: 36px 0 45px;
        border-bottom: 1px solid var(--line);
    }

    .value {
        display: grid;
        grid-template-columns: 76px 1fr;
        gap: 20px;
        padding: 0 30px;
    }

    .value:first-child { padding-left: 0; }
    .value + .value { border-left: 1px solid var(--line); }

    .value-icon {
        width: 68px;
        height: 68px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        background: #f0f6fd;
        color: #52657f;
    }

    .value-icon svg {
        width: 38px;
        height: 38px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.5;
    }

    .value h3 {
        margin: 9px 0 9px;
        color: #0c1730;
        font-size: 19px;
        line-height: 1.2;
        font-weight: 650;
    }

    .value p {
        margin: 0;
        color: #687588;
        font-size: 16px;
        line-height: 1.45;
    }

    .footer {
        padding-top: 29px;
        padding-bottom: 36px;
        color: #687588;
        font-size: 16px;
        line-height: 1.5;
    }

    .footer strong {
        display: block;
        color: #101b30;
        font-size: 17px;
        font-weight: 650;
    }

    @media (max-width: 800px) {
        .site-header {
            height: 183px;
            padding: 25px 50px 22px;
            align-items: flex-start;
        }

        .brand-name { font-size: 60px; }
        .brand-tagline { font-size: 9px; letter-spacing: 3.2px; }
        .email { display: none; }

        .hero {
            min-height: 525px;
        }

        .hero-inner {
            min-height: 525px;
            padding: 38px 50px 42px;
        }

        .hero::before,
        .hero::after {
            right: -36%;
            top: 8%;
            width: 92%;
            height: 82%;
        }

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

        .hero-copy {
            max-width: 480px;
            font-size: 22px;
        }

        .content { padding: 45px 50px 35px; }

        .values {
            display: block;
            padding: 26px 0 30px;
        }

        .value {
            grid-template-columns: 80px 1fr;
            padding: 18px 0;
        }

        .value + .value {
            border-left: 0;
        }
    }

    @media (max-width: 560px) {
        .site-header {
            height: 183px;
            padding: 25px 50px 20px;
        }

        .brand-name {
            font-size: 55px;
            letter-spacing: -4px;
        }

        .brand-tagline {
            margin-top: 6px;
            font-size: 8.5px;
            letter-spacing: 2.7px;
        }

        .hero {
            min-height: 520px;
        }

        .hero-inner {
            min-height: 520px;
            padding: 37px 50px 35px;
        }

        .eyebrow {
            max-width: 360px;
            margin-bottom: 27px;
            font-size: 13px;
            letter-spacing: 4px;
            line-height: 1.8;
        }

        .hero h1 {
            max-width: 500px;
            margin-bottom: 26px;
            font-size: clamp(43px, 11.5vw, 54px);
            line-height: 1.03;
            letter-spacing: -2.3px;
        }

        .hero-copy {
            max-width: 430px;
            font-size: 20px;
            line-height: 1.42;
        }

        .content {
            padding: 43px 50px 25px;
        }

        .section-label {
            margin-bottom: 22px;
            font-size: 13px;
            letter-spacing: 4.5px;
        }

        .product-logo {
            gap: 11px;
            margin-bottom: 25px;
        }

        .product-description {
            margin-bottom: 24px;
            font-size: 19px;
            line-height: 1.45;
        }

        .button {
            min-height: 59px;
            width: 100%;
            font-size: 18px;
        }

        .value {
            grid-template-columns: 92px 1fr;
            gap: 18px;
            padding: 14px 0;
        }

        .value-icon {
            width: 78px;
            height: 78px;
        }

        .value h3 {
            margin-top: 5px;
            font-size: 18px;
        }

        .value p {
            font-size: 16px;
        }

        .footer {
            padding-top: 25px;
            font-size: 15px;
        }

        .footer strong { font-size: 16px; }
    }

    @media (max-width: 390px) {
        .site-header,
        .hero-inner,
        .content {
            padding-left: 28px;
            padding-right: 28px;
        }

        .site-header { height: 160px; }
        .brand-name { font-size: 49px; }

        .hero,
        .hero-inner { min-height: 525px; }

        .hero h1 { font-size: 42px; }

        .hero-copy,
        .product-description { font-size: 18px; }

        .value {
            grid-template-columns: 76px 1fr;
            gap: 13px;
        }

        .value-icon {
            width: 66px;
            height: 66px;
        }
    }
