 
      

        html {
            scroll-behavior: smooth;
        }

      

     

        a {
            color: inherit;
            text-decoration: none;
        }

        .mono {
            font-family: 'JetBrains Mono', monospace;
        }

        .wrap {
            max-width: 1180px;
            margin: 0 auto;
            padding: 0 32px;
        }

        @media(max-width:640px) {
            .wrap {
                padding: 0 20px;
            }
        }

        /* topographic background */
        .topo {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
            opacity: 0.55;
        }

        .topo path {
            fill: none;
            stroke: #22422f;
            stroke-width: 1;
        }

        .signal-dot {
            fill: #a50606;
            filter: drop-shadow(0 0 6px #a50606);
        }

   

        /* hero */
        .hero {
            position: relative;
            padding: 120px 0 90px;
            overflow: hidden;
        }

        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.78rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #a50606;
            border: 1px solid rgba(201, 239, 94, 0.35);
            padding: 6px 14px;
            border-radius: 999px;
            margin-bottom: 16px;
        }

        .eyebrow::before {
            content: "";
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: #a50606;
        }

        .hero h1 {
            position: relative;
            z-index: 1;
            font-size: clamp(2.4rem, 5.4vw, 4.4rem);
            max-width: 820px;
            color: black;
        }

        .hero h1 em {
            font-style: italic;
            color: #a50606;
        }

        .hero p {
            position: relative;
            z-index: 1;
            max-width: 560px;
            margin-top: 24px;
            color: #1b1b1b;
            font-size: 1.08rem;
        }

        .hero-actions {
            position: relative;
            z-index: 1;
            display: flex;
            gap: 16px;
            margin-top: 38px;
            flex-wrap: wrap;
        }

        .btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 14px 26px;
            border-radius: 999px;
            border: 1px rgb(255, 255, 255) solid;
            font-weight: 700;
            font-size: 0.95rem;
            transition: transform .2s, background .2s;
        }

       

        .btn-ghost {
            border: 1px solid rgba(243, 241, 232, 0.3);
            color: ;
        }

        .btn-ghost:hover {
            border-color: ;
        }


        /* section shell */
        section {
            padding: 100px 0;
        }

        .section-head {
            max-width: 640px;
            margin-bottom: 56px;
        }

        .section-head .eyebrow {
            margin-bottom: 18px;
        }
   .section-head2 {
            max-width: 640px;
            margin-bottom: 26px;
        }

        .section-head2 .eyebrow {
            margin-bottom: 18px;
        }
        .section-head2 h2 {
            font-size: clamp(1.9rem, 3.4vw, 2.7rem);
            color: rgb(0, 0, 0);
        }
         .section-head h2 {
            font-size: clamp(1.9rem, 3.4vw, 2.7rem);
            color: white;
        }

        .section-head p {
            color: #8fa396;
            margin-top: 14px;
            font-size: 1rem;
        }

        /* culture grid */
        .culture-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
        }

        @media(max-width:900px) {
            .culture-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media(max-width:600px) {
            .culture-grid {
                grid-template-columns: 1fr;
            }
        }

        .culture-card {
            background: var(--forest);
            border: 1px solid #22422f;
            border-radius: 14px;
            padding: 30px 26px;
        }

        .culture-card .mono {
            color: #a50606;
            font-size: 0.8rem;
            letter-spacing: 0.06em;
        }

        .culture-card h3 {
            font-size: 1.2rem;
            margin: 14px 0 10px;
            color: ;
        }

        .culture-card p {
            color: #8fa396;
            font-size: 0.94rem;
        }

        /* roles */
        .roles-section {
            background: black;
            border-top: 1px solid #22422f;
            border-bottom: 1px solid #22422f;
        }

        .role-list {
            display: flex;
            flex-direction: column;
            gap: 1px;
            background: #22422f;
            border-radius: 14px;
            overflow: hidden;
            border: 1px solid #22422f;
        }

        .role {
            background: white;
            padding: 26px 28px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            flex-wrap: wrap;
            transition: background .2s;
        }

       

        .role-main h3 {
            font-size: 1.15rem;
            color: ;
            font-weight: 600;
            margin-bottom: 8px;
        }

        .role-tags {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }

        .tag {
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.72rem;
            letter-spacing: 0.03em;
            color: #8fa396;
            border: 1px solid #22422f;
            padding: 4px 10px;
            border-radius: 999px;
        }

        .tag.type {
            color: #a50606;
            border-color: rgba(227, 163, 90, 0.35);
        }

        .role-apply {
            display: flex;
            align-items: center;
            gap: 8px;
            font-weight: 700;
            font-size: 0.92rem;
            color: #a50606;
            white-space: nowrap;
        }

        .role-apply svg {
            width: 16px;
            height: 16px;
            transition: transform .2s;
        }

        .role:hover .role-apply svg {
            transform: translateX(4px);
        }

        .roles-note {
            margin-top: 26px;
            color: #8fa396;
            font-size: 0.92rem;
        }

        .roles-note a {
            color: #a50606;
            font-weight: 600;
        }

        /* process */
        .process {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 24px;
        }

        @media(max-width:900px) {
            .process {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media(max-width:560px) {
            .process {
                grid-template-columns: 1fr;
            }
        }

        .step {
            position: relative;
            padding-top: 20px;
            border-top: 1px solid #22422f;
        }

        .step .num {
            font-family: 'JetBrains Mono', monospace;
            color: #a50606;
            font-size: 0.85rem;
        }

        .step h3 {
            font-size: 1.08rem;
            margin: 12px 0 8px;
            color: ;
        }

        .step p {
            color: #8fa396;
            font-size: 0.9rem;
        }

        /* cta */
        .cta {
            position: relative;
            background: #a50606;
            color: var(--forest-deep);
            border-radius: 24px;
            padding: 70px 50px;
            text-align: center;
            overflow: hidden;
            margin: 0 32px;
        }

        @media(max-width:640px) {
            .cta {
                padding: 50px 26px;
                margin: 0 20px;
            }
        }

        .cta h2 {
            font-size: clamp(1.9rem, 3.6vw, 2.8rem);
            color: white;
            max-width: 640px;
            margin: 0 auto;
        }

        .cta p {
            margin-top: 16px;
            color: #ffffff;
            font-size: 1rem;
        }

       

  









