:root{
  --bg:#090c0a;
  --bg2:#0f1411;
  --bg3:#141a16;
  --panel:#111713;
  --panel2:#171f1a;
  --text:#edf2ed;
  --muted:#b5beb7;
  --gold:#c7a756;
  --gold-2:#e2c16d;
  --green:#1f5a43;
  --green-2:#2d7356;
  --line:rgba(199,167,86,.22);
  --line-soft:rgba(255,255,255,.08);
  --shadow:0 16px 40px rgba(0,0,0,.38);
  --radius:22px;
}

body{
  background:var(--bg);
  color:var(--text);
}

.sfcon-hero{
  position:relative;
  background:
    linear-gradient(180deg, rgba(4,6,5,.35), rgba(4,6,5,.82) 70%, rgba(4,6,5,.96)),
    url("//images.clubexpress.com/404269/graphics/SFACON_LogoMain_1304057993.jpg") center center / cover no-repeat;
  min-height:420px;
  display:flex;
  align-items:end;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.06);
}

.sfcon-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 20%, rgba(199,167,86,.12), transparent 20%),
    radial-gradient(circle at 80% 18%, rgba(31,90,67,.18), transparent 25%);
  pointer-events:none;
}

.sfcon-hero-inner{
  position:relative;
  z-index:2;
  width:100%;
  padding:4rem 0 3rem;
}

.sfcon-kicker{
  display:inline-block;
  margin-bottom:.8rem;
  padding:.45rem .9rem;
  border-radius:999px;
  background:rgba(199,167,86,.94);
  color:#111;
  font-size:.8rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.sfcon-title{
  margin:0 0 .7rem;
  color:#fff;
  font-size:clamp(2.3rem, 5vw, 4.5rem);
  line-height:.96;
  text-transform:uppercase;
  letter-spacing:.03em;
  text-shadow:0 6px 24px rgba(0,0,0,.35);
}

.sfcon-subtitle{
  max-width:900px;
  margin:0 0 1.2rem;
  color:#d4dbd5;
  line-height:1.75;
  font-size:1.05rem;
}

.sfcon-wrap{
  padding:2.25rem 0 4rem;
  background:linear-gradient(180deg, #0a0d0b 0%, #0c110d 100%);
}

.sfcon-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);
  gap:1.35rem;
  align-items:start;
}

.sfcon-stack{
  display:grid;
  gap:1.15rem;
}

.sfcon-card{
  background:linear-gradient(180deg, var(--panel2), var(--panel));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.sfcon-card-body{
  padding:1.25rem 1.25rem 1.35rem;
}

.sfcon-card h2,
.sfcon-card h3{
  color:#fff;
  margin:0 0 .8rem;
}

.sfcon-card h2{
  font-size:1.55rem;
}

.sfcon-card h3{
  font-size:1.08rem;
}

.sfcon-text{
  color:var(--muted);
  line-height:1.75;
  margin:0 0 .9rem;
}

.sfcon-muted{
  color:var(--muted);
  line-height:1.65;
  font-size:.95rem;
}

.sfcon-btnRow{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:.9rem;
}

.sfcon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:.75rem 1rem;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.02em;
  border:1px solid transparent;
  transition:transform .2s ease, border-color .2s ease, opacity .2s ease;
}

.sfcon-btn:hover{
  transform:translateY(-1px);
  opacity:.96;
}

.sfcon-btnPrimary{
  background:var(--green);
  color:#fff;
  border-color:rgba(255,255,255,.06);
}

.sfcon-btnGold{
  background:var(--gold);
  color:#111;
  border-color:rgba(255,255,255,.06);
}

.sfcon-btnGhost{
  background:rgba(255,255,255,.03);
  color:#fff;
  border-color:rgba(255,255,255,.08);
}

.sfcon-callout{
  border-left:4px solid var(--green-2);
  background:rgba(31,90,67,.16);
  border-radius:16px;
  padding:1rem;
}

.sfcon-calloutGold{
  border-left-color:var(--gold);
  background:rgba(199,167,86,.10);
}

.sfcon-panel{
  border:1px solid rgba(255,255,255,.07);
  border-radius:16px;
  padding:1rem;
  background:rgba(255,255,255,.03);
  margin:0 0 .9rem;
}

.sfcon-panel:last-child{
  margin-bottom:0;
}

.sfcon-panelTitle{
  margin:0 0 .4rem;
  font-weight:900;
  color:#fff;
  line-height:1.35;
}

.sfcon-headerImg,
.sfcon-flyerImg{
  width:100%;
  display:block;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:#111;
}

.sfcon-top-copy{
  margin-top:1rem;
}

.sfcon-day{
  border:1px solid rgba(255,255,255,.07);
  border-radius:16px;
  padding:1rem;
  background:rgba(255,255,255,.03);
  margin:0 0 .9rem;
}

.sfcon-day:last-child{
  margin-bottom:0;
}

.sfcon-dayTitle{
  margin:0 0 .35rem;
  color:#fff;
  font-weight:900;
  line-height:1.4;
}

.sfcon-daySmall{
  margin:0 0 .6rem;
  color:var(--gold-2);
  font-size:.9rem;
  line-height:1.55;
}

.sfcon-dayBullets{
  margin:0;
  padding-left:1.1rem;
  color:var(--muted);
  line-height:1.7;
}

.sfcon-dayBullets li{
  margin:.35rem 0;
}

.sfcon-side .sfcon-btn{
  width:100%;
}

.sfcon-footer-bar{
  padding:1rem 1.25rem;
  background:linear-gradient(180deg, #0d2a20, #0b2018);
  border-top:1px solid rgba(255,255,255,.06);
  color:#fff;
}

.sfcon-footerRow{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
}

.sfcon-footerTitle{
  font-weight:900;
  color:#fff;
}

.sfcon-footerSmall{
  color:rgba(255,255,255,.78);
  font-size:.92rem;
}

.sfcon-link{
  color:var(--gold-2);
  text-decoration:none;
  font-weight:700;
}

.sfcon-link:hover{
  text-decoration:underline;
}

.sfcon-top-gap{
  margin-top:.9rem;
}

.sfcon-bottom-gap{
  margin-bottom:.8rem;
}

.sfcon-no-margin{
  margin:0;
}

@media (max-width: 980px){
  .sfcon-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 720px){
  .sfcon-hero{
    min-height:340px;
  }

  .sfcon-hero-inner{
    padding:3rem 0 2.2rem;
  }

  .sfcon-card-body{
    padding:1rem;
  }

  .sfcon-title{
    font-size:clamp(2rem, 10vw, 3rem);
  }

  .sfcon-hero-actions,
  .sfcon-btnRow{
    flex-direction:column;
  }

  .sfcon-btn{
    width:100%;
  }
}