/* V70 — estabilidade + refinamento de sistema visual */
:root{
  --surface:#f4f2eb;
  --surface-2:#ece9df;
  --surface-3:#e4e8df;
  --forest-900:#123524;
  --forest-800:#173a29;
  --forest-700:#234d35;
  --text:#20231f;
  --muted:#68746d;
  --hairline:rgba(23,58,41,.15);
  --radius-sm:12px;
  --radius-md:16px;
  --control-h:46px;
  --shadow-float:0 18px 46px rgba(18,53,36,.16);
}

html{scroll-padding-top:128px}
body{overflow-x:visible}
::selection{background:var(--forest-700);color:#fff}
a,button,summary{-webkit-tap-highlight-color:transparent}

/* Header / navegação */
.site-header{
  height:78px;
  padding:0 clamp(22px,3.2vw,58px);
  gap:clamp(18px,2.2vw,34px);
  border-bottom:1px solid var(--hairline);
}
.site-header .brand{width:176px;height:auto}
.site-header nav{gap:clamp(16px,1.9vw,30px);font-size:11px;letter-spacing:.055em;text-transform:uppercase}
.site-header nav a{position:relative;opacity:.72;padding:28px 0 24px}
.site-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:18px;height:1px;background:var(--forest-700);transition:right .28s var(--ease)}
.site-header nav a:hover,.site-header nav a.is-active{opacity:1}
.site-header nav a:hover::after,.site-header nav a.is-active::after{right:0}
.header-cta,.button{min-height:var(--control-h);padding:0 20px;border:1px solid transparent;box-shadow:none;transition:transform .22s var(--ease),background .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease)}
.header-cta:hover,.button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(18,53,36,.12)}
.header-cta:active,.button:active{transform:translateY(0) scale(.985);box-shadow:none}
.header-cta:focus-visible,.button:focus-visible,.desktop-action-dock a:focus-visible,.mobile-actionbar a:focus-visible,.section-tabs a:focus-visible{outline:2px solid var(--forest-700);outline-offset:3px}
.light-btn:focus-visible{outline-color:#fff}

/* Barra clima + radar: 2 áreas reais, sem colunas fantasma */
.live-deck.climate-deck{
  width:100%;
  margin-top:78px;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(330px,31vw,460px);
  align-items:stretch;
  background:var(--surface);
  border-bottom:1px solid var(--hairline);
}
.live-deck.climate-deck>.climate-panel{
  padding:0;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(255px,.78fr) minmax(0,2.22fr);
  border-right:1px solid var(--hairline);
  background:var(--surface);
}
.climate-current{grid-template-columns:minmax(92px,auto) 68px minmax(0,1fr);gap:14px;padding:22px clamp(18px,2.4vw,34px);border-right:1px solid var(--hairline)}
.climate-place{font-size:9px;letter-spacing:.15em}
.climate-current #now-weather b{font-size:clamp(16px,1.15vw,20px);line-height:1.15}
.climate-current #now-weather small{font-size:10px;line-height:1.45}
.forecast-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));min-width:0;overflow:hidden}
.forecast-day{min-width:0;padding:13px 6px;gap:5px}
.forecast-day:last-child{border-right:0}
.live-deck.climate-deck>.live-radar{
  min-width:0;
  min-height:100%;
  padding:24px clamp(24px,2.5vw,38px);
  border-right:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:var(--forest-800);
}
.live-radar b{font-size:clamp(20px,2vw,31px);line-height:1.08;max-width:18ch;margin:8px 0 10px;letter-spacing:-.035em}
.live-radar small{font-size:9px;letter-spacing:.04em}
.live-radar::after{opacity:.55}

/* Navegação interna longa */
.section-tabs{position:sticky;top:78px;z-index:18;height:52px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hairline)}
.section-tabs a{position:relative;font-size:9px;letter-spacing:.12em;transition:color .2s ease,background .2s ease}
.section-tabs a:hover{background:rgba(23,58,41,.045);color:var(--forest-700)}
.section-tabs a:active{background:rgba(23,58,41,.08)}

