        :root {
            color-scheme: light;
            --ink: #090909;
            --muted: #747474
        }

        * {
            box-sizing: border-box
        }

        html {
            scroll-behavior: smooth
        }

        body {
            margin: 0;
            font-family: Arial, Helvetica, "PingFang SC", sans-serif;
            color: var(--ink);
            background: #fff;
            min-height: 100vh
        }

        button, input, textarea {
            font: inherit
        }

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

        .background {
            position: absolute;
            z-index: -1;
            inset: 0 0 auto;
            height: 510px;
            overflow: hidden;
            background: linear-gradient(to bottom, #f7f9fa 0%, #fff 95%);
            pointer-events: none
        }

        .rings {
            position: absolute;
            top: -507px;
            left: 50%;
            transform: translateX(-50%);
            height: 1580px;
            width: 1580px;
            border-radius: 50%;
            background: repeating-radial-gradient(circle, transparent 0, transparent 95px, rgba(160, 169, 176, .13) 96px, transparent 97px);
            opacity: .85
        }

        .topbar {
            height: 91px;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            padding-top: 23px;
            gap: 22px
        }

        .mark {
            height: 47px;
            width: 47px;
            display: grid;
            place-items: center;
            border-radius: 50%;
            background: rgba(255, 255, 255, .83);
            box-shadow: 0 4px 25px rgba(0, 0, 0, .035)
        }

        .mark svg {
            width: 36px;
            height: 36px
        }

        .mark .nav-logo {
            width: 36px;
            height: 36px;
            object-fit: contain;
            display: block;
        }

        .nav {
            display: flex;
            align-items: center;
            gap: 1px;
            padding: 5px 6px;
            background: rgba(255, 255, 255, .65);
            border-radius: 45px;
            box-shadow: 0 5px 35px rgba(20, 25, 30, .045);
            backdrop-filter: blur(14px)
        }

        .nav a {
            font-size: 14px;
            color: #666;
            padding: 11px 20px;
            border-radius: 30px;
            transition: .2s;
            white-space: nowrap
        }

        .nav a:hover {
            background: #f5f5f5;
            color: #080808
        }

        .nav a.active {
            background: white;
            color: #080808;
            box-shadow: 0 4px 16px rgba(0, 0, 0, .065)
        }

        .hero {
            text-align: center;
            padding: 104px 16px 150px
        }

        .hero h1 {
            font-size: clamp(42px, 3.7vw, 58px);
            line-height: 1.1;
            letter-spacing: -1.5px;
            margin: 0;
            font-weight: 800
        }

        .hero p {
            font-family: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;
            font-size: clamp(23px, 3.5vw, 50px);
            font-style: italic;
            font-weight: 500;
            line-height: 1.35;
            letter-spacing: -1.2px;
            color: #6c6c6c;
            margin: 23px 0 0
        }

        .quote {
            color: #aaa
        }

        .cards {
            max-width: 1048px;
            margin: 0 auto 185px;
            display: grid;
            gap: 20px
        }

        .apply-card {
            position: relative;
            width: 100%;
            min-height: 180px;
            padding: 44px 34px;
            border: 1px solid #f0f1f2;
            text-align: left;
            border-radius: 23px;
            background: linear-gradient(105deg, #fff 12%, rgba(250, 251, 252, .96) 50%, rgba(224, 228, 231, .9) 100%);
            overflow: hidden;
            box-shadow: 0 14px 28px rgba(32, 36, 43, .048);
            cursor: pointer;
            isolation: isolate;
            transition: transform .3s, box-shadow .3s
        }

        .apply-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 22px 42px rgba(32, 36, 43, .095)
        }

        .apply-card h2 {
            font-size: clamp(27px, 2.8vw, 39px);
            line-height: 1.1;
            letter-spacing: -1.2px;
            margin: 0 0 13px;
            font-weight: 800;
            position: relative;
            z-index: 1
        }

        .apply-card small {
            font-size: 14px;
            color: #777;
            font-weight: 600;
            position: relative;
            z-index: 1
        }

        .pattern {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
            opacity: .55
        }

        .apply-card.pathfinder {
            background: linear-gradient(102deg, #fff 0%, #fafbfc 55%, #e4e7e9 100%)
        }

        .arrow {
            position: absolute;
            right: 31px;
            top: calc(50% - 12px);
            font-size: 24px;
            color: #777;
            opacity: 0;
            transform: translateX(-8px);
            transition: .25s
        }

        .apply-card:hover .arrow {
            opacity: 1;
            transform: translateX(0)
        }

        /* Reference-inspired multi-column footer */
        .footer {
            border-top: 1px solid #ebebeb;
            padding: 77px max(7%, calc((100vw - 1110px) / 2)) 28px;
            color: #555;
            font-size: 13px;
            background: #fff
        }

        .footer-top {
            display: grid;
            grid-template-columns:1.65fr 1fr 1fr .8fr;
            column-gap: 45px;
            min-height: 230px
        }

        .footer-brand {
            display: flex;
            align-items: flex-start;
            gap: 1px;
            color: #111;
            font-size: 40px;
            font-weight: 300;
            letter-spacing: -2px;
            line-height: 1
        }

        .footer-brand svg {
            width: 36px;
            height: 42px;
            flex-shrink: 0
        }

        .footer-brand .footer-logo {
            width: 46px;
            height: 40px;
            object-fit: contain;
            display: block;
            flex-shrink: 0;
        }

        .footer-col h3 {
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 2px;
            color: #999;
            margin: 4px 0 24px
        }

        .footer-col a {
            display: block;
            width: max-content;
            max-width: 100%;
            font-size: 13px;
            line-height: 1.5;
            margin-bottom: 13px;
            color: #555;
            transition: color .2s
        }

        .footer-col a:hover, .social a:hover {
            color: #000
        }

        .footer-bottom {
            border-top: 1px solid #e9e9e9;
            padding-top: 28px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            color: #929292;
            font-size: 12px
        }

        .social {
            display: flex;
            gap: 22px;
            align-items: center
        }

        .social a {
            color: #777;
            display: inline-flex;
            align-items: center;
            justify-content: center
        }

        .social svg {
            width: 17px;
            height: 17px;
            fill: currentColor
        }

        .demo-disclaimer {
            font-size: 10px;
            color: #aaa;
            margin-top: 24px
        }

        @media (max-width: 720px) {
            .footer {
                padding: 48px 22px 26px
            }

            .footer-top {
                grid-template-columns:1fr 1fr;
                gap: 38px 24px;
                padding-bottom: 45px
            }

            .footer-brand {
                font-size: 33px
            }

            .footer-col h3 {
                margin-bottom: 18px
            }

            .footer-bottom {
                gap: 16px;
                flex-wrap: wrap
            }

            .social {
                gap: 18px
            }
        }

        .overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(20, 23, 26, .28);
            backdrop-filter: blur(9px);
            z-index: 10;
            align-items: center;
            justify-content: center;
            padding: 16px
        }

        .overlay.show {
            display: flex
        }

        .dialog {
            position: relative;
            background: white;
            border-radius: 26px;
            width: min(100%, 540px);
            max-height: 90vh;
            overflow: auto;
            padding: 38px;
            box-shadow: 0 30px 100px #0002
        }

        .close {
            position: absolute;
            top: 18px;
            right: 19px;
            border: 0;
            background: #f4f4f4;
            width: 35px;
            height: 35px;
            border-radius: 50%;
            cursor: pointer;
            font-size: 23px
        }

        .dialog h2 {
            font-size: 32px;
            letter-spacing: -1px;
            margin: 0 0 9px
        }

        .dialog p {
            font-size: 14px;
            color: #777;
            line-height: 1.6;
            margin: 0 0 27px
        }

        .field {
            display: block;
            font-weight: 600;
            font-size: 13px;
            margin: 15px 0
        }

        .field input, .field textarea {
            display: block;
            width: 100%;
            border: 1px solid #dedede;
            border-radius: 11px;
            padding: 13px 14px;
            margin-top: 8px;
            outline: none;
            background: #fff
        }

        .field input:focus, .field textarea:focus {
            border-color: #555
        }

        .field textarea {
            min-height: 95px;
            resize: vertical
        }

        .send {
            width: 100%;
            background: #0a0a0a;
            color: #fff;
            border: 0;
            padding: 15px;
            border-radius: 13px;
            font-weight: bold;
            margin-top: 10px;
            cursor: pointer
        }

        .notice {
            font-size: 12px !important;
            margin-top: 13px !important
        }

        #feedback {
            padding-top: 12px;
            color: #326447;
            font-size: 13px
        }

        .mobile-join {
            display: none
        }

        @media (max-width: 720px) {
            .topbar {
                height: 78px;
                padding: 15px 10px;
                gap: 9px
            }

            .mark {
                width: 40px;
                height: 43px;
                flex-shrink: 0
            }

            .nav {
                padding: 4px;
                max-width: calc(100vw - 70px);
                overflow-x: auto;
                scrollbar-width: none
            }

            .nav::-webkit-scrollbar {
                display: none
            }

            .nav a {
                padding: 10px 12px;
                font-size: 12px
            }

            .hero {
                padding: 105px 16px 105px
            }

            .hero h1 {
                font-size: 44px
            }

            .hero p {
                font-size: clamp(22px, 5.7vw, 34px);
                letter-spacing: -.5px
            }

            .cards {
                margin: 0 18px 100px;
                gap: 18px
            }

            .apply-card {
                min-height: 170px;
                padding: 39px 24px
            }

            .apply-card h2 {
                font-size: 29px
            }

            .background {
                height: 490px
            }

            .rings {
                width: 1000px;
                height: 1000px;
                top: -315px
            }

            .dialog {
                padding: 30px 23px
            }
        }

        @media (prefers-reduced-motion: reduce) {
            *, *:before, *:after {
                scroll-behavior: auto !important;
                transition: none !important
            }
        }
