/* ============================================================
   Iate Clube Pontal do Sul — site institucional
   Tema claro, azul-marinho ICPS. Sem dependências externas.
   ============================================================ */

:root{
  --navy:#0B2E42;
  --navy-800:#0C344C;
  --navy-700:#0E3A55;
  --navy-600:#14496B;
  --azure:#0E86BF;
  --azure-700:#0A6690;
  --azure-300:#7FC4E3;
  --sky:#E4F1F8;
  --sky-2:#F0F7FB;
  --sand:#F4EFE4;
  --bg:#F6F9FB;
  --surface:#FFFFFF;
  --surface-2:#F1F6F9;
  --border:#DBE6ED;
  --border-strong:#BFD2DD;
  --ink:#0B2E42;
  --ink-2:#3F6070;
  --ink-3:#728D9B;
  --ok:#1F7A54; --ok-bg:#E4F3EB;
  --warn:#9A5B14; --warn-bg:#FBEBD6;
  --danger:#B0362B; --danger-bg:#FBE7E4;

  --shadow-sm:0 1px 2px rgba(11,46,66,.06), 0 1px 3px rgba(11,46,66,.08);
  --shadow-md:0 6px 24px rgba(11,46,66,.10);
  --shadow-lg:0 18px 48px rgba(11,46,66,.16);
  --radius:14px; --radius-sm:9px; --radius-lg:22px; --radius-pill:999px;

  --font-display:'Archivo','Archivo Fallback',system-ui,sans-serif;
  --font-body:'Manrope','Manrope Fallback',system-ui,-apple-system,sans-serif;

  --wrap:1180px;
  --nav-h:74px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--font-body); font-size:16px; line-height:1.62;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img{max-width:100%; display:block;}
a{color:var(--azure-700); text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:800; line-height:1.12; color:var(--navy); margin:0 0 .5em; letter-spacing:-.01em;}
h1{font-size:clamp(2rem,5vw,3.15rem); font-weight:900;}
h2{font-size:clamp(1.5rem,3.4vw,2.15rem);}
h3{font-size:1.22rem;}
p{margin:0 0 1rem;}
:focus-visible{outline:3px solid var(--azure); outline-offset:2px; border-radius:4px;}
/* segurança: ícones inline sem dimensão explícita não “explodem” */
h1 svg,h2 svg,h3 svg,h4 svg,p svg,li svg,a svg,span svg,strong svg{width:1em; height:1em; flex:none;}

