/* /aggu-private — hero consultivo + seções no padrão r2 (src/styles/brand.css).
   Motions (page.js): ambiente que se monta sobre infraestrutura dedicada, escopo contratado (checklist),
   implantação × operação contínua (linha do tempo), base compartilhada × dedicada, etapas do processo.
   Sem preço, sem prazo. Estados ocultos só com .sx.is-armed. */

/* ---------- Hero ---------- */
.pv-hero{padding-block:clamp(48px,6vw,104px) var(--space-section)}
.pv-hero .eyebrow{display:block;margin-bottom:24px}
.pv-h1{font-size:clamp(2.3rem,1.15rem + 3.2vw,4.3rem);line-height:1.05;max-width:22ch}
.pv-lead{max-width:54ch}
/* hero em duas colunas */
.pv-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px clamp(48px,6vw,104px);align-items:center}
.pv-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.pv-hero-copy .x-pill,.pv-hero-copy .pv-h1,.pv-hero-copy .pv-lead{margin:0}
.pv-hero-copy .pv-h1{font-size:clamp(2.3rem,1.15rem + 2.6vw,3.6rem);max-width:14ch}
.pv-hero-copy .pv-lead{max-width:44ch}
.pv-hero-cta{justify-content:flex-start}
.pv-areas{margin:0;gap:10px}
.pv-areas li{padding:14px 16px;border-radius:16px;background:var(--white);box-shadow:0 0 0 1px var(--line),0 14px 30px -24px rgba(10,20,60,.3);align-items:center}
.pv-areas li span{display:flex;flex-direction:column;gap:2px}
.pv-areas li b{font-weight:500;font-size:15.5px}.pv-areas li small{font-size:13px;color:var(--ink-3)}
.pv-areas .ic{width:36px;height:36px;padding:9px;border-radius:11px;background:var(--blue-wash,#E8F1FF);color:var(--blue)}
@media (max-width:980px){.pv-hero-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.pv-areas li{text-align:left}}

/* ---------- Fechamento ---------- */
.pv-close{display:flex;flex-direction:column;align-items:flex-start;gap:36px}
.pv-close .h2{max-width:24ch}

/* ---------- 1 · o ambiente se monta ---------- */
.pvb{background:#fff;border:1px solid var(--sx-line);border-radius:18px;padding:20px}
.pvb-h,.pvp-h{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pvb-k{font-size:12.5px;color:var(--sx-ink3)}
.pvb-t{font-family:var(--f-brand);font-size:17px;font-weight:500;letter-spacing:-.015em}
.pvb-stack{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.pvb-b{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 14px;border-radius:14px;background:var(--paper);transition:opacity .45s var(--sx-ease),transform .45s var(--sx-ease)}
.pvb-tt{display:flex;flex-direction:column;gap:3px;min-width:0}
.pvb-tt b{font-family:var(--f-brand);font-weight:500;font-size:14px}
.pvb-tt small{font-size:12.5px;color:var(--sx-ink3)}
.pvb-cl{display:flex;flex-wrap:wrap;gap:6px}
.pvb-cl span{font-size:12px;padding:2px 8px;border-radius:999px;background:#fff;border:1px solid var(--sx-line);color:var(--sx-ink2)}
.pvb-floor{margin-top:8px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--ink);color:var(--paper);transition:opacity .45s var(--sx-ease),transform .45s var(--sx-ease)}
.pvb-floor svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;flex:none}
.pvb-floor span{font-size:12.5px;color:rgba(245,245,247,.72)}
.pvb-floor b{display:block;font-family:var(--f-brand);font-weight:500;font-size:14px;color:var(--paper)}
.sx.is-armed .pvb-b:not(.in){opacity:0;transform:translateY(-8px)}
.sx.is-armed .pvb-floor:not(.in){opacity:0;transform:translateY(8px)}

/* ---------- 2 · escopo contratado ---------- */
.pvs{background:#fff;border:1px solid var(--sx-line);border-radius:18px;padding:18px 20px 20px}
.pvs-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}
.pvs-h > b{font-family:var(--f-brand);font-weight:500;font-size:16px}
.pvs-h span{font-size:13px;color:var(--sx-ink3)}
.pvs-h span b{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}
.pvs-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--sx-line)}
.pvs-list li .mv-box{transition:background .25s,border-color .25s,color .25s}
.pvs-list li.is-done .mv-box{background:var(--sx-ok);border-color:var(--sx-ok);color:#fff}
.pvs-b{background:var(--sx-blue-b);color:var(--sx-blue-t);transition:opacity .25s}
.sx.is-armed .pvs-list li:not(.is-done) .pvs-b{opacity:0}
.pvs-new{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;border-radius:14px;border:1px dashed rgba(138,83,0,.35);background:rgba(255,159,10,.06);transition:opacity .4s var(--sx-ease),transform .4s var(--sx-ease)}
.sx.is-armed .pvs-new:not(.in){opacity:0;transform:translateY(8px)}

/* ---------- 3 · implantação × operação contínua ---------- */
.pvt{background:#fff;border-radius:18px;padding:20px}
.pvt-axis{position:relative;height:4px;border-radius:4px;background:var(--sx-wash);margin:6px 0 34px}
.pvt-fill{position:absolute;inset:0;border-radius:4px;background:var(--sx-blue);transform-origin:left;transform:scaleX(var(--p,1));transition:transform 1.4s var(--sx-ease)}
.sx.is-armed .pvt-fill{transform:scaleX(var(--p,0))}
.pvt-axis span{position:absolute;top:12px;font-size:12px;color:var(--sx-ink3)}
.pvt-a{left:0}.pvt-b{right:0}
.pvt-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px;align-items:stretch}
.pvt-impl{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:14px;background:var(--sx-blue-b)}
.pvt-impl .mv-tt small{color:var(--sx-blue-t);font-weight:500}
.pvt-impl .mv-tt span{white-space:normal}
.pvt-ops{padding:14px;border-radius:14px;border:1px solid var(--sx-line)}
.pvt-k{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--sx-ink2);margin-bottom:10px !important}
.pvt-k svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}
.pvt-ops ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pvt-ops li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--paper);font-size:13px;font-weight:500;min-width:0}
.pvt-ops li .sx-ic{background:#fff}
.pvt-foot{margin-top:14px}

/* ---------- 4 · base compartilhada × dedicada ---------- */
.pvc{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px}
.pvc-col{background:#fff;border:1px solid var(--sx-line);border-radius:18px;padding:18px;display:flex;flex-direction:column}
.pvc-k{font-size:13px;font-weight:500;color:var(--sx-ink2);margin-bottom:14px !important}
.pvc-tiles{display:flex;gap:8px}
.pvc-t{flex:1 1 0;min-width:0;height:150px;display:grid;place-items:center;text-align:center;padding:0 8px;border-radius:12px;background:var(--paper);border:1px solid var(--sx-line);font-family:var(--f-brand);font-size:13px;font-weight:500;line-height:1.3;transition:opacity .4s var(--sx-ease),transform .4s var(--sx-ease)}
.is-pv .pvc-t{background:var(--sx-blue-b);border-color:rgba(0,122,255,.2);color:var(--sx-blue-t)}
.pvc-base{margin-top:8px;height:48px;display:grid;place-items:center;border-radius:12px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:500}
.is-pv .pvc-base{background:var(--sx-blue);color:#fff}
.sx.is-armed .pvc-t:not(.in){opacity:0;transform:translateY(-8px)}

/* ---------- 5 · etapas do processo ---------- */
.pvp{background:#fff;border:1px solid var(--sx-line);border-radius:18px;padding:18px 20px 12px}
.pvp-h p{display:flex;flex-direction:column}
.pvp-h p b{font-family:var(--f-brand);font-weight:500;font-size:16px}
.pvp-h p span{font-size:12.5px;color:var(--sx-ink3)}
.pvp-list{position:relative;margin-top:12px !important}
.pvp-line{position:absolute;left:17px;top:28px;bottom:28px;width:2px;margin-left:-1px;background:var(--sx-line2)}
.pvp-line b{position:absolute;inset:0;background:var(--sx-blue);transform-origin:top;transform:scaleY(var(--p,1));transition:transform .6s var(--sx-ease)}
.sx.is-armed .pvp-line b{transform:scaleY(var(--p,0))}
.pvp-s{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:14px;padding:10px 0}
.pvp-dot{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--sx-blue);color:#fff;border:1.5px solid var(--sx-blue);position:relative;z-index:1;transition:background .25s,color .25s,border-color .25s,box-shadow .25s}
.pvp-dot svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}
.sx.is-armed .pvp-s:not(.on):not(.ok) .pvp-dot{background:#fff;color:var(--sx-ink3);border-color:var(--sx-line2)}
.sx.is-armed .pvp-s:not(.on):not(.ok) .mv-tt{opacity:.55}
.pvp-s .mv-tt{transition:opacity .25s}
.pvp-s.on .pvp-dot{background:var(--sx-blue-b);color:var(--sx-blue-t);border-color:var(--sx-blue);box-shadow:0 0 0 4px rgba(0,122,255,.12)}

@media (max-width:720px){
  .pv-hero{padding-top:36px}
  .pv-hero .eyebrow{margin-bottom:18px}
  .pv-close{gap:28px}
  .pvb,.pvs,.pvt,.pvp{padding:16px}
  .pvs-list li{grid-template-columns:auto minmax(0,1fr)}
  .sx .pvs-list li .pvs-b{display:none}
  .pvs-list .mv-tt span,.pvs-new .mv-tt b,.pvs-new .mv-tt span{white-space:normal}
  .pvs-new{grid-template-columns:auto minmax(0,1fr)}
  .pvs-new .sx-badge{grid-column:2;justify-self:start}
  .pvt-row{grid-template-columns:minmax(0,1fr)}
  .pvt-impl{flex-direction:row;align-items:center}
  .pvt-foot .sx-badge{white-space:normal;height:auto;min-height:22px;padding:3px 8px}
  .pvc{grid-template-columns:minmax(0,1fr)}
  .pvc-t{height:72px}
}
@media (max-width:430px){
  .pv-close .btn-row{flex-direction:column;align-items:stretch;width:100%}
  .pv-close .btn-row .btn{width:100%;justify-content:center}
}
