
:root{
  --sw-accent:#2563eb;
  --sw-text:#0b1220;
  --sw-muted:#667085;
  --sw-line:rgba(16,24,40,.18);
  --sw-card:#ffffff;
  --sw-title-font: system-ui, -apple-system, Segoe UI, Inter, Roboto, Arial, sans-serif;
}

.sw-news-main{ width:100%; }
.sw-news-wrap, .sw-news-archive{ width:min(1320px, 92vw); margin:0 auto; }

.sw-news-title{
  font-family: var(--sw-title-font);
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: clamp(56px, 7vw, 110px);
  line-height: .9;
  margin: 0 0 18px 0;
  color: rgba(0,0,0,.78);
}

.sw-all-news{
  display:inline-block;
  font-size: 20px;
  font-weight: 800;
  text-decoration:none;
  color: var(--sw-text);
  padding-bottom: 10px;
  border-bottom: 4px solid var(--sw-accent);
}

.sw-news-wrap--latest{
  display:grid;
  grid-template-columns: minmax(420px, 520px) 1fr;
  gap: 40px;
  padding: 40px 0 10px;
}

.sw-latest-right{ min-width: 0; }
.sw-news-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

@media (max-width: 1500px){
  .sw-news-title{ font-size: clamp(42px, 5.2vw, 80px); }
}
@media (max-width: 1350px){
  .sw-news-wrap--latest{ grid-template-columns: 1fr; }
  .sw-news-grid{ grid-template-columns: 1fr; }
}

.sw-card{
  background: var(--sw-card);
  border-radius: 28px;
  box-shadow: 0 22px 60px rgba(0,0,0,.12);
  overflow:hidden;
}

.sw-card-media{ display:block; }
.sw-card-media img{ width:100%; height: 240px; object-fit:cover; display:block; }

.sw-card-body{ padding: 22px 22px 18px; }
.sw-card-title{ margin: 0 0 14px; font-size: 34px; line-height: 1.05; font-weight: 900; }
.sw-card-title a{ color: var(--sw-text); text-decoration:none; }
.sw-card-meta{ display:flex; align-items:flex-end; justify-content:space-between; gap: 16px; }
.sw-card-date{ color: var(--sw-muted); font-weight: 700; white-space:nowrap; }

.sw-card-tags{ display:flex; flex-wrap:wrap; gap: 10px; }
.sw-tag{ color: var(--sw-accent); font-weight: 800; }

.sw-news-archive{
  display:grid;
  grid-template-columns: minmax(420px, 520px) 1fr;
  gap: 40px;
  padding: 40px 0 60px;
}
@media (max-width: 1350px){
  .sw-news-archive{ grid-template-columns: 1fr; }
}

.sw-filter{ margin-top: 22px; }

