:root{
  --sjn-burgundy:#8b0f2a;
  --sjn-dark:#1f1f25;
  --sjn-soft:#f7f4f5;
  --sjn-border:#e8dde1;
}

body{
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--sjn-dark);
  background:#fff;
  line-height:1.65;
}

.navbar{
  border-bottom:1px solid var(--sjn-border);
  background:#fff;
}

.logo-mark{
  width:42px;
  height:42px;
  border:2px solid var(--sjn-burgundy);
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--sjn-burgundy);
  font-weight:800;
  letter-spacing:-1px;
}

.navbar-brand span:last-child{
  font-weight:700;
  letter-spacing:.2px;
}

.nav-link{
  font-weight:600;
  color:#34343a;
}

.nav-link:hover,.nav-link.active{
  color:var(--sjn-burgundy)!important;
}

.hero{
  padding:85px 0 80px;
  background:linear-gradient(135deg,#fff 0%,#fff 50%,var(--sjn-soft) 50%,#fff 100%);
  border-bottom:1px solid var(--sjn-border);
}

.eyebrow{
  color:var(--sjn-burgundy);
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.12em;
  font-size:.78rem;
}

h1,h2,h3,h4{
  font-weight:800;
  letter-spacing:-.03em;
}

.btn-sjn{
  background:var(--sjn-burgundy);
  color:#fff;
  border-radius:999px;
  padding:.75rem 1.15rem;
  font-weight:700;
}

.btn-sjn:hover{
  background:#6f0c22;
  color:#fff;
}

.btn-outline-sjn{
  border:1.5px solid var(--sjn-burgundy);
  color:var(--sjn-burgundy);
  border-radius:999px;
  padding:.75rem 1.15rem;
  font-weight:700;
}

.btn-outline-sjn:hover{
  background:var(--sjn-burgundy);
  color:#fff;
}

.section{
  padding:64px 0;
}

.section-soft{
  background:var(--sjn-soft);
}

.card-sjn{
  border:1px solid var(--sjn-border);
  border-radius:18px;
  height:100%;
  box-shadow:0 10px 25px rgba(31,31,37,.04);
}

.icon-circle{
  width:48px;
  height:48px;
  border-radius:50%;
  background:#fff0f4;
  color:var(--sjn-burgundy);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
}

.side-panel{
  border-left:4px solid var(--sjn-burgundy);
  background:#fff;
  border-radius:14px;
  padding:24px;
  box-shadow:0 10px 25px rgba(31,31,37,.05);
}

.list-check li{
  margin-bottom:.75rem;
}

.list-check li::marker{
  color:var(--sjn-burgundy);
  font-weight:800;
}

.footer{
  padding:44px 0;
  background:#18181d;
  color:#ddd;
}

.footer a{
  color:#fff;
  text-decoration:none;
}

.footer a:hover{
  color:#ffdce5;
}

.page-title{
  padding:56px 0;
  background:var(--sjn-soft);
  border-bottom:1px solid var(--sjn-border);
}

.news-tag{
  color:var(--sjn-burgundy);
  font-weight:700;
  font-size:.85rem;
}

@media(max-width:768px){
  .hero{padding:48px 0 36px;}
  .section{padding:44px 0;}
}
