*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#0a3d2e;--color-primary-mid:#0d4a38;--color-accent:#4cb848;--color-accent-hover:#3ea33a;--color-accent-lime:#c4e028;--color-accent-gold:#b08d3c;--color-teal:#1e9e8e;--color-text:#0f0f0f;--color-text-light:#f5f5f5;--color-bg:#fff;--color-card:#f4f9f4;--color-border:#c8dcc8}body{color:var(--color-text);background:var(--color-bg);font-family:Open Sans,sans-serif;font-weight:400;line-height:1.7}h1,h2,h3{font-family:Montserrat,sans-serif;font-weight:700;line-height:1.3}main{max-width:900px;min-height:calc(100vh - 260px);margin:0 auto;padding:3rem 1.5rem}.site-header{background:var(--color-primary);color:var(--color-text-light);text-align:center;padding:2rem 1.5rem 1rem}.site-header h1{letter-spacing:.02em;margin-bottom:.25rem;font-size:2rem}.site-header .subtitle{color:var(--color-accent-lime);margin-bottom:1.5rem;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600}.main-nav{justify-content:center;gap:2rem;display:flex}.main-nav a{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.1em;border-bottom:3px solid #0000;padding-bottom:.5rem;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:700;text-decoration:none;transition:border-color .2s,color .2s}.main-nav a:hover,.main-nav a.active{color:var(--color-accent-lime);border-bottom-color:var(--color-accent-lime)}.page h2{color:var(--color-primary);border-bottom:3px solid var(--color-accent);margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.8rem;display:inline-block}.page h3{color:var(--color-primary-mid);margin-top:2rem;margin-bottom:.75rem;font-size:1.2rem}.page p{margin-bottom:1rem}.page ul{margin-bottom:1rem;padding-left:1.5rem}.page li{margin-bottom:.5rem}.about-intro{align-items:flex-start;gap:2rem;margin-bottom:1.5rem;display:flex}.about-photo{object-fit:cover;border:4px solid var(--color-accent);border-radius:50%;flex-shrink:0;width:200px;height:200px}.about-intro-text p:last-child{margin-bottom:0}.quem-sou .cta{background:var(--color-card);border-left:4px solid var(--color-accent);border-radius:4px;margin-top:2rem;padding:1.5rem}.quem-sou .cta a{color:var(--color-teal);font-weight:600;text-decoration:underline}.quem-sou .cta a:hover{color:var(--color-primary)}.pricing-table-wrapper{margin:1.5rem 0;overflow-x:auto}.pricing-table{border-collapse:collapse;background:var(--color-bg);border-radius:6px;width:100%;overflow:hidden;box-shadow:0 2px 8px #00000014}.pricing-table th,.pricing-table td{text-align:center;border-bottom:1px solid var(--color-border);padding:1rem 1.25rem}.pricing-table thead th{background:var(--color-primary);color:var(--color-text-light);font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:700}.pricing-table thead th:first-child{background:var(--color-primary-mid)}.pricing-table tbody td{font-size:1.1rem}.pricing-table tbody td:not(:first-child){color:var(--color-primary);font-size:1.2rem;font-weight:600}.pricing-table tbody tr:hover{background:var(--color-card)}.precos ul{padding-left:0;list-style:none}.precos ul li{padding:.5rem 0 .5rem 1.5rem;position:relative}.precos ul li:before{content:"→";color:var(--color-accent);font-weight:700;position:absolute;left:0}.vagas-section{margin-bottom:2.5rem}.vagas-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:1rem;display:grid}.vaga-item{text-align:center;border:2px solid;border-radius:6px;padding:.75rem 1rem}.vaga-item.disponivel{background:#e8f5e9;border-color:#43a047}.vaga-item.indisponivel{opacity:.7;background:#ffebee;border-color:#e53935}.vaga-ano{margin-bottom:.25rem;font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:700;display:block}.vaga-status{font-size:.8rem;font-weight:600}.vaga-item.disponivel .vaga-status{color:#2e7d32}.vaga-item.indisponivel .vaga-status{color:#c62828}.contactos-intro{margin-bottom:.25rem;font-size:1.05rem}.whatsapp-link{margin-bottom:2rem}.whatsapp-link a{color:var(--color-teal);border-bottom:2px solid var(--color-accent);padding-bottom:2px;font-family:Montserrat,sans-serif;font-size:1.2rem;font-weight:700;text-decoration:none;transition:color .2s}.whatsapp-link a:hover{color:var(--color-primary)}.contact-form-wrapper{max-width:600px}.form-group{margin-bottom:1.25rem}.form-group label{margin-bottom:.4rem;font-size:.95rem;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{border:2px solid var(--color-border);background:var(--color-bg);border-radius:4px;width:100%;padding:.75rem;font-family:Open Sans,sans-serif;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-accent);outline:none}form button[type=submit]{background:var(--color-accent);color:#fff;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:none;border-radius:4px;padding:.85rem 2.5rem;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700;transition:background .2s}form button[type=submit]:hover{background:var(--color-accent-hover)}.form-success{color:#155724;background:#d4edda;border-radius:6px;padding:1.5rem;font-weight:600}.form-error{color:#dc3545;margin-bottom:1rem;font-weight:600}.reviews-list{gap:1.5rem;margin-top:1.5rem;display:grid}.review-card{background:var(--color-card);border-left:4px solid var(--color-accent);border-radius:6px;padding:1.75rem;box-shadow:0 2px 6px #0000000f}.review-stars{color:var(--color-accent-gold);letter-spacing:.1em;margin-bottom:.75rem;font-size:1.3rem}.review-text{margin-bottom:.75rem;font-style:italic;line-height:1.7}.review-author{color:var(--color-primary-mid);font-weight:600}.site-footer{background:var(--color-primary);color:var(--color-text-light);text-align:center;margin-top:3rem;padding:1.5rem;font-size:.9rem}@media (width<=768px){.site-header h1{font-size:1.4rem}.site-header .subtitle{font-size:.95rem}.main-nav{gap:1rem}.main-nav a{font-size:.75rem}main{padding:2rem 1rem}.about-intro{text-align:center;flex-direction:column;align-items:center}.about-photo{width:160px;height:160px}.vagas-grid{grid-template-columns:repeat(2,1fr)}.pricing-table th,.pricing-table td{padding:.75rem .5rem;font-size:.9rem}.pricing-table tbody td:not(:first-child){font-size:1rem}}
