.tyc-main--hub{
  padding-block:24px 72px;
}

.tyc-hub-hero{
  display:grid;
  gap:24px;
  grid-template-columns:minmax(0, 1.4fr) minmax(280px, .9fr);
  padding:clamp(28px, 4vw, 42px);
  border-radius:var(--radius-lg);
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at top right, rgba(14,165,183,.18), transparent 28%),
    linear-gradient(135deg, #0b2830, #123948);
  color:#fff;
  box-shadow:var(--shadow-strong);
}

.tyc-hub-hero--light{
  border:1px solid rgba(15,23,42,.08);
  background:
    radial-gradient(circle at top right, rgba(14,165,183,.12), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f5f8fb 100%);
  color:var(--c3);
  box-shadow:var(--shadow-soft);
}

.tyc-hub-hero__title{
  margin:.9rem 0 .75rem;
  color:#fff;
  font-size:clamp(2rem, 4vw, 3.4rem);
}

.tyc-hub-hero--light .tyc-hub-hero__title{
  color:var(--c3);
}

.tyc-hub-hero__title--gradient{
  background:linear-gradient(135deg, #0b2830 0%, #0ea5b7 55%, #6d28d9 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.tyc-hub-hero__excerpt{
  margin:0;
  font-size:clamp(1.02rem, 2vw, 1.15rem);
  color:rgba(255,255,255,.9);
}

.tyc-hub-hero--light .tyc-hub-hero__excerpt{
  color:rgba(15,23,42,.78);
}

.tyc-hub-hero__body{
  margin-top:1.25rem;
}

.tyc-hub-hero__body .tyc-muted{
  color:rgba(255,255,255,.88);
}

.tyc-hub-hero--light .tyc-hub-hero__body .tyc-muted{
  color:rgba(15,23,42,.76);
}

.tyc-hub-hero__body .tyc-muted a{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.38);
}

.tyc-hub-hero--light .tyc-hub-hero__body .tyc-muted a{
  color:var(--c3);
  border-bottom-color:rgba(15,23,42,.22);
}

.tyc-hub-hero__aside{
  display:grid;
  gap:16px;
  align-content:start;
}

.tyc-hub-hero__media{
  position:relative;
  overflow:hidden;
  margin:0;
  min-height:220px;
  border-radius:var(--radius-md);
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  box-shadow:0 18px 34px rgba(15,23,42,.18);
}

.tyc-hub-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(11,40,48,0) 0%, rgba(11,40,48,.18) 100%);
  pointer-events:none;
}

.tyc-hub-hero__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.tyc-hub-hero__stats{
  display:grid;
  gap:16px;
  align-content:start;
}

.tyc-hub-stat{
  padding:20px;
  border-radius:var(--radius-md);
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
}

.tyc-hub-stat strong{
  display:block;
  margin-bottom:.35rem;
  color:#fff;
  font-size:clamp(1.6rem, 3vw, 2.2rem);
  line-height:1;
}

.tyc-hub-stat span{
  color:rgba(255,255,255,.86);
  line-height:1.5;
}

.tyc-hub-hero--light .tyc-hub-stat{
  border-color:rgba(15,23,42,.08);
  background:rgba(255,255,255,.72);
}

.tyc-hub-hero--light .tyc-hub-stat strong{
  color:var(--c3);
}

.tyc-hub-hero--light .tyc-hub-stat span{
  color:rgba(15,23,42,.74);
}

.tyc-section-head{
  max-width:820px;
}

.tyc-route-card,
.tyc-destination-card,
.tyc-upcoming-card{
  display:flex;
  flex-direction:column;
}

.tyc-card--muted{
  border-color:rgba(148,163,184,.26);
  background:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  box-shadow:none;
}

.tyc-card--muted:hover{
  transform:none;
  box-shadow:none;
}

.tyc-route-card__stops{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:1rem 0 0;
  padding:0;
  list-style:none;
}

.tyc-route-card__stops li{
  padding:.48rem .78rem;
  border-radius:999px;
  background:rgba(14,165,183,.09);
  color:var(--c3);
  font-size:.85rem;
  font-weight:700;
}

.tyc-card__actions{
  margin-top:auto;
  padding-top:1.25rem;
}

.tyc-card__actions .tyc-btn{
  width:100%;
}

@media (max-width: 992px){
  .tyc-hub-hero{
    grid-template-columns:1fr;
  }
}
