:root{
    box-sizing:border-box;
    --ink:#0A2647;
    --paper:#FFFFFF;
    --paper-raised:#F2F6FC;
    --brick:#1B5FAE;
    --brick-deep:#134783;
    --gold:#3D8BC4;
    --text:#16233A;
    --text-soft:#55677E;
    --line:#D6E2F0;
    --focus:#1F6FEB;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --ink:#EAF1FB;
      --paper:#0A1B2E;
      --paper-raised:#12283F;
      --brick:#5B9BE0;
      --brick-deep:#7AB2EC;
      --gold:#7FC1E0;
      --text:#EAF1FB;
      --text-soft:#9FB3C8;
      --line:#20344A;
    }
  }
  :root[data-theme="dark"]{
    --ink:#EAF1FB; --paper:#0A1B2E; --paper-raised:#12283F;
    --brick:#5B9BE0; --brick-deep:#7AB2EC; --gold:#7FC1E0;
    --text:#EAF1FB; --text-soft:#9FB3C8; --line:#20344A;
  }
  html{scroll-padding-top:env(safe-area-inset-top,0px); scroll-behavior:smooth;}
  *,*::before,*::after{box-sizing:inherit;}
  body{
    margin:0; background:var(--paper); color:var(--text);
    font-family:"Inter",system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  h1,h2,h3,h4{font-family:"Source Serif 4",Georgia,serif; margin:0; color:var(--ink); font-weight:700;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 20px;}
  :focus-visible{outline:3px solid var(--focus); outline-offset:2px;}

  /* ---- Faixa de Ãºltima hora ---- */
  .ticker{
    background:var(--ink); color:var(--paper); font-family:"Inter"; font-size:13px;
    overflow:hidden; white-space:nowrap; position:relative;
  }
  .ticker .wrap{display:flex; align-items:center; padding:8px 20px; gap:12px;}
  .ticker .tag{
    background:var(--brick); color:#fff; padding:3px 10px 3px 8px; border-radius:3px;
    font-weight:600; flex:none; letter-spacing:.02em; display:inline-flex; align-items:center; gap:6px;
    position:relative; z-index:2;
  }
  .live-dot{
    width:6px; height:6px; border-radius:50%; background:#fff; flex:none;
    animation:pulse-dot 1.8s ease-out infinite;
  }
  @keyframes pulse-dot{
    0%{ box-shadow:0 0 0 0 rgba(255,255,255,.6); }
    70%{ box-shadow:0 0 0 6px rgba(255,255,255,0); }
    100%{ box-shadow:0 0 0 0 rgba(255,255,255,0); }
  }
  .ticker-marquee{
    flex:1; min-width:0; overflow:hidden; position:relative;
  }
  .ticker-track{display:flex; gap:48px; width:max-content; animation:scroll-left 72s linear infinite;}
  @media (prefers-reduced-motion: reduce){ .ticker-track{animation:none;} .live-dot{animation:none;} }
  @keyframes scroll-left{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* ---- CabeÃ§alho ---- */
  header.site{
    background:var(--paper); border-bottom:2px solid var(--ink);
    position:sticky; top:0; z-index:40;
    transition:box-shadow .25s ease, background-color .25s ease;
  }
  header.site.is-scrolled{
    background:color-mix(in srgb, var(--paper) 90%, transparent);
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    box-shadow:0 10px 30px rgba(10,38,71,.12);
  }
  .header-row{
    display:flex; align-items:center; justify-content:space-between;
    padding:12px 20px 10px; gap:12px;
  }
  .logo{display:flex; flex-direction:column; line-height:1; flex:1; min-width:0;}
  .logo-link{display:inline-flex; align-items:center;}
  .logo-img{
    display:block; height:72px; width:auto; max-width:min(320px, 58vw);
    object-fit:contain; object-position:left center;
  }
  .logo .mark{font-family:"Source Serif 4",serif; font-weight:800; font-size:clamp(26px,4vw,34px); letter-spacing:-.01em;}
  .logo .mark em{font-style:normal; color:var(--brick);}
  .logo .tagline{font-size:11px; color:var(--text-soft); margin-top:4px; letter-spacing:.03em;}
  .header-actions{display:flex; align-items:center; gap:10px; flex:none;}
  .nav-toggle-input{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }
  .nav-backdrop{display:none;}
  .nav-drawer-head{display:none;}
  .nav-burger{display:block; flex-shrink:0;}
  .icon-btn{
    background:none; border:1px solid var(--line); border-radius:50%;
    width:38px; height:38px; min-width:38px; min-height:38px;
    display:inline-flex; align-items:center; justify-content:center;
    color:var(--text); cursor:pointer; padding:0; flex-shrink:0;
    box-sizing:border-box; line-height:0;
  }
  .icon-btn svg{display:block; flex-shrink:0;}
  /* Desktop = só logo + ações + nav horizontal (sem hamburger) */
  .nav-toggle-btn,
  label.icon-btn.nav-toggle-btn{
    display:none !important;
    flex:none;
  }
  .pwa-install-btn{display:none !important;}
  .pwa-install-btn.is-visible{display:none !important;}
  @media (max-width:768px){
    .logo-img{height:48px; max-width:min(200px, 52vw);}
    .header-row{
      display:grid;
      grid-template-columns:44px minmax(0,1fr) auto;
      align-items:center;
      gap:8px;
      padding:10px 14px 8px;
    }
    .icon-btn{
      width:42px; height:42px; min-width:42px; min-height:42px;
    }
    .nav-toggle-btn,
    label.icon-btn.nav-toggle-btn{
      display:inline-flex !important;
      grid-column:1;
    }
    .logo{grid-column:2; justify-self:center; flex:none;}
    .logo-link{justify-content:center;}
    .logo-img{object-position:center;}
    .header-actions{grid-column:3; gap:8px;}
    .subscribe-btn{padding:8px 12px; font-size:12.5px;}
    .pwa-install-btn.is-visible{display:inline-flex !important;}
  }
  .subscribe-btn{
    background:var(--brick); color:#fff; border:none; padding:10px 18px;
    border-radius:3px; font-weight:600; font-size:14px; cursor:pointer;
    font-family:"Inter"; transition:background .15s ease;
  }
  .subscribe-btn:hover{background:var(--brick-deep);}
  .subscribe-btn.is-subscribed{
    background:transparent; color:var(--brick); border:1.5px solid var(--brick);
  }
  .subscribe-btn.is-subscribed:hover{background:color-mix(in srgb, var(--brick) 12%, transparent);}

  nav.primary{border-top:1px solid var(--line); background:var(--paper);}
  nav.primary .wrap{display:flex; gap:26px; overflow-x:auto; padding:0 20px;}
  nav.primary a{
    position:relative; display:inline-block; padding:12px 0; font-size:14px; font-weight:600;
    color:var(--text-soft); white-space:nowrap;
  }
  nav.primary a::after{
    content:''; position:absolute; left:0; right:0; bottom:0; height:3px;
    background:var(--brick); transform:scaleX(0); transform-origin:left;
    transition:transform .22s ease;
  }
  nav.primary a:hover{color:var(--ink);}
  nav.primary a:hover::after, nav.primary a.active::after{transform:scaleX(1);}
  nav.primary a.active{color:var(--ink);}

  /* ---- Publicidade ---- */
  .ad{
    border:1px solid var(--line); background:
      repeating-linear-gradient(135deg, var(--paper-raised), var(--paper-raised) 10px, var(--paper) 10px, var(--paper) 20px);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; color:var(--text-soft); gap:4px; border-radius:4px;
  }
  .ad .ad-label{
    font-size:10px; letter-spacing:.08em; font-weight:700; color:var(--gold);
  }
  .ad .ad-size{font-size:12px;}
  .ad-leaderboard{min-height:90px; margin:28px 0;}
  .ad-rect{min-height:250px;}
  .ad-infeed{min-height:120px; margin:40px 0; grid-column:1 / -1;}

  main{padding:0 0 10px;}

  /* ---- Faixa de destaque (full-bleed) ---- */
  .hero-band{
    background:
      linear-gradient(180deg, rgba(6,18,36,.72) 0%, rgba(6,18,36,.55) 45%, rgba(6,18,36,.78) 100%),
      url('/images/hero-bg.jpg') center center / cover no-repeat;
    background-color:var(--ink);
    position:relative; overflow:hidden;
    padding:52px 0 0;
  }
  .hero-band::before{
    content:''; position:absolute; inset:0; opacity:.28; mix-blend-mode:overlay; pointer-events:none; z-index:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");
  }
  .hero-band::after{
    content:''; position:absolute; top:-30%; right:-10%; width:60%; height:140%;
    background:radial-gradient(circle, rgba(80,140,220,.22), transparent 65%);
    pointer-events:none; z-index:0;
  }
  /* ---- Cena 3D do topo ---- */
  .hero3d-canvas{
    position:absolute; inset:0; z-index:1; display:block;
    width:100%; height:100%; pointer-events:none;
  }
  .hero-band .wrap{position:relative; z-index:2;}

  /* ---- CabeÃ§alho de categoria ---- */
  .breadcrumb{font-size:12px; color:rgba(255,255,255,.55); margin-bottom:14px;}
  .breadcrumb a{color:rgba(255,255,255,.8);}
  .breadcrumb a:hover{color:#fff;}
  .cat-hero{padding:44px 0 38px;}
  .cat-hero .kicker{color:#8FC2F7;}
  .cat-hero h1{font-size:clamp(34px,5vw,54px); color:#fff; line-height:1.04; letter-spacing:-.01em; margin-bottom:12px;}
  .cat-hero .cat-dek{font-size:16px; color:rgba(255,255,255,.72); max-width:60ch; line-height:1.55;}
  .filter-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:26px;}
  .filter-chip{
    font-size:13px; font-weight:600; padding:8px 16px; border-radius:20px;
    border:1px solid rgba(255,255,255,.28); color:rgba(255,255,255,.85);
    background:rgba(255,255,255,.06); cursor:pointer; transition:background .15s ease, border-color .15s ease;
  }
  .filter-chip.is-active, .filter-chip:hover{background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.5);}

  /* ---- Coluna de opiniÃ£o ---- */
  .columnist-list{display:flex; flex-direction:column;}
  .columnist{
    display:grid; grid-template-columns:56px 1fr; gap:16px;
    padding:26px 0; border-bottom:1px solid var(--line);
  }
  .columnist:first-child{padding-top:0;}
  .columnist-avatar{
    width:56px; height:56px; border-radius:50%; flex:none;
    display:flex; align-items:center; justify-content:center;
    color:#fff; font-family:"Source Serif 4",serif; font-weight:700; font-size:19px;
  }
  .columnist-name{font-size:13px; font-weight:700; color:var(--brick); margin-bottom:4px;}
  .columnist h3{font-size:20px; line-height:1.3; margin-bottom:8px;}
  .columnist:hover h3{color:var(--brick);}
  .columnist p{font-size:14.5px; color:var(--text-soft); line-height:1.55; margin:0 0 8px;}

  /* ---- Placar rÃ¡pido (esportes) ---- */
  .scoreboard{display:flex; flex-direction:column; gap:14px;}
  .score-row{display:flex; align-items:center; justify-content:space-between; font-size:13.5px;}
  .score-row .teams{display:flex; flex-direction:column; gap:4px;}
  .score-row .score{font-family:"Source Serif 4",serif; font-weight:700; font-size:17px; color:var(--ink);}
  .score-status{font-size:10.5px; font-weight:700; letter-spacing:.05em; color:var(--brick); display:flex; align-items:center; gap:5px;}

  .hero-grid{
    display:grid; grid-template-columns:1.5fr 1fr; gap:36px; align-items:start;
  }
  .hero-art{
    width:100%; aspect-ratio:16/10; border-radius:2px; overflow:hidden;
    background:linear-gradient(155deg,#0F3A6B,var(--brick-deep));
  }
  .kicker{
    display:inline-block; font-size:12px; font-weight:700; color:var(--brick);
    margin-bottom:10px; letter-spacing:.02em;
  }
  .hero-band .kicker{color:#8FC2F7;}
  .hero-headline{font-size:clamp(32px,4.6vw,50px); line-height:1.05; letter-spacing:-.01em; margin-bottom:16px;}
  .hero-band .hero-headline{color:#fff;}
  .hero-dek{font-size:16.5px; color:var(--text-soft); line-height:1.55; max-width:60ch; margin-bottom:14px;}
  .hero-band .hero-dek{color:rgba(255,255,255,.74);}
  .byline{font-size:13px; color:var(--text-soft);}
  .hero-band .byline{color:rgba(255,255,255,.5);}

  .side-stories{display:flex; flex-direction:column; gap:22px;}
  .side-story{display:grid; grid-template-columns:74px 1fr; gap:14px; padding-bottom:20px; border-bottom:1px solid var(--line);}
  .hero-band .side-story{border-color:rgba(255,255,255,.14);}
  .side-story:last-child{border-bottom:none;}
  .side-art{width:74px; height:74px; border-radius:2px; flex:none;}
  .side-story h3{font-size:16px; line-height:1.28;}
  .hero-band .side-story h3{color:#fff;}
  .side-story .kicker{font-size:11px; margin-bottom:4px;}

  /* ---- Barra de nÃºmeros ---- */
  .stat-strip{
    display:flex; margin-top:44px; padding:26px 0; border-top:1px solid rgba(255,255,255,.16);
  }
  .stat{flex:1; padding:0 26px; border-left:1px solid rgba(255,255,255,.16);}
  .stat:first-child{border-left:none; padding-left:0;}
  .stat .num{
    font-family:"Source Serif 4",serif; font-weight:700; color:#fff;
    font-size:clamp(24px,2.8vw,36px); line-height:1;
  }
  .stat .label{font-size:12.5px; color:rgba(255,255,255,.58); margin-top:7px; line-height:1.3;}
  @media (max-width:620px){
    .stat-strip{flex-wrap:wrap; gap:20px 0;}
    .stat{flex:1 1 50%; border-left:none; padding:0 0 0 0; margin-bottom:6px;}
  }

  /* ---- SeÃ§Ãµes de categoria ---- */
  section.category{padding:44px 0 8px; border-top:1px solid var(--line); margin-top:36px;}
  .section-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:22px;}
  .section-head h2{font-size:26px;}
  .section-head a{font-size:13px; font-weight:600; color:var(--brick);}
  .card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  .card{display:flex; flex-direction:column;}
  .card-art{aspect-ratio:4/3; border-radius:2px; margin-bottom:14px;}
  .media-cover{position:relative; overflow:hidden; background:#0E2C4C;}
  .media-cover video,
  .media-cover img{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; display:block;
  }

  /* Vídeo: adapta à proporção real (sem cortar) e cabe na tela */
  .media-video{
    position:relative; overflow:hidden; border-radius:2px;
    background:#0A1B2E; margin:0;
  }
  .media-video video{
    display:block; width:100%; height:auto;
    max-width:100%; vertical-align:middle;
    background:#000;
    -webkit-user-select:none; user-select:none;
  }
  /* Esconde botão Baixar do player (Chrome/Edge/Safari) */
  .media-video video::-webkit-media-controls-enclosure{
    overflow:hidden;
  }
  .media-video video::-webkit-media-controls-download-button,
  video::-webkit-media-controls-download-button{
    display:none !important;
  }
  img, video, .card-art, .hero-art, .side-art, .ov-card{
    -webkit-user-drag:none; user-select:none;
  }
  .media-video--fit{
    width:100%;
    max-height:min(72vh, 720px);
    display:flex; align-items:center; justify-content:center;
    background:#0A1B2E;
  }
  .media-video--fit video{
    width:auto; height:auto;
    max-width:100%;
    max-height:min(72vh, 720px);
    object-fit:contain;
  }
  .hero-art.media-video--fit{
    aspect-ratio:auto; height:auto; max-height:min(72vh, 720px);
    overflow:hidden;
  }
  /* Miniaturas (cards/sidebar): caixa fixa, vídeo centralizado sem crop */
  .card-art.media-video--thumb{
    aspect-ratio:4/3; display:flex; align-items:center; justify-content:center;
  }
  .card-art.media-video--thumb video{
    width:100%; height:100%; object-fit:contain;
  }
  .hero-art.media-video--thumb{
    aspect-ratio:16/10; display:flex; align-items:center; justify-content:center;
  }
  .hero-art.media-video--thumb video{
    width:100%; height:100%; object-fit:contain;
  }
  .side-art.media-video--thumb{
    width:74px; height:74px; flex:none;
    display:flex; align-items:center; justify-content:center;
  }
  .side-art.media-video--thumb video{
    width:100%; height:100%; object-fit:contain;
  }
  @media (max-width:620px){
    .side-art.media-video--thumb{width:60px; height:60px;}
    .media-video--fit,
    .media-video--fit video,
    .hero-art.media-video--fit{
      max-height:min(65vh, 560px);
    }
  }
  .card h3{
    font-size:19px; line-height:1.3; margin-bottom:8px; transition:color .15s ease;
  }
  .card:hover h3{color:var(--brick);}
  .card p{font-size:14px; color:var(--text-soft); line-height:1.5; margin:0 0 10px;}
  .card .byline{margin-top:auto;}

  /* ---- Corpo com barra lateral ---- */
  .body-grid{display:grid; grid-template-columns:1fr 320px; gap:48px; align-items:start; margin-top:8px;}
  .article-body{
    font-size:17px; line-height:1.7; color:var(--text); max-width:70ch; margin-top:28px;
  }
  .article-body > *:first-child{margin-top:0;}
  .article-body p{margin:0 0 1.1em;}
  .article-body h2{
    font-family:"Source Serif 4",Georgia,serif; font-size:1.45em; line-height:1.25;
    color:var(--ink); margin:1.6em 0 .55em; font-weight:700;
  }
  .article-body h3{
    font-family:"Source Serif 4",Georgia,serif; font-size:1.2em; line-height:1.3;
    color:var(--ink); margin:1.35em 0 .45em; font-weight:700;
  }
  .article-body strong{font-weight:700; color:var(--ink);}
  .article-body em{font-style:italic;}
  .article-body ul, .article-body ol{margin:0 0 1.1em; padding-left:1.35em;}
  .article-body li{margin:0 0 .35em;}
  .article-body a{color:var(--brick); text-decoration:underline; text-underline-offset:2px;}
  .article-body blockquote{
    margin:1.2em 0; padding:.2em 0 .2em 1em; border-left:3px solid var(--brick);
    color:var(--text-soft); font-style:italic;
  }
  .article-body hr{border:none; border-top:1px solid var(--line); margin:1.8em 0;}
  aside{display:flex; flex-direction:column; gap:32px; position:sticky; top:118px;}
  .widget{background:var(--paper-raised); border:1px solid var(--line); border-radius:4px; padding:22px;}
  .widget h3{font-size:15px; text-transform:none; margin-bottom:16px; padding-bottom:12px; border-bottom:2px solid var(--ink);}
  .most-read{list-style:none; margin:0; padding:0; counter-reset:mr;}
  .most-read li{counter-increment:mr; display:grid; grid-template-columns:30px 1fr; gap:10px; padding:12px 0; border-bottom:1px solid var(--line);}
  .most-read li:last-child{border-bottom:none;}
  .most-read li::before{
    content:counter(mr); font-family:"Source Serif 4",serif; font-weight:700;
    font-size:22px; color:var(--line);
  }
  .most-read a{font-size:14px; line-height:1.4; font-weight:600;}

  .newsletter p{font-size:13px; color:var(--text-soft); line-height:1.5; margin:0 0 14px;}
  .newsletter form{display:flex; flex-direction:column; gap:10px;}
  .newsletter input[type=email]{
    padding:10px 12px; border:1px solid var(--line); border-radius:3px;
    background:var(--paper); color:var(--text); font-family:"Inter"; font-size:14px;
  }
  .newsletter button{
    background:var(--ink); color:var(--paper); border:none; padding:10px 12px;
    border-radius:3px; font-weight:600; cursor:pointer; font-family:"Inter";
  }
  .newsletter .ok{font-size:13px; color:var(--brick); font-weight:600; display:none; margin-top:8px;}

  .sponsored{border-color:var(--gold);}
  .sponsored .ad-label{margin-bottom:10px; display:block;}
  .sponsored h3{border-bottom-color:var(--gold);}
  .sponsored .sp-art{aspect-ratio:16/9; border-radius:3px; margin-bottom:12px; background:linear-gradient(140deg,var(--gold),var(--brick));}
  .sponsored h4{font-size:15px; margin-bottom:6px;}
  .sponsored p{font-size:13px; color:var(--text-soft); margin:0;}

  .loadmore-row{text-align:center; margin:46px 0 10px;}
  .loadmore-btn{
    background:none; border:2px solid var(--ink); color:var(--ink); padding:12px 30px;
    border-radius:3px; font-weight:700; cursor:pointer; font-family:"Inter"; font-size:14px;
  }
  .loadmore-btn:hover{background:var(--ink); color:var(--paper);}

  footer{background:var(--ink); color:var(--paper); margin-top:60px; padding:48px 0 24px;}
  footer .foot-grid{display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:32px; margin-bottom:36px;}
  footer .footer-logo{
    display:block; height:56px; width:auto; max-width:220px;
    object-fit:contain; object-position:left center;
    background:#fff; border-radius:6px; padding:4px 8px;
  }
  footer h4{font-family:"Source Serif 4",serif; font-size:15px; margin-bottom:14px; color:var(--paper);}
  footer p{font-size:13px; color:#AEC3DE; line-height:1.6; max-width:32ch;}
  footer ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px;}
  footer a{font-size:13px; color:#AEC3DE;}
  footer a:hover{color:var(--paper);}
  .foot-bottom{border-top:1px solid #16385C; padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12px; color:#6E8CAD;}

  @media (max-width:900px){
    .hero-grid{grid-template-columns:1fr;}
    .body-grid{grid-template-columns:1fr;}
    aside{position:static;}
    .card-grid{grid-template-columns:1fr 1fr;}
    footer .foot-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:768px){
    .nav-toggle-btn,
    label.icon-btn.nav-toggle-btn{display:inline-flex !important;}
    .nav-drawer-head{
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      padding:14px 14px 14px 16px;
      border-bottom:1px solid var(--line);
      background:var(--paper);
      min-height:64px; box-sizing:border-box;
    }
    .nav-drawer-brand{
      display:flex; align-items:center; gap:10px; min-width:0;
      text-decoration:none; color:var(--ink); font-weight:700; font-size:15px;
      padding:0 !important; border:none !important; background:transparent !important;
    }
    .nav-drawer-brand::after{display:none !important;}
    .nav-drawer-logo{
      width:36px; height:36px; border-radius:50%; object-fit:cover;
      flex-shrink:0; display:block;
      box-shadow:0 0 0 2px color-mix(in srgb, var(--brick) 22%, transparent);
    }
    .nav-drawer-brand span{
      white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    }
    .nav-drawer-close{
      width:40px; height:40px; min-width:40px; border-radius:50%;
      border:1px solid var(--line); background:var(--paper-raised);
      color:var(--ink); cursor:pointer; flex-shrink:0;
      display:inline-flex; align-items:center; justify-content:center;
      padding:0; line-height:0; box-sizing:border-box;
    }
    .nav-drawer-close svg{display:block;}
    .nav-backdrop{
      display:block; position:fixed; inset:0; background:rgba(10,28,48,.45);
      opacity:0; pointer-events:none; transition:opacity .22s ease; z-index:80;
    }
    nav.primary{
      position:fixed; top:0; left:0; bottom:0;
      width:min(86vw, 304px); max-width:304px;
      border-top:none; border-right:1px solid var(--line);
      background:var(--paper);
      box-shadow:18px 0 40px rgba(10,38,71,.18);
      transform:translateX(-105%);
      transition:transform .26s cubic-bezier(.2,.8,.2,1);
      z-index:90; overflow-y:auto; -webkit-overflow-scrolling:touch;
      display:flex; flex-direction:column;
    }
    nav.primary .wrap{
      display:flex; flex-direction:column; gap:0;
      padding:8px 0 28px; overflow:visible; width:100%;
      box-sizing:border-box;
    }
    nav.primary .wrap > a{
      padding:14px 18px; border-bottom:1px solid var(--line);
      font-size:15px; width:100%; box-sizing:border-box;
    }
    nav.primary .wrap > a::after{display:none;}
    nav.primary .wrap > a.active{
      color:var(--brick);
      background:color-mix(in srgb, var(--brick) 8%, transparent);
    }
    #nav-toggle:checked ~ nav.primary{transform:translateX(0);}
    #nav-toggle:checked ~ .nav-backdrop{opacity:1; pointer-events:auto;}
    body:has(#nav-toggle:checked){overflow:hidden;}

    .card-grid{grid-template-columns:1fr;}
    .side-story{grid-template-columns:60px 1fr;}
    .side-art{width:60px; height:60px;}
    footer .foot-grid{grid-template-columns:1fr;}
  }

a.filter-chip{display:inline-block;text-decoration:none}

/* ---- Carrossel Entrevistas / Destaques ---- */
.block-title{
  font-size:clamp(22px,2.5vw,28px); color:var(--ink); margin:0 0 18px;
  position:relative; padding-bottom:10px;
}
.block-title::after{
  content:''; position:absolute; left:0; bottom:0; width:42px; height:4px;
  background:var(--brick); border-radius:2px;
}

.carousel{
  position:relative; margin:8px 0 40px;
}
.carousel-viewport{overflow:hidden;}
.carousel-track{
  display:flex; gap:18px; transition:transform .35s ease;
}
.carousel-card{
  flex:0 0 calc((100% - 36px) / 3); position:relative;
  border-radius:16px; overflow:hidden; min-height:280px;
  color:#fff; display:flex; align-items:flex-end;
  background:linear-gradient(155deg,#0F3A6B,#134783);
  text-decoration:none;
}
.carousel[data-count="1"] .carousel-card{flex:0 0 100%;}
.carousel[data-count="2"] .carousel-card{flex:0 0 calc((100% - 18px) / 2);}
.media-play-badge{
  position:absolute; top:12px; right:12px; z-index:3;
  width:34px; height:34px; border-radius:50%;
  background:rgba(27,95,174,.92); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:12px; box-shadow:0 4px 12px rgba(0,0,0,.25);
}
.media-play-badge--lg{top:16px; right:16px; width:42px; height:42px; font-size:14px;}
.card-art, .hero-art, .side-art{position:relative;}
.card-art .media-play-badge, .hero-art .media-play-badge, .side-art .media-play-badge{
  top:8px; right:8px; width:28px; height:28px; font-size:10px;
}
.carousel-card::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 28%, rgba(6,18,36,.88) 100%);
  z-index:1;
}
.carousel-card-bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
}
.carousel-card-bg video,
.ov-card-bg video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
}
.carousel-card-body{position:relative; z-index:2; padding:20px 18px;}
.carousel-card .time{font-size:12px; opacity:.85; margin-bottom:6px;}
.carousel-card h3{font-size:18px; line-height:1.25; color:#fff; margin:0 0 6px;}
.carousel-card p{font-size:13px; color:rgba(255,255,255,.78); margin:0; line-height:1.4;}
.carousel-btn{
  position:absolute; top:50%; transform:translateY(-50%);
  width:40px; height:40px; border-radius:50%; border:none; cursor:pointer;
  background:rgba(10,38,71,.55); color:#fff; z-index:5;
  display:flex; align-items:center; justify-content:center;
}
.carousel-btn:hover{background:rgba(10,38,71,.8);}
.carousel-btn.prev{left:8px;}
.carousel-btn.next{right:8px;}
.carousel-dots{display:flex; justify-content:center; gap:8px; margin-top:16px;}
.carousel-dots button{
  width:9px; height:9px; border-radius:50%; border:none; padding:0; cursor:pointer;
  background:#C5D3E4;
}
.carousel-dots button.is-active{background:var(--brick);}

/* Destaques mosaic 1 + 4 */
.destaques{
  position:relative; margin:8px 0 44px;
}
.destaques-grid{
  display:grid; grid-template-columns:1.15fr 1fr; gap:14px; min-height:420px;
}
.ov-card{
  position:relative; border-radius:16px; overflow:hidden; color:#fff;
  display:flex; align-items:flex-end; text-decoration:none; min-height:160px;
  background:linear-gradient(155deg,#0F3A6B,#134783);
}
.ov-card::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 20%, rgba(6,18,36,.9) 100%);
  z-index:1;
}
.ov-card-bg{position:absolute; inset:0; background-size:cover; background-position:center;}
.ov-card-bg video{width:100%; height:100%; object-fit:cover; display:block;}
.ov-card-body{position:relative; z-index:2; padding:18px;}
.ov-card .tag{
  display:inline-block; font-size:11px; font-weight:700; background:var(--brick);
  color:#fff; padding:4px 10px; border-radius:999px; margin-bottom:10px;
}
.ov-card .time{font-size:12px; opacity:.85; margin-bottom:6px;}
.ov-card h3{font-size:17px; line-height:1.25; color:#fff; margin:0 0 6px;}
.ov-card p{font-size:13px; color:rgba(255,255,255,.78); margin:0; line-height:1.4;}
.ov-card--main{min-height:420px;}
.ov-card--main h3{font-size:clamp(22px,2.4vw,30px);}
.destaques-side{
  display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:14px;
}
.destaques-side .ov-card{min-height:0;}

/* Lista Últimas + destaque lado a lado */
.latest-split{
  display:grid; grid-template-columns:1.3fr 1fr; gap:36px; margin:10px 0 40px; align-items:start;
}
.latest-main .thumb{
  border-radius:14px; overflow:hidden; aspect-ratio:16/10; margin-bottom:14px;
  display:block;
}
.latest-main .thumb .hero-art{
  margin:0; border-radius:14px; width:100%; height:100%; aspect-ratio:auto;
}
.latest-main .meta{font-size:13px; color:var(--text-soft); margin-bottom:8px;}
.latest-main h3{font-size:clamp(20px,2.2vw,26px); line-height:1.25; margin:0 0 10px;}
.latest-main h3 a:hover{color:var(--brick);}
.latest-main .excerpt{font-size:15px; color:var(--text-soft); line-height:1.55; margin:0 0 14px;}
.latest-main .readmore{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--brick); color:#fff; font-weight:700; font-size:13.5px;
  padding:10px 16px; border-radius:999px;
}
.latest-main .readmore:hover{background:var(--brick-deep);}
.latest-list{display:flex; flex-direction:column; gap:16px;}
.latest-item{
  display:grid; grid-template-columns:96px 1fr; gap:12px; align-items:center;
  text-decoration:none;
}
.latest-item .thumb{
  width:96px; height:72px; border-radius:10px; overflow:hidden; flex:none;
  background:linear-gradient(145deg,#1F5C99,#0E2C4C);
}
.latest-item .thumb > div, .latest-item .thumb video, .latest-item .thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.latest-item .time{font-size:12px; color:var(--text-soft); margin-bottom:4px;}
.latest-item h4{font-size:15px; line-height:1.3; margin:0; color:var(--ink);}
.latest-item:hover h4{color:var(--brick);}

@media (max-width:900px){
  .carousel-card{flex:0 0 calc((100% - 18px) / 2); min-height:250px;}
  .destaques-grid{grid-template-columns:1fr;}
  .ov-card--main{min-height:320px;}
  .destaques-side{min-height:320px;}
  .latest-split{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .carousel-card{flex:0 0 100%; min-height:240px;}
  .destaques-side{grid-template-columns:1fr; grid-template-rows:auto;}
}

/* ---- Modais do site ---- */
.site-modal{
  position:fixed; inset:0; z-index:200;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
}
.site-modal[hidden]{display:none !important;}
.site-modal__backdrop{
  position:absolute; inset:0;
  background:rgba(8,18,32,.58);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.site-modal__dialog{
  position:relative; z-index:1;
  width:100%; max-width:420px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:16px;
  padding:28px 24px 22px;
  box-shadow:0 24px 60px rgba(10,38,71,.22);
  animation:site-modal-in .22s ease;
}
.site-modal__dialog--search{max-width:480px;}
@keyframes site-modal-in{
  from{opacity:0; transform:translateY(10px) scale(.98);}
  to{opacity:1; transform:none;}
}
.site-modal__close{
  position:absolute; top:12px; right:12px;
  width:34px; height:34px; border-radius:50%;
  border:1px solid var(--line); background:var(--paper-raised);
  color:var(--text-soft); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.site-modal__close:hover{color:var(--ink); border-color:var(--brick);}
.site-modal__icon{
  width:48px; height:48px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:14px; font-size:22px;
  background:color-mix(in srgb, var(--brick) 14%, transparent);
  color:var(--brick);
}
.site-modal__icon.is-success{
  background:color-mix(in srgb, #1E9E6B 16%, transparent); color:#1E9E6B;
}
.site-modal__icon.is-error{
  background:color-mix(in srgb, #D0473A 14%, transparent); color:#D0473A;
}
.site-modal__icon.is-info{
  background:color-mix(in srgb, var(--brick) 14%, transparent); color:var(--brick);
}
.site-modal__title{
  font-family:"Source Serif 4",Georgia,serif;
  font-size:22px; margin:0 0 8px; color:var(--ink); line-height:1.2;
}
.site-modal__text{
  margin:0 0 20px; font-size:14.5px; line-height:1.55; color:var(--text-soft);
}
.site-modal__actions{display:flex; justify-content:flex-end; gap:10px;}
.site-modal__btn{
  border:none; cursor:pointer; font-family:"Inter",system-ui,sans-serif;
  font-weight:700; font-size:14px; padding:11px 18px; border-radius:8px;
}
.site-modal__btn--primary{background:var(--brick); color:#fff;}
.site-modal__btn--primary:hover{background:var(--brick-deep);}
.site-modal__btn--ghost{
  background:transparent; color:var(--text-soft); border:1px solid var(--line);
}
.site-modal__btn--ghost:hover{color:var(--ink); border-color:var(--brick);}
.site-search-form{display:flex; flex-direction:column; gap:12px;}
.site-search-form input[type=search]{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:8px;
  background:var(--paper-raised); color:var(--text); font-size:15px; font-family:inherit;
}
.site-search-form input[type=search]:focus{
  outline:3px solid color-mix(in srgb, var(--focus) 35%, transparent); border-color:var(--brick);
}
body.modal-open{overflow:hidden;}

/* ---- Convite instalar PWA ---- */
.pwa-invite{
  position:fixed; left:0; right:0; bottom:0; z-index:220;
  padding:14px 14px calc(14px + env(safe-area-inset-bottom, 0px));
  pointer-events:none;
}
.pwa-invite[hidden]{display:none !important;}
.pwa-invite__card{
  pointer-events:auto;
  max-width:420px; margin:0 auto;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow:0 -8px 40px rgba(10,38,71,.28);
  display:grid;
  grid-template-columns:56px 1fr;
  grid-template-areas:
    "icon copy"
    "actions actions";
  gap:12px 14px;
  animation:pwa-invite-in .28s ease;
}
@keyframes pwa-invite-in{
  from{opacity:0; transform:translateY(18px);}
  to{opacity:1; transform:none;}
}
.pwa-invite__icon{
  grid-area:icon; width:56px; height:56px; border-radius:50%;
  object-fit:cover; display:block;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--brick) 18%, transparent);
}
.pwa-invite__copy{grid-area:copy; min-width:0;}
.pwa-invite__copy strong{
  display:block; font-size:15.5px; color:var(--ink); margin-bottom:4px;
  font-family:"Inter",system-ui,sans-serif;
}
.pwa-invite__copy p{
  margin:0; font-size:13px; line-height:1.4; color:var(--text-soft);
}
.pwa-invite__actions{
  grid-area:actions; display:flex; gap:10px; justify-content:flex-end;
}
.pwa-invite__btn{
  border:none; cursor:pointer; font-family:"Inter",system-ui,sans-serif;
  font-weight:700; font-size:13.5px; padding:10px 16px; border-radius:8px;
}
.pwa-invite__btn--primary{background:var(--brick); color:#fff;}
.pwa-invite__btn--primary:hover{background:var(--brick-deep);}
.pwa-invite__btn--ghost{
  background:transparent; color:var(--text-soft); border:1px solid var(--line);
}
.pwa-invite__btn--ghost:hover{color:var(--ink);}


/* ---- Ofertas (cards estilo marketplace) ---- */
.offers-page{padding:28px 20px 56px;}
.offers-empty{
  text-align:center; color:var(--text-soft); padding:48px 16px; font-size:15px;
}
.offer-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:18px;
}
.offer-card{
  display:flex; flex-direction:column;
  background:#fff; color:#16233A; text-decoration:none;
  border:1px solid #d6e2f0; border-radius:12px; overflow:hidden;
  box-shadow:0 2px 10px rgba(10,38,71,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.offer-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(10,38,71,.14);
  border-color:#8eb6e0;
}
.offer-card__media{
  position:relative; aspect-ratio:1 / 1; background:#f3f6fa; overflow:hidden;
}
.offer-card__media img,
.offer-card__media video{
  width:100%; height:100%; object-fit:cover; display:block;
}
.offer-card__badge{
  position:absolute; top:10px; left:10px; z-index:1;
  background:#00a650; color:#fff; font-weight:800; font-size:12px;
  padding:5px 8px; border-radius:4px; letter-spacing:.02em;
}
.offer-card__body{
  display:flex; flex-direction:column; gap:8px; padding:14px 14px 16px; flex:1;
  background:#fff; color:#16233A;
}
.offer-card__title{
  margin:0; font-size:14.5px; line-height:1.35; color:#0A2647 !important;
  font-weight:700; font-family:"Inter",system-ui,sans-serif;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.offer-card__desc{
  margin:0; font-size:12.5px; line-height:1.4; color:#55677E !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.offer-card__prices{display:flex; flex-direction:column; gap:2px; margin-top:auto;}
.offer-card__old{
  font-size:12px; color:#8a97a8; text-decoration:line-through;
}
.offer-card__promo{
  font-size:22px; font-weight:800; color:#00a650; letter-spacing:-.02em;
}
.offer-card__expires{
  margin:0; font-size:11.5px; color:#55677E;
}
.offer-card__cta{
  display:inline-flex; align-items:center; justify-content:center;
  margin-top:6px; padding:10px 12px; border-radius:8px;
  background:#1B5FAE; color:#fff !important; font-weight:700; font-size:13.5px;
}
.offer-card:hover .offer-card__cta{background:#134783;}

/* Cabeçalho no tema escuro: Assinar/Assinado e ícones em branco */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .subscribe-btn.is-subscribed{
    color:#fff; border-color:rgba(255,255,255,.78);
  }
  :root:not([data-theme="light"]) .subscribe-btn.is-subscribed:hover{
    background:rgba(255,255,255,.1); color:#fff;
  }
  :root:not([data-theme="light"]) header.site .icon-btn{
    color:#fff; border-color:rgba(255,255,255,.35);
  }
}
:root[data-theme="dark"] .subscribe-btn.is-subscribed{
  color:#fff; border-color:rgba(255,255,255,.78);
}
:root[data-theme="dark"] .subscribe-btn.is-subscribed:hover{
  background:rgba(255,255,255,.1); color:#fff;
}
:root[data-theme="dark"] header.site .icon-btn{
  color:#fff; border-color:rgba(255,255,255,.35);
}

@media (max-width:1100px){
  .offer-grid{grid-template-columns:repeat(3, minmax(0,1fr));}
}
@media (max-width:760px){
  .offer-grid{grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px;}
  .offer-card__promo{font-size:18px;}
  .offer-card__title{font-size:15px; color:#0A2647 !important;}
}
@media (max-width:420px){
  .offer-grid{grid-template-columns:1fr;}
}
