/* ==========================================================================
   RECAE — folha de estilo do tema
   Autor: Alberto Basílio (Infomidia)
   Estrutura: 1 Base · 2 Tipografia · 3 Botões · 4 Cabeçalho · 5 Destaques
              6 Secções · 7 Componentes · 8 Rodapé · 9 Utilidades
   ========================================================================== */

/* ------------------------------------------------------------------ 1 Base */
:root{
  /* Paleta extraída do logótipo RECAE */
  --rc-primary:#297D18;
  --rc-primary-dark:#1D5C10;
  --rc-primary-soft:#8EBE23;
  --rc-accent:#F89C23;
  --rc-accent-dark:#C87A16;
  --rc-ink:#1C2436;
  --rc-surface:#F3F7EE;
  --rc-primary-rgb:41,125,24;
  --rc-accent-rgb:248,156,35;
  --rc-ink-rgb:28,36,54;

  --rc-c1:#E63A32;  --rc-c1-rgb:230,58,50;
  --rc-c2:#F89C23;  --rc-c2-rgb:248,156,35;
  --rc-c3:#8EBE23;  --rc-c3-rgb:142,190,35;
  --rc-c4:#3FBFBB;  --rc-c4-rgb:63,191,187;
  --rc-c5:#2B385A;  --rc-c5-rgb:43,56,90;
  --rc-c6:#297D18;  --rc-c6-rgb:41,125,24;

  --rc-white:#ffffff;
  --rc-muted:rgba(var(--rc-ink-rgb),.66);
  --rc-line:rgba(var(--rc-ink-rgb),.10);

  --rc-max:1200px;
  --rc-pad:clamp(1.15rem,4vw,2.5rem);
  --rc-gap:clamp(1.5rem,3vw,2.5rem);
  --rc-sec:clamp(4rem,9vw,7.5rem);

  --rc-r-sm:10px;
  --rc-r:18px;
  --rc-r-lg:26px;

  --rc-shadow:0 1px 2px rgba(var(--rc-ink-rgb),.04),0 12px 32px -12px rgba(var(--rc-ink-rgb),.18);
  --rc-shadow-lg:0 30px 70px -30px rgba(var(--rc-ink-rgb),.45);

  --rc-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --rc-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;

  --rc-ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}

body.rc-body{
  margin:0;
  font-family:var(--rc-body);
  font-size:clamp(1rem,.97rem + .18vw,1.0625rem);
  line-height:1.7;
  color:var(--rc-ink);
  background:var(--rc-white);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}

:focus-visible{outline:3px solid var(--rc-accent);outline-offset:3px;border-radius:4px}

.rc-container{width:100%;max-width:var(--rc-max);margin-inline:auto;padding-inline:var(--rc-pad)}

.rc-skip{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--rc-primary);color:#fff;padding:.75rem 1.25rem;border-radius:0 0 var(--rc-r-sm) 0;
}
.rc-skip:focus{left:0}

/* Barra de progresso de leitura */
.rc-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:120;background:transparent;pointer-events:none}
.rc-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--rc-primary),var(--rc-accent));transition:width .1s linear}

/* ------------------------------------------------------------ 2 Tipografia */
h1,h2,h3,h4{
  font-family:var(--rc-display);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.02em;
  margin:0 0 .6em;
  text-wrap:balance;
}

.rc-h1{font-size:clamp(2rem,1.35rem + 3.1vw,3.5rem)}
.rc-h2{font-size:clamp(1.6rem,1.2rem + 1.9vw,2.6rem)}

.rc-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  margin:0 0 1rem;
  font-family:var(--rc-body);
  font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--rc-primary);
}
.rc-eyebrow::before{
  content:"";width:26px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--rc-accent),var(--rc-primary));
}

.rc-lead{font-size:clamp(1.05rem,1rem + .35vw,1.2rem);color:var(--rc-muted);margin:0 0 1.6rem}

.rc-note{color:var(--rc-muted);font-style:italic}

.rc-prose > *{margin-block:0 1.15em}
.rc-prose h2,.rc-prose h3{margin-top:1.6em}
.rc-prose a{color:var(--rc-primary);text-decoration:underline;text-underline-offset:3px}
.rc-prose img{border-radius:var(--rc-r)}
.rc-prose ul,.rc-prose ol{padding-left:1.2rem}
.rc-prose blockquote{
  margin:2rem 0;padding:1.25rem 1.5rem;border-left:3px solid var(--rc-accent);
  background:var(--rc-surface);border-radius:0 var(--rc-r-sm) var(--rc-r-sm) 0;font-style:italic;
}

/* --------------------------------------------------------------- 3 Botões */
.rc-btn{
  --btn-bg:var(--rc-primary);
  --btn-fg:#fff;
  position:relative;display:inline-flex;align-items:center;gap:.55rem;
  padding:.85rem 1.5rem;border:1px solid transparent;border-radius:999px;
  font-family:var(--rc-body);font-size:.94rem;font-weight:600;letter-spacing:.01em;
  cursor:pointer;overflow:hidden;isolation:isolate;
  transition:transform .35s var(--rc-ease),box-shadow .35s var(--rc-ease),color .3s,background-color .3s,border-color .3s;
}
.rc-btn .rc-icon{transition:transform .35s var(--rc-ease)}
.rc-btn:hover .rc-icon{transform:translateX(4px)}
.rc-btn:hover{transform:translateY(-2px)}
.rc-btn:active{transform:translateY(0)}

.rc-btn--primary{background:var(--rc-primary);color:#fff;box-shadow:0 12px 26px -14px rgba(var(--rc-primary-rgb),.9)}
.rc-btn--primary::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(120deg,var(--rc-primary-dark),var(--rc-primary) 45%,var(--rc-accent) 130%);
  opacity:0;transition:opacity .4s var(--rc-ease);
}
.rc-btn--primary:hover::before{opacity:1}

.rc-btn--outline{background:transparent;color:var(--rc-primary);border-color:rgba(var(--rc-primary-rgb),.35)}
.rc-btn--outline:hover{background:var(--rc-primary);color:#fff;border-color:var(--rc-primary)}

.rc-btn--ghost{background:rgba(var(--rc-primary-rgb),.08);color:var(--rc-primary)}
.rc-btn--ghost:hover{background:var(--rc-primary);color:#fff}

.rc-link{
  display:inline-flex;align-items:center;gap:.4rem;
  font-weight:600;font-size:.94rem;color:var(--rc-primary);
}
.rc-link .rc-icon{transition:transform .3s var(--rc-ease)}
.rc-link:hover .rc-icon{transform:translateX(4px)}
.rc-link--right{margin-left:auto;text-align:right}

/* ------------------------------------------------------------ 4 Cabeçalho */
.rc-header{
  position:fixed;inset:0 0 auto 0;z-index:100;
  padding-block:1rem;
  transition:background-color .4s var(--rc-ease),box-shadow .4s var(--rc-ease),padding .4s var(--rc-ease);
}
.rc-header__inner{display:flex;align-items:center;gap:var(--rc-gap)}

.rc-header.is-solid{
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  box-shadow:0 1px 0 var(--rc-line),0 18px 40px -32px rgba(var(--rc-ink-rgb),.6);
  padding-block:.55rem;
}
.rc-header.is-hidden{transform:translateY(-105%)}
.rc-header{transition:transform .45s var(--rc-ease),background-color .4s var(--rc-ease),box-shadow .4s,padding .4s}

.rc-brand{display:flex;align-items:center;margin-right:auto}
.rc-brand img,.rc-brand__img,.custom-logo{max-height:52px;width:auto;transition:max-height .4s var(--rc-ease)}
.rc-header.is-solid .rc-brand img{max-height:44px}
.rc-brand__text{font-family:var(--rc-display);font-size:1.4rem;font-weight:800;color:var(--rc-primary)}

.rc-nav{display:none}
@media (min-width:1000px){.rc-nav{display:block}}

.rc-menu{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem);list-style:none;margin:0;padding:0}
.rc-menu a{
  position:relative;display:inline-block;padding:.4rem 0;
  font-size:.95rem;font-weight:500;color:var(--rc-ink);
  transition:color .3s;
}
.rc-menu a::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:linear-gradient(90deg,var(--rc-primary),var(--rc-accent));
  transform:scaleX(0);transform-origin:right;transition:transform .38s var(--rc-ease);
}
.rc-menu a:hover{color:var(--rc-primary)}
.rc-menu a:hover::after,
.rc-menu .current-menu-item > a::after,
.rc-menu .current_page_item > a::after{transform:scaleX(1);transform-origin:left}
.rc-menu .current-menu-item > a,
.rc-menu .current_page_item > a{color:var(--rc-primary)}

.rc-menu .sub-menu{
  position:absolute;top:100%;left:0;min-width:210px;
  list-style:none;margin:.6rem 0 0;padding:.5rem;
  background:#fff;border:1px solid var(--rc-line);border-radius:var(--rc-r-sm);
  box-shadow:var(--rc-shadow);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:.3s var(--rc-ease);
}
.rc-menu li{position:relative}
.rc-menu li:hover > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.rc-menu .sub-menu a{display:block;padding:.5rem .7rem;border-radius:6px}
.rc-menu .sub-menu a::after{display:none}
.rc-menu .sub-menu a:hover{background:var(--rc-surface)}

.rc-header__actions{display:flex;align-items:center;gap:.75rem}
.rc-header__cta{display:none}
@media (min-width:1000px){.rc-header__cta{display:inline-flex}}

/* Hambúrguer */
.rc-burger{
  display:grid;place-content:center;gap:5px;
  width:46px;height:46px;padding:0;
  background:rgba(var(--rc-primary-rgb),.08);border:0;border-radius:14px;cursor:pointer;
  transition:background-color .3s;
}
.rc-burger span{display:block;width:20px;height:2px;border-radius:2px;background:var(--rc-primary);transition:.35s var(--rc-ease)}
.rc-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.rc-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.rc-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (min-width:1000px){.rc-burger{display:none}}

/* Gaveta móvel */
.rc-drawer{
  position:fixed;inset:0;z-index:99;
  padding:6.5rem var(--rc-pad) 2rem;
  background:linear-gradient(160deg,var(--rc-primary-dark),var(--rc-primary) 70%);
  color:#fff;
  opacity:0;transform:translateY(-12px);
  transition:opacity .4s var(--rc-ease),transform .4s var(--rc-ease);
  overflow-y:auto;
}
.rc-drawer.is-open{opacity:1;transform:none}
.rc-drawer__menu{list-style:none;margin:0 0 2rem;padding:0}
.rc-drawer__menu li{border-bottom:1px solid rgba(255,255,255,.16);overflow:hidden}
.rc-drawer__menu a{
  display:block;padding:1rem 0;
  font-family:var(--rc-display);font-size:1.6rem;font-weight:600;color:#fff;
  transform:translateY(110%);opacity:0;
}
.rc-drawer.is-open .rc-drawer__menu a{animation:rc-slide-up .55s var(--rc-ease) forwards}
.rc-drawer__menu li:nth-child(1) a{animation-delay:.05s}
.rc-drawer__menu li:nth-child(2) a{animation-delay:.10s}
.rc-drawer__menu li:nth-child(3) a{animation-delay:.15s}
.rc-drawer__menu li:nth-child(4) a{animation-delay:.20s}
.rc-drawer__menu li:nth-child(5) a{animation-delay:.25s}
.rc-drawer__menu li:nth-child(6) a{animation-delay:.30s}
.rc-drawer__menu .sub-menu{list-style:none;padding-left:1rem}
.rc-drawer__menu .sub-menu a{font-size:1.1rem}
.rc-drawer__meta{display:grid;gap:.7rem}
.rc-drawer__meta a{display:inline-flex;align-items:center;gap:.6rem;color:rgba(255,255,255,.85);font-size:.95rem}

@keyframes rc-slide-up{to{transform:none;opacity:1}}

body.rc-locked{overflow:hidden}

/* -------------------------------------------------------------- 5 Destaques */
.rc-main{display:block}

.rc-hero{
  position:relative;isolation:isolate;
  min-height:min(100svh,860px);
  display:flex;align-items:center;
  padding:9rem 0 6rem;
  color:#fff;overflow:hidden;
}
.rc-hero__bg{
  position:absolute;inset:-10% 0;z-index:-6;
  background-size:cover;background-position:center;
  transform:scale(1.06);
  animation:rc-kenburns 24s ease-in-out infinite alternate;
  will-change:transform;
}
.rc-hero__bg--soft{filter:blur(6px)}
.rc-hero__veil{
  position:absolute;inset:0;z-index:-3;
  --rc-veil:.55;
  background:
    /* Faixa escura por trás do texto, à esquerda — só onde é preciso ler */
    linear-gradient(100deg,
      rgba(var(--rc-ink-rgb),calc(var(--rc-veil) * 1.35)) 0%,
      rgba(var(--rc-ink-rgb),calc(var(--rc-veil) * .85)) 38%,
      rgba(var(--rc-ink-rgb),calc(var(--rc-veil) * .18)) 72%,
      rgba(var(--rc-ink-rgb),calc(var(--rc-veil) * .05)) 100%),
    /* Assentamento no topo e no fundo */
    linear-gradient(180deg,
      rgba(var(--rc-ink-rgb),calc(var(--rc-veil) * .55)) 0%,
      transparent 22%,
      transparent 62%,
      rgba(var(--rc-ink-rgb),calc(var(--rc-veil) * .95)) 100%);
}
/* No modo sem fotografia o véu pode ser uniforme */
.rc-hero--rede .rc-hero__veil,
.rc-hero--anel .rc-hero__veil{
  background:linear-gradient(180deg,
    rgba(var(--rc-ink-rgb),calc(var(--rc-veil) * .8)),
    rgba(var(--rc-ink-rgb),calc(var(--rc-veil) * .35)) 45%,
    rgba(var(--rc-ink-rgb),calc(var(--rc-veil) * 1.1)));
}
.rc-hero__glow{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(var(--rc-accent-rgb),.28),transparent 70%);
  transition:background-position .2s;
}
.rc-hero__inner{position:relative;max-width:920px}
.rc-hero__title{
  font-size:clamp(2.3rem,1.4rem + 4.4vw,4.6rem);
  font-weight:800;letter-spacing:-.03em;margin:0 0 1.1rem;color:#fff;
  text-shadow:0 2px 30px rgba(var(--rc-ink-rgb),.55),0 1px 3px rgba(var(--rc-ink-rgb),.35);
}
.rc-hero__sub{
  max-width:640px;margin:0 0 2.2rem;
  font-size:clamp(1.05rem,1rem + .5vw,1.3rem);color:rgba(255,255,255,.92);
  text-shadow:0 1px 18px rgba(var(--rc-ink-rgb),.6);
}
.rc-hero__btn{opacity:0;transform:translateY(18px);animation:rc-fade-up .8s var(--rc-ease) .55s forwards}

.rc-hero__scroll{
  position:absolute;left:50%;bottom:2rem;transform:translateX(-50%);
  width:24px;height:38px;border:2px solid rgba(255,255,255,.5);border-radius:14px;
}
.rc-hero__scroll span{
  position:absolute;left:50%;top:7px;width:3px;height:7px;border-radius:2px;background:#fff;
  transform:translateX(-50%);animation:rc-wheel 1.9s var(--rc-ease) infinite;
}

@keyframes rc-kenburns{from{transform:scale(1.05) translate3d(0,0,0)}to{transform:scale(1.14) translate3d(0,-2%,0)}}
@keyframes rc-wheel{0%{opacity:0;top:7px}30%{opacity:1}100%{opacity:0;top:22px}}
@keyframes rc-fade-up{to{opacity:1;transform:none}}

/* Destaque das páginas internas */
.rc-pagehero{
  position:relative;isolation:isolate;overflow:hidden;
  padding:11rem 0 clamp(3.5rem,7vw,5.5rem);
  background:linear-gradient(150deg,var(--rc-primary-dark),var(--rc-primary));
  color:#fff;
}
.rc-pagehero__bg{
  position:absolute;inset:-8% 0;z-index:-2;
  background-size:cover;background-position:center;opacity:.28;filter:saturate(.8);
}
.rc-pagehero--img::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(var(--rc-ink-rgb),.35),rgba(var(--rc-primary-rgb),.55));
}
.rc-pagehero__grid{
  position:absolute;inset:0;z-index:-1;opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(80% 60% at 70% 20%,#000,transparent 75%);
  -webkit-mask-image:radial-gradient(80% 60% at 70% 20%,#000,transparent 75%);
}
.rc-pagehero__inner{position:relative;max-width:820px}
.rc-pagehero__title{font-size:clamp(2rem,1.4rem + 3vw,3.4rem);margin:0 0 .8rem;color:#fff}
.rc-pagehero__sub{margin:0;font-size:clamp(1rem,.97rem + .35vw,1.2rem);color:rgba(255,255,255,.85);max-width:60ch}

.rc-crumbs{display:flex;align-items:center;gap:.5rem;margin-bottom:1.2rem;font-size:.85rem;color:rgba(255,255,255,.7)}
.rc-crumbs a:hover{color:#fff;text-decoration:underline}
.rc-crumbs em{font-style:normal;color:var(--rc-accent)}

/* Animação do título por palavras */
.rc-split .rc-word{display:inline-block;overflow:hidden;vertical-align:top}
.rc-split .rc-word > span{display:inline-block;transform:translateY(105%);animation:rc-slide-up .8s var(--rc-ease) forwards}

/* --------------------------------------------------------------- 6 Secções */
.rc-section{padding-block:var(--rc-sec)}
.rc-section--tint{background:var(--rc-surface)}

.rc-head{max-width:720px;margin-bottom:clamp(2.2rem,4vw,3.4rem)}
.rc-head__sub{margin:0 0 1.6rem;font-size:clamp(1.05rem,1rem + .35vw,1.25rem);color:var(--rc-muted)}
.rc-head--split{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem;
  max-width:none;
}
.rc-head--split .rc-h2{margin:0}

/* Razão de Ser */
.rc-razao__grid{display:grid;gap:var(--rc-gap);align-items:center}
@media (min-width:900px){.rc-razao__grid{grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,5rem)}}

.rc-razao__media{position:relative;margin:0}
.rc-razao__media img{
  width:100%;aspect-ratio:4/3;object-fit:cover;
  border-radius:var(--rc-r-lg) 4px var(--rc-r-lg) 4px;
  box-shadow:var(--rc-shadow-lg);
}
.rc-razao__frame{
  position:absolute;inset:auto -14px -14px auto;width:62%;height:62%;z-index:-1;
  border:2px solid rgba(var(--rc-accent-rgb),.5);
  border-radius:var(--rc-r-lg) 4px var(--rc-r-lg) 4px;
}

/* Estações do corredor (contadores) */
.rc-rail{
  position:relative;display:grid;gap:2rem;
  margin-top:clamp(3rem,6vw,5rem);padding-top:2.5rem;
}
@media (min-width:760px){.rc-rail{grid-template-columns:repeat(2,1fr);gap:clamp(2rem,5vw,4rem)}}
.rc-rail__line{
  position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(var(--rc-primary-rgb),.35) 12%,rgba(var(--rc-accent-rgb),.6) 88%,transparent);
}
.rc-station{position:relative;padding-top:.4rem}
.rc-station__dot{
  position:absolute;left:0;top:calc(-2.5rem - 9px);width:12px;height:12px;border-radius:50%;
  background:var(--rc-white);border:3px solid var(--rc-primary);
}
.rc-station__dot::after{
  content:"";position:absolute;inset:-8px;border-radius:50%;
  border:1px solid rgba(var(--rc-primary-rgb),.35);
  animation:rc-pulse 2.6s var(--rc-ease) infinite;
}
.rc-station__num{
  display:flex;align-items:baseline;gap:.1rem;margin:0;
  font-family:var(--rc-display);font-size:clamp(2.6rem,2rem + 3vw,4.4rem);font-weight:800;
  line-height:1;letter-spacing:-.04em;color:var(--rc-primary);
}
.rc-station__num i{font-style:normal;color:var(--rc-accent)}
.rc-station__label{margin:.5rem 0 0;font-size:1.02rem;font-weight:500;color:var(--rc-muted);max-width:34ch}

@keyframes rc-pulse{0%{transform:scale(.9);opacity:.9}70%{transform:scale(1.6);opacity:0}100%{opacity:0}}

/* Cartões dos papéis */
.rc-cards{display:grid;gap:clamp(1.1rem,2vw,1.8rem)}
@media (min-width:680px){.rc-cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1020px){.rc-cards{grid-template-columns:repeat(3,1fr)}}

.rc-card{
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  background:#fff;border:1px solid var(--rc-line);border-radius:var(--rc-r);
  transition:transform .5s var(--rc-ease),box-shadow .5s var(--rc-ease),border-color .4s;
}
.rc-card:hover{transform:translateY(-6px);box-shadow:var(--rc-shadow-lg);border-color:transparent}
.rc-card__media{overflow:hidden;aspect-ratio:16/10}
.rc-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--rc-ease),filter .6s}
.rc-card:hover .rc-card__media img{transform:scale(1.07)}
.rc-card__body{padding:clamp(1.3rem,2.4vw,1.9rem);display:flex;flex-direction:column;gap:.6rem}
.rc-card__icon{
  display:grid;place-content:center;width:46px;height:46px;margin-bottom:.3rem;
  border-radius:14px;color:var(--rc-primary);
  background:rgba(var(--rc-primary-rgb),.09);
  transition:background-color .4s,color .4s,transform .5s var(--rc-ease);
}
.rc-card:hover .rc-card__icon{background:var(--rc-primary);color:#fff;transform:rotate(-6deg)}
.rc-card__title{font-size:1.16rem;margin:0;line-height:1.25}
.rc-card__text{margin:0;font-size:.97rem;color:var(--rc-muted)}
.rc-card__edge{
  position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--rc-primary),var(--rc-accent));
  transform:scaleX(0);transform-origin:left;transition:transform .55s var(--rc-ease);
}
.rc-card:hover .rc-card__edge{transform:scaleX(1)}

