/* ============================================================
   RESIDENCIA — single (visual editorial .res-pg)
   Colar no FIM do style.css do tema portalv4.0
   Escopo: .res-pg (envolve toda a pagina). Nao redeclara tokens globais.
   ============================================================ */

.res-pg{
  --brand:#111;--brand-d:#000;
  --green:#111;--green-d:#000;
  --gold:#9A7209;--goldl:#C49A20;
  --cream:#faf9f6;--ivory:#f5f1e8;
  --border:#d8d4c8;--border-soft:#e8e4d8;
  --tx:#1a1a1a;--tx2:#3a3a36;--tx3:#7a7770;
  --fs:Georgia,'Times New Roman',serif;
  --fsans:'Inter',-apple-system,sans-serif;
  --fdisplay:'Source Serif 4',Georgia,serif;
  --fcaps:'Bebas Neue',sans-serif;
}
.res-pg{font-family:var(--fs);background:var(--cream);color:var(--tx);line-height:1.6}

.res-pg .hero{display:grid;grid-template-columns:1.1fr 1fr;border-bottom:1px solid var(--border);background:var(--cream)}
.res-pg .hero-content{padding:56px 2.5rem 60px;display:flex;flex-direction:column;justify-content:center;max-width:780px;margin-left:auto;width:100%}
.res-pg .hero-kicker{font-family:var(--fcaps);font-size:11px;letter-spacing:2.5px;color:var(--green);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.res-pg .hero-kicker::before{content:"";width:28px;height:1px;background:var(--green)}
.res-pg .hero-h1{font-family:var(--fdisplay);font-weight:400;font-size:clamp(34px,4vw,54px);line-height:1.05;letter-spacing:-.02em;margin:0 0 16px;color:#111}
.res-pg .hero-h1 em{font-style:italic;color:var(--goldl);font-weight:500}
.res-pg .hero-sub{font-family:var(--fdisplay);font-style:italic;font-size:17px;color:var(--tx2);margin:0 0 28px;line-height:1.5;max-width:600px}
.res-pg .hero-meta{display:flex;gap:36px;flex-wrap:wrap;padding:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:28px}
.res-pg .hero-meta-item{display:flex;flex-direction:column;gap:4px}
.res-pg .hero-meta-label{font-family:var(--fcaps);font-size:10px;letter-spacing:2px;color:var(--tx3);text-transform:uppercase}
.res-pg .hero-meta-value{font-family:var(--fs);font-size:15px;color:#111;font-style:italic}
.res-pg .hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.res-pg .btn-primary,.res-pg .btn-secondary{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;text-decoration:none;font-family:var(--fcaps);font-size:12px;letter-spacing:2px;text-transform:uppercase;transition:all .3s}
.res-pg .btn-primary{background:var(--green);color:#fff}
.res-pg .btn-primary:hover{background:var(--green-d);color:#fff}
.res-pg .btn-secondary{background:transparent;color:#111;border:1px solid #111}
.res-pg .btn-secondary:hover{background:#111;color:#fff}
.res-pg .hero-img{background-color:var(--ivory);background-size:cover;background-position:center;min-height:420px;position:relative}

.res-pg .subnav-pos{background:var(--cream);position:sticky;top:0;z-index:50;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.res-pg .subnav-pos-inner{max-width:1400px;margin:0 auto;padding:0 2.5rem}
.res-pg .subnav-pos-list{display:flex;align-items:center;justify-content:center;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.res-pg .subnav-pos-list::-webkit-scrollbar{display:none}
.res-pg .subnav-pos-list li{display:flex;align-items:center;white-space:nowrap}
.res-pg .subnav-pos-list li:not(:last-child)::after{content:"\00B7";color:var(--tx3);font-size:18px;margin:0 2px;opacity:.7}
.res-pg .subnav-pos-link{font-family:var(--fcaps);font-size:13px;letter-spacing:2.5px;color:var(--brand);text-transform:uppercase;text-decoration:none;padding:18px 18px;transition:color .25s}
.res-pg .subnav-pos-link:hover,.res-pg .subnav-pos-link.active{color:var(--gold)}

.res-pg .sec{max-width:1400px;margin:0 auto;padding:80px 2.5rem;border-bottom:1px solid var(--border)}
.res-pg .sec:last-of-type{border-bottom:none}
.res-pg .sec-head{margin-bottom:42px;max-width:840px}
.res-pg .sec-kicker{font-family:var(--fcaps);font-size:11px;letter-spacing:2.5px;color:#111;margin-bottom:14px;display:flex;align-items:center;gap:12px}
.res-pg .sec-kicker::before{content:"";width:28px;height:1px;background:#111}
.res-pg .sec-title{font-family:var(--fdisplay);font-weight:400;font-size:clamp(28px,3.2vw,42px);line-height:1.1;letter-spacing:-.01em;margin:0}
.res-pg .sec-title em{font-style:italic;color:var(--gold);font-weight:500}
.res-pg .sec-sub-h{font-family:var(--fdisplay);font-weight:500;font-size:22px;color:var(--brand);margin:36px 0 16px;letter-spacing:-.005em}
.res-pg .sec-sub-h em{font-style:italic;color:var(--gold);font-weight:500}

.res-pg .areas-accordion{margin-top:18px;border-top:1px solid var(--border)}
.res-pg .area-acc-item{border-bottom:1px solid var(--border)}
.res-pg .area-acc-q{width:100%;background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:20px;padding:22px 0;text-align:left;font-family:inherit}
.res-pg .area-acc-num{font-family:var(--fcaps);font-size:11px;letter-spacing:2px;color:var(--gold);text-transform:uppercase;flex-shrink:0;width:75px}
.res-pg .area-acc-name{font-family:var(--fdisplay);font-weight:500;font-size:20px;color:var(--brand);flex:1;letter-spacing:-.005em;line-height:1.3}
.res-pg .area-acc-q:hover .area-acc-name{color:var(--gold)}
.res-pg .area-acc-icon{width:30px;height:30px;border:1px solid #111;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s;font-family:var(--fsans);font-size:14px;color:#111}
.res-pg .area-acc-item.open .area-acc-icon{transform:rotate(45deg);background:var(--gold);color:#fff;border-color:var(--gold)}
.res-pg .area-acc-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease}
.res-pg .area-acc-item.open .area-acc-a{max-height:600px;padding-bottom:24px}
.res-pg .area-acc-a p{font-family:var(--fs);font-size:15px;line-height:1.7;color:var(--tx2);margin:0;padding-left:95px;max-width:920px}

.res-pg .diff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}
.res-pg .diff-card{background:#fff;border:1px solid var(--border);padding:32px 30px;display:flex;flex-direction:column;gap:12px;transition:all .3s}
.res-pg .diff-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.06);border-color:#bfb9a8}
.res-pg .diff-num{font-family:var(--fcaps);font-size:11px;letter-spacing:2px;color:var(--gold);text-transform:uppercase}
.res-pg .diff-name{font-family:var(--fdisplay);font-weight:500;font-size:21px;color:var(--brand);margin:0;line-height:1.25;letter-spacing:-.005em}
.res-pg .diff-desc{font-family:var(--fs);font-size:14.5px;line-height:1.65;color:var(--tx2);margin:0}

.res-pg .req-list{margin-top:18px;list-style:none;padding:0;border-top:1px solid var(--border)}
.res-pg .req-list li{padding:16px 0 16px 30px;border-bottom:1px solid var(--border);font-family:var(--fs);font-size:15px;color:var(--tx);line-height:1.5;position:relative}
.res-pg .req-list li::before{content:"";position:absolute;left:0;top:24px;width:14px;height:1px;background:var(--gold)}

.res-pg .etapas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.res-pg .etapa-card{background:#fff;border:1px solid var(--border);padding:26px 24px;display:flex;flex-direction:column;gap:10px;min-height:170px}
.res-pg .etapa-num{font-family:var(--fdisplay);font-style:italic;font-weight:500;font-size:38px;color:var(--gold);line-height:1}
.res-pg .etapa-name{font-family:var(--fdisplay);font-weight:500;font-size:17px;color:var(--brand);margin:0;line-height:1.3;letter-spacing:-.005em}

.res-pg .crono-list{display:grid;grid-template-columns:1fr;margin-top:18px;border-top:1px solid var(--border);border-left:1px solid var(--border)}
.res-pg .crono-item{padding:18px 22px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--cream);display:flex;justify-content:space-between;align-items:center;gap:14px}
.res-pg .crono-step{font-family:var(--fs);font-size:14.5px;color:var(--tx);line-height:1.4;flex:1}
.res-pg .crono-date{font-family:var(--fcaps);font-size:11px;letter-spacing:1.5px;color:var(--gold);white-space:nowrap;text-transform:uppercase}

.res-pg .doclist{display:grid;grid-template-columns:repeat(2,1fr);margin-top:18px;border-top:1px solid var(--border);border-left:1px solid var(--border)}
.res-pg .doclist a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 18px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-family:var(--fs);font-size:13.5px;color:var(--tx);text-decoration:none;transition:all .25s;background:#fff}
.res-pg .doclist a:hover{background:var(--cream);color:var(--gold)}
.res-pg .doclist a svg{flex-shrink:0;color:var(--goldl);stroke:var(--goldl);margin-left:auto}

.res-pg .prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.res-pg .prog-card{background:#fff;border:1px solid var(--border);padding:28px 26px}
.res-pg .prog-card h4{font-family:var(--fcaps);font-size:12px;letter-spacing:2px;color:var(--gold);text-transform:uppercase;margin:0 0 10px}
.res-pg .prog-card .big{font-family:var(--fdisplay);font-style:italic;font-weight:500;font-size:26px;color:var(--brand);margin:0 0 8px}
.res-pg .prog-card p{font-family:var(--fs);font-size:14px;color:var(--tx2);margin:2px 0;line-height:1.5}
.res-pg .prog-cta{margin-top:30px}

.res-pg .rotina-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.res-pg .rotina-block{background:var(--ivory);padding:26px 28px;border-left:3px solid var(--green)}
.res-pg .rotina-block h4{font-family:var(--fcaps);font-size:13px;letter-spacing:2.5px;color:var(--green);margin:0 0 16px;text-transform:uppercase}
.res-pg .rotina-block ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.res-pg .rotina-block li{font-family:var(--fs);font-size:14.5px;color:var(--tx);line-height:1.5;padding-left:16px;position:relative}
.res-pg .rotina-block li::before{content:"\2022";position:absolute;left:0;color:var(--gold);font-weight:bold}

.res-pg .coord-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.res-pg .coord-card{background:#fff;border:1px solid var(--border);padding:32px 30px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.res-pg .coord-img{width:120px;height:120px;border-radius:50%;overflow:hidden;flex-shrink:0}
.res-pg .coord-img img{width:100%;height:100%;object-fit:cover;display:block}
.res-pg .coord-info h3{font-family:var(--fcaps);font-size:11px;letter-spacing:2.5px;color:var(--green);text-transform:uppercase;margin:0 0 6px}
.res-pg .coord-name{font-family:var(--fdisplay);font-weight:500;font-size:22px;color:var(--brand);margin:0 0 14px;letter-spacing:-.005em;line-height:1.2}
.res-pg .coord-bio{font-family:var(--fs);font-size:13.5px;line-height:1.65;color:var(--tx2);margin:0 0 14px}
.res-pg .coord-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;justify-content:center}
.res-pg .btn-lattes{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid #111;color:#111;text-decoration:none;font-family:var(--fcaps);font-size:11px;letter-spacing:1.8px;text-transform:uppercase;transition:all .25s}
.res-pg .btn-lattes:hover{background:#111;color:#fff}

.res-pg .cta-final{background:var(--green);color:#fff;padding:60px 2.5rem;text-align:center}
.res-pg .cta-final h2{font-family:var(--fdisplay);font-weight:400;font-size:clamp(26px,3vw,38px);margin:0 0 12px;line-height:1.2}
.res-pg .cta-final h2 em{font-style:italic;color:var(--goldl);font-weight:500}
.res-pg .cta-final p{font-family:var(--fdisplay);font-style:italic;font-size:16px;color:rgba(255,255,255,.8);margin:0 0 28px}
.res-pg .cta-final .btn-primary{background:var(--goldl);color:#111}
.res-pg .cta-final .btn-primary:hover{background:#fff;color:#111}

.res-pg .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.res-pg .reveal.in{opacity:1;transform:none}

@media (max-width:1100px){
  .res-pg .hero{grid-template-columns:1fr}
  .res-pg .hero-content{padding:48px 1.5rem;max-width:none;margin:0}
  .res-pg .hero-img{min-height:280px}
  .res-pg .diff-grid,.res-pg .coord-grid,.res-pg .rotina-grid,.res-pg .prog-grid{grid-template-columns:1fr}
  .res-pg .etapas-grid{grid-template-columns:repeat(2,1fr)}
  .res-pg .doclist{grid-template-columns:1fr}
}
@media (max-width:1024px){
  .res-pg .sec{padding:60px 1.5rem}
  .res-pg .subnav-pos-inner{padding:0 1.5rem}
}
@media (max-width:760px){
  .res-pg .etapas-grid{grid-template-columns:1fr}
  .res-pg .area-acc-num{width:auto;margin-bottom:6px}
  .res-pg .area-acc-q{flex-wrap:wrap}
  .res-pg .area-acc-a p{padding-left:0}
  .res-pg .subnav-pos-link{padding:14px 12px;font-size:11px;letter-spacing:1.8px}
}
@media (prefers-reduced-motion:reduce){
  .res-pg .reveal{opacity:1;transform:none;transition:none}
}