/* Páginas institucionais — extensão da home v2. */

.page-inst .hero--page{
  min-height:540px;
  padding:148px 0 72px;
}
.page-inst .hero--page .hero__photo{
  object-position:center 42%;
  filter:saturate(.95) brightness(.6);
}
.page-inst .hero--page::before{
  background:
    radial-gradient(ellipse 72% 62% at 20% 38%,rgba(4,14,28,.9) 0%,rgba(4,14,28,.5) 48%,transparent 78%),
    linear-gradient(180deg,rgba(4,14,28,.3),rgba(4,14,28,.16));
}
.page-inst .hero--page .hero-inner{max-width:760px}
.page-inst .hero--page .hero-actions{margin-top:8px}

.page-inst .crumb{
  background:#fff;border-bottom:1px solid var(--home-line);padding:14px 0
}
.page-inst .crumb ol{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  list-style:none;margin:0;padding:0;font-size:.88rem;color:var(--home-muted)
}
.page-inst .crumb a:hover{color:var(--home-blue)}
.page-inst .crumb [aria-current]{color:var(--home-text);font-weight:600}

.page-inst .section-white{background:#fff}
.page-inst .section-sand{background:#eceae3}

.page-inst .media-frame{
  overflow:hidden;border-radius:24px;border:1px solid var(--home-line);
  background:#0b1526;min-height:280px
}
.page-inst .media-frame iframe,.page-inst .media-frame img{
  width:100%;height:100%;display:block;border:0
}
.page-inst .media-frame iframe{min-height:340px;aspect-ratio:16/9}

.page-inst .gallery{
  display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:10px;
  min-height:420px
}
.page-inst .gallery img{
  width:100%;height:100%;object-fit:cover;display:block;border-radius:20px
}
.page-inst .gallery a:first-child{grid-row:1 / span 2}

.page-inst .value-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:42px
}
.page-inst .value-card{
  background:#fff;border:1px solid var(--home-line);border-radius:20px;padding:26px;min-height:220px
}
.page-inst .value-card .index{
  font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7b8189
}
.page-inst .value-card h3{margin:28px 0 12px}
.page-inst .value-card p,.page-inst .value-card li{color:#68707a;line-height:1.6}
.page-inst .value-card ul{margin:0;padding-left:18px}

.page-inst .timeline{display:grid;gap:14px;margin-top:42px}
.page-inst .tl-item{
  display:grid;grid-template-columns:140px 1fr;gap:22px;align-items:start;
  background:#fff;border:1px solid var(--home-line);border-radius:20px;padding:22px 24px
}
.page-inst .tl-year{
  font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--home-blue)
}
.page-inst .tl-item h3{margin:0 0 8px}
.page-inst .tl-item p{margin:0;color:#68707a}

.page-inst .info-card{
  background:#fff;border:1px solid var(--home-line);border-radius:24px;padding:28px;
  display:flex;flex-direction:column;gap:18px
}
.page-inst .info-row strong{display:block;margin-bottom:4px}
.page-inst .info-row p{margin:0;color:#68707a}
.page-inst .info-row a:hover{color:var(--home-blue)}

.page-inst .map-grid{
  display:grid;grid-template-columns:1.4fr .8fr;gap:18px;margin-top:42px;align-items:stretch
}
.page-inst .map-grid .media-frame{min-height:100%}
.page-inst .map-grid iframe{min-height:420px;height:100%}

.page-inst .logo-track-wrap{overflow:hidden;margin-top:38px;border:1px solid var(--home-line);border-radius:20px;background:#fff}
.page-inst .logo-track{
  display:flex;gap:36px;align-items:center;width:max-content;
  padding:22px 28px;animation:logo-scroll 42s linear infinite
}
.page-inst .logo-track img{height:40px;width:auto;filter:grayscale(1);opacity:.72}
.page-inst .contact-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:8px
}
.page-inst .contact-card{
  background:#fff;border:1px solid var(--home-line);border-radius:20px;padding:24px;
  min-height:260px;display:flex;flex-direction:column
}
.page-inst .contact-card .label{
  display:inline-block;width:max-content;background:#e8f4ff;color:#1554a6;
  padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:700;margin-bottom:28px
}
.page-inst .contact-card h3{margin:0 0 10px}
.page-inst .contact-card p{color:#68707a;margin:0 0 12px}
.page-inst .contact-card .info{color:var(--home-text);font-weight:700;margin-bottom:18px}
.page-inst .contact-card .text-link{margin-top:auto}

.page-inst .hours-list{display:grid;gap:12px;margin-top:26px}
.page-inst .hour-card{
  background:#fff;border:1px solid var(--home-line);border-radius:18px;padding:18px 20px
}
.page-inst .hour-card strong{display:block;margin-bottom:4px}
.page-inst .hour-card span{color:#68707a}

.page-inst .help-panel{
  background:linear-gradient(145deg,#0a1b30,#0d3658);color:#fff;
  border-radius:24px;padding:36px;min-height:100%;
  display:flex;flex-direction:column;justify-content:center
}
.page-inst .help-panel .eyebrow{color:#b9c0c8}
.page-inst .help-panel .lead{color:#c2c8d0}
.page-inst .help-panel .btn-ghost{margin-top:22px;width:max-content}

.page-inst :focus-visible{outline:3px solid #75b8ff;outline-offset:3px;border-radius:8px}

@keyframes logo-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@media(max-width:980px){
  .page-inst .gallery,.page-inst .value-grid,.page-inst .map-grid,.page-inst .contact-grid{grid-template-columns:1fr 1fr}
  .page-inst .gallery{grid-template-rows:auto}
  .page-inst .gallery a:first-child{grid-row:auto}
  .page-inst .tl-item{grid-template-columns:1fr}
}
@media(max-width:640px){
  .page-inst .hero--page{padding:128px 0 56px;min-height:0}
  .page-inst .gallery,.page-inst .value-grid,.page-inst .map-grid,.page-inst .contact-grid{grid-template-columns:1fr}
  .page-inst .final-actions .btn{width:100%}
  .page-inst .help-panel .btn-ghost{width:100%}
}

/* Desenvolvimento — página do terceiro pilar */
.page-dev .hero--dev{
  min-height:680px;
  padding:148px 0 80px;
  background:#071525;
}
.page-dev .hero--dev::before{
  background:
    radial-gradient(ellipse 52% 48% at 82% 42%,rgba(25,103,255,.18) 0%,transparent 68%),
    radial-gradient(ellipse 40% 36% at 18% 72%,rgba(52,212,255,.1) 0%,transparent 70%),
    linear-gradient(180deg,rgba(4,14,28,.2),rgba(4,14,28,.08));
}
.page-dev .hero-dev-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
  gap:40px;
  align-items:center;
  max-width:none;
}
.page-dev .hero--dev .hero-copy p{max-width:540px}
.page-dev .hero-dev-visual{
  margin:0 -8% 0 0;
  position:relative;
}
.page-dev .hero-copy{position:relative;z-index:1}
.page-dev .hero-dev-visual img{
  width:112%;
  max-width:none;
  height:auto;
  display:block;
  -webkit-mask-image:radial-gradient(ellipse 94% 90% at 54% 48%,#000 70%,rgba(0,0,0,.55) 88%,transparent 100%);
  mask-image:radial-gradient(ellipse 94% 90% at 54% 48%,#000 70%,rgba(0,0,0,.55) 88%,transparent 100%);
}
.page-dev .area-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:42px;
}
.page-dev .area-card{
  background:#fff;
  border:1px solid var(--home-line);
  border-radius:20px;
  padding:26px 24px 24px;
  min-height:210px;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.page-dev .area-card:hover{
  transform:translateY(-3px);
  border-color:#c5d8ec;
  box-shadow:0 16px 36px rgba(25,103,255,.08);
}
.page-dev .area-card .icon{
  width:28px;height:28px;color:#0c1b2d;margin-bottom:28px;
}
.page-dev .area-card .icon svg{display:block;width:28px;height:28px}
.page-dev .area-card h3{margin:0 0 10px;font-size:1.2rem}
.page-dev .area-card p{margin:0;color:#68707a}

.page-dev .flow-track{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:42px 0 36px;
  list-style:none;
  padding:0;
}
.page-dev .flow-node{
  background:#11161d;
  border:1px solid #29303a;
  border-radius:18px;
  padding:22px 18px;
  min-height:132px;
}
.page-dev .flow-node span{
  display:block;
  color:var(--home-cyan);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.page-dev .flow-node strong{display:block;font-size:1.15rem;letter-spacing:-.02em}
.page-dev .flow-note{color:#b9c1cb;max-width:820px;margin:0;font-size:1.05rem;line-height:1.6}

.page-dev .ai-layout{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:56px;
  align-items:center;
}
.page-dev .ai-list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:10px}
.page-dev .ai-list li{
  padding:12px 14px;
  border-radius:14px;
  background:#fff;
  border:1px solid var(--home-line);
  color:#3d4754;
  font-weight:600;
}
.page-dev .mockup{
  background:#081426;
  border-radius:28px;
  padding:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.16);
}
.page-dev .mock-window{
  background:#171c24;
  border:1px solid #2c333f;
  border-radius:18px;
  overflow:hidden;
  min-height:420px;
}
.page-dev .mock-bar{
  height:46px;border-bottom:1px solid #2c333f;
  display:flex;align-items:center;padding:0 16px;gap:7px;
}
.page-dev .dot{width:8px;height:8px;border-radius:50%;background:#404854}
.page-dev .dot:first-child{background:var(--home-cyan)}
.page-dev .mock-body{display:grid;grid-template-columns:118px 1fr;min-height:374px}
.page-dev .mock-sidebar{border-right:1px solid #2c333f;padding:18px}
.page-dev .mini-line{height:8px;border-radius:99px;background:#2b323c;margin:10px 0}
.page-dev .mini-line.short{width:58%}
.page-dev .mini-line.active{background:linear-gradient(90deg,var(--home-blue),var(--home-cyan));width:72%}
.page-dev .mock-content{padding:24px}
.page-dev .mock-title{height:16px;width:42%;background:#eef3f8;border-radius:6px;margin-bottom:22px}
.page-dev .mock-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.page-dev .kpi{height:86px;border-radius:14px;background:#202631;border:1px solid #303744}
.page-dev .mock-chart{
  height:168px;border-radius:16px;margin-top:14px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,rgba(52,212,255,.12),transparent),
    repeating-linear-gradient(0deg,#262d37 0 1px,transparent 1px 42px);
}
.page-dev .mock-chart::after{
  content:"";position:absolute;left:6%;right:6%;bottom:34%;height:3px;
  background:linear-gradient(90deg,var(--home-blue),var(--home-cyan));
  transform:skewY(-8deg);
}

.page-dev .hub{
  margin-top:46px;
  display:grid;
  gap:14px;
}
.page-dev .hub-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.page-dev .hub-node{
  min-height:78px;
  border:1px solid var(--home-line);
  background:#fff;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px 10px;
  font-weight:700;
  color:#3a4450;
}
.page-dev .hub-core{
  background:linear-gradient(145deg,#0a1b30,#0d3658);
  color:#fff;
  border-color:#17486f;
  min-height:110px;
  font-size:1.15rem;
  letter-spacing:-.02em;
  grid-column:1 / -1;
}
.page-dev .hub-core small{
  display:block;
  margin-top:6px;
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#9eb4c8;
}
.page-dev .hub-copy{margin:28px 0 0;max-width:820px}

.page-dev .process-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.page-dev .process-5 .process-step{padding:24px 16px;min-height:260px}
.page-dev .process-5 .process-step h3{margin:40px 0 10px;font-size:1.18rem}
.page-dev .process-5 .process-step p{max-width:none}

.page-dev .compare-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:42px;
}
.page-dev .compare-card{
  background:#fff;
  border:1px solid var(--home-line);
  border-radius:24px;
  padding:30px 28px;
  min-height:360px;
}
.page-dev .compare-card--build{border-top:3px solid var(--home-blue)}
.page-dev .compare-card--ready{border-top:3px solid #8eb6e0}
.page-dev .compare-card h3{margin:0 0 22px;font-size:1.35rem}
.page-dev .compare-card ul{margin:0;padding:0;list-style:none}
.page-dev .compare-card li{
  padding:11px 0;
  border-bottom:1px solid #e8edf3;
  color:#4f5660;
}
.page-dev .compare-card li:last-child{border-bottom:0}

.page-dev .principle-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:42px;
}
.page-dev .principle-card{
  background:#fff;
  border:1px solid var(--home-line);
  border-radius:20px;
  padding:24px;
  min-height:168px;
}
.page-dev .principle-card h3{margin:0 0 10px;font-size:1.12rem}
.page-dev .principle-card p{margin:0;color:#68707a}

.page-dev .example-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:42px;
}
.page-dev .example-card{
  background:#fff;
  border:1px solid var(--home-line);
  border-radius:20px;
  padding:26px 24px;
  min-height:220px;
}
.page-dev .example-card h3{margin:0 0 12px}
.page-dev .example-card p{margin:0;color:#68707a}

.page-dev .case-flow{
  display:grid;
  gap:10px;
  margin:18px 0 0;
}
.page-dev .case-flow p{margin:0;color:#68707a}
.page-dev .case-flow strong{
  display:block;
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#7d848d;
  margin-bottom:4px;
}

.page-dev .pillar-flow{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:42px 0 32px;
}
.page-dev .pillar-flow-item{
  background:#fff;
  border:1px solid var(--home-line);
  border-radius:18px;
  padding:22px 18px;
  min-height:140px;
}
.page-dev .pillar-flow-item span{
  display:block;
  color:var(--home-blue);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.page-dev .pillar-flow-item strong{display:block;font-size:1.15rem}

.page-dev .final-cta--navy{
  background:linear-gradient(160deg,#06111f,#0a213b);
  color:#fff;
}
.page-dev .final-cta--navy .eyebrow{color:#aab2bc}
.page-dev .final-cta--navy .lead{color:#b9c1cb}
.page-dev .final-cta--navy .btn-ghost-dark{
  border-color:rgba(255,255,255,.36);
  color:#fff;
}
.page-dev .final-cta--navy .btn-ghost-dark:hover{background:rgba(255,255,255,.08)}
.page-dev .final-cta--navy .btn-dark{background:#fff;color:#06182b}
.page-dev .final-cta--navy .btn-dark:hover{background:#e8f1fb}

@media(max-width:980px){
  .page-dev .hero-dev-inner,.page-dev .ai-layout,.page-dev .compare-grid{grid-template-columns:1fr}
  .page-dev .hero-dev-visual{margin:8px -6% 0}
  .page-dev .hero-dev-visual img{width:110%}
  .page-dev .area-grid,.page-dev .example-grid,.page-dev .principle-grid,.page-dev .hub-row,.page-dev .pillar-flow{grid-template-columns:1fr 1fr}
  .page-dev .flow-track,.page-dev .process-5{grid-template-columns:1fr 1fr}
  .page-dev .hub-core{grid-column:1 / -1}
}
@media(max-width:640px){
  .page-dev .hero--dev{padding:128px 0 56px;min-height:0}
  .page-dev .area-grid,.page-dev .example-grid,.page-dev .principle-grid,.page-dev .hub-row,.page-dev .pillar-flow,.page-dev .flow-track,.page-dev .process-5,.page-dev .compare-grid{grid-template-columns:1fr}
  .page-dev .hero-dev-visual{margin:12px -4% 0}
  .page-dev .hero-dev-visual img{width:108%}
  .page-dev .mock-body{grid-template-columns:1fr}
  .page-dev .mock-sidebar{display:none}
}