/* Hierarquia e leitura */
.manifest-body p:not(.lead),.research-copy p,.consult-copy p,.network-copy p,.person-copy p,.scope-list p{max-width:68ch}
.facts{gap:0}
.facts div{padding:8px clamp(18px,2vw,30px) 4px 0;position:relative}
.facts div+div{padding-left:clamp(18px,2vw,30px);border-left:1px solid var(--hairline)}
.facts strong,.network-stat strong,.stat strong{font-variant-numeric:tabular-nums}
.scope-list article{transition:background .22s ease,padding-left .22s ease}
.scope-list article:hover{background:rgba(23,58,41,.035);padding-left:12px}
.scope-list article>span,.person-copy>span,.experiment-grid article>span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:24px;border:1px solid var(--hairline);border-radius:999px;color:var(--forest-700);font-variant-numeric:tabular-nums}
.method-rail article{transition:background .25s ease,transform .25s ease}
.method-rail article:hover{background:#1d4430;transform:translateY(-3px)}
.decision-factors{gap:8px;border-top:0}
.decision-factors span{padding:8px 11px;border:1px solid var(--hairline);border-radius:999px;font-size:9px;background:rgba(255,255,255,.32)}
.decision-factors span:nth-child(even),.decision-factors span:nth-child(odd){padding:8px 11px;border:1px solid var(--hairline)}

/* Galeria / FAQ / radar */
.journal-grid button{position:relative;overflow:hidden;cursor:zoom-in;background:transparent;border:0;padding:0}
.journal-grid button::after{content:"AMPLIAR ↗";position:absolute;right:14px;bottom:14px;padding:8px 11px;border-radius:999px;background:rgba(244,242,235,.9);color:var(--forest-800);font-size:8px;font-weight:800;letter-spacing:.08em;opacity:0;transform:translateY(6px);transition:.22s ease}
.journal-grid button:hover::after,.journal-grid button:focus-visible::after{opacity:1;transform:none}
.journal-grid button img{transition:transform .55s var(--ease)}
.journal-grid button:hover img{transform:scale(1.025)}
.faq details{transition:background .2s ease}
.faq details:hover{background:rgba(23,58,41,.025)}
.faq summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.faq summary span{display:grid;place-items:center;width:30px;height:30px;flex:none;border:1px solid var(--hairline);border-radius:50%;transition:transform .25s ease,background .25s ease,color .25s ease}
.faq details[open] summary span{transform:rotate(45deg);background:var(--forest-800);color:#fff}
.home-radar-item{transition:background .22s ease,padding-left .22s ease}
.home-radar-item:hover{background:rgba(23,58,41,.03);padding-left:10px}
.home-radar-item a,.radar-headline a{text-underline-offset:4px}
.radar-filters button{min-height:40px;transition:background .2s ease,color .2s ease,transform .2s ease}
.radar-filters button:active{transform:scale(.97)}
.market-card{border-radius:0}

/* Contato / ações */
.contact-card,.mini-map-links a{transition:transform .22s ease,background .22s ease,box-shadow .22s ease}
.contact-card:hover,.mini-map-links a:hover{transform:translateY(-2px)}
.contact-card:hover{box-shadow:0 16px 34px rgba(0,0,0,.12)}
.contact-card:active,.mini-map-links a:active{transform:none}
.desktop-action-dock{right:22px;bottom:22px;gap:5px;padding:6px;border-radius:16px;background:rgba(244,242,235,.95);box-shadow:var(--shadow-float)}
.desktop-action-dock a{min-height:42px;padding:0 13px;border-radius:11px;transition:background .2s ease,color .2s ease,transform .2s ease}
.desktop-action-dock a:hover{background:rgba(23,58,41,.08);transform:translateY(-1px)}
.desktop-action-dock .dock-radar:hover{background:#214a34}
.desktop-action-dock a:active{transform:scale(.98)}

/* Acessibilidade / movimento */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto;animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}
}

@media (min-width:901px) and (max-width:1180px){
  .site-header .brand{width:150px}
  .site-header nav{gap:13px;font-size:9px;letter-spacing:.035em}
  .header-cta{font-size:10px;padding:0 15px}
  .live-deck.climate-deck{grid-template-columns:minmax(0,1fr) minmax(285px,30vw)}
  .live-deck.climate-deck>.climate-panel{grid-template-columns:minmax(225px,.72fr) minmax(0,2.28fr)}
  .climate-current{grid-template-columns:1fr 56px;gap:8px 12px;padding:16px 18px}
  .climate-place{grid-column:1;grid-row:1}
  .climate-current .weather-icon-lg{grid-column:2;grid-row:1/3;width:56px;height:46px}
  .climate-current #now-weather{grid-column:1;grid-row:2}
  .forecast-day{padding:10px 3px}
  .forecast-day .weather-icon{transform:scale(.84)}
}

@media (max-width:900px){
  html{scroll-padding-top:78px}
  .site-header{height:72px;padding:8px 16px}
  .site-header .brand{width:148px;max-width:58vw}
  .site-header .brand img{max-height:48px}
  .site-header.open nav{top:72px}
  .live-deck.climate-deck{margin-top:0;display:block;width:100%}
  .live-deck.climate-deck>.climate-panel{display:block;border-right:0}
  .climate-current{grid-template-columns:minmax(0,1fr) 62px;gap:8px 12px;padding:16px 18px;border-right:0}
  .climate-place{grid-column:1;grid-row:1}
  .climate-current .weather-icon-lg{grid-column:2;grid-row:1/3}
  .climate-current #now-weather{grid-column:1;grid-row:2}
  .forecast-strip{display:flex;overflow-x:auto;scroll-snap-type:x proximity;border-top:1px solid var(--hairline);scrollbar-width:none}
  .forecast-strip::-webkit-scrollbar{display:none}
  .forecast-day{flex:0 0 96px;scroll-snap-align:start}
  .live-deck.climate-deck>.live-radar{min-height:112px;padding:20px 18px}
  .live-radar b{font-size:22px;max-width:28ch}
  .section-tabs{top:72px;height:44px;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}
  .section-tabs::-webkit-scrollbar{display:none}
  .section-tabs a{flex:0 0 auto;min-width:max-content;padding:0 17px}
  .facts div+div{padding-left:0;border-left:0;border-top:1px solid var(--hairline);padding-top:18px}
  .scope-list article:hover{padding-left:0;background:transparent}
  .decision-factors{grid-template-columns:repeat(2,minmax(0,1fr))}
  .decision-factors span{text-align:center;display:flex;align-items:center;justify-content:center;min-height:38px}
  .journal-grid button::after{opacity:1;transform:none}
  .desktop-action-dock{display:none}
  .mobile-actionbar{z-index:1100}
}

@media (max-width:600px){
  .facts{gap:0}
  .scope-list article{grid-template-columns:42px minmax(0,1fr);gap:10px 12px}
  .scope-list article h3{align-self:center}
  .scope-list article p{grid-column:2}
  .method-rail article{min-height:0;padding:24px 20px 30px}
  .method-rail h3{margin:24px 0 8px}
  .decision-factors{grid-template-columns:1fr 1fr}
  .radar-foot .button{width:100%}
  .contact-card{min-height:76px}
}

@media (max-width:360px){
  .decision-factors{grid-template-columns:1fr}
  .live-radar b{font-size:20px}
}

/* V71 — correção da barra meteorológica desktop + rádio persistente */
@media (min-width:1181px){
  .live-deck.climate-deck{
    grid-template-columns:minmax(0,1fr) clamp(390px,31.5vw,500px);
  }
  .live-deck.climate-deck>.climate-panel{
    grid-template-columns:clamp(250px,18vw,285px) minmax(0,1fr);
  }
  .climate-current{
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    grid-template-rows:auto 1fr;
    align-content:center;
    align-items:center;
    column-gap:14px;
    row-gap:8px;
    padding:20px 22px;
  }
  .climate-place{grid-column:1/-1;grid-row:1;white-space:nowrap}
  .climate-current .weather-icon-lg{grid-column:1;grid-row:2;width:60px;height:48px}
  .climate-current #now-weather{grid-column:2;grid-row:2;min-width:0}
  .climate-current #now-weather b{font-size:18px;line-height:1.18}
  .climate-current #now-weather small{font-size:9px;line-height:1.5;overflow-wrap:normal;word-break:normal}
  .forecast-strip{grid-template-columns:repeat(6,minmax(92px,1fr))}
  .forecast-day{padding-inline:4px}
}

.radio-control{display:flex;align-items:stretch;min-width:0}
.radio-toggle,.radio-external{font:inherit;border:0;background:transparent;color:inherit;cursor:pointer}
.desktop-action-dock .radio-control{border-radius:11px;overflow:hidden;background:rgba(23,58,41,.045)}
.desktop-action-dock .radio-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 10px;color:var(--forest);font-size:9px;font-weight:800;letter-spacing:.06em}
.desktop-action-dock .radio-external{display:flex;align-items:center;justify-content:center;width:34px;min-height:42px;border-left:1px solid rgba(23,58,41,.12);color:var(--forest);text-decoration:none}
.desktop-action-dock .radio-toggle:hover,.desktop-action-dock .radio-external:hover{background:rgba(23,58,41,.08)}
.desktop-action-dock .radio-toggle:focus-visible,.desktop-action-dock .radio-external:focus-visible,.mobile-actionbar .radio-toggle:focus-visible,.mobile-actionbar .radio-external:focus-visible{outline:2px solid var(--forest);outline-offset:-2px}
.radio-control.is-playing .radio-state-icon{font-size:0}
.radio-control.is-playing .radio-state-icon::before{content:'Ⅱ';font-size:10px;font-weight:900;letter-spacing:-2px}
.radio-control.is-playing .radio-state-label::after{content:' · AO VIVO';font-size:.82em;opacity:.7}
.radio-control.is-blocked .radio-state-label::after{content:' · TOCAR';font-size:.82em;opacity:.72}
.radio-control.is-error .radio-state-label::after{content:' · ABRIR ↗';font-size:.82em;opacity:.72}

