/* ═══════════════════════════════════════════════════════════
   HSJ Blog / Travel Journal — public pages
═══════════════════════════════════════════════════════════ */

/* ── Hero ───────────────────────────────────────────────── */
.bl-hero {
  background: var(--hsj-dk, #0C1E38);
  padding: 64px 0 56px;
  position: relative;
  overflow: hidden;
}
.bl-hero-topo {
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 40px, rgba(255,255,255,.015) 40px, rgba(255,255,255,.015) 41px),
    repeating-linear-gradient(90deg, transparent, transparent 40px, rgba(255,255,255,.01) 40px, rgba(255,255,255,.01) 41px);
  pointer-events: none;
}
.bl-hero-in {
  position: relative;
  z-index: 1;
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 36px;
  text-align: center;
}
.bl-hero-eyebrow {
  font-family: 'Outfit', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--hsj-amber, #FBA504);
  margin-bottom: 12px;
}
.bl-hero h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 56px;
  font-weight: 600;
  color: #fff;
  line-height: 1.06;
  margin: 0 0 10px;
}
.bl-hero h1 em { font-style: italic; color: #FCD34D; }
.bl-hero-sub {
  font-family: 'Outfit', sans-serif;
  font-size: 16px;
  color: rgba(255,255,255,.42);
  font-weight: 300;
  max-width: 440px;
  margin: 0 auto;
}

/* ── Featured grid ──────────────────────────────────────── */
.bl-featured {
  max-width: 1380px;
  margin: -36px auto 0;
  padding: 0 36px;
  position: relative;
  z-index: 2;
}
.bl-feat-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 16px;
}
.bl-feat-main {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  height: 420px;
  display: flex;
  align-items: flex-end;
  text-decoration: none;
  color: inherit;
}
.bl-feat-main img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s;
}
.bl-feat-main:hover img { transform: scale(1.04); }
.bl-feat-main-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(12,30,56,.85) 0%, rgba(12,30,56,.25) 60%, transparent 100%);
}
.bl-feat-main-body {
  position: relative;
  z-index: 1;
  padding: 32px;
  width: 100%;
}
.bl-feat-cat {
  font-family: 'Outfit', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--hsj-amber, #FBA504);
  margin-bottom: 8px;
  display: inline-block;
}
.bl-feat-main-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 28px;
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 8px;
}
.bl-feat-main-excerpt {
  font-family: 'Outfit', sans-serif;
  font-size: 13.5px;
  color: rgba(255,255,255,.55);
  font-weight: 300;
  line-height: 1.65;
  margin-bottom: 12px;
  max-width: 520px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.bl-feat-main-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'Outfit', sans-serif;
  font-size: 12px;
  color: rgba(255,255,255,.4);
}
.bl-feat-link {
  color: var(--hsj-amber, #FBA504);
  font-weight: 600;
  font-size: 13px;
  margin-left: auto;
}

.bl-feat-side { display: flex; flex-direction: column; gap: 16px; }
.bl-feat-sm {
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  flex: 1;
  display: flex;
  align-items: flex-end;
  min-height: 200px;
  text-decoration: none;
  color: inherit;
}
.bl-feat-sm img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s;
}
.bl-feat-sm:hover img { transform: scale(1.04); }
.bl-feat-sm-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(12,30,56,.8) 0%, rgba(12,30,56,.15) 60%, transparent 100%);
}
.bl-feat-sm-body { position: relative; z-index: 1; padding: 20px; width: 100%; }
.bl-feat-sm-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  line-height: 1.25;
  margin-bottom: 6px;
}
.bl-feat-sm-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Outfit', sans-serif;
  font-size: 11.5px;
  color: rgba(255,255,255,.4);
}

