* {
       margin: 0;
       padding: 0;
       box-sizing: border-box;
   }

   body {
       font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
       line-height: 1.6;
       color: #333;
       background-color: #f8f9fa;
   }

   .container {
       max-width: 1200px;
       margin: 0 auto;
       padding: 0 20px;
   }

   /* Header */
   header {
       background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
       color: white;
       padding: 2rem 0;
       text-align: center;
       box-shadow: 0 2px 10px rgba(0,0,0,0.1);
   }

   header h1 {
       font-size: 2.5rem;
       margin-bottom: 0.5rem;
       font-weight: 700;
   }

   header p {
       font-size: 1.2rem;
       opacity: 0.9;
   }

   /* Navigation */
   nav {
       background: white;
       padding: 1rem 0;
       box-shadow: 0 2px 5px rgba(0,0,0,0.1);
       position: sticky;
       top: 0;
       z-index: 100;
   }

   .nav-container {
       position: relative;
   }

   .nav-toggle {
       display: none;
       background: none;
       border: none;
       font-size: 1.5rem;
       cursor: pointer;
       padding: 0.5rem;
       color: #2c3e50;
       position: absolute;
       right: 0;
       top: 50%;
       transform: translateY(-50%);
   }

   nav ul {
       list-style: none;
       display: flex;
       justify-content: center;
       flex-wrap: wrap;
       gap: 2rem;
       margin: 0;
       padding: 0;
       transition: all 0.3s ease;
   }

   nav li {
       margin: 0;
   }

   nav a {
       text-decoration: none;
       color: #2c3e50;
       font-weight: 500;
       padding: 0.5rem 1rem;
       border-radius: 5px;
       transition: all 0.3s ease;
       display: block;
   }

   nav a:hover {
       background: #e8f4f8;
       color: #2980b9;
   }

   /* Pay Dues Button Styling */
   nav a.pay-dues {
       background: #27ae60;
       color: white;
       font-weight: 600;
       border: 2px solid #27ae60;
       box-shadow: 0 2px 8px rgba(39, 174, 96, 0.3);
   }

   nav a.pay-dues:hover {
       background: #229954;
       color: white;
       border-color: #229954;
       transform: translateY(-1px);
       box-shadow: 0 4px 12px rgba(39, 174, 96, 0.4);
   }

   /* Mobile Navigation */
   @media (max-width: 768px) {
       .nav-toggle {
           display: block;
       }

       nav ul {
           display: none;
           flex-direction: column;
           gap: 0;
           background: white;
           position: absolute;
           top: 100%;
           left: 0;
           right: 0;
           box-shadow: 0 2px 10px rgba(0,0,0,0.1);
           border-radius: 0 0 10px 10px;
           padding: 0;
       }

       nav ul.nav-active {
           display: flex;
       }

       nav li {
           border-bottom: 1px solid #f0f0f0;
       }

       nav li:last-child {
           border-bottom: none;
       }

       nav a {
           padding: 1rem;
           text-align: center;
           border-radius: 0;
       }

       nav a.pay-dues:hover {
           background: #229954;
           transform: translateY(-1px);
       }
   }

   /* Main Content */
   main {
       padding: 2rem 0;
   }

   .section {
       background: white;
       margin: 2rem 0;
       padding: 2rem;
       border-radius: 10px;
       box-shadow: 0 2px 10px rgba(0,0,0,0.1);
   }

   .section h2 {
       color: #2c3e50;
       margin-bottom: 1rem;
       font-size: 1.8rem;
       border-bottom: 3px solid #3498db;
       padding-bottom: 0.5rem;
   }

   /* Grid Layout */
   .grid {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
       gap: 2rem;
       margin-top: 2rem;
   }

   .card {
       background: white;
       padding: 1.5rem;
       border-radius: 8px;
       box-shadow: 0 2px 8px rgba(0,0,0,0.1);
       border-left: 4px solid #3498db;
   }

   .card h3 {
       color: #2c3e50;
       margin-bottom: 0.5rem;
   }

   .card p {
       color: #666;
       margin-bottom: 0.5rem;
   }

   /* Calendar Section */
   .calendar-container {
       background: white;
       padding: 2rem;
       border-radius: 10px;
       box-shadow: 0 2px 10px rgba(0,0,0,0.1);
       margin: 2rem 0;
   }

   .calendar-placeholder {
       background: #f8f9fa;
       border: 2px dashed #dee2e6;
       border-radius: 8px;
       padding: 3rem;
       text-align: center;
       color: #6c757d;
       font-style: italic;
   }

   /* Contact Cards */
   .contact-grid {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
       gap: 1.5rem;
   }

   .contact-card {
       background: #f8f9fa;
       padding: 1.5rem;
       border-radius: 8px;
       text-align: center;
       border: 1px solid #e9ecef;
   }

   .contact-card h4 {
       color: #2c3e50;
       margin-bottom: 0.5rem;
   }

   .contact-card p {
       margin-bottom: 0.3rem;
       color: #666;
   }

   .contact-card a {
       color: #3498db;
       text-decoration: none;
   }

   .contact-card a:hover {
       text-decoration: underline;
   }

   .contact-card a.btn {
       color: white !important;
       background: #3498db !important;
   }

   .contact-card a.btn:hover {
       background: #2980b9 !important;
       color: white !important;
       text-decoration: none !important;
   }

   /* Email Reveal Button */
   .email-reveal {
       background: #3498db;
       color: white;
       padding: 8px 16px;
       border: none;
       border-radius: 5px;
       cursor: pointer;
       font-size: 14px;
       transition: background 0.3s;
       font-family: inherit;
   }

   .email-reveal:hover {
       background: #2980b9;
   }

   .email-display {
       margin-top: 10px;
       padding: 10px;
       background: #e8f4f8;
       border-radius: 5px;
       border: 1px solid #bee5eb;
   }

   /* Footer */
   footer {
       background: #2c3e50;
       color: white;
       text-align: center;
       padding: 2rem 0;
       margin-top: 3rem;
   }

   /* Responsive Design */
   @media (max-width: 768px) {
       header h1 {
           font-size: 2rem;
       }

       .section {
           padding: 1.5rem;
       }

       .grid {
           grid-template-columns: 1fr;
       }
   }

   /* Utility Classes */
   .highlight {
       background: #fff3cd;
       border: 1px solid #ffeaa7;
       padding: 1rem;
       border-radius: 5px;
       margin: 1rem 0;
   }

   .btn {
       display: inline-block;
       background: #3498db;
       color: white;
       padding: 0.7rem 1.5rem;
       text-decoration: none;
       border-radius: 5px;
       border: none;
       transition: background 0.3s ease;
   }

   .btn:hover {
       background: #2980b9;
   }

   button.btn {
       border: none !important;
       outline: none !important;
       box-shadow: none !important;
       -webkit-appearance: none !important;
       -moz-appearance: none !important;
       appearance: none !important;
   }

   .text-center {
       text-align: center;
   }

   .mt-2 {
       margin-top: 2rem;
   }

   /* Single column grid for about section */
   .about-grid {
       display: grid;
       grid-template-columns: 1fr;
       gap: 2rem;
       margin-top: 2rem;
   }

   /* Two-column layout within guidelines card */
   .guidelines-content {
       display: grid;
       grid-template-columns: 1fr 1fr;
       gap: 1.5rem;
       margin-top: 1rem;
   }

   @media (max-width: 768px) {
       .guidelines-content {
           grid-template-columns: 1fr;
       }
   }

   /* Form enhancements - minimal styling to match site design */
   #title-request-form input,
   #title-request-form textarea {
       border: 1px solid #dee2e6;
       border-radius: 4px;
       font-family: inherit;
       font-size: 14px;
       transition: border-color 0.3s ease;
       box-sizing: border-box;
   }

   #title-request-form input:focus,
   #title-request-form textarea:focus {
       outline: none;
       border-color: #3498db;
       box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2);
   }

   #title-request-form label {
       color: #2c3e50;
       font-size: 14px;
   }

   /* Status messages */
   .form-status-success {
       background: #dcfce7;
       color: #166534;
       border: 1px solid #bbf7d0;
   }

   .form-status-error {
       background: #fef2f2;
       color: #dc2626;
       border: 1px solid #fecaca;
   }

   .form-status-info {
       background: #e0f2fe;
       color: #0369a1;
       border: 1px solid #bae6fd;
   }

   /* Simple form styling that works with existing card design */
   .document-form input,
   .document-form textarea {
       width: 100%;
       padding: 8px;
       margin: 5px 0 15px 0;
       border: 1px solid #ddd;
       border-radius: 4px;
       font-family: inherit;
       box-sizing: border-box;
   }

   .document-form input:focus,
   .document-form textarea:focus {
       outline: none;
       border-color: #3498db;
   }

   .document-form label {
       font-weight: 600;
       color: #2c3e50;
   }

   .form-status {
       margin: 15px 0;
       padding: 10px;
       border-radius: 4px;
       display: none;
   }

   .form-status.success {
       background: #dcfce7;
       color: #166534;
       border: 1px solid #bbf7d0;
   }

   .form-status.error {
       background: #fef2f2;
       color: #dc2626;
       border: 1px solid #fecaca;
   }

   .form-status.info {
       background: #e0f2fe;
       color: #0369a1;
       border: 1px solid #bae6fd;
   }

   /* Field validation error styling */
   .field-error {
       border: 2px solid #dc2626 !important;
       background-color: #fef2f2 !important;
       box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1) !important;
   }

   .field-error + label,
   label.field-error {
       color: #dc2626 !important;
   }

   .checkbox-group.field-error {
       border: 2px solid #dc2626;
       background-color: #fef2f2;
       padding: 8px;
       border-radius: 4px;
       margin-top: 5px;
   }

   .error-message {
       color: #dc2626;
       font-size: 0.875rem;
       margin-top: 4px;
       display: block;
   }

   /* Buyer section styling */
   .buyer-section {
       background: #f8f9fa;
       padding: 20px;
       border-radius: 8px;
       border: 1px solid #e9ecef;
       margin-bottom: 15px;
   }

   /* FAQ Styles */
   .faq-container {
       max-width: 900px;
       margin: 0 auto;
   }

   .faq-item {
       margin-bottom: 0.5rem;
       border: 1px solid #e9ecef;
       border-radius: 4px;
       overflow: hidden;
   }

   .faq-question {
       background: #f8f9fa;
       padding: 1rem;
       cursor: pointer;
       display: flex;
       justify-content: space-between;
       align-items: center;
       font-weight: 500;
       color: #495057;
       transition: background-color 0.2s ease;
       border: none;
   }

   .faq-question:hover {
       background: #e9ecef;
   }

   .faq-question.active {
       background: #e9ecef;
       color: #495057;
   }

   .faq-toggle {
       font-size: 1.2rem;
       font-weight: normal;
       transition: transform 0.2s ease;
       min-width: 16px;
       text-align: center;
       color: #6c757d;
   }

   .faq-question.active .faq-toggle {
       transform: rotate(45deg);
   }

   .faq-answer {
       display: none !important;
       padding: 1rem;
       background: #ffffff;
       border-top: 1px solid #e9ecef;
       line-height: 1.5;
   }

   .faq-answer.active {
       display: block !important;
   }

   @keyframes fadeIn {
       from { opacity: 0; transform: translateY(-10px); }
       to { opacity: 1; transform: translateY(0); }
   }

   .faq-answer p {
       margin: 0;
       color: #555;
   }