/* Chamada à acção */
.rc-cta{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(4rem,8vw,6.5rem);color:#fff;text-align:center;background:var(--rc-primary-dark)}
.rc-cta__bg{position:absolute;inset:-8% 0;z-index:-2;background-size:cover;background-position:center;opacity:.3}
.rc-cta::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(120deg,rgba(var(--rc-primary-rgb),.92),rgba(var(--rc-ink-rgb),.86));
}
.rc-cta__inner{max-width:720px;margin-inline:auto}
.rc-cta__inner h2{color:#fff}
.rc-cta__inner p{margin:0 0 2rem;color:rgba(255,255,255,.85);font-size:1.1rem}
.rc-cta .rc-btn--primary{background:#fff;color:var(--rc-primary-dark)}
.rc-cta .rc-btn--primary::before{background:linear-gradient(120deg,#fff,var(--rc-accent))}
.rc-cta .rc-btn--primary:hover{color:var(--rc-ink)}

/* Notícias */
.rc-posts{display:grid;gap:clamp(1.2rem,2.4vw,2rem)}
@media (min-width:680px){.rc-posts{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1020px){.rc-posts{grid-template-columns:repeat(3,1fr)}}

.rc-post{
  display:flex;flex-direction:column;overflow:hidden;background:#fff;
  border:1px solid var(--rc-line);border-radius:var(--rc-r);
  transition:transform .5s var(--rc-ease),box-shadow .5s var(--rc-ease);
}
.rc-post:hover{transform:translateY(-6px);box-shadow:var(--rc-shadow-lg)}
.rc-post__media{display:block;overflow:hidden;aspect-ratio:16/10;background:var(--rc-surface)}
.rc-post__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--rc-ease)}
.rc-post:hover .rc-post__media img{transform:scale(1.06)}
.rc-post__body{display:flex;flex-direction:column;gap:.7rem;padding:clamp(1.2rem,2.2vw,1.7rem)}
.rc-post__meta{display:flex;align-items:center;gap:.75rem;margin:0;font-size:.82rem;color:var(--rc-muted)}
.rc-tag{
  display:inline-block;padding:.22rem .7rem;border-radius:999px;
  background:rgba(var(--rc-accent-rgb),.16);color:var(--rc-accent-dark);
  font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
}
.rc-post__title{font-size:1.12rem;margin:0;line-height:1.3}
.rc-post__title a{background:linear-gradient(var(--rc-primary),var(--rc-primary)) 0 100%/0 2px no-repeat;transition:background-size .45s var(--rc-ease),color .3s}
.rc-post__title a:hover{background-size:100% 2px;color:var(--rc-primary)}
.rc-post__excerpt{margin:0;font-size:.95rem;color:var(--rc-muted)}
.rc-post__body .rc-link{margin-top:auto;padding-top:.4rem}

/* Sobre Nós */
.rc-sobre__grid{display:grid;gap:var(--rc-gap)}
@media (min-width:920px){.rc-sobre__grid{grid-template-columns:1.6fr 1fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:start}}

.rc-desde{
  position:relative;overflow:hidden;
  padding:clamp(1.6rem,3vw,2.4rem);border-radius:var(--rc-r-lg);
  background:linear-gradient(155deg,var(--rc-primary),var(--rc-primary-dark));
  color:#fff;box-shadow:var(--rc-shadow-lg);
}
.rc-desde::after{
  content:"";position:absolute;right:-30px;bottom:-30px;width:150px;height:150px;border-radius:50%;
  border:2px solid rgba(255,255,255,.22);
}
.rc-desde__label{margin:0;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.rc-desde__ano{
  margin:.2rem 0 .8rem;font-family:var(--rc-display);font-weight:800;line-height:1;
  font-size:clamp(3rem,2.2rem + 3vw,4.6rem);letter-spacing:-.04em;color:var(--rc-accent);
}
.rc-desde__text{margin:0;color:rgba(255,255,255,.88);font-size:.98rem}

/* Visão / Missão / Objectivo */
.rc-vmo__grid{display:grid;gap:clamp(1.1rem,2vw,1.8rem)}
@media (min-width:820px){.rc-vmo__grid{grid-template-columns:repeat(3,1fr)}}
.rc-vmo__card{
  position:relative;padding:clamp(1.5rem,2.6vw,2.1rem);
  background:#fff;border:1px solid var(--rc-line);border-radius:var(--rc-r);
  transition:transform .5s var(--rc-ease),box-shadow .5s var(--rc-ease);
}
.rc-vmo__card:hover{transform:translateY(-5px);box-shadow:var(--rc-shadow-lg)}
.rc-vmo__icon{
  display:grid;place-content:center;width:52px;height:52px;margin-bottom:1rem;border-radius:16px;
  background:linear-gradient(140deg,rgba(var(--rc-primary-rgb),.12),rgba(var(--rc-accent-rgb),.18));
  color:var(--rc-primary);
}
.rc-vmo__card h3{font-size:1.24rem;margin:0 0 .5rem}
.rc-vmo__card p{margin:0;color:var(--rc-muted);font-size:.98rem}

/* Objectivos específicos */
.rc-esp__grid{display:grid;gap:var(--rc-gap);align-items:center}
@media (min-width:960px){.rc-esp__grid{grid-template-columns:1.15fr .85fr;gap:clamp(2.5rem,5vw,4.5rem)}}
.rc-esp__media{margin:0}
.rc-esp__media img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--rc-r-lg);box-shadow:var(--rc-shadow-lg)}

.rc-steps{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem;counter-reset:passo}
.rc-steps li{
  position:relative;display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;
  padding:1.1rem 1.2rem;border-radius:var(--rc-r);
  background:#fff;border:1px solid var(--rc-line);
  transition:transform .45s var(--rc-ease),border-color .4s,box-shadow .45s var(--rc-ease);
}
.rc-steps li:hover{transform:translateX(6px);border-color:rgba(var(--rc-primary-rgb),.35);box-shadow:var(--rc-shadow)}
.rc-steps__num{
  font-family:var(--rc-display);font-size:1.1rem;font-weight:800;color:var(--rc-accent);
  line-height:1.5;
}
.rc-steps li p{margin:0;font-size:.98rem;color:var(--rc-muted)}

/* Membros */
.rc-grid-logos{display:grid;gap:clamp(.9rem,1.8vw,1.4rem);grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.rc-logo{
  display:flex;flex-direction:column;gap:.6rem;padding:1rem;
  background:#fff;border:1px solid var(--rc-line);border-radius:var(--rc-r);
  transition:transform .45s var(--rc-ease),box-shadow .45s var(--rc-ease),border-color .4s;
}
.rc-logo:hover{transform:translateY(-5px);box-shadow:var(--rc-shadow);border-color:rgba(var(--rc-primary-rgb),.3)}
.rc-logo__box{
  display:grid;place-content:center;aspect-ratio:3/2;overflow:hidden;
  border-radius:var(--rc-r-sm);background:var(--rc-surface);
}
.rc-logo__box img{max-height:100%;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .45s,opacity .45s,transform .6s var(--rc-ease)}
.rc-logo:hover .rc-logo__box img{filter:none;opacity:1;transform:scale(1.05)}
.rc-logo__box em{font-style:normal;font-weight:600;color:var(--rc-primary);text-align:center;padding:.5rem}
.rc-logo__name{font-size:.9rem;font-weight:600;display:flex;flex-direction:column}
.rc-logo__name i{font-style:normal;font-weight:400;font-size:.82rem;color:var(--rc-muted)}

.rc-membros__poster{margin:0}
.rc-membros__poster img{width:100%;border-radius:var(--rc-r-lg);box-shadow:var(--rc-shadow-lg);cursor:zoom-in}

/* Faixa contínua de logótipos */
.rc-faixa{padding-block:clamp(2rem,4vw,3.5rem)}
.rc-marquee{
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.rc-marquee__track{display:flex;align-items:center;gap:clamp(2rem,5vw,4rem);width:max-content;animation:rc-marquee 48s linear infinite}
.rc-marquee:hover .rc-marquee__track{animation-play-state:paused}
.rc-marquee__item img{height:clamp(46px,6vw,72px);width:auto;object-fit:contain;filter:grayscale(1);opacity:.6;transition:.4s}
.rc-marquee__item:hover img{filter:none;opacity:1}
.rc-marquee__item span{font-weight:600;color:var(--rc-muted);white-space:nowrap}
@keyframes rc-marquee{to{transform:translateX(-50%)}}

/* Galeria */
.rc-galeria__count{margin:0;color:var(--rc-muted);font-size:.92rem}
.rc-mosaico{display:grid;gap:clamp(.6rem,1.4vw,1rem);grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.rc-mosaico__item{
  position:relative;margin:0;overflow:hidden;border-radius:var(--rc-r-sm);
  aspect-ratio:1;background:var(--rc-surface);cursor:zoom-in;
}
.rc-mosaico__item:nth-child(7n+1){grid-column:span 2;grid-row:span 2;aspect-ratio:1}
.rc-mosaico__item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--rc-ease),filter .5s}
.rc-mosaico__item:hover img{transform:scale(1.08)}
.rc-mosaico__zoom{
  position:absolute;inset:0;display:grid;place-content:center;
  background:linear-gradient(0deg,rgba(var(--rc-primary-rgb),.55),rgba(var(--rc-ink-rgb),.25));
  color:#fff;opacity:0;transition:opacity .4s var(--rc-ease);
}
.rc-mosaico__item:hover .rc-mosaico__zoom{opacity:1}
@media (max-width:560px){.rc-mosaico__item:nth-child(7n+1){grid-column:span 1;grid-row:span 1}}

/* Contactos */
.rc-contacto__grid,.rc-contactos__grid{display:grid;gap:var(--rc-gap)}
@media (min-width:900px){
  .rc-contacto__grid{grid-template-columns:1fr 1.1fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:center}
  .rc-contactos__grid{grid-template-columns:1.2fr .8fr;gap:clamp(2.5rem,5vw,4rem);align-items:start}
}
.rc-contacto{background:var(--rc-surface)}
.rc-contacto__list{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;gap:.7rem}
.rc-contacto__list li{display:flex;align-items:center;gap:.7rem;color:var(--rc-muted)}
.rc-contacto__list .rc-icon{color:var(--rc-primary);flex:none}
.rc-contacto__list a:hover{color:var(--rc-primary)}
.rc-contacto__form{
  padding:clamp(1.4rem,3vw,2.4rem);background:#fff;
  border:1px solid var(--rc-line);border-radius:var(--rc-r-lg);box-shadow:var(--rc-shadow);
}

.rc-info{
  display:flex;gap:1rem;align-items:flex-start;
  padding:1.2rem;margin-bottom:1rem;
  background:#fff;border:1px solid var(--rc-line);border-radius:var(--rc-r);
  transition:transform .45s var(--rc-ease),box-shadow .45s var(--rc-ease);
}
.rc-info:hover{transform:translateY(-4px);box-shadow:var(--rc-shadow)}
.rc-info__icon{
  display:grid;place-content:center;flex:none;width:44px;height:44px;border-radius:14px;
  background:rgba(var(--rc-primary-rgb),.1);color:var(--rc-primary);
}
.rc-info h3{margin:0 0 .2rem;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rc-muted);font-family:var(--rc-body);font-weight:600}
.rc-info a{font-weight:600}
.rc-info a:hover{color:var(--rc-primary)}

.rc-mapa{position:relative;height:clamp(280px,42vw,440px);filter:grayscale(.35) contrast(1.05)}
.rc-mapa iframe{width:100%;height:100%;border:0;display:block}

/* Formulário */
.rc-form{display:grid;gap:1.1rem}
.rc-form__row{display:grid;gap:1.1rem}
@media (min-width:560px){.rc-form__row{grid-template-columns:1fr 1fr}}

.rc-field{position:relative}
.rc-field input,.rc-field textarea{
  width:100%;padding:1.35rem 1rem .6rem;
  font:inherit;font-size:.98rem;color:var(--rc-ink);
  background:var(--rc-surface);border:1px solid transparent;border-radius:var(--rc-r-sm);
  transition:border-color .3s,background-color .3s,box-shadow .3s;
}
.rc-contacto__form .rc-field input,.rc-contacto__form .rc-field textarea{background:#fbfcfb;border-color:var(--rc-line)}
.rc-field textarea{resize:vertical;min-height:130px}
.rc-field label{
  position:absolute;left:1rem;top:1rem;
  font-size:.95rem;color:var(--rc-muted);pointer-events:none;
  transform-origin:left top;
  transition:transform .28s var(--rc-ease),color .28s;
}
.rc-field label span{color:var(--rc-accent-dark)}
.rc-field input:focus,.rc-field textarea:focus{
  outline:none;border-color:var(--rc-primary);background:#fff;
  box-shadow:0 0 0 4px rgba(var(--rc-primary-rgb),.12);
}
.rc-field input:focus + label,
.rc-field textarea:focus + label,
.rc-field input:not(:placeholder-shown) + label,
.rc-field textarea:not(:placeholder-shown) + label{
  transform:translateY(-.62rem) scale(.78);color:var(--rc-primary);
}
.rc-field.is-error input,.rc-field.is-error textarea{border-color:#c0392b;box-shadow:0 0 0 4px rgba(192,57,43,.1)}

.rc-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

.rc-form__submit{justify-content:center;width:100%}
@media (min-width:560px){.rc-form__submit{width:auto}}
.rc-btn__spin{
  display:none;width:16px;height:16px;border-radius:50%;
  border:2px solid rgba(255,255,255,.4);border-top-color:#fff;
  animation:rc-spin .7s linear infinite;
}
.rc-form.is-sending .rc-btn__spin{display:inline-block}
.rc-form.is-sending .rc-form__submit{opacity:.75;pointer-events:none}
@keyframes rc-spin{to{transform:rotate(360deg)}}

.rc-form__msg{margin:0;font-size:.94rem;min-height:1.2em}
.rc-form__msg.is-ok{color:var(--rc-primary)}
.rc-form__msg.is-bad{color:#c0392b}

/* Testemunhos */
.rc-slider{position:relative}
.rc-slider__track{
  display:flex;gap:clamp(1rem,2vw,1.6rem);
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding-bottom:.5rem;
  scrollbar-width:none;
}
.rc-slider__track::-webkit-scrollbar{display:none}
.rc-quote{
  flex:0 0 min(100%,420px);scroll-snap-align:center;
  position:relative;padding:clamp(1.6rem,3vw,2.2rem);
  background:#fff;border:1px solid var(--rc-line);border-radius:var(--rc-r-lg);
  transition:transform .5s var(--rc-ease),box-shadow .5s var(--rc-ease);
}
.rc-quote:hover{transform:translateY(-5px);box-shadow:var(--rc-shadow-lg)}
.rc-quote__mark{display:block;margin-bottom:.8rem;color:rgba(var(--rc-accent-rgb),.85)}
.rc-quote blockquote{margin:0 0 1.4rem;padding:0;border:0;font-size:1.02rem;color:var(--rc-ink)}
.rc-quote blockquote p{margin:0}
.rc-quote__by{display:flex;align-items:center;gap:.85rem;padding-top:1.1rem;border-top:1px solid var(--rc-line)}
.rc-quote__by img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid rgba(var(--rc-accent-rgb),.45)}
.rc-quote__by p{margin:0;display:flex;flex-direction:column;line-height:1.35}
.rc-quote__by span{font-size:.87rem;color:var(--rc-muted)}

.rc-slider__ui{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.8rem}
.rc-slider__btn{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--rc-line);
  background:#fff;color:var(--rc-primary);font-size:1.4rem;line-height:1;cursor:pointer;
  transition:background-color .3s,color .3s,transform .3s var(--rc-ease);
}
.rc-slider__btn:hover{background:var(--rc-primary);color:#fff;transform:scale(1.06)}
.rc-slider__dots{display:flex;gap:.5rem}
.rc-slider__dots button{
  width:9px;height:9px;padding:0;border:0;border-radius:50%;cursor:pointer;
  background:rgba(var(--rc-ink-rgb),.18);transition:.3s var(--rc-ease);
}
.rc-slider__dots button.is-active{width:26px;border-radius:999px;background:var(--rc-primary)}

/* Artigo */
.rc-single__head{padding:11rem 0 2rem;background:var(--rc-surface)}
.rc-single__meta{display:flex;align-items:center;gap:.85rem;margin:0 0 1rem;font-size:.85rem;color:var(--rc-muted)}
.rc-single__title{font-size:clamp(1.7rem,1.25rem + 2.4vw,2.9rem);margin:0;max-width:22ch;max-width:min(22ch,100%)}
.rc-single__media{margin:0;background:linear-gradient(180deg,var(--rc-surface) 50%,#fff 50%)}
.rc-single__media img{width:100%;max-height:520px;object-fit:cover;border-radius:var(--rc-r-lg);box-shadow:var(--rc-shadow-lg)}
.rc-single__body{max-width:780px;padding-block:clamp(2.5rem,5vw,4rem)}
.rc-single__foot{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--rc-line)}

/* Paginação */
.rc-pagination{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:clamp(2rem,4vw,3rem)}
.rc-pagination .page-numbers{
  display:grid;place-content:center;min-width:42px;height:42px;padding:0 .8rem;
  border:1px solid var(--rc-line);border-radius:12px;font-size:.94rem;font-weight:600;
  transition:.3s var(--rc-ease);
}
.rc-pagination .page-numbers:hover{border-color:var(--rc-primary);color:var(--rc-primary)}
.rc-pagination .current{background:var(--rc-primary);border-color:var(--rc-primary);color:#fff}

/* 404 */
.rc-404{padding-top:12rem;text-align:center}
.rc-404 .rc-eyebrow{justify-content:center}
.rc-404 .rc-lead{max-width:52ch;margin-inline:auto}

/* --------------------------------------------------------------- 8 Rodapé */
.rc-footer{
  position:relative;overflow:hidden;
  padding-top:clamp(3.5rem,7vw,5.5rem);
  background:var(--rc-ink);color:rgba(255,255,255,.78);
}
.rc-footer::before{
  content:"";position:absolute;inset:0 0 auto 0;height:3px;
  background:linear-gradient(90deg,var(--rc-primary),var(--rc-accent),var(--rc-primary));
  background-size:200% 100%;animation:rc-shift 9s linear infinite;
}
@keyframes rc-shift{to{background-position:200% 0}}

.rc-footer__grid{display:grid;gap:clamp(2rem,4vw,3rem);padding-bottom:clamp(2.5rem,5vw,3.5rem)}
@media (min-width:760px){.rc-footer__grid{grid-template-columns:1.4fr 1fr 1.3fr 1fr}}
.rc-footer__logo{max-height:56px;width:auto;margin-bottom:1.1rem;filter:brightness(0) invert(1);opacity:.95}
.rc-footer__brand p{margin:0;font-size:.96rem;max-width:34ch}
.rc-footer h4{
  margin:0 0 1.1rem;font-family:var(--rc-body);font-size:.8rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:#fff;
}
.rc-footer__links{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.rc-footer__links a{
  display:inline-flex;align-items:center;gap:.55rem;font-size:.95rem;
  transition:color .3s,transform .3s var(--rc-ease);
}
.rc-footer__links a:hover{color:#fff;transform:translateX(4px)}
.rc-footer__links--icons .rc-icon{color:var(--rc-accent);flex:none}
.rc-footer__links--icons a{align-items:flex-start}
.rc-footer__links--icons span{max-width:28ch}

.rc-social{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.rc-social a{display:inline-flex;align-items:center;gap:.6rem;font-size:.95rem;transition:color .3s}
.rc-social a:hover{color:#fff}
.rc-social .rc-icon{color:var(--rc-accent)}
.rc-social--card{display:flex;gap:.6rem;margin-top:1.2rem}
.rc-social--card a{
  display:grid;place-content:center;width:44px;height:44px;border-radius:14px;
  background:rgba(var(--rc-primary-rgb),.1);color:var(--rc-primary);
  transition:background-color .35s,color .35s,transform .35s var(--rc-ease);
}
.rc-social--card a:hover{background:var(--rc-primary);color:#fff;transform:translateY(-3px)}

.rc-footer__bar{
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;
  padding-block:1.4rem;border-top:1px solid rgba(255,255,255,.12);
  font-size:.88rem;
}
.rc-footer__bar p{margin:0}
.rc-footer__bar a:hover{color:#fff;text-decoration:underline}

/* Voltar ao topo */
.rc-top{
  position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);z-index:90;
  display:grid;place-content:center;width:48px;height:48px;
  border:0;border-radius:16px;cursor:pointer;
  background:var(--rc-primary);color:#fff;
  box-shadow:0 14px 30px -14px rgba(var(--rc-primary-rgb),.9);
  opacity:0;visibility:hidden;transform:translateY(14px);
  transition:.4s var(--rc-ease);
}
.rc-top.is-on{opacity:1;visibility:visible;transform:none}
.rc-top:hover{background:var(--rc-primary-dark);transform:translateY(-3px)}

/* Lightbox */
.rc-lightbox{
  position:fixed;inset:0;z-index:200;
  display:flex;align-items:center;justify-content:center;
  background:rgba(var(--rc-ink-rgb),.94);
  opacity:0;transition:opacity .35s var(--rc-ease);
}
.rc-lightbox[hidden]{display:none}
.rc-lightbox.is-open{opacity:1}
.rc-lightbox__figure{margin:0;max-width:min(1100px,92vw);max-height:82vh}
.rc-lightbox__figure img{
  max-width:100%;max-height:82vh;object-fit:contain;border-radius:var(--rc-r-sm);
  animation:rc-zoom .45s var(--rc-ease);
}
@keyframes rc-zoom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.rc-lightbox__close,.rc-lightbox__nav{
  position:absolute;background:rgba(255,255,255,.1);border:0;color:#fff;cursor:pointer;
  width:52px;height:52px;border-radius:50%;font-size:1.8rem;line-height:1;
  transition:background-color .3s,transform .3s var(--rc-ease);
}
.rc-lightbox__close:hover,.rc-lightbox__nav:hover{background:rgba(255,255,255,.24);transform:scale(1.06)}
.rc-lightbox__close{top:1.5rem;right:1.5rem;font-size:1.6rem}
.rc-lightbox__nav--prev{left:1.5rem}
.rc-lightbox__nav--next{right:1.5rem}
.rc-lightbox__count{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);margin:0;color:rgba(255,255,255,.7);font-size:.9rem}
@media (max-width:640px){
  .rc-lightbox__nav{width:44px;height:44px;font-size:1.4rem}
  .rc-lightbox__nav--prev{left:.6rem}
  .rc-lightbox__nav--next{right:.6rem}
}

/* ---------------------------------------------------------- 9 Utilidades */
.rc-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--rc-ease),transform .8s var(--rc-ease)}
.rc-reveal.is-in{opacity:1;transform:none}

.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;
}

.alignwide{max-width:min(1100px,100%)}
.alignfull{width:100%}
.wp-caption-text,figcaption{font-size:.85rem;color:var(--rc-muted);text-align:center;margin-top:.5rem}

/* Barra de administração */
.admin-bar .rc-header{top:32px}
@media (max-width:782px){.admin-bar .rc-header{top:46px}}

/* Movimento reduzido */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .rc-reveal{opacity:1;transform:none}
  .rc-hero__bg{animation:none}
  .rc-marquee__track{animation:none}
  .rc-split .rc-word > span{transform:none}
}

/* ------------------------------------------------------------- 10 Vídeo */
.rc-video{
  position:relative;overflow:hidden;border-radius:var(--rc-r-lg);
  background:var(--rc-ink);box-shadow:var(--rc-shadow-lg);
}
.rc-video__el{display:block;width:100%;height:auto;max-height:70vh;background:#000}
.rc-video__embed{position:relative;padding-top:56.25%}
.rc-video__embed iframe,
.rc-video__embed > *{position:absolute!important;inset:0;width:100%!important;height:100%!important;border:0}

.rc-videosec .rc-head{margin-bottom:clamp(1.4rem,3vw,2.2rem)}

.rc-post__media{position:relative}
.rc-post__play{
  position:absolute;left:1rem;bottom:1rem;
  display:grid;place-content:center;width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--rc-primary);
  box-shadow:0 8px 20px -8px rgba(var(--rc-ink-rgb),.7);
  transition:transform .4s var(--rc-ease),background-color .3s;
}
.rc-post:hover .rc-post__play{transform:scale(1.12);background:#fff}

.rc-single__media--after{margin-top:2rem}

/* --------------------------------------------- 11 Anel de cores da marca */
/* O logótipo tem seis pessoas em roda; a secção tem seis papéis.
   Cada cartão herda a cor da sua posição no anel. */
.rc-cards .rc-card:nth-child(1){--rc-tone:var(--rc-c1);--rc-tone-rgb:var(--rc-c1-rgb)}
.rc-cards .rc-card:nth-child(2){--rc-tone:var(--rc-c2);--rc-tone-rgb:var(--rc-c2-rgb)}
.rc-cards .rc-card:nth-child(3){--rc-tone:var(--rc-c3);--rc-tone-rgb:var(--rc-c3-rgb)}
.rc-cards .rc-card:nth-child(4){--rc-tone:var(--rc-c4);--rc-tone-rgb:var(--rc-c4-rgb)}
.rc-cards .rc-card:nth-child(5){--rc-tone:var(--rc-c5);--rc-tone-rgb:var(--rc-c5-rgb)}
.rc-cards .rc-card:nth-child(6){--rc-tone:var(--rc-c6);--rc-tone-rgb:var(--rc-c6-rgb)}

.rc-cards .rc-card__icon{
  background:rgba(var(--rc-tone-rgb,var(--rc-primary-rgb)),.12);
  color:var(--rc-tone,var(--rc-primary));
}
.rc-cards .rc-card:hover .rc-card__icon{
  background:var(--rc-tone,var(--rc-primary));
  color:#fff;
}
.rc-cards .rc-card__edge{
  background:linear-gradient(90deg,var(--rc-tone,var(--rc-primary)),rgba(var(--rc-tone-rgb,var(--rc-primary-rgb)),.35));
}
.rc-cards .rc-card:hover{box-shadow:0 30px 70px -34px rgba(var(--rc-tone-rgb,var(--rc-ink-rgb)),.6)}
.rc-cards .rc-card__media::after{
  content:"";position:absolute;inset:0;
  background:rgba(var(--rc-tone-rgb,var(--rc-primary-rgb)),.16);
  opacity:0;transition:opacity .5s var(--rc-ease);
}
.rc-cards .rc-card__media{position:relative}
.rc-cards .rc-card:hover .rc-card__media::after{opacity:1}

/* Barra do rodapé com o anel completo */
.rc-footer::before{
  background:linear-gradient(90deg,
    var(--rc-c1) 0%,var(--rc-c1) 16.6%,
    var(--rc-c2) 16.6%,var(--rc-c2) 33.3%,
    var(--rc-c3) 33.3%,var(--rc-c3) 50%,
    var(--rc-c4) 50%,var(--rc-c4) 66.6%,
    var(--rc-c5) 66.6%,var(--rc-c5) 83.3%,
    var(--rc-c6) 83.3%,var(--rc-c6) 100%);
  background-size:100% 100%;
  animation:none;
}

/* Logótipo do rodapé: mantém as cores, sobre um cartão claro */
.rc-footer__logo{
  filter:none;opacity:1;
  padding:.7rem .9rem;border-radius:14px;
  background:#fff;
  max-height:74px;
}

/* Ponto de progresso com as cores da marca */
.rc-progress span{background:linear-gradient(90deg,var(--rc-c1),var(--rc-c2),var(--rc-c3),var(--rc-c4),var(--rc-c5),var(--rc-c6))}

/* ==========================================================================
   12 — Camada de movimento (sequência de entrada, cursor, transições)
   ========================================================================== */

/* O ecrã de abertura tem estilo próprio inline no cabeçalho, para não
   depender desta folha. Aqui não se define nada sobre ele. */

/* ------------------------------------------------ Transição entre páginas */
.rc-wipe{
  position:fixed;inset:0;z-index:9998;display:flex;pointer-events:none;
}
.rc-wipe span{
  flex:1;background:var(--rc-ink);
  transform:scaleY(0);transform-origin:bottom;
  transition:transform .55s cubic-bezier(.76,0,.24,1);
}
.rc-wipe span:nth-child(2){transition-delay:.06s}
.rc-wipe span:nth-child(3){transition-delay:.12s}
.rc-wipe span:nth-child(4){transition-delay:.18s}
.rc-wipe span:nth-child(5){transition-delay:.24s}
.rc-wipe.is-out span{transform:scaleY(1);transform-origin:bottom}

/* ------------------------------------------------------- Cursor próprio */
.rc-cursor{position:fixed;inset:0;z-index:9997;pointer-events:none;display:none}
@media (hover:hover) and (pointer:fine) and (min-width:1000px){
  .rc-cursor{display:block}
  body.rc-has-cursor{cursor:none}
  body.rc-has-cursor a,
  body.rc-has-cursor button,
  body.rc-has-cursor [data-tilt],
  body.rc-has-cursor input,
  body.rc-has-cursor textarea{cursor:none}
}
.rc-cursor__dot,.rc-cursor__ring{
  position:absolute;top:0;left:0;border-radius:50%;
  transform:translate3d(-50%,-50%,0);
}
.rc-cursor__dot{width:7px;height:7px;background:var(--rc-primary)}
.rc-cursor__ring{
  width:38px;height:38px;border:1.5px solid rgba(var(--rc-primary-rgb),.5);
  transition:width .3s var(--rc-ease),height .3s var(--rc-ease),
             background-color .3s,border-color .3s,opacity .3s;
}
.rc-cursor.is-hot .rc-cursor__ring{
  width:64px;height:64px;
  background:rgba(var(--rc-accent-rgb),.16);
  border-color:rgba(var(--rc-accent-rgb),.7);
}
.rc-cursor.is-hot .rc-cursor__dot{opacity:0}
.rc-cursor.is-hidden{opacity:0}

/* ------------------------------------------------ Indicador lateral de rolo */
.rc-siderail{
  position:fixed;left:clamp(.8rem,2vw,1.6rem);top:50%;z-index:80;
  transform:translateY(-50%);
  display:none;flex-direction:column;align-items:center;gap:.9rem;
  color:var(--rc-muted);
}
@media (min-width:1180px){.rc-siderail{display:flex}}
.rc-siderail__label{
  writing-mode:vertical-rl;font-size:.7rem;font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;
}
.rc-siderail__line{
  position:relative;width:1px;height:120px;background:rgba(var(--rc-ink-rgb),.16);
}
.rc-siderail__line i{
  position:absolute;inset:0 auto auto 0;width:100%;height:0;
  background:linear-gradient(180deg,var(--rc-primary),var(--rc-accent));
  transition:height .15s linear;
}
.rc-siderail__pct{
  font-family:var(--rc-display);font-size:.78rem;font-weight:700;color:var(--rc-primary);
  font-variant-numeric:tabular-nums;
}

/* Cabeçalho claro sobre secções escuras */
.rc-header.is-over-dark:not(.is-solid) .rc-menu a,
.rc-header.is-over-dark:not(.is-solid) .rc-brand__text{color:#fff}
.rc-header.is-over-dark:not(.is-solid) .rc-btn--ghost{background:rgba(255,255,255,.14);color:#fff}
.rc-header.is-over-dark:not(.is-solid) .rc-btn--ghost:hover{background:#fff;color:var(--rc-ink)}
.rc-header.is-over-dark:not(.is-solid) .rc-burger{background:rgba(255,255,255,.16)}
.rc-header.is-over-dark:not(.is-solid) .rc-burger span{background:#fff}
.rc-header.is-over-dark:not(.is-solid) .rc-brand img{filter:brightness(0) invert(1)}

/* ==========================================================================
   13 — Destaque com atmosfera, cartões 3D, faixa de texto
   ========================================================================== */

/* --------------------------------------------------- Formas e grão no hero */
.rc-hero__blobs{position:absolute;inset:0;z-index:-5;overflow:hidden;pointer-events:none}
.rc-hero__blobs i{
  position:absolute;display:block;border-radius:50%;
  filter:blur(90px);opacity:.28;
}
.rc-hero__blobs i:nth-child(1){
  width:46vw;height:46vw;left:-8vw;top:-10vw;background:var(--rc-c6);
  animation:rc-drift-a 22s ease-in-out infinite alternate;
}
.rc-hero__blobs i:nth-child(2){
  width:38vw;height:38vw;right:-6vw;top:10vh;background:var(--rc-c4);
  animation:rc-drift-b 26s ease-in-out infinite alternate;
}
.rc-hero__blobs i:nth-child(3){
  width:30vw;height:30vw;left:34vw;bottom:-12vw;background:var(--rc-c2);
  opacity:.3;animation:rc-drift-c 30s ease-in-out infinite alternate;
}
@keyframes rc-drift-a{to{transform:translate3d(8vw,6vh,0) scale(1.15)}}
@keyframes rc-drift-b{to{transform:translate3d(-7vw,-5vh,0) scale(1.2)}}
@keyframes rc-drift-c{to{transform:translate3d(4vw,-8vh,0) scale(.88)}}

.rc-hero__grain{
  position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:rc-grain 1.2s steps(4) infinite;
}
@keyframes rc-grain{
  0%,100%{transform:translate(0,0)}
  25%{transform:translate(-3%,2%)}
  50%{transform:translate(2%,-3%)}
  75%{transform:translate(-2%,-2%)}
}

/* ------------------------------------------------------- Cartões com 3D */
.rc-cards .rc-card{transform-style:preserve-3d;will-change:transform}
.rc-card__veil{
  position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(var(--rc-tone-rgb,var(--rc-primary-rgb)),.85),rgba(var(--rc-tone-rgb,var(--rc-primary-rgb)),.1));
  opacity:0;transition:opacity .5s var(--rc-ease);
}
.rc-card:hover .rc-card__veil{opacity:1}
.rc-card__num{
  position:absolute;right:1rem;bottom:.6rem;
  font-family:var(--rc-display);font-size:2.6rem;font-weight:800;line-height:1;
  color:rgba(255,255,255,.9);letter-spacing:-.04em;
  opacity:0;transform:translateY(12px);
  transition:opacity .45s var(--rc-ease),transform .45s var(--rc-ease);
}
.rc-card:hover .rc-card__num{opacity:1;transform:none}
.rc-card__shine{
  position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(340px circle at var(--px,50%) var(--py,50%),rgba(255,255,255,.5),transparent 62%);
  opacity:0;transition:opacity .4s;mix-blend-mode:overlay;
}
.rc-card:hover .rc-card__shine{opacity:1}

/* --------------------------------------------- Revelação de imagem por corte */
.rc-clip img{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s cubic-bezier(.76,0,.24,1),transform 1.4s var(--rc-ease)}
.rc-clip img{transform:scale(1.12)}
.rc-clip.is-in img{clip-path:inset(0 0 0 0);transform:scale(1)}

/* ------------------------------------------------------ Faixa de texto */
.rc-band{
  overflow:hidden;padding-block:clamp(1.1rem,2.4vw,1.8rem);
  background:var(--rc-primary);color:#fff;
  border-block:1px solid rgba(255,255,255,.12);
}
.rc-band__track{display:flex;align-items:center;gap:1.6rem;width:max-content;animation:rc-band 42s linear infinite}
.rc-band:hover .rc-band__track{animation-play-state:paused}
.rc-band__item{
  font-family:var(--rc-display);font-size:clamp(1.1rem,1rem + .9vw,1.9rem);
  font-weight:700;letter-spacing:-.01em;white-space:nowrap;
}
.rc-band__sep{
  flex:none;width:11px;height:11px;border-radius:50%;
  background:var(--rc-accent);
}
@keyframes rc-band{to{transform:translateX(-50%)}}

/* ------------------------------------------------ Botões com atracção */
.rc-btn[data-magnet]{will-change:transform}

/* ------------------------------------- Voltar ao topo com anel de progresso */
.rc-top{overflow:visible}
.rc-top__ring{position:absolute;inset:-5px;transform:rotate(-90deg);pointer-events:none}
.rc-top__ring circle{fill:none;stroke-width:2}
.rc-top__ring .bg{stroke:rgba(255,255,255,.25)}
.rc-top__ring .fg{stroke:var(--rc-accent);stroke-linecap:round;transition:stroke-dashoffset .1s linear}

/* ------------------------------------------------------ Ligações animadas */
.rc-menu a,.rc-footer__links a,.rc-link{position:relative}

/* Movimento reduzido — desliga a camada nova */
@media (prefers-reduced-motion:reduce){
  .rc-wipe{display:none}
  .rc-cursor{display:none!important}
  body.rc-has-cursor{cursor:auto}
  .rc-hero__blobs i,.rc-hero__grain{animation:none}
  .rc-band__track{animation:none}
  .rc-clip img{clip-path:none;transform:none}
  body.rc-loading{overflow:auto}
}


/* Tilt: evita conflito com o hover translateY dos cartões */
.rc-post[data-tilt],.rc-vmo__card[data-tilt]{transform-style:preserve-3d;will-change:transform}
.rc-post[data-tilt]:hover,.rc-vmo__card[data-tilt]:hover{transform:none}
.rc-cards .rc-card:hover{transform:none}
.rc-cards .rc-card{transition:box-shadow .5s var(--rc-ease),border-color .4s,transform .35s var(--rc-ease)}

/* Sem rato fino, mantém-se a elevação simples */
@media (hover:none),(pointer:coarse){
  .rc-cards .rc-card:hover,.rc-post:hover,.rc-vmo__card:hover{transform:translateY(-5px)}
}

/* ==========================================================================
   14 — Destaque animado: malha, anel e sucessão de fotografias
   ========================================================================== */

/* Malha de cooperação (canvas) */
.rc-hero__net{
  position:absolute;inset:0;z-index:-4;
  width:100%;height:100%;display:block;
  opacity:.85;pointer-events:none;
}
.rc-hero--rede .rc-hero__net{opacity:1}
.rc-hero--rede{background:linear-gradient(160deg,var(--rc-ink),#0f1a12 55%,var(--rc-primary-dark))}
.rc-hero--misto .rc-hero__net{opacity:.4}

/* Sucessão de fotografias */
.rc-hero__slides{position:absolute;inset:0;z-index:-6;overflow:hidden}
.rc-hero__slide{
  position:absolute;inset:-6% 0;
  background-size:cover;background-position:center;
  opacity:0;transform:scale(1.08);
  transition:opacity 1.6s var(--rc-ease);
}
.rc-hero__slide.is-on{
  opacity:1;
  animation:rc-kenburns 12s ease-out forwards;
}

/* Anel em órbita */
.rc-hero__ring{
  position:absolute;inset:0;z-index:-4;
  display:grid;place-items:center;pointer-events:none;
  opacity:.55;
}
.rc-hero__ring svg{width:min(120vh,120vw);height:min(120vh,120vw)}
.rc-ring__spin{
  transform-origin:300px 300px;
  animation:rc-orbit 46s linear infinite;
}
.rc-ring__dot{
  transform-origin:center;
  animation:rc-breathe 5s ease-in-out infinite alternate;
  animation-delay:var(--d,0s);
}
.rc-ring__pulse{
  transform-origin:300px 300px;
  animation:rc-ring-pulse 4.5s ease-out infinite;
}
.rc-hero--anel{background:linear-gradient(160deg,var(--rc-ink),var(--rc-primary-dark))}

@keyframes rc-orbit{to{transform:rotate(360deg)}}
@keyframes rc-breathe{to{opacity:.85;transform:scale(1.12)}}
@keyframes rc-ring-pulse{
  0%{transform:scale(.75);opacity:.7}
  70%{transform:scale(1.9);opacity:0}
  100%{opacity:0}
}

/* Manchas mais discretas quando há fotografia por baixo */
.rc-hero--imagem .rc-hero__blobs i,
.rc-hero--slideshow .rc-hero__blobs i,
.rc-hero--misto .rc-hero__blobs i,


@media (prefers-reduced-motion:reduce){
  .rc-ring__spin,.rc-ring__dot,.rc-ring__pulse{animation:none}
  .rc-hero__slide.is-on{animation:none}
}

/* ------------------------------------ Testemunhos: poucos cartões centrados */
.rc-slider--poucos .rc-slider__track{justify-content:center;flex-wrap:wrap}
.rc-slider--poucos .rc-slider__ui{display:none}
@media (max-width:760px){
  .rc-slider--poucos .rc-slider__track{flex-wrap:nowrap}
  .rc-slider--poucos .rc-slider__ui{display:flex}
}

/* O cartão cortado à direita era confuso — sinal claro de que há mais */
.rc-slider{position:relative}
.rc-slider::after{
  content:"";position:absolute;top:0;right:calc(var(--rc-pad) * -1);bottom:3.5rem;width:clamp(30px,6vw,80px);
  background:linear-gradient(90deg,transparent,var(--rc-surface));
  pointer-events:none;
}
.rc-slider--poucos::after{display:none}
.rc-testemunhos .rc-slider__track{padding-inline:2px}

/* ------------------------- Cartões sem fotografia: o ícone ganha peso */
.rc-card:not(:has(.rc-card__media)) .rc-card__body{padding-top:clamp(1.6rem,3vw,2.2rem)}
.rc-card:not(:has(.rc-card__media)) .rc-card__icon{
  width:56px;height:56px;border-radius:18px;margin-bottom:.6rem;
}
.rc-card:not(:has(.rc-card__media))::before{
  content:"";position:absolute;inset:0 auto auto 0;width:100%;height:110px;
  background:linear-gradient(160deg,rgba(var(--rc-tone-rgb,var(--rc-primary-rgb)),.10),transparent 70%);
  pointer-events:none;
}

/* ==========================================================================
   15 — Justificação do texto
   ==========================================================================
   Justificar sem hifenização abre "rios" brancos entre palavras, sobretudo
   em colunas estreitas. Por isso a hifenização automática vai junto, e em
   ecrãs pequenos o texto volta a alinhar à esquerda, onde a justificação
   faz mais mal que bem. */

.rc-justify .rc-lead,
.rc-justify .rc-card__text,
.rc-justify .rc-post__excerpt,
.rc-justify .rc-vmo__card p,
.rc-justify .rc-steps li p,
.rc-justify .rc-desde__text,
.rc-justify .rc-head__sub,
.rc-justify .rc-quote blockquote p,
.rc-justify .rc-prose p,
.rc-justify .rc-prose li,
.rc-justify .rc-footer__brand p,
.rc-justify .rc-cta__inner p,
.rc-justify .rc-station__label,
.rc-justify .rc-pagehero__sub{
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
  -webkit-hyphens:auto;
  hyphenate-limit-chars:6 3 3;
  text-wrap:pretty;
}

/* Abaixo de 640px a justificação estraga mais do que arruma. */
@media (max-width:640px){
  .rc-justify .rc-lead,
  .rc-justify .rc-card__text,
  .rc-justify .rc-post__excerpt,
  .rc-justify .rc-vmo__card p,
  .rc-justify .rc-steps li p,
  .rc-justify .rc-desde__text,
  .rc-justify .rc-head__sub,
  .rc-justify .rc-quote blockquote p,
  .rc-justify .rc-prose p,
  .rc-justify .rc-prose li,
  .rc-justify .rc-footer__brand p,
  .rc-justify .rc-cta__inner p,
  .rc-justify .rc-station__label,
  .rc-justify .rc-pagehero__sub{
    text-align:left;
    hyphens:none;
  }
}

/* Títulos nunca se justificam. */
.rc-justify h1,.rc-justify h2,.rc-justify h3,.rc-justify h4{text-align:inherit;hyphens:none}

/* ==========================================================================
   16 — Telemóvel e tablet
   ========================================================================== */

/* --- Até 1000px: sem menu horizontal, cabeçalho mais compacto --- */
@media (max-width:999px){
  html{scroll-padding-top:76px}
  .rc-header{padding-block:.7rem}
  .rc-header.is-solid{padding-block:.45rem}
  .rc-brand img,.rc-brand__img,.custom-logo{max-height:42px}
  .rc-header.is-solid .rc-brand img{max-height:36px}
}

/* --- Tablet --- */
@media (max-width:900px){
  :root{--rc-sec:clamp(3rem,7vw,4.5rem)}
  .rc-hero{min-height:auto;padding:7.5rem 0 4.5rem}
  .rc-pagehero{padding:8.5rem 0 clamp(2.5rem,6vw,3.5rem)}
  .rc-single__head{padding:8.5rem 0 1.5rem}
  .rc-404{padding-top:9rem}
  .rc-razao__frame{display:none}
  .rc-siderail{display:none}
}

/* --- Telemóvel --- */
@media (max-width:640px){
  :root{
    --rc-pad:1.15rem;
    --rc-sec:2.75rem;
    --rc-gap:1.5rem;
    --rc-r-lg:18px;
    --rc-r:14px;
  }

  body.rc-body{font-size:1rem;line-height:1.65}

  /* Destaque */
  .rc-hero{padding:6.5rem 0 3.5rem;min-height:auto}
  .rc-hero__title{font-size:clamp(1.9rem,1.2rem + 5.2vw,2.6rem);letter-spacing:-.02em}
  .rc-hero__sub{font-size:1rem;margin-bottom:1.6rem}
  .rc-hero__scroll{display:none}
  .rc-hero__veil{
    background:linear-gradient(180deg,
      rgba(var(--rc-ink-rgb),calc(var(--rc-veil) * 1.1)) 0%,
      rgba(var(--rc-ink-rgb),calc(var(--rc-veil) * .7)) 45%,
      rgba(var(--rc-ink-rgb),calc(var(--rc-veil) * 1.25)) 100%);
  }

  .rc-pagehero{padding:7rem 0 2.5rem}
  .rc-pagehero__title{font-size:clamp(1.7rem,1.2rem + 4vw,2.2rem)}
  .rc-pagehero__sub{font-size:1rem}
  .rc-crumbs{font-size:.8rem}

  /* Botões cómodos para o polegar */
  .rc-btn{padding:.8rem 1.25rem;font-size:.92rem;min-height:46px}
  .rc-hero__btn,.rc-cta .rc-btn{width:auto}

  /* Cartões */
  .rc-card__media,.rc-post__media{aspect-ratio:16/9}
  .rc-card__body,.rc-post__body{padding:1.15rem}
  .rc-card__title,.rc-post__title{font-size:1.05rem}
  .rc-card__num{font-size:1.9rem}

  /* Contadores: o ponto ficava colado ao número */
  .rc-rail{padding-top:2rem;gap:1.8rem}
  .rc-station__num{font-size:clamp(2.4rem,1.8rem + 5vw,3.2rem)}
  .rc-station__label{font-size:.95rem;max-width:none}

  /* Números dos passos */
  .rc-steps li{padding:1rem;gap:.8rem}

  /* Testemunhos: um cartão de cada vez, sem corte */
  .rc-quote{flex:0 0 88%;padding:1.35rem}
  .rc-quote blockquote{font-size:.98rem}
  .rc-quote__by img{width:46px;height:46px}
  .rc-slider::after{display:none}

  /* Galeria: dois por linha, sem destaque duplo */
  .rc-mosaico{grid-template-columns:repeat(2,1fr);gap:.5rem}
  .rc-mosaico__item:nth-child(7n+1){grid-column:span 1;grid-row:span 1}

  /* Membros */
  .rc-grid-logos{grid-template-columns:repeat(2,1fr);gap:.7rem}

  /* Formulário: campos maiores, sem zoom automático no iPhone */
  .rc-field input,.rc-field textarea{font-size:16px;padding:1.3rem .9rem .55rem}
  .rc-field textarea{min-height:110px}
  .rc-form__submit{width:100%;justify-content:center}
  .rc-contacto__form{padding:1.2rem}

  /* Faixa e rodapé */
  .rc-band__item{font-size:1.05rem}
  .rc-footer__grid{gap:2rem}
  .rc-footer__bar{flex-direction:column;align-items:flex-start;gap:.5rem;text-align:left}
  .rc-footer__links--icons span{max-width:none}

  /* Botão de topo mais discreto */
  .rc-top{width:44px;height:44px;right:1rem;bottom:1rem}

  /* Gaveta do menu */
  .rc-drawer{padding-top:5.5rem}
  .rc-drawer__menu a{font-size:1.35rem;padding:.85rem 0}

  /* Cabeçalho do artigo */
  .rc-single__head{padding:7rem 0 1.2rem}
  .rc-single__title{font-size:clamp(1.5rem,1.1rem + 3.5vw,2rem)}
  .rc-single__media img{max-height:280px;border-radius:var(--rc-r)}
  .rc-single__foot{flex-direction:column;gap:.8rem}
  .rc-link--right{margin-left:0;text-align:left}

  /* Mapa */
  .rc-mapa{height:260px}

  /* Prosa */
  .rc-prose blockquote{padding:1rem 1.1rem;margin:1.5rem 0}
}

/* --- Ecrãs muito estreitos --- */
@media (max-width:380px){
  .rc-grid-logos,.rc-mosaico{grid-template-columns:1fr}
  .rc-hero__title{font-size:1.75rem}
  .rc-btn{width:100%;justify-content:center}
  .rc-header__cta{display:none}
}

/* --- Ecrãs largos: evitar linhas demasiado longas --- */
@media (min-width:1600px){
  :root{--rc-max:1280px}
}

/* --- Altura reduzida em paisagem (telemóvel deitado) --- */
@media (max-height:520px) and (orientation:landscape){
  .rc-hero{min-height:auto;padding:6rem 0 3rem}
  .rc-hero__scroll{display:none}
  .rc-drawer{padding-top:4.5rem}
  .rc-drawer__menu a{font-size:1.1rem;padding:.55rem 0}
}

/* ==========================================================================
   17 — Nova estrutura editorial da página inicial
   ========================================================================== */

/* ------------------------------------------------ Secção escura genérica */
.rc-section--dark{
  background:var(--rc-ink);color:rgba(255,255,255,.78);
  position:relative;overflow:hidden;
}
.rc-section--dark h2,.rc-section--dark h3,.rc-section--dark h4{color:#fff}
.rc-eyebrow--light{color:var(--rc-accent)}
.rc-eyebrow--light::before{background:linear-gradient(90deg,var(--rc-accent),transparent)}

.rc-btn--clear{
  background:transparent;color:currentColor;
  border-color:rgba(255,255,255,.28);
}
.rc-btn--clear:hover{background:#fff;color:var(--rc-ink);border-color:#fff}
.rc-hero .rc-btn--clear{color:#fff}

/* ------------------------------------------------- Destaque assimétrico */
.rc-hero__inner{max-width:min(1000px,100%)}
.rc-hero__eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  margin:0 0 1.4rem;padding:.42rem 1rem;
  border:1px solid rgba(255,255,255,.28);border-radius:999px;
  font-size:.76rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.9);backdrop-filter:blur(6px);
}
.rc-hero__eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--rc-accent);
  box-shadow:0 0 0 0 rgba(var(--rc-accent-rgb),.7);
  animation:rc-ping 2.4s ease-out infinite;
}
@keyframes rc-ping{70%{box-shadow:0 0 0 12px rgba(var(--rc-accent-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--rc-accent-rgb),0)}}

.rc-hero__acts{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.rc-hero{padding-bottom:clamp(8rem,14vw,12rem)}

/* -------------------------------------------------- Pilares sobrepostos */
.rc-pillars{position:relative;z-index:2;margin-top:clamp(-6.5rem,-8vw,-4.5rem)}
.rc-pillars__grid{display:grid;gap:clamp(.9rem,1.6vw,1.4rem)}
@media (min-width:820px){.rc-pillars__grid{grid-template-columns:repeat(3,1fr)}}

.rc-pillar{
  position:relative;overflow:hidden;
  padding:clamp(1.5rem,2.6vw,2.1rem);
  background:#fff;border-radius:var(--rc-r-lg);
  box-shadow:0 26px 60px -34px rgba(var(--rc-ink-rgb),.55),0 1px 0 rgba(var(--rc-ink-rgb),.04);
  transition:transform .5s var(--rc-ease),box-shadow .5s var(--rc-ease);
}
.rc-pillar[data-tone="1"]{--rc-tone:var(--rc-c1);--rc-tone-rgb:var(--rc-c1-rgb)}
.rc-pillar[data-tone="2"]{--rc-tone:var(--rc-c2);--rc-tone-rgb:var(--rc-c2-rgb)}
.rc-pillar[data-tone="3"]{--rc-tone:var(--rc-c6);--rc-tone-rgb:var(--rc-c6-rgb)}
.rc-pillar::before{
  content:"";position:absolute;inset:0 0 auto 0;height:4px;
  background:var(--rc-tone,var(--rc-primary));
  transform:scaleX(0);transform-origin:left;
  transition:transform .6s var(--rc-ease);
}
.rc-pillar:hover{transform:translateY(-6px);box-shadow:0 40px 80px -36px rgba(var(--rc-tone-rgb),.55)}
.rc-pillar:hover::before{transform:scaleX(1)}
.rc-pillar__icon{
  display:grid;place-content:center;width:56px;height:56px;margin-bottom:1.1rem;
  border-radius:18px;color:var(--rc-tone,var(--rc-primary));
  background:rgba(var(--rc-tone-rgb,var(--rc-primary-rgb)),.11);
  transition:transform .5s var(--rc-ease),background-color .4s,color .4s;
}
.rc-pillar:hover .rc-pillar__icon{transform:rotate(-8deg) scale(1.06);background:var(--rc-tone);color:#fff}
.rc-pillar__title{font-size:1.18rem;margin:0 0 .5rem;line-height:1.3}
.rc-pillar__text{margin:0;font-size:.97rem;color:var(--rc-muted)}

/* ------------------------------------ Razão de Ser: imagens sobrepostas */
.rc-vp__grid{display:grid;gap:clamp(2.5rem,5vw,4.5rem);align-items:center}
@media (min-width:960px){.rc-vp__grid{grid-template-columns:.95fr 1.05fr}}

.rc-vp__media{position:relative;padding-bottom:clamp(2rem,5vw,4rem);padding-right:clamp(1rem,4vw,3rem)}
.rc-vp__img{margin:0;overflow:hidden;border-radius:var(--rc-r-lg)}
.rc-vp__img img{width:100%;height:100%;object-fit:cover;display:block}
.rc-vp__img--back{aspect-ratio:4/5;box-shadow:var(--rc-shadow-lg)}
.rc-vp__img--front{
  position:absolute;right:0;bottom:0;width:56%;aspect-ratio:1;
  border:8px solid #fff;border-radius:var(--rc-r-lg);
  box-shadow:0 30px 60px -28px rgba(var(--rc-ink-rgb),.55);
}
.rc-vp__badge{
  position:absolute;left:clamp(-.5rem,-1vw,0rem);bottom:clamp(3rem,7vw,5rem);
  display:flex;flex-direction:column;gap:.15rem;
  padding:1rem 1.3rem;border-radius:18px;
  background:var(--rc-primary);color:#fff;
  box-shadow:0 22px 44px -22px rgba(var(--rc-primary-rgb),.9);
}
.rc-vp__badge b{
  font-family:var(--rc-display);font-size:2.4rem;font-weight:800;line-height:1;
  letter-spacing:-.04em;
}
.rc-vp__badge i{font-style:normal;color:var(--rc-accent)}
.rc-vp__badge em{font-style:normal;font-size:.82rem;opacity:.85;max-width:14ch}

/* Barras de medida */
.rc-meters{display:grid;gap:1.35rem;margin:2rem 0 2.2rem}
.rc-meter__top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.55rem}
.rc-meter__label{font-size:.95rem;font-weight:500;color:var(--rc-muted)}
.rc-meter__num{
  font-family:var(--rc-display);font-size:1.6rem;font-weight:800;
  letter-spacing:-.03em;color:var(--rc-primary);white-space:nowrap;
}
.rc-meter__num i{font-style:normal;color:var(--rc-accent)}
.rc-meter__bar{height:5px;border-radius:5px;background:rgba(var(--rc-ink-rgb),.08);overflow:hidden}
.rc-meter__bar span{
  display:block;height:100%;width:0;border-radius:5px;
  background:linear-gradient(90deg,var(--rc-primary),var(--rc-accent));
  transition:width 1.5s cubic-bezier(.22,1,.36,1);
}

/* ------------------------------------------------- Papéis: lista viva */
.rc-roles{position:relative}
.rc-roles .rc-head--split .rc-h2{max-width:24ch}
.rc-roles__list{border-top:1px solid rgba(255,255,255,.14)}

.rc-role{position:relative}
.rc-role[data-tone="1"]{--rc-tone:var(--rc-c1);--rc-tone-rgb:var(--rc-c1-rgb)}
.rc-role[data-tone="2"]{--rc-tone:var(--rc-c2);--rc-tone-rgb:var(--rc-c2-rgb)}
.rc-role[data-tone="3"]{--rc-tone:var(--rc-c3);--rc-tone-rgb:var(--rc-c3-rgb)}
.rc-role[data-tone="4"]{--rc-tone:var(--rc-c4);--rc-tone-rgb:var(--rc-c4-rgb)}
.rc-role[data-tone="5"]{--rc-tone:var(--rc-c4);--rc-tone-rgb:var(--rc-c4-rgb)}
.rc-role[data-tone="6"]{--rc-tone:var(--rc-c3);--rc-tone-rgb:var(--rc-c3-rgb)}

.rc-role__head{
  display:grid;
  grid-template-columns:auto auto 1fr auto;
  align-items:center;gap:clamp(.9rem,2.5vw,2rem);
  width:100%;padding:clamp(1.2rem,2.4vw,1.9rem) 0;
  background:none;border:0;text-align:left;cursor:pointer;color:inherit;
  transition:padding-left .5s var(--rc-ease);
}
.rc-role:hover .rc-role__head,
.rc-role.is-open .rc-role__head{padding-left:clamp(.5rem,1.5vw,1.2rem)}

.rc-role__num{
  font-family:var(--rc-display);font-size:.92rem;font-weight:700;
  letter-spacing:.08em;color:rgba(255,255,255,.35);
  transition:color .4s;
}
.rc-role:hover .rc-role__num,
.rc-role.is-open .rc-role__num{color:var(--rc-tone,var(--rc-accent))}

.rc-role__icon{
  display:grid;place-content:center;width:44px;height:44px;border-radius:14px;
  background:rgba(255,255,255,.07);color:rgba(255,255,255,.7);
  transition:background-color .4s,color .4s,transform .5s var(--rc-ease);
}
.rc-role:hover .rc-role__icon,
.rc-role.is-open .rc-role__icon{background:var(--rc-tone);color:#fff;transform:rotate(-8deg)}

.rc-role__title{
  font-family:var(--rc-display);
  font-size:clamp(1.05rem,.92rem + .75vw,1.55rem);
  font-weight:600;line-height:1.25;letter-spacing:-.015em;color:#fff;
  text-wrap:balance;
}

.rc-role__plus{
  position:relative;width:34px;height:34px;border-radius:50%;flex:none;
  border:1px solid rgba(255,255,255,.22);
  transition:background-color .4s,border-color .4s,transform .5s var(--rc-ease);
}
.rc-role__plus::before,.rc-role__plus::after{
  content:"";position:absolute;top:50%;left:50%;
  width:12px;height:1.5px;border-radius:2px;background:currentColor;
  transform:translate(-50%,-50%);transition:transform .45s var(--rc-ease),opacity .3s;
}
.rc-role__plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.rc-role:hover .rc-role__plus{border-color:var(--rc-tone);background:rgba(var(--rc-tone-rgb),.2)}
.rc-role.is-open .rc-role__plus{background:var(--rc-tone);border-color:var(--rc-tone);transform:rotate(180deg)}
.rc-role.is-open .rc-role__plus::after{opacity:0;transform:translate(-50%,-50%) rotate(0)}

.rc-role__body{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .55s var(--rc-ease);
}
.rc-role.is-open .rc-role__body{grid-template-rows:1fr}
.rc-role__body > p{
  overflow:hidden;margin:0;
  max-width:68ch;
  padding-left:clamp(0px,7vw,90px);
  font-size:1rem;color:rgba(255,255,255,.66);
  opacity:0;transform:translateY(8px);
  transition:opacity .45s var(--rc-ease) .1s,transform .45s var(--rc-ease) .1s,padding .5s var(--rc-ease);
}
.rc-role.is-open .rc-role__body > p{opacity:1;transform:none;padding-bottom:clamp(1.2rem,2.4vw,1.8rem)}

.rc-role__rule{
  display:block;height:1px;background:rgba(255,255,255,.14);
  position:relative;overflow:hidden;
}
.rc-role__rule::after{
  content:"";position:absolute;inset:0;background:var(--rc-tone,var(--rc-accent));
  transform:scaleX(0);transform-origin:left;
  transition:transform .6s var(--rc-ease);
}
.rc-role:hover .rc-role__rule::after,
.rc-role.is-open .rc-role__rule::after{transform:scaleX(1)}

/* Imagem que segue o rato sobre a lista */
.rc-roles__peek{
  position:fixed;top:0;left:0;z-index:5;
  width:clamp(200px,20vw,300px);aspect-ratio:4/3;margin:0;
  border-radius:var(--rc-r);overflow:hidden;pointer-events:none;
  opacity:0;transform:translate3d(-50%,-50%,0) scale(.9);
  transition:opacity .35s var(--rc-ease),transform .45s var(--rc-ease);
  box-shadow:0 30px 60px -24px rgba(0,0,0,.7);
}
.rc-roles__peek img{width:100%;height:100%;object-fit:cover;display:block}
.rc-roles__peek.is-on{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}
@media (max-width:1000px),(hover:none){.rc-roles__peek{display:none}}

/* ------------------------------------------------- Faixa de membros */
.rc-membrand__label{
  margin:0 0 clamp(1.6rem,3vw,2.4rem);text-align:center;
  font-family:var(--rc-display);font-size:clamp(1.1rem,1rem + .7vw,1.5rem);
  font-weight:600;color:var(--rc-muted);
}
.rc-membrand__label strong{color:var(--rc-primary)}
.rc-membrand .rc-faixa{padding-block:0}

/* --------------------------------------------- Chamada à acção grande */
.rc-cta--big{padding-block:clamp(5rem,10vw,8rem)}
.rc-cta--big .rc-eyebrow{justify-content:center;display:inline-flex}
.rc-cta__title{
  font-size:clamp(2rem,1.3rem + 3.6vw,4rem);
  font-weight:800;letter-spacing:-.03em;line-height:1.05;
  margin:0 0 1.2rem;color:#fff;max-width:18ch;margin-inline:auto;
}

/* --------------------------------------------------- Notícias editoriais */
.rc-editorial{display:grid;gap:clamp(1.6rem,3vw,2.6rem)}
@media (min-width:900px){.rc-editorial{grid-template-columns:1.35fr 1fr;align-items:start}}

.rc-lead-post{display:grid;gap:1.3rem}
.rc-lead-post__media{
  position:relative;display:block;overflow:hidden;
  aspect-ratio:16/10;border-radius:var(--rc-r-lg);background:var(--rc-surface);
}
.rc-lead-post__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--rc-ease)}
.rc-lead-post:hover .rc-lead-post__media img{transform:scale(1.05)}
.rc-lead-post__body h3{
  font-size:clamp(1.3rem,1.1rem + 1.1vw,1.9rem);margin:.5rem 0 .6rem;line-height:1.22;
}
.rc-lead-post__body h3 a{
  background:linear-gradient(var(--rc-primary),var(--rc-primary)) 0 100%/0 2px no-repeat;
  transition:background-size .5s var(--rc-ease),color .3s;
}
.rc-lead-post__body h3 a:hover{background-size:100% 2px;color:var(--rc-primary)}
.rc-lead-post__excerpt{margin:0 0 1rem;color:var(--rc-muted)}

.rc-editorial__rest{display:grid;align-content:start}
.rc-mini{
  display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;
  padding:1.2rem 0;border-bottom:1px solid var(--rc-line);
  transition:padding-left .45s var(--rc-ease);
}
.rc-mini:first-child{border-top:1px solid var(--rc-line)}
.rc-mini:hover{padding-left:.6rem}
.rc-mini__date{margin:0 0 .3rem;grid-column:1;font-size:.8rem;color:var(--rc-muted)}
.rc-mini h4{
  grid-column:1;margin:0;font-size:1.02rem;line-height:1.35;
}
.rc-mini h4 a:hover{color:var(--rc-primary)}
.rc-mini__thumb{
  grid-column:2;grid-row:1 / span 2;
  width:72px;height:72px;border-radius:12px;overflow:hidden;flex:none;
}
.rc-mini__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--rc-ease)}
.rc-mini:hover .rc-mini__thumb img{transform:scale(1.08)}

/* --------------------------------------------------------- Telemóvel */
@media (max-width:900px){
  .rc-pillars{margin-top:-3.5rem}
  .rc-hero{padding-bottom:6.5rem}
  .rc-vp__media{padding-right:0;padding-bottom:3.5rem}
  .rc-vp__img--front{width:52%;right:0}
  .rc-vp__badge{left:0;bottom:0}
}
@media (max-width:640px){
  .rc-pillars{margin-top:-2.5rem}
  .rc-hero{padding-bottom:5rem}
  .rc-hero__acts .rc-btn{flex:1 1 auto;justify-content:center}
  .rc-role__head{grid-template-columns:auto 1fr auto;gap:.75rem;padding-block:1rem}
  .rc-role__icon{display:none}
  .rc-role__body > p{padding-left:2.2rem;font-size:.95rem}
  .rc-vp__badge b{font-size:1.9rem}
  .rc-vp__img--front{border-width:5px}
  .rc-mini__thumb{width:60px;height:60px}
  .rc-cta__title{max-width:none}
}

/* ==========================================================================
   18 — Camada moderna
   Transições nativas entre páginas, animações guiadas pelo scroll,
   consultas de contentor e escala tipográfica fluida.
   ========================================================================== */

/* ------------------------- Transições nativas entre páginas (View Transitions)
   Suportado no Chrome, Edge e Safari. Onde não existir, a navegação é
   simplesmente instantânea — nada quebra. */
@view-transition{ navigation:auto; }

::view-transition-old(root){
  animation:rc-vt-out .32s cubic-bezier(.4,0,1,1) both;
}
::view-transition-new(root){
  animation:rc-vt-in .48s cubic-bezier(0,0,.2,1) both;
}
@keyframes rc-vt-out{to{opacity:0;transform:translateY(-14px)}}
@keyframes rc-vt-in{from{opacity:0;transform:translateY(20px)}}

/* O cabeçalho e o rodapé mantêm-se fixos durante a transição. */
.rc-header{view-transition-name:rc-header}
.rc-footer{view-transition-name:rc-footer}
::view-transition-group(rc-header),
::view-transition-group(rc-footer){animation-duration:.4s}

/* ------------------------------- Propriedades animáveis (@property)
   Permite animar degradês e ângulos, coisa que não era possível com
   variáveis CSS comuns. */
@property --rc-angle{
  syntax:'<angle>';
  inherits:false;
  initial-value:0deg;
}
@property --rc-shift{
  syntax:'<percentage>';
  inherits:false;
  initial-value:0%;
}

/* ---------------------------------- Escala tipográfica fluida
   Uma só razão (1.22 em telemóvel, 1.28 em ecrã grande) aplicada a
   todos os tamanhos, em vez de valores soltos. */
:root{
  --rc-fs--2:clamp(.74rem,.72rem + .08vw,.79rem);
  --rc-fs--1:clamp(.86rem,.83rem + .12vw,.92rem);
  --rc-fs-0 :clamp(1rem,.97rem + .16vw,1.06rem);
  --rc-fs-1 :clamp(1.18rem,1.12rem + .3vw,1.35rem);
  --rc-fs-2 :clamp(1.4rem,1.28rem + .58vw,1.73rem);
  --rc-fs-3 :clamp(1.66rem,1.46rem + 1vw,2.21rem);
  --rc-fs-4 :clamp(1.97rem,1.65rem + 1.6vw,2.83rem);
  --rc-fs-5 :clamp(2.34rem,1.84rem + 2.5vw,3.62rem);
  --rc-fs-6 :clamp(2.78rem,2rem + 3.9vw,4.63rem);

  /* Ritmo vertical proporcional */
  --rc-space-1:clamp(.5rem,.45rem + .25vw,.75rem);
  --rc-space-2:clamp(.85rem,.75rem + .5vw,1.25rem);
  --rc-space-3:clamp(1.4rem,1.2rem + 1vw,2.1rem);
  --rc-space-4:clamp(2.2rem,1.8rem + 2vw,3.5rem);
  --rc-space-5:clamp(3.5rem,2.8rem + 3.5vw,5.8rem);
}

/* --------------------------- Animações guiadas pelo scroll (nativas)
   Onde o navegador suporta animation-timeline, as revelações passam a ser
   feitas pelo compositor — mais suaves e sem JavaScript. O JavaScript
   continua a existir como alternativa para os restantes navegadores. */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference){

    .rc-reveal{
      opacity:1;transform:none;transition:none;
      animation:rc-enter linear both;
      animation-timeline:view();
      animation-range:entry 5% cover 26%;
    }
    .rc-reveal.is-in{opacity:1;transform:none}

    @keyframes rc-enter{
      from{opacity:0;transform:translateY(30px)}
      to{opacity:1;transform:none}
    }

    /* Imagens que se revelam por corte */
    .rc-clip img{
      transition:none;
      animation:rc-clip-in linear both;
      animation-timeline:view();
      animation-range:entry 0% cover 34%;
    }
    @keyframes rc-clip-in{
      from{clip-path:inset(0 0 100% 0);transform:scale(1.14)}
      to{clip-path:inset(0 0 0 0);transform:scale(1)}
    }

    /* Fotografias grandes que respiram ao passar */
    .rc-lead-post__media img,
    .rc-vp__img img{
      animation:rc-drift linear both;
      animation-timeline:view();
      animation-range:cover 0% cover 100%;
    }
    @keyframes rc-drift{
      from{transform:scale(1.08) translateY(-1.5%)}
      to{transform:scale(1.08) translateY(1.5%)}
    }

    /* Cabeçalhos de secção que sobem ligeiramente */
    .rc-head{
      animation:rc-head-in linear both;
      animation-timeline:view();
      animation-range:entry 10% cover 30%;
    }
    @keyframes rc-head-in{
      from{opacity:.25;transform:translateY(22px)}
      to{opacity:1;transform:none}
    }
  }
}

/* ------------------------------------- Consultas de contentor
   Os cartões deixam de depender da largura do ecrã e passam a responder
   ao espaço que realmente têm. Um cartão numa coluna estreita comporta-se
   como em telemóvel, mesmo num monitor grande. */
.rc-cards,.rc-posts,.rc-pillars__grid,.rc-vmo__grid,.rc-editorial{
  container-type:inline-size;
}
.rc-card,.rc-post,.rc-pillar,.rc-vmo__card,.rc-lead-post{
  container-type:inline-size;
}

@container (max-width: 340px){
  .rc-card__body,.rc-post__body{padding:1rem}
  .rc-card__title,.rc-post__title{font-size:var(--rc-fs-0)}
  .rc-card__text,.rc-post__excerpt{font-size:var(--rc-fs--1)}
  .rc-card__icon,.rc-pillar__icon{width:42px;height:42px;border-radius:13px}
}
@container (min-width: 560px){
  .rc-lead-post{grid-template-columns:1fr;gap:1.6rem}
  .rc-lead-post__body h3{font-size:var(--rc-fs-3)}
}

/* ==========================================================================
   19 — Desfile horizontal fixado (pin)
   A secção agarra-se ao ecrã e os seis papéis atravessam-no na horizontal
   à medida que se rola. Só em ecrãs largos e com rato; em telemóvel
   mantém-se a lista em acordeão, que é mais rápida de percorrer.
   ========================================================================== */

.rc-pin[hidden]{display:none}

.rc-pin{position:relative}
.rc-pin__viewport{
  position:sticky;top:0;height:100svh;
  display:flex;flex-direction:column;justify-content:center;
  gap:clamp(1.5rem,3vw,2.5rem);
  overflow:hidden;
}

.rc-pin__head{
  width:100%;max-width:var(--rc-max);
  margin-inline:auto;padding-inline:var(--rc-pad);
  flex:none;
}
.rc-pin__title{
  font-size:var(--rc-fs-4);margin:0 0 1.2rem;
  max-width:24ch;color:#fff;
}
.rc-pin__progress{
  height:2px;border-radius:2px;
  background:rgba(255,255,255,.14);overflow:hidden;
  max-width:420px;
}
.rc-pin__progress span{
  display:block;height:100%;width:0;border-radius:2px;
  background:linear-gradient(90deg,var(--rc-c1),var(--rc-c2),var(--rc-c3),var(--rc-c4),var(--rc-c6));
}

.rc-pin__track{
  display:flex;align-items:stretch;
  gap:clamp(1rem,2vw,1.8rem);
  padding-inline:max(var(--rc-pad),calc((100vw - var(--rc-max)) / 2));
  will-change:transform;
}

.rc-slab{
  position:relative;flex:0 0 clamp(300px,26vw,400px);
  display:flex;flex-direction:column;
  padding:clamp(1.5rem,2.4vw,2.1rem);
  border-radius:var(--rc-r-lg);overflow:hidden;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(6px);
  transition:background-color .5s var(--rc-ease),border-color .5s,transform .5s var(--rc-ease);
}
.rc-slab[data-tone="1"]{--rc-tone:var(--rc-c1);--rc-tone-rgb:var(--rc-c1-rgb)}
.rc-slab[data-tone="2"]{--rc-tone:var(--rc-c2);--rc-tone-rgb:var(--rc-c2-rgb)}
.rc-slab[data-tone="3"]{--rc-tone:var(--rc-c3);--rc-tone-rgb:var(--rc-c3-rgb)}
.rc-slab[data-tone="4"]{--rc-tone:var(--rc-c4);--rc-tone-rgb:var(--rc-c4-rgb)}
.rc-slab[data-tone="5"]{--rc-tone:var(--rc-c5);--rc-tone-rgb:var(--rc-c5-rgb)}
.rc-slab[data-tone="6"]{--rc-tone:var(--rc-c6);--rc-tone-rgb:var(--rc-c6-rgb)}

.rc-slab:hover{
  background:rgba(var(--rc-tone-rgb,255,255,255),.12);
  border-color:rgba(var(--rc-tone-rgb,255,255,255),.5);
  transform:translateY(-6px);
}
.rc-slab__media{
  margin:-1px -1px 1.3rem;height:150px;overflow:hidden;
  border-radius:var(--rc-r) var(--rc-r) 4px 4px;
}
.rc-slab__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--rc-ease)}
.rc-slab:hover .rc-slab__media img{transform:scale(1.06)}

.rc-slab__num{
  position:absolute;top:1.1rem;right:1.3rem;
  font-family:var(--rc-display);font-size:2.6rem;font-weight:800;
  line-height:1;letter-spacing:-.05em;
  color:rgba(255,255,255,.12);
  transition:color .5s;
}
.rc-slab:hover .rc-slab__num{color:rgba(var(--rc-tone-rgb),.7)}

.rc-slab__icon{
  display:grid;place-content:center;width:50px;height:50px;
  margin-bottom:1rem;border-radius:16px;
  background:rgba(var(--rc-tone-rgb,255,255,255),.16);
  color:var(--rc-tone,#fff);
  transition:background-color .45s,color .45s,transform .5s var(--rc-ease);
}
.rc-slab:hover .rc-slab__icon{background:var(--rc-tone);color:#fff;transform:rotate(-8deg)}

.rc-slab__title{
  font-size:var(--rc-fs-1);margin:0 0 .6rem;line-height:1.28;color:#fff;
}
.rc-slab__text{
  margin:0;font-size:var(--rc-fs--1);color:rgba(255,255,255,.62);
}

.rc-slab--end{
  justify-content:center;align-items:flex-start;gap:1.4rem;
  background:linear-gradient(150deg,var(--rc-primary),var(--rc-primary-dark));
  border-color:transparent;
}
.rc-slab--end .rc-slab__title{font-size:var(--rc-fs-2);max-width:14ch}
.rc-slab--end .rc-btn--primary{background:#fff;color:var(--rc-primary-dark)}

/* Enquanto o desfile está activo, a lista em acordeão fica escondida. */
.rc-roles.is-pinned .rc-container,
.rc-roles.is-pinned .rc-roles__peek{display:none}

@media (max-width:1100px),(hover:none){
  .rc-pin{display:none!important}
}
@media (prefers-reduced-motion:reduce){
  .rc-pin{display:none!important}
}

/* ==========================================================================
   20 — Barra de acção em telemóvel
   Em Moçambique a esmagadora maioria das visitas é por telemóvel, e a acção
   que interessa é ligar ou escrever. Fica sempre ao alcance do polegar,
   respeitando a área segura dos ecrãs com entalhe.
   ========================================================================== */

.rc-dock{display:none}

@media (max-width:900px){
  .rc-dock{
    position:fixed;left:0;right:0;bottom:0;z-index:85;
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:1px;padding-bottom:env(safe-area-inset-bottom,0);
    background:rgba(var(--rc-ink-rgb),.94);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    box-shadow:0 -8px 28px -18px rgba(0,0,0,.8);
    transform:translateY(110%);
    transition:transform .45s var(--rc-ease);
  }
  .rc-dock.is-on{transform:none}

  .rc-dock__item{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:.25rem;min-height:60px;padding:.5rem .4rem;
    color:rgba(255,255,255,.82);
    font-size:.72rem;font-weight:600;letter-spacing:.02em;
    transition:background-color .3s,color .3s;
  }
  .rc-dock__item:active{background:rgba(255,255,255,.1)}
  .rc-dock__item .rc-icon{color:var(--rc-accent)}
  .rc-dock__item--cta{background:var(--rc-primary);color:#fff}
  .rc-dock__item--cta .rc-icon{color:#fff}

  /* O botão de topo sobe para não ficar por baixo da barra. */
  .rc-top{bottom:calc(72px + env(safe-area-inset-bottom,0))}

  /* Espaço no fim da página para a barra não tapar o rodapé. */
  .rc-footer__bar{padding-bottom:calc(1.4rem + 60px + env(safe-area-inset-bottom,0))}
}

/* ==========================================================================
   21 — Detalhes de acabamento
   ========================================================================== */

/* Selecção de texto na cor da marca */
::selection{background:rgba(var(--rc-primary-rgb),.22);color:var(--rc-ink)}

/* Barra de deslocamento discreta, na cor da marca */
@supports (scrollbar-color: auto){
  html{scrollbar-color:rgba(var(--rc-primary-rgb),.45) transparent;scrollbar-width:thin}
}

/* Âncoras internas param abaixo do cabeçalho fixo */
:target{scroll-margin-top:110px}

/* Imagens sem legenda nunca esticam */
img{max-width:100%;height:auto}

/* Estados de foco coerentes em fundo escuro */
.rc-section--dark :focus-visible,
.rc-hero :focus-visible,
.rc-footer :focus-visible{outline-color:var(--rc-accent)}

/* Impressão: sem cores de fundo nem elementos de interface */
@media print{
  .rc-header,.rc-dock,.rc-top,.rc-siderail,.rc-progress,
  .rc-drawer,.rc-band,.rc-cursor,.rc-wipe,#rc-loader,
  .rc-hero__scroll,.rc-form,.rc-pin{display:none!important}
  body.rc-body{color:#000;background:#fff;font-size:11pt}
  .rc-section{padding-block:1.5rem}
  .rc-section--dark,.rc-cta,.rc-footer{background:#fff!important;color:#000!important}
  .rc-section--dark h2,.rc-section--dark h3,.rc-role__title{color:#000!important}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#555}
}

/* ==========================================================================
   18 — Sistema tipográfico expandido
   ==========================================================================
   Escala fluida de sete degraus. O tipo grande é o que separa um site de
   2026 de um de 2018 — e sai barato: não pesa nada e lê-se melhor. */

:root{
  --rc-t-xs: clamp(0.78rem, 0.76rem + 0.10vw, 0.84rem);
  --rc-t-sm: clamp(0.88rem, 0.86rem + 0.12vw, 0.95rem);
  --rc-t-md: clamp(1.00rem, 0.97rem + 0.18vw, 1.09rem);
  --rc-t-lg: clamp(1.15rem, 1.08rem + 0.40vw, 1.40rem);
  --rc-t-xl: clamp(1.50rem, 1.28rem + 1.10vw, 2.20rem);
  --rc-t-2xl:clamp(2.00rem, 1.55rem + 2.20vw, 3.40rem);
  --rc-t-3xl:clamp(2.60rem, 1.70rem + 4.40vw, 5.60rem);
  --rc-t-4xl:clamp(3.20rem, 1.60rem + 7.80vw, 9.00rem);

  /* Ritmo vertical */
  --rc-space-1:.5rem;  --rc-space-2:1rem;   --rc-space-3:1.5rem;
  --rc-space-4:2.5rem; --rc-space-5:4rem;   --rc-space-6:6rem;
}

/* Título gigante — usado nas aberturas de secção das páginas interiores */
.rc-display{
  font-family:var(--rc-display);
  font-size:var(--rc-t-3xl);
  font-weight:800;
  line-height:.96;
  letter-spacing:-.035em;
  margin:0 0 var(--rc-space-3);
  text-wrap:balance;
}
.rc-display--xl{font-size:var(--rc-t-4xl);letter-spacing:-.045em;line-height:.9}
.rc-display em{
  font-style:normal;
  color:var(--rc-primary);
}
.rc-section--dark .rc-display em{color:var(--rc-accent)}

/* Índice de secção — numeração editorial */
.rc-index{
  display:flex;align-items:center;gap:.85rem;
  margin:0 0 var(--rc-space-2);
  font-family:var(--rc-display);
  font-size:var(--rc-t-xs);font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--rc-muted);
}
.rc-index b{color:var(--rc-primary);font-weight:800}
.rc-index::after{
  content:"";flex:1;height:1px;max-width:120px;
  background:linear-gradient(90deg,var(--rc-line),transparent);
}
.rc-section--dark .rc-index{color:rgba(255,255,255,.5)}
.rc-section--dark .rc-index b{color:var(--rc-accent)}
.rc-section--dark .rc-index::after{background:linear-gradient(90deg,rgba(255,255,255,.25),transparent)}

/* ==========================================================================
   19 — Grelha bento
   ==========================================================================
   Composição de mosaicos de tamanhos diferentes. É o padrão de composição
   dominante em 2026 e resolve bem páginas com blocos de peso desigual. */

.rc-bento{
  display:grid;
  gap:clamp(.7rem,1.4vw,1.1rem);
  grid-template-columns:repeat(2,1fr);
}
@media (min-width:820px){
  .rc-bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(170px,auto)}
}

.rc-tile{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
  gap:.45rem;
  padding:clamp(1.15rem,2.2vw,1.7rem);
  border-radius:var(--rc-r);
  background:var(--rc-surface);
  border:1px solid var(--rc-line);
  container-type:inline-size;
  transition:transform .5s var(--rc-ease),box-shadow .5s var(--rc-ease);
}
.rc-tile:hover{transform:translateY(-4px);box-shadow:var(--rc-shadow)}

.rc-tile--wide{grid-column:span 2}
.rc-tile--tall{grid-row:span 2}
@media (min-width:820px){
  .rc-tile--w2{grid-column:span 2}
  .rc-tile--w3{grid-column:span 3}
  .rc-tile--w4{grid-column:span 4}
  .rc-tile--h2{grid-row:span 2}
}

.rc-tile__label{
  margin:0;font-size:var(--rc-t-xs);font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--rc-muted);
}
.rc-tile__title{
  margin:0;font-size:var(--rc-t-lg);line-height:1.2;
}
.rc-tile__text{margin:0;font-size:var(--rc-t-sm);color:var(--rc-muted)}
.rc-tile__num{
  margin:0;font-family:var(--rc-display);
  font-size:clamp(2.4rem,1.6rem + 3.4vw,4rem);font-weight:800;
  line-height:.95;letter-spacing:-.04em;color:var(--rc-primary);
}
.rc-tile__num i{font-style:normal;color:var(--rc-accent)}
.rc-tile__icon{
  position:absolute;top:clamp(1.1rem,2vw,1.6rem);left:clamp(1.15rem,2.2vw,1.7rem);
  display:grid;place-content:center;width:46px;height:46px;border-radius:14px;
  background:rgba(var(--rc-tone-rgb,var(--rc-primary-rgb)),.12);
  color:var(--rc-tone,var(--rc-primary));
  transition:background-color .4s,color .4s,transform .5s var(--rc-ease);
}
.rc-tile:hover .rc-tile__icon{background:var(--rc-tone,var(--rc-primary));color:#fff;transform:rotate(-8deg)}
.rc-tile:has(.rc-tile__icon){padding-top:calc(clamp(1.15rem,2.2vw,1.7rem) + 62px)}

/* Mosaico com fotografia de fundo */
.rc-tile--photo{border:0;color:#fff;min-height:200px}
.rc-tile--photo img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
  transition:transform .9s var(--rc-ease);
}
.rc-tile--photo::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,transparent 35%,rgba(var(--rc-ink-rgb),.85));
}
.rc-tile--photo:hover img{transform:scale(1.06)}
.rc-tile--photo .rc-tile__title{color:#fff}
.rc-tile--photo .rc-tile__label,.rc-tile--photo .rc-tile__text{color:rgba(255,255,255,.8)}

/* Mosaico em cor sólida */
.rc-tile--fill{
  background:var(--rc-tone,var(--rc-primary));
  border-color:transparent;color:#fff;
}
.rc-tile--fill .rc-tile__title{color:#fff}
.rc-tile--fill .rc-tile__label,.rc-tile--fill .rc-tile__text{color:rgba(255,255,255,.82)}
.rc-tile--fill .rc-tile__num{color:#fff}
.rc-tile--fill .rc-tile__num i{color:rgba(255,255,255,.65)}
.rc-tile--fill .rc-tile__icon{background:rgba(255,255,255,.16);color:#fff}

/* O conteúdo adapta-se à largura do próprio mosaico, não do ecrã */
@container (min-width:420px){
  .rc-tile__title{font-size:var(--rc-t-xl)}
}
@container (max-width:220px){
  .rc-tile__icon{width:38px;height:38px}
  .rc-tile:has(.rc-tile__icon){padding-top:calc(1.15rem + 52px)}
}

/* ==========================================================================
   20 — Páginas interiores
   ========================================================================== */

/* -------------------------------------------------- Abertura do Sobre Nós */
.rc-about-open__head{max-width:22ch;margin-bottom:clamp(2rem,4vw,3.2rem)}
.rc-about-open .rc-tile--fill .rc-tile__title{
  font-size:var(--rc-t-lg);font-weight:600;line-height:1.35;
  font-family:var(--rc-body);letter-spacing:0;
}

/* ----------------------------- Visão / Missão / Objectivo em coluna fixa */
.rc-vmo2__grid{display:grid;gap:clamp(2rem,4vw,3.5rem)}
@media (min-width:960px){
  .rc-vmo2__grid{grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,6vw,5rem)}
}
.rc-vmo2__sticky{position:sticky;top:120px}
.rc-vmo2__sticky .rc-lead{color:rgba(255,255,255,.6)}
.rc-vmo2__list{display:grid;gap:clamp(.8rem,1.6vw,1.2rem)}

.rc-stack{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;
  padding:clamp(1.4rem,2.6vw,2rem);
  border-radius:var(--rc-r);
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
  transition:background-color .5s var(--rc-ease),border-color .5s,transform .5s var(--rc-ease);
}
.rc-stack[data-tone="2"]{--rc-tone:var(--rc-c2);--rc-tone-rgb:var(--rc-c2-rgb)}
.rc-stack[data-tone="3"]{--rc-tone:var(--rc-c3);--rc-tone-rgb:var(--rc-c3-rgb)}
.rc-stack[data-tone="4"]{--rc-tone:var(--rc-c4);--rc-tone-rgb:var(--rc-c4-rgb)}
.rc-stack:hover{
  background:rgba(var(--rc-tone-rgb,var(--rc-primary-rgb)),.12);
  border-color:rgba(var(--rc-tone-rgb,var(--rc-primary-rgb)),.4);
  transform:translateX(6px);
}
.rc-stack__icon{
  display:grid;place-content:center;width:52px;height:52px;border-radius:16px;
  background:rgba(255,255,255,.08);color:var(--rc-tone,var(--rc-accent));
  transition:background-color .45s,color .45s,transform .5s var(--rc-ease);
}
.rc-stack:hover .rc-stack__icon{background:var(--rc-tone);color:#fff;transform:rotate(-8deg)}
.rc-stack__title{margin:0 0 .35rem;font-size:var(--rc-t-lg);color:#fff}
.rc-stack__text{margin:0;font-size:var(--rc-t-md);color:rgba(255,255,255,.66);max-width:60ch}
.rc-stack__n{
  position:absolute;right:clamp(1rem,2vw,1.6rem);top:clamp(1rem,2vw,1.4rem);
  font-family:var(--rc-display);font-size:var(--rc-t-sm);font-weight:700;
  letter-spacing:.12em;color:rgba(255,255,255,.22);
}

/* ------------------------------------------------------- Directório de membros */
.rc-dir{display:grid;gap:clamp(.7rem,1.4vw,1.1rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr))}
.rc-dir__item{
  position:relative;display:flex;flex-direction:column;gap:.8rem;
  padding:clamp(1rem,1.8vw,1.3rem);
  border:1px solid var(--rc-line);border-radius:var(--rc-r);
  background:#fff;
  transition:transform .45s var(--rc-ease),box-shadow .45s var(--rc-ease),border-color .4s;
}
.rc-dir__item:hover{transform:translateY(-5px);box-shadow:var(--rc-shadow);border-color:rgba(var(--rc-primary-rgb),.3)}
.rc-dir__box{
  display:grid;place-content:center;aspect-ratio:3/2;overflow:hidden;
  border-radius:var(--rc-r-sm);background:var(--rc-surface);padding:.6rem;
}
.rc-dir__box img{max-height:100%;width:auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .45s,opacity .45s,transform .6s var(--rc-ease)}
.rc-dir__item:hover .rc-dir__box img{filter:none;opacity:1;transform:scale(1.05)}
.rc-dir__box span{font-family:var(--rc-display);font-weight:700;color:var(--rc-primary);text-align:center;font-size:var(--rc-t-sm)}
.rc-dir__name{margin:0;font-size:var(--rc-t-sm);font-weight:600;line-height:1.35}
.rc-dir__local{margin:.15rem 0 0;font-size:var(--rc-t-xs);color:var(--rc-muted)}
.rc-dir__go{
  position:absolute;top:.8rem;right:.8rem;
  display:grid;place-content:center;width:30px;height:30px;border-radius:50%;
  background:rgba(var(--rc-primary-rgb),.1);color:var(--rc-primary);
  opacity:0;transform:translate(-4px,4px);
  transition:opacity .35s,transform .45s var(--rc-ease);
}
.rc-dir__item:hover .rc-dir__go{opacity:1;transform:none}

/* ------------------------------------------- Tira horizontal de fotografias */
.rc-strip{
  display:flex;gap:clamp(.6rem,1.2vw,1rem);
  overflow-x:auto;scroll-snap-type:x mandatory;
  padding-block:.35rem;
  scrollbar-width:thin;
  scroll-padding-inline:var(--rc-pad);
  overscroll-behavior-x:contain;
}
.rc-strip::-webkit-scrollbar{height:6px}
.rc-strip::-webkit-scrollbar-thumb{background:rgba(var(--rc-ink-rgb),.18);border-radius:6px}
.rc-strip__item{
  position:relative;flex:0 0 clamp(210px,26vw,330px);
  aspect-ratio:4/5;margin:0;overflow:hidden;
  border-radius:var(--rc-r);background:var(--rc-surface);
  scroll-snap-align:start;cursor:zoom-in;
}
.rc-strip__item:nth-child(3n+1){aspect-ratio:4/3;flex-basis:clamp(260px,34vw,430px)}
.rc-strip__item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--rc-ease)}
.rc-strip__item:hover img{transform:scale(1.06)}

.rc-strip__hint{
  display:flex;align-items:center;gap:.5rem;
  margin:.9rem 0 0;font-size:var(--rc-t-xs);
  letter-spacing:.14em;text-transform:uppercase;color:var(--rc-muted);
}
.rc-strip__hint::after{
  content:"";width:38px;height:1px;background:currentColor;
  animation:rc-hint 2.4s var(--rc-ease) infinite;
}
@keyframes rc-hint{0%,100%{transform:translateX(0);opacity:.4}50%{transform:translateX(8px);opacity:1}}

/* ------------------------------------------------------- Contactos em duas -- */
.rc-touch{display:grid;gap:clamp(.7rem,1.4vw,1rem)}
@media (min-width:620px){.rc-touch{grid-template-columns:repeat(3,1fr)}}
.rc-touch__card{
  display:flex;flex-direction:column;gap:.5rem;
  padding:clamp(1.2rem,2.2vw,1.6rem);
  border:1px solid var(--rc-line);border-radius:var(--rc-r);background:#fff;
  transition:transform .45s var(--rc-ease),box-shadow .45s var(--rc-ease),border-color .4s;
}
.rc-touch__card:hover{transform:translateY(-4px);box-shadow:var(--rc-shadow);border-color:rgba(var(--rc-primary-rgb),.28)}
.rc-touch__icon{
  display:grid;place-content:center;width:44px;height:44px;border-radius:14px;
  background:rgba(var(--rc-tone-rgb,var(--rc-primary-rgb)),.11);color:var(--rc-tone,var(--rc-primary));
}
.rc-touch__label{margin:.3rem 0 0;font-size:var(--rc-t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--rc-muted)}
.rc-touch__value{margin:0;font-size:var(--rc-t-md);font-weight:600;overflow-wrap:anywhere}
.rc-touch__value:hover{color:var(--rc-primary)}

/* --------------------------------------------------------- Telemóvel */
@media (max-width:640px){
  .rc-vmo2__sticky{position:static}
  .rc-stack{grid-template-columns:1fr;gap:.9rem;padding:1.2rem}
  .rc-stack__n{display:none}
  .rc-tile--w2,.rc-tile--w3,.rc-tile--w4{grid-column:span 2}
  .rc-tile--h2{grid-row:auto}
  .rc-bento{grid-template-columns:repeat(2,1fr)}
  .rc-dir{grid-template-columns:repeat(2,1fr)}
  .rc-strip__item{flex-basis:78vw}
  .rc-strip__item:nth-child(3n+1){flex-basis:78vw;aspect-ratio:4/5}
}

/* ==========================================================================
   21 — Revelações por rolagem, versão nativa
   ==========================================================================
   Onde o navegador entende animation-timeline, as revelações passam a
   correr no compositor, sem JavaScript. A regra de ouro: o estado final é
   o padrão, a animação é que se acrescenta por cima. Assim, num navegador
   sem suporte (Firefox estável em 2026) o conteúdo aparece na mesma. */

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {

    /* Mosaicos bento */
    .rc-tile{
      animation:rc-tile-in linear both;
      animation-timeline:view();
      animation-range:entry 5% cover 22%;
    }
    @keyframes rc-tile-in{
      from{opacity:0;transform:translateY(28px) scale(.97)}
      to{opacity:1;transform:none}
    }

    /* Cartões do directório */
    .rc-dir__item{
      animation:rc-tile-in linear both;
      animation-timeline:view();
      animation-range:entry 2% cover 18%;
    }

    /* Fotografias da tira: entram a rodar levemente */
    .rc-strip__item{
      animation:rc-strip-in linear both;
      animation-timeline:view(inline);
      animation-range:entry 0% entry 60%;
    }
    @keyframes rc-strip-in{
      from{opacity:.35;transform:scale(.94)}
      to{opacity:1;transform:none}
    }

    /* Blocos de Visão/Missão */
    .rc-stack{
      animation:rc-stack-in linear both;
      animation-timeline:view();
      animation-range:entry 5% cover 25%;
    }
    @keyframes rc-stack-in{
      from{opacity:0;transform:translateX(-22px)}
      to{opacity:1;transform:none}
    }

    /* Títulos gigantes ganham peso à medida que entram */
    .rc-display{
      animation:rc-display-in linear both;
      animation-timeline:view();
      animation-range:entry 10% cover 30%;
    }
    @keyframes rc-display-in{
      from{opacity:0;transform:translateY(20px)}
      to{opacity:1;transform:none}
    }
  }
}

/* Estado final por omissão — vale para qualquer navegador */
.rc-tile,.rc-dir__item,.rc-strip__item,.rc-stack,.rc-display{opacity:1;transform:none}

/* ==========================================================================
   22 — Ritmo cromático do site
   ==========================================================================
   O logótipo tem seis pessoas de mãos dadas, cada uma da sua cor. Em vez de
   pintar tudo de verde, cada secção recebe a sua cor do anel e o fundo
   alterna entre branco, um tom muito leve dessa cor, e escuro. Assim a
   página percorre o anel de cima a baixo — a identidade fica a estruturar
   o site, não apenas a decorá-lo.

   As percentagens dos tons são baixas de propósito: 4% a 8% de cor sobre
   branco lê-se como papel colorido, não como fundo berrante. */

/* -------------------------------------------------- Atribuição por secção */
.rc-tone-1{--rc-tone:var(--rc-c1);--rc-tone-rgb:var(--rc-c1-rgb)}  /* vermelho  */
.rc-tone-2{--rc-tone:var(--rc-c2);--rc-tone-rgb:var(--rc-c2-rgb)}  /* laranja   */
.rc-tone-3{--rc-tone:var(--rc-c3);--rc-tone-rgb:var(--rc-c3-rgb)}  /* verde-lima*/
.rc-tone-4{--rc-tone:var(--rc-c4);--rc-tone-rgb:var(--rc-c4-rgb)}  /* turquesa  */
.rc-tone-5{--rc-tone:var(--rc-c5);--rc-tone-rgb:var(--rc-c5-rgb)}  /* azul      */
.rc-tone-6{--rc-tone:var(--rc-c6);--rc-tone-rgb:var(--rc-c6-rgb)}  /* verde     */

/* --------------------------------------------------------- Fundos tingidos */
.rc-wash{
  background:color-mix(in srgb, var(--rc-tone, var(--rc-primary)) 6%, #fff);
  position:relative;
}
.rc-wash--strong{
  background:color-mix(in srgb, var(--rc-tone, var(--rc-primary)) 12%, #fff);
}

/* Navegadores sem color-mix ficam com o tom neutro de sempre. */
@supports not (background: color-mix(in srgb, red 5%, white)){
  .rc-wash,.rc-wash--strong{background:var(--rc-surface)}
}

/* Linha de separação na cor da secção */
.rc-wash::before,.rc-section--dark::before{
  content:"";position:absolute;inset:0 0 auto 0;height:2px;
  background:linear-gradient(90deg,
    var(--rc-tone,var(--rc-primary)),
    color-mix(in srgb, var(--rc-tone, var(--rc-primary)) 25%, transparent) 60%,
    transparent);
}

/* --------------------------- Elementos que herdam a cor da secção-mãe */
.rc-wash .rc-eyebrow,
.rc-tone-1 .rc-eyebrow,.rc-tone-2 .rc-eyebrow,.rc-tone-3 .rc-eyebrow,
.rc-tone-4 .rc-eyebrow,.rc-tone-5 .rc-eyebrow,.rc-tone-6 .rc-eyebrow{
  color:var(--rc-tone,var(--rc-primary));
}
.rc-wash .rc-eyebrow::before{
  background:linear-gradient(90deg,var(--rc-tone),color-mix(in srgb,var(--rc-tone) 30%,transparent));
}
.rc-wash .rc-index b{color:var(--rc-tone,var(--rc-primary))}
.rc-wash .rc-display em{color:var(--rc-tone,var(--rc-primary))}
.rc-wash .rc-tile__num{color:var(--rc-tone,var(--rc-primary))}
.rc-wash .rc-meter__bar span{
  background:linear-gradient(90deg,var(--rc-tone),color-mix(in srgb,var(--rc-tone) 55%, var(--rc-accent)));
}
.rc-wash .rc-btn--outline{
  color:var(--rc-tone,var(--rc-primary));
  border-color:color-mix(in srgb,var(--rc-tone) 40%, transparent);
}
.rc-wash .rc-btn--outline:hover{background:var(--rc-tone);color:#fff;border-color:var(--rc-tone)}
.rc-wash .rc-link{color:var(--rc-tone,var(--rc-primary))}
.rc-wash .rc-tag{
  background:color-mix(in srgb,var(--rc-tone) 18%, transparent);
  color:color-mix(in srgb,var(--rc-tone) 78%, #000);
}
.rc-wash .rc-vp__badge{
  background:var(--rc-tone,var(--rc-primary));
  box-shadow:0 22px 44px -22px color-mix(in srgb,var(--rc-tone) 80%, transparent);
}
.rc-wash .rc-touch__card:hover,
.rc-wash .rc-dir__item:hover{border-color:color-mix(in srgb,var(--rc-tone) 45%, transparent)}
.rc-wash .rc-steps li:hover{border-color:color-mix(in srgb,var(--rc-tone) 45%, transparent)}
.rc-wash .rc-steps__num{color:var(--rc-tone,var(--rc-primary))}
.rc-wash .rc-slider::after{
  background:linear-gradient(90deg,transparent,color-mix(in srgb, var(--rc-tone) 6%, #fff));
}
.rc-wash .rc-quote__mark{color:var(--rc-tone,var(--rc-accent))}
.rc-wash .rc-slider__dots button.is-active{background:var(--rc-tone,var(--rc-primary))}
.rc-wash .rc-slider__btn{color:var(--rc-tone,var(--rc-primary))}
.rc-wash .rc-slider__btn:hover{background:var(--rc-tone);color:#fff}
.rc-wash .rc-membrand__label strong{color:var(--rc-tone,var(--rc-primary))}

/* Secção escura tingida com a cor do anel, sem perder a legibilidade */
.rc-section--dark.rc-tone-5{
  background:linear-gradient(165deg,
    color-mix(in srgb, var(--rc-c5) 55%, var(--rc-ink)),
    var(--rc-ink) 65%);
}
.rc-section--dark.rc-tone-6{
  background:linear-gradient(165deg,
    color-mix(in srgb, var(--rc-c6) 40%, var(--rc-ink)),
    var(--rc-ink) 62%);
}

/* Chamada à acção assume a cor da sua posição no anel */
.rc-cta.rc-tone-1::after{
  background:linear-gradient(120deg,
    color-mix(in srgb, var(--rc-c1) 78%, var(--rc-ink)),
    rgba(var(--rc-ink-rgb),.9));
}
.rc-cta.rc-tone-2::after{
  background:linear-gradient(120deg,
    color-mix(in srgb, var(--rc-c2) 70%, var(--rc-ink)),
    rgba(var(--rc-ink-rgb),.9));
}

/* Fita do anel completo — separador entre blocos de cor */
.rc-ribbon{height:5px;display:flex;width:100%}
.rc-ribbon span{flex:1}
.rc-ribbon span:nth-child(1){background:var(--rc-c1)}
.rc-ribbon span:nth-child(2){background:var(--rc-c2)}
.rc-ribbon span:nth-child(3){background:var(--rc-c3)}
.rc-ribbon span:nth-child(4){background:var(--rc-c4)}
.rc-ribbon span:nth-child(5){background:var(--rc-c5)}
.rc-ribbon span:nth-child(6){background:var(--rc-c6)}

/* ------------------------------- Imagens em falta: painel na cor da secção */
.rc-img-falhou{
  position:relative;
  background:
    linear-gradient(140deg,
      color-mix(in srgb, var(--rc-tone, var(--rc-primary)) 22%, #fff),
      color-mix(in srgb, var(--rc-tone, var(--rc-primary)) 6%, #fff));
  border:1px dashed color-mix(in srgb, var(--rc-tone, var(--rc-primary)) 30%, transparent);
}
.rc-img-falhou::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(45deg, color-mix(in srgb, var(--rc-tone, var(--rc-primary)) 10%, transparent) 25%, transparent 25%),
    linear-gradient(-45deg, color-mix(in srgb, var(--rc-tone, var(--rc-primary)) 10%, transparent) 25%, transparent 25%);
  background-size:22px 22px;
  opacity:.7;
}
@supports not (background: color-mix(in srgb, red 5%, white)){
  .rc-img-falhou{background:var(--rc-surface);border-color:var(--rc-line)}
  .rc-img-falhou::after{display:none}
}

/* Destaque de página tingido com a cor do anel dessa página */
.rc-pagehero.rc-tone-1,.rc-pagehero.rc-tone-2,.rc-pagehero.rc-tone-3,
.rc-pagehero.rc-tone-4,.rc-pagehero.rc-tone-5,.rc-pagehero.rc-tone-6{
  background:linear-gradient(150deg,
    color-mix(in srgb, var(--rc-tone) 62%, var(--rc-ink)),
    color-mix(in srgb, var(--rc-tone) 22%, var(--rc-ink)) 70%,
    var(--rc-ink));
}
.rc-pagehero .rc-crumbs em{color:color-mix(in srgb, var(--rc-tone) 60%, #fff)}
@supports not (background: color-mix(in srgb, red 5%, white)){
  .rc-pagehero.rc-tone-1,.rc-pagehero.rc-tone-2,.rc-pagehero.rc-tone-3,
  .rc-pagehero.rc-tone-4,.rc-pagehero.rc-tone-5,.rc-pagehero.rc-tone-6{
    background:linear-gradient(150deg,var(--rc-primary-dark),var(--rc-primary));
  }
}

/* O cabeçalho do artigo é claro: precisa de texto escuro */
.rc-single__head.rc-wash .rc-single__title{color:var(--rc-ink)}
.rc-single__head.rc-wash .rc-tag{
  background:color-mix(in srgb,var(--rc-tone) 18%, transparent);
  color:color-mix(in srgb,var(--rc-tone) 78%, #000);
}

/* A secção escura dos Papéis não leva a linha do topo duas vezes */
.rc-section--dark.rc-roles::before{opacity:.6}

/* Fita do anel: encolhe em telemóvel */
@media (max-width:640px){.rc-ribbon{height:4px}}

/* ==========================================================================
   23 — Estrutura em blocos de cor
   ==========================================================================
   Direcção: vibrante, com as cores do anel a estruturar a página. Como as
   fotografias disponíveis são fracas, o desenho não depende delas — a cor
   e a composição é que carregam o site. */

/* ------------------------------------------ Destaque: bloco + peça gráfica */
.rc-open{
  position:relative;
  background:linear-gradient(150deg,
    color-mix(in srgb, var(--rc-c6) 88%, #000) 0%,
    var(--rc-c6) 42%,
    color-mix(in srgb, var(--rc-c4) 45%, var(--rc-c6)) 100%);
  color:#fff;overflow:hidden;
  padding-top:clamp(7rem,12vw,9.5rem);
}
@supports not (background: color-mix(in srgb, red 5%, white)){
  .rc-open{background:linear-gradient(150deg,#1D5C10,#297D18 45%,#2E8F6A)}
}

.rc-open__grid{
  display:grid;align-items:center;
  width:100%;max-width:var(--rc-max);margin-inline:auto;
  padding-inline:var(--rc-pad);
  gap:clamp(2rem,4vw,3.5rem);
  padding-bottom:clamp(3rem,6vw,5rem);
}
@media (min-width:980px){
  .rc-open__grid{grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,5vw,4.5rem)}
}

.rc-open__eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  margin:0 0 1.3rem;padding:.42rem 1.05rem;
  border:1px solid rgba(255,255,255,.32);border-radius:999px;
  font-size:var(--rc-t-xs);font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:#fff;
}
.rc-open__eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;background:var(--rc-c2);
  box-shadow:0 0 0 0 rgba(var(--rc-c2-rgb),.75);
  animation:rc-ping 2.4s ease-out infinite;
}

.rc-open__title{
  font-family:var(--rc-display);
  font-size:clamp(2.4rem,1.4rem + 4.6vw,4.8rem);
  font-weight:800;line-height:.98;letter-spacing:-.035em;
  margin:0 0 1.1rem;color:#fff;text-wrap:balance;
}
.rc-open__sub{
  max-width:46ch;margin:0 0 2rem;
  font-size:var(--rc-t-lg);color:rgba(255,255,255,.85);
}
.rc-open__acts{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}

.rc-btn--solid{background:#fff;color:var(--rc-c6);border-color:#fff}
.rc-btn--solid:hover{background:var(--rc-c2);color:#fff;border-color:var(--rc-c2)}
.rc-open .rc-btn--clear{color:#fff;border-color:rgba(255,255,255,.4)}
.rc-open .rc-btn--clear:hover{background:#fff;color:var(--rc-c6)}

/* Contadores encostados ao fundo do bloco */
.rc-open__stats{display:flex;flex-wrap:wrap;gap:clamp(1rem,2.5vw,2.5rem);margin-top:clamp(2rem,4vw,3rem)}
.rc-open__stat{display:flex;flex-direction:column;gap:.2rem;position:relative;padding-left:1.1rem}
.rc-open__stat::before{
  content:"";position:absolute;left:0;top:.35rem;bottom:.35rem;width:4px;
  border-radius:4px;background:var(--rc-tone,#fff);
}
.rc-open__stat b{
  font-family:var(--rc-display);font-size:clamp(2rem,1.5rem + 2vw,3rem);
  font-weight:800;line-height:1;letter-spacing:-.04em;color:#fff;
}
.rc-open__stat b i{font-style:normal;color:var(--rc-tone,var(--rc-c2))}
.rc-open__stat span{font-size:var(--rc-t-sm);color:rgba(255,255,255,.72);max-width:20ch}

/* A peça gráfica: o anel do logótipo em grande */
.rc-open__art{position:relative;display:grid;place-items:center;min-height:min(58vh,520px)}
.rc-anel{width:min(100%,540px);height:auto;overflow:visible}
.rc-anel__gira{transform-origin:260px 260px;animation:rc-orbit 54s linear infinite}
.rc-anel__disco{
  transform-origin:center;transform-box:fill-box;
  animation:rc-disco 6s ease-in-out infinite alternate;
  animation-delay:var(--d,0s);
}
@keyframes rc-disco{from{transform:scale(.9)}to{transform:scale(1.08)}}
.rc-anel__onda{transform-origin:260px 260px;animation:rc-onda 5s ease-out infinite}
.rc-anel__onda--2{animation-delay:2.5s}
@keyframes rc-onda{
  0%{transform:scale(.55);opacity:.8}
  75%{transform:scale(2.1);opacity:0}
  100%{opacity:0}
}

/* A fotografia entra pequena, no centro do anel — decorativa, não estrutural */
.rc-open__photo{
  position:absolute;margin:0;
  width:min(34%,190px);aspect-ratio:1;
  border-radius:50%;overflow:hidden;
  border:6px solid rgba(255,255,255,.9);
  box-shadow:0 24px 48px -20px rgba(0,0,0,.55);
}
.rc-open__photo img{width:100%;height:100%;object-fit:cover}

.rc-ribbon--open{position:absolute;left:0;right:0;bottom:0}

@media (prefers-reduced-motion:reduce){
  .rc-anel__gira,.rc-anel__disco,.rc-anel__onda{animation:none}
}

/* ------------------------------------------------- Três painéis de cor */
.rc-paineis{display:grid;gap:0}
@media (min-width:900px){.rc-paineis{grid-template-columns:repeat(3,1fr)}}

.rc-painel{
  position:relative;overflow:hidden;
  background:var(--rc-tone,var(--rc-primary));color:#fff;
  padding:clamp(2rem,4vw,3.2rem) var(--rc-pad);
  transition:flex-grow .5s var(--rc-ease);
}
.rc-painel::after{
  content:"";position:absolute;right:-30%;bottom:-45%;
  width:78%;aspect-ratio:1;border-radius:50%;
  border:2px solid rgba(255,255,255,.22);
  transition:transform .8s var(--rc-ease);
}
.rc-painel:hover::after{transform:scale(1.18) rotate(20deg)}
.rc-painel__inner{position:relative;max-width:38ch;margin-inline:auto}
@media (min-width:900px){.rc-painel__inner{margin-inline:0}}
.rc-painel:first-child .rc-painel__inner{margin-left:auto;max-width:min(38ch,100%)}

.rc-painel__icon{
  display:grid;place-content:center;width:58px;height:58px;margin-bottom:1.2rem;
  border-radius:18px;background:rgba(255,255,255,.18);color:#fff;
  transition:transform .5s var(--rc-ease),background-color .4s;
}
.rc-painel:hover .rc-painel__icon{transform:rotate(-10deg) scale(1.06);background:rgba(255,255,255,.3)}
.rc-painel__title{
  font-size:var(--rc-t-xl);margin:0 0 .6rem;line-height:1.18;color:#fff;
}
.rc-painel__text{margin:0;font-size:var(--rc-t-md);color:rgba(255,255,255,.86)}

/* ------------------------------------------ Papéis: blocos de cor sólida */
.rc-blocos{padding-block:var(--rc-sec) 0;background:#fff}
.rc-blocos__head{max-width:26ch;margin-bottom:clamp(2rem,4vw,3rem)}

.rc-blocos__grid{
  display:grid;gap:2px;
  grid-template-columns:repeat(12,1fr);
  background:var(--rc-line);
}
@media (max-width:820px){.rc-blocos__grid{grid-template-columns:1fr}}

.rc-bloco{
  position:relative;overflow:hidden;
  grid-column:span 12;
  padding:clamp(1.8rem,3.4vw,3rem) clamp(1.4rem,3vw,2.6rem);
  background:var(--rc-tone,var(--rc-primary));color:#fff;
  min-height:clamp(230px,26vw,300px);
  display:flex;flex-direction:column;
  isolation:isolate;
}
@media (min-width:821px){
  .rc-bloco--w5{grid-column:span 5}
  .rc-bloco--w6{grid-column:span 6}
  .rc-bloco--w7{grid-column:span 7}
}

.rc-bloco__num{
  font-family:var(--rc-display);font-size:var(--rc-t-sm);font-weight:800;
  letter-spacing:.18em;color:rgba(255,255,255,.55);margin-bottom:auto;
}
.rc-bloco__icon{
  display:grid;place-content:center;width:56px;height:56px;margin-bottom:1rem;
  border-radius:18px;background:rgba(255,255,255,.16);
  transition:transform .55s var(--rc-ease),background-color .45s;
}
.rc-bloco:hover .rc-bloco__icon{transform:rotate(-10deg) scale(1.08);background:rgba(255,255,255,.3)}
.rc-bloco__title{
  font-size:var(--rc-t-xl);line-height:1.15;margin:0 0 .55rem;color:#fff;
  max-width:22ch;
}
.rc-bloco__text{
  margin:0;font-size:var(--rc-t-md);color:rgba(255,255,255,.85);max-width:52ch;
}

/* Arco decorativo — ecoa o anel do logótipo */
.rc-bloco__arc{
  position:absolute;right:-18%;top:-38%;z-index:-1;
  width:62%;aspect-ratio:1;border-radius:50%;
  border:2px solid rgba(255,255,255,.2);
  transition:transform .9s var(--rc-ease),opacity .5s;
}
.rc-bloco::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(120% 100% at 100% 0%, rgba(255,255,255,.16), transparent 62%);
  opacity:0;transition:opacity .5s var(--rc-ease);
}
.rc-bloco:hover::before{opacity:1}
.rc-bloco:hover .rc-bloco__arc{transform:scale(1.25) translate(-8%,8%)}

/* O azul-marinho precisa de mais contraste do que os restantes */
.rc-bloco.rc-tone-5{background:color-mix(in srgb, var(--rc-c5) 92%, #000)}
.rc-bloco.rc-tone-3{color:color-mix(in srgb, var(--rc-c3) 20%, #10240a)}
.rc-bloco.rc-tone-3 .rc-bloco__title{color:#132a08}
.rc-bloco.rc-tone-3 .rc-bloco__text{color:rgba(19,42,8,.82)}
.rc-bloco.rc-tone-3 .rc-bloco__num{color:rgba(19,42,8,.5)}
.rc-bloco.rc-tone-3 .rc-bloco__icon{background:rgba(19,42,8,.14)}
.rc-bloco.rc-tone-3 .rc-bloco__arc{border-color:rgba(19,42,8,.22)}
.rc-bloco.rc-tone-2 .rc-bloco__title{color:#3d2402}
.rc-bloco.rc-tone-2 .rc-bloco__text{color:rgba(61,36,2,.84)}
.rc-bloco.rc-tone-2 .rc-bloco__num{color:rgba(61,36,2,.5)}
.rc-bloco.rc-tone-2 .rc-bloco__icon{background:rgba(61,36,2,.14)}
.rc-bloco.rc-tone-2 .rc-bloco__arc{border-color:rgba(61,36,2,.22)}

.rc-blocos__foot{padding-top:clamp(2rem,4vw,3rem);padding-bottom:var(--rc-sec)}

/* --------------------------------------------------------- Telemóvel */
@media (max-width:900px){
  .rc-open{padding-top:6.5rem}
  .rc-open__art{min-height:auto;order:-1}
  .rc-anel{width:min(80%,340px)}
  .rc-open__photo{width:min(32%,130px);border-width:5px}
}
@media (max-width:640px){
  .rc-open__title{font-size:clamp(2rem,1.2rem + 5.4vw,2.8rem)}
  .rc-open__stats{gap:1.2rem}
  .rc-open__stat b{font-size:1.9rem}
  .rc-painel{padding:1.8rem var(--rc-pad)}
  .rc-bloco{min-height:auto;padding:1.7rem 1.3rem}
  .rc-bloco__icon{width:48px;height:48px;margin-bottom:.8rem}
  .rc-blocos__grid{gap:0}
}

/* ------------------------------------------- Razão de Ser em cartões de cor */
.rc-razao2{background:#fff}
.rc-razao2__grid{display:grid;gap:clamp(2rem,4vw,3.5rem);align-items:center}
@media (min-width:900px){
  .rc-razao2__grid{grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,4.5rem)}
}
.rc-razao2__text .rc-display{max-width:16ch}
.rc-razao2__text .rc-lead{max-width:50ch}

.rc-razao2__cards{
  display:grid;gap:clamp(.7rem,1.4vw,1rem);
  grid-template-columns:repeat(2,1fr);
}
.rc-medida{
  position:relative;overflow:hidden;isolation:isolate;
  display:flex;flex-direction:column;justify-content:flex-end;gap:.2rem;
  min-height:clamp(160px,20vw,215px);
  padding:clamp(1.2rem,2.2vw,1.7rem);
  border-radius:var(--rc-r);
  background:var(--rc-tone,var(--rc-primary));color:#fff;
  transition:transform .5s var(--rc-ease),box-shadow .5s var(--rc-ease);
}
.rc-medida:hover{
  transform:translateY(-5px);
  box-shadow:0 30px 60px -30px color-mix(in srgb,var(--rc-tone) 85%, transparent);
}
.rc-medida__icon{
  position:absolute;top:clamp(1.1rem,2vw,1.5rem);left:clamp(1.2rem,2.2vw,1.7rem);
  display:grid;place-content:center;width:46px;height:46px;border-radius:14px;
  background:rgba(255,255,255,.2);
  transition:transform .5s var(--rc-ease);
}
.rc-medida:hover .rc-medida__icon{transform:rotate(-10deg) scale(1.08)}
.rc-medida__num{
  margin:0;font-family:var(--rc-display);
  font-size:clamp(2.2rem,1.5rem + 2.6vw,3.4rem);
  font-weight:800;line-height:.95;letter-spacing:-.04em;color:#fff;
}
.rc-medida__num i{font-style:normal;color:rgba(255,255,255,.6)}
.rc-medida__label{margin:0;font-size:var(--rc-t-sm);color:rgba(255,255,255,.85)}
.rc-medida__arc{
  position:absolute;right:-25%;top:-40%;z-index:-1;
  width:70%;aspect-ratio:1;border-radius:50%;
  border:2px solid rgba(255,255,255,.24);
  transition:transform .9s var(--rc-ease);
}
.rc-medida:hover .rc-medida__arc{transform:scale(1.25)}

/* O turquesa é claro: pede texto escuro */
.rc-medida.rc-tone-4 .rc-medida__num,
.rc-medida.rc-tone-4 .rc-medida__label{color:#08302f}
.rc-medida.rc-tone-4 .rc-medida__num i{color:rgba(8,48,47,.55)}
.rc-medida.rc-tone-4 .rc-medida__icon{background:rgba(8,48,47,.15);color:#08302f}
.rc-medida.rc-tone-4 .rc-medida__arc{border-color:rgba(8,48,47,.2)}

.rc-medida--foto{
  grid-column:span 2;padding:0;background:var(--rc-surface);
  min-height:clamp(150px,18vw,200px);
}
.rc-medida--foto img{width:100%;height:100%;object-fit:cover;display:block;min-height:inherit}

@media (max-width:640px){
  .rc-razao2__cards{grid-template-columns:1fr 1fr;gap:.6rem}
  .rc-medida{min-height:145px;padding:1rem}
  .rc-medida__icon{width:38px;height:38px}
  .rc-medida__num{font-size:2rem}
}

/* ==========================================================================
   24 — Estrutura de agência: destaque, números, faixa e áreas
   ========================================================================== */

/* --------------------------------------------------- Destaque com palavra rotativa */
.rc-open{
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(8rem,14vw,11rem) 0 clamp(3rem,6vw,4.5rem);
  color:#fff;
  background:var(--rc-ink);
}
.rc-open__bg{
  position:absolute;inset:-8% 0;z-index:-3;
  background-size:cover;background-position:center;
  transform:scale(1.05);
  animation:rc-kenburns 26s ease-in-out infinite alternate;
}
.rc-open__veil{
  position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(100deg,
      color-mix(in srgb, var(--rc-c6) 82%, #000) 0%,
      color-mix(in srgb, var(--rc-c6) 60%, transparent) 46%,
      rgba(var(--rc-ink-rgb),.55) 78%,
      rgba(var(--rc-ink-rgb),.35) 100%),
    linear-gradient(180deg, rgba(var(--rc-ink-rgb),.5), transparent 30%, rgba(var(--rc-ink-rgb),.8));
}
@supports not (background: color-mix(in srgb, red 5%, white)){
  .rc-open__veil{background:linear-gradient(100deg,rgba(29,92,16,.9),rgba(28,36,54,.6))}
}

.rc-open__inner{position:relative;max-width:min(980px,100%)}

.rc-open__eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  margin:0 0 1.4rem;padding:.45rem 1.1rem;
  border:1px solid rgba(255,255,255,.3);border-radius:999px;
  font-size:var(--rc-t-xs);font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  backdrop-filter:blur(6px);
}
.rc-open__eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;background:var(--rc-c2);
  box-shadow:0 0 0 0 rgba(var(--rc-c2-rgb),.75);
  animation:rc-ping 2.4s ease-out infinite;
}

.rc-open__title{
  font-family:var(--rc-display);
  font-size:clamp(2.3rem,1.3rem + 4.8vw,5rem);
  font-weight:800;line-height:1.02;letter-spacing:-.035em;
  margin:0 0 1.2rem;color:#fff;
  display:flex;flex-wrap:wrap;gap:.2em .35em;align-items:baseline;
}
.rc-open__fixo{display:block}

/* A palavra que se sucede */
.rc-roda{
  position:relative;display:inline-grid;
  vertical-align:baseline;
}
.rc-roda__item{
  grid-area:1/1;
  color:var(--rc-c2);
  opacity:0;transform:translateY(.5em) rotateX(-40deg);
  transform-origin:bottom center;
  transition:opacity .5s var(--rc-ease),transform .55s var(--rc-ease);
  white-space:nowrap;
}
.rc-roda__item.is-on{opacity:1;transform:none}
.rc-roda__item.is-out{opacity:0;transform:translateY(-.5em) rotateX(40deg)}
.rc-roda__risco{
  grid-area:1/1;align-self:end;
  height:4px;width:100%;border-radius:4px;
  background:linear-gradient(90deg,var(--rc-c2),var(--rc-c1));
  transform:translateY(.28em) scaleX(0);transform-origin:left;
  animation:rc-risco 3.6s var(--rc-ease) infinite;
}
@keyframes rc-risco{
  0%{transform:translateY(.28em) scaleX(0);transform-origin:left}
  35%{transform:translateY(.28em) scaleX(1);transform-origin:left}
  70%{transform:translateY(.28em) scaleX(1);transform-origin:right}
  100%{transform:translateY(.28em) scaleX(0);transform-origin:right}
}

.rc-open__sub{
  max-width:60ch;margin:0 0 2.2rem;
  font-size:var(--rc-t-lg);color:rgba(255,255,255,.88);
  text-shadow:0 1px 16px rgba(var(--rc-ink-rgb),.5);
}
.rc-open__acts{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.rc-btn--solid{background:#fff;color:var(--rc-c6);border-color:#fff}
.rc-btn--solid:hover{background:var(--rc-c2);color:#fff;border-color:var(--rc-c2)}
.rc-open .rc-btn--clear{color:#fff;border-color:rgba(255,255,255,.42)}
.rc-open .rc-btn--clear:hover{background:#fff;color:var(--rc-c6)}

/* Distintivo vertical na margem direita */
.rc-selo{
  position:absolute;right:clamp(.8rem,2vw,2rem);top:50%;
  transform:translateY(-50%);
  display:none;flex-direction:column;align-items:center;gap:1rem;
  padding:1.2rem .8rem;border-radius:999px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(8px);
}
@media (min-width:1240px){.rc-selo{display:flex}}
.rc-selo__texto{
  writing-mode:vertical-rl;font-size:var(--rc-t-xs);font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.85);
}
.rc-selo__ano{
  font-family:var(--rc-display);font-size:1.1rem;font-weight:800;
  color:var(--rc-c2);letter-spacing:-.02em;
}

/* --------------------------------------------------------- Tira de números */
.rc-numeros{background:#fff;padding-block:clamp(2rem,4vw,3.2rem)}
.rc-numeros__grid{
  display:grid;gap:clamp(1rem,2vw,1.6rem);
  grid-template-columns:repeat(2,1fr);
}
@media (min-width:900px){.rc-numeros__grid{grid-template-columns:repeat(4,1fr)}}

.rc-numero{position:relative;padding-left:1.2rem}
.rc-numero::before{
  content:"";position:absolute;left:0;top:.3rem;bottom:.3rem;width:4px;
  border-radius:4px;background:var(--rc-tone,var(--rc-primary));
}
.rc-numero__n{
  margin:0;font-family:var(--rc-display);
  font-size:clamp(2rem,1.4rem + 2.4vw,3.2rem);
  font-weight:800;line-height:1;letter-spacing:-.04em;
  color:var(--rc-tone,var(--rc-primary));
}
.rc-numero__n i{font-style:normal;opacity:.6}
.rc-numero__l{margin:.4rem 0 0;font-size:var(--rc-t-sm);color:var(--rc-muted);max-width:22ch}

/* --------------------------------------------------------- Faixa de áreas */
.rc-tira{
  overflow:hidden;padding-block:clamp(.9rem,2vw,1.4rem);
  background:var(--rc-ink);color:#fff;
}
.rc-tira__track{display:flex;align-items:center;gap:1.4rem;width:max-content;animation:rc-band 46s linear infinite}
.rc-tira:hover .rc-tira__track{animation-play-state:paused}
.rc-tira__item{
  font-family:var(--rc-display);
  font-size:clamp(1rem,.9rem + .7vw,1.5rem);
  font-weight:700;letter-spacing:-.01em;white-space:nowrap;
}
.rc-tira__losango{font-size:.6em;color:var(--rc-c2);line-height:1}
.rc-tira__item:nth-child(4n+1){color:#fff}
.rc-tira__item:nth-child(4n+3){color:rgba(255,255,255,.55)}

/* ------------------------------------------------------ Cartões de área */
.rc-areas{background:#fff;padding-block:var(--rc-sec)}
.rc-areas__head{max-width:44ch;margin-bottom:clamp(2rem,4vw,3.2rem)}
.rc-areas__grid{display:grid;gap:clamp(.9rem,1.8vw,1.4rem)}
@media (min-width:700px){.rc-areas__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1060px){.rc-areas__grid{grid-template-columns:repeat(3,1fr)}}

.rc-area{
  position:relative;overflow:hidden;isolation:isolate;
  display:flex;flex-direction:column;
  padding:clamp(1.5rem,2.6vw,2.1rem);
  background:#fff;border:1px solid var(--rc-line);border-radius:var(--rc-r);
  transition:transform .5s var(--rc-ease),box-shadow .5s var(--rc-ease),border-color .4s;
}
.rc-area:hover{
  transform:translateY(-6px);border-color:transparent;
  box-shadow:0 34px 68px -34px color-mix(in srgb, var(--rc-tone) 70%, transparent);
}
.rc-area__num{
  position:absolute;top:clamp(1.3rem,2.4vw,1.9rem);right:clamp(1.4rem,2.6vw,2rem);
  font-family:var(--rc-display);font-size:var(--rc-t-sm);font-weight:800;
  letter-spacing:.16em;color:color-mix(in srgb, var(--rc-tone) 45%, transparent);
}
.rc-area__icon{
  display:grid;place-content:center;width:58px;height:58px;margin-bottom:1.1rem;
  border-radius:18px;
  background:color-mix(in srgb, var(--rc-tone) 13%, transparent);
  color:var(--rc-tone,var(--rc-primary));
  transition:background-color .45s,color .45s,transform .55s var(--rc-ease);
}
.rc-area:hover .rc-area__icon{background:var(--rc-tone);color:#fff;transform:rotate(-9deg) scale(1.06)}
.rc-area__title{font-size:var(--rc-t-lg);line-height:1.22;margin:0 0 .55rem;max-width:24ch}
.rc-area__text{margin:0 0 1.3rem;font-size:var(--rc-t-sm);color:var(--rc-muted)}
.rc-area__link{
  display:inline-flex;align-items:center;gap:.45rem;margin-top:auto;
  font-size:var(--rc-t-sm);font-weight:600;
  color:var(--rc-tone,var(--rc-primary));
}
.rc-area__link .rc-icon{transition:transform .35s var(--rc-ease)}
.rc-area__link:hover .rc-icon{transform:translateX(5px)}
.rc-area__barra{
  position:absolute;left:0;right:0;bottom:0;height:4px;
  background:var(--rc-tone,var(--rc-primary));
  transform:scaleX(0);transform-origin:left;
  transition:transform .6s var(--rc-ease);
}
.rc-area:hover .rc-area__barra{transform:scaleX(1)}
.rc-area::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(120% 90% at 100% 0%,
    color-mix(in srgb, var(--rc-tone) 12%, transparent), transparent 62%);
  opacity:0;transition:opacity .5s var(--rc-ease);
}
.rc-area:hover::before{opacity:1}

@supports not (background: color-mix(in srgb, red 5%, white)){
  .rc-area__icon{background:rgba(var(--rc-primary-rgb),.1)}
  .rc-area__num{color:var(--rc-muted)}
}

/* ------------------------------------------------------------ Telemóvel */
@media (max-width:640px){
  .rc-open{padding-top:6.5rem;padding-bottom:2.5rem}
  .rc-open__title{font-size:clamp(1.95rem,1.1rem + 5.6vw,2.7rem);gap:.15em .3em}
  .rc-open__sub{font-size:var(--rc-t-md);margin-bottom:1.6rem}
  .rc-open__acts .rc-btn{flex:1 1 auto;justify-content:center}
  .rc-numeros__grid{gap:.9rem}
  .rc-numero__n{font-size:1.9rem}
  .rc-numero__l{font-size:var(--rc-t-xs)}
  .rc-tira__item{font-size:1rem}
  .rc-area{padding:1.35rem}
  .rc-area__icon{width:50px;height:50px}
}

@media (prefers-reduced-motion:reduce){
  .rc-roda__risco{animation:none;transform:translateY(.28em) scaleX(1)}
  .rc-open__bg{animation:none}
  .rc-tira__track{animation:none}
}

/* ------------------------------------------------ Campo de selecção */
.rc-field--select{position:relative}
.rc-field--select select{
  width:100%;padding:1.35rem 2.6rem .6rem 1rem;
  font:inherit;font-size:.98rem;color:var(--rc-ink);
  background:var(--rc-surface);border:1px solid transparent;border-radius:var(--rc-r-sm);
  appearance:none;cursor:pointer;
  transition:border-color .3s,background-color .3s,box-shadow .3s;
}
.rc-contacto__form .rc-field--select select,
.rc-contactos__form .rc-field--select select{background:#fbfcfb;border-color:var(--rc-line)}
.rc-field--select::after{
  content:"";position:absolute;right:1.1rem;top:calc(50% + .25rem);
  width:9px;height:9px;pointer-events:none;
  border-right:2px solid var(--rc-muted);border-bottom:2px solid var(--rc-muted);
  transform:translateY(-50%) rotate(45deg);
}
.rc-field--select select:focus{
  outline:none;border-color:var(--rc-primary);background:#fff;
  box-shadow:0 0 0 4px rgba(var(--rc-primary-rgb),.12);
}
.rc-field--select select:focus + label,
.rc-field--select select:valid + label{transform:translateY(-.62rem) scale(.78);color:var(--rc-primary)}
.rc-field--select select:not(:focus):invalid + label,
.rc-field--select select[value=""]:not(:focus) + label{transform:none}