/* ── Category tabs ──────────────────────────────────────── */
.bl-cat-strip {
  max-width: 1380px;
  margin: 0 auto;
  padding: 32px 36px 0;
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}
.bl-cat-strip::-webkit-scrollbar { display: none; }
.bl-cat-tab {
  padding: 8px 18px;
  border-radius: 8px;
  border: 1.5px solid #e5e7eb;
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #6b7280;
  background: #fff;
  white-space: nowrap;
  transition: all .15s;
  text-decoration: none;
  display: inline-block;
}
.bl-cat-tab:hover { border-color: #9ca3af; color: #374151; }
.bl-cat-tab.on {
  background: #1A4B89;
  color: #fff;
  border-color: #1A4B89;
}

/* ── Two-column page layout ─────────────────────────────── */
.bl-page {
  max-width: 1380px;
  margin: 0 auto;
  padding: 32px 36px 80px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 48px;
  align-items: start;
}

/* ── Article list ───────────────────────────────────────── */
.bl-articles { display: flex; flex-direction: column; gap: 20px; }
.bl-art {
  display: grid;
  grid-template-columns: 280px 1fr;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: border-color .18s, box-shadow .18s;
}
.bl-art:hover { border-color: #d1d5db; box-shadow: 0 6px 24px rgba(0,0,0,.07); }
.bl-art-img { overflow: hidden; position: relative; }
.bl-art-img img { width: 100%; height: 100%; object-fit: cover; min-height: 200px; transition: transform .5s; }
.bl-art:hover .bl-art-img img { transform: scale(1.04); }
.bl-art-img-placeholder { min-height: 200px; background: linear-gradient(135deg, #16314f, #1a4a7a); }
.bl-art-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.bl-art-cat {
  font-family: 'Outfit', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--hsj-amber, #FBA504);
  margin-bottom: 8px;
  display: inline-block;
}
.bl-art-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 20px;
  font-weight: 600;
  color: #1C1C1C;
  line-height: 1.3;
  margin-bottom: 8px;
  transition: color .15s;
}
.bl-art:hover .bl-art-title { color: #1A4B89; }
.bl-art-excerpt {
  font-family: 'Outfit', sans-serif;
  font-size: 13.5px;
  color: #6b7280;
  line-height: 1.7;
  font-weight: 300;
  margin-bottom: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.bl-art-foot {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Outfit', sans-serif;
  font-size: 12px;
  color: #6b7280;
}
.bl-art-foot .sep { color: #d1d5db; }
.bl-art-read { color: #1A4B89; font-weight: 600; margin-left: auto; }

/* ── Pagination ─────────────────────────────────────────── */
.bl-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 28px;
}
.bl-pg-btn {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #6b7280;
  text-decoration: none;
  background: #fff;
  transition: all .15s;
}
.bl-pg-btn:hover { border-color: #1A4B89; color: #1A4B89; background: #eff6ff; }
.bl-pg-btn.on { background: #1A4B89; color: #fff; border-color: #1A4B89; pointer-events: none; }
.bl-pg-btn.disabled { opacity: .4; pointer-events: none; }
.bl-pg-dots { font-family: 'Outfit', sans-serif; font-size: 13px; color: #6b7280; padding: 0 4px; }

/* ── Sidebar ────────────────────────────────────────────── */
.bl-sidebar { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 24px; }
.bl-sb-card {
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 20px;
  background: #fff;
}
.bl-sb-h {
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #1C1C1C;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.bl-sb-h::after { content: ''; flex: 1; height: 1px; background: #e5e7eb; }

/* Sidebar search */
.bl-sb-search {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1.5px solid #e5e7eb;
  border-radius: 9px;
  padding: 10px 12px;
  transition: border-color .15s;
}
.bl-sb-search:focus-within { border-color: #1A4B89; }
.bl-sb-search svg { width: 15px; height: 15px; color: #6b7280; flex-shrink: 0; }
.bl-sb-search input {
  flex: 1;
  border: none;
  outline: none;
  font-family: 'Outfit', sans-serif;
  font-size: 13.5px;
  color: #1C1C1C;
  background: transparent;
}
.bl-sb-search input::placeholder { color: #9ca3af; }

/* Recent posts */
.bl-recent-list { display: flex; flex-direction: column; gap: 12px; }
.bl-recent {
  display: flex;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  color: inherit;
}
.bl-recent-img {
  width: 68px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  background: #f9fafb;
}
.bl-recent-img img { width: 100%; height: 100%; object-fit: cover; }
.bl-recent-body { flex: 1; min-width: 0; }
.bl-recent-title {
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #1C1C1C;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .15s;
}
.bl-recent:hover .bl-recent-title { color: #1A4B89; }
.bl-recent-date { font-family: 'Outfit', sans-serif; font-size: 11px; color: #6b7280; margin-top: 3px; }

/* Categories in sidebar */
.bl-cat-list { display: flex; flex-direction: column; }
.bl-cat-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 0;
  border-bottom: 1px solid #e5e7eb;
  font-family: 'Outfit', sans-serif;
  font-size: 13.5px;
  color: #1C1C1C;
  text-decoration: none;
  transition: color .15s;
}
.bl-cat-item:last-child { border-bottom: none; }
.bl-cat-item:hover { color: #1A4B89; }
.bl-cat-item.on { color: #1A4B89; font-weight: 600; }

/* Tags */
.bl-tags-wrap { display: flex; flex-wrap: wrap; gap: 6px; }
.bl-tag {
  font-family: 'Outfit', sans-serif;
  font-size: 11.5px;
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid #e5e7eb;
  color: #6b7280;
  font-weight: 500;
  text-decoration: none;
  transition: all .15s;
  white-space: nowrap;
}
.bl-tag:hover { border-color: #FBA504; color: #92400E; background: #FEF3C7; }

/* ── Empty state ────────────────────────────────────────── */
.bl-empty {
  text-align: center;
  padding: 64px 24px;
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  color: #9ca3af;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 1060px) {
  .bl-page { grid-template-columns: 1fr; }
  .bl-sidebar { position: static; }
}
@media (max-width: 760px) {
  .bl-feat-grid { grid-template-columns: 1fr; }
  .bl-feat-main { height: 320px; }
  .bl-art { grid-template-columns: 1fr; }
  .bl-art-img img { height: 200px; min-height: auto; }
  .bl-hero h1 { font-size: 40px; }
  .bl-featured, .bl-cat-strip, .bl-page { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 480px) {
  .bl-feat-main { height: 260px; }
  .bl-feat-sm { min-height: 160px; }
  .bl-hero { padding: 48px 0 40px; }
}


/* ════════════════════════════════════════════════════════════
   Post detail page — kept from previous design
════════════════════════════════════════════════════════════ */
.bp-hero { position: relative; width: 100%; max-height: 520px; overflow: hidden; background: #0c1e38; }
.bp-hero-img { width: 100%; max-height: 520px; object-fit: cover; display: block; opacity: .72; }
.bp-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(12,30,56,.88) 0%, rgba(12,30,56,.3) 50%, transparent 100%);
  display: flex; flex-direction: column; justify-content: flex-end; padding: 48px 40px;
}
@media (max-width: 600px) { .bp-hero-overlay { padding: 28px 20px; } }
.bp-hero-no-img { background: linear-gradient(135deg, #0c1e38 0%, #16314f 100%); padding: 80px 40px 60px; }
@media (max-width: 600px) { .bp-hero-no-img { padding: 60px 20px 40px; } }
.bp-breadcrumb { font-family: 'Outfit', sans-serif; font-size: 12px; color: rgba(255,255,255,.6); margin-bottom: 16px; }
.bp-breadcrumb a { color: rgba(255,255,255,.6); text-decoration: none; }
.bp-breadcrumb a:hover { color: var(--hsj-amber, #FBA504); }
.bp-breadcrumb span { margin: 0 6px; }
.bp-hero-cat { font-family: 'Outfit', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--hsj-amber, #FBA504); margin-bottom: 12px; }
.bp-hero-title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.6rem, 4vw, 2.8rem); font-weight: 600; color: #fff; line-height: 1.15; margin: 0 0 16px; max-width: 780px; }
.bp-hero-date { font-family: 'Outfit', sans-serif; font-size: 12.5px; color: rgba(255,255,255,.6); }
.bp-layout { max-width: 1100px; margin: 0 auto; padding: 52px 32px 80px; display: grid; grid-template-columns: 1fr 300px; gap: 52px; align-items: start; }
@media (max-width: 900px) { .bp-layout { grid-template-columns: 1fr; gap: 40px; } }
@media (max-width: 600px) { .bp-layout { padding: 32px 20px 60px; } }
.bp-content { font-family: 'Outfit', sans-serif; font-size: 15.5px; line-height: 1.8; color: #2d3b4e; }
.bp-content h1,.bp-content h2,.bp-content h3,.bp-content h4 { font-family: 'Cormorant Garamond', Georgia, serif; color: #16314f; line-height: 1.25; margin: 1.8em 0 .6em; }
.bp-content h2 { font-size: 1.7rem; } .bp-content h3 { font-size: 1.35rem; }
.bp-content p { margin: 0 0 1.2em; }
.bp-content a { color: #1A4B89; text-decoration: underline; }
.bp-content a:hover { color: #FBA504; }
.bp-content ul,.bp-content ol { margin: 0 0 1.2em 1.4em; }
.bp-content li { margin-bottom: .4em; }
.bp-content img { max-width: 100%; height: auto; border-radius: 10px; margin: 1.2em 0; }
.bp-content blockquote { margin: 1.6em 0; padding: 16px 20px 16px 24px; border-left: 4px solid #FBA504; background: rgba(251,165,4,.06); border-radius: 0 8px 8px 0; font-style: italic; color: #455670; }
.bp-sidebar { position: sticky; top: 100px; }
.bp-sidebar-card { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 14px; padding: 24px 20px; margin-bottom: 24px; }
.bp-sidebar-title { font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #16314f; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 2px solid #FBA504; display: inline-block; }
.bp-related-item { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid #e5e7eb; text-decoration: none; color: inherit; }
.bp-related-item:last-child { border-bottom: none; }
.bp-related-thumb { width: 58px; height: 46px; object-fit: cover; border-radius: 6px; flex-shrink: 0; background: #e5e7eb; }
.bp-related-info { flex: 1; min-width: 0; }
.bp-related-info h4 { font-family: 'Outfit', sans-serif; font-size: 12.5px; font-weight: 600; color: #16314f; line-height: 1.35; margin: 0 0 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bp-related-info span { font-size: 11px; color: #6b7280; font-family: 'Outfit', sans-serif; }
.bp-back { display: inline-flex; align-items: center; gap: 6px; font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 600; color: #16314f; text-decoration: none; padding: 10px 0; }
.bp-back:hover { color: #FBA504; }
.bp-cta { display: block; background: #FBA504; color: #0c1e38; text-align: center; padding: 14px 20px; border-radius: 8px; font-family: 'Outfit', sans-serif; font-size: 14px; font-weight: 700; text-decoration: none; margin-top: 16px; transition: background .14s; }
.bp-cta:hover { background: #e09200; }


/* ═══════════════════════════════════════════ Blog Article Detail ══ */
.ba-hero { position:relative; height:56vh; min-height:420px; max-height:580px; overflow:hidden; }
.ba-hero-img { width:100%; height:100%; object-fit:cover; display:block; }
.ba-hero-overlay { position:absolute;inset:0; background:linear-gradient(to top,rgba(15,42,79,.92) 0%,rgba(15,42,79,.4) 55%,rgba(15,42,79,.15) 100%); }
.ba-hero-content { position:absolute;bottom:0;left:0;right:0; padding:0 64px 52px; max-width:900px; }
.ba-hero-meta-top { display:flex;align-items:center;gap:12px;margin-bottom:16px; }
.ba-hero-cat { font-family:'Outfit',sans-serif;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:#E07A1B;color:white;padding:4px 12px;border-radius:3px; }
.ba-hero-date, .ba-hero-read { font-family:'Outfit',sans-serif;font-size:12px;color:rgba(200,220,240,.7); }
.ba-hero-title { font-family:'Playfair Display',Georgia,serif;font-size:clamp(26px,4vw,48px);font-weight:500;line-height:1.1;letter-spacing:-.5px;color:white; }

.ba-layout { max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 300px;gap:64px;padding:52px 64px 88px;align-items:start; }
.ba-body { min-width:0; }

.ba-intro { font-family:'Poppins',sans-serif;font-size:17px;line-height:1.8;color:rgba(55,65,90,.65);font-weight:300;padding-bottom:28px;border-bottom:2px solid #1A4B89;margin-bottom:36px; }

.ba-share-row { display:flex;align-items:center;gap:10px;margin-bottom:36px; }
.ba-share-label { font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(55,65,90,.65); }
.ba-share-btn { display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:4px;font-family:'Outfit',sans-serif;font-size:12px;font-weight:500;text-decoration:none;transition:opacity .2s; }
.ba-share-fb { background:#1877F2;color:white; }
.ba-share-tw { background:#000;color:white; }
.ba-share-wa { background:#25D366;color:white; }
.ba-share-btn:hover { opacity:.88; }

.ba-prose { font-family:'Poppins',sans-serif;font-size:15px;line-height:1.85;color:#111827;font-weight:300; }
.ba-prose h2 { font-family:'Playfair Display',Georgia,serif;font-size:clamp(20px,2.5vw,26px);font-weight:500;color:#111827;line-height:1.2;letter-spacing:-.3px;margin-top:44px;margin-bottom:16px;padding-top:44px;border-top:1px solid rgba(0,0,0,.08);scroll-margin-top:88px; }
.ba-prose h2:first-child,.ba-prose h3:first-child { margin-top:0;padding-top:0;border-top:none; }
.ba-prose h3 { font-family:'Playfair Display',Georgia,serif;font-size:1.2rem;font-weight:500;color:#111827;margin:1.6em 0 .6em; }
.ba-prose p { margin-bottom:18px; }
.ba-prose p:last-child { margin-bottom:0; }
.ba-prose strong { color:#111827;font-weight:600; }
.ba-prose a { color:#1A4B89;text-decoration:underline;text-decoration-color:rgba(26,75,137,.3); }
.ba-prose a:hover { text-decoration-color:#1A4B89; }
.ba-prose ul { margin:16px 0 18px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px; }
.ba-prose ul li { display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.7; }
.ba-prose ul li::before { content:'';width:6px;height:6px;border-radius:50%;background:#E07A1B;flex-shrink:0;margin-top:8px; }
.ba-prose ol { margin:16px 0 18px;padding-left:1.4em; }
.ba-prose ol li { margin-bottom:.5em; }
.ba-prose img { max-width:100%;height:auto;border-radius:8px;margin:1.2em 0; }
.ba-prose blockquote { margin:1.6em 0;padding:16px 20px 16px 24px;border-left:4px solid #1A4B89;background:rgba(26,75,137,.05);border-radius:0 8px 8px 0;font-style:italic;color:rgba(55,65,90,.8); }
.ba-prose table { width:100%;border-collapse:collapse;margin:1.2em 0;font-size:13px;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.08); }
.ba-prose thead { background:#1A4B89; }
.ba-prose thead th { padding:12px 14px;text-align:left;color:white;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase; }
.ba-prose tbody tr { border-bottom:1px solid rgba(0,0,0,.08);transition:background .15s; }
.ba-prose tbody tr:hover { background:rgba(26,75,137,.04); }
.ba-prose td { padding:10px 14px;line-height:1.4; }

.ba-cta-box { background:#1A4B89;border-radius:10px;padding:28px 32px;margin:36px 0;display:flex;align-items:center;justify-content:space-between;gap:24px; }
.ba-cta-eyebrow { font-family:'Outfit',sans-serif;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px; }
.ba-cta-title { font-family:'Playfair Display',Georgia,serif;font-size:20px;font-weight:500;color:white;line-height:1.2;margin-bottom:6px; }
.ba-cta-sub { font-family:'Outfit',sans-serif;font-size:13px;color:rgba(255,255,255,.65);font-weight:300; }
.ba-cta-btn { flex-shrink:0;padding:12px 24px;background:#E07A1B;color:white;border-radius:6px;text-decoration:none;font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;white-space:nowrap;transition:background .2s; }
.ba-cta-btn:hover { background:#c9690f; }

.ba-tags { margin-top:40px;padding-top:28px;border-top:1px solid rgba(0,0,0,.08); }
.ba-tags-label { font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(55,65,90,.65);margin-bottom:12px; }
.ba-tags-wrap { display:flex;flex-wrap:wrap;gap:7px; }
.ba-tag { padding:5px 13px;border-radius:100px;font-family:'Outfit',sans-serif;font-size:12px;border:1px solid rgba(0,0,0,.08);color:rgba(55,65,90,.65);text-decoration:none;transition:all .2s; }
.ba-tag:hover { border-color:#1A4B89;color:#1A4B89;background:rgba(26,75,137,.05); }

.ba-share-bottom { margin-top:36px;padding:24px;background:#f4f7fb;border-radius:8px;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:space-between;gap:20px; }
.ba-share-bottom-text { font-family:'Outfit',sans-serif;font-size:14px;font-weight:500;color:#111827; }
.ba-share-bottom-text span { color:rgba(55,65,90,.65);font-weight:300;font-size:13px;display:block;margin-top:2px; }
.ba-share-bottom-btns { display:flex;gap:8px; }

.ba-article-nav { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:48px;border-top:1px solid rgba(0,0,0,.08);padding-top:32px; }
.ba-nav-item { padding:20px;border:1px solid rgba(0,0,0,.08);border-radius:8px;text-decoration:none;color:inherit;transition:border-color .2s,background .2s; }
.ba-nav-item:hover { border-color:#1A4B89;background:rgba(26,75,137,.03); }
.ba-nav-dir { font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(55,65,90,.65);margin-bottom:6px;display:flex;align-items:center;gap:6px; }
.ba-nav-title { font-family:'Playfair Display',Georgia,serif;font-size:15px;font-weight:500;color:#111827;line-height:1.3; }

/* Sidebar */
.ba-sidebar { display:flex;flex-direction:column;gap:24px;position:sticky;top:88px; }
.ba-toc-card { background:#f4f7fb;border:1px solid rgba(0,0,0,.08);border-radius:10px;overflow:hidden; }
.ba-toc-header { padding:14px 20px;border-bottom:1px solid rgba(0,0,0,.08); }
.ba-toc-title { font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#1A4B89; }
.ba-toc-list { padding:12px 0;list-style:none;margin:0; }
.ba-toc-item a { display:block;padding:7px 20px;font-family:'Outfit',sans-serif;font-size:13px;color:rgba(55,65,90,.65);text-decoration:none;border-left:2px solid transparent;transition:color .2s,border-color .2s,background .15s;line-height:1.4; }
.ba-toc-item a:hover { color:#1A4B89;background:rgba(26,75,137,.04); }
.ba-toc-item a.active { color:#1A4B89;border-left-color:#1A4B89;background:rgba(26,75,137,.06);font-weight:500; }

.ba-author-card { background:white;border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:20px; }
.ba-author-header { display:flex;align-items:center;gap:14px;margin-bottom:12px; }
.ba-author-avatar { width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid rgba(0,0,0,.08); }
.ba-author-avatar img { width:100%;height:100%;object-fit:cover;object-position:top; }
.ba-author-name { font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;color:#111827; }
.ba-author-role { font-family:'Outfit',sans-serif;font-size:12px;color:rgba(55,65,90,.65);margin-top:2px; }
.ba-author-bio { font-family:'Outfit',sans-serif;font-size:13px;line-height:1.65;color:rgba(55,65,90,.65);font-weight:300; }

.ba-trek-promo { background:#1A4B89;border-radius:10px;overflow:hidden; }
.ba-trek-promo-img { height:130px;overflow:hidden;position:relative; }
.ba-trek-promo-img img { width:100%;height:100%;object-fit:cover;display:block; }
.ba-trek-promo-dim { position:absolute;inset:0;background:linear-gradient(to bottom,transparent 30%,#1A4B89); }
.ba-trek-promo-body { padding:14px 20px 20px; }
.ba-trek-promo-label { font-family:'Outfit',sans-serif;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:5px; }
.ba-trek-promo-title { font-family:'Playfair Display',Georgia,serif;font-size:17px;font-weight:500;color:white;line-height:1.2;margin-bottom:6px; }
.ba-trek-promo-price { font-family:'Playfair Display',Georgia,serif;font-size:18px;font-weight:700;color:#E07A1B;margin-bottom:12px; }
.ba-trek-promo-btn { display:block;width:100%;padding:10px;background:#E07A1B;color:white;text-align:center;border-radius:6px;text-decoration:none;font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;transition:background .2s; }
.ba-trek-promo-btn:hover { background:#c9690f; }

.ba-newsletter { background:#f4f7fb;border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:20px; }
.ba-newsletter-title { font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;color:#111827;margin-bottom:4px; }
.ba-newsletter-sub { font-family:'Outfit',sans-serif;font-size:12px;color:rgba(55,65,90,.65);font-weight:300;margin-bottom:14px;line-height:1.5; }
.ba-newsletter-input { width:100%;padding:10px 12px;border:1px solid rgba(0,0,0,.08);border-radius:6px;font-family:'Outfit',sans-serif;font-size:13px;color:#111827;outline:none;background:white;margin-bottom:8px;box-sizing:border-box; }
.ba-newsletter-input:focus { border-color:#1A4B89; }
.ba-newsletter-btn { width:100%;padding:10px;background:#1A4B89;color:white;border:none;border-radius:6px;font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s; }
.ba-newsletter-btn:hover { background:#2466b8; }

/* Related */
.ba-related { background:#f4f7fb;border-top:1px solid rgba(0,0,0,.08);padding:56px 64px; }
.ba-related-inner { max-width:1280px;margin:0 auto; }
.ba-related-header { display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px; }
.ba-related-title { font-family:'Playfair Display',Georgia,serif;font-size:26px;font-weight:500;color:#111827;letter-spacing:-.3px; }
.ba-related-title em { font-style:italic;color:#1A4B89; }
.ba-related-all { font-family:'Outfit',sans-serif;font-size:13px;color:rgba(55,65,90,.65);text-decoration:none; }
.ba-related-all::after { content:' →'; }
.ba-related-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.ba-related-card { background:white;border:1px solid rgba(0,0,0,.08);border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s;display:block; }
.ba-related-card:hover { transform:translateY(-3px);box-shadow:0 10px 32px rgba(0,0,0,.09); }
.ba-related-img { aspect-ratio:16/10;overflow:hidden; }
.ba-related-img img { width:100%;height:100%;object-fit:cover;transition:transform .4s;display:block; }
.ba-related-card:hover .ba-related-img img { transform:scale(1.05); }
.ba-related-body { padding:18px 20px; }
.ba-related-cat { font-family:'Outfit',sans-serif;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#E07A1B;margin-bottom:6px; }
.ba-related-title-card { font-family:'Playfair Display',Georgia,serif;font-size:16px;font-weight:500;color:#111827;line-height:1.35;margin-bottom:8px; }
.ba-related-date { font-family:'Outfit',sans-serif;font-size:12px;color:rgba(55,65,90,.65); }

/* Responsive */
@media (max-width:1100px) { .ba-layout{grid-template-columns:1fr;padding:40px 32px 64px;gap:40px} .ba-sidebar{position:static} .ba-related{padding:48px 32px} .ba-related-grid{grid-template-columns:1fr 1fr} }
@media (max-width:768px) { .ba-hero-content{padding:0 24px 36px} .ba-layout{padding:32px 20px 56px} .ba-cta-box{flex-direction:column} .ba-article-nav{grid-template-columns:1fr} .ba-related-grid{grid-template-columns:1fr} .ba-related{padding:40px 20px} .ba-share-bottom{flex-direction:column} }
