:root{--font-primary:'Roboto', sans-serif;--font-heading:'Playfair Display', serif;--font-size-base:16px;--line-height-base:1.6;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--shadow-md:0 4px 15px rgba(0, 0, 0, 0.05);--shadow-lg:0 8px 30px rgba(0, 0, 0, 0.1);--transition-fast:0.2s ease-in-out;--transition-slow:0.3s ease-in-out;--color-primary:#007bff;--color-primary-hover:#0056b3;--color-text:#212529;--color-text-muted:#6c757d;--color-bg:#f8f9fa;--color-bg-card:#ffffff;--color-border:#dee2e6;--color-border-focus:#80bdff}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base)}body{font-family:var(--font-primary);line-height:var(--line-height-base);background-color:var(--color-bg);color:var(--color-text);transition:background-color var(--transition-fast),color var(--transition-fast)}h1,h2,h3{font-family:var(--font-heading);font-weight:700;line-height:1.2;margin-bottom:.75rem}h1{font-size:2.5rem}h2{font-size:1.75rem}h3{font-size:1.25rem}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover);text-decoration:underline}p{margin-bottom:1rem}[data-theme="dark"]{--color-primary:#3391ff;--color-primary-hover:#5caaff;--color-text:#e0e0e0;--color-text-muted:#a0a0a0;--color-bg:#121212;--color-bg-card:#1e1e1e;--color-border:#444;--color-border-focus:#3391ff}.main-container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.site-header,.site-footer{background-color:var(--color-bg-card);padding:1rem 1.5rem;box-shadow:var(--shadow-md)}.site-header .header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-text);text-decoration:none;display:flex;align-items:center;gap:.75rem}.header-title:hover{text-decoration:none;color:var(--color-primary)}.header-controls{display:flex;gap:.5rem}.control-btn{background:none;border:1px solid var(--color-border);color:var(--color-text-muted);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1rem;display:grid;place-items:center;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.control-btn:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);text-decoration:none}.site-footer{text-align:center;margin-top:2rem;padding-top:2rem;padding-bottom:2rem;border-top:1px solid var(--color-border)}.footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem}.copyright{color:var(--color-text-muted);font-size:.9rem;margin-bottom:0}.card{background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-lg);width:100%}.card-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:.75rem}.card-header .fa-solid,.card-header .fas{color:var(--color-primary)}.contact-hero{text-align:center;margin-bottom:3rem}.contact-hero h1{margin-bottom:1rem}.contact-hero p{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem;align-items:start;margin-bottom:3rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:700}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-primary);font-size:1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px rgb(0 123 255 / .25)}.submit-btn{display:inline-flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:700;color:#fff;background-color:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast);justify-content:center}.submit-btn:hover{background-color:var(--color-primary-hover);transform:translateY(-2px)}.contact-info-card .contact-method{display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:1.75rem}.contact-info-card .contact-method .icon{font-size:1.5rem;color:var(--color-primary);margin-top:.25rem}.contact-info-card .contact-method h3{margin-bottom:.25rem}.contact-info-card .contact-method p,.contact-info-card .contact-method a{margin:0;color:var(--color-text-muted)}.contact-info-card .contact-method a{color:var(--color-primary);font-weight:700}.social-links{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.social-icons{display:flex;gap:1rem}.social-icons a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-muted);font-size:1rem}.social-icons a:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;text-decoration:none}.faq-section{margin-bottom:3rem}.faq-item{border-bottom:1px solid var(--color-border)}.faq-item:last-child{border-bottom:none}.faq-question{width:100%;background:none;border:none;padding:1.5rem 0;display:flex;justify-content:space-between;align-items:center;text-align:left;font-size:1.125rem;font-weight:700;color:var(--color-text);cursor:pointer}.faq-question .fa-chevron-down{transition:transform var(--transition-slow)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--transition-slow)}.faq-answer.active{grid-template-rows:1fr}.faq-answer p{overflow:hidden;padding-bottom:1.5rem;color:var(--color-text-muted)}.faq-answer.active+.faq-question .fa-chevron-down,.faq-item.active .faq-question .fa-chevron-down{transform:rotate(180deg)}@media (max-width:992px){.contact-grid{grid-template-columns:1fr}}@media (max-width:768px){h1{font-size:2rem}h2{font-size:1.5rem}.card{padding:1.5rem}.main-container{padding:1.5rem 1rem}.site-header,.site-footer{padding:1rem}}