.contact-hero { background: linear-gradient(135deg, #0f2027 0%, #1a3a2a 60%, #16a34a 100%); color: #fff; padding: 48px 0 72px; position: relative; overflow: hidden; }
    .contact-hero::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 48px; background: var(--grey-50); clip-path: ellipse(55% 100% at 50% 100%); }
    .contact-hero h1 { font-family: var(--font-display); font-size: 2rem; font-weight: 800; }
    .contact-hero p { color: rgba(255,255,255,.65); margin-top: 8px; }

    .contact-tabs { display: flex; gap: 4px; background: var(--grey-100); border-radius: var(--radius-sm); padding: 4px; margin-bottom: 32px; max-width: 480px; }
    .contact-tab { flex: 1; padding: 12px 16px; border: none; background: transparent; border-radius: 6px; font-family: var(--font-display); font-weight: 600; font-size: .9rem; color: var(--grey-600); cursor: pointer; transition: all .2s; text-align: center; }
    .contact-tab.active { background: white; color: var(--green-primary); box-shadow: var(--shadow-sm); }
    .contact-tab:hover:not(.active) { color: var(--grey-800); }
    .tab-content { display: none; }
    .tab-content.active { display: block; }

    .info-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 32px; }
    @media(max-width:768px) { .info-cards { grid-template-columns: repeat(2, 1fr); } }
    .info-card { background: white; border-radius: var(--radius-sm); padding: 20px; box-shadow: var(--shadow-sm); border: 1.5px solid var(--grey-200); text-align: center; transition: box-shadow .2s; }
    .info-card:hover { box-shadow: var(--shadow-md); }
    .info-card i { font-size: 1.5rem; color: var(--green-primary); margin-bottom: 10px; display: block; }
    .info-card h3 { font-family: var(--font-display); font-size: .88rem; font-weight: 700; color: var(--grey-800); margin-bottom: 4px; }
    .info-card p { font-size: .82rem; color: var(--grey-600); margin: 0; }
    .info-card a { color: var(--green-primary); font-weight: 600; text-decoration: none; }

    .form-card { background: white; border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); border: 1.5px solid var(--grey-200); padding: 28px; }
    .form-card h2 { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; color: var(--grey-900); margin-bottom: 6px; }
    .form-card .subtitle { font-size: .88rem; color: var(--grey-500); margin-bottom: 24px; }
    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    @media(max-width:576px) { .form-row { grid-template-columns: 1fr; } }
    .form-group { margin-bottom: 16px; }
    .form-group label { display: block; font-size: .82rem; font-weight: 600; color: var(--grey-700); margin-bottom: 5px; }
    .form-group label .req { color: #dc2626; }
    .form-group input, .form-group textarea, .form-group select {
        width: 100%; padding: 10px 14px; border: 1.5px solid var(--grey-200); border-radius: var(--radius-sm);
        font-family: var(--font-body); font-size: .9rem; color: var(--grey-800); background: var(--grey-50); transition: border-color .2s, box-shadow .2s;
    }
    .form-group input:focus, .form-group textarea:focus, .form-group select:focus {
        outline: none; border-color: var(--green-primary); box-shadow: 0 0 0 3px rgba(22,163,74,.1); background: white;
    }
    .btn-submit {
        background: var(--green-primary); color: white; border: none; border-radius: var(--radius-sm);
        padding: 12px 32px; font-family: var(--font-display); font-weight: 700; font-size: .95rem;
        cursor: pointer; transition: background .2s, transform .15s; display: inline-flex; align-items: center; gap: 8px;
    }
    .btn-submit:hover { background: var(--green-dark); transform: translateY(-1px); }

    .alert-box { padding: 14px 18px; border-radius: var(--radius-sm); margin-bottom: 20px; font-size: .88rem; display: flex; align-items: center; gap: 10px; }
    .alert-success { background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0; }
    .alert-error { background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }

    .sidebar-card { background: white; border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); border: 1.5px solid var(--grey-200); padding: 20px; margin-bottom: 16px; }
    .sidebar-card h3 { font-family: var(--font-display); font-size: .9rem; font-weight: 700; color: var(--grey-800); margin-bottom: 14px; }
    .hours-row { display: flex; justify-content: space-between; padding: 6px 0; font-size: .85rem; border-bottom: 1px solid var(--grey-100); }
    .hours-row:last-child { border-bottom: none; }

    .owner-benefits { background: linear-gradient(135deg, #f0fdf4, #ecfdf5); border-radius: var(--radius-sm); padding: 20px; margin-bottom: 24px; border: 1px solid #bbf7d0; }
    .owner-benefits h3 { font-family: var(--font-display); font-size: .95rem; font-weight: 700; color: var(--green-dark); margin-bottom: 12px; }
    .owner-benefits ul { list-style: none; padding: 0; margin: 0; }
    .owner-benefits li { padding: 5px 0; font-size: .85rem; color: var(--grey-700); display: flex; align-items: center; gap: 8px; }
    .owner-benefits li i { color: var(--green-primary); font-size: .75rem; }

    .sport-checks { display: flex; flex-wrap: wrap; gap: 10px; }
    .sport-check { display: flex; align-items: center; gap: 6px; font-size: .88rem; cursor: pointer; }
    .sport-check input { accent-color: var(--green-primary); width: 16px; height: 16px; }
