/* Home editorial. All components are scoped; shared navigation stays in style.css. */
.esc-home {
  --home-wine: #70223d;
  --home-muted: #775d66;
  --home-line: #dfcdd0;
  color: #492532;
}
.esc-home section { scroll-margin-top: 100px; }
.esc-home h1, .esc-home h2, .esc-home h3, .esc-home p, .esc-home figure { margin: 0; }
.esc-home h1, .esc-home h2, .esc-home h3 { font-family: var(--serif); font-weight: 400; }
.esc-home em { color: #993c57; }
.esc-home .home-eyebrow { color: var(--home-muted); font-size: 10px; font-weight: 650; letter-spacing: .15em; line-height: 1.7; text-transform: uppercase; }
.esc-home .home-cover { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 25px; padding: 36px 0 58px; border-bottom: 1px solid var(--home-line); }
.esc-home h1 { font-size: clamp(42px, 4.6vw, 68px); letter-spacing: -.05em; line-height: 1.06; margin: 24px 0; }
.esc-home .home-intro { color: var(--home-muted); font-size: 15px; line-height: 1.7; }
.esc-home .home-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 28px; }
.esc-home .home-button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 46px; padding: 12px 21px; border-radius: 30px; background: var(--home-wine); color: #fff8f6; font-size: 12px; font-weight: 650; transition: background .2s; }
.esc-home .home-button:hover { background: #501426; }
.esc-home .home-text-link { display: inline-flex; align-items: center; gap: 13px; min-height: 44px; color: var(--home-wine); font-size: 12px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: #b98696; }
.esc-home .home-text-link:hover { text-decoration-color: currentColor; }
.esc-home .home-specimen { padding: 25px 15px 20px; border-radius: 50% 50% 8px 8px; background: #5c1c35; color: #f5dce4; }
.esc-home .home-cover-art { display: block; width: 100%; height: auto; }
.esc-home figcaption { text-align: center; font-size: 10px; line-height: 1.6; padding: 8px 9px 0; }
.esc-home .home-blood { transition: transform .8s ease; }
.esc-home .home-specimen:hover .home-blood { transform: translateX(8px); }
.esc-home .home-explore, .esc-home .home-map { padding-top: 58px; }
.esc-home .home-section-heading { margin-bottom: 26px; }
.esc-home h2 { font-size: clamp(32px, 3.1vw, 44px); line-height: 1.1; letter-spacing: -.035em; margin-top: 9px; }
.esc-home .home-portals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.esc-home .home-portal { position: relative; min-width: 0; padding: 18px 16px; border: 1px solid var(--home-line); border-radius: 5px; background: #fffaf7; transition: border-color .2s, transform .2s; }
.esc-home .home-portal:hover { transform: translateY(-3px); border-color: #a35c73; }
.esc-home .home-portal-number { color: var(--home-muted); font-size: 10px; font-variant-numeric: tabular-nums; }
.esc-home .home-portal svg { display: block; width: 100%; height: 140px; margin: 4px 0 12px; }
.esc-home .home-portal h3 { font-size: clamp(23px, 2.2vw, 29px); line-height: 1.2; letter-spacing: -.025em; }
.esc-home .home-portal-caption { display: flex; justify-content: space-between; align-items: center; gap: 6px; color: var(--home-muted); font-size: 11px; line-height: 1.5; margin-top: 10px; }
.esc-home .home-portal-caption > span { color: var(--home-wine); font-size: 18px; }
.esc-home .home-map { padding-bottom: 48px; }
.esc-home .home-question-map { border: 1px solid var(--home-line); border-radius: 5px; padding: 30px; background: #f2e9e7; }
.esc-home .home-map-origin { text-align: center; display: flex; align-items: center; gap: 16px; color: var(--home-wine); font: italic 23px/1.3 var(--serif); }
.esc-home .home-map-origin::before, .esc-home .home-map-origin::after { content: ''; height: 1px; flex: 1; border-top: 1px dashed #b58b96; }
.esc-home .home-map-branches { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 30px; margin-top: 24px; }
.esc-home .home-map-branch { display: grid; grid-template-columns: 1fr auto; align-content: start; min-width: 0; padding-bottom: 13px; border-bottom: 1px solid #cfb5bd; }
.esc-home .home-map-branch svg { display: block; grid-column: 1 / -1; width: 100%; height: 95px; margin-bottom: 10px; opacity: .9; }
.esc-home .home-map-branch strong { display: block; font-size: 12px; font-weight: 650; line-height: 1.5; }
.esc-home .home-map-branch small { display: block; font-size: 11px; color: var(--home-muted); line-height: 1.5; margin-top: 4px; }
.esc-home .home-map-arrow { color: var(--home-wine); margin-left: 8px; font-size: 17px; }
.esc-home .home-map-branch:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.esc-home .home-map-caption { color: var(--home-muted); font-size: 11px; line-height: 1.65; margin-top: 15px; max-width: 660px; }
.esc-home .home-resume { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; border-top: 1px solid var(--home-line); padding-top: 30px; }
.esc-home .home-resume h2 { font-size: 32px; margin-bottom: 12px; }
.esc-home .home-latest-note { border-left: 1px solid var(--home-line); padding-left: 32px; }
.esc-home .home-note-title { font: 400 23px/1.3 var(--serif); letter-spacing: -.015em; margin: 9px 0 7px; max-width: 440px; }
.esc-home a:focus-visible { outline: 3px solid #993c57; outline-offset: 4px; }
@media (max-width: 1140px) {
  .esc-home .home-cover { gap: 20px; }
  .esc-home .home-portals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .esc-home .home-portal svg { height: 130px; }
  .esc-home .home-map-branches { gap: 18px; }
}
@media (max-width: 790px) {
  .esc-home .home-cover { grid-template-columns: 1fr; padding: 12px 0 34px; gap: 28px; }
  .esc-home h1 { font-size: clamp(40px, 10.5vw, 66px); margin: 19px 0; }
  .esc-home .home-intro { font-size: 14px; }
  .esc-home .home-actions { gap: 8px 16px; margin-top: 20px; }
  .esc-home .home-specimen { width: min(100%, 410px); justify-self: center; padding: 13px 15px 16px; }
  .esc-home .home-cover-art { max-height: 260px; }
  .esc-home .home-explore, .esc-home .home-map { padding-top: 36px; }
  .esc-home .home-section-heading { margin-bottom: 20px; }
  .esc-home h2 { font-size: 34px; }
  .esc-home .home-portals { gap: 12px; }
  .esc-home .home-portal { padding: 13px; }
  .esc-home .home-portal svg { height: 106px; margin: 4px 0 10px; }
  .esc-home .home-portal h3 { font-size: 23px; }
  .esc-home .home-portal-caption { font-size: 11px; min-height: 34px; margin-top: 7px; }
  .esc-home .home-question-map { padding: 22px 15px 12px; }
  .esc-home .home-map-origin { font-size: 22px; gap: 9px; }
  .esc-home .home-map-branches { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
  .esc-home .home-map-branch svg { height: 72px; }
  .esc-home .home-map-branch strong { font-size: 12px; }
  .esc-home .home-map-branch small { font-size: 11px; }
  .esc-home .home-map { padding-bottom: 30px; }
  .esc-home .home-resume { grid-template-columns: 1fr; gap: 20px; padding-top: 25px; }
  .esc-home .home-resume h2 { font-size: 30px; margin-bottom: 5px; }
  .esc-home .home-latest-note { border-left: 0; border-top: 1px solid var(--home-line); padding: 22px 0 0; }
}
@media (max-width: 360px) {
  .esc-home .home-portal h3 { font-size: 21px; }
  .esc-home .home-portals { gap: 8px; }
  .esc-home .home-portal { padding: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .esc-home *, .esc-home *::before, .esc-home *::after { animation: none !important; transition: none !important; }
  .esc-home .home-portal:hover, .esc-home .home-specimen:hover .home-blood { transform: none; }
}
@media print {
  .esc-home .home-cover, .esc-home .home-portal, .esc-home .home-question-map, .esc-home .home-resume { break-inside: avoid; }
  .esc-home .home-specimen, .esc-home .home-question-map { print-color-adjust: exact; }
}

/* Leitura progressiva: trilhas acessíveis sem ocupar toda a primeira leitura. */
.esc-home .home-map-disclosure{border:1px solid var(--home-line);border-radius:14px;background:#fffaf8}
.esc-home .home-map-disclosure>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none;padding:20px 24px;min-height:56px;color:var(--home-wine);font-size:14px;font-weight:650;cursor:pointer}
.esc-home .home-map-disclosure>summary::-webkit-details-marker{display:none}
.esc-home .home-map-disclosure>summary span{font-size:24px;font-weight:400}
.esc-home .home-map-disclosure[open]>summary span{transform:rotate(45deg)}
.esc-home .home-map-disclosure>summary:focus-visible{outline:3px solid #993c57;outline-offset:4px}
.esc-home .home-map-disclosure .home-question-map{border:0;border-top:1px solid var(--home-line);border-radius:0 0 14px 14px}

/* Painel "Seu estado": reflete só o que foi marcado neste navegador. */
.esc-home .home-estado[hidden]{display:none}
.esc-home .home-estado{margin:0 0 22px;padding:20px 22px;border:1px solid var(--home-line);border-radius:14px;background:linear-gradient(180deg,#fffaf8,#f7ecee)}
.esc-home .he-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px}
.esc-home .he-head h2{margin:2px 0 0;font-size:clamp(24px,3vw,32px);letter-spacing:-.02em;color:var(--home-wine)}
.esc-home .he-bar{height:8px;margin:14px 0 16px;border-radius:99px;background:#ead7db;overflow:hidden}
.esc-home .he-bar>i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#a35c73,var(--home-wine));transform-origin:left;animation:he-grow .9s .25s cubic-bezier(.2,.7,.2,1) both}
.esc-home .he-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px}
.esc-home .he-card{min-width:0;padding:14px 16px;border:1px solid var(--home-line);border-radius:10px;background:#fffdfc;font-size:14px;line-height:1.5}
.esc-home .he-card.he-next{border-color:#a35c73;background:#fff}
.esc-home .he-k{display:block;margin-bottom:4px;color:var(--home-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.esc-home .he-card p{margin:0 0 8px}
.esc-home .he-card a:not(.mesa-btn){color:var(--home-wine);text-decoration:underline;text-underline-offset:3px}

/* Entrada em camadas e vida discreta no vaso. */
.esc-home .home-rv{animation:he-rise .7s cubic-bezier(.2,.7,.2,1) both}
.esc-home .home-cover.home-rv{animation-delay:.05s}
.esc-home .home-explore.home-rv{animation-delay:.15s}
.esc-home .home-map.home-rv{animation-delay:.22s}
.esc-home .home-resume.home-rv{animation-delay:.3s}
.esc-home .home-portal{animation:he-rise .6s cubic-bezier(.2,.7,.2,1) both}
.esc-home .home-portal:nth-child(2){animation-delay:.1s}
.esc-home .home-portal:nth-child(3){animation-delay:.18s}
.esc-home .home-portal:nth-child(4){animation-delay:.26s}
.esc-home .home-portal:hover{box-shadow:0 10px 24px -14px rgba(112,34,61,.55)}
.esc-home .home-blood{animation:he-flow 7s ease-in-out infinite alternate}
.esc-home .home-glycans{animation:he-sway 5s ease-in-out infinite alternate}
@keyframes he-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes he-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes he-flow{from{transform:translateX(-6px)}to{transform:translateX(10px)}}
@keyframes he-sway{from{opacity:.82}to{opacity:1}}
@media (max-width:790px){
  .esc-home .he-grid{grid-template-columns:1fr}
  .esc-home .home-estado{padding:16px}
}
@media (prefers-reduced-motion:reduce){
  .esc-home .home-rv,.esc-home .home-portal,.esc-home .home-blood,.esc-home .home-glycans,.esc-home .he-bar>i{animation:none !important}
}

/* Seu estado: CTA em pílula vinho e nota com respiro */
.esc-home .he-next .mesa-btn{display:inline-block;margin-top:.6rem;padding:.5rem 1rem;border-radius:999px;background:var(--home-wine);color:#fff;text-decoration:none;font-weight:600;transition:transform .2s,box-shadow .2s}
.esc-home .he-next .mesa-btn:hover,.esc-home .he-next .mesa-btn:focus-visible{transform:translateY(-1px);box-shadow:0 6px 16px rgba(112,34,61,.28)}
.esc-home .home-estado .cmp-note{margin:1rem 0 0;color:var(--home-muted);font-size:.9rem}
.esc-home .home-estado .cmp-note a{color:var(--home-wine);text-decoration:underline;text-underline-offset:3px}
@media (prefers-reduced-motion:reduce){.esc-home .he-next .mesa-btn{transition:none}}


/* Edição 06 · home: progresso recuperado, navegação científica primeiro. */
/* Paleta original da home herdada de .esc-home, sem sobrescrever tokens. */
.esc-home .home-estado{background:#fffdfb;border-color:var(--home-line);padding:20px 24px;margin-bottom:16px}
.esc-home .he-head{align-items:center}
.esc-home .he-head h2{font-size:clamp(22px,2.4vw,29px);line-height:1.18;color:var(--ink)}
.esc-home .he-head .inline{font-size:12px;color:var(--home-wine);font-weight:650;text-decoration:underline;text-underline-offset:3px}
.esc-home .he-bar{height:7px;margin:14px 0 12px;background:#eee3e5}
/* Barra herda o degradê vinho/rosado original. */
.esc-home .he-stages{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0}
.esc-home .he-stage{min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 7px;font-size:12px;line-height:1.4;color:#6b5d61}
.esc-home .he-stage strong{font:600 12px/1.4 var(--font);color:#383036}
.esc-home .he-stage.pending strong{color:#70656a;font-weight:500}
.esc-home .he-stage-date{color:var(--home-wine);font-size:11px;font-variant-numeric:tabular-nums}
.esc-home .he-stage.pending .he-stage-date{color:#777074}
.esc-home .home-cover{padding-top:22px}
.esc-home .cand-now{margin-top:44px;padding:22px 24px 20px;border:1px solid var(--home-line);border-radius:14px;background:#fffdfb}
.esc-home .cand-now .section-head{align-items:center;margin:0;padding:0;border:0}
.esc-home .cand-now h2{font-size:clamp(25px,2.8vw,36px)}
.esc-home .cand-now .section-desc{max-width:65ch}
@media(max-width:790px){
 .esc-home .home-estado{padding:16px;margin-bottom:8px}
 .esc-home .he-stages{gap:8px}
 .esc-home .he-stage{display:block}
 .esc-home .he-stage strong{display:block;font-size:11px}
 .esc-home .he-head .inline{display:inline-block;margin-top:4px}
 .esc-home .cand-now{padding:18px;margin-top:30px}
 .esc-home .cand-now .section-head .subtle-link{display:inline-block;white-space:normal}
}
@media(max-width:360px){.esc-home .he-stage-date{font-size:10px}.esc-home .he-stage strong{font-size:10px}}