.wrap{max-width:var(--wrap); margin:0 auto; padding:0 clamp(18px,4vw,32px);}
.section{padding:clamp(34px,4.5vw,58px) 0;}
.section--tint{background:var(--sky-2);}
.section--sand{background:var(--sand);}
.section--navy{background:var(--navy); color:#DCEBF3;}
.section--navy h2,.section--navy h3{color:#fff;}
.eyebrow{
  font-family:var(--font-body); font-weight:800; text-transform:uppercase;
  letter-spacing:.16em; font-size:.72rem; color:var(--azure-700); margin:0 0 .8rem;
}
.section--navy .eyebrow{color:var(--azure-300);}
.eyebrow svg{width:14px; height:14px; vertical-align:-2px;}
.lead{font-size:1.12rem; color:var(--ink-2); max-width:60ch;}
.center{text-align:center;} .center .lead{margin-inline:auto;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.5em; cursor:pointer;
  font-family:var(--font-body); font-weight:700; font-size:.95rem;
  padding:.8em 1.4em; border-radius:var(--radius-pill); border:1.5px solid transparent;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease; text-decoration:none;
}
.btn:hover{text-decoration:none; transform:translateY(-1px);}
.btn svg{width:1.05em; height:1.05em; flex:none;}
.docrow > svg{width:22px; height:22px;}
.linkrow svg, .board-card svg{width:14px; height:14px; vertical-align:-2px;}
.feed-item__body svg{width:14px; height:14px;}
.btn--primary{background:var(--azure); color:#fff; box-shadow:var(--shadow-sm);}
.btn--primary:hover{background:var(--azure-700); box-shadow:var(--shadow-md);}
.btn--navy{background:var(--navy); color:#fff;}
.btn--navy:hover{background:var(--navy-700);}
.btn--ghost{background:transparent; border-color:var(--border-strong); color:var(--navy);}
.btn--ghost:hover{border-color:var(--navy); background:var(--surface);}
.btn--light{background:#fff; color:var(--navy);}
.btn--lg{padding:1em 1.7em; font-size:1rem;}

/* ---------- top bar + nav ---------- */
.nav{position:sticky; top:0; z-index:60; background:var(--surface); border-bottom:1px solid var(--border);}
@supports (backdrop-filter:blur(1px)){
  @media (min-width:1001px){ .nav{background:rgba(255,255,255,.9); backdrop-filter:blur(10px);} }
}
.nav__inner{display:flex; align-items:center; justify-content:space-between; min-height:var(--nav-h); gap:1.2rem;}
.nav__wrap{display:flex; align-items:center; justify-content:space-between; gap:1rem; flex:1;}
.nav__brand{display:flex; align-items:center; gap:.7rem; font-family:var(--font-display); font-weight:900; color:var(--navy); font-size:1rem; letter-spacing:-.01em; text-transform:uppercase;}
.nav__brand img{height:42px; width:auto;}
.nav__brand span{display:none;}
.nav__links{display:flex; align-items:center; gap:.15rem; list-style:none; margin:0; padding:0;}
.nav__links a{
  display:block; padding:.55rem .78rem; border-radius:var(--radius-sm);
  color:var(--navy); font-weight:600; font-size:.92rem;
}
.nav__links a:hover{background:var(--surface-2); text-decoration:none;}
.nav__links a.is-active{color:var(--azure-700);}
.nav__cta{display:flex; align-items:center; gap:.5rem;}
.nav__has-sub{position:relative;}
.nav__parent{cursor:default;}
/* ponte invisível: mantém o hover ativo ao descer o mouse para o submenu */
.nav__has-sub::after{content:""; position:absolute; left:0; right:0; top:100%; height:14px;}
.nav__sub{
  position:absolute; top:calc(100% + 12px); left:0; min-width:230px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow-md); padding:.4rem; opacity:0; visibility:hidden;
  transform:translateY(-6px); transition:opacity .15s ease, transform .15s ease, visibility .15s;
}
.nav__has-sub:hover .nav__sub, .nav__has-sub:focus-within .nav__sub{opacity:1; visibility:visible; transform:translateY(0);}
.nav__sub a{padding:.55rem .7rem; border-radius:var(--radius-sm); font-size:.9rem;}
.nav__toggle{display:none; background:none; border:none; cursor:pointer; padding:.4rem; color:var(--navy);}

@media (max-width:1000px){
  .nav__toggle{display:block;}
  .nav__wrap{
    position:fixed; inset:var(--nav-h) 0 0 auto; width:min(360px,86vw); z-index:70;
    background:var(--surface); border-left:1px solid var(--border);
    transform:translateX(100%); transition:transform .28s ease;
    padding:1.2rem; overflow-y:auto; box-shadow:var(--shadow-lg);
    display:flex; flex-direction:column; gap:.3rem; flex:none;
  }
  .nav.is-open .nav__wrap{transform:translateX(0);}
  .nav__links{flex-direction:column; align-items:stretch; gap:.1rem; width:100%;}
  .nav__links a{padding:.8rem .7rem; font-size:1rem;}
  .nav__sub{position:static; opacity:1; visibility:visible; transform:none; transition:none; box-shadow:none; border:none; padding:.1rem 0 .3rem .8rem;}
  .nav__has-sub::after{content:none;}
  .nav__parent{opacity:.65; font-size:.78rem !important; text-transform:uppercase; letter-spacing:.08em; padding-bottom:.2rem;}
  .nav__cta{margin-top:1rem; flex-direction:column; align-items:stretch;}
  .nav__cta .btn{justify-content:center;}
  .nav__scrim{position:fixed; inset:0; background:rgba(11,46,66,.35); opacity:0; pointer-events:none; transition:opacity .28s; z-index:55;}
  .nav.is-open .nav__scrim{opacity:1; pointer-events:auto;}
}
@media (min-width:1240px){ .nav__brand span{display:inline;} }

/* ---------- hero ---------- */
.hero{position:relative; color:#fff; isolation:isolate; overflow:hidden;}
.hero__media{position:absolute; inset:0; z-index:-2;}
.hero__media img{width:100%; height:100%; object-fit:cover; object-position:center 64%;}
.hero::after{content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,rgba(9,32,47,.62) 0%,rgba(9,32,47,.48) 40%,rgba(9,32,47,.82) 100%);}
.hero__inner{padding:clamp(52px,9vw,96px) 0 clamp(40px,6vw,68px); max-width:720px;}
.hero h1{color:#fff; text-shadow:0 2px 24px rgba(0,0,0,.28);}
.hero p{font-size:1.18rem; color:#E5F1F7; max-width:52ch;}
.hero__actions{display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.6rem;}
.hero__badge{display:inline-flex; align-items:center; gap:.55em; background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.25); padding:.4em .9em; border-radius:var(--radius-pill);
  font-weight:700; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1.2rem; white-space:nowrap;}
.hero__badge svg{width:15px; height:15px;}

/* ---------- cards / grids ---------- */
.grid{display:grid; gap:clamp(16px,2.4vw,26px); align-items:start;}
.grid--2{grid-template-columns:repeat(2,1fr);}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--4{grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){ .grid--3,.grid--4{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .grid--2,.grid--3,.grid--4{grid-template-columns:1fr;} }

.card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:1.5rem; box-shadow:var(--shadow-sm);}
.card--pad-lg{padding:2rem;}
.card__icon{width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:var(--sky); color:var(--azure-700); margin-bottom:1rem;}
.card__icon svg{width:22px; height:22px;}

.feature{display:flex; gap:1rem; align-items:flex-start;}
.feature svg{flex:none; width:26px; height:26px; color:var(--azure-700); margin-top:2px;}
.feature h3{margin-bottom:.25rem; font-size:1.05rem;}
.feature p{margin:0; color:var(--ink-2); font-size:.95rem;}

/* ---------- split ---------- */
.split{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(24px,5vw,64px); align-items:center;}
.split--flip .split__media{order:-1;}
@media (max-width:860px){ .split{grid-template-columns:1fr;} .split--flip .split__media{order:0;} }
.split__media img{border-radius:var(--radius-lg); box-shadow:var(--shadow-md); width:100%; aspect-ratio:4/3; object-fit:cover;}

/* ---------- section head (título + ação) ---------- */
.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1.6rem;}
.section-head h2{margin:0;}
.section-head .eyebrow{margin-bottom:.4rem;}

/* ---------- feed: grade de cards de notícia ---------- */
.news-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.4vw,26px);}
@media (max-width:940px){ .news-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .news-grid{grid-template-columns:1fr;} }
.news-card{
  display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm);
  transition:box-shadow .16s ease, transform .16s ease;
}
.news-card:hover{box-shadow:var(--shadow-md); transform:translateY(-3px);}
.news-card__media{display:block; aspect-ratio:16/10; background:var(--navy); overflow:hidden; position:relative;}
.news-card__media img{width:100%; height:100%; object-fit:cover; transition:transform .4s ease;}
.news-card:hover .news-card__media img{transform:scale(1.04);}
.news-card__crest{position:absolute; inset:0; display:grid; place-items:center;
  background:radial-gradient(circle at 30% 20%, var(--navy-600), var(--navy) 70%); color:rgba(255,255,255,.35);}
.news-card__crest svg{width:44px; height:44px;}
.news-card__body{padding:1.15rem 1.2rem 1.3rem; display:flex; flex-direction:column; gap:.55rem; flex:1;}
.news-card__meta{display:flex; align-items:center; gap:.6rem; flex-wrap:wrap;}
.news-card__meta time{font-size:.78rem; color:var(--ink-3); font-weight:600;}
.news-card__body h3{margin:0; font-size:1.12rem; line-height:1.25; text-wrap:balance;}
.news-card__body p{margin:0; color:var(--ink-2); font-size:.92rem;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.chip{
  display:inline-flex; align-items:center; gap:.4em; align-self:flex-start;
  font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em;
  padding:.28em .7em; border-radius:var(--radius-pill); background:var(--sky); color:var(--azure-700);
}
.chip[data-cat="evento"]{background:#EAF0E1; color:#4d6b1f;}
.chip[data-cat="obra"]{background:var(--warn-bg); color:var(--warn);}
.chip[data-cat="nota"]{background:var(--surface-2); color:var(--ink-2);}
.chip[data-cat="pinned"]{background:var(--navy); color:#fff;}
.filterbar{display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.6rem;}
.filterbar button{
  font:inherit; cursor:pointer; padding:.45em 1em; border-radius:var(--radius-pill);
  border:1.5px solid var(--border-strong); background:var(--surface); color:var(--ink-2); font-weight:700; font-size:.85rem;
}
.filterbar button.is-active{background:var(--navy); color:#fff; border-color:var(--navy);}

/* ---------- weather + tide ---------- */
.wxgrid{display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(16px,2.4vw,24px); margin-top:2.5rem; align-items:start;}
@media (max-width:900px){ .wxgrid{grid-template-columns:1fr;} }
.forecast{display:grid; grid-template-columns:repeat(7,1fr); gap:.6rem;}
@media (max-width:900px){ .forecast{grid-template-columns:repeat(4,1fr);} }
@media (max-width:560px){ .forecast{grid-template-columns:repeat(3,1fr);} }
.fc-day{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-sm); padding:.9rem .5rem; text-align:center;}
.fc-day.is-today{border-color:var(--azure); box-shadow:0 0 0 3px var(--sky);}
.fc-day .dow{font-weight:800; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-3);}
.fc-day .ico{font-size:1.7rem; margin:.35rem 0;}
.fc-day .tmax{font-weight:800; color:var(--navy);}
.fc-day .tmin{color:var(--ink-3); font-size:.85rem;}
.fc-day .meta{font-size:.7rem; color:var(--ink-3); margin-top:.35rem; display:flex; flex-direction:column; gap:.1rem;}
.wx-note{font-size:.78rem; color:var(--ink-3); margin-top:.8rem;}
.tide-card iframe{width:100%; border:0; border-radius:var(--radius-sm); background:#fff;}
#tide-chart{display:grid; grid-template-columns:1fr 200px; gap:1.2rem; align-items:center;}
@media (max-width:640px){ #tide-chart{grid-template-columns:1fr;} }
.tide-svg svg{width:100%; height:200px; display:block;}
.tide-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.55rem;}
.tide-list li{display:flex; align-items:baseline; gap:.5rem; font-size:.9rem; border-bottom:1px solid var(--border); padding-bottom:.5rem;}
.tide-list b{font-family:var(--font-display); color:var(--navy);}
.tide-list .up{color:var(--azure-700); font-weight:700; font-size:.8rem;}
.tide-list .down{color:var(--ink-3); font-weight:700; font-size:.8rem;}
.tide-list .mut{color:var(--ink-3); margin-left:auto; font-size:.8rem;}

/* ---------- galleries ---------- */
.gallery{columns:4 240px; column-gap:14px;}
.gallery a{display:block; margin-bottom:14px; break-inside:avoid; border-radius:10px; overflow:hidden; box-shadow:var(--shadow-sm); position:relative;}
.gallery img{width:100%; transition:transform .4s ease;}
.gallery a:hover img{transform:scale(1.04);}
.gallery-tabs{display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.8rem;}

.lightbox{position:fixed; inset:0; background:rgba(7,25,37,.94); display:none; z-index:200; align-items:center; justify-content:center; padding:3vw;}
.lightbox.is-open{display:flex;}
.lightbox img{max-width:94vw; max-height:88vh; border-radius:8px; box-shadow:var(--shadow-lg);}
.lightbox__btn{position:absolute; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff; width:52px; height:52px; border-radius:50%; font-size:1.4rem; cursor:pointer; display:grid; place-items:center;}
.lightbox__btn:hover{background:rgba(255,255,255,.24);}
.lightbox__close{top:20px; right:20px;}
.lightbox__prev{left:16px; top:50%; transform:translateY(-50%);}
.lightbox__next{right:16px; top:50%; transform:translateY(-50%);}
.lightbox__count{position:absolute; bottom:20px; left:50%; transform:translateX(-50%); color:#CFE2EC; font-size:.85rem;}

/* ---------- page header ---------- */
.pagehead{background:var(--navy); color:#DCEBF3; padding:clamp(34px,5vw,56px) 0 clamp(28px,4vw,42px);}
.pagehead h1{color:#fff;}
.pagehead p{color:#AFCEDC; max-width:56ch; margin:0;}
.breadcrumb{font-size:.82rem; color:#8FB4C4; margin-bottom:1rem;}
.breadcrumb a{color:#CFE6EF;}

/* ---------- diretoria ---------- */
.board-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;}
@media (max-width:820px){ .board-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .board-grid{grid-template-columns:1fr;} }
.board-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:1.2rem 1.3rem;}
.board-card .role{font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--azure-700);}
.board-card .name{font-family:var(--font-display); font-weight:700; color:var(--navy); margin-top:.2rem;}
.board-group-title{font-size:.8rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em; color:var(--ink-3); margin:2rem 0 1rem;}

/* ---------- links list ---------- */
.linklist{display:grid; grid-template-columns:repeat(2,1fr); gap:1rem;}
@media (max-width:700px){ .linklist{grid-template-columns:1fr;} }
.linkrow{display:flex; gap:1rem; align-items:center; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:1.1rem 1.2rem;}
.linkrow img{width:52px; height:52px; object-fit:contain; flex:none;}
.linkrow .t{font-weight:700; color:var(--navy);}
.linkrow .s{font-size:.85rem; color:var(--ink-3);}

.doclist{display:flex; flex-direction:column; gap:.6rem;}
.docrow{display:flex; align-items:center; gap:1rem; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:1rem 1.2rem; font-weight:600; color:var(--navy);}
.docrow:hover{border-color:var(--border-strong); text-decoration:none;}
.docrow > svg{color:var(--danger); flex:none;}
.docrow .meta{margin-left:auto; font-size:.8rem; color:var(--ink-3); font-weight:600; display:inline-flex; align-items:center; gap:.35em;}

.doc-cards{display:grid; grid-template-columns:repeat(2,1fr); gap:1rem;}
@media (max-width:640px){ .doc-cards{grid-template-columns:1fr;} }
.doc-card{display:flex; gap:1rem; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:1.5rem; box-shadow:var(--shadow-sm); transition:box-shadow .15s, transform .15s;}
.doc-card:hover{box-shadow:var(--shadow-md); transform:translateY(-2px); text-decoration:none;}
.doc-card__ico{flex:none; width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:var(--sky); color:var(--azure-700);}
.doc-card__ico svg{width:22px; height:22px;}
.doc-card__txt{display:flex; flex-direction:column; gap:.35rem;}
.doc-card__t{font-family:var(--font-display); font-weight:800; color:var(--navy); font-size:1.1rem;}
.doc-card__d{font-size:.9rem; color:var(--ink-2);}
.doc-card__cta{font-size:.82rem; font-weight:700; color:var(--azure-700); display:inline-flex; align-items:center; gap:.35em; margin-top:.2rem;}

/* ---------- forms ---------- */
.field{margin-bottom:1rem;}
.field label{display:block; font-weight:700; font-size:.86rem; color:var(--navy); margin-bottom:.35rem;}
.field input,.field textarea,.field select{
  width:100%; font:inherit; padding:.75rem .9rem; border:1.5px solid var(--border-strong);
  border-radius:var(--radius-sm); background:var(--surface); color:var(--ink);
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--azure); outline:none; box-shadow:0 0 0 3px var(--sky);}
.hp{position:absolute; left:-9999px;}
.form-note{font-size:.82rem; color:var(--ink-3);}
.alert{padding:.9rem 1.1rem; border-radius:var(--radius-sm); font-size:.92rem; margin-bottom:1rem;}
.alert--ok{background:var(--ok-bg); color:var(--ok);}
.alert--err{background:var(--danger-bg); color:var(--danger);}

/* ---------- contact/info blocks ---------- */
.infogrid{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;}
@media (max-width:800px){ .infogrid{grid-template-columns:1fr;} }
.infocard{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:1.4rem;}
.infocard svg{width:22px; height:22px; color:var(--azure-700); margin-bottom:.6rem;}
.infocard .t{font-weight:800; color:var(--navy); font-family:var(--font-display);}

.map-embed{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); border:1px solid var(--border);}
.map-embed iframe{width:100%; height:420px; border:0; display:block;}

/* ---------- portal login ---------- */
.auth-wrap{min-height:calc(100vh - var(--nav-h)); display:grid; place-items:center; padding:3rem 1.2rem; background:linear-gradient(160deg,var(--sky-2),var(--sand));}
.auth-card{width:100%; max-width:420px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:2.2rem; box-shadow:var(--shadow-lg);}
.auth-card h1{font-size:1.6rem;}
.auth-card .sub{color:var(--ink-2); font-size:.95rem; margin-bottom:1.5rem;}

/* ---------- stats ---------- */
.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; text-align:center;}
@media (max-width:700px){ .stats{grid-template-columns:repeat(2,1fr);} }
.stat .n{font-family:var(--font-display); font-weight:900; font-size:2.2rem; color:#fff;}
.stat .l{font-size:.82rem; text-transform:uppercase; letter-spacing:.1em; color:var(--azure-300);}

/* ---------- footer ---------- */
.footer{background:var(--navy-800); color:#A9C6D3; padding:clamp(44px,6vw,68px) 0 2rem; font-size:.92rem;}
.footer a{color:#DCEBF3;}
.footer__top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:2rem; padding-bottom:2.4rem; border-bottom:1px solid rgba(255,255,255,.12);}
@media (max-width:860px){ .footer__top{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .footer__top{grid-template-columns:1fr;} }
.footer__brand img{height:52px; margin-bottom:1rem;}
.footer__social{display:flex; gap:1.2rem; flex-wrap:wrap; margin-top:.4rem;}
.footer__social a{display:inline-flex; align-items:center; gap:.4em; font-weight:600;}
.footer__social svg{width:16px; height:16px;}
.footer h4{color:#fff; font-size:.8rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:1rem;}
.footer ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem;}
.footer__bottom{display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding-top:1.6rem; font-size:.82rem; color:#7FA0AF;}

.js .reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.js .reveal.is-in{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){ .js .reveal{opacity:1; transform:none; transition:none;} html{scroll-behavior:auto;} }
