:root{
    --azul:#0A2342;
    --dourado:#C8A65A;
    --cinzento:#F5F5F5;
    --branco:#FFFFFF;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
    font-family:"Segoe UI", Arial, sans-serif;
    background:var(--cinzento);
    color:#333;
    margin:0;
    line-height:1.6;
}

header{
    background:var(--cinzento);
    text-align:center;
    padding:clamp(70px, 12vw, 130px) 20px 90px;
    border-bottom:3px solid var(--dourado);
}

.logo{
    width:clamp(110px, 18vw, 170px);height:auto;aspect-ratio:1;object-fit:contain;
    display:block;margin:0 auto 25px;filter:drop-shadow(0 4px 10px rgba(10,35,66,.15));
}

.etiqueta{color:var(--dourado);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px}
h1{color:var(--azul);font-size:clamp(2.5rem,7vw,5.3rem);line-height:1.05;margin:0 0 12px}
h2{color:var(--dourado);font-weight:500;margin:0 0 18px;line-height:1.2}
header h2{font-size:clamp(1.15rem,2.4vw,1.7rem)}
.intro{max-width:620px;margin:0 auto 30px;font-size:1.1rem;color:#555}

nav{background:var(--azul);padding:15px;text-align:center;position:sticky;top:0;z-index:2}
nav a{color:white;text-decoration:none;margin:0 15px;font-weight:600;display:inline-block;transition:color .2s ease}
nav a:hover,nav a:focus{color:var(--dourado)}

main{max-width:1120px;margin:0 auto}
.secao{padding:clamp(60px,9vw,105px) 24px}
.sobre{display:grid;grid-template-columns:minmax(240px, .8fr) 1.2fr;gap:clamp(35px,8vw,110px);align-items:start}
.sobre h2{font-size:clamp(1.9rem,4vw,3.2rem)}
.texto{font-size:1.08rem;color:#555;max-width:650px}
.texto p{margin-top:0;margin-bottom:20px}
.grelha{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}
.card{background:var(--branco);border-radius:12px;border-left:4px solid var(--dourado);padding:30px;min-height:210px;box-shadow:0 8px 24px rgba(10,35,66,.06)}
.card span{color:var(--dourado);font-weight:700}.card h3{color:var(--azul);font-size:1.35rem;margin:22px 0 8px}.card p{color:#666;margin:0}
.botoes-acoes{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;margin-top:30px}
.btn{background:var(--dourado);color:white;text-decoration:none;padding:14px 24px;border-radius:8px;display:inline-block;font-weight:700;transition:transform .2s ease,filter .2s ease}
.btn:hover,.btn:focus{filter:brightness(.94);transform:translateY(-2px)}
.btn-whatsapp{background:#25D366;color:#fff}
.btn-email{background:#0A2342;color:#fff}
.btn-telefone{background:#C8A65A;color:#fff}
.contacto{background:var(--azul);color:white;border-radius:12px;margin:10px 24px 90px;padding:clamp(32px,6vw,70px);display:flex;align-items:center;justify-content:space-between;gap:30px}
.contacto h2{font-size:clamp(1.8rem,4vw,3rem)}.contacto p:not(.etiqueta){max-width:570px;color:#dbe2eb}
.dados-contacto{margin-top:30px;display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:20px 35px}
.dados-contacto p{margin:0}.dados-contacto strong{color:var(--dourado);font-weight:600}.dados-contacto a{color:var(--branco);text-decoration:none}.dados-contacto a:hover,.dados-contacto a:focus{color:var(--dourado)}
.btn-claro{background:var(--branco);color:var(--azul);white-space:nowrap}
footer{background:var(--azul);color:white;text-align:center;padding:25px}
footer p{margin:0;font-size:.9rem;color:#dbe2eb}

@media (max-width:700px){
    nav a{margin:0 7px;font-size:.9rem}
    .sobre,.grelha{grid-template-columns:1fr}
    .contacto{align-items:flex-start;flex-direction:column;margin-left:16px;margin-right:16px}
    .dados-contacto{grid-template-columns:1fr}
}