@media (max-width:900px){
  .mobile-actionbar .radio-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 30px;border-radius:17px;overflow:hidden;background:rgba(23,58,41,.045)}
  .mobile-actionbar .radio-toggle{display:flex;min-width:0;min-height:44px;align-items:center;justify-content:center;gap:5px;padding:4px 5px;color:var(--forest);font-size:8px;font-weight:800;letter-spacing:.04em}
  .mobile-actionbar .radio-external{display:flex;align-items:center;justify-content:center;min-height:44px;border-left:1px solid rgba(23,58,41,.12);color:var(--forest);font-size:11px;text-decoration:none}
}

/* V72 — correções mobile + inteligência meteorológica */
@media (max-width:900px){
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
  .mobile-actionbar{
    left:50%;right:auto;bottom:max(8px,env(safe-area-inset-bottom));
    width:min(calc(100% - 20px),420px);transform:translateX(-50%);
    min-height:0;padding:5px;border-radius:18px;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:4px;
  }
  .mobile-actionbar a,.mobile-actionbar .radio-toggle{min-height:46px;padding:4px 6px;border-radius:14px;font-size:8px;letter-spacing:.035em}
  .mobile-actionbar .radio-control{display:block;border-radius:14px;overflow:visible;background:transparent}
  .mobile-actionbar .radio-toggle{width:100%;background:rgba(23,58,41,.045)}
  .mobile-actionbar .radio-external{position:absolute;width:22px;height:22px;min-height:22px;border:0;border-radius:50%;left:calc(33.333% - 27px);top:50%;transform:translateY(-50%);font-size:10px;background:rgba(255,255,255,.8)}
  .mobile-actionbar .actionbar-radar b{font-size:0}.mobile-actionbar .actionbar-radar b::after{content:'RADAR';font-size:8px}
  .mobile-actionbar .ab-icon{display:none}
  .hero-sticky{height:auto;min-height:680px;padding-bottom:110px}
  .hero-copy{position:absolute;bottom:110px}
  .hero-copy h1{font-size:clamp(36px,10.5vw,48px);line-height:.98;overflow-wrap:normal}
  .hero-data{padding-bottom:8px}
}
@media (max-width:390px){
  .hero-sticky{min-height:720px}
  .hero-copy{bottom:105px}
  .hero-actions{gap:12px;flex-wrap:wrap}
}
.weather-intelligence{margin-top:28px;padding-top:28px;border-top:1px solid rgba(23,58,41,.14)}
.weather-intelligence-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.weather-intelligence h3{margin:7px 0 0;font-size:clamp(24px,2.5vw,38px);line-height:1.05;letter-spacing:-.035em;color:var(--forest)}
.weather-source-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.weather-source-links a{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid rgba(23,58,41,.16);border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.05em;color:var(--forest);transition:background .2s,color .2s,border-color .2s}
.weather-source-links a:hover{background:var(--forest);color:#fff;border-color:var(--forest)}
.hourly-weather-chart{display:grid;grid-template-columns:repeat(8,minmax(72px,1fr));gap:1px;border:1px solid rgba(23,58,41,.12);border-radius:18px;overflow:hidden;background:rgba(23,58,41,.1)}
.hourly-slot{min-width:0;background:var(--paper);padding:14px 9px;display:grid;grid-template-rows:auto 76px auto auto;gap:7px;text-align:center}
.hourly-slot time{font-size:9px;font-weight:800;letter-spacing:.08em;color:#66766c}
.rain-bar-wrap{height:76px;display:flex;align-items:flex-end;justify-content:center}
.rain-bar{width:16px;min-height:2px;border-radius:8px 8px 2px 2px;background:#688fa0;transition:height .3s ease}
.hourly-slot strong{font-size:14px;color:var(--forest)}
.hourly-slot small{font-size:9px;line-height:1.35;color:#748078}
.weather-intelligence-note{margin:12px 0 0;font-size:9px;color:#7a857e}
@media(max-width:900px){
 .weather-intelligence-head{display:block}.weather-source-links{justify-content:flex-start;margin-top:14px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.weather-source-links::-webkit-scrollbar{display:none}.weather-source-links a{flex:none}
 .hourly-weather-chart{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.hourly-weather-chart::-webkit-scrollbar{display:none}.hourly-slot{flex:0 0 92px;scroll-snap-align:start}
}

/* V73 — rádio externo + central meteorológica Radar */
.weather-live-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,.62fr);gap:18px;margin-top:30px;align-items:stretch}
.windy-panel,.weather-now-panel,.weather-graph-card{background:#fff;border:1px solid rgba(23,58,41,.12);border-radius:16px;overflow:hidden}
.windy-panel-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:22px 24px 18px}
.windy-panel-head h3{font-size:clamp(25px,2.4vw,38px);line-height:1.02;letter-spacing:-.04em;color:var(--forest);margin:6px 0 8px}
.windy-panel-head p{max-width:650px;margin:0;color:#6f7b74;font-size:11px;line-height:1.55}
.windy-panel-head>a{flex:none;min-height:42px;display:inline-flex;align-items:center;padding:0 14px;border-radius:12px;background:var(--forest);color:#fff;font-size:8px;font-weight:800;letter-spacing:.09em}
.windy-frame{position:relative;aspect-ratio:16/8.7;min-height:360px;background:#dfe5df}
.windy-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.weather-now-panel{padding:24px;display:flex;flex-direction:column}
.weather-live-metrics{display:grid;grid-template-columns:1fr 1fr;margin-top:18px;border-top:1px solid rgba(23,58,41,.12);border-left:1px solid rgba(23,58,41,.12)}
.weather-live-metrics article{min-width:0;padding:16px 12px;border-right:1px solid rgba(23,58,41,.12);border-bottom:1px solid rgba(23,58,41,.12)}
.weather-live-metrics span{display:block;font-size:7px;font-weight:800;letter-spacing:.1em;color:#758078;margin-bottom:7px}
.weather-live-metrics b{display:block;color:var(--forest);font-size:clamp(18px,2vw,27px);letter-spacing:-.035em;line-height:1}
.weather-live-metrics small{display:block;font-size:8px;color:#7d8781;margin-top:6px;line-height:1.3}
.weather-data-source{margin:auto 0 0;padding-top:18px;font-size:8px;line-height:1.5;color:#818b85}
.weather-graphs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.weather-graph-card{padding:18px 18px 14px;min-width:0}
.graph-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.graph-head span{display:block;font-size:7px;font-weight:800;letter-spacing:.12em;color:#718078}
.graph-head b{display:block;font-size:11px;color:var(--forest);margin-top:4px}
.graph-head>strong{font-size:11px;color:var(--forest);white-space:nowrap}
.weather-svg-chart{height:150px;min-width:0;overflow:hidden}
.weather-svg-chart svg{width:100%;height:100%;display:block;overflow:visible}
.chart-grid{stroke:rgba(23,58,41,.1);stroke-width:1}.chart-line{fill:none;stroke:var(--forest);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.chart-line-secondary{fill:none;stroke:#74877a;stroke-width:1.5;stroke-dasharray:4 4}.chart-area{fill:rgba(35,77,53,.08)}.chart-bar{fill:rgba(35,77,53,.25)}.chart-label{font:700 8px Montserrat,sans-serif;fill:#748078}.chart-value{font:700 8px Montserrat,sans-serif;fill:var(--forest)}
.desktop-action-dock .dock-radio{background:rgba(23,58,41,.045)}
@media(max-width:900px){
 .weather-live-grid{grid-template-columns:1fr;gap:12px;margin-top:22px}.windy-panel-head{display:block;padding:18px}.windy-panel-head>a{margin-top:14px}.windy-frame{min-height:330px;aspect-ratio:1/1}.weather-now-panel{padding:18px}.weather-graphs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px;scrollbar-width:none}.weather-graphs::-webkit-scrollbar{display:none}.weather-graph-card{flex:0 0 min(84vw,330px);scroll-snap-align:start}.weather-svg-chart{height:140px}
 .mobile-actionbar{grid-template-columns:repeat(3,minmax(0,1fr));left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;max-width:520px;margin-inline:auto;padding:6px;border-radius:20px;gap:5px}
 .mobile-actionbar a{min-width:0;min-height:50px;padding:0 7px;border-radius:15px;font-size:8px;letter-spacing:.04em;white-space:nowrap}
 .mobile-actionbar .actionbar-radio{background:rgba(23,58,41,.055)}
}
@media(max-width:380px){.mobile-actionbar{left:8px;right:8px}.mobile-actionbar a{font-size:7px;padding-inline:4px}.windy-frame{min-height:300px}}
