/* Local ticket hub styles. Shared shell owns header, footer and fonts. */
.page-ingresso-hub {
  margin:0;
  background:#fff
}
.ingresso-hub,.ingresso-hub *,.ingresso-hub *::before,.ingresso-hub *::after {
  box-sizing:border-box
}
.ingresso-hub {
  color:#102330;
  overflow-wrap:break-word;
  --ink:#062b45;
  --muted:#526775;
  --line:#dbe8ee;
  --blue:#056f9f
}
.ingresso-hub .container {
  width:min(1180px,calc(100% - 48px));
  margin-inline:auto
}
.page-ingresso-hub .skip-link {
  position:fixed;
  top:8px;
  left:8px;
  z-index:9999;
  padding:12px 16px;
  background:#062b45;
  color:white;
  border-radius:8px;
  transform:translateY(-180%)
}
.page-ingresso-hub .skip-link:focus {
  transform:none
}
.page-ingresso-hub .ncie-mobile-nav:not([open]) nav {
  display:none
}
.ingresso-hub h1,.ingresso-hub h2,.ingresso-hub h3 {
  margin:0;
  color:var(--ink);
  letter-spacing:-.035em
}
.ingresso-hub h2 {
  font-size:clamp(1.9rem,3.2vw,2.8rem);
  line-height:1.12;
  max-width:760px
}
.ingresso-hub h3 {
  font-size:1.12rem;
  line-height:1.3
}
.ingresso-hub p {
  color:var(--muted);
  line-height:1.7;
  margin:0
}
.ingresso-hub a:not(.button):not(.secondary):not(.platform) {
  color:var(--blue);
  text-underline-offset:4px
}
.ingresso-hub a:focus-visible,.ingresso-hub summary:focus-visible {
  outline:3px solid #056f9f;
  outline-offset:5px
}
.ingresso-hub section[id] {
  scroll-margin-top:110px
}
.ingresso-hub .eyebrow {
  display:block;
  margin-bottom:18px;
  color:var(--blue);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.11em
}
.ingresso-hub .section {
  padding:80px 0
}
.ingresso-hub .soft {
  background:#f5f9fb;
  border-block:1px solid #e3edf2
}
.ingresso-hub .heading {
  max-width:750px;
  margin-bottom:32px
}
.ingresso-hub .heading p {
  margin-top:16px
}
.ingresso-hub .lead {
  margin:20px 0;
  font-size:1.04rem
}
.ingresso-hub .breadcrumb {
  border-bottom:1px solid var(--line)
}
.ingresso-hub .breadcrumb .container {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding-block:15px;
  font-size:.75rem;
  color:var(--muted)
}
.ingresso-hub .breadcrumb a {
  text-decoration:none
}
.ingresso-hub .hero {
  padding:64px 0 60px;
  background:#f5fbfe
}
.ingresso-hub .hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);
  align-items:center;
  gap:65px
}
.ingresso-hub h1 {
  font-size:clamp(2.35rem,4.2vw,3.8rem);
  line-height:1.06
}
.ingresso-hub .hero-answer {
  margin-top:25px;
  color:#334d5d;
  font-size:1.07rem
}
.ingresso-hub .hero-answer strong {
  color:#062b45
}
.ingresso-hub .hero-note {
  margin-top:13px;
  font-size:.85rem
}
.ingresso-hub .actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:26px
}
.ingresso-hub .button {
  white-space:normal;
  max-width:100%;
  line-height:1.4;
  text-align:center;
  overflow-wrap:anywhere
}
.ingresso-hub .secondary {
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border:1px solid #b9d9e7;
  border-radius:10px;
  background:#fff;
  color:#062b45;
  font-size:.88rem;
  font-weight:750;
  text-decoration:none;
  text-align:center
}
.ingresso-hub .secondary:hover {
  border-color:#056f9f;
  background:#eaf8fe
}
.ingresso-hub .meta {
  margin-top:24px;
  font-size:.76rem;
  color:var(--muted);
  line-height:1.7
}
.ingresso-hub .route {
  background:#fff;
  border:1px solid #cfe3eb;
  border-radius:22px;
  padding:24px;
  box-shadow:0 24px 70px rgba(7,53,79,.1)
}
.ingresso-hub .route-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line)
}
.ingresso-hub .route-head>span {
  font-size:.66rem;
  color:var(--blue);
  font-weight:850;
  letter-spacing:.08em
}
.ingresso-hub .route-head small {
  font-size:.7rem;
  color:#147c37;
  background:#ebf9ef;
  border-radius:20px;
  padding:5px 9px;
  white-space:nowrap
}
.ingresso-hub .route nav {
  padding-top:8px
}
.ingresso-hub .route nav a {
  display:grid;
  grid-template-columns:34px 1fr 18px;
  align-items:center;
  gap:14px;
  min-height:64px;
  padding:12px 8px;
  text-decoration:none;
  border-radius:10px;
  color:#062b45!important
}
.ingresso-hub .route nav a:hover {
  background:#eaf8fe
}
.ingresso-hub .route nav a+a {
  border-top:1px solid #edf3f6
}
.ingresso-hub .number {
  display:grid;
  place-items:center;
  flex:none;
  width:34px;
  height:34px;
  border-radius:10px;
  background:#eaf8fe;
  color:#056f9f;
  font-size:.73rem;
  font-weight:850
}
.ingresso-hub .route>p {
  font-size:.75rem;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--line)
}
.ingresso-hub .quick {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-bottom:1px solid var(--line)
}
.ingresso-hub .quick>div {
  padding:25px 24px
}
.ingresso-hub .quick>div+div {
  border-left:1px solid var(--line)
}
.ingresso-hub .quick strong,.ingresso-hub .quick span {
  display:block
}
.ingresso-hub .quick strong {
  font-size:.9rem;
  color:#062b45
}
.ingresso-hub .quick span {
  font-size:.78rem;
  color:var(--muted);
  margin-top:7px
}
.ingresso-hub .steps {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  list-style:none;
  margin:0;
  padding:0
}
.ingresso-hub .steps li {
  min-width:0;
  border-top:2px solid #cfe3eb;
  padding-top:18px
}
.ingresso-hub .steps h3 {
  font-size:.98rem;
  margin:20px 0 8px
}
.ingresso-hub .steps p {
  font-size:.82rem;
  line-height:1.6
}
.ingresso-hub .note {
  font-size:.82rem;
  margin-top:26px;
  max-width:930px
}
.ingresso-hub .platforms {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px
}
.ingresso-hub .platform {
  grid-column:span 2;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:227px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  text-decoration:none;
  box-shadow:0 7px 24px rgba(7,53,79,.035);
  transition:border-color .15s,box-shadow .15s
}
.ingresso-hub .platform:nth-last-child(-n+2) {
  grid-column:span 3;
  min-height:210px
}
.ingresso-hub .platform:hover {
  border-color:#056f9f;
  box-shadow:0 12px 30px rgba(7,53,79,.08)
}
.ingresso-hub .platform small {
  display:flex;
  justify-content:space-between;
  color:#526775;
  font-size:.64rem;
  letter-spacing:.07em;
  font-weight:800
}
.ingresso-hub .platform small span {
  color:#056f9f
}
.ingresso-hub .platform h3 {
  font-size:1.55rem;
  margin-top:20px
}
.ingresso-hub .platform p {
  font-size:.86rem;
  margin:11px 0 20px
}
.ingresso-hub .platform-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
  color:var(--blue);
  font-size:.84rem;
  font-weight:800
}
.ingresso-hub .split,.ingresso-hub .situations {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  gap:64px
}
.ingresso-hub .split>div>a,.ingresso-hub .situations>div>a {
  display:inline-block;
  font-size:.9rem;
  font-weight:750
}
.ingresso-hub .checklist {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  list-style:none;
  margin:0;
  padding:0
}
.ingresso-hub .checklist li {
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:17px 15px;
  border:1px solid var(--line);
  border-radius:12px;
  color:#334d5d;
  font-size:.87rem;
  line-height:1.5
}
.ingresso-hub .checklist li span {
  color:#147c37;
  font-weight:900
}
.ingresso-hub .essential {
  padding:30px;
  border:1px solid var(--line);
  border-radius:18px;
  background:white
}
.ingresso-hub .essential ul {
  padding-left:20px;
  color:#334d5d;
  font-size:.9rem;
  line-height:1.6;
  margin:0
}
.ingresso-hub .essential li+li {
  margin-top:10px
}
.ingresso-hub .validity {
  display:grid;
  gap:5px;
  background:#ebf9ef;
  border-radius:10px;
  padding:16px;
  margin-top:24px;
  color:#147c37;
  font-size:.86rem
}
.ingresso-hub .essential>p {
  font-size:.8rem;
  margin-top:16px
}
.ingresso-hub .text-links {
  display:grid;
  gap:14px;
  margin-top:24px;
  font-size:.88rem;
  font-weight:750
}
.ingresso-hub .conversion {
  background:#062b45
}
.ingresso-hub .conversion h2,.ingresso-hub .conversion h3 {
  color:#fff
}
.ingresso-hub .conversion .eyebrow {
  color:#86dbf7
}
.ingresso-hub .conversion .lead,.ingresso-hub .conversion-info p {
  color:#d1e3ec
}
.ingresso-hub .conversion-info {
  border:1px solid #36596e;
  border-radius:16px;
  padding:28px
}
.ingresso-hub .conversion-info ul {
  padding-left:20px;
  color:white;
  font-size:.93rem;
  line-height:1.9
}
.ingresso-hub .conversion-info p {
  font-size:.82rem
}
.ingresso-hub .matricula {
  align-self:stretch;
  padding:28px;
  background:#f5f9fb;
  border:1px solid var(--line);
  border-radius:18px
}
.ingresso-hub .matricula h3 {
  font-size:1.4rem
}
.ingresso-hub .matricula p {
  font-size:.9rem;
  margin-top:18px
}
.ingresso-hub .matricula>a {
  display:block;
  margin-top:22px;
  font-size:.86rem;
  font-weight:750;
  line-height:1.5
}
.ingresso-hub .related {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:64px
}
.ingresso-hub .related-links a {
  display:block;
  border-bottom:1px solid var(--line);
  padding:17px 0;
  font-size:.92rem;
  font-weight:700;
  text-decoration:none;
  line-height:1.5
}
.ingresso-hub .related-links a:hover {
  text-decoration:underline
}
.ingresso-hub .faq-grid {
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:64px
}
.ingresso-hub .faq-list details {
  border-bottom:1px solid var(--line);
  padding:0 0 16px;
  margin-bottom:16px
}
.ingresso-hub .faq-list summary {
  position:relative;
  cursor:pointer;
  list-style:none;
  color:#062b45;
  font-weight:750;
  font-size:.97rem;
  line-height:1.5;
  padding:8px 30px 8px 0;
  min-height:44px
}
.ingresso-hub summary::-webkit-details-marker {
  display:none
}
.ingresso-hub .faq-list summary:after {
  content:'+';
  position:absolute;
  right:3px;
  top:8px;
  font-size:1.3rem;
  color:#056f9f
}
.ingresso-hub .faq-list details[open] summary:after {
  content:'−'
}
.ingresso-hub .faq-list p {
  font-size:.9rem;
  margin:12px 28px 4px 0
}
.ingresso-hub .sources {
  padding-bottom:40px
}
.ingresso-hub .sources details {
  padding:20px 24px;
  background:#f5f9fb;
  border:1px solid var(--line);
  border-radius:12px;
  color:#526775;
  font-size:.83rem
}
.ingresso-hub .sources summary {
  cursor:pointer;
  font-weight:750;
  min-height:24px
}
.ingresso-hub .sources p {
  margin-top:18px;
  font-size:.83rem
}
.ingresso-hub .sources ul {
  line-height:1.8
}
.ingresso-hub .final {
  background:#eaf8fe;
  text-align:center
}
.ingresso-hub .final h2 {
  margin-inline:auto
}
.ingresso-hub .final p {
  max-width:640px;
  margin:20px auto 0
}
.ingresso-hub .final .actions {
  justify-content:center
}

