/* Grêmio dos Subtenentes e Sargentos — identidade visual */
:root {
    --navy: #17324d;
    --navy-deep: #10263a;
    --olive: #53685b;
    --gold: #c3a15a;
    --gold-dark: #aa8740;
    --cream: #f6f3ec;
    --paper: #ffffff;
    --ink: #25313c;
    --muted: #68757f;
    --line: #e6e0d5;
    --shadow: 0 10px 30px rgba(16, 38, 58, .08);
}
* { margin:0; padding:0; box-sizing:border-box; }
body {
    font-family:'Roboto','Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
    line-height:1.6; color:var(--ink); background:var(--cream);
    display:flex; flex-direction:column; min-height:100vh;
}
.container { max-width:1200px; margin:0 auto; padding:0 24px; }

.main-header {
    background:linear-gradient(135deg,var(--navy-deep),var(--navy));
    box-shadow:0 4px 18px rgba(16,38,58,.18);
    padding:22px 0; border-bottom:4px solid var(--gold);
}
.header-container {
    max-width:1200px; margin:0 auto; padding:0 24px;
    display:flex; flex-direction:column; align-items:center; gap:16px;
}
.site-title {
    font-size:clamp(1.45rem,3vw,2rem); color:#fff; text-align:center;
    letter-spacing:.01em; font-weight:750;
}
.nav-menu { list-style:none; display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.nav-link {
    text-decoration:none; color:#eef3f6; font-weight:650; font-size:1rem;
    padding:9px 16px; border-radius:999px; transition:.25s ease;
}
.nav-link:hover,.nav-link.active { background:var(--gold); color:var(--navy-deep); }

.main-content { flex:1; padding:42px 0 56px; }
.section-title {
    font-size:clamp(1.7rem,3vw,2.15rem); color:var(--navy);
    text-align:center; margin-bottom:10px; font-weight:780;
}
.section-title::after {
    content:""; display:block; width:56px; height:3px; border-radius:3px;
    background:var(--gold); margin:12px auto 0;
}
.section-description {
    text-align:center; color:var(--muted); margin:0 auto 34px;
    font-size:1.08rem; max-width:720px;
}
.activities-grid {
    display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:26px;
}
.activity-card {
    background:var(--paper); border:1px solid var(--line); border-radius:14px;
    box-shadow:var(--shadow); overflow:hidden;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.activity-card:hover {
    transform:translateY(-5px); border-color:#d8c9a8;
    box-shadow:0 16px 34px rgba(16,38,58,.13);
}
.activity-image,.activity-image-placeholder {
    height:220px; display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.activity-image { background:#eef0ec; }
.activity-image img { width:100%; height:100%; object-fit:cover; display:block; }
.activity-image-placeholder {
    background:linear-gradient(135deg,#dce2de,#cfd8d2); color:var(--olive);
    font-size:1.1rem; font-weight:700;
}
.partners-section .activity-image { background:#fff; }
.partners-section .activity-image img { object-fit:contain; padding:20px; background:#fff; }
.activity-info { padding:22px; }
.activity-info h3 { color:var(--navy); margin-bottom:9px; font-size:1.32rem; }
.activity-info p { color:var(--muted); margin-bottom:18px; }
.btn-primary {
    display:inline-block; padding:10px 18px; background:var(--navy);
    color:#fff; text-decoration:none; border-radius:8px; font-weight:650;
    transition:.25s ease; border:1px solid var(--navy);
}
.btn-primary:hover { background:var(--gold); color:var(--navy-deep); border-color:var(--gold); }

.intro-section {
    background:var(--paper); padding:42px 26px; margin-bottom:46px;
    border-radius:16px; border:1px solid var(--line);
    box-shadow:var(--shadow); text-align:center; position:relative; overflow:hidden;
}
.intro-section::before {
    content:""; position:absolute; left:0; right:0; top:0; height:5px;
    background:linear-gradient(90deg,var(--navy),var(--gold),var(--olive));
}
.intro-text {
    font-size:1.16rem; color:#4f5c66; max-width:820px;
    margin:0 auto 18px; line-height:1.8;
}
.intro-contact { font-size:1.05rem; color:var(--olive); font-weight:650; }
.intro-contact a { color:var(--navy); text-decoration:none; border-bottom:1px solid #c9b277; }
.intro-contact a:hover { color:var(--gold-dark); }

.partners-section {
    margin-top:52px !important; padding-top:44px; border-top:1px solid #ddd6c8;
}
.site-footer {
    background:var(--navy-deep); color:#e8edf0; text-align:center;
    padding:30px 0; margin-top:auto; border-top:4px solid var(--gold);
}
.site-footer p { margin-bottom:4px; }

@media (max-width:640px) {
    .container,.header-container { padding-left:16px; padding-right:16px; }
    .main-content { padding-top:26px; }
    .intro-section { padding:34px 18px; margin-bottom:34px; }
    .activities-grid { grid-template-columns:1fr; gap:20px; }
    .activity-image,.activity-image-placeholder { height:210px; }
    .nav-link { font-size:.95rem; padding:8px 13px; }
}
