:root{
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  --bg:#F5F5F3; --surface:#FFFFFF; --surface2:#ECECEA; --ink:#0A0A0A; --muted:#5B6370;
  --line:#E2E2E0; --brand:#39E000; --link:#1A7A00; --mint:#DDF5D9; --dark:#0A0A0A; --dark2:#161616;
  --yellow:#EEFF00; --danger:#D93025; --shadow:0 1px 3px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.04);
  --f-display:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-ui:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-serif:"Source Serif 4",Georgia,"Times New Roman",serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0D0D0D; --surface:#141414; --surface2:#1C1C1C; --ink:#F0F0F0; --muted:#9A9A9A;
    --line:#262626; --link:#39E000; --dark:#050505; --dark2:#121212; --shadow:0 0 0 1px rgba(255,255,255,.05);
  }
}
:root[data-theme="dark"]{
  --bg:#0D0D0D; --surface:#141414; --surface2:#1C1C1C; --ink:#F0F0F0; --muted:#9A9A9A;
  --line:#262626; --link:#39E000; --dark:#050505; --dark2:#121212; --shadow:0 0 0 1px rgba(255,255,255,.05);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-ui);font-size:15px;line-height:1.55;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--link);outline-offset:2px;border-radius:6px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.muted{color:var(--muted)}
h1,h2,h3{font-family:var(--f-display);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0}
.ticker,.mk,.result .big,.stat b{font-variant-numeric:tabular-nums}

/* ticker */
.ticker{background:var(--dark);color:#EDEDED;font-size:12.5px}
.ticker .wrap{display:flex;gap:28px;align-items:center;height:38px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.ticker .wrap::-webkit-scrollbar{display:none}
.ticker b{color:#fff;font-weight:600}
.ticker .up{color:var(--brand)} .ticker .dn{color:#ff6b6b}
.ticker .lbl{color:#9aa0a6;flex:none}

/* header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:28px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-weight:800;font-size:21px;letter-spacing:-.02em;background:none;border:0;padding:0}
.brand img{width:34px;height:34px}
.nav{display:flex;gap:4px;margin-left:8px;flex:1;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{padding:8px 12px;border-radius:999px;text-decoration:none;font-weight:600;font-size:14px;color:var(--muted);white-space:nowrap}
.nav a:hover,.nav a[aria-current="true"]{color:var(--ink);background:var(--surface2)}
.head-actions{display:flex;gap:10px;align-items:center}
.icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 22px;font-weight:700;font-size:14px;text-decoration:none;background:var(--brand);color:#000;transition:filter .15s}
.btn:hover{filter:brightness(.94)}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.btn.dark{background:var(--ink);color:var(--bg)}
.btn.sm{padding:9px 16px;font-size:13px}

/* hero */
.hero{padding:56px 0 40px}
.hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:center}
.pill{display:inline-block;padding:5px 12px;border-radius:999px;background:var(--mint);color:#14610A;font-weight:700;font-size:12.5px}
:root[data-theme="dark"] .pill{color:#14610A}
.hero h1{font-size:clamp(2.3rem,5vw,4rem);margin:18px 0 18px;max-width:15ch}
.hero .lede{font-size:18px;line-height:1.6;color:var(--muted);max-width:52ch;margin:0 0 24px}
.meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.meta .av{width:28px;height:28px;border-radius:50%;background:var(--mint);display:grid;place-items:center;flex:none}
.meta .av img{width:16px;height:16px}
.meta .dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}
.hero-cta{display:flex;gap:12px;align-items:center;margin-top:28px;flex-wrap:wrap}
.hero-panel{background:var(--mint);border-radius:32px;aspect-ratio:1/1;display:grid;place-items:center;padding:28px;position:relative;overflow:hidden;cursor:pointer;border:0;width:100%}
.hero-panel img{width:100%;height:100%;object-fit:contain}
.hero-panel .tag{position:absolute;left:20px;bottom:20px;background:var(--dark);color:#fff;border-radius:14px;padding:10px 14px;font-size:12.5px;line-height:1.35;text-align:left}
.hero-panel .tag b{display:block;font-family:var(--f-display);font-size:18px;color:var(--brand)}

/* layout home */
.cols{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:56px;padding:24px 0 64px}
.sec-title{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 8px;border-bottom:2px solid var(--ink);padding-bottom:12px}
.sec-title h2{font-size:26px}
.sec-title a{font-size:13px;font-weight:600;color:var(--link);text-decoration:none}
.row{display:grid;grid-template-columns:168px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);cursor:pointer;text-decoration:none}
.row .thumb{background:var(--mint);border-radius:20px;aspect-ratio:1/1;padding:12px}
.row .thumb img{width:100%;height:100%;object-fit:contain}
.row h3{font-size:25px;margin:10px 0 8px}
.row:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.row p{margin:0 0 12px;color:var(--muted);max-width:60ch}

/* sidebar */
.side > section{margin-bottom:40px}
.top-list{list-style:none;margin:0;padding:0;counter-reset:r}
.top-list li{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer}
.top-list .n{font-family:var(--f-display);font-weight:800;font-size:26px;line-height:1;color:var(--link)}
.top-list a{font-weight:600;text-decoration:none;font-size:14.5px;line-height:1.4}
.top-list li:hover a{text-decoration:underline}
.top-list .m{font-size:12px;color:var(--muted);display:block;margin-top:3px}
.calc{background:var(--surface);border-radius:24px;padding:24px;box-shadow:var(--shadow)}
.calc h3{font-size:22px;margin-bottom:4px}
.calc .sub{font-size:13px;color:var(--muted);margin:0 0 16px}
.field{margin-bottom:12px}
.field label{display:block;font-size:12.5px;font-weight:600;margin-bottom:5px}
.field input,.field select,.field textarea,.f-input{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:12px;padding:11px 13px;font:inherit;font-size:14px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.result{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}
.result .big{font-family:var(--f-display);font-weight:800;font-size:36px;letter-spacing:-.02em;line-height:1.1}
.bar{display:flex;height:10px;border-radius:99px;overflow:hidden;margin:12px 0 8px;background:var(--surface2)}
.bar i{display:block;height:100%}
.bar .a{background:var(--ink)} .bar .b{background:var(--brand)}
.legend{display:flex;gap:16px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.legend span::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:var(--ink)}
.legend span.g::before{background:var(--brand)}
.note{font-size:11.5px;color:var(--muted);margin:12px 0 0}
.news{background:var(--dark);color:#F0F0F0;border-radius:24px;padding:26px}
.news h3{font-size:23px;margin-bottom:8px;color:#fff}
.news p{margin:0 0 16px;color:#B7B7B7;font-size:14px}
.news form{display:grid;gap:10px}
.news input{border:1px solid #333;background:#0E0E0E;color:#fff;border-radius:999px;padding:12px 16px;font:inherit;font-size:14px}
.news small{display:block;margin-top:10px;color:#8b8b8b;font-size:11.5px}

/* categorias */
.cats{padding:8px 0 72px}
.cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:20px}
.cat{background:var(--surface);border-radius:24px;padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow);cursor:pointer;border:0;text-align:left;grid-column:span 2}
.cat:nth-child(1){grid-column:span 3;flex-direction:row;align-items:center}
.cat:nth-child(2){grid-column:span 3;flex-direction:row;align-items:center}
.cat .ic{background:var(--mint);border-radius:16px;aspect-ratio:4/3;padding:8px}
.cat:nth-child(1) .ic,.cat:nth-child(2) .ic{width:44%;flex:none}
.cat .ic img{width:100%;height:100%;object-fit:contain}
.cat b{font-family:var(--f-display);font-size:21px;font-weight:700;display:block}
.cat span{font-size:13px;color:var(--muted)}
.cat:hover{outline:2px solid var(--ink)}

/* faixa do app */
.app-band{background:var(--dark);color:#fff;border-radius:36px;display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;padding:48px 56px;margin-bottom:72px;overflow:hidden}
.app-band h2{font-size:clamp(1.9rem,3.4vw,2.8rem);max-width:16ch;margin-bottom:14px}
.app-band p{color:#BDBDBD;max-width:46ch;margin:0 0 24px;font-size:16px}
.app-band .pic{background:var(--mint);border-radius:28px;padding:20px;aspect-ratio:5/4}
.app-band .pic img{width:100%;height:100%;object-fit:contain}

/* footer */
.foot{background:var(--dark);color:#CFCFCF;padding:56px 0 calc(32px + env(safe-area-inset-bottom,0px))}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
.foot img.lg{height:36px;width:auto;margin-bottom:14px}
.foot h4{margin:0 0 12px;color:#fff;font-size:14px}
.foot a{display:block;text-decoration:none;color:#BDBDBD;margin-bottom:8px;font-size:14px}
.foot a:hover{color:var(--brand)}
.foot .legal{border-top:1px solid #262626;margin-top:36px;padding-top:20px;font-size:12px;color:#8b8b8b;max-width:80ch}

/* notícias */
.trend{display:flex;gap:8px;align-items:center;overflow-x:auto;scrollbar-width:none;padding:4px 0 18px;white-space:nowrap;font-size:13px}
.trend::-webkit-scrollbar{display:none}
.trend b{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--danger);flex:none;margin-right:4px}
.trend a{padding:6px 12px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:600;background:var(--surface);flex:none}
.kick{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--link)}
.when{font-size:12px;color:var(--muted)}
.lead-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:32px;padding:20px 0 30px;border-bottom:1px solid var(--line);margin-bottom:28px}
.lead{display:block;text-decoration:none;cursor:pointer}
.lead .pic{background:var(--mint);border-radius:22px;aspect-ratio:16/10;padding:18px;margin-bottom:14px}
.lead .pic img{width:100%;height:100%;object-fit:contain}
.lead h3{font-size:clamp(1.6rem,2.8vw,2.3rem);margin:6px 0 8px}
.lead p{margin:0 0 8px;color:var(--muted)}
.mini{display:block;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none;cursor:pointer}
.mini:first-child{padding-top:0}.mini:last-child{border-bottom:0}
.mini h4{font-family:var(--f-display);font-weight:700;font-size:18px;line-height:1.25;margin:5px 0 6px;letter-spacing:-.01em}
.lead:hover h3,.mini:hover h4,.nrow:hover h3,.ed li:hover a{text-decoration:underline;text-underline-offset:4px}
.nrow{display:grid;grid-template-columns:1fr 128px;gap:22px;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none;cursor:pointer}
.nrow h3{font-size:22px;margin:6px 0}
.nrow p{margin:0 0 8px;color:var(--muted);font-size:14.5px;max-width:58ch}
.nrow .thumb{background:var(--mint);border-radius:16px;aspect-ratio:1/1;padding:10px;align-self:start}
.nrow .thumb img{width:100%;height:100%;object-fit:contain}
.eds{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:44px}
.ed .hd{border-top:3px solid var(--ink);padding-top:10px;margin-bottom:4px}
.ed h2{font-size:22px}
.ed ul{list-style:none;margin:0;padding:0}
.ed li{padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer}
.ed li a{font-family:var(--f-display);font-weight:600;font-size:16px;line-height:1.3;text-decoration:none;display:block;margin-bottom:3px}
.mkt{background:var(--surface);border-radius:20px;box-shadow:var(--shadow);padding:18px 20px 8px}
.mkt h3{font-size:20px;margin-bottom:4px}
.mk{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.mk:last-of-type{border-bottom:0}
.mk b{font-variant-numeric:tabular-nums}
.mk .up{color:var(--link);font-weight:700}.mk .dn{color:var(--danger);font-weight:700}
@media (max-width:900px){.lead-grid,.eds{grid-template-columns:1fr}.nrow{grid-template-columns:1fr 92px;gap:14px}.nrow p{display:none}.nrow h3{font-size:19px}}

/* artigo */
.art-head{padding:40px 0 28px;max-width:860px;margin:0 auto}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:18px}
.crumbs a{color:var(--link);font-weight:600;text-decoration:none}
.art-head h1{font-size:clamp(2.1rem,4.6vw,3.4rem);margin:14px 0 18px}
.art-head .lede{font-family:var(--f-serif);font-size:21px;line-height:1.5;color:var(--muted);margin:0 0 22px;font-weight:400}
.art-cover{background:var(--mint);border-radius:32px;max-width:1040px;margin:12px auto 48px;padding:28px;aspect-ratio:21/9}
.art-cover img{height:100%;width:100%;object-fit:contain}
.art-grid{display:grid;grid-template-columns:220px minmax(0,680px) 1fr;gap:48px;max-width:1040px;margin:0 auto;padding-bottom:40px}
.toc{position:sticky;top:calc(env(safe-area-inset-top,0px) + 92px);align-self:start;font-size:13.5px}
.toc b{display:block;margin-bottom:10px;font-size:13px}
.toc a{display:block;padding:7px 0 7px 14px;border-left:2px solid var(--line);color:var(--muted);text-decoration:none;font-weight:500}
.toc a.on{border-color:var(--brand);color:var(--ink);font-weight:700}
.share{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}
.prose{font-family:var(--f-serif);font-size:19px;line-height:1.7}
.prose h2{font-family:var(--f-display)}
.prose p{margin:0 0 1.2em}
.prose h2{font-size:30px;margin:2em 0 .6em}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.3em}
.prose li{margin-bottom:.4em}
.prose li::marker{color:var(--link);font-weight:700}
.callout{background:var(--mint);color:#0F3D08;border-radius:20px;padding:22px 24px;margin:1.8em 0;font-family:var(--f-ui);font-size:16px;line-height:1.6}
.callout b{display:block;margin-bottom:4px}
.tbl{overflow-x:auto;margin:1.6em 0;border-radius:16px;box-shadow:var(--shadow);background:var(--surface)}
.tbl table{border-collapse:collapse;width:100%;min-width:520px;font-family:var(--f-ui);font-size:14.5px;line-height:1.5}
.tbl th,.tbl td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-weight:700;background:var(--surface2)}
.tbl tr:last-child td{border-bottom:0}
.inline-cta{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:var(--dark);color:#fff;border-radius:24px;padding:24px 28px;margin:2em 0;font-family:var(--f-ui)}
.inline-cta b{font-family:var(--f-display);font-size:22px;display:block;margin-bottom:4px}
.inline-cta span{color:#BDBDBD;font-size:14px}
.disclaimer{font-family:var(--f-ui);font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:2.4em}
.author{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:center;max-width:680px;margin:0 auto 56px;padding:22px;background:var(--surface);border-radius:20px;box-shadow:var(--shadow)}
.author .av{width:56px;height:56px;border-radius:50%;background:var(--mint);display:grid;place-items:center}
.author .av img{width:30px;height:30px}
.related{max-width:1040px;margin:0 auto;padding-bottom:72px}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.rel{cursor:pointer;background:none;border:0;padding:0;text-align:left}
.rel .thumb{background:var(--mint);border-radius:20px;aspect-ratio:4/3;padding:14px;margin-bottom:12px}
.rel .thumb img{width:100%;height:100%;object-fit:contain}
.rel h3{font-size:20px;margin-bottom:6px}
.rel:hover h3{text-decoration:underline;text-underline-offset:4px}

/* painel */
body.is-panel .ticker,body.is-panel .site-head,body.is-panel .foot{display:none}
.panel{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh;background:var(--bg)}
.p-side{background:#080808;color:#F0F0F0;padding:22px 16px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;align-self:start}
.p-side .brand{color:#fff;margin:0 8px 22px;font-size:19px}
.p-side .brand img{width:30px;height:30px}
.p-side a,.p-side button.lnk{display:flex;gap:10px;align-items:center;padding:11px 12px;border-radius:12px;text-decoration:none;color:#BDBDBD;font-weight:600;font-size:14px;background:none;border:0;text-align:left}
.p-side a[aria-current="true"]{background:rgba(57,224,0,.12);color:var(--brand)}
.p-side a:hover,.p-side button.lnk:hover{color:#fff}
.p-side .spacer{flex:1}
.p-main{padding:32px 36px 120px;min-width:0}
.p-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.p-top h1{font-size:30px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}
.stat{background:var(--surface);border-radius:18px;padding:16px 18px;box-shadow:var(--shadow);font-size:13px;color:var(--muted)}
.stat b{display:block;font-family:var(--f-display);font-size:26px;color:var(--ink);margin-top:2px}
.p-grid{display:grid;grid-template-columns:300px minmax(0,1fr) 280px;gap:20px;align-items:start}
.card{background:var(--surface);border-radius:20px;box-shadow:var(--shadow);padding:18px}
.card h3{font-size:17px;margin-bottom:12px}
.plist{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:640px;overflow:auto}
.plist li{padding:11px 12px;border-radius:12px;cursor:pointer;display:grid;gap:4px}
.plist li:hover{background:var(--surface2)}
.plist li.sel{background:var(--surface2);outline:2px solid var(--ink)}
.plist .t{font-weight:600;font-size:13.5px;line-height:1.35}
.plist .s{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.chip{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:700}
.chip.pub{background:var(--mint);color:#14610A}
.chip.rasc{background:#FFF1C2;color:#6B4E00}
.chip.agen{background:#DCE8FF;color:#18408F}
.title-in{width:100%;border:0;background:transparent;color:var(--ink);font-family:var(--f-display);font-weight:800;font-size:30px;line-height:1.15;letter-spacing:-.015em;padding:4px 0 12px;border-bottom:1px solid var(--line);outline-offset:4px}
.toolbar{display:flex;gap:4px;flex-wrap:wrap;margin:14px 0 10px;align-items:center}
.toolbar button{min-width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--bg);font-weight:700;font-size:13px}
.toolbar button:hover{background:var(--surface2)}
.toolbar .sep{flex:1}
.editor{width:100%;min-height:340px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:14px;padding:16px;font-family:var(--f-serif);font-size:17px;line-height:1.7;resize:vertical}
.preview{min-height:340px;border:1px dashed var(--line);border-radius:14px;padding:16px 20px}
.preview.prose{font-size:17px}
.preview.prose h2{font-size:24px}
.covers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.covers button{background:var(--mint);border:2px solid transparent;border-radius:12px;padding:5px;aspect-ratio:1/1}
.covers button[aria-pressed="true"]{border-color:var(--ink)}
.covers img{width:100%;height:100%;object-fit:contain}
.serp{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;color:#202124;font-family:Arial,Helvetica,sans-serif}
.serp .u{font-size:12px;color:#4d5156;word-break:break-all}
.serp .tt{font-size:18px;color:#1a0dab;margin:2px 0 3px;line-height:1.3}
.serp .d{font-size:13px;color:#4d5156;line-height:1.45}
.side-stack{display:grid;gap:16px}
.row-btns{display:grid;gap:8px;margin-top:14px}

/* seletor de telas do mock */

.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:14px;font-weight:600;font-size:14px;z-index:60;box-shadow:0 8px 30px rgba(0,0,0,.25)}

@media (max-width:1100px){
  .p-grid{grid-template-columns:260px minmax(0,1fr)} .p-grid .side-stack{grid-column:1 / -1;grid-template-columns:1fr 1fr}
  .art-grid{grid-template-columns:minmax(0,680px);justify-content:center} .toc{display:none}
}
@media (max-width:900px){
  .wrap{padding:0 18px}
  .hero{padding-top:32px}
  .hero-grid,.cols,.app-band{grid-template-columns:1fr}
  .hero-grid{gap:28px}
  .hero-panel{aspect-ratio:16/10;border-radius:28px}
  .cols{gap:40px}
  .app-band{padding:32px 24px;border-radius:28px}
  .cat-grid{grid-template-columns:1fr 1fr}
  .cat,.cat:nth-child(1),.cat:nth-child(2){grid-column:span 1;flex-direction:column;align-items:stretch}
  .cat:nth-child(1) .ic,.cat:nth-child(2) .ic{width:auto}
  .foot-grid{grid-template-columns:1fr 1fr}
  .site-head .wrap{flex-wrap:wrap;height:auto;padding-top:12px;padding-bottom:8px;gap:8px}
  .nav{order:3;flex:1 1 100%;width:100%;margin:0 -18px;padding:0 18px;max-width:calc(100% + 36px)}
  .head-actions{margin-left:auto}
  .head-actions .btn{display:none}
  .row{grid-template-columns:104px 1fr;gap:16px}
  .row h3{font-size:20px}
  .row p{display:none}
  .rel-grid{grid-template-columns:1fr}
  .inline-cta{grid-template-columns:1fr}
  .art-cover{aspect-ratio:4/3;border-radius:24px}
  .panel{grid-template-columns:1fr}
  .p-side{position:static;height:auto;flex-direction:row;overflow-x:auto;padding:12px}
  .p-side .brand{margin:0 12px 0 4px}
  .p-side .spacer{display:none}
  .p-main{padding:20px 16px 120px}
  .p-grid,.p-grid .side-stack{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .plist{max-height:260px}
}
@media (max-width:640px){
  body{font-size:15px}
  .wrap{padding:0 16px}
  .ticker .wrap{height:34px;gap:20px;font-size:12px}
  .site-head .wrap{padding-top:10px;padding-bottom:6px}
  .brand{font-size:19px}.brand img{width:30px;height:30px}
  .nav{margin:0 -16px;padding:0 16px;max-width:calc(100% + 32px)}
  .nav a{padding:9px 12px}
  .trend{margin:0 -16px;padding-left:16px;padding-right:16px}
  .meta{gap:6px 10px}
  .meta>span:nth-child(2){flex:1 1 calc(100% - 40px)}
  .meta .dot:first-of-type{display:none}
  .icon-btn{width:44px;height:44px}
  .hero{padding:24px 0 20px}
  .hero h1{font-size:clamp(1.9rem,8.6vw,2.4rem);max-width:none;margin:14px 0}
  .hero .lede{font-size:16px;margin-bottom:18px}
  .hero-cta{margin-top:20px}
  .hero-cta .btn{flex:1 1 100%;padding:14px 20px}
  .hero-panel{aspect-ratio:4/3;border-radius:24px;padding:18px}
  .hero-panel .tag{left:12px;bottom:12px;right:12px;font-size:12px}
  .hero-panel .tag b{font-size:16px}
  .trend{padding-bottom:12px}
  .cols{padding:8px 0 40px;gap:32px}
  .sec-title h2{font-size:22px}
  .lead-grid{gap:20px;padding:14px 0 20px;margin-bottom:20px}
  .lead .pic{aspect-ratio:16/9;border-radius:18px;padding:12px}
  .lead h3{font-size:1.45rem}
  .mini h4{font-size:17px}
  .nrow{padding:16px 0}
  .nrow h3{font-size:18px}
  .eds{gap:28px;margin-top:32px}
  .calc,.news,.mkt{border-radius:20px}
  .calc{padding:20px}.news{padding:22px}
  .result .big{font-size:30px}
  .field input,.field select,.field textarea,.news input,.f-input,.editor,.title-in{font-size:16px}
  .btn{min-height:44px}
  .app-band{padding:28px 20px;margin-bottom:40px;gap:20px}
  .app-band h2{max-width:none}
  .app-band .btn{width:100%}
  .foot{padding-top:40px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
  .foot-grid>div:first-child{grid-column:1 / -1}
  .art-head{padding:24px 0 18px}
  .art-head h1{font-size:clamp(1.8rem,8vw,2.3rem)}
  .art-head .lede{font-size:18px}
  .art-cover{margin-bottom:28px;padding:16px;border-radius:20px}
  .prose{font-size:17.5px}
  .prose h2{font-size:24px}
  .callout{padding:18px;border-radius:16px}
  .inline-cta{padding:20px;border-radius:20px}
  .author{grid-template-columns:48px 1fr;padding:16px;margin-bottom:36px}
  .author .av{width:48px;height:48px}
  .related{padding-bottom:48px}
  .p-main{padding:16px 14px 120px}
  .p-top h1{font-size:24px}
  .p-top .btn{width:100%}
  .title-in{font-size:22px}
  .toolbar button{min-width:40px;height:40px}
  .covers{grid-template-columns:repeat(4,1fr)}
  .p-grid .side-stack{grid-template-columns:1fr}
  .toast{max-width:calc(100vw - 32px);text-align:center}
}
@media (max-width:380px){
  .two{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Imagem do bucket no meio do artigo (<slug>-2.jpg) */
.art-fig{margin:32px 0;background:var(--mint);border-radius:24px;overflow:hidden;aspect-ratio:16/9}
.art-fig img{display:block;width:100%;height:100%;object-fit:cover}

/* Card assume a cor de fundo da imagem do bucket (definida em app.js; padrão #F3F4EF) */
.photo.photo{background:var(--photo-bg,#F3F4EF)}

/* fotos do bucket: sem folga interna (o fundo do card já é o da foto) e miniaturas quadradas preenchidas */
.photo.photo{padding:0}
.row .photo img,.nrow .photo img{object-fit:cover}
h1,h2,h3,h4{overflow-wrap:break-word}
