: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 img{
  transform:translateY(-14px)!important;
}

.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:44px 0 40px;
  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;
}

.hero .eyebrow{
  font-size:1.15rem;
  letter-spacing:.1em;
}

@media(max-width:768px){
  .hero .eyebrow{
    font-size:1rem;
  }
}

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;
}

.btn-auth{
  background:var(--sjn-burgundy);
  color:var(--sjn-soft);
  border:none;
  border-radius:6px;
  padding:.55rem 1.15rem;
  font-weight:700;
  font-size:.9rem;
  white-space:nowrap;
}

.btn-auth:hover{
  background:#6f0c22;
  color:var(--sjn-soft);
}

.auth-actions{
  display:flex;
  gap:.6rem;
}

.modal-content{
  border-radius:16px;
  border:1px solid var(--sjn-border);
}

.modal-title{
  font-weight:800;
}

@media(max-width:991px){
  .auth-actions{
    margin-top:1rem;
  }
}

.drop-letter{
  display:inline-block;
  opacity:0;
  transform:translateY(-60px);
  animation:dropLetter .6s cubic-bezier(.17,.67,.32,1.3) forwards;
}

@keyframes dropLetter{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.fade-up-anim{
  opacity:0;
  transform:translateY(20px);
  animation:heroFadeUp .6s ease forwards;
}

@keyframes heroFadeUp{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.lang-switch .dropdown-toggle::after{
  margin-left:.4rem;
}

.lang-switch .dropdown-menu{
  border-radius:12px;
  border:1px solid var(--sjn-border);
  min-width:9rem;
  padding:.4rem;
}

.lang-switch .dropdown-item{
  border-radius:8px;
  font-weight:600;
  padding:.5rem .75rem;
}

.lang-switch .dropdown-item.active,
.lang-switch .dropdown-item:active{
  background:var(--sjn-burgundy);
  color:var(--sjn-soft);
}

/* Always-visible language switcher on mobile (no need to open the menu) */
.lang-switch-mobile{
  display:flex;
  align-items:center;
  gap:.35rem;
}

.lang-switch-mobile .lang-pill{
  display:inline-block;
  padding:.3rem .6rem;
  border:1px solid var(--sjn-burgundy);
  border-radius:6px;
  font-weight:700;
  font-size:.85rem;
  line-height:1;
  text-decoration:none;
  color:var(--sjn-burgundy);
  background:transparent;
}

.lang-switch-mobile .lang-pill.active{
  background:var(--sjn-burgundy);
  color:var(--sjn-soft);
}

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

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

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

.footer .text-md-end{
  white-space:nowrap;
  font-size:.85rem;
}

@media(max-width:768px){
  .footer .text-md-end{
    white-space:normal;
    font-size:1rem;
  }
}

.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;}
}
.section-soft .lead{
  text-align:justify;
}
