:root{
--bg:#202124;
--header-h:86px;
--accent:#c62828;
--accent-strong:#a61e1e;
--surface:#171717;
--text:#f1f3f4;
--muted:#bdc1c6;
}

*{margin:0;padding:0;box-sizing:border-box;font-family:"Segoe UI",Tahoma,sans-serif}
body{background:var(--bg);color:var(--text);min-height:100vh}

header{
background:#000;
padding:15px 60px;
display:flex;
justify-content:space-between;
align-items:center;
position:fixed;
width:100%;
top:0;
z-index:1000;
gap:18px;
flex-wrap:wrap;
}

.logo img{height:auto;max-height:70px;width:auto;display:block;max-width:200px}

nav ul{display:flex;list-style:none;gap:30px;flex-wrap:wrap;justify-content:flex-end}
nav a{color:#bbb;text-decoration:none;font-weight:700;transition:0.3s}
nav a:hover{color:#fff}

main{padding:calc(var(--header-h) + 22px) 0 30px;min-height:calc(100vh - 70px)}

.sobre-wrap{width:min(1200px,92%);margin:0 auto}

.sobre-topo{
background:#111;
border-radius:12px;
padding:26px;
margin-bottom:22px;
}

.sobre-topo-head{
display:flex;
justify-content:space-between;
gap:16px;
align-items:flex-start;
margin-bottom:8px;
flex-wrap:wrap;
}

.edit-sobre-btn{
border:none;
border-radius:10px;
padding:12px 16px;
background:var(--accent);
color:#fff;
font-weight:800;
cursor:pointer;
white-space:nowrap;
}

.edit-sobre-btn:hover{background:var(--accent-strong)}

.sobre-topo h1{font-size:clamp(1.9rem,3.4vw,2.6rem);margin-bottom:8px;color:#fff}
.sobre-topo p{color:#dbdbdb;line-height:1.55;max-width:74ch}

.bloco{
display:grid;
grid-template-columns:1.05fr 1fr;
gap:32px;
margin-bottom:24px;
background:var(--surface);
border-radius:14px;
padding:28px;
align-items:center;
box-shadow:0 10px 24px rgba(0,0,0,0.28);
border:1px solid rgba(255,255,255,0.06);
}

.bloco.inverso .conteudo{order:2}
.bloco.inverso img{order:1}

.bloco img{width:100%;height:auto;max-height:400px;object-fit:contain;border-radius:12px;display:block;background:rgba(255,255,255,0.04);padding:20px}

.conteudo h2{margin-bottom:10px;color:var(--text);font-size:1.7rem}
.conteudo p{line-height:1.62;color:var(--muted);font-size:1.02rem}

.destaque{
display:inline-block;
margin-bottom:12px;
padding:4px 10px;
border-radius:999px;
background:var(--accent);
color:#fff;
font-weight:700;
font-size:0.75rem;
}

.about-modal-backdrop{
position:fixed;
inset:0;
background:rgba(0,0,0,0.72);
display:none;
align-items:center;
justify-content:center;
padding:18px;
z-index:2000;
}

.about-modal-backdrop.open{display:flex}

.about-modal{
width:min(860px,100%);
background:#141414;
border-radius:18px;
border:1px solid rgba(255,255,255,0.08);
box-shadow:0 22px 60px rgba(0,0,0,0.45);
padding:22px;
max-height:90vh;
overflow:auto;
}

.about-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.about-modal-head h2{font-size:1.5rem;margin-bottom:6px;color:#fff}
.about-modal-head p{color:var(--muted);line-height:1.5}
.about-close-btn{background:transparent;border:none;color:#fff;font-size:1.4rem;cursor:pointer;line-height:1;padding:4px 8px}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.about-field{display:grid;gap:8px}
.about-field.full{grid-column:1 / -1}
.about-field label{font-weight:700;color:#e7e7e7}
.about-field input,.about-field textarea{
width:100%;
border-radius:10px;
border:1px solid rgba(255,255,255,0.12);
background:#1e1e1e;
color:var(--text);
padding:12px 14px;
outline:none;
}
.about-field textarea{min-height:100px;resize:vertical}
.about-field input:focus,.about-field textarea:focus{border-color:rgba(198,40,40,0.8);box-shadow:0 0 0 3px rgba(198,40,40,0.12)}
.about-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:18px}
.about-actions .secondary-btn,.about-actions .primary-btn{border:none;border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer}
.about-actions .secondary-btn{background:#2a2a2a;color:#fff}
.about-actions .primary-btn{background:var(--accent);color:#fff}
.about-actions .primary-btn:hover{background:var(--accent-strong)}

footer{background:#000;color:#aaa;text-align:center;padding:22px}

@media (max-width:900px){
header{padding:12px 20px}
nav ul{gap:15px}
.bloco{grid-template-columns:1fr}
.bloco.inverso .conteudo,.bloco.inverso img{order:initial}
}

@media (max-width:560px){
main{padding-top:96px}
.conteudo h2{font-size:1.45rem}
}