:root {
  --bos-bg: #f7f3ea;
  --bos-paper: #fffdf8;
  --bos-ink: #1f1e1a;
  --bos-muted: #6e6a60;
  --bos-gold: #a47c3c;
  --bos-gold-dark: #7f5e2b;
  --bos-gold-soft: #efe3c9;
  --bos-night: #151712;
  --bos-night-2: #21241c;
  --bos-border: #dfd7c8;
  --bos-green: #4d6552;
  --bos-shadow: 0 18px 50px rgba(41, 34, 22, .09);
  --bos-radius: 24px;
  --bos-shell: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bos-bg);
  color: var(--bos-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.bos-skip-link { position:absolute; left:-999px; top:10px; z-index:9999; background:#fff; padding:10px 14px; }
.bos-skip-link:focus { left:10px; }
.bos-shell { width: min(calc(100% - 40px), var(--bos-shell)); margin: 0 auto; }

.bos-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(247,243,234,.92);
  border-bottom: 1px solid rgba(164,124,60,.16);
  backdrop-filter: blur(14px);
}
.admin-bar .bos-header { top: 32px; }
.bos-header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.bos-brand { display:flex; align-items:center; gap:12px; font-weight:800; letter-spacing:-.02em; }
.bos-brand-mark { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:var(--bos-ink); color:#fff; font-family:Georgia,serif; font-size:20px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.bos-brand-text { font-size: 20px; }
.bos-logo-wrap .custom-logo { max-height:52px; width:auto; display:block; }
.bos-nav { display:flex; align-items:center; gap:24px; }
.bos-nav-list { display:flex; align-items:center; list-style:none; padding:0; margin:0; gap:28px; }
.bos-nav-list a { font-size:14px; color:#49473f; font-weight:650; }
.bos-nav-list a:hover { color:var(--bos-gold-dark); }
.bos-header-cta { border:1px solid var(--bos-ink); border-radius:999px; padding:10px 17px; font-size:14px; font-weight:750; }
.bos-menu-toggle { display:none; width:42px; height:42px; border:0; background:transparent; padding:8px; }
.bos-menu-toggle span:not(.screen-reader-text) { display:block; height:2px; margin:5px 0; background:var(--bos-ink); }

.bos-hero { padding: 92px 0 84px; background: radial-gradient(circle at 86% 15%, rgba(164,124,60,.12), transparent 28%), var(--bos-bg); }
.bos-hero-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); gap:70px; align-items:center; }
.bos-kicker, .bos-eyebrow { color:var(--bos-gold-dark); text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:850; }
.bos-hero h1 { max-width:780px; margin:14px 0 24px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(48px,7vw,82px); line-height:.98; letter-spacing:-.045em; font-weight:500; }
.bos-hero h1 span { color:var(--bos-gold-dark); }
.bos-hero-lead { max-width:700px; font-size:20px; color:#555147; margin:0; }
.bos-hero-actions { display:flex; gap:12px; margin-top:32px; flex-wrap:wrap; }
.bos-btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 22px; border-radius:12px; font-weight:800; font-size:15px; }
.bos-btn-primary { background:var(--bos-ink); color:#fff; box-shadow:0 10px 30px rgba(31,30,26,.14); }
.bos-btn-primary:hover { background:#000; }
.bos-btn-secondary { border:1px solid var(--bos-border); background:rgba(255,255,255,.62); }
.bos-free-line { display:flex; gap:20px; flex-wrap:wrap; margin-top:22px; color:#746f64; font-size:13px; }
.bos-free-line span::before { content:"✓"; color:var(--bos-green); font-weight:900; margin-right:7px; }

.bos-hero-card { position:relative; overflow:hidden; background:var(--bos-paper); border:1px solid var(--bos-border); border-radius:30px; padding:30px; box-shadow:var(--bos-shadow); }
.bos-hero-card::before { content:""; position:absolute; inset:0 0 auto; height:5px; background:linear-gradient(90deg,var(--bos-gold),#d6bd83); }
.bos-card-topline { display:flex; justify-content:space-between; align-items:center; color:var(--bos-muted); font-size:13px; }
.bos-progress { background:var(--bos-gold-soft); color:var(--bos-gold-dark); border-radius:999px; padding:6px 10px; font-weight:800; }
.bos-book-label { margin-top:44px; color:var(--bos-gold-dark); font-size:12px; letter-spacing:.19em; font-weight:900; }
.bos-hero-card h2 { font-family:Georgia,serif; font-size:42px; margin:5px 0 8px; font-weight:500; }
.bos-hero-card p { color:var(--bos-muted); }
.bos-card-actions { display:flex; gap:20px; margin-top:26px; font-weight:800; font-size:14px; }
.bos-card-actions a:first-child { color:var(--bos-gold-dark); }
.bos-mini-progress { height:7px; border-radius:999px; background:#ece6d9; margin-top:28px; overflow:hidden; }
.bos-mini-progress span { display:block; height:100%; background:var(--bos-gold); border-radius:inherit; }
.bos-hero-card small { display:block; margin-top:9px; color:#817b70; }

.bos-section { padding:96px 0; }
.bos-section-light { background:var(--bos-paper); }
.bos-section-warm { background:#eee5d5; }
.bos-section-dark { background:var(--bos-night); color:#fff; }
.bos-section-heading { max-width:780px; margin-bottom:42px; }
.bos-section-heading h2, .bos-feature-copy h2, .bos-connections h2, .bos-question-box h2, .bos-final-cta h2 { margin:9px 0 16px; font-family:Georgia,serif; font-weight:500; font-size:clamp(34px,5vw,54px); line-height:1.08; letter-spacing:-.025em; }
.bos-section-heading p, .bos-feature-copy p, .bos-connections p, .bos-question-box p { color:var(--bos-muted); font-size:18px; }
.bos-heading-light p { color:#b9b9ae; }

.bos-book-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.bos-book-card { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px; min-height:126px; padding:24px; background:var(--bos-bg); border:1px solid var(--bos-border); border-radius:22px; transition:.2s ease; }
.bos-book-card:hover { transform:translateY(-2px); box-shadow:var(--bos-shadow); }
.bos-book-icon { display:grid; place-items:center; width:58px; height:58px; border-radius:16px; background:var(--bos-ink); color:#fff; font-family:Georgia,serif; }
.bos-book-card strong { display:block; font-size:20px; }
.bos-book-card small { color:var(--bos-muted); }
.bos-arrow { font-size:26px; color:var(--bos-gold-dark); }
.bos-quick-search { margin-top:22px; padding:22px 24px; display:flex; justify-content:space-between; align-items:center; gap:24px; border:1px solid var(--bos-border); border-radius:22px; background:#fff; }
.bos-quick-search strong, .bos-quick-search span { display:block; }
.bos-quick-search span { color:var(--bos-muted); font-size:14px; }
.bos-quick-search form { display:flex; gap:8px; flex:1; max-width:560px; }
.bos-quick-search input { width:100%; border:1px solid var(--bos-border); border-radius:12px; padding:13px 14px; background:#fbfaf6; }
.bos-quick-search button { border:0; border-radius:12px; padding:0 18px; background:var(--bos-ink); color:#fff; font-weight:800; }

.bos-step-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.bos-step-grid article { min-height:250px; padding:26px; border:1px solid #35382e; border-radius:22px; background:var(--bos-night-2); }
.bos-step-grid article span { color:#caa866; font-size:12px; font-weight:900; letter-spacing:.16em; }
.bos-step-grid h3 { font-family:Georgia,serif; font-size:29px; margin:48px 0 12px; font-weight:500; }
.bos-step-grid p { color:#b9b9ae; margin:0; }

.bos-feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.bos-check-list { list-style:none; padding:0; margin:26px 0 0; display:grid; grid-template-columns:repeat(2,1fr); gap:12px 18px; }
.bos-check-list li::before { content:"✓"; color:var(--bos-green); font-weight:900; margin-right:8px; }
.bos-player-card { background:var(--bos-night); color:#fff; border-radius:30px; padding:30px; box-shadow:0 22px 60px rgba(33,25,12,.18); }
.bos-player-meta { display:flex; justify-content:space-between; color:#c8b17e; font-size:11px; letter-spacing:.14em; font-weight:850; }
.bos-player-card h3 { font-family:Georgia,serif; font-size:40px; font-weight:500; margin:34px 0 0; }
.bos-player-card p { margin:4px 0 28px; color:#bfc0b8; }
.bos-wave { height:52px; display:flex; align-items:center; justify-content:center; gap:5px; }
.bos-wave i { width:4px; border-radius:999px; background:#caa866; display:block; }
.bos-wave i:nth-child(1),.bos-wave i:nth-child(12){height:14px}.bos-wave i:nth-child(2),.bos-wave i:nth-child(11){height:24px}.bos-wave i:nth-child(3),.bos-wave i:nth-child(10){height:38px}.bos-wave i:nth-child(4),.bos-wave i:nth-child(9){height:26px}.bos-wave i:nth-child(5),.bos-wave i:nth-child(8){height:46px}.bos-wave i:nth-child(6),.bos-wave i:nth-child(7){height:34px}
.bos-player-controls { display:flex; justify-content:center; align-items:center; gap:22px; margin:24px 0 30px; }
.bos-player-controls button { border:0; background:transparent; color:#fff; font-weight:800; }
.bos-player-controls .bos-play { width:62px; height:62px; border-radius:50%; background:#fff; color:var(--bos-night); font-size:20px; }
.bos-player-tabs { display:grid; grid-template-columns:1fr 1fr 1.5fr; gap:8px; font-size:12px; }
.bos-player-tabs span { text-align:center; border:1px solid #3d4037; border-radius:999px; padding:9px 8px; color:#aaa99f; }
.bos-player-tabs .active { background:#2f3328; color:#fff; border-color:#6f613f; }

.bos-study-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.bos-study-card { padding:34px; border:1px solid var(--bos-border); border-radius:26px; background:var(--bos-bg); }
.bos-study-card.featured { background:#f1e5ce; border-color:#d5bf93; }
.bos-study-badge { display:inline-block; border-radius:999px; padding:6px 10px; background:#fff; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; color:var(--bos-gold-dark); }
.bos-study-card h3 { font-family:Georgia,serif; font-size:32px; font-weight:500; margin:26px 0 12px; }
.bos-study-card p { color:var(--bos-muted); }
.bos-study-card a { display:inline-block; margin-top:20px; font-weight:850; color:var(--bos-gold-dark); }

.bos-connections { background:#e5eadf; }
.bos-connections-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.bos-thread-card { background:#fff; border:1px solid #cfd7c7; border-radius:28px; padding:28px; box-shadow:var(--bos-shadow); }
.bos-thread-item { padding:15px 18px; border-radius:16px; }
.bos-thread-item span { display:block; color:var(--bos-green); font-size:11px; letter-spacing:.14em; font-weight:900; text-transform:uppercase; }
.bos-thread-item strong { display:block; margin-top:4px; }
.bos-thread-item.current { background:#edf2e9; }
.bos-thread-line { width:2px; height:24px; margin-left:31px; background:#b7c0af; }

.bos-question-section { background:var(--bos-paper); }
.bos-question-box { display:grid; grid-template-columns:1fr 1fr; gap:58px; align-items:center; padding:46px; border:1px solid var(--bos-border); border-radius:30px; background:var(--bos-bg); }
.bos-question-ui { background:#fff; border:1px solid var(--bos-border); border-radius:22px; padding:20px; }
.bos-question-input { min-height:76px; padding:17px; border-radius:14px; background:#f8f6ef; color:#535047; display:flex; align-items:center; }
.bos-question-ui button { width:100%; margin-top:10px; border:0; border-radius:12px; min-height:48px; background:var(--bos-ink); color:#fff; font-weight:850; }
.bos-question-ui small { display:block; margin-top:10px; color:#888276; }

.bos-final-cta { text-align:center; padding:90px 0 100px; background:var(--bos-night); color:#fff; }
.bos-final-cta p { color:#bfc0b8; font-size:18px; margin-bottom:28px; }
.bos-final-cta .bos-btn-primary { background:#fff; color:var(--bos-night); }

.bos-footer { background:#0f110d; color:#fff; padding:50px 0 20px; }
.bos-footer-grid { display:flex; justify-content:space-between; align-items:flex-start; gap:30px; }
.bos-footer-brand { font-family:Georgia,serif; font-size:26px; }
.bos-footer p { color:#9f9f97; margin:5px 0 0; }
.bos-footer-links { display:flex; flex-wrap:wrap; gap:20px; color:#c7c7c0; font-size:14px; }
.bos-footer-bottom { margin-top:34px; padding-top:18px; border-top:1px solid #272a22; display:flex; justify-content:space-between; color:#777970; font-size:12px; }

.bos-content-shell { padding:80px 0; background:var(--bos-paper); min-height:70vh; }
.bos-readable { max-width:840px; }
.bos-readable h1 { font-family:Georgia,serif; font-size:52px; font-weight:500; }
.bos-entry-content { font-size:18px; }
.bos-post-list { display:grid; gap:18px; }
.bos-post-card { border:1px solid var(--bos-border); border-radius:20px; padding:24px; background:#fff; }
.bos-post-card h2 { margin-top:0; }
.bos-404 { text-align:center; }

@media (max-width: 900px) {
  .admin-bar .bos-header { top:46px; }
  .bos-menu-toggle { display:block; }
  .bos-nav { display:none; position:absolute; left:20px; right:20px; top:70px; background:var(--bos-paper); border:1px solid var(--bos-border); border-radius:18px; padding:20px; box-shadow:var(--bos-shadow); align-items:stretch; }
  .bos-nav.is-open { display:flex; flex-direction:column; }
  .bos-nav-list { flex-direction:column; align-items:stretch; gap:0; }
  .bos-nav-list li + li { border-top:1px solid var(--bos-border); }
  .bos-nav-list a { display:block; padding:13px 0; }
  .bos-header-cta { text-align:center; }
  .bos-hero { padding-top:62px; }
  .bos-hero-grid, .bos-feature-grid, .bos-connections-grid, .bos-question-box { grid-template-columns:1fr; gap:38px; }
  .bos-step-grid { grid-template-columns:repeat(2,1fr); }
  .bos-book-grid, .bos-study-grid { grid-template-columns:1fr; }
  .bos-quick-search { align-items:stretch; flex-direction:column; }
  .bos-quick-search form { max-width:none; }
}

@media (max-width: 600px) {
  .bos-shell { width:min(calc(100% - 28px), var(--bos-shell)); }
  .bos-header-inner { min-height:68px; }
  .bos-brand-text { font-size:18px; }
  .bos-hero { padding:52px 0 58px; }
  .bos-hero h1 { font-size:48px; }
  .bos-hero-lead { font-size:17px; }
  .bos-section { padding:70px 0; }
  .bos-step-grid { grid-template-columns:1fr; }
  .bos-step-grid article { min-height:0; }
  .bos-step-grid h3 { margin-top:28px; }
  .bos-check-list { grid-template-columns:1fr; }
  .bos-quick-search form { flex-direction:column; }
  .bos-quick-search button { min-height:46px; }
  .bos-player-tabs { grid-template-columns:1fr; }
  .bos-question-box { padding:26px; }
  .bos-footer-grid, .bos-footer-bottom { flex-direction:column; }
}
