:root{
--bg:#ffffff;
--text:#111;
--muted:#666;
--accent:#111;
--container:1100px;
--radius:12px;
}

/* Reset */
*{box-sizing:border-box}
html,body{height:100%;margin:0;padding:0;font-family:'Raleway',sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
.container{max-width:var(--container);margin:0 auto;padding:36px 28px}

/* Header */
.site-header{width:100%;padding:16px 0;border-bottom:1px solid rgba(0,0,0,0.04);background:#fff;position:sticky;top:0;z-index:60}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.logo-header{height:95px;width:auto;object-fit:contain}

/* Nav */
.nav-links{display:flex;gap:24px;list-style:none;margin:0;padding:0}
.nav-links a{text-decoration:none;color:var(--muted);font-weight:500}

/* Hero */
.hero{padding:72px 0 40px;text-align:center}
.hero-card{display:inline-block;background:#fff;padding:36px;border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,0.06);max-width:760px}
.hero-card h1{margin:0 0 12px;font-size:25px}
.lead{color:var(--muted);margin:0 0 18px;line-height:1.6}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:12px 26px;border-radius:10px;text-decoration:none}

/* Sections */
.section{padding:48px 0}
.section h2{font-size:20px;margin-bottom:12px}
.section p{max-width:900px;color:#333}

/* Services */
.services-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px}
.services-grid li{background:transparent;padding:10px;border-radius:10px}

/* Contact form wrap */
.contact-wrap{display:flex;justify-content:center;padding:26px 0}
.contact-form-wrap{width:100%;max-width:760px;padding:0 8px}

/* Form — premium */
.contact-form{
background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,250,250,0.98));
border:1px solid rgba(0,0,0,0.04);
padding:22px;
border-radius:12px;
box-shadow:0 10px 30px rgba(0,0,0,0.04);
display:flex;
flex-direction:column;
gap:12px;
}

.form-row{display:flex;flex-direction:column;margin-bottom:6px}
.form-row.two-cols{display:flex;gap:12px}
.form-row.two-cols .col{flex:1;display:flex;flex-direction:column}

.form-row label{font-weight:600;margin-bottom:6px;color:var(--muted)}
.form-row input[type="text"],
.form-row textarea{
padding:12px 14px;border-radius:10px;border:1px solid rgba(0,0,0,0.08);font-size:15px;background:#fff;outline:none;transition:box-shadow .15s, border-color .15s;
}
.form-row input:focus,
.form-row textarea:focus{box-shadow:0 8px 24px rgba(0,0,0,0.06);border-color:rgba(0,0,0,0.18)}

.actions{display:flex;align-items:center;gap:12px;margin-top:6px}
.form-status{color:var(--muted);font-size:15px}

/* RGPD row */
.rgpd-row{display:flex;gap:10px;align-items:flex-start;margin-top:8px}
.rgpd-row input[type="checkbox"]{width:18px;height:18px;margin-top:4px}
.rgpd-label{font-size:14px;color:#444;line-height:1.3}
.rgpd-label a{color:var(--accent);text-decoration:underline}

/* inline thanks */
.inline-thanks{background:#e9f7ef;border:1px solid #d7f0df;padding:16px;border-radius:10px;margin-bottom:14px;color:#064e2a}

/* thanks popup */
.thanks-popup{
position:fixed;left:50%;top:12%;transform:translateX(-50%);background:#111;color:#fff;padding:16px 22px;border-radius:10px;z-index:9999;box-shadow:0 12px 40px rgba(0,0,0,0.25);transition:opacity .6s, transform .6s;
}
.thanks-popup.hide{opacity:0;transform:translateX(-50%) translateY(-8px)}

/* Footer */
.site-footer{padding:30px 0;text-align:center;border-top:1px solid rgba(0,0,0,0.04);color:var(--muted);margin-top:40px}
.privacy-link{margin-left:12px;color:var(--muted);font-size:14px;text-decoration:underline}

/* Responsive */
@media (max-width:900px){
.container{padding:28px 18px}
.hero-card h1{font-size:30px}
.nav-links{display:none}
.services-grid{grid-template-columns:1fr 1fr}
.form-row.two-cols{flex-direction:column}
}
@media (max-width:600px){
.contact-form{padding:18px}
.hero-card{padding:22px}
.logo-header{height:54px}
.services-grid{grid-template-columns:1fr}
.actions{flex-direction:column;align-items:flex-start}
}
/* Correção premium das margens da secção "Sobre" */
#sobre p {
padding: 0 6px; /* margem interna suave */
line-height: 1.7; /* leitura mais confortável */
margin-top: 12px;
margin-bottom: 14px;
}

/* Aumentar ligeiramente a largura de leitura */
.section.container {
max-width: 900px;
margin-left: auto;
margin-right: auto;
}