@media(min-width:769px) {
  html {
  scroll-behavior:smooth
}

}

@media(max-width:1023px) {
  .ingresso-hub .hero-grid {
  gap:32px;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr)
}
.ingresso-hub h1 {
  font-size:2.7rem
}
.ingresso-hub .split,.ingresso-hub .related,.ingresso-hub .situations,.ingresso-hub .faq-grid {
  gap:32px
}
.ingresso-hub .checklist {
  grid-template-columns:1fr
}
.ingresso-hub .platform {
  padding:22px
}

}

@media(max-width:768px) {
  .ingresso-hub .container {
  width:calc(100% - 32px)
}
.ingresso-hub .section {
  padding:52px 0
}
.ingresso-hub .hero {
  padding:36px 0 40px
}
.ingresso-hub .hero-grid,.ingresso-hub .split,.ingresso-hub .related,.ingresso-hub .situations,.ingresso-hub .faq-grid {
  grid-template-columns:1fr;
  gap:30px
}
.ingresso-hub h1 {
  font-size:clamp(2rem,7vw,2.8rem);
  line-height:1.08
}
.ingresso-hub h2 {
  font-size:clamp(1.75rem,6.2vw,2.3rem)
}
.ingresso-hub .hero-answer {
  font-size:1rem;
  margin-top:21px
}
.ingresso-hub .actions {
  align-items:stretch;
  flex-direction:column
}
.ingresso-hub .actions a {
  width:100%;
  min-height:50px;
  font-size:.88rem
}
.ingresso-hub .route {
  padding:20px
}
.ingresso-hub .route nav a {
  min-height:58px
}
.ingresso-hub .quick {
  grid-template-columns:1fr
}
.ingresso-hub .quick>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 0
}
.ingresso-hub .quick>div+div {
  border-left:0;
  border-top:1px solid var(--line)
}
.ingresso-hub .quick span {
  margin:0;
  text-align:right;
  font-size:.72rem;
  max-width:50%
}
.ingresso-hub .quick strong {
  font-size:.82rem
}
.ingresso-hub .steps {
  grid-template-columns:1fr;
  gap:0
}
.ingresso-hub .steps li {
  display:flex;
  gap:16px;
  padding:17px 0;
  border-top:0;
  border-bottom:1px solid var(--line)
}
.ingresso-hub .steps h3 {
  margin:0 0 5px
}
.ingresso-hub .steps p {
  font-size:.86rem
}
.ingresso-hub .platforms {
  grid-template-columns:1fr;
  gap:12px
}
.ingresso-hub .platform,.ingresso-hub .platform:nth-last-child(-n+2) {
  grid-column:auto;
  min-height:0;
  padding:22px
}
.ingresso-hub .platform h3 {
  font-size:1.4rem;
  margin-top:13px
}
.ingresso-hub .platform p {
  margin:9px 0 17px
}
.ingresso-hub .checklist {
  gap:10px
}
.ingresso-hub .essential,.ingresso-hub .matricula,.ingresso-hub .conversion-info {
  padding:24px
}
.ingresso-hub .eyebrow {
  font-size:.65rem;
  margin-bottom:14px
}
.ingresso-hub .sources details {
  padding:18px
}
.ingresso-hub .note {
  font-size:.79rem
}
.ingresso-hub .breadcrumb .container {
  font-size:.68rem;
  gap:6px
}

}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}
.ingresso-hub .platform {
  transition:none
}

}

