:root{
  --navy-950:#061923;
  --navy-900:#082633;
  --navy-800:#0d3441;
  --river-700:#0d6470;
  --river-600:#147987;
  --river-100:#dceff0;
  --lime:#69e65b;
  --lime-dark:#2c8b34;
  --gold:#d6a548;
  --clay:#b76543;
  --cream:#f7f3ea;
  --canvas:#edf1ee;
  --paper:#fffdfa;
  --ink:#142e36;
  --muted:#64777b;
  --line:#d7dfdc;
  --line-dark:rgba(8,38,51,.16);
  --green:#167451;
  --green-soft:#e5f4ec;
  --yellow:#88600b;
  --yellow-soft:#fff2cd;
  --orange:#bd5c2b;
  --orange-soft:#fff0e7;
  --red:#ad3337;
  --red-soft:#fdebed;
  --black:#11181d;
  --shadow:0 18px 50px rgba(6,25,35,.10);
  --shadow-soft:0 10px 30px rgba(6,25,35,.07);
  --radius-xl:28px;
  --radius-lg:20px;
  --radius-md:14px;
  --page:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:17px}
body{
  margin:0;
  padding:0 0 96px;
  color:var(--ink);
  background:
    radial-gradient(circle at 0 10%,rgba(20,121,135,.10),transparent 30rem),
    radial-gradient(circle at 100% 30%,rgba(105,230,91,.08),transparent 28rem),
    linear-gradient(180deg,#e5ece9 0,#f5f5f0 42rem,var(--canvas) 100%);
  font-family:var(--font-ui);
  font-size:17px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body:before{
  content:"";
  position:fixed;
  z-index:-1;
  inset:0;
  opacity:.24;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(8,38,51,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(8,38,51,.025) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(180deg,transparent,black 18%,black 82%,transparent);
}
img{max-width:100%}
button,a,summary{font:inherit}
a{color:inherit}
button,summary,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{
  outline:3px solid rgba(105,230,91,.72);
  outline-offset:3px;
}
[hidden]{display:none!important}
.farol-boot-screen{display:none}
html.farol-booting body>:not(.farol-boot-screen){visibility:hidden}
html.farol-booting .farol-boot-screen{
  position:fixed;
  z-index:9999;
  inset:0;
  display:grid;
  place-content:center;
  justify-items:center;
  gap:10px;
  padding:24px;
  color:white;
  background:#061923;
  text-align:center;
}
.farol-boot-screen img{width:118px;max-height:82px;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(0,0,0,.28))}
.farol-boot-screen strong{font-family:var(--font-ui);font-size:clamp(2rem,6vw,3.3rem);font-weight:400}
.farol-boot-screen span{color:#c4d4d7;font-size:.82rem}

/* Cabeçalho editorial */
.site-header{
  position:relative;
  min-height:790px;
  overflow:hidden;
  color:white;
  background:var(--navy-950);
  isolation:isolate;
}
.header-visual{position:absolute;z-index:-3;inset:0}
.header-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:left 8%;
  filter:saturate(.98) contrast(1.08) brightness(.95);
  transform:scale(1.015);
}
.lighthouse-beacon{
  position:absolute;
  z-index:-1;
  /* Fallback; o JavaScript ancora o eixo na lente da arte 1600x900. */
  left:12.625%;
  top:16.333%;
  transform:none;
  width:0;
  height:0;
  pointer-events:none;
}
.lighthouse-sightline-beam{
  position:absolute;
  z-index:0;
  left:2px;
  top:-41px;
  width:min(50vw,790px);
  height:82px;
  display:block;
  opacity:.34;
  clip-path:polygon(0 47%,100% 18%,100% 82%,0 53%);
  background:linear-gradient(90deg,rgba(255,255,242,.48),rgba(255,242,209,.20) 50%,rgba(255,231,187,0));
  filter:blur(2.4px);
  transform-origin:0 50%;
  backface-visibility:hidden;
  will-change:transform;
  animation:lighthouseMirrorBeam 12s linear infinite;
}
.lighthouse-mirror-stage{
  position:absolute;
  z-index:1;
  left:-20px;
  top:-12px;
  width:40px;
  height:24px;
  display:block;
  overflow:hidden;
  border:1px solid rgba(255,244,210,.32);
  border-radius:7px;
  background:radial-gradient(circle,rgba(255,245,211,.26),rgba(70,47,31,.24) 62%,rgba(5,18,24,.48));
  box-shadow:inset 0 0 7px rgba(255,245,213,.24),0 0 16px rgba(255,225,170,.26);
  perspective:76px;
}
.lighthouse-mirror-rotor{
  position:absolute;
  left:50%;
  top:2px;
  width:18px;
  height:18px;
  margin-left:-9px;
  display:block;
  transform-style:preserve-3d;
  will-change:transform;
  animation:lighthouseMirrorTurn 12s linear infinite;
}
.lighthouse-mirror-rotor:after{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:2px;
  height:18px;
  margin-left:-1px;
  border-radius:999px;
  background:linear-gradient(180deg,#8d673b,#fff4d3 45%,#674628);
  box-shadow:0 0 3px rgba(255,244,210,.5);
}
.mirror-facet{
  position:absolute;
  left:50%;
  top:1px;
  width:7px;
  height:16px;
  margin-left:-3.5px;
  display:block;
  border:1px solid rgba(255,247,224,.56);
  border-radius:50%;
  background:linear-gradient(90deg,rgba(91,62,38,.2),rgba(255,255,245,.96) 46%,rgba(255,216,146,.34));
  box-shadow:0 0 5px rgba(255,247,220,.32);
  backface-visibility:visible;
}
.mirror-facet:nth-child(1){transform:rotateY(0deg) translateZ(7px)}
.mirror-facet:nth-child(2){transform:rotateY(90deg) translateZ(7px)}
.mirror-facet:nth-child(3){transform:rotateY(180deg) translateZ(7px)}
.mirror-facet:nth-child(4){transform:rotateY(270deg) translateZ(7px)}
.lighthouse-lens-glow{
  position:absolute;
  z-index:2;
  left:-5px;
  top:-5px;
  width:10px;
  height:10px;
  display:block;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,247,.98) 0 18%,rgba(255,242,203,.72) 36%,rgba(255,224,166,.14) 66%,transparent 74%);
  box-shadow:0 0 10px rgba(255,247,220,.72),0 0 24px rgba(255,220,157,.34);
}
@keyframes lighthouseMirrorTurn{
  from{transform:rotateY(0deg)}
  to{transform:rotateY(360deg)}
}
@keyframes lighthouseMirrorBeam{
  0%{transform:perspective(900px) rotateY(-88deg) rotateZ(-6deg) translateZ(0)}
  50%{transform:perspective(900px) rotateY(0deg) rotateZ(0deg) translateZ(0)}
  100%{transform:perspective(900px) rotateY(88deg) rotateZ(6deg) translateZ(0)}
}
.site-header:before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,21,30,.66) 0%,rgba(4,21,30,.8) 31%,rgba(4,21,30,.58) 58%,rgba(4,21,30,.12) 100%),
    linear-gradient(180deg,rgba(4,21,30,.10) 45%,rgba(4,21,30,.82) 100%);
}
.site-header:after{
  content:"";
  position:absolute;
  z-index:-1;
  left:-7%;
  bottom:-48%;
  width:75%;
  aspect-ratio:1.45;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  box-shadow:
    0 -38px 0 rgba(20,121,135,.08),
    0 -76px 0 rgba(20,121,135,.05);
  transform:rotate(5deg);
  pointer-events:none;
}
.header-inner{
  width:min(var(--page),calc(100% - 48px));
  min-height:790px;
  margin:0 auto;
  padding:26px 0 86px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,390px);
  grid-template-rows:auto auto auto minmax(0,1fr);
  column-gap:56px;
}
.masthead-top{
  grid-column:1/-1;
  grid-row:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
}
.identity{display:flex;align-items:center;gap:13px}
.identity-logo{
  width:102px;
  height:70px;
  object-fit:contain;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  filter:
    drop-shadow(0 0 1px rgba(255,255,255,.88))
    drop-shadow(0 8px 18px rgba(0,0,0,.32));
}
.identity-copy{display:grid;align-content:center}
.identity-copy p{margin:0}
.institution{
  color:var(--lime);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.identity-copy strong{
  margin-top:2px;
  color:white;
  font-size:1.04rem;
  line-height:1.2;
  letter-spacing:-.01em;
}
.identity-copy span{
  margin-top:2px;
  color:#bdd0d5;
  font-size:.68rem;
  letter-spacing:.02em;
}
.header-actions{
  display:flex;
  flex:0 1 540px;
  align-items:flex-start;
  justify-content:flex-end;
  gap:12px;
}
.language-switcher{
  display:flex;
  gap:4px;
  padding:5px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(4,21,30,.66);
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  backdrop-filter:blur(16px);
}
.language-switcher button{
  min-width:52px;
  min-height:42px;
  padding:7px 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:0;
  border-radius:999px;
  color:#d7e4e7;
  background:transparent;
  cursor:pointer;
  font-size:.72rem;
  font-weight:700;
}
.language-switcher button:hover,
.language-switcher button.active,
.language-switcher button[aria-pressed="true"]{
  color:var(--navy-950);
  background:white;
}
.language-flag{font-size:1.06rem}
.language-code{letter-spacing:.06em}
.header-status{
  min-width:245px;
  padding:13px 15px;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:3px 10px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:16px;
  background:rgba(4,21,30,.70);
  box-shadow:0 14px 34px rgba(0,0,0,.14);
  backdrop-filter:blur(18px);
}
.header-status>small{
  color:#b8cbd0;
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.header-status>strong{
  justify-self:end;
  color:var(--lime);
  font-size:.82rem;
  letter-spacing:.08em;
}
.engine-pill{
  grid-column:1/-1;
  width:max-content;
  max-width:100%;
  margin-top:4px;
  padding:4px 8px;
  border-radius:999px;
  color:#dce8ea;
  background:rgba(255,255,255,.09);
  font-size:.66rem;
  font-weight:700;
}
.engine-pill.ok{color:#d8ffd2;background:rgba(105,230,91,.14)}
.engine-pill.warn{color:#ffe8ab;background:rgba(214,165,72,.16)}
.engine-pill.error{color:#ffd6d8;background:rgba(173,51,55,.25)}
.refresh-feedback{
  grid-column:1/-1;
  color:#b8cbd0;
  font-size:.64rem;
  line-height:1.4;
}
.refresh-feedback.ok{color:#c9fbc2}
.refresh-feedback.error{color:#ffd0d2}
.public-runtime-badge{grid-column:1/-1;color:#b9f6e2;font-size:.63rem;font-weight:700;letter-spacing:.025em;text-transform:uppercase}
.refresh-explain{grid-column:1/-1;color:#d7e4e7;font-size:.66rem}
.refresh-explain summary{width:max-content;max-width:100%;cursor:pointer;color:#d7e4e7;font-weight:700}
.refresh-explain p{margin:8px 0 0;color:#b8cbd0;line-height:1.5}
.quick-nav{
  grid-column:1/-1;
  grid-row:2;
  margin-top:21px;
  padding:7px;
  display:flex;
  align-items:center;
  gap:3px;
  width:max-content;
  max-width:100%;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:rgba(4,21,30,.48);
  backdrop-filter:blur(14px);
}
.quick-nav a{
  padding:8px 14px;
  border-radius:999px;
  color:#d2e0e3;
  font-size:.72rem;
  font-weight:700;
  text-decoration:none;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.quick-nav a:hover{color:var(--navy-950);background:white;transform:translateY(-1px)}
.official-domain{
  margin-left:5px;
  padding:8px 14px;
  border-radius:999px;
  color:var(--lime);
  background:rgba(105,230,91,.11);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.04em;
}
.desktop-pulse{
  grid-column:1/-1;
  grid-row:3;
  align-self:start;
  width:min(100%,1120px);
  margin-top:18px;
  padding:13px 15px;
  display:grid;
  grid-template-columns:minmax(320px,1.65fr) repeat(4,minmax(110px,.7fr));
  align-items:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:18px;
  color:white;
  background:linear-gradient(135deg,rgba(18,41,51,.94),rgba(51,78,87,.84));
  box-shadow:0 16px 34px rgba(0,0,0,.18);
  backdrop-filter:blur(18px);
}
.desktop-pulse.go{background:linear-gradient(135deg,rgba(12,92,63,.96),rgba(19,116,80,.86))}
.desktop-pulse.wait{background:linear-gradient(135deg,rgba(111,78,9,.96),rgba(153,110,17,.86))}
.desktop-pulse.stop{background:linear-gradient(135deg,rgba(127,28,35,.97),rgba(174,47,57,.88))}
.desktop-pulse.flood{background:linear-gradient(135deg,rgba(8,15,20,.98),rgba(28,38,44,.94))}
.desktop-pulse>div,.desktop-pulse>span{min-width:0}
.desktop-pulse>span{
  padding-left:11px;
  border-left:1px solid rgba(255,255,255,.16);
}
.desktop-pulse small{
  display:block;
  color:rgba(255,255,255,.66);
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.2;
  text-transform:uppercase;
}
.desktop-pulse strong{
  display:block;
  margin-top:3px;
  font-size:1.03rem;
  line-height:1.16;
}
.desktop-pulse b{
  display:block;
  margin-top:4px;
  color:white;
  font-size:.78rem;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.mobile-pulse{display:none}
.masthead-copy{
  grid-column:1;
  grid-row:4;
  align-self:end;
  max-width:760px;
  padding:34px 0 18px;
}
.masthead-copy small{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--lime);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.masthead-copy small:before{
  content:"";
  width:34px;
  height:2px;
  background:var(--lime);
}
.masthead-copy h1{
  max-width:760px;
  margin:16px 0 0;
  color:#fffaf0;
  font-family:var(--font-ui);
  font-size:clamp(4rem,7.9vw,7.3rem);
  font-weight:400;
  line-height:.84;
  letter-spacing:-.065em;
  text-wrap:balance;
  text-shadow:0 14px 42px rgba(0,0,0,.26);
}
.masthead-copy p{
  margin:25px 0 0;
  color:#fff1cb;
  font-family:var(--font-ui);
  font-size:clamp(1.2rem,2vw,1.65rem);
  font-style:italic;
  line-height:1.25;
}
.masthead-copy>span{
  display:block;
  max-width:610px;
  margin-top:12px;
  color:#c4d4d7;
  font-size:.88rem;
  line-height:1.65;
}
.masthead-wisdom{
  grid-column:2;
  grid-row:4;
  align-self:end;
  justify-self:end;
  width:min(100%,430px);
  margin-bottom:70px;
  padding:0;
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:13px;
  align-items:center;
  opacity:0;
  pointer-events:none;
  transform:translate3d(48%,16px,0);
  will-change:transform,opacity;
  animation:wisdomPassage 22s cubic-bezier(.42,0,.24,1) infinite;
}
.wisdom-canoe,.wisdom-canoe img{
  display:block;
  width:96px;
  height:96px;
}
.wisdom-canoe{
  position:relative;
  z-index:2;
  padding:4px;
  border:1px solid rgba(255,228,162,.48);
  border-radius:24px;
  background:rgba(4,21,30,.68);
  box-shadow:0 18px 42px rgba(0,0,0,.26);
}
.wisdom-canoe img{
  object-fit:cover;
  border-radius:19px;
}
.wisdom-thought{
  position:relative;
  padding:16px 18px;
  border:1px solid rgba(255,228,162,.34);
  border-radius:23px 23px 23px 7px;
  background:linear-gradient(135deg,rgba(4,21,30,.92),rgba(4,21,30,.72));
  box-shadow:0 18px 48px rgba(0,0,0,.22);
  opacity:0;
  transform:translate3d(0,10px,0) scale(.96);
  transform-origin:0 100%;
  backdrop-filter:blur(18px);
  will-change:transform,opacity;
  animation:wisdomThought 22s ease-in-out infinite;
}
.wisdom-thought:after{
  content:"";
  position:absolute;
  left:-10px;
  bottom:15px;
  width:20px;
  height:20px;
  border-left:1px solid rgba(255,228,162,.34);
  border-bottom:1px solid rgba(255,228,162,.34);
  background:rgba(4,21,30,.88);
  transform:rotate(45deg);
}
.masthead-wisdom small{
  display:block;
  color:#efd493;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.masthead-wisdom q{
  display:block;
  margin-top:6px;
  color:white;
  font-family:var(--font-ui);
  font-size:1.04rem;
  line-height:1.4;
  overflow-wrap:anywhere;
}
@keyframes wisdomPassage{
  0%,5%{opacity:0;transform:translate3d(48%,16px,0)}
  12%{opacity:1;transform:translate3d(8%,3px,0)}
  20%,68%{opacity:1;transform:translate3d(-3%,0,0)}
  78%{opacity:.96;transform:translate3d(-9%,-2px,0)}
  88%,100%{opacity:0;transform:translate3d(-34%,-8px,0)}
}
@keyframes wisdomThought{
  0%,12%{opacity:0;transform:translate3d(0,10px,0) scale(.96)}
  19%,69%{opacity:1;transform:translate3d(0,0,0) scale(1)}
  79%,100%{opacity:0;transform:translate3d(-8px,-4px,0) scale(.97)}
}

/* Estrutura */
.shell{
  position:relative;
  z-index:2;
  width:min(var(--page),calc(100% - 48px));
  margin:-63px auto 0;
}
.shell main{display:grid;gap:22px}
.freshness{
  min-height:54px;
  margin-bottom:16px;
  padding:13px 18px;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--line-dark);
  border-radius:16px;
  color:var(--navy-900);
  background:rgba(255,253,250,.95);
  box-shadow:var(--shadow-soft);
  font-size:.8rem;
  font-weight:700;
  backdrop-filter:blur(16px);
}
.freshness:before{
  content:"";
  width:10px;
  height:10px;
  flex:0 0 10px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 6px rgba(214,165,72,.15);
}
.freshness.ok:before{background:var(--green);box-shadow:0 0 0 6px rgba(22,116,81,.13)}
.freshness.warn:before{background:var(--gold)}
.freshness.error:before{background:var(--red);box-shadow:0 0 0 6px rgba(173,51,55,.13)}
.conditional-guidance{
  margin:0 0 18px;
  padding:20px 22px;
  border:1px solid #e3bd70;
  border-radius:18px;
  background:linear-gradient(135deg,#fff8e7,#fffdf8);
  box-shadow:var(--shadow-soft);
}
.conditional-guidance-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.conditional-guidance-head small{
  display:block;
  color:#88600b;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.conditional-guidance-head strong{display:block;margin-top:6px;color:var(--navy-900);font-size:1.15rem}
.conditional-guidance-head>span{
  padding:7px 10px;
  border-radius:999px;
  color:#694b0c;
  background:#f4dfaa;
  font-size:.72rem;
  font-weight:700;
}
.conditional-guidance>p{margin:15px 0 0;color:var(--navy-900);font-size:1.02rem;font-weight:700}
.conditional-guidance-meta{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:.82rem}
.conditional-guidance em{display:block;margin-top:10px;color:#72591e;font-size:.78rem;line-height:1.55}
.panel{
  min-width:0;
  border:1px solid rgba(8,38,51,.11);
  border-radius:var(--radius-xl);
  background:rgba(255,253,250,.96);
  box-shadow:var(--shadow);
}

/* Leitura essencial: primeiro o que qualquer pessoa precisa entender */
.kid-dashboard{--kid-accent:var(--river-600);display:grid;gap:18px}
.kid-decision,.kid-now-card,.kid-crossing,.kid-next,.kid-wave,.kid-safety-note,.technical-portal{
  border:1px solid rgba(8,38,51,.10);
  box-shadow:var(--shadow-soft);
}
.kid-decision{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  min-height:190px;
  padding:30px 34px;
  overflow:hidden;
  color:white;
  border-radius:30px;
  background:radial-gradient(circle at 92% 20%,rgba(255,255,255,.19),transparent 18rem),linear-gradient(135deg,var(--kid-accent),var(--navy-900));
}
.kid-decision:after{content:"";position:absolute;right:-55px;bottom:-78px;width:230px;height:230px;border:28px solid rgba(255,255,255,.08);border-radius:50%}
.kid-decision.go{--kid-accent:#167451}
.kid-decision.wait{--kid-accent:#8a640e}
.kid-decision.stop{--kid-accent:#a92f38}
.kid-decision.flood{--kid-accent:#121a20}
.kid-decision.checking{--kid-accent:#4b6871}
.kid-status-icon{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:104px;
  aspect-ratio:1;
  border:3px solid rgba(255,255,255,.42);
  border-radius:50%;
  background:rgba(255,255,255,.16);
  box-shadow:inset 0 0 30px rgba(255,255,255,.12);
  font-size:3.7rem;
  font-weight:700;
  line-height:1;
}
.kid-decision-copy{position:relative;z-index:1;min-width:0}
.kid-decision .section-label{color:rgba(255,255,255,.74)}
.kid-decision h2{margin:4px 0 2px;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.98;letter-spacing:-.055em}
.kid-decision p{margin:8px 0 0;font-size:1.1rem}
.kid-freshness{
  position:relative;
  z-index:1;
  align-self:start;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(6,25,35,.28);
  font-size:.73rem;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  white-space:nowrap;
}
.kid-now-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.kid-now-card{display:flex;align-items:center;gap:22px;min-height:155px;padding:25px 28px;border-radius:26px;background:rgba(255,253,250,.96)}
.kid-now-card.level{background:linear-gradient(145deg,#fff,#e8f5f4)}
.kid-now-card.movement.rising{background:linear-gradient(145deg,#fff,#fff1dd)}
.kid-now-card.movement.falling{background:linear-gradient(145deg,#fff,#e4f1fa)}
.kid-now-card.movement.turning{background:linear-gradient(145deg,#e4f1fa 0,#fff 48%,#fff1dd 100%)}
.kid-card-icon{
  display:grid;
  place-items:center;
  width:80px;
  min-width:80px;
  height:80px;
  border-radius:23px;
  background:var(--river-100);
  color:var(--river-700);
  font-size:2.7rem;
  font-weight:700;
}
.kid-level-icon{position:relative;isolation:isolate;overflow:visible}
.kid-level-wave{display:block;line-height:1;transform:translate(-4px,6px) scale(.92)}
.kid-level-flag{
  position:absolute;
  z-index:2;
  top:7px;
  right:6px;
  width:27px;
  height:34px;
  pointer-events:none;
  transform:rotate(-4deg);
  transform-origin:left bottom;
  filter:drop-shadow(0 3px 4px rgba(16,86,55,.2));
}
.kid-level-flag:before{
  content:"";
  position:absolute;
  left:2px;
  top:0;
  width:3px;
  height:34px;
  border-radius:999px;
  background:#185f41;
  box-shadow:0 0 0 1px rgba(255,255,255,.4);
}
.kid-level-flag:after{
  content:"";
  position:absolute;
  left:5px;
  top:3px;
  width:22px;
  height:15px;
  border-radius:2px 5px 5px 2px;
  background:var(--kid-flag-color,#14754f);
  clip-path:polygon(0 0,100% 10%,84% 50%,100% 90%,0 100%);
  transform-origin:left center;
  animation:kidGreenFlagWave 1.8s ease-in-out infinite;
}
@keyframes kidGreenFlagWave{
  0%,100%{transform:perspective(50px) rotateY(0deg) skewY(0deg)}
  50%{transform:perspective(50px) rotateY(-25deg) skewY(-4deg)}
}
.kid-now-card.movement.rising .kid-card-icon{color:var(--orange);background:var(--orange-soft)}
.kid-now-card.movement.falling .kid-card-icon{color:#256aa3;background:#e4f1fa}
.kid-now-card.movement.turning .kid-card-icon{color:#8b5c13;background:linear-gradient(145deg,#e4f1fa,#fff1dd)}
.kid-now-card small,.kid-service small,.kid-peak small{display:block;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.kid-now-card strong{display:block;margin:2px 0;font-size:clamp(2.1rem,4vw,3.55rem);line-height:1;letter-spacing:-.05em}
.kid-now-card span:last-child{color:var(--muted);font-size:.88rem}
.kid-crossing{padding:28px;border-radius:28px;background:var(--paper)}
.kid-section-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin-bottom:18px}
.kid-section-head h2,.kid-next h2,.kid-wave h2{margin:3px 0 0;font-size:clamp(1.75rem,3vw,2.7rem);line-height:1.05;letter-spacing:-.04em}
.kid-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.kid-service{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-height:96px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:17px;
  background:#f8faf8;
}
.kid-service-icon{font-size:2.35rem}
.kid-service-copy{min-width:0}
.kid-service-copy>small{margin-bottom:5px}
.kid-service-status{display:block;color:#60747a;font-size:1.1rem;line-height:1.15}
.kid-service-ticker{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#60747a;background:#e5ecea;font-size:1.1rem;font-style:normal;font-weight:700}
.kid-service.yes{border-color:rgba(22,116,81,.25);background:var(--green-soft)}
.kid-service.yes .kid-service-status{color:var(--green)}
.kid-service.yes .kid-service-ticker{color:white;background:var(--green);box-shadow:0 7px 16px rgba(22,116,81,.22)}
.kid-service.attention{border-color:rgba(169,118,18,.3);background:#fff8dc}
.kid-service.attention .kid-service-status{color:#8a650d}
.kid-service.attention .kid-service-ticker{color:white;background:#b68314}
.kid-service.no{border-color:rgba(173,51,55,.25);background:var(--red-soft)}
.kid-service.no .kid-service-status{color:var(--red)}
.kid-service.no .kid-service-ticker{color:white;background:var(--red)}
.kid-service.waiting{background:#f0f3f2}
.kid-service.checking{border-color:#b9dbe3;background:#f1f8fa}
.kid-service.checking .kid-service-status{color:#245f72}
.kid-service.checking .kid-service-ticker{color:#245f72;background:#dceff4}
.kid-port-hours{
  margin-top:14px;
  padding:14px;
  display:grid;
  grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr);
  align-items:center;
  gap:12px;
  border:1px solid #c7ddd8;
  border-radius:17px;
  background:linear-gradient(135deg,#f0f8f5,#f8fbfa);
}
.kid-port-hours-heading{display:flex;align-items:center;gap:11px;min-width:0}
.kid-port-hours-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#245f72;background:#dfeff1;font-size:1.45rem}
.kid-port-hours-heading strong{color:var(--navy-950);font-size:.92rem;line-height:1.2}
.kid-port-hours-rules small{display:block;color:var(--muted);font-size:.64rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.kid-port-hours-rules{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kid-port-hours-rule{position:relative;min-width:0;padding:12px;border:1px solid rgba(36,95,114,.12);border-radius:14px;background:rgba(255,255,255,.78);transition:transform .2s ease,border-color .2s ease,background .2s ease}
.kid-port-hours-rule.today{border-color:#69a9b9;background:#e8f5f7;transform:translateY(-2px);box-shadow:0 7px 16px rgba(36,95,114,.09)}
.kid-port-hours-rule>em{position:absolute;top:-9px;right:10px;padding:4px 8px;border-radius:999px;color:white;background:var(--river-700);font-size:.6rem;font-style:normal;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 5px 12px rgba(36,95,114,.2)}
.kid-port-hours-rules b{display:block;margin-top:4px;color:var(--navy-900);font-size:.82rem;line-height:1.3}
.kid-crossing-note{margin:14px 2px 0;color:var(--muted);font-size:.86rem}
.holiday-calendar-card{
  position:relative;
  padding:28px;
  overflow:hidden;
  background:radial-gradient(circle at 96% 0,rgba(92,170,192,.15),transparent 21rem),linear-gradient(145deg,#fffdf9,#f2f8f6);
}
.holiday-calendar-card:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,var(--river-600),var(--green))}
.holiday-calendar-head{display:flex;align-items:end;justify-content:space-between;gap:18px}
.holiday-calendar-head h2{margin:3px 0 0;color:var(--navy-950);font-size:clamp(1.75rem,3vw,2.7rem);line-height:1.05;letter-spacing:-.04em}
.holiday-calendar-head>span{padding:9px 12px;border:1px solid #b9dbe3;border-radius:999px;color:#245f72;background:#e8f5f8;font-size:.72rem;font-weight:700;white-space:nowrap}
.holiday-calendar-intro{max-width:780px;margin:12px 0 0;color:var(--muted);font-size:.9rem;line-height:1.55}
.holiday-month-toolbar{margin-top:18px;display:grid;grid-template-columns:40px minmax(0,1fr) 40px auto;align-items:center;gap:8px}
.holiday-month-toolbar button{min-height:40px;padding:7px 10px;border:1px solid #c4d7d3;border-radius:11px;color:var(--river-700);background:white;cursor:pointer;font-size:1.1rem;font-weight:700}
.holiday-month-toolbar button:hover{border-color:var(--river-600);background:var(--river-100)}
.holiday-month-toolbar strong{color:var(--navy-950);font-family:var(--font-ui);font-size:1.35rem;font-weight:600;text-align:center;text-transform:capitalize}
.holiday-month-toolbar .holiday-current-month{padding-inline:13px;font-family:var(--font-ui);font-size:.7rem;white-space:nowrap}
.holiday-weekdays,.holiday-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.holiday-weekdays{margin-top:14px}
.holiday-weekdays span{padding:5px;color:var(--muted);font-size:.64rem;font-weight:700;letter-spacing:.07em;text-align:center;text-transform:uppercase}
.holiday-calendar-grid{margin-top:3px}
.holiday-calendar-blank,.holiday-calendar-day{min-width:0;min-height:58px;border:1px solid #d9e2df;border-radius:11px;background:rgba(255,255,255,.82)}
.holiday-calendar-blank{border-color:transparent;background:transparent}
.holiday-calendar-day{position:relative;padding:8px;display:flex;flex-direction:column;justify-content:space-between;color:var(--ink)}
.holiday-calendar-day strong{font-size:.88rem;line-height:1}
.holiday-calendar-day.weekend{color:#738184;background:#f1f4f3}
.holiday-calendar-day.today{box-shadow:inset 0 0 0 2px var(--navy-900)}
.holiday-calendar-day.is-br{border-color:#82c5a8;background:#e2f5eb;color:#0f6444}
.holiday-calendar-day.is-ar{border-color:#83bfe3;background:#e7f4fc;color:#175f8b}
.holiday-calendar-day.is-both{border-color:#6aaeba;background:linear-gradient(135deg,#e2f5eb 0 49%,#e7f4fc 51% 100%);color:var(--navy-900)}
.holiday-calendar-marks{display:flex;align-items:center;gap:4px;min-height:8px}
.holiday-calendar-marks i,.holiday-calendar-legend i{display:block;width:8px;height:8px;border-radius:50%}
.holiday-calendar-marks i.br,.holiday-calendar-legend i.br{background:#279064}
.holiday-calendar-marks i.ar,.holiday-calendar-legend i.ar{background:#2787c0}
.holiday-calendar-legend{margin-top:12px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:9px 18px;border:1px solid #d5e0dd;border-radius:12px;background:rgba(255,255,255,.72)}
.holiday-calendar-legend span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.69rem}
.holiday-calendar-legend b{color:var(--navy-800);font-weight:700}
.holiday-month-list{margin-top:10px;display:grid;gap:7px}
.holiday-month-item{padding:11px 12px;display:grid;grid-template-columns:minmax(155px,.6fr) minmax(0,1.4fr) auto;align-items:center;gap:13px;border:1px solid #d5e0dd;border-radius:12px;background:rgba(255,255,255,.8)}
.holiday-month-item>time{color:var(--river-700);font-size:.72rem;font-weight:700;line-height:1.35;text-transform:capitalize}
.holiday-calendar-names{margin-top:10px;display:grid;gap:9px}
.holiday-month-item .holiday-calendar-names{margin-top:0}
.holiday-calendar-names>span{display:block}
.holiday-calendar-names strong{display:block;color:var(--navy-950);font-family:var(--font-ui);font-size:1.02rem;font-weight:600;line-height:1.2}
.holiday-calendar-names small{display:block;margin-top:3px;color:var(--muted);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.holiday-month-item em{display:block;width:max-content;max-width:100%;padding:5px 8px;border-radius:999px;color:#166c4e;background:#e8f7ee;font-size:.63rem;font-style:normal;font-weight:700;white-space:nowrap}
.holiday-calendar-empty{margin:0;padding:13px;border:1px dashed #b9cfca;border-radius:12px;color:var(--muted);background:rgba(255,255,255,.65)}
.holiday-calendar-note{margin:13px 1px 0;color:var(--muted);font-size:.72rem;line-height:1.5}
.kid-next{
  display:grid;
  grid-template-columns:minmax(250px,.78fr) 1.5fr;
  gap:24px;
  align-items:center;
  padding:29px;
  border-radius:28px;
  color:white;
  background:linear-gradient(135deg,var(--navy-900),var(--river-700));
}
.kid-next .section-label{color:rgba(255,255,255,.65)}
.kid-next-copy p:last-child{margin:10px 0 0;color:rgba(255,255,255,.76)}
.future-swipe-hint{display:none}
.future-table-wrap{grid-column:1/-1;width:100%;overflow-x:auto;border:1px solid #d4dfdc;border-radius:15px;background:white;box-shadow:0 8px 22px rgba(6,25,35,.05)}
.future-table{width:100%;min-width:770px;border-collapse:separate;border-spacing:0;color:var(--ink);font-size:.78rem}
.future-table caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.future-table th{padding:11px 13px;color:#60747a;background:#edf4f2;font-size:.63rem;font-weight:700;letter-spacing:.07em;text-align:left;text-transform:uppercase;white-space:nowrap}
.future-table th:first-child{border-radius:14px 0 0 0}
.future-table th:last-child{border-radius:0 14px 0 0}
.future-table td{padding:12px 13px;border-top:1px solid #e1e8e5;vertical-align:middle}
.future-table td:first-child{min-width:178px}
.future-table td:nth-child(2){min-width:145px}
.future-table td:nth-child(3){min-width:145px}
.future-table td:nth-child(4){min-width:165px}
.future-table td:nth-child(5){min-width:215px}
.future-table time,.future-table td>b{display:block;color:var(--navy-950);font-weight:700;line-height:1.25;text-transform:capitalize}
.future-table td small{display:block;margin-top:4px;color:var(--muted);font-size:.63rem;line-height:1.35}
.future-calendar{width:max-content;max-width:170px;padding:3px 6px;border-radius:999px;color:#166c4e;background:#e8f7ee}
.future-calendar.weekend{color:#245f72;background:#e8f5f8}
.future-calendar.eve{color:#76540c;background:#fff5cf}
.future-calendar.holiday{color:#8f292d;background:#fff0f0}
.future-calendar.argentina_non_working{color:#573e91;background:#f4efff}
.future-rain-vector{width:100%;max-width:105px;height:5px;margin-top:7px;display:block;overflow:hidden;border-radius:999px;background:#e5eeef}
.future-rain-vector span{display:block;height:100%;border-radius:inherit;background:#6eb7d6}
.future-rain-vector.moderate span{background:#318bc0}
.future-rain-vector.strong span{background:#175f8b}
.future-crest.possible{background:#edf8f5}
.future-crest.possible b{color:#166c4e}
.future-operation{display:inline-flex;padding:6px 8px;border-radius:999px;color:#245f72;background:#e8f5f8;font-size:.62rem;font-weight:700;line-height:1.25}
.future-operation.normal,.future-operation.stable,.future-operation.probable{color:#166c4e;background:#e8f7ee}
.future-operation.attention{color:#76540c;background:#fff5cf}
.future-operation.cargoBlocked,.future-operation.cargoBoatBlocked,.future-operation.closed{color:#8f292d;background:#fff0f0}
.future-cargo-risk{display:block;width:max-content;max-width:100%;margin-top:8px;padding:7px 9px;border:1px solid currentColor;border-radius:10px;font-size:.67rem;font-weight:700;line-height:1.3}
.future-cargo-risk.low{color:#76540c;background:#fff9df}
.future-cargo-risk.medium{color:#9a4d13;background:#fff2e6}
.future-cargo-risk.high{color:#8f292d;background:#fff0f0}
.future-table td small.future-cargo-risk-basis{max-width:210px;margin-top:5px;color:#6a777a;font-size:.59rem;font-weight:700}
.future-row.cargo-risk-visible td:last-child{background:linear-gradient(90deg,rgba(255,247,226,.35),rgba(255,255,255,0))}
.future-table-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:.69rem;font-weight:700;line-height:1.5}
.kid-wave{
  display:grid;
  grid-template-columns:1.05fr 1.2fr auto;
  align-items:center;
  gap:25px;
  padding:28px;
  overflow:hidden;
  border-radius:28px;
  background:linear-gradient(145deg,#fffdf8,#f0f6f4);
}
.kid-river-route{display:flex;align-items:center;justify-content:center;gap:9px;min-height:115px;padding:18px;border-radius:22px;color:white;background:radial-gradient(circle at 30% 20%,rgba(105,230,91,.18),transparent 7rem),linear-gradient(135deg,var(--navy-900),var(--river-600))}
.kid-river-route span{max-width:150px;font-size:1.02rem;font-weight:700;line-height:1.2;text-align:center}
.kid-wave-copy p:last-child{margin:10px 0 0;color:var(--muted)}
.kid-peak{min-width:205px;padding:18px;border-left:1px solid var(--line)}
.kid-peak b{display:block;margin:5px 0;color:var(--river-700);font-size:3rem;line-height:1;letter-spacing:-.05em}
.kid-peak span{display:block;color:var(--muted);font-size:.82rem}
.kid-safety-note{display:flex;align-items:center;gap:14px;padding:17px 22px;border-radius:20px;background:#fff7df}
.kid-safety-note>span{font-size:2rem}
.kid-safety-note p{margin:0}
.technical-portal{overflow:hidden;border-radius:28px;background:rgba(255,253,250,.9)}
.technical-portal>summary{display:flex;align-items:center;gap:16px;padding:22px 26px;cursor:pointer;list-style:none}
.technical-portal>summary::-webkit-details-marker{display:none}
.technical-summary-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:50%;color:white;background:var(--navy-900);font-size:1.4rem;font-weight:300;transition:transform .2s ease}
.technical-portal[open] .technical-summary-icon{transform:rotate(45deg)}
.technical-portal>summary div{display:grid}
.technical-portal>summary small{color:var(--muted);font-size:.67rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.technical-portal>summary strong{font-size:1.35rem;line-height:1.2}
.technical-portal>summary div>span{color:var(--muted);font-size:.82rem}
.technical-stack{display:grid;gap:22px;padding:0 18px 20px;border-top:1px solid var(--line)}
.technical-stack>:first-child{margin-top:20px}
.unified-technical-portal{
  border:1px solid rgba(8,38,51,.14);
  background:linear-gradient(180deg,#f8fbfa,#edf2f0);
  box-shadow:0 20px 58px rgba(6,25,35,.11);
}
.unified-technical-portal>summary{
  min-height:112px;
  padding:25px 28px;
  color:white;
  background:
    radial-gradient(circle at 91% 18%,rgba(105,230,91,.18),transparent 15rem),
    linear-gradient(135deg,var(--navy-950),var(--navy-800) 68%,var(--river-700));
}
.unified-technical-portal>summary .technical-summary-icon{
  color:var(--navy-950);
  background:var(--lime);
  box-shadow:0 0 0 7px rgba(105,230,91,.12);
}
.unified-technical-portal>summary small{color:#a9d9d6}
.unified-technical-portal>summary strong{color:white;font-family:var(--font-ui);font-size:clamp(1.55rem,2.6vw,2.15rem);font-weight:400}
.unified-technical-portal>summary div>span{max-width:760px;color:#c9d8db;font-size:.88rem;line-height:1.5}
.unified-technical-portal[open]>summary{border-bottom:1px solid rgba(255,255,255,.12)}
.technical-hub-nav{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.technical-hub-nav a{
  min-width:0;
  padding:15px 16px;
  display:grid;
  gap:3px;
  border:1px solid rgba(8,38,51,.1);
  border-radius:16px;
  color:var(--ink);
  background:rgba(255,253,250,.94);
  box-shadow:0 8px 22px rgba(6,25,35,.05);
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.technical-hub-nav a:hover{transform:translateY(-2px);border-color:rgba(20,121,135,.36);box-shadow:0 12px 28px rgba(6,25,35,.09)}
.technical-hub-nav small{color:var(--river-700);font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.technical-hub-nav strong{font-size:.92rem;line-height:1.25}
.technical-hub-nav span{color:var(--muted);font-size:.72rem;line-height:1.35}
.unified-satellite-section{padding:26px;scroll-margin-top:24px}
.unified-satellite-section>.section-head{margin-top:0}

.primary-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr);
  gap:20px;
  scroll-margin-top:24px;
}
.level-panel{
  position:relative;
  min-height:445px;
  padding:32px 34px;
  overflow:hidden;
  color:white;
  border-color:rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 86% 85%,rgba(20,121,135,.48),transparent 19rem),
    linear-gradient(145deg,var(--navy-950),var(--navy-800));
}
.level-panel:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:8px;
  background:var(--flag-color,var(--gold));
}
.level-panel:after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-110px;
  width:330px;
  height:240px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:50%;
  box-shadow:0 -32px 0 rgba(255,255,255,.035),0 -64px 0 rgba(255,255,255,.02);
  transform:rotate(-10deg);
}
.level-top,.level-main,.trend,.source-note{position:relative;z-index:1}
.level-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.section-label{
  margin:0;
  color:var(--river-700);
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.level-panel .section-label{color:#9fc1c8}
.flag{
  width:max-content;
  margin-top:10px;
  padding:7px 11px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid color-mix(in srgb,var(--flag-color,var(--gold)) 55%,transparent);
  border-radius:999px;
  color:white;
  background:rgba(255,255,255,.07);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.08em;
}
.flag i{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--flag-color,var(--gold));
  box-shadow:0 0 0 5px color-mix(in srgb,var(--flag-color,var(--gold)) 18%,transparent);
}
.reading{
  max-width:290px;
  color:#c1d2d7;
  font-size:.8rem;
  font-weight:700;
  line-height:1.45;
  text-align:right;
}
.level-main{
  margin-top:30px;
  display:flex;
  align-items:flex-end;
  gap:15px;
}
.level-number{
  color:#fffaf0;
  font-family:var(--font-ui);
  font-size:clamp(6rem,11vw,9.5rem);
  font-weight:400;
  line-height:.72;
  letter-spacing:-.085em;
}
.level-unit{
  margin-bottom:8px;
  color:var(--lime);
  font-size:1.05rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.trend{
  margin-top:38px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  gap:13px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;
  background:rgba(255,255,255,.07);
}
.trend-mark{
  width:47px;
  height:47px;
  flex:0 0 47px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:var(--navy-950);
  background:var(--lime);
  font-size:1.32rem;
  font-weight:700;
}
.trend small{display:block;color:#9fb7bd;font-size:.63rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.trend b{display:block;margin-top:2px;color:white;font-size:1.06rem}
.trend span:not(.trend-mark){display:block;margin-top:2px;color:#c4d5d9;font-size:.82rem}
.trend.movement-up .trend-mark{background:#ffc79d;color:#6f2c0e}
.trend.movement-down .trend-mark{background:#b7efc7;color:#155332}
.source-note{
  margin-top:15px;
  padding-left:3px;
  color:#9fb7bd;
  font-size:.76rem;
  line-height:1.5;
}
.operation-panel{
  padding:30px;
  background:
    radial-gradient(circle at 100% 0,rgba(214,165,72,.12),transparent 18rem),
    linear-gradient(180deg,var(--paper),#f8f5ed);
}
.operation-heading{
  padding-bottom:18px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid var(--line);
}
.operation-heading h2{
  margin:7px 0 0;
  color:var(--navy-950);
  font-family:var(--font-ui);
  font-size:2rem;
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.035em;
}
.port-live{
  flex:0 0 auto;
  max-width:155px;
  padding:7px 10px;
  border-radius:999px;
  color:var(--navy-800);
  background:#e6ece9;
  font-size:.67rem;
  font-weight:700;
  line-height:1.35;
  text-align:center;
}
.port-live.open{color:#155332;background:#dff2e5}
.hours{
  margin-top:18px;
  padding:17px;
  border:1px solid #e0d9ca;
  border-radius:16px;
  background:rgba(255,255,255,.66);
}
.hours strong{display:block;color:var(--navy-900);font-family:var(--font-ui);font-size:1rem}
.hours-row{
  margin-top:9px;
  display:grid;
  grid-template-columns:145px minmax(0,1fr);
  gap:12px;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.45;
}
.hours-row span:last-child{color:var(--ink);font-weight:700}
.operation-list{margin-top:17px;display:grid;gap:9px}
.operation-item{
  min-width:0;
  padding:13px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.74);
}
.operation-item small{display:block;color:var(--muted);font-size:.69rem;font-weight:700}
.operation-item b{display:block;margin-top:2px;color:var(--navy-900);font-size:.8rem}
.status{
  flex:0 0 auto;
  max-width:155px;
  padding:7px 9px;
  border-radius:999px;
  color:var(--green);
  background:var(--green-soft);
  font-size:.66rem;
  font-weight:700;
  line-height:1.25;
  text-align:center;
}
.status.block{color:var(--red);background:var(--red-soft)}
.status.attention{color:#7c5b0b;background:#fff2bf}
.status.unknown{color:#6d571c;background:#f1ead4}
.public-note{
  margin-top:15px;
  padding-top:14px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.72rem;
  line-height:1.55;
}

/* Resumo e seções */
.summary-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:16px}
.summary-card{
  position:relative;
  min-height:156px;
  padding:24px 25px;
  overflow:hidden;
  background:rgba(255,253,250,.96);
  transition:transform .2s ease,box-shadow .2s ease;
}
.summary-card:hover{transform:translateY(-3px);box-shadow:0 22px 54px rgba(6,25,35,.13)}
.summary-card:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:5px;
  background:var(--river-600);
}
.summary-card.emphasis:before{background:linear-gradient(90deg,var(--river-600),var(--lime))}
.summary-card.attention:before{background:linear-gradient(90deg,var(--gold),#e6c56b)}
.summary-card h3{
  margin:13px 0 0;
  color:var(--navy-950);
  font-family:var(--font-ui);
  font-size:1.56rem;
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.035em;
}
.summary-card p:not(.section-label){margin:11px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}
.content-section{
  padding:36px 38px;
  scroll-margin-top:18px;
}
.section-head,.river-chart-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
}
.section-head>div:first-child,.river-chart-head>div:first-child{min-width:0}
.section-head h2,.river-chart-head h2{
  margin:7px 0 0;
  color:var(--navy-950);
  font-family:var(--font-ui);
  font-size:clamp(2rem,3.2vw,2.65rem);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.045em;
}
.section-head>p{
  max-width:520px;
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.6;
  text-align:right;
}
.section-head>div:first-child:before,
.river-chart-head>div:first-child:before{
  content:"";
  display:block;
  width:44px;
  height:3px;
  margin-bottom:11px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--lime-dark),var(--river-600));
}

/* Gráfico */
.river-chart-section{
  background:
    radial-gradient(circle at 100% 0,rgba(20,121,135,.10),transparent 28rem),
    var(--paper);
}
.public-wave-chart{
  position:relative;
  overflow:hidden;
  border-color:rgba(20,121,135,.22);
  box-shadow:0 24px 58px rgba(8,38,51,.12);
}
.public-wave-chart:after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:180px;
  height:5px;
  border-radius:0 0 0 999px;
  background:linear-gradient(90deg,var(--river-600),var(--lime));
}
.public-wave-chart .river-chart-head>p{
  max-width:370px;
  margin:0;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.55;
  text-align:right;
}
.rise-strength{margin-top:20px;padding:16px 18px;border:1px solid #bfd8cb;border-radius:18px;background:linear-gradient(135deg,#f1faf5,#fbfefc);box-shadow:inset 0 1px 0 white}
.rise-strength[hidden]{display:none}
.rise-strength-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.rise-strength-head small{display:block;color:var(--muted);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.rise-strength-head strong{display:block;margin-top:4px;color:var(--navy-900);font-size:1.12rem}
.rise-strength-head>span{padding:7px 10px;border:1px solid #b5d4c3;border-radius:999px;color:#285d42;background:white;font-size:.76rem;font-weight:700;white-space:nowrap}
.rise-strength-scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:13px}
.rise-strength-scale>span{min-width:0;padding:9px 5px 8px;border:1px solid #d9e5de;border-radius:11px;color:#82918b;background:rgba(255,255,255,.72);text-align:center;transition:transform .18s ease,background .18s ease,color .18s ease}
.rise-strength-scale b,.rise-strength-scale small{display:block}
.rise-strength-scale b{font-size:.76rem}
.rise-strength-scale small{margin-top:2px;font-size:.54rem;font-weight:700;line-height:1.2}
.rise-strength-scale>span.reached{color:#315f48;background:#e2f3e8}
.rise-strength-scale>span.active{transform:translateY(-2px);border-color:#66a780;color:white;background:#28724e;box-shadow:0 7px 15px rgba(40,114,78,.18)}
.rise-strength-scale>span:nth-child(3).active{border-color:#b59b42;background:#8a772b}
.rise-strength-scale>span:nth-child(4).active{border-color:#c98548;background:#a85d28}
.rise-strength-scale>span:nth-child(5).active{border-color:#bd6d63;background:#98443d}
.rise-strength>p{margin:13px 0 0;color:#294b3b;font-size:.82rem;font-weight:700;line-height:1.5}
.rise-strength-method{display:block;margin-top:6px;color:var(--muted);font-size:.65rem;line-height:1.45}
.upstream-wave-section .upstream-wave-bubble{margin-top:22px}
.chart-axis-note{margin-top:23px;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.04em}
.upstream-wave-bubble{
  margin-top:17px;
  padding:18px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  border:1px solid #d9c98e;
  border-radius:18px;
  background:linear-gradient(135deg,#fff9e7,#fffef9);
}
.upstream-wave-bubble.strong{border-color:#df9b79;background:linear-gradient(135deg,#fff5ed,#fffaf7)}
.upstream-wave-bubble.relevant{border-color:#abd1ba;background:linear-gradient(135deg,#eff9f3,#fbfefc)}
.upstream-wave-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  color:white;
  background:var(--gold);
  font-size:1.2rem;
  font-weight:700;
}
.upstream-wave-bubble>div>small{display:block;color:#8b650f;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.upstream-wave-bubble strong{display:block;margin-top:3px;color:var(--navy-900);font-size:1.05rem}
.upstream-wave-stage{display:block;margin-top:4px;color:var(--river-700);font-size:.72rem;font-weight:700}
.upstream-wave-bubble p{margin:8px 0 0;color:var(--muted);font-size:.79rem;line-height:1.5}
.upstream-wave-metrics,.upstream-wave-method{display:block;margin-top:7px;color:#4f676d;font-size:.71rem;line-height:1.5}
.upstream-wave-method{font-style:italic}
.wave-crisis-timing{margin-top:13px;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.wave-crisis-timing>span{padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.75)}
.wave-crisis-timing small{display:block;color:var(--muted);font-size:.61rem;font-weight:700;text-transform:uppercase}
.wave-crisis-timing b{display:block;margin-top:4px;color:var(--navy-900);font-size:.76rem}
.calculation-pipeline{margin-top:22px;padding:22px;border:1px solid #b7d5d4;border-radius:22px;background:linear-gradient(145deg,#f7fbfa 0%,#edf6f4 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.calculation-pipeline-head{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:10px 28px;align-items:end}
.calculation-pipeline-head .section-label{margin:0 0 5px}
.calculation-pipeline-head h3{margin:0;color:var(--navy-900);font-family:var(--font-ui);font-size:clamp(1.3rem,2vw,1.8rem);font-weight:400;line-height:1.12}
.calculation-pipeline-head>p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}
.calculation-layer-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 0;padding:0;list-style:none;counter-reset:calculation-layer}
.calculation-layer{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:11px;min-width:0;padding:17px 15px 16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 8px 20px rgba(6,25,35,.05)}
.calculation-layer:not(:last-child):after{content:"→";position:absolute;z-index:2;right:-20px;top:50%;display:grid;place-items:center;width:27px;height:27px;transform:translateY(-50%);border:1px solid #a9cbce;border-radius:50%;color:var(--river-700);background:#f5fbfa;font-size:.9rem;font-weight:700}
.calculation-layer-number{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;color:white;background:var(--river-700);box-shadow:0 7px 15px rgba(18,104,110,.2);font-size:1rem;font-weight:700}
.calculation-layer.basin .calculation-layer-number{background:#397b64}
.calculation-layer.routing .calculation-layer-number{background:var(--navy-900)}
.calculation-layer-body{min-width:0}
.calculation-layer-title{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.calculation-layer-title small{display:block;color:var(--muted);font-size:.55rem;font-weight:700;letter-spacing:.07em;line-height:1.35;text-transform:uppercase}
.calculation-layer-title h4{margin:4px 0 0;color:var(--navy-900);font-size:.96rem;line-height:1.2}
.calculation-layer-status{flex:0 0 auto;padding:5px 7px;border-radius:999px;color:#285d42;background:#d9f4e2;font-size:.52rem;font-weight:700;line-height:1;text-transform:uppercase}
.calculation-layer-status.partial,.calculation-layer-status.pending{color:#77550c;background:#ffedb5}
.calculation-layer-body>p:not(.calculation-layer-rule){min-height:62px;margin:11px 0 0;color:#415d65;font-size:.7rem;line-height:1.5}
.calculation-layer-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px}
.calculation-layer-metrics>span{min-width:0;padding:9px;border:1px solid #dce8e6;border-radius:11px;background:#f8fbfa}
.calculation-layer-metrics>span.wide{grid-column:1/-1}
.calculation-layer-metrics small{display:block;color:var(--muted);font-size:.51rem;font-weight:700;line-height:1.3;text-transform:uppercase}
.calculation-layer-metrics b{display:block;margin-top:4px;color:var(--navy-900);font-size:.72rem;line-height:1.35;overflow-wrap:anywhere}
.calculation-layer-rule{margin:10px 0 0;padding-top:9px;border-top:1px dashed #c7d9d6;color:var(--muted);font-size:.61rem;font-style:italic;line-height:1.45}
.calculation-formula{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:12px;align-items:center;margin-top:14px;padding:14px 16px;border-radius:16px;color:white;background:#0b2d38}
.calculation-formula>div{min-width:0}
.calculation-formula small{display:block;color:#9fc5c6;font-size:.55rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.calculation-formula code{display:block;margin-top:5px;color:white;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.calculation-formula>span{color:#f0cf7d;font-size:1.15rem;font-weight:700;text-align:center}
.calculation-pipeline-guardrail{margin:11px 0 0;color:#49646b;font-size:.66rem;font-weight:700;line-height:1.5}
.satellite-section{
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 0,rgba(20,121,135,.12),transparent 28rem),
    var(--paper);
}
.satellite-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:22px;margin-top:22px;align-items:start}
.satellite-figure{min-width:0;margin:0}
.satellite-frame{position:relative;aspect-ratio:5/3;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:#061923;box-shadow:0 20px 42px rgba(6,25,35,.18)}
.satellite-frame>img{display:block;width:100%;height:100%;object-fit:cover}
.satellite-frame>.satellite-scene{position:absolute;inset:0;transform:translate(-73.4%,-39.3%) scale(2.35);transform-origin:0 0}
.satellite-frame>#satelliteImage{z-index:1;transition:opacity .22s ease}
.satellite-frame>#satelliteImage.is-changing{opacity:.22}
.satellite-grid-overlay{z-index:2;opacity:.2;pointer-events:none}
.satellite-frame-time{position:absolute;z-index:3;left:13px;top:13px;max-width:calc(100% - 205px);padding:7px 10px;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:white;background:rgba(5,23,33,.78);font-size:.62rem;font-weight:700;letter-spacing:.02em;backdrop-filter:blur(10px)}
.satellite-carousel-controls{position:absolute;z-index:4;right:12px;top:12px;display:flex;align-items:center;gap:5px;padding:5px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(5,23,33,.8);box-shadow:0 7px 18px rgba(0,0,0,.2);backdrop-filter:blur(10px)}
.satellite-carousel-controls button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:white;background:rgba(255,255,255,.09);font:900 1.05rem/1 system-ui;cursor:pointer}
.satellite-carousel-controls button:hover{background:rgba(255,255,255,.2)}
.satellite-carousel-controls button:focus-visible{outline:3px solid #f0cf7d;outline-offset:2px}
.satellite-carousel-controls span{min-width:35px;padding:0 6px;color:#dce9ea;font-size:.58rem;font-weight:700;text-align:center}
.satellite-carousel-controls.is-paused #satellitePlayPause{color:#f7d682;background:rgba(247,214,130,.14)}
.satellite-location{position:absolute;z-index:3;left:13px;bottom:13px;padding:7px 10px;border:1px solid rgba(255,255,255,.32);border-radius:999px;color:white;background:rgba(5,23,33,.78);box-shadow:0 7px 18px rgba(0,0,0,.22);font-size:.66rem;font-weight:700;letter-spacing:.03em;backdrop-filter:blur(10px)}
/* Porto Mauá (-27.57, -54.67) cai no pixel aproximado (473,195) da grade NOAA SSA 900x540, interpolado entre 25–30°S e 55–50°W. Aplicado o recorte translate(-73.4%,-39.3%) scale(2.35), o ponto visível é (50.1%,45.6%). */
.satellite-porto-pin{position:absolute;z-index:4;left:50.1%;top:45.6%;width:18px;height:18px;transform:translate(-50%,-50%);border:2px solid white;border-radius:50%;background:#efb72f;box-shadow:0 0 0 6px rgba(239,183,47,.22),0 5px 18px rgba(0,0,0,.42)}
.satellite-porto-pin i{position:absolute;inset:4px;border-radius:50%;background:#8e312f}
.satellite-porto-pin b{position:absolute;left:17px;top:-7px;padding:6px 8px;border:1px solid rgba(255,255,255,.38);border-radius:999px;color:white;background:rgba(5,23,33,.86);font-size:.62rem;line-height:1;white-space:nowrap;backdrop-filter:blur(9px)}
.satellite-carousel-progress{position:absolute;z-index:5;right:0;bottom:0;left:0;height:4px;background:rgba(255,255,255,.18)}
.satellite-carousel-progress i{display:block;width:8.33%;height:100%;background:#f0cf7d;transition:width .25s ease}
.satellite-frame.unavailable:after{content:"Imagem em atualização";position:absolute;z-index:6;inset:0;display:grid;place-items:center;color:white;background:rgba(5,23,33,.82);font-weight:700}
.satellite-figure figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:9px;color:var(--muted);font-size:.65rem;line-height:1.45}
.satellite-figure figcaption a{color:var(--river-700);font-weight:700;text-align:right;text-underline-offset:3px}
.satellite-reading{display:grid;gap:13px}
.satellite-category-head{padding:18px;border:1px solid var(--line);border-radius:18px;background:white}
.satellite-category-head small,.satellite-explanation small{display:block;color:var(--muted);font-size:.63rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.satellite-intensity{display:inline-flex;align-items:center;margin-top:8px;padding:8px 12px;border-radius:999px;color:white;background:#788990;font-size:1.04rem}
.satellite-intensity.weak{color:#285d42;background:#d9f4e2}
.satellite-intensity.moderate{color:#77550c;background:#ffedb5}
.satellite-intensity.strong{color:#8e3f1e;background:#ffd8c4}
.satellite-intensity.very-strong{color:white;background:#9e3238}
.satellite-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.satellite-metrics>span{min-width:0;padding:13px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.78)}
.satellite-metrics small{display:block;color:var(--muted);font-size:.59rem;font-weight:700;line-height:1.35;text-transform:uppercase}
.satellite-metrics b{display:block;margin-top:5px;color:var(--navy-900);font-size:.84rem;line-height:1.35;overflow-wrap:anywhere}
.satellite-explanation{padding:17px 18px;border-left:4px solid var(--river-600);border-radius:4px 17px 17px 4px;background:#edf7f6}
.satellite-explanation h3{margin:5px 0 0;color:var(--navy-900);font-size:1.16rem;line-height:1.2}
.satellite-explanation p{margin:8px 0 0;color:#415d65;font-size:.79rem;line-height:1.55}
.satellite-method{margin:0;color:var(--muted);font-size:.68rem;font-style:italic;line-height:1.5}
.satellite-network{margin-top:24px;padding:19px;border:1px solid var(--line);border-radius:19px;background:rgba(255,255,255,.62)}
.satellite-network-copy{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(280px,1fr);gap:5px 22px;align-items:end}
.satellite-network-copy .section-label{grid-row:1;margin:0}
.satellite-network-copy h3{grid-column:1;grid-row:2;margin:0;color:var(--navy-900);font-size:1.08rem;line-height:1.28}
.satellite-network-copy>p:last-child{grid-column:2;grid-row:1/3;margin:0;color:var(--muted);font-size:.76rem;line-height:1.55}
.satellite-network-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:15px}
.satellite-network-list>span{position:relative;min-width:0;padding:12px 11px 11px 28px;border:1px solid var(--line);border-radius:14px;background:#f5f8f7}
.satellite-network-list i{position:absolute;left:11px;top:15px;width:8px;height:8px;border-radius:50%;background:#b2bdc0;box-shadow:0 0 0 4px rgba(98,120,126,.1)}
.satellite-network-list .active i{background:var(--green);box-shadow:0 0 0 4px rgba(22,116,81,.1)}
.satellite-network-list .radar{border-color:#a9cbce;background:#edf7f6}
.satellite-network-list b,.satellite-network-list small{display:block;overflow-wrap:anywhere}
.satellite-network-list b{color:var(--navy-900);font-size:.78rem}
.satellite-network-list small{margin-top:3px;color:var(--muted);font-size:.59rem;line-height:1.35}
.sentinel-tourism{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:22px;margin-top:14px;padding:20px;border-radius:21px;color:white;background:linear-gradient(145deg,#071f2b,#0b3a46);box-shadow:0 20px 48px rgba(6,25,35,.18)}
.sentinel-tourism-figure{min-width:0;margin:0}
.sentinel-tourism-link{--sentinel-frame-aspect:1.255;--sentinel-pin-x:39.4%;--sentinel-pin-y:74.7%;position:relative;display:block;aspect-ratio:var(--sentinel-frame-aspect);overflow:hidden;border:1px solid rgba(255,255,255,.23);border-radius:17px;background:#0a1720;box-shadow:0 14px 36px rgba(0,0,0,.25)}
.sentinel-tourism-link img{display:block;width:100%;height:100%;object-fit:contain;filter:saturate(.88) contrast(1.06);transition:filter .3s ease}
#sentinel1Image{transform:scaleX(-1);transform-origin:center}
.sentinel-tourism-link:hover img{filter:saturate(1) contrast(1.08)}
.sentinel-tourism-link:focus-visible{outline:3px solid #f0cf7d;outline-offset:3px}
.sentinel-tourism-open{position:absolute;z-index:5;padding:7px 9px;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:white;background:rgba(5,23,33,.8);font-size:.61rem;font-weight:700;backdrop-filter:blur(9px)}
.sentinel-tourism-open{right:11px;top:11px}
.sentinel1-map-grid{position:absolute;z-index:1;inset:0;background-image:linear-gradient(rgba(223,247,247,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(223,247,247,.16) 1px,transparent 1px);background-size:20% 20%;box-shadow:inset 0 0 0 1px rgba(223,247,247,.18);pointer-events:none}
.sentinel1-map-grid:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--sentinel-pin-x) var(--sentinel-pin-y),transparent 0 18%,rgba(3,19,27,.08) 74%);pointer-events:none}
.sentinel1-compass{position:absolute;z-index:5;left:11px;top:11px;width:64px;height:64px;display:block;border:1px solid rgba(255,255,255,.48);border-radius:50%;color:white;background:rgba(5,23,33,.82);box-shadow:0 7px 20px rgba(0,0,0,.3);font-size:.5rem;font-weight:700;line-height:1;backdrop-filter:blur(8px);pointer-events:none}
.sentinel1-compass:before,.sentinel1-compass:after{content:"";position:absolute;left:50%;top:50%;background:rgba(255,255,255,.48);transform:translate(-50%,-50%)}
.sentinel1-compass:before{width:1px;height:39px}.sentinel1-compass:after{width:39px;height:1px}
.sentinel1-compass b{position:absolute;z-index:2}.sentinel1-compass .north{left:50%;top:6px;color:#ffe39b;transform:translateX(-50%)}.sentinel1-compass .south{left:50%;bottom:6px;transform:translateX(-50%)}.sentinel1-compass .east{right:7px;top:50%;transform:translateY(-50%)}.sentinel1-compass .west{left:7px;top:50%;transform:translateY(-50%)}
.sentinel1-compass i{position:absolute;z-index:1;left:50%;top:50%;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:22px solid #ffe39b;filter:drop-shadow(0 2px 2px rgba(0,0,0,.38));transform:translate(-50%,-93%)}
.sentinel1-coordinate-crosshair{position:absolute;z-index:2;inset:0;color:white;pointer-events:none}
.sentinel1-coordinate-crosshair i{position:absolute;display:block;border-color:rgba(120,220,226,.76);filter:drop-shadow(0 1px 2px rgba(0,0,0,.65))}
.sentinel1-coordinate-crosshair .latitude-line{left:0;right:0;top:var(--sentinel-pin-y);border-top:1px dashed rgba(120,220,226,.76)}
.sentinel1-coordinate-crosshair .longitude-line{top:0;bottom:0;left:var(--sentinel-pin-x);border-left:1px dashed rgba(120,220,226,.76)}
.sentinel1-coordinate-crosshair b{position:absolute;padding:4px 6px;border:1px solid rgba(120,220,226,.42);border-radius:7px;background:rgba(5,23,33,.78);box-shadow:0 4px 12px rgba(0,0,0,.2);font-size:.48rem;font-weight:700;line-height:1;white-space:nowrap;backdrop-filter:blur(6px)}
.sentinel1-coordinate-crosshair .latitude-label{left:7px;top:var(--sentinel-pin-y);transform:translateY(-50%)}
.sentinel1-coordinate-crosshair .longitude-label{left:var(--sentinel-pin-x);top:9px;transform:translateX(-50%)}
.sentinel-tourism-link.pin-near-right .sentinel1-coordinate-crosshair .longitude-label{transform:translateX(-100%)}
.sentinel-tourism-link.pin-near-left .sentinel1-coordinate-crosshair .longitude-label{transform:none}
.sentinel1-boundary-overlay{position:absolute;z-index:3;inset:0;width:100%;height:100%;overflow:hidden;filter:drop-shadow(0 1px 2px rgba(0,0,0,.72));pointer-events:none}
.sentinel1-boundary-overlay path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.sentinel1-boundary-overlay .rs-boundary path{stroke:rgba(105,232,222,.9);stroke-width:1.35;stroke-dasharray:5 4}
.sentinel1-boundary-overlay .misiones-boundary path{stroke:rgba(218,178,255,.9);stroke-width:1.35;stroke-dasharray:5 4}
.sentinel1-boundary-overlay .international-boundary path{stroke:#ffd363;stroke-width:3.1;stroke-dasharray:11 5 2 5}
.sentinel1-territory-label{position:absolute;z-index:4;min-width:112px;padding:6px 8px;display:grid;border:1px solid rgba(255,255,255,.58);border-radius:9px;color:white;background:rgba(5,23,33,.8);box-shadow:0 6px 18px rgba(0,0,0,.26);text-align:center;transform:translate(-50%,-50%);backdrop-filter:blur(8px);pointer-events:none}
.sentinel1-territory-label b{font-size:.58rem;line-height:1.1}.sentinel1-territory-label small{margin-top:3px;color:#d3e3e5;font-size:.44rem;font-weight:700;line-height:1.1;text-transform:uppercase}
.sentinel1-territory-label.rs-label{left:var(--territory-rs-x,73%);top:var(--territory-rs-y,75%);border-color:rgba(105,232,222,.72)}
.sentinel1-territory-label.misiones-label{left:var(--territory-misiones-x,24%);top:var(--territory-misiones-y,51%);border-color:rgba(218,178,255,.72)}
.sentinel1-boundary-legend{position:absolute;z-index:5;left:9px;right:9px;bottom:8px;padding:6px 8px;display:flex;align-items:center;justify-content:center;gap:8px 16px;border:1px solid rgba(255,255,255,.26);border-radius:999px;color:white;background:rgba(5,23,33,.8);box-shadow:0 6px 18px rgba(0,0,0,.24);font-size:.45rem;font-weight:700;line-height:1.15;backdrop-filter:blur(8px);pointer-events:none}
.sentinel1-boundary-legend b{display:flex;align-items:center;gap:6px;min-width:0}.sentinel1-boundary-legend i{width:24px;height:0;display:block;flex:0 0 24px;border-top:2px solid}
.sentinel1-boundary-legend .national-line{border-color:#ffd363;border-top-style:dashed}.sentinel1-boundary-legend .state-line{border-color:#8be8e2;border-top-style:dotted}
.sentinel-tourism-link.map-pending .sentinel1-map-grid,.sentinel-tourism-link.map-pending .sentinel1-compass,.sentinel-tourism-link.map-pending .sentinel1-coordinate-crosshair,.sentinel-tourism-link.map-pending .sentinel1-boundary-overlay,.sentinel-tourism-link.map-pending .sentinel1-territory-label,.sentinel-tourism-link.map-pending .sentinel1-boundary-legend{opacity:0}
.sentinel-tourism-link.boundaries-pending .sentinel1-boundary-overlay,.sentinel-tourism-link.boundaries-pending .sentinel1-territory-label,.sentinel-tourism-link.boundaries-pending .sentinel1-boundary-legend{opacity:0}
.sentinel1-porto-pin{
  --sentinel-pin-shift-x:-50%;
  --sentinel-pin-shift-y:calc(-100% - 9px);
  --sentinel-pin-anchor-x:50%;
  position:absolute;
  z-index:4;
  left:var(--sentinel-pin-x);
  top:var(--sentinel-pin-y);
  min-width:126px;
  padding:7px 9px 8px;
  display:grid;
  color:#071f2b;
  border:2px solid white;
  border-radius:10px 10px 10px 3px;
  background:#fff8e7;
  box-shadow:0 7px 22px rgba(0,0,0,.38);
  transform:translate(var(--sentinel-pin-shift-x),var(--sentinel-pin-shift-y));
  pointer-events:none;
}
.sentinel1-porto-pin.pin-near-right{--sentinel-pin-shift-x:-100%;--sentinel-pin-anchor-x:100%}
.sentinel1-porto-pin.pin-near-left{--sentinel-pin-shift-x:0%;--sentinel-pin-anchor-x:0%}
.sentinel1-porto-pin.pin-near-top{--sentinel-pin-shift-y:9px}
.sentinel1-porto-pin:after{content:"";position:absolute;left:var(--sentinel-pin-anchor-x);bottom:-10px;width:14px;height:14px;border-right:2px solid white;border-bottom:2px solid white;background:#fff8e7;transform:translateX(-50%) rotate(45deg)}
.sentinel1-porto-pin i{position:absolute;z-index:2;left:var(--sentinel-pin-anchor-x);bottom:-16px;width:10px;height:10px;border:2px solid white;border-radius:50%;background:#d4383d;box-shadow:0 0 0 5px rgba(212,56,61,.28),0 3px 9px rgba(0,0,0,.38);transform:translateX(-50%)}
.sentinel1-porto-pin.pin-near-top:after{top:-10px;bottom:auto}
.sentinel1-porto-pin.pin-near-top i{top:-16px;bottom:auto}
.sentinel1-porto-pin b{font-size:.7rem;line-height:1.1}
.sentinel1-porto-pin small{margin-top:3px;color:#51676d;font-size:.52rem;font-weight:700;line-height:1.15;white-space:nowrap}
.sentinel-tourism-figure figcaption{margin-top:8px;color:#b7cbce;font-size:.64rem;line-height:1.45}
.sentinel-tourism-figure figcaption a{margin-left:7px;color:#d8e8e9;text-decoration-color:rgba(216,232,233,.48);text-underline-offset:2px}
.sentinel-tourism-copy{display:grid;align-content:start;gap:13px}
.sentinel-tourism-head{display:flex;align-items:flex-start;justify-content:space-between;gap:13px}
.sentinel-tourism-head small,.sentinel-tourism-explainer small{display:block;color:#efd493;font-size:.61rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.sentinel-tourism-head h3{margin:5px 0 0;color:white;font-size:1.35rem;line-height:1.18}
.sentinel1-badge{flex:0 0 auto;padding:7px 9px;border-radius:999px;color:#f6f0df;background:rgba(255,255,255,.12);font-size:.62rem;font-weight:700;white-space:nowrap}
.sentinel1-badge.available{color:#d7f5df;background:rgba(62,176,117,.22)}
.sentinel1-badge.stale{color:#ffe7ad;background:rgba(214,165,72,.22)}
.sentinel-tourism-copy>p{margin:0;color:#c4d4d7;font-size:.77rem;line-height:1.55}
.sentinel-tourism-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sentinel-tourism-metrics>span{min-width:0;padding:11px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.055)}
.sentinel-tourism-metrics small{display:block;color:#9fb6bb;font-size:.55rem;font-weight:700;text-transform:uppercase}
.sentinel-tourism-metrics b{display:block;margin-top:4px;color:white;font-size:.72rem;line-height:1.35;overflow-wrap:anywhere}
.sentinel-tourism-explainer{padding:13px 14px;border-left:3px solid #77bdc0;border-radius:3px 13px 13px 3px;background:rgba(119,189,192,.1)}
.sentinel-tourism-explainer p{margin:6px 0 0;color:#d5e2e4;font-size:.72rem;line-height:1.52}
.sentinel-tourism .satellite-method{color:#9fb6bb}
.sentinel-tourism.image-unavailable .sentinel-tourism-link:after{content:"Imagem radar em atualização";position:absolute;z-index:3;inset:0;display:grid;place-items:center;color:white;background:rgba(5,23,33,.82);font-size:.78rem;font-weight:700}
.river-chart-shell{
  position:relative;
  min-height:470px;
  margin-top:18px;
  padding:12px;
  overflow:hidden;
  border:1px solid #bfd2d3;
  border-radius:20px;
  background:
    linear-gradient(rgba(8,38,51,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(8,38,51,.035) 1px,transparent 1px),
    linear-gradient(180deg,#fbfefe,#edf7f6);
  background-size:44px 44px,44px 44px,auto;
  box-shadow:inset 0 1px 0 white;
  overscroll-behavior:contain;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.river-chart-shell canvas{
  display:block;
  width:100%;
  min-height:444px;
  cursor:crosshair;
  touch-action:pan-y pinch-zoom;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.river-chart-tooltip{
  --pointer-offset:0px;
  position:absolute;
  z-index:5;
  width:230px;
  min-width:190px;
  max-width:calc(100% - 20px);
  box-sizing:border-box;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  color:white;
  background:rgba(6,25,35,.94);
  box-shadow:0 15px 36px rgba(6,25,35,.30);
  pointer-events:none;
  transform:translate(-50%,calc(-100% - 14px));
  backdrop-filter:blur(12px);
}
.river-chart-tooltip[hidden]{display:none}
.river-chart-tooltip.below{transform:translate(-50%,14px)}
.river-chart-tooltip:after{
  content:"";
  position:absolute;
  left:calc(50% + var(--pointer-offset));
  bottom:-6px;
  width:12px;
  height:12px;
  background:rgba(6,25,35,.94);
  transform:translateX(-50%) rotate(45deg);
}
.river-chart-tooltip.below:after{top:-6px;bottom:auto}
.river-chart-tooltip small{display:block;overflow:hidden;color:#afc5ca;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.river-chart-tooltip strong{display:block;margin-top:5px;color:white;font-size:1.28rem;white-space:nowrap}
.river-chart-tooltip span{display:block;margin-top:2px;color:#d2dfe2;font-size:.76rem;white-space:nowrap}
.river-chart-tooltip i{
  position:absolute;
  left:calc(50% + var(--pointer-offset));
  bottom:-19px;
  width:10px;
  height:10px;
  border:2px solid white;
  border-radius:50%;
  background:var(--lime);
  box-shadow:0 0 0 3px var(--navy-900);
  transform:translateX(-50%);
}
.river-chart-tooltip.below i{top:-19px;bottom:auto}
.chart-foot{margin-top:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.chart-legend{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:.66rem;font-weight:700}
.chart-legend span{display:inline-flex;align-items:center;gap:6px}
.chart-legend i{width:18px;height:3px;border-radius:999px;background:var(--river-700)}
.chart-legend .future i{background:var(--gold)}
.chart-legend .tail i{background:#8fa3a7}
.chart-legend .current i{width:8px;height:8px;border-radius:50%;background:var(--lime-dark)}
.chart-caption{max-width:520px;margin:0;color:var(--muted);font-size:.69rem;line-height:1.55;text-align:right}

/* Projeções */
.lead-statistics{margin-top:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.lead-stat-card{
  padding:15px 16px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#f6f8f6;
}
.lead-stat-card small{display:block;color:var(--muted);font-size:.64rem;font-weight:700;text-transform:uppercase}
.lead-stat-card b{display:block;margin-top:7px;color:var(--navy-900);font-family:var(--font-ui);font-size:1.25rem;font-weight:400}
.lead-stat-card span{display:block;margin-top:3px;color:var(--muted);font-size:.72rem}
.lead-stat-card.unvalidated{background:#f5f1e7}
.statistics-method,.method-details,.forcing-details,.basin-details,.shadow-details,.model-audit{
  margin-top:14px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#f7f9f7;
  overflow:hidden;
}
.statistics-method summary,.method-details summary,.forcing-details summary,
.basin-details>summary,.shadow-details>summary,.model-audit>summary{
  min-height:52px;
  padding:13px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--navy-900);
  cursor:pointer;
  font-size:.78rem;
  font-weight:700;
}
.statistics-method summary:after,.method-details summary:after,.forcing-details summary:after,
.basin-details>summary:after,.shadow-details>summary:after,.model-audit>summary:after{
  content:"+";
  width:26px;
  height:26px;
  flex:0 0 26px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--navy-900);
  background:#e5ece9;
}
details[open]>summary:after{content:"–"}
.statistics-method p,.method-details p,.forcing-body,.basin-copy,.shadow-intro,
.shadow-grid,.shadow-guardrail,.model-audit-grid,.model-audit-note{
  margin:0;
  padding:0 16px 16px;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.65;
}
.forecast{margin-top:17px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.daily-forecast{grid-template-columns:repeat(4,minmax(0,1fr))}
.forecast-item{
  position:relative;
  min-width:0;
  padding:20px 16px 17px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:17px;
  background:linear-gradient(160deg,#fff,#f3f7f5);
}
.forecast-item:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--river-600)}
.forecast-item.blocked{border-color:#e3b2b3;background:linear-gradient(155deg,#fff7f7,var(--red-soft))}
.forecast-item.blocked:before{background:linear-gradient(90deg,var(--red),var(--clay))}
.forecast-item.attention{border-color:#ead38a;background:linear-gradient(155deg,#fffdf4,#fff5cf)}
.forecast-item.attention:before{background:linear-gradient(90deg,#b88612,#d5a82f)}
.forecast-item.monitoring{border-color:#b9dbe3;background:linear-gradient(155deg,#f8fdff,#e8f5f8)}
.forecast-item.monitoring:before{background:linear-gradient(90deg,#277e96,#5caac0)}
.forecast-item.probable{border-color:#a8d8cc;background:linear-gradient(155deg,#fbfffd,#e5f4ef)}
.forecast-item.probable:before{background:linear-gradient(90deg,#2e8b72,#5caac0)}
.forecast-item.stable{border-color:#addbc5;background:linear-gradient(155deg,#fbfffc,#e8f7ee)}
.forecast-item.stable:before{background:linear-gradient(90deg,#14754f,#65e05e)}
.forecast-item>small{display:block;color:var(--river-700);font-size:.65rem;font-weight:700;text-transform:uppercase}
.forecast-item>b{display:block;margin-top:9px;color:var(--navy-950);font-family:var(--font-ui);font-size:2.1rem;font-weight:400;line-height:1}
.forecast-item>span{display:block;margin-top:7px;color:var(--muted);font-size:.72rem;line-height:1.45}
.forecast-item>.day-calendar{width:max-content;max-width:100%;margin-top:9px;padding:5px 8px;display:inline-flex;border:1px solid #b9decf;border-radius:999px;color:#166c4e;background:#e8f7ee;font-size:.65rem;font-weight:700;line-height:1.25}
.forecast-item>.day-calendar.weekend{border-color:#b9dbe3;color:#245f72;background:#e8f5f8}
.forecast-item>.day-calendar.eve{border-color:#ead38a;color:#76540c;background:#fff5cf}
.forecast-item>.day-calendar.holiday{border-color:#e3b2b3;color:#8f292d;background:#fff0f0}
.forecast-item>.day-calendar.argentina_non_working{border-color:#cfc2ef;color:#573e91;background:#f4efff}
.forecast-item>.day-public-hours{margin-top:7px;color:var(--navy-800);font-weight:700}
.forecast-window-status{display:block;margin-top:10px;padding:9px 10px;border-radius:10px;color:#166c4e;background:var(--green-soft);font-size:.69rem;line-height:1.4}
.forecast-window-status.attention{color:#76540c;background:#fff0ba}
.forecast-window-status.cargoBlocked,.forecast-window-status.cargoBoatBlocked,.forecast-window-status.closed{color:#8f292d;background:var(--red-soft)}
.forecast-window-status.pending{color:#536875;background:#eaf0ed}
.forecast-window-status.monitoring{color:#245f72;background:#dff1f5}
.forecast-window-status.probable{color:#245f72;background:#e5f4ef;box-shadow:inset 3px 0 0 #2e8b72}
.forecast-window-status.stable{color:#0f6444;background:#dff5e8;border-left:3px solid #14754f}
.forecast-phase{padding-top:9px;border-top:1px solid var(--line)}
.forecast-confidence{margin-top:9px;padding:7px 8px;border-radius:10px;color:#495f64;background:#eaf0ed;font-size:.65rem;font-weight:700}
.forecast-services{margin-top:10px;display:grid;gap:5px}
.forecast-status{padding:5px 7px;border-radius:8px;color:var(--green);background:var(--green-soft);font-size:.64rem;font-style:normal;font-weight:700}
.forecast-status.not-apt{color:var(--red);background:var(--red-soft)}
.forecast-status.unconfirmed{color:#76540c;background:#fff0ba}
.forecast-status.probable{color:#245f72;background:#e5f4ef;box-shadow:inset 3px 0 0 #2e8b72}
.forecast-status.apt-stable{color:#0f6444;background:#dff5e8;box-shadow:inset 3px 0 0 #14754f}
.plain-summary{
  margin-top:16px;
  padding:15px 17px;
  border-left:4px solid var(--river-600);
  border-radius:0 13px 13px 0;
  color:#38545b;
  background:var(--river-100);
  font-size:.82rem;
  font-weight:700;
  line-height:1.55;
}
.plain-summary.critical{border-left-color:var(--red);color:#7b2629;background:var(--red-soft)}
.forecast-window-note{margin:12px 0 0;color:var(--muted);font-size:.69rem;line-height:1.55}

/* Retomadas e picos */
.reopening-grid{margin-top:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.reopening-card{
  min-width:0;
  padding:20px;
  border:1px solid var(--line);
  border-radius:17px;
  background:linear-gradient(155deg,#fff,#f4f7f4);
}
.reopening-card[data-service="cars"]{border-top:4px solid #238260}
.reopening-card[data-service="boat"]{border-top:4px solid #2f76a0}
.reopening-card[data-service="trucks"]{border-top:4px solid #c66a2b}
.reopening-card small{display:block;color:var(--muted);font-size:.64rem;font-weight:700;text-transform:uppercase}
.reopening-card h3{margin:8px 0 0;color:var(--navy-900);font-size:.92rem}
.reopening-card b{display:block;margin-top:14px;color:var(--navy-950);font-family:var(--font-ui);font-size:1.4rem;font-weight:400;line-height:1.15}
.reopening-card span{display:block;margin-top:8px;color:var(--muted);font-size:.72rem;line-height:1.5}
.reopening-card b.service-window{display:grid;gap:12px}
.reopening-card b .service-time{display:grid;gap:3px;margin:0;padding-left:12px;border-left:3px solid #d6e0e4;color:var(--navy-950);font-size:1rem;line-height:1.25}
.reopening-card b .service-time em{color:var(--muted);font-family:var(--font-ui);font-size:.62rem;font-style:normal;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.reopening-card b .service-time strong{font-family:var(--font-ui);font-size:1.08rem;font-weight:500}
.reopening-card b .service-time.suspend{border-color:#c66a2b}
.reopening-card b .service-time.resume{border-color:#238260}
.reopening-card b .service-time.safe{border-color:#238260}
.reopening-card b .service-time.safe strong{color:#166c4e}
.reopening-card b .service-time.neutral{border-color:#aab8bf}
.reopening-card b .service-time.neutral strong{color:#667985}
.reopening-confidence i{display:block;margin-top:3px;font-style:normal}
.reopening-confidence.high{color:var(--green)}
.reopening-confidence.low,.reopening-confidence.conditional{color:#865f0e}
.reopening-note{margin:14px 0 0;color:var(--muted);font-size:.7rem;line-height:1.6}
.peak-grid{margin-top:22px;display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.6fr);gap:15px}
.peak-value{
  min-height:320px;
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-radius:20px;
  color:white;
  background:
    radial-gradient(circle at 100% 100%,rgba(105,230,91,.20),transparent 18rem),
    linear-gradient(145deg,var(--navy-950),var(--river-700));
}
.peak-value small{color:#b4cbd0;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.peak-value b{margin-top:15px;color:#fffaf0;font-family:var(--font-ui);font-size:clamp(3.8rem,8vw,6.2rem);font-weight:400;line-height:.82;letter-spacing:-.07em}
.peak-value span{margin-top:17px;color:#d2e1e4;font-size:.78rem;line-height:1.5}
.peak-analysis{
  padding:25px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#f8faf8;
}
.peak-analysis>strong{display:block;color:var(--navy-900);font-family:var(--font-ui);font-size:1.35rem;font-weight:400;line-height:1.25}
.peak-analysis>p{margin:9px 0 0;color:var(--muted);font-size:.78rem;line-height:1.6}
.range-line{color:#7e5a0d!important;font-weight:700}
.forcing-details summary b{padding:5px 8px;border-radius:999px;color:#6e5013;background:#f0dfb6;font-size:.68rem}
.forcing-details summary .strength-badge{min-width:44px;text-align:center;color:white;background:#64777b;font-size:.76rem}
.forcing-details summary .strength-badge.f1{background:#a77a0b}
.forcing-details summary .strength-badge.f2{background:#c56522}
.forcing-details summary .strength-badge.f3{background:#b7373c}
.forcing-details summary .strength-badge.f4{background:#792b57}
.forcing-details summary .strength-badge.f5{background:#11181d}
.wave-strength-panel{
  padding:15px;
  border:1px solid var(--line);
  border-radius:15px;
  color:var(--ink);
  background:white;
}
.wave-strength-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.wave-strength-heading small{display:block;color:var(--muted);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.wave-strength-heading strong{display:block;margin-top:3px;color:var(--navy-900);font-family:var(--font-ui);font-size:1.35rem;font-weight:400}
.wave-strength-heading>span{padding:6px 9px;border-radius:999px;color:var(--river-700);background:var(--river-100);font-size:.67rem;font-weight:700;white-space:nowrap}
.wave-strength-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:14px}
.wave-strength-track>span{
  min-width:0;
  padding:9px 5px 8px;
  border-radius:10px;
  color:#66777c;
  background:#e8edeb;
  text-align:center;
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.wave-strength-track b,.wave-strength-track small{display:block}
.wave-strength-track b{font-size:.85rem}
.wave-strength-track small{margin-top:2px;font-size:.55rem;white-space:nowrap}
.wave-strength-track [data-strength-level="1"].reached{color:#fff;background:#ad810d}
.wave-strength-track [data-strength-level="2"].reached{color:#fff;background:#ca6620}
.wave-strength-track [data-strength-level="3"].reached{color:#fff;background:#bb383e}
.wave-strength-track [data-strength-level="4"].reached{color:#fff;background:#7d2c59}
.wave-strength-track [data-strength-level="5"].reached{color:#fff;background:#11181d}
.wave-strength-track>span.active{transform:translateY(-3px);box-shadow:0 8px 16px rgba(6,25,35,.20)}
.wave-strength-track>span.possible{outline:2px dashed #986f0e;outline-offset:-2px;color:#74530a;background:#fff4d5}
.wave-strength-notice{margin:11px 0 0!important;color:#5d7075!important;font-size:.7rem!important;line-height:1.5!important}
.forcing-science{margin-top:11px;border:1px solid var(--line);border-radius:13px;background:#f7f9f7}
.forcing-science>summary{min-height:44px!important;padding:10px 12px!important;font-size:.7rem!important}
.forcing-science>div{padding:0 12px 12px}
.forcing-science p{margin:0 0 10px;color:var(--muted);font-size:.7rem;line-height:1.55}
.forcing-components{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.forcing-component{padding:13px;border:1px solid var(--line);border-radius:13px;background:white}
.forcing-component small{display:block;color:var(--muted);font-size:.61rem;font-weight:700;text-transform:uppercase}
.forcing-component b{display:block;margin-top:7px;color:var(--navy-900);font-family:var(--font-ui);font-size:1.25rem;font-weight:400}
.forcing-component span,.forcing-guard{display:block;margin-top:5px;color:var(--muted);font-size:.67rem;line-height:1.45}
.forcing-guard{margin-top:11px}
/* Corredor e vetores */
.port-peaks{margin-top:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.port-peak{
  position:relative;
  min-height:310px;
  padding:21px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#f7f9f7;
}
.port-peak:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--river-600)}
.port-peak.primary{
  color:white;
  border-color:var(--navy-900);
  background:
    radial-gradient(circle at 100% 100%,rgba(105,230,91,.18),transparent 16rem),
    var(--navy-900);
}
.port-peak.primary:before{background:var(--lime)}
.port-peak small,.port-peak-central-label{display:block;color:var(--muted);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.port-peak.primary small{color:#abc2c7}
.port-peak h3{margin:9px 0 0;color:var(--navy-900);font-family:var(--font-ui);font-size:1.35rem;font-weight:400}
.port-peak.primary h3{color:white}
.port-peak-central-label{margin-top:19px;color:#8d650e}
.port-peak.primary .port-peak-central-label{color:var(--lime)}
.port-peak-central{display:block;margin-top:5px;color:var(--navy-950);font-family:var(--font-ui);font-size:2.8rem;font-weight:400;line-height:.95;letter-spacing:-.05em}
.port-peak.primary .port-peak-central{color:#fffaf0}
.port-peak-time{display:block;margin-top:12px;color:#36545c;font-size:1.02rem;font-weight:700;line-height:1.25}
.port-peak.primary .port-peak-time{color:#d9e5e8}
.port-peak-range{display:block;margin-top:13px;padding-top:11px;border-top:1px solid var(--line);color:#7d5b13;font-size:.7rem;font-weight:700;line-height:1.5}
.port-peak.primary .port-peak-range{border-color:rgba(255,255,255,.14);color:#ccf5c6}
.port-peak-window,.port-peak-source{display:block;margin-top:8px;color:var(--muted);font-size:.68rem;line-height:1.5}
.port-peak.primary .port-peak-window,.port-peak.primary .port-peak-source{color:#b9ccd1}
.chain-note{
  margin-top:14px;
  padding:13px 15px;
  border-left:4px solid var(--lime-dark);
  border-radius:0 12px 12px 0;
  color:#405c63;
  background:#e9f4ef;
  font-size:.74rem;
  line-height:1.55;
}
.river-sequence{
  margin-top:22px;
  padding:13px 16px;
  display:flex;
  align-items:center;
  gap:18px;
  overflow:auto;
  border:1px solid #cfe0dc;
  border-radius:15px;
  background:linear-gradient(90deg,#eef8f4,#f9fbfa);
}
.river-sequence>strong{flex:0 0 auto;color:var(--river-700);font-size:.65rem;font-weight:700;text-transform:uppercase}
.river-sequence ol{margin:0;padding:0;display:flex;align-items:center;gap:0;list-style:none;white-space:nowrap}
.river-sequence li{display:inline-flex;align-items:center;color:#36565d;font-size:.74rem;font-weight:700}
.river-sequence li:not(:last-child):after{content:"→";margin:0 10px;color:var(--lime-dark)}
.rainfall-legend{
  margin-top:12px;
  padding:10px 13px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 15px;
  border:1px solid #d4e2e7;
  border-radius:13px;
  color:#536d74;
  background:#f3f8fa;
  font-size:.67rem;
}
.rainfall-legend strong{color:var(--navy-900);font-size:.68rem}
.rainfall-legend span{display:inline-flex;align-items:center;gap:6px}
.rain-dot{width:8px;height:8px;border-radius:50%;background:#78b7cf}
.rain-dot.moderate{background:#e0ad36}
.rain-dot.heavy{background:#dd7937}
.rain-dot.extreme{background:#b73d42}
.telemetry-wrap,.relevance-wrap{
  margin-top:14px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:16px;
  background:white;
}
.telemetry,.relevance{width:100%;border-collapse:collapse}
.telemetry{min-width:1060px}
.relevance{min-width:920px}
.telemetry th,.relevance th{
  padding:13px 14px;
  color:#789096;
  background:#eef3f1;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.09em;
  text-align:left;
  text-transform:uppercase;
}
.telemetry td,.relevance td{
  padding:15px 14px;
  border-top:1px solid var(--line);
  color:#355159;
  font-size:.76rem;
  vertical-align:top;
}
.telemetry td strong,.relevance td strong{color:var(--navy-900)}
.telemetry tr.stale td{color:#7a6b45;background:#fffaf0}
.telemetry .sub,.relevance td:first-child span{display:block;margin-top:4px;color:var(--muted);font-size:.67rem;line-height:1.45}
.telemetry .river-order{color:var(--river-700);font-weight:700}
.rain-cell{min-width:130px}
.rain-cell>strong{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  color:#24546a!important;
  background:#e2f1f7;
  font-size:.72rem;
  font-variant-numeric:tabular-nums;
}
.rain-cell>strong.moderate{color:#76520c!important;background:#fff0c9}
.rain-cell>strong.heavy{color:#884115!important;background:#ffe0c9}
.rain-cell>strong.extreme{color:#8b252a!important;background:#fbd9db}
.rain-cell.unavailable>strong{color:#74878b!important;background:#edf1ef}
.mono{font-variant-numeric:tabular-nums}
.movement-cell{min-width:300px}
.movement-cell>span:first-child,.sensor-alert{
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  color:var(--green);
  background:var(--green-soft);
  font-size:.65rem;
}
.sensor-alert{color:var(--red);background:var(--red-soft)}
.uhe-metrics{margin-top:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.uhe-metric{padding:8px;border:1px solid var(--line);border-radius:10px;background:#f7f9f7}
.uhe-metric small{display:block;color:var(--muted);font-size:.58rem;text-transform:uppercase}
.uhe-metric b{display:block;margin-top:4px;color:var(--navy-900);font-size:.7rem}
.fch-row{margin-top:13px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.fch-cell{padding:16px;border:1px solid var(--line);border-radius:14px;background:#f7f9f7}
.fch-cell small{display:block;color:var(--muted);font-size:.63rem;font-weight:700;text-transform:uppercase}
.fch-cell b{display:block;margin-top:7px;color:var(--navy-900);font-family:var(--font-ui);font-size:1.03rem;font-weight:400}
.basin-details,.shadow-details,.model-audit{margin-top:12px}
.guardrail,.shadow-guardrail,.model-audit-note{
  display:block;
  margin:0 16px 16px;
  padding:12px 13px;
  border-radius:11px;
  color:#455f65;
  background:#eaf1ee;
}
.score,.model-state{
  display:inline-flex;
  padding:4px 7px;
  border-radius:999px;
  color:var(--green);
  background:var(--green-soft);
  font-size:.62rem;
  font-weight:700;
}
.score.info,.model-state.info{color:#315f75;background:#e3f0f4}
.model-state.queue{color:#765919;background:#f3ead3}
.flow-direct{color:#24674e!important;font-weight:700}
.flow-shadow{color:#8b6510!important;font-weight:700}
.flow-waiting{color:#6d7274!important}
.shadow-flow{margin:0 0 14px;padding:14px;border:1px solid #dfd5b8;border-radius:15px;background:#fbf7ed}
.shadow-flow-head{display:flex;gap:12px;align-items:end;justify-content:space-between;margin-bottom:10px}
.shadow-flow-head h3{margin:0;color:var(--navy-900);font-family:var(--font-ui);font-size:1.12rem;font-weight:400}
.shadow-flow-head p{max-width:720px;margin:0;color:var(--muted);font-size:.68rem;line-height:1.45;text-align:right}
.shadow-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.shadow-flow-card{min-width:0;padding:12px;border:1px solid #e5dcc4;border-radius:12px;background:#fff}
.shadow-flow-card small{display:block;color:#8b6510;font-size:.55rem;font-weight:700;line-height:1.35;text-transform:uppercase}
.shadow-flow-card h4{margin:6px 0 0;color:var(--navy-900);font-family:var(--font-ui);font-size:1rem;font-weight:400}
.shadow-flow-card b{display:block;margin-top:7px;color:var(--navy-950);font-family:var(--font-ui);font-size:1.35rem;font-weight:400}
.shadow-flow-card span{display:block;margin-top:5px;color:var(--muted);font-size:.62rem;line-height:1.4}
.shadow-flow-card.waiting{background:#f7f5ef}
.shadow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.shadow-card{
  min-width:0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:white;
}
.shadow-card small{display:block;color:#8b6510;font-size:.58rem;font-weight:700;text-transform:uppercase}
.shadow-card h3{margin:7px 0 0;color:var(--navy-900);font-family:var(--font-ui);font-size:1.1rem;font-weight:400}
.shadow-card b{display:block;margin-top:8px;color:var(--navy-950);font-family:var(--font-ui);font-size:1.8rem;font-weight:400}
.shadow-card time,.shadow-card span{display:block;margin-top:6px;color:var(--muted);font-size:.67rem;line-height:1.45}
.shadow-confidence{color:#7c5b12!important;font-weight:700}
.model-audit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.model-audit-card{padding:13px;border:1px solid var(--line);border-radius:12px;background:white}
.model-audit-card small{display:block;color:var(--muted);font-size:.58rem;text-transform:uppercase}
.model-audit-card b{display:block;margin-top:6px;color:var(--navy-900);font-family:var(--font-ui);font-size:1.15rem;font-weight:400}
.model-audit-card span{display:block;margin-top:4px;color:var(--muted);font-size:.64rem;line-height:1.4}

/* Atendimento e rodapé */
.commercial{
  padding:28px 30px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  background:
    radial-gradient(circle at 100% 0,rgba(105,230,91,.16),transparent 18rem),
    linear-gradient(135deg,#fff,#edf8f1);
}
.commercial h2{margin:7px 0 0;color:var(--navy-900);font-family:var(--font-ui);font-size:1.7rem;font-weight:400}
.commercial p:not(.section-label){margin:8px 0 0;color:var(--muted);font-size:.8rem}
.whatsapp-inline{justify-self:end}
.whatsapp{
  min-height:50px;
  padding:13px 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:0;
  border-radius:14px;
  color:white;
  background:linear-gradient(135deg,#177b53,#0e5d40);
  box-shadow:0 13px 30px rgba(16,100,68,.22);
  font-size:.82rem;
  font-weight:700;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease;
}
.whatsapp:before{
  content:"WA";
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.32);
  border-radius:50%;
  font-size:.55rem;
}
.whatsapp:hover{transform:translateY(-2px);box-shadow:0 17px 38px rgba(16,100,68,.28)}
.whatsapp-floating{
  position:fixed;
  z-index:20;
  right:22px;
  bottom:max(20px,env(safe-area-inset-bottom));
  box-shadow:0 14px 34px rgba(16,100,68,.24);
}
.footer{
  margin-top:24px;
  padding:25px 4px 10px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:25px;
  align-items:center;
  border-top:1px solid #c6d4cf;
  color:#65797d;
  font-size:.69rem;
  line-height:1.65;
}
.footer strong{color:var(--navy-900)}
.footer img{width:112px;padding:7px;border-radius:12px;background:white}
.footer-link{display:inline-block;margin-top:6px;color:var(--river-700);font-weight:700;text-underline-offset:3px}
.copyright{display:inline-block;margin-top:5px}

/* Memória do rio */
.extreme-history{background:linear-gradient(145deg,var(--paper),#f3f7f5)}
.extreme-history-list{display:grid;gap:9px;margin-top:20px}
.extreme-history-event{
  padding:13px 15px;
  display:grid;
  grid-template-columns:165px 1fr auto;
  align-items:center;
  gap:16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:white;
}
.extreme-history-event time{color:var(--muted);font-size:.68rem;font-weight:700}
.extreme-history-event span{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--clay),var(--red))}
.extreme-history-event strong{color:#892f31;font-family:var(--font-ui);font-size:1.55rem;font-weight:400}
.extreme-history-note,.extreme-history-empty{margin:12px 0 0;color:var(--muted);font-size:.68rem}

/* Portal público · hierarquia condensada e superfícies mais leves */
body{
  background:linear-gradient(180deg,#e8eeeb 0,#f7f7f3 34rem,#eef2ef 100%);
}
body:before{opacity:.1}
.site-header{min-height:650px}
.header-inner{min-height:650px;padding:22px 0 68px;grid-template-columns:minmax(0,1fr) minmax(260px,360px);column-gap:38px}
.quick-nav{margin-top:15px;background:rgba(4,21,30,.58)}
.desktop-pulse{margin-top:14px;padding:11px 13px;border-radius:15px;box-shadow:0 10px 24px rgba(0,0,0,.14)}
.masthead-copy{padding:24px 0 8px}
.masthead-copy h1{margin-top:11px;font-size:clamp(3.8rem,6.4vw,5.9rem);line-height:.88}
.masthead-copy p{margin-top:17px;font-size:clamp(1.08rem,1.65vw,1.42rem)}
.masthead-copy>span{max-width:560px;margin-top:9px;line-height:1.5}
.masthead-wisdom{width:min(100%,380px);margin-bottom:24px;grid-template-columns:78px minmax(0,1fr)}
.wisdom-canoe,.wisdom-canoe img{width:78px;height:78px}
.wisdom-canoe{border-radius:20px}
.wisdom-canoe img{border-radius:16px}
.wisdom-thought{padding:13px 15px;border-radius:19px 19px 19px 7px}
.masthead-wisdom q{font-size:.92rem}
.shell{margin:-38px auto 0}
.shell main{gap:16px}
.freshness{min-height:46px;margin-bottom:12px;padding:10px 15px;box-shadow:none}
.freshness,.public-runtime-badge,.refresh-explain{display:none}
.engine-pill.warn{color:#d8e7ea;background:rgba(159,190,198,.16)}
.kid-dashboard{gap:16px}
.operational-overview{
  display:grid;
  gap:0;
  overflow:hidden;
  border:1px solid rgba(8,38,51,.1);
  border-radius:24px;
  background:rgba(255,253,250,.97);
  box-shadow:0 12px 34px rgba(6,25,35,.07);
}
.operational-overview .kid-decision{min-height:150px;padding:23px 27px;border:0;border-radius:0;box-shadow:none}
.operational-overview .kid-decision{display:none}
.operational-overview .kid-status-icon{width:78px;font-size:2.8rem}
.operational-overview .kid-decision h2{font-size:clamp(2.15rem,4vw,3.75rem)}
.operational-overview .kid-decision p{font-size:.98rem}
.operational-overview .kid-now-grid{padding:14px 18px 0;gap:10px}
.operational-overview .kid-now-card{min-height:112px;padding:16px 18px;gap:15px;border-radius:16px;box-shadow:none}
.operational-overview .kid-card-icon{width:58px;min-width:58px;height:58px;border-radius:16px;font-size:2rem}
.operational-overview .kid-now-card strong{font-size:clamp(2rem,3vw,2.8rem)}
.operational-overview .kid-crossing{padding:18px;border:0;border-radius:0;background:transparent;box-shadow:none}
.operational-overview .kid-section-head{margin-bottom:13px}
.operational-overview .kid-section-head h2{font-size:clamp(1.55rem,2.4vw,2.15rem)}
.operational-overview .kid-service-grid{gap:9px}
.operational-overview .kid-service{min-height:88px;padding:13px 15px;border-radius:14px;background:#f7f9f8}
.operational-overview .kid-service-icon{font-size:1.9rem}
.operational-overview .kid-port-hours{margin-top:11px;padding:12px;border-radius:14px}
.operational-overview .kid-crossing-note{margin-top:11px;font-size:.78rem}
.kid-service.within .kid-service-status{color:#24647a}
.kid-service.within .kid-service-ticker{color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1px rgba(22,116,81,.18)}
.operational-overview .public-commercial{margin:0;padding:20px 22px;border:0;border-top:1px solid var(--line);border-radius:0;background:linear-gradient(135deg,#edf8f2,#f8fbf9);box-shadow:none}
.operational-overview .public-commercial h2{font-size:clamp(1.3rem,2vw,1.8rem)}
.operational-overview .public-commercial p{max-width:680px}
.public-wave-chart{padding:26px;box-shadow:0 12px 34px rgba(6,25,35,.07)}
.public-satellite{padding:0;overflow:hidden;box-shadow:0 12px 34px rgba(6,25,35,.07)}
.public-insight{border:0}
.public-insight>summary::-webkit-details-marker{display:none}
.public-insight-summary{padding:22px 25px;display:flex;align-items:center;gap:15px;cursor:pointer;list-style:none;background:linear-gradient(135deg,#f8fbfa,#eef5f3)}
.public-insight-summary div{min-width:0;display:grid;gap:2px}
.public-insight-summary small{color:var(--river-700);font-size:.67rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.public-insight-summary strong{font-size:clamp(1.35rem,2.3vw,1.95rem);line-height:1.15}
.public-insight-summary div>span{color:var(--muted);font-size:.82rem;line-height:1.45}
.public-insight-icon{width:40px;min-width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:white;background:var(--navy-900);font-size:1.25rem;transition:transform .2s ease}
.public-insight[open] .public-insight-icon{transform:rotate(45deg)}
.public-insight-content{padding:0 26px 26px;border-top:1px solid var(--line)}
.public-insight-content>.section-head{margin-top:24px}
.public-satellite .section-head h2{font-size:clamp(1.55rem,2.4vw,2.15rem)}
.public-satellite .satellite-layout{margin-top:17px}
.river-chart-section .kid-wave{margin:16px 0;padding:14px;grid-template-columns:minmax(180px,.7fr) minmax(0,1.4fr) auto;gap:17px;border:1px solid var(--line);border-radius:17px;background:#f5f8f7;box-shadow:none}
.river-chart-section .kid-river-route{min-height:76px;padding:12px;border-radius:13px}
.river-chart-section .kid-wave-copy h2{font-size:clamp(1.35rem,2vw,1.8rem)}
.river-chart-section .kid-wave-copy p:last-child{margin-top:5px;font-size:.8rem}
.river-chart-section .kid-peak{min-width:170px;padding:10px 14px}
.river-chart-section .kid-peak b{font-size:2.35rem}
.planning-hub{
  display:grid;
  gap:0;
  overflow:hidden;
  border:1px solid rgba(8,38,51,.1);
  border-radius:24px;
  background:rgba(255,253,250,.97);
  box-shadow:0 12px 34px rgba(6,25,35,.07);
}
.planning-hub-head{padding:23px 25px;display:flex;align-items:end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:#fff}
.planning-hub-head h2{margin:4px 0 0;font-size:clamp(1.65rem,2.7vw,2.35rem);line-height:1.08}
.planning-hub-head>p{max-width:470px;margin:0;color:var(--muted);font-size:.88rem;line-height:1.5;text-align:right}
.planning-hub .holiday-calendar-card{padding:23px 25px;border:0;border-radius:0;background:#f6faf8;box-shadow:none}
.planning-hub .holiday-calendar-card:before{width:4px}
.planning-hub .holiday-calendar-head h2{font-size:clamp(1.55rem,2.4vw,2.15rem)}
.planning-hub .holiday-month-list{margin-top:10px;gap:7px}
.planning-hub .holiday-month-item{padding:11px 12px;border-radius:12px;box-shadow:none}
.planning-hub .holiday-calendar-names strong{font-size:.94rem}
.planning-hub .holiday-calendar-note{margin-top:10px}
.planning-hub .kid-next{padding:24px 25px;grid-template-columns:1fr;gap:15px;border:0;border-top:1px solid var(--line);border-radius:0;color:var(--ink);background:transparent;box-shadow:none}
.planning-hub .kid-next .section-label{color:var(--river-700)}
.planning-hub .kid-next-copy{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);align-items:end;gap:20px}
.planning-hub .kid-next-copy p:last-child{margin:0;color:var(--muted);text-align:right}
.planning-hub .future-table-wrap{border-color:var(--line);box-shadow:none}
.planning-hub .future-table-note{color:var(--muted)}
.kid-safety-note{padding:13px 17px;border-radius:15px;box-shadow:none}
.technical-portal{border-radius:20px;box-shadow:none}
.technical-portal>summary{padding:18px 21px}
.technical-summary-icon{width:36px;height:36px;font-size:1.15rem}
.technical-portal>summary strong{font-size:1.16rem}
.technical-stack{gap:16px;padding:0 14px 16px}
.whatsapp-floating{width:54px;min-height:54px;height:54px;padding:0;display:grid;place-items:center;border-radius:18px;font-size:0}
.whatsapp-floating:before{width:30px;height:30px;font-size:.59rem}

/* Tablet */
@media(max-width:1050px){
  .technical-hub-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-header,.header-inner{min-height:660px}
  .header-inner{grid-template-columns:minmax(0,1fr) 320px;column-gap:32px}
  .header-actions{flex:0 1 470px}
  .header-status{min-width:220px}
  .desktop-pulse{grid-template-columns:minmax(220px,1.3fr) repeat(4,minmax(95px,.68fr))}
  .kid-wave{grid-template-columns:1fr 1.25fr}
  .river-chart-section .kid-wave{grid-template-columns:1fr 1.25fr}
  .river-chart-section .kid-peak{grid-column:1/-1;min-width:0;border-top:1px solid var(--line);border-left:0}
  .kid-peak{grid-column:1/-1;border-top:1px solid var(--line);border-left:0}
  .primary-grid{grid-template-columns:1fr}
  .level-panel{min-height:390px}
  .summary-grid{grid-template-columns:1fr 1fr}
  .summary-card:first-child{grid-column:1/-1}
  .forecast{grid-template-columns:repeat(2,minmax(0,1fr))}
  .port-peaks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .model-audit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calculation-layer-list{grid-template-columns:1fr}
  .calculation-layer:not(:last-child):after{content:"↓";right:auto;top:auto;bottom:-20px;left:21px;transform:none}
  .calculation-layer-body>p:not(.calculation-layer-rule){min-height:0}
  .satellite-layout{grid-template-columns:1fr}
  .satellite-network-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sentinel-tourism{grid-template-columns:1fr}
}

/* Mobile first refinements */
@media(max-width:760px){
  html{font-size:17px}
  body{font-size:17px;padding-bottom:86px;background:linear-gradient(180deg,#e4ebe8 0,#f7f6f1 42rem,#edf1ee 100%)}
  body:before{display:none}
  .site-header{min-height:580px}
  .header-visual img{object-position:8% center;filter:saturate(.76) contrast(1.08) brightness(.78)}
  .lighthouse-beacon{
    display:block;
    opacity:.42;
  }
  .lighthouse-mirror-stage{left:-17px;top:-10px;width:34px;height:20px}
  .lighthouse-mirror-rotor{top:1px;transform:scale(.88);transform-origin:50% 50%}
  .lighthouse-lens-glow{left:-4px;top:-4px;width:8px;height:8px}
  .lighthouse-sightline-beam{top:-35px;width:58vw;height:70px;filter:blur(3px);opacity:.28}
  .site-header:before{
    background:
      linear-gradient(180deg,rgba(4,21,30,.68) 0%,rgba(4,21,30,.44) 31%,rgba(4,21,30,.88) 64%,rgba(4,21,30,.99) 100%);
  }
  .site-header:after{left:-40%;bottom:-14%;width:150%;opacity:.8}
  .header-inner{
    width:calc(100% - 32px);
    min-height:580px;
    padding:15px 0 28px;
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .masthead-top{align-items:center;gap:10px;flex-wrap:nowrap}
  .identity{min-width:0;flex:1 1 auto;gap:8px}
  .identity-logo{width:70px;height:52px;border-radius:0}
  .identity-copy strong{font-size:.95rem}
  .identity-copy span{display:none}
  .institution{font-size:.66rem}
  .header-actions{width:auto;flex:0 0 auto;justify-content:flex-end;gap:0}
  .language-switcher{flex:0 0 auto}
  .language-switcher button{min-width:42px;min-height:40px;padding:6px 7px}
  .language-code{display:none}
  .header-status{display:none}
  .desktop-pulse{display:none}
  .quick-nav{
    width:100%;
    margin-top:11px;
    padding:5px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    overflow:visible;
    border-radius:14px;
  }
  .quick-nav a{padding:8px 4px;text-align:center;font-size:.72rem}
  .official-domain{display:none}
  .mobile-pulse{
    width:100%;
    margin-top:12px;
    padding:14px;
    display:grid;
    gap:12px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:18px;
    color:white;
    background:linear-gradient(135deg,rgba(18,41,51,.94),rgba(51,78,87,.88));
    box-shadow:0 16px 34px rgba(0,0,0,.18);
    backdrop-filter:blur(18px);
  }
  .mobile-pulse.go{background:linear-gradient(135deg,rgba(12,92,63,.96),rgba(19,116,80,.88))}
  .mobile-pulse.wait{background:linear-gradient(135deg,rgba(111,78,9,.96),rgba(153,110,17,.88))}
  .mobile-pulse.stop{background:linear-gradient(135deg,rgba(127,28,35,.97),rgba(174,47,57,.90))}
  .mobile-pulse.flood{background:linear-gradient(135deg,rgba(8,15,20,.98),rgba(28,38,44,.94))}
  .mobile-pulse-head{display:grid}
  .mobile-pulse-head small{
    color:rgba(255,255,255,.72);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.10em;
    text-transform:uppercase;
  }
  .mobile-pulse-head strong{margin-top:3px;font-size:1.45rem;line-height:1.05;letter-spacing:-.025em}
  .mobile-pulse-head>span{margin-top:5px;color:rgba(255,255,255,.84);font-size:.85rem;line-height:1.38}
  .mobile-pulse-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .mobile-pulse-metrics>span{min-width:0;padding:9px 8px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.08)}
  .mobile-pulse-metrics>span:nth-child(3){grid-column:1/-1}
  .mobile-pulse-metrics small{display:block;color:rgba(255,255,255,.64);font-size:.61rem;font-weight:700;line-height:1.2;text-transform:uppercase}
  .mobile-pulse-metrics b{display:block;margin-top:4px;font-size:.88rem;line-height:1.2;overflow-wrap:anywhere}
  .mobile-pulse-metrics>span:first-child b{font-size:1.18rem}
  .mobile-pulse-health{width:100%;max-width:100%;padding:7px 9px;border-radius:12px;color:#fff0bd;background:rgba(255,204,94,.16);font-size:.70rem;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
  .mobile-pulse-health.ok{color:#d6ffd0;background:rgba(105,230,91,.16)}
  .mobile-pulse-health.stale{color:#ffe2a1;background:rgba(221,165,61,.18)}
  .masthead-copy{width:100%;max-width:none;margin-top:22px;padding:0 0 12px}
  .masthead-copy small{font-size:.70rem}
  .masthead-copy h1{margin-top:11px;font-size:clamp(3rem,15vw,4.15rem);line-height:.88}
  .masthead-copy p{margin-top:15px;font-size:1.12rem}
  .masthead-copy>span{margin-top:8px;font-size:.88rem;line-height:1.48}
  .masthead-wisdom{
    display:none;
  }
  .shell{width:calc(100% - 32px);margin:-18px auto 0}
  .freshness{display:none}
  .conditional-guidance{padding:17px 16px}
  .conditional-guidance-head{flex-wrap:wrap}
  .conditional-guidance-meta{display:grid}
  .shell main{gap:16px}
  .panel{width:100%;border-radius:20px}
  .kid-dashboard{gap:13px}
  .kid-decision{display:none}
  .kid-now-grid{grid-template-columns:1fr;gap:12px}
  .kid-now-card{min-height:125px;gap:16px;padding:19px;border-radius:21px}
  .kid-card-icon{width:66px;min-width:66px;height:66px;border-radius:19px;font-size:2.25rem}
  .kid-now-card strong{font-size:2.7rem}
  .kid-now-card small,.kid-service small,.kid-peak small{font-size:.78rem}
  .kid-now-card span:last-child,.kid-crossing-note{font-size:.92rem}
  .section-label{font-size:.74rem}
  .kid-crossing{padding:21px 18px;border-radius:22px}
  .kid-service-grid{grid-template-columns:1fr;gap:9px}
  .kid-service{min-height:82px;padding:13px 15px}
  .kid-service-icon{font-size:2rem}
  .kid-service-status{font-size:1.08rem}
  .kid-port-hours{grid-template-columns:1fr;padding:12px}
  .kid-port-hours-rules{grid-template-columns:1fr}
  .operational-overview,.planning-hub{border-radius:18px}
  .operational-overview .kid-now-grid{padding:11px 12px 0}
  .operational-overview .kid-now-card{min-height:104px;padding:14px}
  .operational-overview .kid-crossing{padding:15px 12px}
  .operational-overview .kid-service{min-height:0;padding:13px}
  .public-wave-chart{padding:21px 18px}
  .public-satellite{padding:21px 18px}
  .river-chart-section .kid-wave{grid-template-columns:1fr;padding:12px}
  .river-chart-section .kid-river-route{min-height:68px}
  .river-chart-section .kid-peak{grid-column:auto;min-width:0;padding:12px 0 0}
  .holiday-calendar-card{padding:21px 18px}
  .holiday-calendar-head{align-items:flex-start;flex-direction:column;gap:12px}
  .holiday-calendar-head>span{white-space:normal}
  .holiday-calendar-intro{font-size:.86rem}
  .holiday-month-toolbar{grid-template-columns:38px minmax(0,1fr) 38px}
  .holiday-month-toolbar .holiday-current-month{grid-column:1/-1;justify-self:center}
  .holiday-month-toolbar strong{font-size:1.18rem}
  .holiday-weekdays,.holiday-calendar-grid{gap:3px}
  .holiday-weekdays span{padding-inline:1px;font-size:.56rem;letter-spacing:.02em}
  .holiday-calendar-blank,.holiday-calendar-day{min-height:46px;border-radius:8px}
  .holiday-calendar-day{padding:6px}
  .holiday-calendar-day strong{font-size:.8rem}
  .holiday-calendar-marks{gap:3px}
  .holiday-calendar-marks i{width:6px;height:6px}
  .holiday-calendar-legend{gap:8px 13px}
  .holiday-month-list{gap:8px;margin-top:10px}
  .holiday-month-item{padding:12px;grid-template-columns:1fr;gap:7px}
  .holiday-month-item>time{font-size:.74rem}
  .holiday-calendar-names strong{font-size:1.03rem}
  .holiday-month-item em{justify-self:start}
  .holiday-calendar-note{font-size:.76rem}
  .planning-hub .holiday-calendar-card{padding:18px 16px}
  .planning-hub-head{padding:18px 16px;align-items:flex-start;flex-direction:column;gap:8px}
  .planning-hub-head>p{text-align:left}
  .planning-hub .kid-next{padding:19px 16px}
  .planning-hub .kid-next-copy{grid-template-columns:1fr;gap:7px}
  .planning-hub .kid-next-copy p:last-child{text-align:left}
  .kid-next{grid-template-columns:1fr;gap:18px;padding:22px 18px;border-radius:22px}
  .future-swipe-hint{margin:1px 0 -5px;display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--river-700);font-size:.72rem;font-weight:700;line-height:1.2}
  .future-swipe-hint span{width:30px;height:30px;display:grid;place-items:center;border:1px solid #b9d8ce;border-radius:999px;color:#fff;background:var(--river-700);font-size:1rem;box-shadow:0 5px 13px rgba(19,101,78,.16)}
  .future-swipe-hint strong{font:inherit}
  .future-table{min-width:700px;font-size:.76rem}
  .future-table th{padding:10px 11px}
  .future-table td{padding:11px}
  .future-table td:first-child{position:sticky;left:0;z-index:1;background:white;box-shadow:7px 0 12px rgba(6,25,35,.04)}
  .future-table-note{font-size:.74rem}
  .kid-wave{grid-template-columns:1fr;gap:15px;padding:20px 18px;border-radius:22px}
  .kid-river-route{min-height:90px}
  .kid-peak{grid-column:auto;min-width:0;padding:16px 0 0;border-top:1px solid var(--line);border-left:0}
  .kid-peak b{font-size:2.7rem}
  .kid-safety-note{align-items:flex-start;padding:15px 16px}
  .technical-portal{border-radius:22px}
  .technical-portal.unified-technical-portal>summary{min-height:0;padding:21px 18px;align-items:flex-start}
  .technical-portal.unified-technical-portal>summary .technical-summary-icon{width:38px;height:38px;flex-basis:38px;box-shadow:0 0 0 5px rgba(105,230,91,.12)}
  .technical-portal.unified-technical-portal>summary strong{font-size:1.45rem}
  .technical-portal.unified-technical-portal>summary div>span{font-size:.8rem}
  .technical-hub-nav{grid-template-columns:1fr;padding:0 14px}
  .technical-hub-nav a{padding:14px}
  .unified-satellite-section{padding:20px 16px}
  .public-insight-summary{padding:18px 16px;align-items:flex-start}
  .public-insight-summary div>span{font-size:.76rem}
  .public-insight-content{padding:0 16px 18px}
  .technical-portal>summary{padding:18px}
  .technical-portal>summary strong{font-size:1.16rem}
  .technical-stack{gap:16px;padding:0 0 14px;border-top:1px solid var(--line);background:var(--canvas)}
  .technical-stack>:first-child{margin-top:14px}
  .primary-grid{gap:14px}
  .level-panel{min-height:395px;padding:25px 21px}
  .level-top{gap:12px}
  .reading{max-width:none;text-align:left;font-size:.78rem}
  .level-main{margin-top:33px;gap:10px}
  .level-number{font-size:clamp(5.25rem,26vw,7rem)}
  .level-unit{margin-bottom:6px;font-size:.86rem}
  .trend{margin-top:34px;padding:12px 13px}
  .trend-mark{width:43px;height:43px;flex-basis:43px}
  .trend b{font-size:1rem}
  .trend span:not(.trend-mark){font-size:.82rem}
  .source-note{font-size:.76rem}
  .operation-panel{padding:24px 20px}
  .operation-heading{align-items:flex-start;flex-wrap:wrap}
  .operation-heading h2{font-size:2rem}
  .port-live{max-width:100%;font-size:.66rem}
  .hours{padding:15px 14px}
  .hours strong{font-size:1.05rem}
  .hours-row{grid-template-columns:1fr;gap:2px;font-size:.8rem}
  .operation-item{align-items:flex-start;flex-wrap:wrap}
  .operation-item small{font-size:.72rem}
  .operation-item b{font-size:.84rem}
  .status{max-width:100%;font-size:.68rem}
  .summary-grid{grid-template-columns:1fr;gap:12px}
  .summary-card:first-child{grid-column:auto}
  .summary-card{min-height:0;padding:21px 19px}
  .summary-card h3{font-size:1.52rem}
  .content-section{padding:26px 19px}
  .section-head,.river-chart-head{display:block}
  .section-head h2,.river-chart-head h2{font-size:2.2rem}
  .section-head>p{margin-top:12px;max-width:none;font-size:.82rem;text-align:left}
  .public-wave-chart .river-chart-head>p{margin-top:10px;max-width:none;font-size:.92rem;text-align:left}
  .rise-strength{margin-top:16px;padding:14px;border-radius:16px}
  .rise-strength-head{align-items:flex-start;flex-direction:column;gap:8px}
  .rise-strength-scale{gap:3px}
  .rise-strength-scale>span{padding:8px 2px 7px}
  .rise-strength-scale small{font-size:.48rem}
  .rise-strength>p{font-size:.78rem}
  .upstream-wave-bubble{grid-template-columns:42px minmax(0,1fr);padding:15px}
  .upstream-wave-icon{width:42px;height:42px}
  .wave-crisis-timing{grid-template-columns:1fr}
  .calculation-pipeline{margin-top:17px;padding:16px 13px;border-radius:17px}
  .calculation-pipeline-head{grid-template-columns:1fr;gap:8px}
  .calculation-layer-list{margin-top:15px}
  .calculation-layer{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:14px 11px}
  .calculation-layer-number{width:33px;height:33px;border-radius:11px}
  .calculation-layer:not(:last-child):after{left:14px}
  .calculation-layer-title{display:grid}
  .calculation-layer-status{justify-self:start}
  .calculation-formula{grid-template-columns:1fr;gap:7px;padding:13px}
  .calculation-formula>span{transform:rotate(90deg)}
  .satellite-layout{grid-template-columns:1fr;gap:16px;margin-top:17px}
  .satellite-frame{border-radius:16px}
  .satellite-location{left:9px;bottom:9px;max-width:calc(100% - 18px);font-size:.57rem}
  .satellite-porto-pin b{left:14px;top:-6px;padding:5px 7px;font-size:.54rem}
  .satellite-frame-time{left:9px;top:9px;max-width:calc(100% - 163px);padding:6px 8px;font-size:.54rem}
  .satellite-carousel-controls{right:8px;top:8px;gap:3px;padding:4px}
  .satellite-carousel-controls button{width:27px;height:27px;font-size:.96rem}
  .satellite-carousel-controls span{min-width:29px;padding:0 3px;font-size:.52rem}
  .satellite-figure figcaption{display:grid;font-size:.68rem}
  .satellite-figure figcaption a{text-align:left}
  .satellite-category-head{padding:15px}
  .satellite-metrics{grid-template-columns:1fr 1fr;gap:7px}
  .satellite-metrics>span{padding:11px}
  .satellite-explanation{padding:15px}
  .satellite-network{padding:15px}
  .satellite-network-copy{grid-template-columns:1fr}
  .satellite-network-copy h3,.satellite-network-copy>p:last-child{grid-column:1;grid-row:auto}
  .satellite-network-list{grid-template-columns:1fr 1fr;gap:7px}
  .sentinel-tourism{grid-template-columns:1fr;gap:16px;padding:15px;border-radius:17px}
  .sentinel-tourism-link{border-radius:14px}
  .sentinel-tourism-open{display:none}
  .sentinel1-compass{left:7px;top:7px;width:50px;height:50px;font-size:.43rem}
  .sentinel1-compass:before{height:31px}.sentinel1-compass:after{width:31px}.sentinel1-compass i{border-left-width:4px;border-right-width:4px;border-bottom-width:17px}
  .sentinel1-coordinate-crosshair b{padding:3px 4px;font-size:.42rem}
  .sentinel1-coordinate-crosshair .latitude-label{left:5px}
  .sentinel1-coordinate-crosshair .longitude-label{top:6px}
  .sentinel1-boundary-overlay .international-boundary path{stroke-width:2.6}
  .sentinel1-territory-label{min-width:92px;padding:5px 6px}
  .sentinel1-territory-label b{font-size:.49rem}.sentinel1-territory-label small{font-size:.38rem}
  .sentinel1-boundary-legend{left:6px;right:6px;bottom:6px;gap:6px 9px;padding:5px 6px;border-radius:10px;font-size:.38rem}
  .sentinel1-boundary-legend i{width:17px;flex-basis:17px}
  .sentinel1-porto-pin{min-width:112px;padding:6px 8px 7px}
  .sentinel1-porto-pin b{font-size:.66rem}
  .sentinel1-porto-pin small{font-size:.48rem}
  .sentinel-tourism-head{display:grid}
  .sentinel1-badge{justify-self:start}
  .sentinel-tourism-metrics{grid-template-columns:1fr 1fr}
  .river-chart-shell{min-height:385px;padding:7px;border-radius:16px}
  .river-chart-shell canvas{min-height:370px}
  .chart-foot{display:block}
  .chart-caption{margin-top:12px;max-width:none;text-align:left}
  .chart-legend{font-size:.68rem}
  .lead-statistics,.forecast,.reopening-grid,.peak-grid,.forcing-components,
  .port-peaks,.fch-row,.shadow-flow-grid,.shadow-grid,.model-audit-grid{grid-template-columns:1fr}
  .shadow-flow-head{display:block}
  .shadow-flow-head p{margin-top:6px;text-align:left}
  .lead-stat-card{padding:14px}
  .forecast-item{padding:20px 17px}
  .forecast-item>b{font-size:2.25rem}
  .reopening-card{padding:18px}
  .reopening-card b{font-size:1.45rem}
  .peak-value{min-height:260px;padding:24px}
  .peak-value b{font-size:5rem}
  .peak-analysis{padding:20px 17px}
  .wave-strength-heading{flex-wrap:wrap}
  .wave-strength-heading>span{white-space:normal}
  .wave-strength-track{gap:3px}
  .wave-strength-track>span{padding:8px 2px 7px}
  .wave-strength-track small{font-size:.49rem}
  .port-peak{min-height:0;padding:20px}
  .port-peak-central{font-size:2.85rem}
  .river-sequence{display:block;padding:13px}
  .river-sequence ol{margin-top:8px;flex-wrap:wrap;white-space:normal}
  .river-sequence li{font-size:.75rem}
  .rainfall-legend{padding:11px 12px;gap:8px 12px}
  .rainfall-legend strong{flex:1 1 100%}
  .telemetry-wrap{overflow:visible;border:0;background:transparent}
  .telemetry{display:block;min-width:0}
  .telemetry thead{display:none}
  .telemetry tbody{display:grid;gap:11px}
  .telemetry tr{display:grid;padding:7px 14px;border:1px solid var(--line);border-radius:16px;background:#fafcfb}
  .telemetry td{
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    gap:8px;
    padding:11px 0;
    border-top:1px solid var(--line);
    font-size:.82rem;
    overflow-wrap:anywhere;
  }
  .telemetry td:first-child{border-top:0}
  .telemetry td:before{content:attr(data-label);color:var(--muted);font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  .telemetry .sub{font-size:.72rem}
  .movement-cell{min-width:0}
  .uhe-metrics{grid-template-columns:1fr}
  .uhe-metric b{font-size:.78rem}
  .relevance-wrap{overflow:auto}
  .shadow-card b{font-size:1.9rem}
  .commercial{padding:23px 20px;grid-template-columns:1fr}
  .whatsapp-inline{width:100%;justify-self:stretch}
  .footer{padding:22px 2px 6px;grid-template-columns:1fr;font-size:.75rem}
  .footer img{width:102px}
  .whatsapp-floating{
    left:auto;
    right:6px;
    bottom:max(12px,env(safe-area-inset-bottom));
    width:52px;
    min-height:52px;
    height:52px;
    padding:0;
    border-radius:16px 0 0 16px;
    font-size:0;
    text-align:center;
    opacity:.94;
  }
  .whatsapp-floating:before{width:30px;height:30px;font-size:.59rem}
  .extreme-history-event{grid-template-columns:1fr auto;gap:9px}
  .extreme-history-event span{grid-column:1/-1;grid-row:2}
  .extreme-history-event time{font-size:.72rem}
  .extreme-history-event strong{font-size:1.45rem}
}

@media(max-width:380px){
  .header-inner,.shell{width:calc(100% - 24px)}
  .site-header,.header-inner{min-height:675px}
  .identity-logo{width:62px}
  .language-switcher button{min-width:40px}
  .masthead-copy h1{font-size:3rem}
  .mobile-pulse{padding:12px}
  .mobile-pulse-head strong{font-size:1.3rem}
  .mobile-pulse-metrics small{font-size:.56rem}
  .mobile-pulse-metrics b{font-size:.79rem}
  .mobile-pulse-metrics>span:first-child b{font-size:1.05rem}
  .level-panel,.operation-panel,.content-section,.summary-card{padding-left:17px;padding-right:17px}
  .level-number{font-size:5.25rem}
  .telemetry td{grid-template-columns:1fr;gap:4px}
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .lighthouse-mirror-rotor{transform:rotateY(24deg)}
  .lighthouse-sightline-beam{opacity:.22;transform:perspective(900px) rotateY(28deg)}
  .masthead-wisdom{opacity:1;transform:none}
  .wisdom-thought{opacity:1;transform:none}
}
.experimental-test-flag{
  display:block;
  width:max-content;
  max-width:100%;
  margin-top:7px;
  padding:5px 8px;
  border:1px solid #8a620d;
  border-radius:4px;
  background:#fff4c7;
  color:#6d4b00;
  font-size:8px;
  font-weight:700;
  letter-spacing:.06em;
  line-height:1.25;
  text-transform:uppercase;
}
.experimental-force-banner{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:22px;
  margin:18px 0;
  padding:24px 26px;
  border:1px solid #d6bb72;
  border-left:7px solid #8a620d;
  border-radius:9px;
  background:linear-gradient(135deg,#fffaf0,#f4ead0);
  box-shadow:0 10px 28px rgba(74,52,8,.08);
  color:#263943;
}
.experimental-force-eyebrow{display:inline-flex;padding:5px 8px;border-radius:4px;background:#72500b;color:#fff;font-size:9px;font-weight:700;letter-spacing:.08em}
.experimental-force-copy h2{margin:10px 0 6px;color:#173444;font-size:24px;line-height:1.08;letter-spacing:-.025em}
.experimental-force-copy p{margin:0;color:#526771;font-size:12px;line-height:1.55}
.experimental-force-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.experimental-force-metrics span{padding:11px 12px;border:1px solid rgba(114,80,11,.2);border-radius:6px;background:rgba(255,255,255,.72)}
.experimental-force-metrics small{display:block;color:#75662f;font-size:8px;font-weight:700;text-transform:uppercase}
.experimental-force-metrics b{display:block;margin-top:5px;color:#173444;font-size:17px}
.experimental-force-guard{grid-column:1/-1;padding-top:13px;border-top:1px solid rgba(114,80,11,.22);color:#674a0e;font-size:10px;line-height:1.45}
@media(max-width:760px){.experimental-force-banner{grid-template-columns:1fr;padding:20px}.experimental-force-copy h2{font-size:21px}.experimental-force-guard{grid-column:auto}}

.satellite-methodology{margin:20px 0;padding:22px;border:1px solid rgba(20,121,135,.25);border-radius:18px;background:linear-gradient(135deg,#f3fbfa,#fffdfa);box-shadow:var(--shadow-soft)}
.satellite-methodology-eyebrow{color:var(--river-700);font-size:.68rem;font-weight:700;letter-spacing:.13em}
.satellite-methodology h3{margin:6px 0 5px;font-family:var(--font-ui);font-size:1.45rem}.satellite-methodology p{margin:0;color:var(--muted)}
.satellite-methodology-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.satellite-methodology-grid article{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:12px;background:white}.satellite-methodology-grid strong{color:var(--navy-900)}.satellite-methodology-grid span{color:var(--muted);font-size:.78rem}.satellite-methodology-guard{display:block;padding-top:12px;border-top:1px solid var(--line);font-size:.78rem}
@media(max-width:820px){.satellite-methodology-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.satellite-methodology-grid{grid-template-columns:1fr}}

.satellite-methodology-grid article small{display:block;color:var(--muted);font-size:.68rem;line-height:1.35}.satellite-methodology-grid article small b{color:var(--ink)}

.satellite-gradient-formula{margin:0 0 12px!important;padding:10px 12px;border-radius:10px;background:rgba(20,121,135,.08);font-size:.75rem}.satellite-gradient-formula b{color:var(--river-700)}

.forecast-integrity-banner{margin:16px 0;padding:18px 20px;border:2px solid #b86a00;border-radius:14px;background:#fff8e8;color:#634100;line-height:1.55}.forecast-integrity-banner strong{font-size:.85rem;letter-spacing:.035em}.forecast-integrity-banner p{margin:8px 0 0}.forecast-integrity-banner[hidden]{display:none}

/* Source-backed event chain; existing palette and layout are retained. */
.event-chain-section .chain-checks{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.chain-check{padding:.45rem .7rem;border:1px solid #ccd4df;border-radius:8px;font-size:.86rem}.chain-check-review{border-color:#bd8426;background:#fff3d9;color:#573b09}.chain-check-pass{background:#f2f5f8;color:#263548}.chain-advisory{line-height:1.65;font-weight:600}.event-chain-table-wrap{overflow:auto}.event-chain-table{width:100%;border-collapse:collapse;min-width:570px;margin:1rem 0}.event-chain-table th,.event-chain-table td{text-align:left;padding:.75rem;border-bottom:1px solid #dce2e9;vertical-align:top;line-height:1.5;font-size:.86rem}.event-chain-section li{line-height:1.65;margin:.3rem 0}.chain-authorities{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1rem}.chain-authorities a{text-decoration:underline}

/* Farol Porto Mauá · public identity, September 2026.
   This file only changes presentation. Safety states retain their own colors. */
:root{--paper:#fff;--canvas:#f4f6f8;--ink:#172c3b;--muted:#516574;--line:#dce3e8;--shadow:none;--shadow-soft:none;--radius-xl:14px;--radius-lg:12px;--radius-md:8px;--page:1160px}
html{font-size:16px;scroll-padding-top:20px}
body.farol-rebrand{background:var(--canvas);padding-bottom:0;line-height:1.55}
.farol-rebrand:before{display:none}
.farol-rebrand h1,.farol-rebrand h2,.farol-rebrand h3,.farol-rebrand h4{font-family:var(--font-ui);letter-spacing:-.035em}
.farol-rebrand:not(.classic-cover) .site-header{min-height:0;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);overflow:visible;box-shadow:none}
.farol-rebrand:not(.classic-cover) .site-header:before,.farol-rebrand:not(.classic-cover) .site-header:after{display:none}
.farol-rebrand:not(.classic-cover) .header-inner{display:block;min-height:0;padding:24px 0 0;width:min(var(--page),calc(100% - 48px))}
.farol-rebrand:not(.classic-cover) .masthead-top{display:flex;align-items:center;gap:28px;padding:0;margin:0;border:0}
.farol-rebrand:not(.classic-cover) .identity{padding:0;background:none;border:0;box-shadow:none;min-width:0;text-decoration:none;flex:1}
.brand-name h1{font-size:28px;font-weight:700;line-height:1.1;margin:0;color:#102f44}
.brand-name h1 span{font-weight:450}
.brand-name p{margin:6px 0 0;font-size:13px;color:var(--muted)}
.brand-endorsement{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}
.brand-endorsement img{width:76px;height:52px;object-fit:contain}
.farol-rebrand:not(.classic-cover) .header-actions{display:block;min-width:0;margin:0}
.farol-rebrand:not(.classic-cover) .language-switcher{background:#f4f6f8;border:1px solid var(--line);border-radius:6px;padding:3px;gap:2px}
.farol-rebrand:not(.classic-cover) .language-switcher button{min-width:39px;min-height:36px;background:none;color:var(--muted);box-shadow:none;border:0;border-radius:4px;padding:6px;font-size:12px}
.farol-rebrand:not(.classic-cover) .language-switcher button[aria-pressed="true"]{background:#183b51;color:white}
.language-flag{display:none!important}.farol-rebrand .language-code{display:inline}
.farol-rebrand:not(.classic-cover) .quick-nav{display:flex;align-items:center;gap:28px;margin:22px 0 0;padding:12px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none}
.farol-rebrand:not(.classic-cover) .quick-nav a{padding:4px 0;background:none;border:0;border-radius:0;color:#29485a;font-size:14px;font-weight:650;white-space:nowrap}
.farol-rebrand:not(.classic-cover) .quick-nav a:hover{color:#0d6470;text-decoration:underline;text-underline-offset:7px}
.farol-rebrand:not(.classic-cover) .official-domain{margin-left:auto;color:#61717d;font-size:11px;letter-spacing:.08em}
#desktopPulse,#mobilePulse,.whatsapp-floating,.future-swipe-hint{display:none!important}
.farol-rebrand .shell{width:min(var(--page),calc(100% - 48px));margin:24px auto 0}
.farol-rebrand .freshness{margin:0 0 16px;border-radius:6px;padding:12px 16px;font-size:14px;box-shadow:none}
.farol-rebrand .kid-dashboard{display:grid;gap:28px}
.farol-rebrand .panel{border-radius:12px;box-shadow:none}
.farol-rebrand .operational-overview{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:none}
.farol-rebrand .operational-overview .kid-decision{display:flex;align-items:center;min-height:0;padding:24px 28px;gap:16px;background:#173b51;color:#fff;border:0;border-radius:0}
.farol-rebrand .kid-decision.go{background:#164b40}.farol-rebrand .kid-decision.flood{background:#131b21}.farol-rebrand .kid-decision.checking{background:#5e4b27}
.farol-rebrand .kid-status-icon{display:none}
.farol-rebrand .kid-decision h2{font-size:clamp(24px,3vw,34px);line-height:1.2;margin:3px 0 0;letter-spacing:-.03em}
.farol-rebrand .kid-decision p{font-size:14px;margin:7px 0 0;color:#edf3f6;line-height:1.5}
.farol-rebrand .kid-decision .section-label{font-size:12px;color:#d7e5ee;margin:0}
.farol-rebrand .kid-freshness{background:transparent;border:1px solid #ffffff60;color:white;box-shadow:none;font-size:12px;padding:5px 9px;white-space:normal;border-radius:4px;margin-left:auto}
.farol-rebrand .operational-overview .kid-now-grid{padding:26px 28px;gap:28px;border-bottom:1px solid var(--line)}
.farol-rebrand .operational-overview .kid-now-card{padding:0;background:none;border:0;border-radius:0;min-height:0;gap:0;box-shadow:none;align-items:start}
.farol-rebrand .kid-now-card .kid-card-icon{display:none}
.farol-rebrand .kid-now-card small{font-size:14px;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0}
.farol-rebrand .kid-now-card strong{font-size:42px;line-height:1.15;color:#173b51;margin:5px 0;letter-spacing:-.04em}
.farol-rebrand .kid-now-card.movement strong{font-size:25px;line-height:1.25;margin-top:9px}
.farol-rebrand .kid-now-card span{font-size:13px;font-weight:400;color:var(--muted);line-height:1.5}
.public-flag-label{display:inline-flex;align-items:center;gap:7px;font-size:12px!important;line-height:1.5;letter-spacing:.035em;text-transform:uppercase;margin:5px 0 2px;color:var(--ink)}
.public-flag-label:before{content:"";width:9px;height:9px;background:var(--public-flag);border:1px solid #0002;border-radius:2px}
.farol-rebrand .operational-overview .kid-crossing{padding:22px 28px}
.farol-rebrand .kid-section-head h2{font-size:20px!important;margin:0;line-height:1.3}.kid-section-head .section-label{display:none}
.farol-rebrand .kid-service-grid{gap:12px;margin:14px 0}
.farol-rebrand .operational-overview .kid-service{padding:12px 14px;min-height:0;background:#f6f8fa;border:1px solid var(--line);border-radius:6px;gap:10px;box-shadow:none}
.farol-rebrand .kid-service-icon,.farol-rebrand .kid-service-ticker{display:none}
.farol-rebrand .kid-service small{font-size:13px;color:var(--muted);letter-spacing:0;text-transform:none}
.farol-rebrand .kid-service b{font-size:15px;line-height:1.4;color:var(--ink)}
.farol-rebrand .kid-service.no{border-color:#ad3337;background:#fdebed}
.farol-rebrand .kid-service.attention{border-color:#d6a548;background:#fff2cd}
.farol-rebrand .kid-port-hours{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:12px 0 0;padding:12px 0!important;border:0;border-radius:0;background:transparent;box-shadow:none}
.kid-port-hours-icon{display:none}.farol-rebrand .kid-port-hours-heading strong{font-size:13px}.farol-rebrand .kid-port-hours-rules{display:flex;flex:1;gap:16px}.farol-rebrand .kid-port-hours-rule{display:block;padding:0;border:0;background:transparent;min-width:0;box-shadow:none}.farol-rebrand .kid-port-hours-rule:not(.today){display:none}.farol-rebrand .kid-port-hours-rule small{display:inline;font-size:13px;margin-right:10px;letter-spacing:0}.farol-rebrand .kid-port-hours-rule b{display:inline;font-size:15px}.farol-rebrand .kid-port-hours-rule em{display:none}
.farol-rebrand .kid-crossing-note{font-size:13px!important;font-weight:400;margin:8px 0 0;line-height:1.5}
.farol-rebrand .river-chart-section{padding:26px 28px;background:white;border:1px solid var(--line)}
.farol-rebrand .river-chart-head{gap:24px}.farol-rebrand .river-chart-head h2{font-size:26px;line-height:1.2}.farol-rebrand .river-chart-head p{font-size:13px;max-width:280px}.farol-rebrand .section-label{font-size:12px;letter-spacing:.07em}
.farol-rebrand .kid-wave{grid-template-columns:1fr auto;gap:20px;padding:18px 0;margin-top:18px;background:none;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
.kid-river-route{display:none}.farol-rebrand .kid-wave h2{font-size:20px}.farol-rebrand .kid-wave-copy p{font-size:13px;margin:5px 0 0}.farol-rebrand .kid-peak{background:none;border:0;padding:0;border-radius:0;min-width:0;text-align:right}.farol-rebrand .kid-peak b{font-size:29px}.farol-rebrand .kid-peak small,.farol-rebrand .kid-peak span{font-size:12px}
.farol-rebrand .chart-axis-note{font-size:12px}.farol-rebrand .chart-legend{font-size:12px;gap:12px}.farol-rebrand .chart-caption{font-size:13px}
.farol-rebrand .forecast-integrity-banner{border-width:1px;border-left-width:4px;border-radius:6px;font-size:14px;padding:16px;line-height:1.5}
.farol-rebrand .experimental-force-banner{display:block;margin:0;padding:0;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:none;color:var(--ink)}
.experimental-force-banner>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:18px 22px;font-size:16px;font-weight:650;list-style:none}
.experimental-force-banner>summary:after,.calendar-disclosure>summary:after{content:"＋";font-size:20px;font-weight:400}.experimental-force-banner[open]>summary:after,.calendar-disclosure[open]>summary:after{content:"−"}
.experimental-force-banner>summary small{margin-left:auto;font-size:11px;font-weight:500;color:#735214}
.experimental-force-content{display:grid;grid-template-columns:1fr;gap:20px;padding:0 22px 22px}.experimental-force-copy h2{font-size:22px}.experimental-force-copy p{font-size:16px;line-height:1.65}.experimental-force-eyebrow{display:none}.experimental-force-metrics{grid-template-columns:repeat(3,1fr)}.experimental-force-metrics small{font-size:12px}.experimental-force-metrics b{font-size:17px}.experimental-force-guard{font-size:13px}
.farol-rebrand .planning-hub{border:0;border-radius:0;background:none;overflow:visible;box-shadow:none;min-width:0;grid-template-columns:minmax(0,1fr)}
.farol-rebrand .planning-hub .kid-next{display:block;padding:0;border:0;background:none;min-width:0}
.farol-rebrand .planning-hub .kid-next-copy{display:block;margin:0 0 14px}
.farol-rebrand .kid-next h2{font-size:28px;margin:4px 0 7px;line-height:1.2}.farol-rebrand .planning-hub .kid-next-copy p:last-child{text-align:left;font-size:15px;margin:0}
.planning-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:start;max-width:100%;padding:2px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#82939f transparent}
.planning-day{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;min-width:0;scroll-snap-align:start}
.planning-day-summary{display:flex;flex-direction:column;gap:12px;padding:12px}
.planning-day-date{display:flex;align-items:baseline;justify-content:space-between;gap:6px;border-bottom:1px solid var(--line);padding-bottom:9px}
.planning-day h3{font-size:14px;margin:0;line-height:1.35;text-transform:capitalize;letter-spacing:0}.planning-date-number{font-size:13px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.planning-label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.planning-day-stage>strong{display:block;font-size:28px;line-height:1.2;letter-spacing:-.02em;white-space:nowrap}.planning-day-stage>.planning-label{min-height:32px;line-height:1.35}.planning-day-status{border-top:1px solid var(--line);padding-top:9px;min-height:42px}.planning-day-status>strong{display:block;font-size:12px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}.planning-confidence{display:block;font-size:12px;color:#5a6670;line-height:1.55;margin-top:5px}
.planning-evidence{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px;min-height:20px}.planning-evidence-tag{display:inline-block;padding:2px 5px;background:#fff5df;color:#77500c;border-radius:3px;font-size:11px;line-height:1.4;font-weight:600}
.planning-day-metrics{display:grid;gap:10px;margin:0}.planning-day-metrics>div{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 6px}.planning-day-metrics dt{font-size:12px;line-height:1.35;color:var(--muted)}.planning-day-metrics dd{margin:0;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.planning-day-metrics .planning-rain{grid-template-columns:1fr}.planning-rain-source{display:block;white-space:normal;font-size:11px;line-height:1.35;color:var(--muted);font-weight:400;margin-top:2px}
.planning-day-detail{border-top:1px solid #e9edf1;padding:0 12px}.planning-day-detail summary{cursor:pointer;color:#36566a;min-height:44px;display:flex;align-items:center;gap:6px;font-size:12px;list-style:none}.planning-day-detail summary:after{content:'+';margin-left:auto;font-size:18px}.planning-day-detail[open] summary:after{content:'−'}.planning-day-detail summary::-webkit-details-marker{display:none}.planning-day-detail p{font-size:12px;line-height:1.5;margin:10px 0 12px;color:var(--muted);overflow-wrap:anywhere}.planning-day-facts{display:grid;gap:10px;margin-top:8px}.planning-day-facts strong{font-size:16px}.planning-day-facts p{font-size:12px;margin:3px 0}
.farol-rebrand .planning-day .model-issue-stamp{padding:8px 10px;font-size:11px;line-height:1.4}
@media(max-width:1100px){.planning-days{grid-template-columns:repeat(7,minmax(158px,1fr));overflow-x:auto;overscroll-behavior-inline:contain}.farol-rebrand .planning-hub .future-swipe-hint{display:flex!important;gap:7px;margin:0 0 8px;padding:0;background:none;border:0;font-size:12px;color:var(--muted)}}
.farol-rebrand .future-table-wrap[hidden]{display:none!important}.farol-rebrand .future-table-note{font-size:13px;font-weight:400;line-height:1.6;margin-top:16px}
.calendar-disclosure{margin-top:20px;background:white;border:1px solid var(--line);border-radius:8px}.calendar-disclosure>summary{padding:18px 22px;display:flex;justify-content:space-between;gap:10px;cursor:pointer;font-size:15px;font-weight:600;list-style:none}
.farol-rebrand .kid-safety-note{margin:0;background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:16px 0;box-shadow:none;font-size:13px;color:var(--muted)}.kid-safety-note>span{display:none}.farol-rebrand .kid-safety-note p{font-size:13px}
.farol-rebrand .technical-portal{margin:8px 0 24px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:none}.farol-rebrand .technical-portal>summary{padding:20px 22px;background:none}.farol-rebrand .technical-portal>summary strong{font-size:21px}.farol-rebrand .technical-portal>summary small{font-size:12px}.farol-rebrand .technical-portal>summary div>span{font-size:13px}.technical-stack{padding:20px}.refresh-metadata{padding:12px;background:#f4f6f8;margin-bottom:16px}.refresh-metadata>summary{cursor:pointer}.farol-rebrand .header-status{margin:10px 0 0;padding:12px;background:white;color:var(--ink);border:1px solid var(--line);border-radius:6px;box-shadow:none;max-width:100%;text-align:left}.farol-rebrand .header-status>*{color:var(--ink);font-size:13px}
.farol-rebrand .commercial{background:#e8eff4;color:#173b51;padding:24px 28px;border:0;box-shadow:none}.farol-rebrand .commercial h2{font-size:23px}.farol-rebrand .commercial p{font-size:14px}.farol-rebrand .whatsapp-inline{background:#173b51;color:#fff;font-size:14px;border-radius:6px;padding:13px 18px;box-shadow:none}.whatsapp-inline:before{display:none}
.farol-rebrand .footer{padding:24px 0;line-height:1.65;font-size:12px;color:#586b79}.footer img{width:84px}
:focus-visible{outline:3px solid #267891!important;outline-offset:4px}
@media(max-width:700px){
 .farol-rebrand:not(.classic-cover) .header-inner,.farol-rebrand .shell{width:calc(100% - 32px)}
 .farol-rebrand:not(.classic-cover) .header-inner{padding-top:19px}.farol-rebrand:not(.classic-cover) .masthead-top{gap:12px;flex-wrap:wrap}.brand-name h1{font-size:23px}.brand-name p{font-size:12px;margin-top:5px}.brand-endorsement{display:none}.farol-rebrand:not(.classic-cover) .language-switcher{padding:2px}.farol-rebrand:not(.classic-cover) .language-switcher button{min-width:31px;min-height:32px;padding:4px;font-size:11px}
 .farol-rebrand:not(.classic-cover) .quick-nav{gap:0;justify-content:space-between;margin-top:18px;padding:12px 0}.farol-rebrand:not(.classic-cover) .quick-nav a{font-size:12px;padding:3px 0}.official-domain{display:none}
 .farol-rebrand .shell{margin-top:16px}.farol-rebrand .kid-dashboard{gap:20px}.farol-rebrand .freshness{font-size:13px;padding:11px 12px}
 .farol-rebrand .operational-overview .kid-decision{padding:20px;display:block}.farol-rebrand .kid-decision h2{font-size:25px}.farol-rebrand .kid-decision p{font-size:13px}.farol-rebrand .kid-freshness{display:inline-block;margin:12px 0 0}
 .farol-rebrand .operational-overview .kid-now-grid{padding:20px;gap:20px;grid-template-columns:1fr 1fr}.farol-rebrand .kid-now-card strong{font-size:34px}.farol-rebrand .kid-now-card.movement strong{font-size:21px}.farol-rebrand .kid-now-card small{font-size:12px}.farol-rebrand .kid-now-card span{font-size:12px}
 .farol-rebrand .operational-overview .kid-crossing{padding:18px 20px}.farol-rebrand .kid-section-head h2{font-size:18px!important}.farol-rebrand .kid-service-grid{grid-template-columns:1fr;gap:6px}.farol-rebrand .kid-service-copy{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%}.farol-rebrand .kid-service b{font-size:13px;text-align:right}.farol-rebrand .operational-overview .kid-service{padding:9px 12px}.farol-rebrand .kid-port-hours{display:block}.farol-rebrand .kid-port-hours-rules{margin-top:4px}
 .farol-rebrand .river-chart-section{padding:20px 16px}.farol-rebrand .river-chart-head{display:block}.farol-rebrand .river-chart-head h2{font-size:23px}.farol-rebrand .river-chart-head>p{display:none}.farol-rebrand .kid-wave{gap:16px;grid-template-columns:1fr 1fr}.farol-rebrand .kid-wave h2{font-size:18px}.farol-rebrand .kid-peak b{font-size:25px}.farol-rebrand .chart-axis-note{font-size:11px}.farol-rebrand .forecast-integrity-banner{padding:12px;font-size:13px}
 .experimental-force-banner>summary{padding:16px;font-size:15px;flex-wrap:wrap}.experimental-force-banner>summary small{order:3;flex-basis:100%;margin:0;font-size:10px}.experimental-force-content{padding:0 16px 18px}.experimental-force-metrics{grid-template-columns:1fr 1fr}
 .farol-rebrand .kid-next h2{font-size:24px}.farol-rebrand .planning-hub .kid-next-copy p:last-child{font-size:13px}.planning-days{grid-template-columns:repeat(7,minmax(158px,44%))}.planning-day-summary{gap:11px}.planning-day-detail p{font-size:13px}
 .calendar-disclosure>summary{padding:16px;font-size:14px}.farol-rebrand .technical-portal>summary{padding:18px 16px}.farol-rebrand .technical-portal>summary strong{font-size:19px}.technical-stack{padding:12px}.farol-rebrand .commercial{padding:22px 20px}.farol-rebrand .commercial h2{font-size:22px}.farol-rebrand .footer{font-size:12px}
}
@media(max-width:380px){.farol-rebrand:not(.classic-cover) .header-inner,.farol-rebrand .shell{width:calc(100% - 24px)}.brand-name h1{font-size:21px}.brand-name p{font-size:11px}.farol-rebrand:not(.classic-cover) .language-switcher button{min-width:27px}.farol-rebrand .kid-now-card strong{font-size:31px}}
/* Safety visibility takes precedence over legacy masthead rules. */
.farol-rebrand #freshness{display:block!important;min-height:0}
.farol-rebrand #freshness:before{display:none}
.farol-rebrand #freshness.stale,.farol-rebrand #freshness.error,.farol-rebrand #freshness.warn{background:#fff5df;color:#65470c;border:1px solid #e0bd75;border-left:4px solid #a4741a}
.farol-rebrand .kid-decision:after{display:none}
.farol-rebrand .kid-now-card>div{min-width:0;width:100%}
.farol-rebrand .public-flag-label{display:flex;letter-spacing:0;font-size:11px!important;gap:6px;white-space:nowrap}
.farol-rebrand .kid-now-card #kidReading{display:block;margin-top:3px;font-size:12px;line-height:1.6}
.farol-rebrand .kid-port-hours-rule b{white-space:nowrap}
.farol-rebrand .refresh-metadata .refresh-explain,.farol-rebrand .refresh-metadata .public-runtime-badge{display:block}
.farol-rebrand:not(.classic-cover) .header-actions{flex:0 0 auto;width:auto}
.farol-rebrand:not(.classic-cover) .language-switcher{box-shadow:none;filter:none}
.farol-rebrand:not(.classic-cover) .official-domain{background:none;border:0;border-radius:0;padding:0;box-shadow:none}
.farol-rebrand .river-chart-section:before,.farol-rebrand .river-chart-section:after{display:none}

/* Capa original restaurada a pedido: mesma arte, lente e feixe animado. */
.classic-cover .site-header{min-height:650px}
.classic-cover .header-inner{min-height:650px}
.classic-cover .masthead-copy h1{font-family:var(--font-ui);letter-spacing:-.065em}
.classic-cover .language-flag{display:inline!important}
.classic-cover .header-actions{flex:0 0 auto}
.classic-cover .cover-flag{display:flex;align-items:center;gap:15px;width:max-content;max-width:100%;margin:0 0 22px;padding:12px 17px 12px 12px;border:1px solid #ffffff40;border-radius:12px;background:rgba(4,21,30,.76);backdrop-filter:blur(12px);color:white}
.classic-cover .cover-flag-symbol{position:relative;display:block;flex:0 0 57px;width:57px;height:58px}
.classic-cover .cover-flag .kid-level-flag{top:1px;left:3px;right:auto;transform:scale(1.65) rotate(-4deg);transform-origin:left top;filter:drop-shadow(0 2px 3px #0008)}
.classic-cover .cover-flag .kid-level-flag:before{background:#d2dbe0}
.classic-cover .cover-flag .kid-level-flag:after{box-shadow:inset 0 0 0 1px #ffffff60;background:var(--kid-flag-color,#74818b)}
.classic-cover .cover-flag strong{display:block;font-size:18px;font-weight:700;letter-spacing:.025em;text-transform:uppercase}
.classic-cover .cover-flag small{display:block;font-size:12px;line-height:1.5;color:#d4e0e4;letter-spacing:0;font-weight:400;text-transform:none;margin-top:4px;max-width:310px}
.classic-cover .cover-flag small:before{display:none}
@media(max-width:760px){
 .classic-cover .site-header,.classic-cover .header-inner{min-height:680px}
 .classic-cover .header-inner{padding-bottom:28px}
 .classic-cover .masthead-copy{margin-top:auto;padding-top:150px}
 .classic-cover .cover-flag{margin-bottom:18px;padding:10px 12px;gap:12px}
 .classic-cover .cover-flag strong{font-size:16px}
 .classic-cover .cover-flag small{font-size:12px;max-width:220px}
 .classic-cover .identity-copy span{display:none}
 .classic-cover .lighthouse-beacon{opacity:.8}
 .classic-cover .lighthouse-sightline-beam{opacity:.4}
}
@media(max-width:380px){
 .classic-cover .quick-nav{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:100%;border-radius:14px}
 .classic-cover .quick-nav a{padding:7px 10px;font-size:12px}
 .classic-cover .masthead-top{gap:8px;flex-wrap:wrap}
 .classic-cover .identity-logo{width:62px;height:48px}
 .classic-cover .header-actions{margin-left:auto}
 .classic-cover .language-switcher button{min-width:34px;padding:6px;gap:4px}
 .classic-cover .language-flag{font-size:14px}
}

/* Farol visual standard. Presentation only: no operational threshold changes.
   Source Sans 3: SIL Open Font License; hosted locally, no third-party requests.
   Brand blue is informational. Signal colors always retain written status labels. */
@font-face{
  font-family:"Source Sans 3";font-style:normal;font-weight:400 700;
  font-display:swap;src:url("/assets/source-sans-3-latin.woff2") format("woff2");
}
:root{
  --font-ui:"Source Sans 3","Segoe UI",Arial,sans-serif;
  --navy-950:#102538;--navy-900:#17324d;--navy-800:#25465f;
  --river-700:#24577c;--river-600:#306b96;--river-100:#eaf1f7;
  --ink:#1d2935;--muted:#536372;--line:#d7dee5;
  --paper:#ffffff;--canvas:#f3f5f7;--cream:#f3f5f7;
  --green:#18734a;--green-soft:#edf6f0;
  --yellow:#745600;--yellow-soft:#fff7da;
  --orange:#a44a0a;--orange-soft:#fff0e5;
  --red:#b52d37;--red-soft:#fceef0;--black:#202831;
  --flag-green:#18734a;--flag-yellow:#edbf32;--flag-orange:#c15d16;
  --flag-red:#b52d37;--flag-black:#202831;--flag-unknown:#637282;
  --gold:#947000;--lime:#d2e3ef;--lime-dark:#24577c;
  --shadow:none;--shadow-soft:none;
}
body,button,input,select,textarea,svg text{font-family:var(--font-ui)}
body{font-variant-numeric:lining-nums;}
button,input,select,textarea{font-size:inherit}
h1,h2,h3,h4{font-family:var(--font-ui);font-weight:600;letter-spacing:-.015em}
strong,b{font-weight:600}
.farol-rebrand h1,.farol-rebrand h2,.farol-rebrand h3,.farol-rebrand h4{letter-spacing:-.015em;font-weight:600}
.farol-rebrand.classic-cover .masthead-copy h1{
  font-family:var(--font-ui);font-weight:600;letter-spacing:-.025em;
  font-size:clamp(3rem,6.2vw,5.5rem);line-height:.98;
}
.classic-cover .masthead-copy>p{font-family:var(--font-ui);font-style:normal;font-weight:400;color:#f5f7fa;line-height:1.4}
.classic-cover .masthead-copy>small{color:#d2e3ef;font-weight:600;letter-spacing:.09em}
.classic-cover .masthead-copy>span{color:#e3eaf0;line-height:1.6}
.classic-cover .identity-copy strong{font-weight:600}
.classic-cover .cover-flag{border-radius:6px;box-shadow:none}
.classic-cover .cover-flag strong{font-size:17px;letter-spacing:.025em;font-weight:600}
.classic-cover .cover-flag small{font-size:13px;font-weight:400}
.classic-cover .quick-nav{border-radius:6px}
.classic-cover .quick-nav a{font-size:15px;font-weight:600;letter-spacing:0;border-radius:4px}
.classic-cover .language-switcher{border-radius:6px}
.classic-cover .language-switcher button{border-radius:4px;font-weight:600}
.farol-rebrand .section-label{font-weight:600;letter-spacing:.07em}
.farol-rebrand .kid-decision h2{letter-spacing:-.015em;font-weight:600}
.farol-rebrand .operational-overview .kid-decision{background:var(--navy-900)}
.farol-rebrand .operational-overview .kid-decision.go{background:var(--green)}
.farol-rebrand .operational-overview:has(.kid-service.attention) .kid-decision.go{background:#695313}
.farol-rebrand .operational-overview:has(.kid-service.no) .kid-decision.go{background:var(--orange)}
.farol-rebrand .operational-overview .kid-decision.flood{background:var(--black)}
.farol-rebrand .operational-overview .kid-decision.checking{background:#695313}
.farol-rebrand .operational-overview .kid-decision.wait{background:var(--navy-900)}
.farol-rebrand .kid-freshness{font-weight:600;letter-spacing:.035em}
.farol-rebrand .kid-now-card strong{font-weight:600;letter-spacing:-.015em;font-variant-numeric:tabular-nums lining-nums}
/* The number, written flag, and animated flag share one snapshot state.
   Yellow uses a darker text tone for contrast, not the flag's light fabric. */
.farol-rebrand{--level-ink:var(--muted);--level-accent:var(--flag-unknown)}
.farol-rebrand[data-flag="VERDE"]{--level-ink:var(--green);--level-accent:var(--flag-green)}
.farol-rebrand[data-flag="AMARELA"]{--level-ink:var(--yellow);--level-accent:var(--flag-yellow)}
.farol-rebrand[data-flag="LARANJA"]{--level-ink:var(--orange);--level-accent:var(--flag-orange)}
.farol-rebrand[data-flag="VERMELHA"]{--level-ink:var(--red);--level-accent:var(--flag-red)}
.farol-rebrand[data-flag="PRETA"]{--level-ink:var(--black);--level-accent:var(--flag-black)}
.farol-rebrand .operational-overview .kid-now-card.level{padding-left:16px;border-left:4px solid var(--level-accent)}
.farol-rebrand .kid-now-card.level strong,.farol-rebrand .public-flag-label{color:var(--level-ink)}
.farol-rebrand .public-flag-label{font-size:12px!important;font-weight:600;text-transform:none;letter-spacing:0}
.farol-rebrand .public-flag-label:before{width:10px;height:10px;border-radius:2px}
.farol-rebrand .kid-now-card.movement strong{color:var(--navy-900)}
.farol-rebrand .operational-overview .kid-service{border-radius:6px;border-left-width:3px;background:#f5f7f9}
.farol-rebrand .operational-overview .kid-service.yes{border-color:#b7d5c3;border-left-color:var(--green);background:var(--green-soft)}
.farol-rebrand .kid-service.yes .kid-service-status{color:var(--green)}
.farol-rebrand .operational-overview .kid-service.attention{border-color:#dcc776;border-left-color:var(--yellow);background:var(--yellow-soft)}
.farol-rebrand .kid-service.attention .kid-service-status{color:var(--yellow)}
.farol-rebrand .operational-overview .kid-service.no{border-color:#dfabb0;border-left-color:var(--red);background:var(--red-soft)}
.farol-rebrand .kid-service.no .kid-service-status{color:var(--red)}
.farol-rebrand .kid-service b{font-weight:600}
.farol-rebrand #freshness.ok{background:var(--green-soft);color:var(--green);border:1px solid #b7d5c3;border-left:4px solid var(--green)}
.farol-rebrand #freshness.warn,.farol-rebrand #freshness.stale{background:var(--yellow-soft);color:var(--yellow);border:1px solid #dcc776;border-left:4px solid var(--yellow)}
.farol-rebrand #freshness.error{background:var(--red-soft);color:var(--red);border:1px solid #dfabb0;border-left:4px solid var(--red)}
.farol-rebrand .planning-day-stage>strong,.farol-rebrand .kid-peak b{font-variant-numeric:tabular-nums lining-nums;font-weight:600;letter-spacing:0}
.farol-rebrand .planning-day[data-evidence="conditional"]{border-left:3px solid var(--yellow)}
.farol-rebrand .planning-day[data-evidence="conditional"] .planning-day-stage>strong{color:var(--navy-900)}
.farol-rebrand .planning-day-status>strong{font-weight:600}
.farol-rebrand .planning-confidence{color:var(--muted);font-size:13px}
.farol-rebrand .planning-day-detail summary{color:var(--river-700);font-weight:600}
.farol-rebrand .technical-portal>summary strong{color:var(--ink);font-weight:600}
.farol-rebrand .technical-portal>summary small{color:var(--muted)}
.farol-rebrand .experimental-force-banner>summary small{color:var(--yellow);font-size:12px}
.farol-rebrand .experimental-force-guard{background:var(--yellow-soft);color:var(--yellow)}
.farol-rebrand .commercial{background:var(--river-100);color:var(--navy-900)}
.farol-rebrand .whatsapp-inline{background:var(--navy-900);font-weight:600}
.farol-rebrand .panel,.farol-rebrand .technical-portal,.farol-rebrand .planning-day{box-shadow:none}
.farol-rebrand .technical-stack :is(.forecast-item,.reopening-card,.forcing-component,.fch-cell,.port-peak,.holiday-calendar-card){background-image:none;box-shadow:none}
.farol-rebrand :is(.level-number,.port-peak-central,.peak-value b,.fch-cell b,.forecast-item>b,.reopening-card b){font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.01em;font-weight:600}
/* Companion pages use the same type and neutral surfaces. */
body:not(.farol-rebrand){background:var(--canvas);color:var(--ink)}
body:not(.farol-rebrand) .card{background:var(--paper);border-radius:10px;box-shadow:none}
body:not(.farol-rebrand) .hero h1{font-family:var(--font-ui);font-weight:600;line-height:1.05;letter-spacing:-.02em}
body:not(.farol-rebrand) .hero{background-color:var(--navy-900)}
:focus-visible{outline:3px solid var(--river-700)!important;outline-offset:4px}
@media(max-width:700px){
  .classic-cover .quick-nav a{font-size:13px}
  .classic-cover .cover-flag strong{font-size:16px}
  .classic-cover .cover-flag small{font-size:12px}
  .farol-rebrand .planning-confidence{font-size:12px}
  .farol-rebrand .operational-overview .kid-now-card.level{padding-left:10px}
}

.model-issue-stamp{margin:0;padding:9px 16px;background:var(--yellow-soft);color:var(--yellow);font-size:12px;border-bottom:1px solid var(--line)}

/* Paired rain / river chart: one time axis, two explicitly separated units. */
.farol-rebrand .river-chart-shell{border-radius:10px;border-color:var(--line);background:#fff;box-shadow:none;padding:12px 8px 4px}
.farol-rebrand .river-weather-summary{display:flex;align-items:baseline;justify-content:space-between;gap:8px 22px;flex-wrap:wrap;margin:18px 0 8px;border-top:1px solid var(--line);padding-top:14px;color:var(--river-700)}
.river-weather-summary strong{font-size:16px;font-weight:600}.river-weather-summary span{font-size:12px;color:var(--muted)}
.farol-rebrand .chart-axis-note{color:var(--muted);letter-spacing:0;font-size:12px}
.farol-rebrand .chart-foot{display:block}.farol-rebrand .chart-caption{margin-top:10px;max-width:none;text-align:left}
.farol-rebrand .chart-legend b{font-weight:400}.farol-rebrand .chart-legend .rain i{width:11px;height:12px;border-radius:1px;background:#477e9d}
.farol-rebrand .chart-legend .future i{height:0;border-top:2px dashed #947000;background:none;border-radius:0}
.farol-rebrand .chart-legend .tail i{height:0;border-top:2px dotted #667985;background:none;border-radius:0}
.farol-rebrand .chart-legend .current i{background:#17324d;border:2px solid #fff;outline:1px solid #17324d;width:8px;height:8px}
.farol-rebrand .rain-chart-source{font-size:12px;color:var(--muted);line-height:1.5;max-width:100%;margin:8px 0 0}
.farol-rebrand .river-chart-tooltip{border-radius:6px;background:#17324d;box-shadow:0 4px 12px #10253826;width:244px;padding:11px 13px}
.farol-rebrand .river-chart-tooltip small{font-size:10px;letter-spacing:.03em}.farol-rebrand .river-chart-tooltip strong{font-size:17px;white-space:normal}
.farol-rebrand .river-chart-tooltip span{font-size:12px;white-space:normal}.farol-rebrand #chartTooltipDetail{font-size:11px;color:#c7d8e5;margin-top:5px}
@media(max-width:560px){.farol-rebrand .river-chart-shell{padding:8px 0 2px}.river-weather-summary strong{font-size:14px}.farol-rebrand .chart-legend{gap:9px 16px}.farol-rebrand .rain-chart-source{font-size:11px}}
