:root{
  --marinho:#001F3F; --verde:#004D40; --amarelo:#FFD700; --cinza:#E0E0E0; --branco:#FFFFFF;
  --texto:#1a2330; --suave:#5b6673;
  --sans:'Archivo','Helvetica Neue',Arial,sans-serif;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:70px}
body{font-family:var(--serif);color:var(--texto);background:#f6f7f8;line-height:1.6;font-size:1.0625rem}
a{color:inherit;text-decoration:none}
a:hover h2,a:hover h3,a:hover .t{text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--amarelo);outline-offset:2px}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}

/* Topo */
.topo{background:var(--branco);border-bottom:1px solid var(--cinza)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:14px;padding-bottom:14px}
.marca{display:flex;align-items:center;gap:12px}
.marca svg{width:46px;height:46px;flex:none}
.marca .nome{font-family:var(--sans);font-weight:800;font-size:2rem;line-height:.95;color:var(--marinho);letter-spacing:.01em}
.marca .nome small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.42em;color:var(--verde);margin-top:3px}
.busca{display:flex;max-width:280px;width:100%}
.busca input{flex:1;min-width:0;font:inherit;font-size:.95rem;padding:9px 12px;border:1px solid #b9c0c7;border-right:0;border-radius:4px 0 0 4px;background:var(--branco)}
.busca button{font-family:var(--sans);font-weight:700;font-size:.9rem;padding:0 16px;background:var(--verde);color:var(--branco);border:0;border-radius:0 4px 4px 0;cursor:pointer}
.busca button:hover{background:var(--marinho)}

/* Menu */
.menu{background:var(--marinho);border-bottom:4px solid var(--amarelo);position:sticky;top:0;z-index:10}
.menu ul{list-style:none;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.menu ul::-webkit-scrollbar{display:none}
.menu a{display:block;font-family:var(--sans);font-weight:700;font-size:.95rem;color:var(--branco);padding:13px 16px;white-space:nowrap}
.menu a:hover,.menu a[aria-current]{background:var(--verde)}

/* Destaque */
main{padding:28px 0 8px}
.grade{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:32px}
.destaque .foto{aspect-ratio:16/9;background:linear-gradient(135deg,var(--marinho),var(--verde));border-radius:4px;display:grid;place-items:center;color:rgba(255,255,255,.55);font-family:var(--sans);font-weight:700;font-size:.9rem}
.selo{display:inline-block;font-family:var(--sans);font-weight:800;font-size:.85rem;background:var(--amarelo);color:var(--marinho);padding:3px 10px;border-radius:2px;margin:16px 0 8px}
.destaque h2{font-family:var(--sans);font-weight:800;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.12;color:var(--marinho);max-width:24em}
.destaque p{margin-top:10px;color:var(--suave);max-width:38em}
.meta{font-family:var(--sans);font-size:.82rem;color:var(--suave);margin-top:10px}

/* Colunas */
.lateral h3.bloco,.secao h2.bloco{font-family:var(--sans);font-weight:800;font-size:1.15rem;color:var(--marinho);border-left:6px solid var(--verde);padding-left:10px;margin-bottom:14px;line-height:1.2}
.lista{list-style:none}
.lista li{padding:13px 0;border-top:1px solid var(--cinza)}
.lista li:first-child{border-top:0;padding-top:0}
.lista .t{font-family:var(--sans);font-weight:700;font-size:1.02rem;line-height:1.3;color:var(--texto);display:block}
.lista .meta{margin-top:4px}
.fonte{color:var(--verde);font-weight:700}

.secao{margin-top:44px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.card .foto{aspect-ratio:3/2;background:var(--cinza);border-radius:4px;margin-bottom:12px}
.card h3{font-family:var(--sans);font-weight:700;font-size:1.15rem;line-height:1.28;color:var(--marinho)}
.card p{font-size:.98rem;color:var(--suave);margin-top:6px}
.cat{font-family:var(--sans);font-weight:700;font-size:.82rem;color:var(--verde)}

.agreg{background:var(--branco);border:1px solid var(--cinza);border-radius:4px;padding:22px 24px}
.agreg .lista{columns:2;column-gap:40px}
.agreg .lista li{break-inside:avoid;border-top:1px solid var(--cinza)}
.agreg .lista li:first-child{border-top:1px solid var(--cinza);padding-top:13px}
.aviso{font-family:var(--sans);font-size:.82rem;color:var(--suave);margin-top:14px}

/* Rodapé */
footer{background:var(--marinho);color:#c9d2db;margin-top:56px;font-family:var(--sans);font-size:.9rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:28px;padding-bottom:28px}
footer strong{color:var(--branco);font-size:1.05rem}
footer nav{display:flex;flex-wrap:wrap;gap:18px}
footer a:hover{color:var(--amarelo)}

@media (max-width:860px){
  .grade{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .topo .wrap{flex-direction:column;align-items:stretch}
  .busca{max-width:none}
  .cards{grid-template-columns:1fr}
  .agreg .lista{columns:1}
}

/* Extensões funcionais: mantêm o estilo visual do modelo original. */
img{display:block;max-width:100%}
.foto-media{width:100%;height:100%;object-fit:cover}
.destaque .foto,.card .foto{overflow:hidden}
.page-title{font-family:var(--sans);font-weight:800;font-size:clamp(1.5rem,3vw,2.1rem);color:var(--marinho);border-left:6px solid var(--verde);padding-left:10px;margin-bottom:24px;line-height:1.2}
.busca .btn,.btn{font-family:var(--sans);font-weight:700;font-size:.9rem;padding:9px 16px;background:var(--verde);color:var(--branco);border:0;border-radius:4px;cursor:pointer}
.busca .btn:hover,.btn:hover{background:var(--marinho)}
.article{max-width:820px;margin:0 auto}.article-header .kicker{font:800 .86rem var(--sans);color:var(--verde);text-transform:uppercase;letter-spacing:.04em}.article-header h1{font:800 clamp(2rem,5vw,3.4rem)/1.05 var(--sans);color:var(--marinho);margin:8px 0 12px}.article-header .lead{font-size:1.25rem;color:var(--suave);line-height:1.5}.article-cover{margin:26px 0;border-radius:4px;overflow:hidden;background:var(--cinza)}.article-cover img{width:100%;max-height:560px;object-fit:cover}.article-body{font-size:1.12rem;line-height:1.85}.article-body p,.article-body ul,.article-body ol,.article-body blockquote{margin:0 0 1.2em}.article-body h2,.article-body h3{font-family:var(--sans);color:var(--marinho);line-height:1.2;margin:1.7em 0 .6em}.article-body blockquote{border-left:5px solid var(--amarelo);padding:10px 18px;background:#fff}.article-body a{color:var(--verde);text-decoration:underline}.share{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 28px}.share a,.share button{font:700 .84rem var(--sans);border:1px solid var(--cinza);background:#fff;padding:7px 10px;border-radius:4px;cursor:pointer}.results{display:grid;gap:0}.result{padding:18px 0;border-bottom:1px solid var(--cinza)}.result h2{font:800 1.35rem/1.25 var(--sans);color:var(--marinho)}.empty{padding:30px;background:#fff;border:1px solid var(--cinza);border-radius:4px;color:var(--suave)}
footer{background:var(--marinho);color:#c9d2db;margin-top:56px;font-family:var(--sans);font-size:.9rem}footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:28px;padding-bottom:28px}footer strong{color:var(--branco);font-size:1.05rem}footer nav{display:flex;flex-wrap:wrap;gap:18px}footer a:hover{color:var(--amarelo)}

@media (max-width:600px){.article-header h1{font-size:2rem}}

/* v0.3: publicidade sem alterar a grade editorial original */
.ad-placement{margin:32px auto 0;max-width:100%;text-align:center;overflow:hidden}.ad-label{font:700 .7rem Archivo,Arial,sans-serif;letter-spacing:.12em;color:#66727c;text-transform:uppercase;margin-bottom:8px}.ad-placement a{display:inline-block;max-width:100%}.ad-placement img{display:block;max-width:100%;height:auto;max-height:230px;object-fit:contain;margin:auto}

/* v0.4 Mobile: não altera as medidas do desktop aprovado */
.marca-logo{display:block;width:168px;height:auto;max-height:64px;object-fit:contain;object-position:left center}
.menu-toggle{display:none;appearance:none;border:1px solid #c5cdd4;background:#fff;border-radius:4px;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;flex-shrink:0}
.menu-toggle span:not(.sr-only){display:block;width:22px;height:2px;background:var(--marinho);border-radius:2px}
.sr-only{position:absolute!important;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
@media(max-width:700px){
  .topo .wrap{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:10px 12px;align-items:center;padding-top:10px;padding-bottom:10px}
  .marca{grid-column:1;grid-row:1;min-width:0}.marca-logo{width:155px;max-width:100%}
  .menu-toggle{display:flex;grid-column:2;grid-row:1}
  .topo .busca{grid-column:1/-1;grid-row:2;max-width:none}
  .busca input{font-size:16px;min-height:44px}.busca button{min-height:44px}
  .menu{display:none;position:static;top:auto}.menu.is-open{display:block}
  .menu .wrap{padding:0}.menu ul{display:flex;flex-direction:column;overflow:visible;gap:0}
  .menu li{border-bottom:1px solid rgba(255,255,255,.13)}.menu a{padding:14px 22px;white-space:normal}
  main{padding-top:22px}.grade{gap:26px}.cards{grid-template-columns:1fr;gap:22px}.secao{margin-top:32px}
  .agreg{padding:16px}.agreg .lista{columns:1}
  .destaque h2{font-size:clamp(1.65rem,7vw,2.15rem)}
  .article-header h1{overflow-wrap:anywhere;font-size:clamp(1.8rem,7vw,2.5rem)}
  .article-header .lead{font-size:1.1rem}.article-body{font-size:1.06rem;overflow-wrap:anywhere}
  .article-body img,.article-body iframe,.article-body video{max-width:100%;height:auto}
  .share a,.share button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  footer .wrap{display:block}footer nav{margin-top:16px;gap:12px 20px}
}
@media(max-width:360px){.marca-logo{width:138px}.wrap{padding-left:14px;padding-right:14px}}
@media(min-width:701px){.menu{display:block!important}}

/* Crédito institucional discreto no rodapé — PHM BRASIL */
footer .dev-credit{flex-basis:100%;padding-top:14px;margin-top:4px;border-top:1px solid rgba(255,255,255,.2);font-family:var(--sans);font-size:.78rem;color:#c9d2db;text-align:center}
footer .dev-credit strong{color:#fff;font-size:inherit}
footer .dev-credit a{color:#fff;text-decoration:underline;text-underline-offset:3px}
footer .dev-credit a:hover{color:var(--amarelo)}