/* Custom select dropdown (so list colors match accent) */
.sw-filter-select{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.sw-select{ position: relative; width: 100%; max-width: 520px; }
.sw-select-btn{
  width:100%;
  height: 72px;
  border-radius: 999px;
  border: 1px solid var(--sw-line);
  padding: 0 22px;
  font-size: 18px;
  background: #fff;
  outline: none;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  cursor:pointer;
}
.sw-select-btn:focus-visible{
  box-shadow: 0 0 0 4px rgba(0,0,0,.08), 0 10px 30px rgba(0,0,0,.06);
  border-color: var(--sw-accent);
}
.sw-select-caret{
  width: 10px; height: 10px;
  border-right: 2px solid rgba(0,0,0,.55);
  border-bottom: 2px solid rgba(0,0,0,.55);
  transform: rotate(45deg);
  margin-top: -4px;
  flex: 0 0 auto;
}
.sw-select-menu{
  position:absolute;
  left: 0; right: 0;
  top: calc(100% + 10px);
  background: #fff;
  border: 1px solid var(--sw-line);
  border-radius: 18px;
  box-shadow: 0 18px 55px rgba(0,0,0,.14);
  padding: 8px;
  margin: 0;
  list-style: none;
  max-height: 320px;
  overflow:auto;
  display:none;
  z-index: 50;
}
.sw-select.is-open .sw-select-menu{ display:block; }
.sw-select-option{
  width:100%;
  text-align:left;
  border: 0;
  background: transparent;
  padding: 12px 12px;
  border-radius: 14px;
  font-size: 16px;
  cursor:pointer;
  font-weight: 800;
  color: var(--sw-text);
}
.sw-select-option:hover,
.sw-select-option:focus-visible{
  outline: none;
  background: rgba(0,0,0,.04);
}
.sw-select-option.is-active{
  background: color-mix(in srgb, var(--sw-accent) 18%, #fff);
  border: 1px solid color-mix(in srgb, var(--sw-accent) 45%, #fff);
}

/* Single */
.sw-hero{ position:relative; border-radius: 0; overflow:hidden; }
.sw-hero-bg{ height: min(70vh, 700px); }
.sw-hero-img, .sw-hero-video{ width:100%; height:100%; object-fit:cover; display:block; }
.sw-hero-media--video iframe{ width:100% !important; height:100% !important; }

.sw-hero-overlay{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  padding: 30px;
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.30));
}
.sw-hero-title{
  color:#fff;
  font-size: clamp(34px, 4.8vw, 72px);
  font-weight: 900;
  text-align:center;
  max-width: 1100px;
  line-height: 1.05;
}

.sw-single-inner{
  width: min(1200px, 92vw);
  margin: 0 auto;
  display:grid;
  grid-template-columns: 1fr 260px;
  gap: 40px;
  padding: 44px 0 80px;
}
@media (max-width: 1100px){
  .sw-single-inner{ grid-template-columns: 1fr; }
}

.sw-single-content{ font-size: 18px; line-height: 1.7; color: var(--sw-text); }
.sw-single-content p{ margin: 0 0 18px; }

.sw-share{ position: sticky; top: 120px; }
.sw-share-title{ font-weight: 900; margin-bottom: 14px; }
.sw-share-buttons{ display:flex; flex-direction:column; gap: 14px; }
.sw-share-btn{
  width: 64px; height: 64px;
  border-radius: 999px;
  border: 1px solid var(--sw-line);
  background: #fff;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  text-decoration:none;
  color: var(--sw-text);
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(0,0,0,.10);
}
.sw-share-btn:hover{ transform: translateY(-1px); }
.sw-share-hint{ margin-top: 10px; color: var(--sw-muted); font-weight: 700; min-height: 22px; }


/* Hover animations (enterprise, subtle) */
.sw-card{
  transition: transform .22s ease, box-shadow .22s ease;
  will-change: transform;
}
.sw-card-media img{
  transition: transform .35s ease;
  transform: scale(1);
}
.sw-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 30px 80px rgba(0,0,0,.16);
}
.sw-card:hover .sw-card-media img{
  transform: scale(1.04);
}
.sw-card-title a{
  transition: color .18s ease;
}
.sw-card:hover .sw-card-title a{
  color: color-mix(in srgb, var(--sw-accent) 60%, var(--sw-text));
}


/* Layout hardening (prevents theme/builder overrides) */
.sw-card{
  display:flex;
  flex-direction:column;
}
.sw-card-media{
  position:relative;
  flex: 0 0 auto;
}
.sw-card-body{
  position:relative;
  flex: 0 0 auto;
  background:#fff;
}
.sw-card-title,
.sw-card-title a{
  position:relative;
  z-index:1;
}

@media (max-width: 680px){
  .sw-card-media img{ height: 210px; }
  .sw-card-title{ font-size: 28px; }
}


/* Title typography (enterprise) */
.sw-card-title{
  font-size: clamp(22px, 2.1vw, 34px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 0 0 14px;
}

.sw-card-title a{
  color: #0b1220 !important;
  text-decoration: none !important;
}

/* Keep long titles tidy */
.sw-card-title a{
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Mobile refinements */
@media (max-width: 520px){
  .sw-card-body{ padding: 18px 18px 14px; }
  .sw-card-title{ font-size: 24px; }
  .sw-card-media img{ height: 200px; }
  .sw-card-meta{ flex-direction: column; align-items:flex-start; gap: 10px; }
  .sw-card-date{ white-space: normal; }
}
