/* ==========================================================================
   R H S S GESTÃO ADMINISTRATIVA — folha de estilo (v2)
   ========================================================================== */

:root{
  color-scheme: light;

  /* Superfícies */
  --sup-1:#ffffff;
  --sup-2:#fafafa;
  --sup-3:#f5f5f7;

  /* Traço */
  --hairline:rgba(0,0,0,.10);
  --hairline-forte:rgba(0,0,0,.16);

  /* Texto */
  --tx-1:#111113;
  --tx-2:#3c3c41;
  --tx-3:#6f6f76;
  --tx-4:#9a9aa1;

  /* Detalhe institucional */
  --azul:#26456f;

  /* Tipografia */
  --sans:"Inter var","Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --display:"Inter Tight","Inter var","Inter",-apple-system,BlinkMacSystemFont,"SF Pro Display",var(--sans);

  /* Métrica */
  --largura:1120px;
  --gutter:clamp(20px,5vw,40px);
  --raio:14px;
  --header:60px;
  --ritmo:clamp(88px,11vw,144px);
}

@media (prefers-color-scheme: dark){
  :root{
    color-scheme: dark;
    --sup-1:#000000;
    --sup-2:#0a0a0b;
    --sup-3:#111113;
    --hairline:rgba(255,255,255,.12);
    --hairline-forte:rgba(255,255,255,.20);
    --tx-1:#f5f5f7;
    --tx-2:#c9c9ce;
    --tx-3:#8e8e95;
    --tx-4:#6b6b72;
    --azul:#8fb0dd;
  }
}

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

html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header) + 24px);
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  background:var(--sup-1);
  color:var(--tx-1);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.55;
  font-weight:400;
  letter-spacing:-.011em;
  font-feature-settings:"cv05" 1,"ss01" 1,"tnum" 0;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img{max-width:100%;display:block}
a{color:inherit}
::selection{background:rgba(38,69,111,.14)}

/* ---------- Estruturas ---------- */

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

.secao{padding-block:var(--ritmo)}
.secao--alt{background:var(--sup-2)}
.secao + .secao--alt,
.secao--alt + .secao{border-top:1px solid var(--hairline)}

.pular{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--tx-1);color:var(--sup-1);
  padding:12px 20px;border-radius:99px;font-size:14px;text-decoration:none;
}
.pular:focus{left:20px;top:14px}

:focus-visible{outline:2px solid var(--azul);outline-offset:3px;border-radius:6px}

/* ---------- Tipografia ---------- */

h1,h2,h3{
  font-family:var(--display);
  margin:0;
  font-weight:600;
  color:var(--tx-1);
}

.display{
  font-size:clamp(2.6rem,6.2vw,4.4rem);
  line-height:1.04;
  letter-spacing:-.038em;
  font-weight:600;
  max-width:16ch;
}

.titulo{
  font-size:clamp(1.9rem,4vw,2.9rem);
  line-height:1.1;
  letter-spacing:-.03em;
  text-wrap:balance;
}

.eyebrow{
  margin:0 0 20px;
  font-size:12px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--tx-3);
}

.lead{
  font-size:clamp(1.125rem,1.9vw,1.375rem);
  line-height:1.5;
  letter-spacing:-.017em;
  color:var(--tx-2);
  font-weight:400;
  max-width:52ch;
  margin:26px 0 0;
}

.corpo{
  font-size:1.0625rem;
  line-height:1.62;
  color:var(--tx-2);
  letter-spacing:-.009em;
  margin:0;
  max-width:60ch;
}
.corpo + .corpo{margin-top:1.1em}

/* ---------- Cabeçalho ---------- */

.cabecalho{
  position:sticky;top:0;z-index:100;
  background:color-mix(in srgb, var(--sup-1) 72%, transparent);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease, background-color .3s ease;
}
.cabecalho.rolado{border-bottom-color:var(--hairline)}

.cabecalho__interno{
  display:flex;align-items:center;justify-content:space-between;
  height:var(--header);
}

.marca{
  display:inline-flex;align-items:baseline;gap:9px;
  text-decoration:none;
  font-family:var(--display);
  font-size:16px;font-weight:600;letter-spacing:.10em;
}
.marca__sufixo{
  font-family:var(--sans);
  font-size:12.5px;font-weight:400;letter-spacing:.01em;color:var(--tx-3);
}

