:root{
  --brand-orange:#ff7a1a;
  --brand-teal:#0e3b3f;
  --brand-teal-2:#125156;
  --text:#1b1b1b;
  --muted:#6c757d;
  --light:#f8f9fa;
}

html{scroll-behavior:smooth;}
body{color:var(--text);}

.bg-teal{background:var(--brand-teal)!important;}
.btn-teal{background:var(--brand-teal);color:#fff;border:0;}
.btn-teal:hover{background:var(--brand-teal-2);color:#fff;}
.btn-orange{background:var(--brand-orange);color:#111;border:0;}
.btn-orange:hover{filter:brightness(0.95);color:#111;}

.section-title{
  position:relative;
  font-weight:800;
  margin-bottom:1rem;
}
.section-title::after{
  content:"";
  display:block;
  width:72px;height:4px;border-radius:2px;
  background:var(--brand-orange);
  margin-top:.5rem;
}

/* HERO */
.hero{
  min-height:72vh;
  background:#0b2a2d;
  overflow:hidden;
}
.hero-media{
  position:absolute;inset:0;
  background:url("../images/hero-bg.jpg") center/cover no-repeat;
  filter:contrast(1.05) saturate(1.05) brightness(0.8);
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(14,59,63,.85) 0%,rgba(14,59,63,.35) 60%,rgba(14,59,63,0) 100%);
}
.hero-figure{max-height:520px;object-fit:contain}
.hero-accent{
  position:absolute;right:-140px;bottom:-120px;width:520px;height:520px;
  background:var(--brand-orange);
  transform:rotate(35deg) skew(-10deg);
  box-shadow:0 10px 30px rgba(0,0,0,.2);
}

/* Feature cards */
.feature-card{
  background:#fff;border:1px solid #e9ecef;border-radius:16px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.feature-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.08);}
.icon-sm{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}

/* Hosts */
.host .object-fit-cover{object-fit:cover}

/* Speakers */
.speaker img{aspect-ratio:1/1;object-fit:cover}
.speaker .card-body{padding:.5rem}

/* Schedule */
#schedule .list-group-item{border-color:#eef0f2}
#schedule .badge{background:var(--brand-teal)}

/* Footer */
.footer-link{color:#bbb;text-decoration:none}
.footer-link:hover{color:#fff}

/* Utilities */
.object-fit-cover{object-fit:cover}
