/*
 * GEB Institucional · Bloco 04 · Áreas de atuação
 * Componentes isolados das demais páginas, baseados nos tokens do styles.css.
 * Cards, heros e imagens com enquadramento único, sem modificar o ATS.
 */
.geb-front,.geb-areas{background:var(--paper);color:var(--ink)}
.geb-front *, .geb-areas *{box-sizing:border-box}
.geb-front-container{max-width:var(--max);padding-inline:var(--pad);margin-inline:auto;width:100%}
.geb-front :is(h1,h2,h3),.geb-areas :is(h1,h2,h3){font-family:var(--display);font-weight:700;letter-spacing:-.044em}
.geb-front :is(a,button):focus-visible,.geb-areas :is(a,button):focus-visible{
  outline:3px solid var(--focus-color);outline-offset:4px
}
.geb-front-crumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  margin:0;padding:20px 0 4px;font-size:12px;line-height:1.5;color:#625e57
}
.geb-front-crumb a{color:#45413c;text-underline-offset:4px}
.geb-front-crumb [aria-current="page"]{font-weight:700;color:var(--ink)}
.geb-front-crumb__separator{color:#9c9386}
.geb-front-label{
  display:inline-flex;align-items:center;gap:12px;margin:0;
  color:#82663a;font-size:11px;font-weight:700;line-height:1.4;
  letter-spacing:.14em;text-transform:uppercase
}
.geb-front-label:before{content:"";display:block;background:var(--gold);height:2px;width:27px}
.geb-front-hero{
  border-bottom:1px solid var(--line);
  padding-block:clamp(32px,4vw,62px) clamp(68px,7vw,104px)
}
.geb-front-hero__grid{
  display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  align-items:center;gap:clamp(38px,5.5vw,86px)
}
.geb-front-hero__copy{min-width:0}
.geb-front-hero h1{
  max-width:760px;margin:24px 0 0;
  font-size:clamp(43px,5.1vw,77px);line-height:1.025;
  letter-spacing:-.061em
}
.geb-front-hero__lead{
  max-width:670px;margin:25px 0 0;color:#57534d;
  font-size:clamp(17px,1.35vw,20px);line-height:1.7
}
.geb-front-hero__note{
  display:block;margin-top:18px;font-size:12px;line-height:1.7;color:#686158
}
.geb-front-actions{
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:30px
}
.geb-front-btn{
  display:inline-flex;align-items:center;justify-content:space-between;gap:20px;
  min-height:52px;padding:13px 20px;text-decoration:none;
  font-size:13px;font-weight:700;line-height:1.35;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
  border:1px solid var(--ink)
}
.geb-front-btn:hover{transform:translateY(-2px)}
.geb-front-btn--primary{background:var(--ink);border-color:var(--ink);color:#fff}
.geb-front-btn--primary:hover{background:#30372f;border-color:#30372f}
.geb-front-btn--secondary{background:transparent;color:var(--ink);border-color:#bdb4a5}
.geb-front-btn--secondary:hover{background:#ebe5db}
.geb-front-btn--light{background:#f3ecdf;color:#181f1b;border-color:#f3ecdf}
.geb-front-btn--light:hover{background:#fff;border-color:#fff}
.geb-front-btn--ghost{background:transparent;color:#fff;border-color:#8b9b8c}
.geb-front-btn--ghost:hover{background:#3a473c}
.geb-front-hero__visual{
  position:relative;min-width:0;margin:0;padding:clamp(12px,1.6vw,22px);
  background:#e1dbcf;border:1px solid #d0c4b0;
  box-shadow:0 22px 58px rgba(16,16,16,.085)
}
.geb-front-hero__visual img{
  display:block;width:100%;height:auto;aspect-ratio:6/5;object-fit:cover;
  object-position:center center;background:#d5cec3
}
.geb-front-hero__visual figcaption{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:16px 3px 2px;color:#696054;font-size:11px;line-height:1.5;
  font-weight:700;letter-spacing:.085em;text-transform:uppercase
}
.geb-front-hero__visual figcaption:after{content:"↗";color:#856b42;font-size:20px;line-height:1}

/* Públicos */
.geb-front-audience{background:#f9f7f2;padding-block:clamp(70px,7vw,110px)}
.geb-front-audience__grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(36px,8vw,112px);align-items:start
}
.geb-front-audience h2,.geb-front-capabilities h2,.geb-front-next h2{
  margin:20px 0 0;font-size:clamp(32px,3.7vw,55px);line-height:1.09
}
.geb-front-audience__intro p:not(.geb-front-label){
  margin:22px 0 0;max-width:600px;font-size:16px;line-height:1.8;color:#615c54
}
.geb-front-audience__panel{
  padding:clamp(28px,3.8vw,48px);background:#efe9df;border:1px solid #dcd3c6
}
.geb-front-audience__panel h3{
  margin:0 0 18px;font-size:clamp(22px,2.5vw,31px)
}
.geb-front-audience__panel ul{margin:0;padding:0;list-style:none}
.geb-front-audience__panel li{
  position:relative;padding:17px 0 17px 25px;
  font-size:14px;line-height:1.65;border-top:1px solid #d0c7b9
}
.geb-front-audience__panel li:before{
  content:"";position:absolute;left:1px;top:26px;
  width:8px;height:8px;border:1.5px solid #947039;border-radius:50%
}

/* Três capacidades em cartões de mesmo sistema */
.geb-front-capabilities{background:#f0ece4;padding-block:clamp(74px,7.5vw,114px)}
.geb-front-capabilities__heading{max-width:770px;margin-bottom:clamp(30px,4vw,54px)}
.geb-front-capabilities__heading>p:last-child{
  color:#615a50;font-size:15px;line-height:1.8;margin:18px 0 0
}
.geb-front-capabilities__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.geb-front-capability{
  display:flex;flex-direction:column;min-width:0;min-height:270px;
  background:#fff;border:1px solid #d7d0c5;padding:clamp(24px,2.7vw,36px)
}
.geb-front-capability__index{font-size:11px;font-weight:700;color:#906c32;letter-spacing:.14em}
.geb-front-capability h3{
  margin:clamp(32px,4vw,57px) 0 0;
  font-size:clamp(22px,2.25vw,31px);line-height:1.15
}
.geb-front-capability p{
  margin:14px 0 0;font-size:14px;line-height:1.75;color:#5c5750
}

/* Bloco de direcionamento final */
.geb-front-next{padding-block:clamp(68px,6.8vw,106px);background:#222d26;color:#fff}
.geb-front-next__grid{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  align-items:center;gap:clamp(32px,6vw,84px)
}
.geb-front-next .geb-front-label{color:#e1c58d}
.geb-front-next__text{margin:0;color:#d3dcd1;font-size:15px;line-height:1.8}
.geb-front-next__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}
.geb-front-next a:focus-visible{outline-color:#f1d9a4}
.geb-front-back{padding-block:19px 25px;background:#f4f0e8;border-top:1px solid var(--line)}
.geb-front-back__links{display:flex;flex-wrap:wrap;gap:18px 34px}
.geb-front-back a{font-size:13px;font-weight:700;text-underline-offset:5px}

/* Visão geral: seis frentes, uma grade legível */
.geb-areas-head{background:#f6f2eb;padding-block:clamp(58px,6.6vw,96px) clamp(64px,7vw,108px)}
.geb-areas-head .geb-front-hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.geb-areas-head h1{font-size:clamp(47px,5.2vw,76px)}
.geb-areas-directory{background:#f9f7f2;padding-block:clamp(68px,7.5vw,110px)}
.geb-areas-directory__head{max-width:770px;margin-bottom:42px}
.geb-areas-directory__head h2{margin:20px 0 0;font-size:clamp(34px,4vw,56px);line-height:1.1}
.geb-areas-directory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.geb-areas-card{
  display:flex;flex-direction:column;min-width:0;min-height:305px;
  padding:clamp(28px,3vw,42px);color:var(--ink);text-decoration:none;
  background:#fff;border:1px solid #d9d1c5;
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease
}
.geb-areas-card:hover{
  box-shadow:0 20px 44px rgba(16,16,16,.075);
  transform:translateY(-3px);border-color:#a78b5c
}
.geb-areas-card__tag{
  display:flex;justify-content:space-between;gap:14px;
  color:#89683b;font-size:11px;line-height:1.5;letter-spacing:.11em;font-weight:700
}
.geb-areas-card__tag span:last-child{font-size:21px;line-height:1}
.geb-areas-card h3{margin:47px 0 0;font-size:clamp(24px,2.4vw,33px);line-height:1.13}
.geb-areas-card p{margin:14px 0 25px;font-size:14px;line-height:1.75;color:#5b5650}
.geb-areas-card__action{
  display:block;margin-top:auto;border-top:1px solid #ddd4c7;padding-top:15px;
  color:#322b22;font-size:12px;font-weight:700
}
.geb-areas-closing{background:#e9e2d6;padding-block:clamp(65px,7vw,100px)}
.geb-areas-closing__grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:50px}
.geb-areas-closing h2{font-size:clamp(32px,3.7vw,54px);line-height:1.1;margin:22px 0 0}
.geb-areas-closing p{margin:0 0 20px;font-size:15px;line-height:1.8;color:#5c5650}

/* Progressão de colunas sem alterar o layout dos outros braços. */
@media(max-width:1120px){
  .geb-front-hero__grid,.geb-areas-head .geb-front-hero__grid{gap:36px}
  .geb-front-hero h1{font-size:clamp(40px,5vw,63px)}
  .geb-front-capabilities__grid,.geb-areas-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  .geb-front-hero__grid,.geb-areas-head .geb-front-hero__grid,
  .geb-front-audience__grid,.geb-front-next__grid,.geb-areas-closing__grid{grid-template-columns:1fr}
  .geb-front-hero__visual{max-width:700px}
  .geb-front-hero h1{font-size:clamp(43px,7.1vw,65px)}
  .geb-front-hero__visual img{aspect-ratio:7/5}
  .geb-front-next__grid,.geb-areas-closing__grid{gap:28px}
}
@media(max-width:580px){
  .geb-front-crumb{font-size:11px;padding-top:16px}
  .geb-front-hero,.geb-areas-head{padding-block:38px 58px}
  .geb-front-hero h1{font-size:clamp(37px,9.4vw,50px);line-height:1.07}
  .geb-front-hero__lead{font-size:16px}
  .geb-front-hero__visual{padding:12px}
  .geb-front-hero__visual img{aspect-ratio:6/5}
  .geb-front-hero__visual figcaption{font-size:10px;padding-top:13px}
  .geb-front-actions,.geb-front-next__actions{flex-direction:column;align-items:stretch}
  .geb-front-btn{width:100%}
  .geb-front-capabilities__grid,.geb-areas-directory__grid{grid-template-columns:1fr}
  .geb-front-capability,.geb-areas-card{min-height:0}
  .geb-areas-card h3{margin-top:31px}
  .geb-front-audience__panel{padding:26px}
}
@media(prefers-reduced-motion:reduce){
  .geb-front-btn,.geb-areas-card{transition:none!important}
  .geb-front-btn:hover,.geb-areas-card:hover{transform:none}
}