.nav{display:flex;align-items:center;gap:6px}
.nav a{
  position:relative;
  padding:7px 14px;border-radius:99px;
  font-size:14px;font-weight:450;letter-spacing:-.006em;
  color:var(--tx-2);text-decoration:none;
  transition:color .2s ease,background-color .2s ease;
}
.nav a:hover{color:var(--tx-1);background:var(--sup-3)}
.nav a[aria-current="true"]{color:var(--tx-1)}
.nav a[aria-current="true"]::after{
  content:"";position:absolute;left:14px;right:14px;bottom:2px;height:1px;
  background:var(--tx-4);
}

.menu-botao{
  display:none;background:none;border:0;padding:8px;margin-right:-8px;
  color:var(--tx-1);cursor:pointer;
}
.menu-botao svg{display:block}

/* ---------- Hero ---------- */

.hero{
  padding-top:clamp(84px,12vw,140px);
  padding-bottom:clamp(84px,12vw,132px);
}
.hero .display{margin-top:0}

.acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:44px}

.botao{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:46px;padding-inline:26px;border-radius:99px;
  font-size:15px;font-weight:500;letter-spacing:-.008em;
  text-decoration:none;border:1px solid transparent;cursor:pointer;
  font-family:var(--sans);
  transition:background-color .22s ease,border-color .22s ease,color .22s ease,transform .22s ease;
}
.botao:active{transform:scale(.985)}
.botao--primario{background:var(--tx-1);color:var(--sup-1)}
.botao--primario:hover{background:color-mix(in srgb, var(--tx-1) 86%, var(--sup-1))}
.botao--fantasma{border-color:var(--hairline-forte);color:var(--tx-1)}
.botao--fantasma:hover{background:var(--sup-3);border-color:var(--hairline-forte)}

.hero__meta{
  display:flex;flex-wrap:wrap;gap:8px 28px;
  margin-top:56px;padding-top:22px;
  border-top:1px solid var(--hairline);
  font-size:13.5px;color:var(--tx-3);letter-spacing:-.004em;
}

/* ---------- Grade de duas colunas ---------- */

.duas-colunas{
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(0,5fr);
  gap:clamp(36px,6vw,88px);
  align-items:start;
}
.coluna-fixa{position:sticky;top:calc(var(--header) + 44px)}

.marcadores{list-style:none;margin:40px 0 0;padding:0}
.marcadores li{
  display:flex;gap:16px;align-items:baseline;
  padding:15px 0;
  border-top:1px solid var(--hairline);
  font-size:15.5px;color:var(--tx-2);letter-spacing:-.008em;
}
.marcadores li:last-child{border-bottom:1px solid var(--hairline)}
.marcadores span{
  flex:0 0 auto;font-size:12px;color:var(--tx-4);
  font-variant-numeric:tabular-nums;letter-spacing:.06em;
}

/* ---------- Serviços ---------- */

.servicos__lista{margin-top:clamp(44px,6vw,72px);border-top:1px solid var(--hairline)}

.servico{
  display:grid;
  grid-template-columns:64px minmax(0,4fr) minmax(0,6fr);
  gap:clamp(20px,4vw,56px);
  align-items:start;
  padding:clamp(26px,3.4vw,38px) 0;
  border-bottom:1px solid var(--hairline);
  transition:background-color .3s ease;
}
.servico__num{
  margin:0;font-size:12.5px;color:var(--tx-4);
  font-variant-numeric:tabular-nums;letter-spacing:.08em;
  padding-top:.42em;
}
.servico h3{
  font-size:clamp(1.15rem,1.9vw,1.4rem);
  line-height:1.24;letter-spacing:-.022em;font-weight:600;
}
.servico p:not(.servico__num){
  margin:0;font-size:1rem;line-height:1.6;
  color:var(--tx-3);letter-spacing:-.006em;max-width:56ch;
}

/* ---------- Posicionamento ---------- */

.posicionamento .container{max-width:900px}
.posicionamento .titulo{max-width:18ch}
.posicionamento .corpo{max-width:64ch;font-size:1.125rem}
.posicionamento .grupo{margin-top:32px}

.regra{
  width:56px;height:1px;background:var(--azul);
  margin:36px 0;border:0;opacity:.55;
}

/* ---------- Contato ---------- */

.contato__grade{
  display:grid;
  grid-template-columns:minmax(0,4fr) minmax(0,5fr);
  gap:clamp(40px,6vw,80px);
  align-items:start;
}

