:root {
            --bg-soft-white: var(--bg);
            --deep-forest: var(--brand);
            --harvest-amber: var(--accent);
            --harvest-amber-hover: var(--accent-hover);
            --charcoal: var(--ink);
            --charcoal-mid: var(--ink-mid);
            --midnight-forest: var(--brand-deep);
        }

        body { line-height: var(--lh-normal); }
        nav {
            position: fixed;
            top: 0;
            width: 100%;
            height: 64px;
            z-index: 200;
            padding: 0 2rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: rgba(248,247,243,0.94);
            border-bottom: 1px solid var(--line);
            backdrop-filter: blur(24px) saturate(180%);
        }
        .logo { display: block; height: 32px; }
        .logo img { display: block; width: auto; height: 32px; }
        .nav-right { display: flex; align-items: center; gap: 1.5rem; }
        .nav-link, .nav-cta {
            color: var(--charcoal-mid);
            text-decoration: none;
            font-size: 0.82rem;
            font-weight: 600;
            letter-spacing: 0.02em;
            transition: color 0.2s, background 0.2s;
        }
        .nav-link:hover { color: var(--deep-forest); }
        .nav-cta {
            padding: 0.5rem 1.3rem;
            color: var(--deep-forest);
            border: 1px solid var(--deep-forest);
            border-radius: var(--radius-sm);
        }
        .nav-cta:hover { background: rgba(18,54,41,0.05); }
        .hamburger {
            display: none;
            flex-direction: column;
            gap: 5px;
            padding: 4px;
            border: 0;
            background: none;
            cursor: pointer;
            z-index: 210;
        }
        .hamburger span { width: 24px; height: 2px; background: var(--charcoal); border-radius: 2px; transition: all 0.3s; }
        .hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
        .hamburger.active span:nth-child(2) { opacity: 0; }
        .hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
        .mobile-menu {
            display: none;
            position: fixed;
            inset: 0;
            z-index: 150;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 2rem;
            background: var(--bg-soft-white);
        }
        .mobile-menu.active { display: flex; }
        .mobile-menu a { color: var(--charcoal); font-family: var(--font-display); font-size: 1.3rem; font-weight: 600; text-decoration: none; }
        .mobile-menu a:hover { color: var(--deep-forest); }

        .partner-hero {
            min-height: 88vh;
            padding: 9rem 2rem 7rem;
            background: var(--bg);
        }
        .hero-inner, .section-inner { max-width: var(--w-base); margin: 0 auto; }
        .hero-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
            align-items: center;
            gap: clamp(3rem, 8vw, 8rem);
        }
        .eyebrow, .section-label {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            margin-bottom: 1.25rem;
            color: var(--harvest-amber);
            font-size: var(--fs-xs);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: var(--tracking-wider);
        }
        .eyebrow::before, .section-label::before { content: ''; width: 20px; height: 1px; background: currentColor; opacity: 0.7; }
        h1, h2, h3 { font-family: var(--font-display); line-height: var(--lh-tight); letter-spacing: var(--tracking-tighter); }
        h1 { max-width: 11ch; margin-bottom: 1.5rem; color: var(--deep-forest); font-size: var(--fs-display); font-weight: 600; }
        h1 em, h2 em { color: var(--harvest-amber); font-style: normal; }
        .hero-copy { max-width: 38rem; color: var(--charcoal-mid); font-size: var(--fs-md); line-height: var(--lh-relaxed); }
        .hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
        .hero-actions .btn-outline { color: var(--deep-forest); border-color: var(--deep-forest); }
        .hero-note {
            position: relative;
            padding: 2.25rem;
            color: #fff;
            background: var(--midnight-forest);
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-2);
        }
        .hero-note::before { content: 'WG'; position: absolute; top: 1.1rem; right: 1.5rem; color: rgba(201,122,50,0.3); font-family: var(--font-display); font-size: 4rem; font-weight: 700; line-height: 1; }
        .hero-note-label { margin-bottom: 2rem; color: var(--harvest-amber); font-size: var(--fs-xs); font-weight: 700; text-transform: uppercase; letter-spacing: var(--tracking-wider); }
        .hero-note h2 { max-width: 12ch; margin-bottom: 1rem; color: #fff; font-size: 2rem; }
        .hero-note p { color: rgba(255,255,255,0.7); font-size: 0.95rem; line-height: var(--lh-relaxed); }
        .hero-note strong { display: block; margin-top: 1.75rem; padding-top: 1.25rem; color: var(--harvest-amber); border-top: 1px solid rgba(255,255,255,0.15); font-size: 0.85rem; }

        .intro-section { padding: 6rem 2rem; background: #fff; }
        .intro-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 5rem; align-items: start; }
        h2 { color: var(--deep-forest); font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 600; }
        .intro-copy { max-width: 38rem; color: var(--charcoal-mid); font-size: 1.05rem; line-height: var(--lh-relaxed); }
        .intro-copy p + p { margin-top: 1rem; }

        .path-section { padding: 7rem 2rem; background: var(--bg); }
        .section-heading { max-width: 42rem; margin-bottom: 3rem; }
        .section-heading h2 { margin-bottom: 1rem; }
        .section-heading p { color: var(--charcoal-mid); line-height: var(--lh-relaxed); }
        .path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
        .path-card { min-height: 18rem; padding: 2rem; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-1); }
        .path-number { display: flex; align-items: center; justify-content: center; width: 2.3rem; height: 2.3rem; margin-bottom: 3rem; color: #fff; background: var(--deep-forest); border-radius: 50%; font-family: var(--font-display); font-weight: 600; }
        .path-card h3 { margin-bottom: 0.75rem; color: var(--deep-forest); font-size: 1.45rem; }
        .path-card p { color: var(--charcoal-mid); font-size: 0.93rem; line-height: 1.7; }

        .eligibility-section { padding: 7rem 2rem; color: #fff; background: var(--deep-forest); }
        .eligibility-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 5rem; align-items: start; }
        .eligibility-section .section-label { color: var(--harvest-amber); }
        .eligibility-section h2 { color: #fff; }
        .eligibility-intro { max-width: 27rem; margin-top: 1.25rem; color: rgba(255,255,255,0.68); line-height: var(--lh-relaxed); }
        .criteria-list { display: grid; gap: 1rem; }
        .criteria-item { display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.15); }
        .criteria-item:last-child { padding-bottom: 0; border-bottom: 0; }
        .criteria-check { color: var(--harvest-amber); font-size: 1.2rem; }
        .criteria-item h3 { margin-bottom: 0.35rem; color: #fff; font-size: 1.1rem; letter-spacing: 0; }
        .criteria-item p { color: rgba(255,255,255,0.65); font-size: 0.9rem; line-height: 1.6; }

        .benefits-section { padding: 7rem 2rem; background: #fff; }
        .benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3rem; }
        .benefit-card { padding: 1.75rem; background: var(--bg); border-radius: var(--radius-md); }
        .benefit-card h3 { margin-bottom: 0.65rem; color: var(--deep-forest); font-size: 1.25rem; letter-spacing: 0; }
        .benefit-card p { color: var(--charcoal-mid); font-size: 0.9rem; line-height: 1.65; }

        .apply-section { padding: 7rem 2rem; background: var(--bg); }
        .apply-grid { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: 4rem; align-items: start; }
        .apply-intro h2 { margin-bottom: 1rem; }
        .apply-intro > p { max-width: 26rem; color: var(--charcoal-mid); line-height: var(--lh-relaxed); }
        .apply-detail { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--line-strong); color: var(--charcoal-mid); font-size: 0.85rem; line-height: 1.6; }
        .apply-detail strong { display: block; margin-bottom: 0.25rem; color: var(--deep-forest); }
        .application-card { padding: clamp(1.5rem, 4vw, 3rem); background: var(--midnight-forest); border-radius: var(--radius-lg); box-shadow: var(--shadow-2); }
        .application-card h3 { margin-bottom: 0.5rem; color: #fff; font-size: 1.8rem; }
        .application-card > p { margin-bottom: 2rem; color: rgba(255,255,255,0.65); font-size: 0.9rem; }
        .form-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
        .form-group { margin-bottom: 1.1rem; }
        .form-group label { display: block; margin-bottom: 0.45rem; color: rgba(255,255,255,0.84); font-size: 0.78rem; font-weight: 600; }
        .form-group input, .form-group select, .form-group textarea {
            width: 100%;
            padding: 0.85rem 0.95rem;
            color: #fff;
            background: rgba(255,255,255,0.06);
            border: 1px solid rgba(255,255,255,0.2);
            border-radius: var(--radius-sm);
            font: inherit;
            font-size: 0.9rem;
            outline: none;
            transition: border-color 0.2s, background 0.2s;
        }
        .form-group select { color-scheme: dark; }
        .form-group input::placeholder, .form-group textarea::placeholder { color: rgba(255,255,255,0.36); }
        .form-group textarea { min-height: 7rem; resize: vertical; }
        .form-group input:focus, .form-group select:focus, .form-group textarea:focus { background: rgba(255,255,255,0.1); border-color: var(--harvest-amber); box-shadow: 0 0 0 3px rgba(201,122,50,0.2); }
        .form-group input[aria-invalid="true"], .form-group select[aria-invalid="true"], .form-group textarea[aria-invalid="true"] { border-color: #f2a36c; }
        .field-error { min-height: 1.15rem; padding-top: 0.35rem; color: #f6bb91; font-size: 0.75rem; }
        .form-status { min-height: 1.35rem; margin-bottom: 0.75rem; color: #f6bb91; font-size: 0.82rem; }
        .submit-button { width: 100%; margin-top: 0.4rem; justify-content: center; }
        .submit-button:disabled { opacity: 0.6; cursor: wait; }
        .success-panel { padding: 1.5rem; color: var(--deep-forest); background: #fff; border-radius: var(--radius-md); }
        .success-panel[hidden] { display: none; }
        .success-mark { display: flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; margin-bottom: 1rem; color: #fff; background: var(--harvest-amber); border-radius: 50%; font-weight: 700; }
        .success-panel h3 { margin-bottom: 0.55rem; font-size: 1.45rem; }
        .success-panel p { color: var(--charcoal-mid); font-size: 0.9rem; line-height: 1.65; }
        .success-panel a { display: inline-flex; margin-top: 1.25rem; color: var(--deep-forest); font-size: 0.9rem; font-weight: 700; }
        footer { padding: 3rem 2rem; color: #fff; background: var(--midnight-forest); }
        .footer-inner { max-width: var(--w-base); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.25rem; }
        .footer-brand { color: #fff; font-family: var(--font-display); font-size: 1.1rem; font-weight: 600; text-decoration: none; }
        .footer-brand span { color: var(--harvest-amber); }
        .footer-links { display: flex; flex-wrap: wrap; gap: 1.5rem; }
        .footer-links a { color: rgba(255,255,255,0.58); font-size: 0.82rem; text-decoration: none; }
        .footer-links a:hover { color: #fff; }
        .footer-copy { color: rgba(255,255,255,0.44); font-size: 0.75rem; }
        :focus-visible { outline: 3px solid var(--harvest-amber); outline-offset: 3px; }

        @media (max-width: 800px) {
            .hero-grid, .intro-grid, .eligibility-grid, .apply-grid { grid-template-columns: 1fr; gap: 3rem; }
            .hero-note { max-width: 34rem; }
            .path-grid, .benefit-grid { grid-template-columns: 1fr; }
        }
        @media (max-width: 640px) {
            nav { padding: 0 1.25rem; }
            .nav-right { display: none; }
            .hamburger { display: flex; }
            .logo img { height: 38px; }
            .partner-hero, .intro-section, .path-section, .eligibility-section, .benefits-section, .apply-section { padding: 5rem 1.25rem; }
            .partner-hero { padding-top: 8rem; }
            .form-row { grid-template-columns: 1fr; gap: 0; }
            .footer-inner { align-items: flex-start; flex-direction: column; }
            .footer-links { gap: 0.9rem 1.25rem; }
        }