.dados{list-style:none;margin:44px 0 0;padding:0}
.dados li{padding:18px 0;border-top:1px solid var(--hairline)}
.dados li:last-child{border-bottom:1px solid var(--hairline)}
.dados .rot{
  display:block;margin-bottom:5px;
  font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--tx-4);
}
.dados .valor{font-size:1.0625rem;color:var(--tx-1);letter-spacing:-.011em;line-height:1.45}
.dados a{text-decoration:none;transition:color .2s ease}
.dados a:hover{color:var(--azul)}

.formulario{
  background:var(--sup-1);
  border:1px solid var(--hairline);
  border-radius:var(--raio);
  padding:clamp(24px,3.4vw,40px);
}
.secao--alt .formulario{background:var(--sup-1)}

.campo{margin-bottom:18px}
.campo label{
  display:block;margin-bottom:7px;
  font-size:13px;color:var(--tx-3);letter-spacing:-.003em;
}
.campo input,.campo textarea{
  width:100%;
  font-family:inherit;font-size:16px;letter-spacing:-.009em;color:var(--tx-1);
  background:var(--sup-2);
  border:1px solid var(--hairline);
  border-radius:10px;
  padding:12px 14px;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.campo input::placeholder,.campo textarea::placeholder{color:var(--tx-4)}
.campo input:focus,.campo textarea:focus{
  outline:none;
  border-color:var(--azul);
  background:var(--sup-1);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--azul) 14%, transparent);
}
.campo textarea{resize:vertical;min-height:116px;line-height:1.55}

.formulario .botao{width:100%;margin-top:8px}
.nota{margin:14px 0 0;font-size:12.5px;color:var(--tx-4);text-align:center;letter-spacing:-.002em}

/* ---------- Rodapé ---------- */

.rodape{
  border-top:1px solid var(--hairline);
  background:var(--sup-1);
  padding-block:clamp(56px,7vw,88px) 32px;
  font-size:14px;color:var(--tx-3);letter-spacing:-.006em;
}
.rodape__grade{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(28px,4vw,56px);
}
.rodape h2,.rodape h3{
  font-family:var(--sans);
  font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--tx-4);font-weight:500;margin:0 0 14px;
}
.rodape p{margin:0 0 5px;line-height:1.6}
.rodape .destaque{color:var(--tx-1)}
.rodape a{text-decoration:none;transition:color .2s ease}
.rodape a:hover{color:var(--tx-1)}

.rodape__base{
  margin-top:clamp(44px,6vw,72px);padding-top:22px;
  border-top:1px solid var(--hairline);
  display:flex;flex-wrap:wrap;gap:12px 28px;
  justify-content:space-between;align-items:center;
  font-size:13px;color:var(--tx-4);
}
.rodape__links{display:flex;gap:22px}

/* ---------- Movimento ---------- */

.revelar{
  opacity:0;transform:translateY(16px);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);
}
.revelar.visivel{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .revelar{opacity:1;transform:none;transition:none}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ---------- Responsivo ---------- */

@media (max-width:960px){
  .duas-colunas,.contato__grade{grid-template-columns:1fr}
  .coluna-fixa{position:static}
  .servico{grid-template-columns:46px minmax(0,1fr);row-gap:10px;column-gap:16px}
  .servico__num{grid-column:1;grid-row:1;padding-top:.3em}
  .servico h3{grid-column:2;grid-row:1}
  .servico p:not(.servico__num){grid-column:2;grid-row:2;max-width:62ch}
  .rodape__grade{grid-template-columns:1fr 1fr}
}

@media (max-width:700px){
  body{font-size:16px}
  .display{max-width:none;font-size:clamp(2.25rem,9vw,3rem);letter-spacing:-.032em}
  .hero__meta{gap:6px 20px;font-size:12.5px}
  .menu-botao{display:inline-flex}
  .nav{
    position:absolute;top:var(--header);left:0;right:0;
    display:none;flex-direction:column;align-items:stretch;gap:0;
    padding:6px var(--gutter) 18px;
    background:var(--sup-1);
    border-bottom:1px solid var(--hairline);
  }
  .nav.aberto{display:flex}
  .nav a{padding:15px 0;border-radius:0;border-bottom:1px solid var(--hairline);font-size:16px}
  .nav a:last-child{border-bottom:0}
  .nav a:hover{background:transparent}
  .nav a[aria-current="true"]::after{display:none}
  .acoes{gap:10px}
  .acoes .botao{flex:1 1 100%}
  .rodape__grade{grid-template-columns:1fr;gap:32px}
  .rodape__base{justify-content:flex-start}
}
