:root {
  --navy: #002147;
  --navy-2: #003366;
  --blue: #0b5cab;
  --green: #2e9b4b;
  --red: #d1242f;
  --orange: #e67e22;
  --gray: #f4f6f9;
  --line: #e4e8ef;
  --text: #1b2430;
  --muted: #667085;
  --white: #fff;
  --shadow: 0 10px 30px rgba(0, 33, 71, .08);
  --radius: 10px;
  --max: 1200px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--text);
  background: var(--white);
  line-height: 1.55;
}
a { color: var(--blue); text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
.muted { color: var(--muted); }
.small { font-size: 12px; }
h1, h2, h3, h4 { color: var(--navy); line-height: 1.22; margin: 0 0 .45em; }
.section { padding: 64px 0; }
.section-alt { background: #f7f9fc; }
.section-title { font-size: 26px; text-align: center; margin-bottom: 28px; display: flex; align-items: center; justify-content: center; gap: 10px; }
.section-title-left { justify-content: flex-start; text-align: left; font-size: 22px; }
.lede { font-size: 16px; color: var(--muted); max-width: 560px; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid transparent; border-radius: 4px; padding: 11px 18px;
  font-weight: 600; font-size: 14px; cursor: pointer; background: none; font-family: inherit;
}
.btn-navy { background: var(--navy); color: #fff; }
.btn-navy:hover { background: var(--navy-2); color: #fff; }
.btn-outline { border-color: #cfd6e0; color: var(--navy); background: #fff; }
.btn-outline:hover { border-color: var(--navy); color: var(--navy); }
.btn-white { background: #fff; color: var(--navy); }
.btn-red { background: var(--red); color: #fff; }
.btn-ghost { color: #fff; border-color: rgba(255,255,255,.55); }
.btn-gold { background: #c9a227; color: #002147; font-weight: 800; }
.btn-gold:hover { background: #d4ad32; color: #002147; }
.btn-cta { padding: 11px 16px; white-space: nowrap; }
.nav-actions { display: flex; align-items: center; gap: 10px; }
.nav-cart {
  position: relative; color: var(--navy); width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center; font-size: 18px;
}
.nav-cart:hover { color: var(--navy); }
.cart-count {
  position: absolute; top: 2px; right: 0; background: var(--red); color: #fff;
  font-size: 10px; font-weight: 800; min-width: 16px; height: 16px; border-radius: 99px;
  display: flex; align-items: center; justify-content: center; padding: 0 4px;
}
.site-flash {
  position: sticky; top: 72px; z-index: 35; text-align: center; padding: 10px 16px;
  font-size: 14px; font-weight: 600;
}
.site-flash.ok { background: #e8f6ec; color: #1e7e34; }
.site-flash.err { background: #fdecea; color: #b42318; }
.btn-wide { min-width: 220px; }
.btn-block { width: 100%; }
.badge { display: inline-block; font-size: 10px; font-weight: 800; letter-spacing: .06em; padding: 3px 8px; border-radius: 3px; }
.badge-open { background: var(--green); color: #fff; }
.badge-soon { background: var(--orange); color: #fff; }
.badge-tag { background: #e8f6ec; color: #1e7e34; font-size: 11px; border-radius: 99px; padding: 3px 10px; letter-spacing: 0; }

.utility-bar { background: var(--navy); color: #fff; font-size: 13px; }
.utility-bar .container { display: flex; justify-content: space-between; align-items: center; min-height: 36px; gap: 16px; }
.utility-left, .utility-right { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.utility-bar a { color: #fff; }
.utility-bar i { margin-right: 6px; opacity: .9; }
.utility-right a + a { border-left: 1px solid rgba(255,255,255,.22); padding-left: 18px; }
.navbar { background: #fff; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 40; }
.navbar .container { display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-height: 72px; gap: 12px; }
.logo { display: flex; align-items: center; min-width: 0; }
.logo img { height: 52px; width: auto; max-width: min(260px, 46vw); display: block; }
.nav-links { display: flex; justify-content: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.nav-links > li { position: relative; }
.nav-links > li > a { display: flex; align-items: center; gap: 5px; padding: 12px 10px; color: var(--navy); font-size: 13.5px; font-weight: 600; }
.nav-links > li > a i { font-size: 10px; opacity: .7; }
.nav-links > li.active > a, .nav-links > li > a:hover { color: var(--navy); box-shadow: inset 0 -2px 0 var(--navy); }
.dropdown { display: none; position: absolute; top: 100%; left: 0; min-width: 230px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); padding: 8px 0; border-radius: 8px; }
.nav-links > li:hover .dropdown { display: block; }
.dropdown a { display: block; padding: 8px 14px; color: var(--text); font-size: 13px; }
.dropdown a:hover { background: var(--gray); color: var(--navy); }
.nav-toggle { display: none; background: none; border: 0; font-size: 20px; color: var(--navy); }
.nav-backdrop, .portal-backdrop { display: none; }
.nav-toolbar { display: contents; }
.nav-submit-mobile { display: none; }
.util-short, .cta-short, .lang-code { display: none; }

.hero { background: linear-gradient(180deg, #f6f8fb 0%, #eef2f7 100%); padding: 42px 0 72px; }
.hero-compact { padding-bottom: 28px; }
.hero-calls { padding-top: 28px; padding-bottom: 28px; }
.hero-calls .filter-bar { margin: 8px 0 0; position: relative; z-index: 3; }
.hero-calls .hero-art { min-height: 170px; }
.hero-calls .hero-book { width: 132px; height: 178px; padding: 16px 12px; font-size: 13px; }
.hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center; }
.crumbs { font-size: 13px; color: var(--muted); margin-bottom: 12px; }
.crumbs a { color: var(--muted); }
.hero h1 { font-size: 42px; margin: 0 0 12px; }
.hero-points { display: flex; flex-wrap: wrap; gap: 12px 22px; margin: 20px 0 24px; padding: 0; list-style: none; }
.hero-points li { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; color: var(--navy); }
.check { width: 18px; height: 18px; border-radius: 50%; background: #2f6fed; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; }
.hero-chapter { background: linear-gradient(180deg, #f3f8ff 0%, #eef4fb 55%, #f7f9fc 100%); padding: 36px 0 56px; }
.hero-chapter h1 { font-size: 40px; margin: 0 0 14px; }
.hero-chapter .lede { max-width: 560px; margin-bottom: 20px; }
.hero-checks {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; margin: 0 0 24px; padding: 0; list-style: none;
}
.hero-checks li { display: flex; align-items: flex-start; gap: 8px; font-weight: 600; font-size: 14px; color: var(--navy); }
.hero-checks .check { margin-top: 2px; flex-shrink: 0; }
.feature-ribbon-wrap { margin-top: -28px; position: relative; z-index: 3; padding-bottom: 8px; }
.feature-ribbon {
  background: #fff; border-radius: 14px; box-shadow: 0 12px 32px rgba(0, 33, 71, .1);
  display: grid; grid-template-columns: repeat(8, 1fr); padding: 18px 8px;
}
.feature-ribbon > div {
  text-align: center; padding: 4px 8px; border-right: 1px solid #e6ecf3;
}
.feature-ribbon > div:last-child { border-right: 0; }
.feature-ribbon i { display: block; font-size: 20px; color: var(--navy); margin-bottom: 8px; }
.feature-ribbon span { display: block; font-size: 12px; font-weight: 700; color: var(--navy); line-height: 1.3; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-art { position: relative; min-height: 280px; display: flex; align-items: flex-end; justify-content: center; padding: 20px 10px 0; }
.hero-book {
  width: 168px; height: 228px; background: linear-gradient(165deg, #163a73, #2a6fbf); color: #fff;
  border-radius: 3px 10px 10px 3px; padding: 22px 16px; position: relative; z-index: 2;
  box-shadow: 12px 10px 0 #d5dde8;
}
.hero-book small { opacity: .75; font-size: 10px; letter-spacing: .08em; }
.hero-book b { display: block; margin-top: 10px; font-size: 16px; line-height: 1.3; }
.stack { position: absolute; right: 18%; bottom: 18px; width: 118px; height: 18px; border-radius: 2px; }
.s1 { background: #1f4f8f; z-index: 1; transform: translateX(54px); }
.s2 { background: #c4483a; bottom: 38px; transform: translateX(62px); }
.s3 { background: #2f6a3a; bottom: 58px; transform: translateX(70px); }
.plant { position: absolute; right: 8%; bottom: 18px; width: 18px; height: 70px; background: #2f8f46; border-radius: 20px 20px 4px 4px; box-shadow: 10px 10px 0 #3aa85a; }

.stats-wrap { margin-top: -38px; position: relative; z-index: 2; }
.stats-bar {
  background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow);
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; padding: 18px 10px;
}
.stat { text-align: center; font-size: 12px; color: var(--muted); }
.stat i { color: var(--blue); display: block; margin-bottom: 6px; }
.stat b { display: block; color: var(--navy); font-size: 18px; }

.subject-grid, .card-grid { display: grid; gap: 16px; }
.subject-grid { grid-template-columns: repeat(5, 1fr); }
.subject-grid-home { grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 12px; }
.card-grid { grid-template-columns: repeat(3, 1fr); }
.subject-card, .call-card, .policy-card, .side-card, .book-tile {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
}
.subject-card {
  padding: 18px 8px; text-align: center; color: var(--navy); font-weight: 600; font-size: 12px;
  box-shadow: 0 4px 12px rgba(0, 33, 71, .04); display: flex; flex-direction: column; gap: 8px;
  align-items: center; justify-content: center; min-height: 112px; line-height: 1.25;
}
.subject-card i { font-size: 22px; color: var(--navy); }
.subject-card span { font-weight: 700; }
.subject-card small { font-size: 11px; font-weight: 600; color: var(--muted); }
.subject-card:hover { border-color: #b9c7dc; box-shadow: var(--shadow); transform: translateY(-1px); }
.subject-card.active {
  border-color: #2f7cf6; background: #f3f8ff; box-shadow: 0 8px 18px rgba(47, 124, 246, .12);
}
.subject-card.active i, .subject-card.active span { color: #0b5cab; }
.subject-card-all { background: #f3f8ff; border-color: #c5d8f5; color: var(--blue); }
.subject-card-all i, .subject-card-all span { color: var(--blue); }

.filter-bar {
  display: flex; flex-wrap: wrap; gap: 10px; background: #fff; border: 1px solid var(--line);
  padding: 12px; border-radius: 8px; margin-bottom: 22px; align-items: center; box-shadow: var(--shadow);
}
.search-wrap { flex: 1; min-width: 240px; position: relative; }
.search-wrap i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--muted); }
.search-wrap input { width: 100%; padding-left: 36px; }
.search-wrap-end i { left: auto; right: 12px; }
.search-wrap-end input { padding-left: 12px; padding-right: 36px; }
.filter-bar input, .filter-bar select, .form-control {
  border: 1px solid #d6dbe3; border-radius: 6px; padding: 10px 12px; font: inherit; background: #fff;
}
.filter-bar select { min-width: 150px; color: var(--navy); }
.view-toggle { display: flex; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; margin-left: auto; }
.view-toggle a, .view-toggle button {
  width: 38px; height: 38px; display: flex; align-items: center; justify-content: center;
  color: var(--navy); border: 0; background: #fff; cursor: pointer; font-size: 14px;
}
.view-toggle a.active, .view-toggle button.active { background: var(--navy); color: #fff; }
.calls-meta { font-size: 13px; color: var(--muted); margin: -10px 0 16px; }
.filter-bar-lg { padding: 14px; gap: 12px; }
.filter-bar-lg input, .filter-bar-lg select { padding: 14px 16px; font-size: 15px; min-height: 52px; }
.filter-bar-lg .search-wrap { min-width: 280px; }
.filter-bar-lg .search-wrap-end input { padding-right: 46px; }
.filter-bar-lg .search-wrap-end i { right: 16px; font-size: 16px; }
.filter-bar-lg select { min-width: 168px; }
.filter-bar-lg .view-toggle a, .filter-bar-lg .view-toggle button { width: 52px; height: 52px; font-size: 16px; }
.calls-empty { grid-column: 1 / -1; text-align: center; padding: 28px 16px; color: var(--muted); background: #fff; border: 1px dashed var(--line); border-radius: var(--radius); }

.call-card { padding: 16px; display: grid; grid-template-columns: 112px 1fr; gap: 16px; box-shadow: var(--shadow); align-items: start; }
.call-card img { width: 112px; height: 162px; object-fit: cover; object-position: top center; background: #eef1f6; border-radius: 3px; }
.call-meta { font-size: 13px; color: var(--muted); margin: 4px 0; }
.call-meta i { width: 14px; }
.call-card h3 { font-size: 15px; margin: 8px 0 6px; }
.call-card h3 a { color: var(--navy); }
.card-actions { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.card-actions .btn { padding: 8px 12px; font-size: 13px; }
#home-open-calls .call-card > div { min-width: 0; display: flex; flex-direction: column; }
#home-open-calls .call-card .card-actions {
  display: flex; flex-wrap: nowrap; gap: 8px; margin-top: auto; padding-top: 10px;
}
#home-open-calls .call-card .card-actions .btn {
  flex: 1; white-space: nowrap; padding: 8px 10px; font-size: 12px; min-width: 0;
}

.list-wrap { display: flex; flex-direction: column; gap: 12px; }
.list-row {
  display: grid; grid-template-columns: 82px 1.5fr .9fr .8fr .9fr auto; gap: 14px; align-items: center;
  border: 1px solid var(--line); border-radius: 10px; padding: 14px; background: #fff; box-shadow: var(--shadow);
}
.list-row img { width: 82px; height: 118px; object-fit: cover; object-position: top center; border-radius: 3px; }
.list-title h3 { font-size: 15px; margin: 6px 0 0; }
.list-title h3 a { color: var(--navy); }
.list-col span { display: block; font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.list-col b { color: var(--navy); }

.why-row { display: grid; grid-template-columns: repeat(7, 1fr); gap: 18px 12px; text-align: center; font-size: 13px; font-weight: 600; color: var(--navy); line-height: 1.3; }
.why-row i { display: block; font-size: 26px; color: var(--navy); margin-bottom: 10px; }
.why-row span { display: block; }
.steps { display: flex; align-items: flex-start; justify-content: space-between; gap: 4px; }
.step { text-align: center; font-size: 12.5px; font-weight: 600; color: var(--navy); flex: 1; min-width: 0; line-height: 1.3; }
.step-num {
  width: 52px; height: 52px; margin: 0 auto 8px; border: 1.5px solid var(--navy); border-radius: 50%;
  display: flex; align-items: center; justify-content: center; color: var(--navy); background: #fff; font-size: 18px;
}
.step small { display: block; color: var(--navy); font-size: 11px; font-weight: 700; margin-bottom: 2px; }
.step-arrow { color: #b7c3d4; padding-top: 16px; font-size: 22px; font-weight: 300; flex: 0 0 auto; }
.cta-banner {
  background: var(--navy); color: #fff; border-radius: 4px; padding: 22px 28px;
  display: grid; grid-template-columns: 88px 1fr auto; align-items: center; gap: 24px; overflow: hidden;
}
.cta-banner h2 { color: #fff; font-size: 24px; margin: 0 0 6px; }
.cta-banner p { color: rgba(255,255,255,.88); margin: 0; font-size: 14px; }
.cta-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cta-art { position: relative; width: 88px; height: 64px; }
.cta-book { position: absolute; left: 8px; height: 14px; border-radius: 1px; background: #fff; }
.cta-book-1 { bottom: 4px; width: 62px; }
.cta-book-2 { bottom: 20px; width: 54px; left: 12px; }
.cta-book-3 { bottom: 36px; width: 46px; left: 16px; }
.cta-plant {
  position: absolute; left: 32px; bottom: 50px; width: 12px; height: 22px; background: #3aaa4f;
  border-radius: 10px 10px 2px 2px; box-shadow: 8px 6px 0 #4cbc60;
}
.help-strip { background: #eef2f6; }
.help-strip .container { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding: 22px 0; }
.help-strip .container > div { display: flex; gap: 12px; align-items: center; }
.help-icon {
  width: 42px; height: 42px; border-radius: 50%; background: #dce7f4; color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.help-strip strong { display: block; color: var(--navy); font-size: 14px; }
.help-strip span, .help-strip a { display: block; color: var(--muted); font-size: 13px; }
.info-strip { background: #eef2f6; }
.info-strip .container { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding: 22px 0; }
.info-strip .container > div { display: flex; gap: 12px; align-items: flex-start; }
.info-strip i { color: var(--navy); margin-top: 4px; }
.info-strip span, .info-strip a { display: block; color: var(--muted); font-size: 13px; }
.trust-strip { background: #eef2f6; }
.trust-strip .container { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; padding: 18px 0; text-align: center; font-size: 13px; font-weight: 600; color: var(--navy); }
.trust-strip i { display: block; margin-bottom: 6px; color: var(--blue); }
.center-link { text-align: center; margin-top: 28px; }

.detail-page { padding: 22px 0 40px; }
.detail-hero { display: grid; grid-template-columns: 190px 1fr; gap: 28px; align-items: start; margin: 18px 0 8px; }
.detail-cover { width: 190px; height: 260px; object-fit: cover; box-shadow: var(--shadow); background: #eef1f6; }
.meta-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 16px 0; }
.meta-row div { display: grid; gap: 2px; }
.meta-row i { color: var(--blue); }
.meta-row span { font-size: 12px; color: var(--muted); }
.page-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; align-items: start; }
.tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--line); margin: 28px 0 18px; flex-wrap: wrap; }
.tab-btn { background: none; border: 0; padding: 11px 14px; font-weight: 600; color: var(--muted); cursor: pointer; font-family: inherit; }
.tab-btn i { margin-right: 6px; }
.tab-btn.active { color: var(--navy); box-shadow: inset 0 -2px 0 var(--navy); }
.tab-panel { display: none; }
.tab-panel.active { display: block; }
.spec-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 22px 0 8px; }
.spec-card, .highlights div {
  border: 1px solid var(--line); border-radius: 10px; padding: 18px 14px; background: #f4f7fb; text-align: center;
}
.spec-card {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; min-height: 118px;
}
.spec-card i, .highlights i { display: block; color: var(--blue); font-size: 22px; margin: 0; }
.spec-card span { display: block; font-size: 13px; color: var(--muted); font-weight: 500; line-height: 1.3; }
.spec-card b { display: block; font-size: 15px; color: var(--navy); font-weight: 700; line-height: 1.35; }
.cta-contribute { grid-template-columns: 92px minmax(0, 1fr) auto; gap: 22px 28px; border-radius: 8px; padding: 20px 26px; }
.cta-cover img {
  width: 78px; height: 108px; object-fit: cover; object-position: top center;
  border-radius: 2px 7px 7px 2px; box-shadow: 10px 8px 0 rgba(0, 0, 0, .18); background: #123;
}
.cta-contribute .cta-copy { min-width: 0; }
.cta-contribute .btn-red { white-space: nowrap; padding: 12px 18px; font-weight: 700; }
.scope-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; list-style: none; padding: 0; }
.scope-list li::before { content: "✓ "; color: var(--blue); font-weight: 800; }
.highlights { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 18px 0; font-size: 13px; }
.highlights i { margin-bottom: 6px; }
.block-title { margin: 28px 0 14px; }
.policy-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 24px; }
.policy-card, .side-card { padding: 18px; margin-bottom: 16px; }
.deadline { color: var(--red); font-weight: 700; }
.days-left { color: var(--red); font-size: 12px; font-weight: 600; }
.date-list, .tick-list { list-style: none; margin: 0; padding: 0; }
.date-list li, .fee-row { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.tick-list li { padding: 6px 0 6px 18px; position: relative; }
.tick-list li::before { content: "✓"; position: absolute; left: 0; color: var(--green); font-weight: 800; }
.share-row { display: flex; gap: 8px; }
.share-row a { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--navy); }
.editor-card { display: flex; gap: 14px; align-items: center; margin-bottom: 14px; }
.editor-card img { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; }
.faq-box { border: 1px solid var(--line); border-radius: 8px; padding: 12px 14px; margin-bottom: 8px; background: #fff; }
.faq-box summary { font-weight: 600; cursor: pointer; color: var(--navy); }
.pager { display: flex; justify-content: space-between; align-items: center; margin-top: 22px; flex-wrap: wrap; gap: 10px; color: var(--muted); }
.pager-links a, .pager-links span { display: inline-block; border: 1px solid var(--line); min-width: 34px; text-align: center; padding: 6px 8px; border-radius: 4px; color: var(--navy); margin-left: 4px; }
.pager .current { background: var(--navy); color: #fff; border-color: var(--navy); }

.footer { background: var(--navy); color: #c9d4e3; padding: 42px 0 0; }
.footer h4 { color: #fff; font-size: 14px; margin-bottom: 12px; }
.footer a { color: #c9d4e3; }
.footer a:hover { color: #fff; }
.footer-logo { height: 52px; width: auto; max-width: min(240px, 100%); display: block; margin-bottom: 14px; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr) 1.3fr; gap: 18px; padding-bottom: 28px; }
.footer ul { list-style: none; margin: 0; padding: 0; font-size: 13px; }
.footer li { margin: 0 0 8px; }
.footer-bottom-bar { background: #00152d; }
.footer-bottom { padding: 12px 0; display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 12px; flex-wrap: wrap; }
.footer-bottom a { margin-left: 14px; }
.footer-bottom-right { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.footer .lang-switcher { color: #fff; }
.footer .lang-switcher-btn { color: #fff; font-size: 13px; font-weight: 600; }
.footer .lang-switcher-menu { top: auto; bottom: calc(100% + 8px); right: 0; }
.socials { display: flex; gap: 8px; margin-top: 12px; }
.socials a { width: 32px; height: 32px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; display: flex; align-items: center; justify-content: center; }

.auth-box, .cms-wrap, .dash-card { max-width: 520px; margin: 40px auto; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 28px; box-shadow: var(--shadow); }
.cms-wrap { max-width: 900px; }
.cms-body p, .cms-body li { color: var(--text); }
.form-group { margin-bottom: 14px; }
.form-group label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.form-group label .req { color: #c0392b; font-weight: 700; }
.phone-intl { position: relative; display: grid; grid-template-columns: 112px 1fr; gap: 8px; }
.phone-intl-btn {
  display: flex; align-items: center; gap: 6px; width: 100%;
  border: 1px solid #d5dde6; background: #fff; border-radius: 8px;
  padding: 0 10px; height: 44px; cursor: pointer; font-weight: 700; color: #0B2447;
}
.phone-intl-btn img { width: 20px; height: 15px; object-fit: cover; border-radius: 2px; }
.phone-intl-btn i { margin-left: auto; font-size: 10px; color: #64748b; }
.phone-intl-menu {
  position: absolute; left: 0; top: calc(100% + 4px); z-index: 20;
  width: min(320px, 100%); background: #fff; border: 1px solid #d5dde6;
  border-radius: 10px; box-shadow: 0 12px 30px rgba(11,36,71,.14); padding: 8px;
}
.phone-intl-search { width: 100%; border: 1px solid #d5dde6; border-radius: 8px; padding: 8px 10px; margin-bottom: 6px; }
.phone-intl-list { max-height: 220px; overflow: auto; }
.phone-intl-list button {
  display: flex; align-items: center; gap: 8px; width: 100%;
  border: 0; background: none; text-align: left; padding: 8px; border-radius: 6px; cursor: pointer;
}
.phone-intl-list button:hover, .phone-intl-list button.active { background: #eef4fb; }
.phone-intl-list img { width: 20px; height: 15px; object-fit: cover; border-radius: 2px; }
.phone-intl-list span { flex: 1; color: #0B2447; }
.phone-intl-list b { color: #475569; font-size: 12px; }
.form-wait, .form-ok {
  position: fixed; inset: 0; z-index: 80;
  background: rgba(11, 36, 71, .55);
  display: flex; align-items: center; justify-content: center; padding: 20px;
}
.form-wait[hidden] { display: none; }
.form-wait-box, .form-ok-box {
  width: min(420px, 100%); background: #fff; border-radius: 16px;
  padding: 28px 24px; text-align: center; box-shadow: 0 20px 50px rgba(0,0,0,.22);
}
.form-wait-spin {
  display: inline-block; width: 42px; height: 42px; margin-bottom: 12px;
  border: 3px solid #dbe4f0; border-top-color: #0B2447; border-radius: 50%;
  animation: form-spin .8s linear infinite;
}
@keyframes form-spin { to { transform: rotate(360deg); } }
.form-wait-box p, .form-ok-box h3 { margin: 0 0 6px; color: #0B2447; font-size: 20px; }
.form-wait-box small, .form-ok-box p { color: #475569; }
.form-ok-box i { font-size: 42px; color: #16a34a; margin-bottom: 10px; }
.form-ok-box .btn { margin-top: 16px; min-width: 120px; }
.alert { padding: 10px 12px; border-radius: 6px; margin-bottom: 14px; }
.alert-ok { background: #e8f6ec; color: #1e7e34; }
.alert-err { background: #fdecea; color: #a71d2a; }
.account-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.book-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.book-tile { overflow: hidden; }
.book-tile img { width: 100%; height: 220px; object-fit: cover; background: #eef1f6; }
.book-tile div { padding: 12px; }
.home-services { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }

@media (max-width: 1100px) {
  .hero-grid, .page-grid, .detail-hero { grid-template-columns: 1fr; }
  .subject-grid { grid-template-columns: repeat(3, 1fr); }
  .subject-grid-home { grid-template-columns: repeat(5, 1fr); }
  .card-grid, .book-grid, .home-services { grid-template-columns: repeat(2, 1fr); }
  .why-row, .stats-bar, .footer-grid, .spec-grid, .highlights, .meta-row, .info-strip .container, .help-strip .container, .trust-strip .container { grid-template-columns: repeat(2, 1fr); }
  .cta-banner { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .steps { flex-wrap: wrap; justify-content: center; }
  .list-row { grid-template-columns: 70px 1fr; }
  .navbar { position: sticky; }
  .navbar .container {
    display: flex;
    align-items: center;
    min-height: 58px;
  }
  .logo { min-width: 0; }
  .logo img { height: 42px; width: auto; max-width: min(200px, 52vw); }
  .nav-toolbar {
    display: flex !important;
    position: fixed;
    top: 6px;
    right: 10px;
    z-index: 80;
    align-items: center;
    gap: 2px;
  }
  .nav-actions .btn-cta { display: none; }
  .nav-cart { color: #fff; }
  .nav-submit-mobile { display: block; padding: 10px 0 14px; }
  .nav-submit-mobile .btn { width: 100%; }
  .navbar .nav-toggle {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 38px; height: 38px; border-radius: 8px;
    background: rgba(255,255,255,.14); color: #fff;
  }
  .nav-backdrop {
    display: block;
    position: fixed; inset: 0; z-index: 70;
    background: rgba(8, 18, 32, .48);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .28s ease, visibility .28s ease;
  }
  body.nav-open .nav-backdrop {
    opacity: 1; visibility: visible; pointer-events: auto;
  }
  .nav-links {
    display: flex; position: fixed; top: 0; right: 0; bottom: 0;
    width: min(320px, 88vw); margin: 0; padding: 22px 18px 28px;
    background: #fff; flex-direction: column; align-items: stretch; justify-content: flex-start;
    overflow: auto; z-index: 75; gap: 0;
    transform: translateX(104%);
    transition: transform .3s cubic-bezier(.22, .61, .36, 1);
    box-shadow: -18px 0 40px rgba(0, 33, 71, .16);
  }
  .nav-links::before {
    content: "Menu";
    display: block; font-size: 13px; font-weight: 800; letter-spacing: .08em;
    text-transform: uppercase; color: #8a94a3; padding: 4px 4px 14px;
  }
  .nav-links.open { display: flex; transform: translateX(0); }
  .nav-links > li > a { padding: 12px 8px; font-size: 15px; border-radius: 8px; }
  .nav-links > li.active > a, .nav-links > li > a:hover { box-shadow: none; background: #f4f7fb; }
  .nav-links > li:hover .dropdown, .dropdown {
    position: static; display: block; box-shadow: none; border: 0; padding: 0 0 8px 10px;
  }
  .dropdown a { padding: 8px 10px; border-radius: 6px; color: #4b5563; }
  body.nav-open { overflow: hidden; }
}
@media (max-width: 640px) {
  .hero h1 { font-size: 28px; line-height: 1.28; }
  .subject-grid, .card-grid, .book-grid, .home-services, .policy-row, .scope-list { grid-template-columns: 1fr; }
  .subject-grid-home { grid-template-columns: repeat(2, 1fr); }
  .call-card { grid-template-columns: 1fr; }
  .hero-art, .cta-art { display: none; }
  .why-row { grid-template-columns: 1fr 1fr; }
}

.btn-outline-navy { border-color: var(--navy); color: var(--navy); background: #fff; }
.btn-outline-navy:hover { background: var(--navy); color: #fff; }
.btn-green { background: var(--green); color: #fff; }
.btn-green:hover { background: #268a3f; color: #fff; }
.page-home .info-strip { display: none; }
.page-about .info-strip,
.page-contact .info-strip,
.page-chapters:has(.cfc-hero) .info-strip,
.page-resources:has(.legal-hero) .info-strip,
.page-resources:has(.rf-page) .info-strip,
.page-books:has(.svc-hero) .info-strip { display: none; }

.hero-home { background: linear-gradient(180deg, #f7f9fc 0%, #eef3f8 100%); padding: 48px 0 56px; }
.hero-home h1 { font-size: 44px; letter-spacing: -.02em; margin: 0 0 16px; }
.hero-services { color: var(--navy); font-weight: 700; font-size: 14px; margin: 0 0 14px; }
.hero-home .lede { max-width: 540px; margin-bottom: 26px; }
.hero-visual { display: flex; justify-content: center; }
.hero-visual img {
  width: min(100%, 460px); height: auto; border-radius: 8px;
  box-shadow: 0 18px 40px rgba(0, 33, 71, .16);
}
.trust-features { background: #fff; padding: 28px 0 8px; }
.trust-features-grid {
  display: grid; grid-template-columns: repeat(8, 1fr); gap: 12px; text-align: center;
}
.trust-features-grid i { display: block; font-size: 22px; color: var(--navy); margin-bottom: 8px; }
.trust-features-grid span { display: block; font-size: 12px; font-weight: 600; color: var(--navy); line-height: 1.3; }
.stats-band { background: var(--navy); color: #fff; margin-top: 28px; }
.stats-band-row {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; padding: 26px 0;
}
.stats-band-row b { display: block; font-size: 22px; color: #fff; }
.stats-band-row span { display: block; font-size: 12px; color: rgba(255,255,255,.78); margin-top: 4px; }
.stats-since { border-left: 1px solid rgba(255,255,255,.2); padding-left: 18px; }
.publish-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.publish-card {
  background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 22px 20px 20px;
  color: var(--text); box-shadow: 0 8px 22px rgba(0, 33, 71, .05); min-height: 220px;
  display: flex; flex-direction: column;
}
.publish-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); color: var(--text); }
.publish-card h3 { font-size: 18px; margin: 0 0 8px; }
.publish-card p { color: var(--muted); font-size: 14px; margin: 0 0 16px; flex: 1; }
.pc-icon {
  width: 44px; height: 44px; border-radius: 10px; display: inline-flex; align-items: center;
  justify-content: center; font-size: 18px; margin-bottom: 14px; color: #fff;
}
.pc-blue .pc-icon { background: #1d6fd8; }
.pc-green .pc-icon { background: var(--green); }
.pc-purple .pc-icon { background: #6f42c1; }
.pc-orange .pc-icon { background: var(--orange); }
.pc-link { color: var(--navy); font-weight: 700; font-size: 13px; }
.pc-green .pc-link { color: var(--green); }
.pc-purple .pc-link { color: #6f42c1; }
.pc-orange .pc-link { color: #c56a12; }
.section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 22px; }
.section-head .section-title { margin: 0; }
.section-more { font-weight: 700; font-size: 14px; color: var(--blue); white-space: nowrap; }
.book-marquee { overflow: hidden; width: 100%; }
.book-marquee-track {
  display: flex; width: max-content;
  animation: book-marquee 80s linear infinite;
}
.book-marquee:hover .book-marquee-track,
.book-marquee:focus-within .book-marquee-track { animation-play-state: paused; }
.book-marquee-set { display: flex; gap: 22px; padding-right: 22px; }
.home-book { color: var(--navy); flex: 0 0 168px; width: 168px; }
.home-book img {
  width: 100%; height: 230px; object-fit: cover; object-position: top center;
  border-radius: 3px; box-shadow: 0 8px 18px rgba(0, 33, 71, .12); background: #eef1f6; margin-bottom: 10px;
}
.home-book b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13px; line-height: 1.35; min-height: 2.7em; }
.home-book span { display: block; color: var(--muted); font-size: 12px; margin-top: 4px; }
@keyframes book-marquee {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  .book-marquee-track { animation: none; transform: none; }
}
.people-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.block-heading { font-size: 20px; margin-bottom: 16px; }
.people-list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.person { display: flex; gap: 10px; align-items: center; min-width: 0; }
.person strong, .quote-author strong { display: block; font-size: 13px; color: var(--navy); }
.person small, .quote-author small {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  color: var(--muted); font-size: 11px; line-height: 1.3;
}
.avatar {
  width: 52px; height: 52px; border-radius: 50%; background: #dbe7f5; color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center; font-weight: 800; flex-shrink: 0; font-size: 14px;
}
.avatar.sm { width: 40px; height: 40px; font-size: 12px; }
.avatar-img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; background: #dbe7f5; flex-shrink: 0; }
.author-quote {
  margin: 18px 0 0; padding: 14px 16px; background: #f4f7fb; border-left: 3px solid var(--blue);
  color: var(--muted); font-size: 13px; font-style: italic;
}
.how-works { margin-top: 48px; }
.how-works .block-heading { text-align: center; }
.mini-steps { display: flex; align-items: flex-start; justify-content: space-between; gap: 0; }
.mini-step { flex: 1; text-align: center; padding: 8px 6px 0; min-width: 0; }
.mini-num { display: block; font-size: 12px; font-weight: 800; color: var(--navy); margin-bottom: 8px; }
.mini-icon {
  width: 52px; height: 52px; margin: 0 auto 10px; border: 1.5px solid var(--navy); border-radius: 50%;
  display: flex; align-items: center; justify-content: center; color: var(--navy); background: #fff; font-size: 18px;
}
.mini-step b { display: block; font-size: 13px; color: var(--navy); font-weight: 700; }
.mini-line {
  flex: 0 0 28px; height: 1px; background: #c5d0de; margin-top: 48px;
}
.quote-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.quote-card {
  background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 22px 20px;
  box-shadow: 0 8px 22px rgba(0, 33, 71, .05);
}
.stars { color: #f5b301; letter-spacing: 2px; margin-bottom: 10px; }
.quote-card p { font-size: 14px; color: var(--text); margin: 0 0 16px; min-height: 4.6em; }
.quote-author { display: flex; gap: 10px; align-items: center; }
.journals-head {
  display: flex; align-items: center; gap: 16px; margin-bottom: 28px;
}
.journals-head h2 {
  margin: 0; font-size: 20px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
}
.journals-rule { flex: 1; height: 1px; background: #8aa3c4; }
.journals-head a { color: var(--blue); font-weight: 600; font-size: 14px; white-space: nowrap; }
.journal-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.journal-card {
  border: 1px solid #e7edf4; border-radius: 12px; padding: 28px 16px 22px; text-align: center;
  background: #fff; color: var(--navy); min-height: 156px; display: flex; flex-direction: column;
  justify-content: center; gap: 10px; box-shadow: 0 8px 20px rgba(0, 33, 71, .06);
}
.journal-card:hover { border-color: #c5d4ea; color: var(--navy); transform: translateY(-2px); }
.journal-card b { font-size: 28px; letter-spacing: .04em; font-weight: 800; line-height: 1.1; }
.journal-card span { font-size: 13px; color: #5b6778; line-height: 1.4; font-weight: 500; }
.tone-blue b { color: #5b9bd5; }
.tone-teal b { color: #2aa3b0; }
.tone-green b { color: #3cb54a; }
.tone-magenta b { color: #c44bb8; }
.tone-royal b { color: #2f6fed; }
.tone-navy b { color: #0b3a75; }
.section-cta { padding-top: 20px; }
.home-cta {
  background: var(--navy); color: #fff; border-radius: 8px; padding: 28px 32px;
  display: flex; justify-content: space-between; align-items: center; gap: 20px;
}
.home-cta h2 { color: #fff; margin: 0 0 6px; font-size: 26px; }
.home-cta p { margin: 0; color: rgba(255,255,255,.85); }
.cfc-banner {
  margin-top: 14px; background: #eef2f4; border-radius: 8px; padding: 18px 22px;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.cfc-copy { display: flex; gap: 14px; align-items: center; }
.cfc-icon {
  width: 44px; height: 44px; border-radius: 50%; background: #d9f3e1; color: var(--green);
  display: inline-flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0;
}
.cfc-banner strong { display: block; color: var(--navy); }
.cfc-banner p { margin: 2px 0 0; color: var(--muted); font-size: 13px; }

.offer-section { padding-top: 48px; }
.block-kicker { font-size: 18px; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 18px; }
.block-kicker.center { text-align: center; }
.offer-top { display: grid; grid-template-columns: 1.15fr .95fr; gap: 36px; margin-bottom: 36px; align-items: start; }
.get-split { display: grid; grid-template-columns: 1fr .9fr; gap: 18px; align-items: center; }
.get-list { list-style: none; margin: 0; padding: 0; }
.get-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--navy); font-weight: 600; margin: 0 0 10px; }
.get-list.compact li { font-weight: 500; font-size: 13.5px; }
.get-visual { width: 100%; border-radius: 8px; }
.offer-note { font-size: 12px; color: var(--muted); margin: 12px 0 0; }
.pkg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pkg-card {
  border: 1px solid var(--line); border-radius: 12px; padding: 18px 16px 16px; background: #fff; text-align: center;
}
.pkg-icon { font-size: 26px; color: var(--blue); margin-bottom: 8px; }
.pkg-card h3 { font-size: 16px; margin: 0 0 10px; }
.pkg-price { font-size: 22px; font-weight: 800; color: var(--navy); margin-bottom: 12px; }
.pkg-price small { display: block; font-size: 12px; font-weight: 600; color: var(--muted); }
.pkg-price-navy { background: var(--navy); color: #fff; border-radius: 6px; padding: 10px 8px; }
.pkg-price-navy small { color: rgba(255,255,255,.8); }
.pkg-card ul { list-style: none; margin: 0 0 16px; padding: 0; text-align: left; }
.pkg-card li { font-size: 13px; color: var(--text); padding: 5px 0 5px 14px; position: relative; }
.pkg-card li::before { content: "•"; position: absolute; left: 0; color: var(--navy); }
.pkg-card .btn { width: 100%; }
.process-audience { display: flex; flex-direction: column; gap: 22px; }
.process-board {
  background: linear-gradient(180deg, #f5f8fc 0%, #eef3f9 100%);
  border: 1px solid #e3ebf4; border-radius: 16px; padding: 28px 22px 24px;
}
.process-lede { text-align: center; color: var(--muted); margin: -8px 0 22px; font-size: 14px; }
.process-track {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; position: relative;
}
.process-track::before {
  content: ""; position: absolute; top: 22px; left: 7%; right: 7%; height: 2px;
  background: linear-gradient(90deg, #c5d8ef, #8fb4dc 50%, #c5d8ef); z-index: 0;
}
.process-track li {
  position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center;
  text-align: center; gap: 8px; min-width: 0;
}
.process-num {
  width: 44px; height: 44px; border-radius: 50%; background: #fff; border: 2px solid #cfe0f4;
  color: var(--navy); font-size: 13px; font-weight: 800; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 33, 71, .08);
}
.process-track i { color: var(--blue); font-size: 14px; }
.process-track strong {
  font-size: 12.5px; font-weight: 700; color: var(--navy); line-height: 1.35; max-width: 9.5em;
}
.audience-split { display: grid; grid-template-columns: .92fr 1.18fr; gap: 18px; align-items: stretch; }
.info-card {
  background: #fff; border: 1px solid #e3ebf4; border-radius: 16px; padding: 22px 20px;
  box-shadow: 0 8px 22px rgba(0, 33, 71, .05);
}
.info-card .block-kicker { margin-bottom: 16px; }
.who-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.who-tile {
  display: flex; align-items: center; gap: 10px; padding: 10px 12px;
  background: #f6f9fc; border-radius: 10px; min-width: 0;
}
.who-ico {
  width: 36px; height: 36px; border-radius: 9px; background: #fff; color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
  border: 1px solid #e3ebf4;
}
.who-tile strong { font-size: 13.5px; color: var(--navy); line-height: 1.3; }
.why-panel { display: grid; grid-template-columns: 1fr 180px; gap: 0; padding: 0; overflow: hidden; }
.why-copy { padding: 22px 8px 22px 20px; }
.why-list { list-style: none; margin: 0; padding: 0; }
.why-list li {
  display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; color: var(--navy);
  font-weight: 500; margin: 0 0 11px; line-height: 1.4;
}
.why-list li:last-child { margin-bottom: 0; }
.why-photo { width: 100%; height: 100%; min-height: 220px; object-fit: cover; }
.faq-acc { margin-bottom: 14px; border-top: 1px solid var(--line); }
.faq-acc details { border-bottom: 1px solid var(--line); }
.faq-acc summary {
  list-style: none; cursor: pointer; padding: 12px 28px 12px 0; font-weight: 600; color: var(--navy);
  font-size: 13.5px; position: relative;
}
.faq-acc summary::-webkit-details-marker { display: none; }
.faq-acc summary::after { content: "+"; position: absolute; right: 0; top: 10px; color: var(--blue); font-size: 18px; font-weight: 500; }
.faq-acc details[open] summary::after { content: "–"; }
.faq-acc p { margin: 0 0 12px; font-size: 13px; color: var(--muted); }
.faq-bottom { max-width: 860px; }
.faq-acc-wide summary { font-size: 15px; padding: 14px 32px 14px 0; }
.promo-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .95fr); gap: 18px; align-items: stretch; }
.promo-books { min-width: 0; }
.promo-books-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.promo-books-head .block-kicker { margin: 0; }
.book-slider { position: relative; }
.book-slider-track {
  display: flex; gap: 16px; overflow-x: auto; scroll-behavior: smooth; padding: 4px 36px 8px;
  scrollbar-width: none;
}
.book-slider-track::-webkit-scrollbar { display: none; }
.book-slider .home-book { flex: 0 0 148px; width: 148px; }
.book-slider .home-book img { height: 200px; }
.slider-btn {
  position: absolute; top: 78px; z-index: 2; width: 34px; height: 34px; border: 0; border-radius: 50%;
  background: #dbeeff; color: var(--navy); cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.slider-prev { left: 0; }
.slider-next { right: 0; }
.promo-cta {
  background: linear-gradient(135deg, #002147 0%, #00366a 52%, #004a8f 100%);
  color: #fff; border-radius: 16px; padding: 26px 16px 18px 24px;
  display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(108px, .85fr);
  gap: 10px 12px; align-items: center; overflow: hidden; min-width: 0;
}
.promo-cta-copy { min-width: 0; }
.promo-cta h2 { color: #fff; font-size: clamp(18px, 1.7vw, 24px); margin: 0 0 10px; }
.promo-cta p { color: rgba(255,255,255,.9); font-size: 13.5px; margin: 0 0 18px; line-height: 1.5; }
.promo-cta .cta-actions { flex-direction: column; align-items: stretch; gap: 10px; }
.promo-cta .cta-actions .btn { width: 100%; border-radius: 8px; white-space: normal; text-align: center; }
.promo-cta-visual { align-self: end; display: flex; justify-content: flex-end; min-width: 0; }
.promo-cta img { width: 100%; max-width: 170px; height: auto; object-fit: contain; }
.promo-banner {
  grid-column: 1 / -1; background: var(--navy); color: #fff; border-radius: 12px; padding: 18px 22px;
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
}
.promo-idea { display: flex; align-items: center; gap: 14px; flex: 1; }
.promo-horn {
  width: 42px; height: 42px; border: 1.5px solid rgba(255,255,255,.7); border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.promo-idea strong, .promo-guide strong { display: block; color: #fff; }
.promo-idea p, .promo-guide span { margin: 2px 0 0; font-size: 13px; color: rgba(255,255,255,.82); }
.promo-guide {
  border-left: 1px solid rgba(255,255,255,.28); padding-left: 18px; min-width: 240px; color: #fff;
}

@media (max-width: 1100px) {
  .trust-features-grid, .publish-cards, .people-grid, .quote-grid, .journal-grid, .stats-band-row {
    grid-template-columns: repeat(2, 1fr);
  }
  .hero-home h1 { font-size: 34px; }
  .hero-chapter h1 { font-size: 32px; }
  .feature-ribbon { grid-template-columns: repeat(4, 1fr); }
  .feature-ribbon > div:nth-child(4) { border-right: 0; }
  .offer-top, .get-split, .pkg-grid, .audience-split, .why-panel { grid-template-columns: 1fr; }
  .process-track { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px 6px; }
  .process-track li { flex: 0 0 22%; }
  .process-track::before { display: none; }
  .why-copy { padding: 22px 20px 8px; }
  .why-photo { min-height: 200px; max-height: 240px; }
  .promo-layout { grid-template-columns: 1fr; }
  .promo-cta { grid-template-columns: minmax(0, 1.2fr) minmax(140px, .7fr); padding: 28px 22px 22px 28px; }
  .promo-cta img { max-width: 220px; }
  .promo-banner { flex-direction: column; align-items: flex-start; }
  .promo-guide { border-left: 0; padding-left: 0; border-top: 1px solid rgba(255,255,255,.28); padding-top: 14px; width: 100%; }
  .home-cta, .cfc-banner { flex-direction: column; text-align: center; }
  .stats-since { border-left: 0; padding-left: 0; }
  .journals-head { flex-wrap: wrap; }
  .journals-rule { min-width: 40px; }
  .why-get-grid, .chapter-tri, .chapter-bottom { grid-template-columns: 1fr; }
  .topic-banner { flex-wrap: wrap; }
  .ebook-hero-top, .ebook-catalog, .ebook-values-row { grid-template-columns: 1fr; }
  .ebook-hero-features { grid-template-columns: repeat(3, 1fr); }
  .ebook-search { grid-template-columns: 1fr; }
  .ebook-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ebook-sidebar { position: static; }
  .ebook-publish-cta { flex-wrap: wrap; }
  .author-promo { grid-template-columns: 1fr; text-align: center; }
  .author-promo-points { justify-content: center; }
}
@media (max-width: 640px) {
  .hero-home .hero-visual { display: block; margin-top: 22px; }
  .hero-home { padding: 28px 0 32px; }
  .hero-home h1 { font-size: 26px; line-height: 1.28; margin-bottom: 12px; }
  .hero-chapter h1 { font-size: 26px; }
  .hero-checks { grid-template-columns: 1fr; }
  .feature-ribbon { grid-template-columns: repeat(2, 1fr); }
  .feature-ribbon > div { border-right: 0; }
  .trust-features-grid, .publish-cards, .people-grid, .quote-grid, .journal-grid, .people-list {
    grid-template-columns: 1fr;
  }
  .mini-steps { flex-wrap: wrap; justify-content: center; }
  .mini-step { flex: 0 0 33.33%; }
  .mini-line { display: none; }
  .journal-grid { grid-template-columns: 1fr 1fr; }
  .process-track { display: grid; grid-template-columns: 1fr; gap: 0; }
  .process-track li {
    flex: none; flex-direction: row; text-align: left; gap: 12px;
    padding: 10px 0; border-bottom: 1px solid #e3ebf4;
  }
  .process-track li:last-child { border-bottom: 0; }
  .process-track strong { max-width: none; }
  .who-grid { grid-template-columns: 1fr; }
  .promo-books-head { flex-wrap: wrap; }
  .promo-cta { grid-template-columns: 1fr; padding: 22px 18px; }
  .promo-cta-visual { justify-content: center; }
  .promo-cta img { max-width: 150px; }
  .slider-btn { top: 70px; }
  .why-publish { grid-template-columns: 1fr; justify-items: center; }
  .got-grid { grid-template-columns: 1fr 1fr; }
  .fee-pair { grid-template-columns: 1fr; }
  .topic-banner { flex-direction: column; text-align: center; }
  .topic-banner .cta-actions { margin-left: 0; justify-content: center; }
  .page-chapters .subject-grid { grid-template-columns: 1fr 1fr; }
  .ebook-hero-visual { display: none; }
  .ebook-hero h1 { font-size: 28px; }
  .ebook-hero-features { grid-template-columns: 1fr 1fr; }
  .ebook-grid { grid-template-columns: 1fr 1fr; }
  .ebook-row { grid-template-columns: 1fr; }
  .ebook-publish-cta .cta-actions { margin-left: 0; }
  .featured-marquee-set .ebook-card { flex: 0 0 200px; width: 200px; }
  .featured-marquee-set .ebook-cover img { height: 210px; }
}
.checks-green .check { background: var(--green); }
.why-get-grid { display: grid; grid-template-columns: 1.15fr .95fr; gap: 36px; align-items: start; }
.why-publish { display: grid; grid-template-columns: 1fr 150px; gap: 18px; align-items: center; }
.why-round {
  width: 150px; height: 150px; border-radius: 50%; object-fit: cover;
  border: 5px solid #fff; box-shadow: 0 10px 24px rgba(0, 33, 71, .14);
}
.got-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.got-card {
  border: 1px solid #e3ebf4; border-radius: 12px; padding: 18px 10px 16px; text-align: center;
  background: #f8fbfe; min-height: 118px; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 8px;
}
.got-card i { color: var(--blue); font-size: 20px; }
.got-card span { font-size: 13px; font-weight: 700; color: var(--navy); line-height: 1.35; }
.chapter-tri, .chapter-bottom { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.guide-list, .who-compact, .date-list { list-style: none; margin: 0 0 18px; padding: 0; }
.guide-list li { position: relative; padding: 0 0 10px 16px; font-size: 14px; color: var(--navy); font-weight: 500; }
.guide-list li::before { content: "•"; position: absolute; left: 0; color: var(--blue); }
.fee-intro { font-size: 13.5px; color: var(--muted); margin: 0 0 14px; }
.fee-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fee-box {
  background: #f4f8fc; border: 1px solid #e3ebf4; border-radius: 12px; padding: 16px 12px; text-align: center;
}
.fee-box span { display: block; font-size: 12px; font-weight: 700; color: var(--muted); margin-bottom: 6px; }
.fee-box b { display: block; font-size: 22px; color: var(--navy); margin-bottom: 12px; }
.fee-box .btn { width: 100%; padding: 8px 10px; font-size: 13px; }
.date-list li {
  display: flex; justify-content: space-between; gap: 12px; align-items: center;
  padding: 11px 0; border-bottom: 1px solid #eef2f6; font-size: 13.5px;
}
.date-list li:last-child { border-bottom: 0; }
.date-list span { color: var(--navy); display: flex; align-items: center; gap: 8px; }
.date-list i { color: var(--blue); width: 16px; }
.date-list b { color: var(--navy); white-space: nowrap; }
.who-compact li {
  display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--navy);
  padding: 9px 0; border-bottom: 1px solid #eef2f6;
}
.who-compact li:last-child { border-bottom: 0; }
.who-compact i { width: 18px; color: var(--blue); }
.chapter-side-cta { min-height: 100%; }
.topic-banner {
  background: linear-gradient(135deg, #002147 0%, #00366a 55%, #004a8f 100%);
  color: #fff; border-radius: 16px; padding: 22px 26px;
  display: flex; align-items: center; gap: 22px;
}
.topic-banner img { width: 88px; flex-shrink: 0; }
.topic-banner h2 { color: #fff; margin: 0 0 6px; font-size: 22px; }
.topic-banner p { margin: 0; color: rgba(255,255,255,.88); }
.topic-banner .cta-actions { margin-left: auto; flex-shrink: 0; }
.page-chapters .section-title i { margin-right: 8px; font-size: 18px; }
.page-chapters .hero-chapter { padding-bottom: 72px; }
.section-head .section-title { justify-content: flex-start; text-align: left; }
.ebook-hero {
  background: linear-gradient(100deg, #00152d 0%, #002147 48%, #003a70 100%);
  color: #fff; padding: 42px 0 32px; position: relative; overflow: hidden;
}
.ebook-hero-top { display: grid; grid-template-columns: 1.35fr .75fr; gap: 24px; align-items: center; }
.ebook-hero h1 { color: #fff; font-size: 42px; margin: 0 0 10px; }
.ebook-hero .lede { color: rgba(255,255,255,.88); max-width: 560px; margin: 0; }
.crumbs-light, .crumbs-light a { color: rgba(255,255,255,.75); }
.ebook-hero-visual img {
  width: min(100%, 380px); margin-left: auto; border-radius: 12px;
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}
.ebook-search {
  display: grid; grid-template-columns: 1fr 220px auto; gap: 8px; align-items: center;
  background: #fff; border-radius: 12px; padding: 8px; margin: 22px 0 20px;
}
.ebook-search .search-wrap { margin: 0; min-width: 0; }
.ebook-search input, .ebook-search select {
  border: 1px solid #d6dbe3; border-radius: 8px; padding: 12px 14px; font: inherit; width: 100%;
}
.ebook-search .search-wrap input { padding-left: 38px; }
.ebook-hero-features {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; text-align: center;
}
.ebook-hero-features i { display: block; font-size: 18px; margin-bottom: 6px; }
.ebook-hero-features span { font-size: 13px; font-weight: 600; }
.ebook-subjects { padding-top: 36px; padding-bottom: 12px; }
.subject-chips {
  display: flex; gap: 10px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: thin;
}
.subject-chip {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid #d7e2ef; background: #fff; color: var(--navy); border-radius: 999px;
  padding: 8px 14px; font-size: 13px; font-weight: 700; white-space: nowrap;
}
.subject-chip small { color: var(--muted); font-weight: 600; }
.subject-chip:hover, .subject-chip.active { background: var(--navy); color: #fff; border-color: var(--navy); }
.subject-chip.active small, .subject-chip:hover small { color: rgba(255,255,255,.8); }
.ebook-slider .ebook-card { flex: 0 0 186px; width: 186px; }
.ebook-slider .slider-btn { top: 92px; }
.featured-ebooks { background: #f4f7fb; padding: 48px 0; }
.featured-lede { margin: 6px 0 0; color: var(--muted); font-size: 14px; }
.featured-marquee { overflow: hidden; width: 100%; }
.featured-marquee-track {
  display: flex; width: max-content;
  animation: featured-marquee 55s linear infinite;
}
.featured-marquee:hover .featured-marquee-track,
.featured-marquee:focus-within .featured-marquee-track { animation-play-state: paused; }
.featured-marquee-set { display: flex; gap: 18px; padding-right: 18px; }
.featured-marquee-set .ebook-card {
  flex: 0 0 236px; width: 236px; padding: 0 0 16px; text-align: left;
  align-items: stretch; overflow: hidden;
  box-shadow: 0 10px 28px rgba(0, 33, 71, .08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.featured-marquee-set .ebook-card:hover {
  transform: translateY(-4px); box-shadow: 0 16px 32px rgba(0, 33, 71, .14);
}
.featured-marquee-set .ebook-cover img { height: 248px; border-radius: 12px 12px 0 0; }
.featured-marquee-set .ebook-card h3,
.featured-marquee-set .ebook-meta,
.featured-marquee-set .ebook-year,
.featured-marquee-set .btn,
.featured-marquee-set .ebook-details { margin-left: 14px; margin-right: 14px; }
.featured-marquee-set .ebook-card h3 {
  margin-top: 12px; min-height: 0; font-size: 14.5px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.featured-marquee-set .ebook-meta {
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.featured-marquee-set .ebook-card .btn { width: calc(100% - 28px); }
@keyframes featured-marquee {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  .featured-marquee-track { animation: none; transform: none; }
}
.ebook-card {
  background: #fff; border: 1px solid #e3ebf4; border-radius: 12px; padding: 12px 12px 16px;
  text-align: center; box-shadow: 0 8px 20px rgba(0, 33, 71, .05); min-width: 0;
  display: flex; flex-direction: column; align-items: center;
}
.ebook-card h3 { font-size: 14px; margin: 10px 0 4px; line-height: 1.35; min-height: 36px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ebook-card h3 a { color: var(--navy); }
.ebook-meta, .ebook-year { margin: 0; font-size: 12.5px; color: var(--muted); }
.ebook-year { margin-bottom: 10px; }
.ebook-card .btn { width: 100%; margin-top: auto; }
.ebook-details { margin-top: 8px; font-size: 13px; font-weight: 700; }
.ebook-cover { position: relative; width: 100%; }
.ebook-cover img {
  width: 100%; height: 210px; object-fit: cover; object-position: top center;
  border-radius: 8px; background: #eef1f6;
}
.badge-free {
  position: absolute; top: 8px; left: 8px; background: var(--green); color: #fff;
  font-size: 10px; font-weight: 800; letter-spacing: .06em; padding: 3px 8px; border-radius: 4px;
}
.ebook-values { background: #f4f7fb; padding: 28px 0; }
.ebook-values-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ebook-values-row > div { display: flex; gap: 12px; align-items: flex-start; }
.ebook-values-row i {
  width: 40px; height: 40px; border-radius: 10px; background: #fff; color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
  border: 1px solid #e3ebf4;
}
.ebook-values-row strong { display: block; color: var(--navy); }
.ebook-values-row span { display: block; font-size: 13px; color: var(--muted); }
.ebook-catalog { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 24px; align-items: start; }
.ebook-sidebar {
  position: sticky; top: 88px; background: #fff; border: 1px solid #e3ebf4;
  border-radius: 14px; padding: 18px 16px; box-shadow: 0 8px 22px rgba(0, 33, 71, .05);
}
.filter-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.filter-head h2 { font-size: 16px; margin: 0; }
.filter-head a { font-size: 13px; font-weight: 700; }
.ebook-sidebar label { display: block; font-size: 12px; font-weight: 700; color: var(--navy); margin: 0 0 12px; }
.ebook-sidebar .filter-search .search-wrap { display: block; margin-top: 6px; }
.ebook-sidebar input[type="search"] {
  width: 100%; border: 1px solid #d6dbe3; border-radius: 8px; padding: 10px 12px 10px 36px;
  font: inherit; background: #fff; font-weight: 500;
}
.ebook-sidebar select {
  display: block; width: 100%; margin-top: 6px; border: 1px solid #d6dbe3; border-radius: 8px;
  padding: 10px 12px; font: inherit; background: #fff; font-weight: 500;
}
.ebook-toolbar { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 16px; }
.ebook-toolbar h2 { margin: 0; font-size: 22px; }
.ebook-toolbar p { margin: 4px 0 0; }
.ebook-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ebook-list { display: flex; flex-direction: column; gap: 12px; }
.ebook-row {
  display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; align-items: start;
  background: #fff; border: 1px solid #e3ebf4; border-radius: 12px; padding: 14px;
  box-shadow: 0 8px 20px rgba(0, 33, 71, .05);
}
.ebook-row .ebook-cover img { height: 150px; }
.ebook-row h3 { margin: 6px 0 6px; font-size: 17px; }
.ebook-row h3 a { color: var(--navy); }
.active-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.active-filters a {
  background: #eef4fb; color: var(--navy); border-radius: 999px; padding: 5px 10px;
  font-size: 12px; font-weight: 700;
}
.pager-center { justify-content: center; }
.pager-links .current { display: inline-block; border: 1px solid var(--navy); min-width: 34px; text-align: center; padding: 6px 8px; border-radius: 50%; color: #fff; background: var(--navy); margin-left: 4px; }
.ebook-publish-cta {
  background: #e9f1fb; border-radius: 14px; padding: 22px 24px;
  display: flex; align-items: center; gap: 18px;
}
.ebook-publish-cta i {
  width: 48px; height: 48px; border-radius: 12px; background: #fff; color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0;
}
.ebook-publish-cta h2 { margin: 0 0 4px; font-size: 22px; }
.ebook-publish-cta p { margin: 0; color: var(--muted); }
.ebook-publish-cta .cta-actions { margin-left: auto; flex-shrink: 0; }
.detail-hero .badge-free { position: static; display: inline-block; margin-bottom: 8px; }
.author-promo-wrap { padding: 8px 0 8px; }
.author-promo {
  display: grid; grid-template-columns: 160px minmax(0, 1.35fr) minmax(220px, .72fr);
  gap: 22px; align-items: center;
  background: #fef9f0; border: 1px solid #f0d4b0; border-radius: 16px; padding: 22px 24px;
}
.author-promo-art { width: 150px; justify-self: center; }
.author-promo-copy h2 { font-size: 22px; margin: 0 0 6px; }
.author-promo-copy h3 { font-size: 16px; color: var(--text); margin: 0 0 8px; }
.author-promo-copy p { margin: 0 0 14px; color: var(--muted); font-size: 14px; }
.author-promo-points {
  display: flex; flex-wrap: wrap; gap: 14px 18px; font-size: 12.5px; font-weight: 700; color: var(--navy);
}
.author-promo-points i { margin-right: 6px; color: #c48a3a; }
.author-promo-offer {
  border: 1.5px dashed #e2b57a; border-radius: 12px; padding: 16px 16px 14px; text-align: center; background: #fffdf8;
}
.author-promo-offer small { display: block; color: var(--blue); font-weight: 700; font-size: 12px; }
.author-promo-from { display: block; font-size: 12px; color: var(--muted); margin-top: 8px; }
.author-promo-offer b { display: block; font-size: 28px; color: var(--navy); line-height: 1.2; margin: 2px 0 2px; }
.author-promo-format { display: block; font-size: 12px; color: var(--muted); margin-bottom: 12px; }
.author-promo-offer .btn { width: 100%; }
.author-promo-link { display: inline-block; margin-top: 10px; font-size: 13px; font-weight: 700; }
.hp-field { position: absolute; left: -10000px; opacity: 0; height: 0; overflow: hidden; }
.check-line { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; margin: 0 0 14px; }
.auth-shell { min-height: 70vh; display: flex; align-items: center; justify-content: center; padding: 40px 16px; background: #f4f7fb; }
.auth-card { width: min(440px, 100%); background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 28px; box-shadow: var(--shadow); }
.auth-logo { height: 42px; margin-bottom: 8px; }
.auth-links { margin-top: 16px; }
.portal-body { background: #eef2f7; }
.portal { display: grid; grid-template-columns: 264px 1fr; min-height: 100vh; }
.portal-side { background: var(--navy); color: #d7e2f0; padding: 18px 14px; }
.portal-side-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.portal-close { display: none; }
.portal-brand { display: flex; align-items: center; gap: 10px; color: #fff; font-weight: 800; margin-bottom: 22px; padding: 0 8px; }
.portal-brand img { height: 32px; }
.portal-side nav { display: flex; flex-direction: column; gap: 3px; }
.portal-side a { color: #d7e2f0; padding: 10px 12px; border-radius: 8px; font-size: 13.5px; font-weight: 600; display: flex; gap: 10px; align-items: center; }
.portal-side a i { width: 18px; }
.portal-side a:hover, .portal-side a.active { background: rgba(255,255,255,.1); color: #fff; }
.portal-side nav a.active { box-shadow: inset 3px 0 0 #fff; }
.portal-main { min-width: 0; }
.portal-top { background: #fff; border-bottom: 1px solid var(--line); min-height: 68px; display: flex; align-items: center; justify-content: flex-end; padding: 0 22px; gap: 16px; }
.portal-top-right { display: flex; align-items: center; gap: 16px; }
.portal-bell { color: var(--navy); font-size: 18px; width: 40px; height: 40px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; }
.portal-bell:hover { background: #f4f7fb; }
.portal-user { display: flex; align-items: center; gap: 10px; }
.portal-user small { display: block; color: var(--muted); font-size: 12px; }
.portal-avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--navy); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.portal-toggle { display: none; margin-right: auto; }
.portal-content { padding: 26px; }
.dash-hello { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 22px 24px; box-shadow: 0 8px 24px rgba(0, 33, 71, .04); }
.dash-kicker { margin: 0 0 4px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--blue); }
.dash-hello h1 { margin-bottom: 6px; font-size: 28px; }
.dash-hello .muted { margin: 0; }
.dash-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 18px 0 22px; }
.dash-stat { background: #fff; border-radius: 14px; padding: 16px 16px 14px; border: 1px solid var(--line); display: flex; gap: 12px; align-items: flex-start; box-shadow: 0 8px 20px rgba(0, 33, 71, .04); }
.dash-stat i { width: 38px; height: 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.dash-stat span { display: block; font-size: 12px; color: var(--muted); font-weight: 600; }
.dash-stat b { font-size: 26px; color: var(--navy); line-height: 1.15; }
.ds-blue { border-top: 3px solid var(--blue); }
.ds-yellow { border-top: 3px solid #e0a106; }
.ds-green { border-top: 3px solid var(--green); }
.ds-red { border-top: 3px solid var(--red); }
.ds-blue i { background: #e8f1fc; color: var(--blue); }
.ds-yellow i { background: #fff6db; color: #c48a00; }
.ds-green i { background: #e7f6ec; color: var(--green); }
.ds-red i { background: #fdecea; color: var(--red); }
.dash-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) 320px; gap: 16px; }
.dash-panel { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 20px; margin-bottom: 16px; box-shadow: 0 8px 20px rgba(0, 33, 71, .04); }
.dash-panel h3 { margin: 0 0 14px; font-size: 16px; }
.dash-panel .btn-block { margin-bottom: 8px; }
.dash-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.dash-table th { background: #f7f9fc; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: #667085; }
.dash-table th, .dash-table td { text-align: left; padding: 11px 10px; border-bottom: 1px solid var(--line); }
.dash-table tr:last-child td { border-bottom: 0; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; }
.pill { background: #eef3fb; color: var(--navy); border-radius: 99px; padding: 3px 8px; font-size: 11px; font-weight: 700; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.trust-mini { display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 18px; font-size: 13px; font-weight: 600; color: var(--navy); }
.note-row { padding: 10px 0; border-bottom: 1px solid var(--line); }
@media (max-width: 980px) {
  .portal { grid-template-columns: 1fr; }
  .portal-backdrop {
    display: block; position: fixed; inset: 0; z-index: 80;
    background: rgba(8, 18, 32, .48);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .28s ease, visibility .28s ease;
  }
  body.portal-open .portal-backdrop {
    opacity: 1; visibility: visible; pointer-events: auto;
  }
  .portal-side {
    display: flex; position: fixed; top: 0; left: 0; bottom: 0;
    width: min(286px, 88vw); z-index: 85;
    transform: translateX(-105%);
    transition: transform .3s cubic-bezier(.22, .61, .36, 1);
    box-shadow: none;
  }
  .portal-side.open {
    transform: translateX(0);
    box-shadow: 16px 0 40px rgba(0, 20, 40, .22);
  }
  .portal-close {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border: 0; border-radius: 8px;
    background: rgba(255,255,255,.1); color: #fff; cursor: pointer;
  }
  .portal-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 10px; background: #f4f7fb; color: var(--navy);
  }
  .portal-content { padding: 18px 16px 28px; }
  .dash-hello { padding: 18px; }
  .dash-hello h1 { font-size: 22px; }
  .dash-stats, .dash-grid, .form-grid { grid-template-columns: 1fr; }
  body.portal-open { overflow: hidden; }
}

.store-hero {
  background: linear-gradient(180deg, #f7f9fc 0%, #eef3f8 100%);
  padding: 28px 0 56px;
}
.store-switch {
  display: inline-flex; background: #fff; border: 1px solid var(--line); border-radius: 999px;
  padding: 4px; margin-bottom: 22px; gap: 2px;
}
.store-switch a {
  color: var(--navy); font-size: 13px; font-weight: 700; padding: 8px 16px; border-radius: 999px;
}
.store-switch a.active, .store-switch a:hover { background: var(--navy); color: #fff; }
.store-hero-grid {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(180px, .7fr) minmax(240px, .85fr);
  gap: 24px; align-items: center;
}
.store-hero h1 { font-size: 42px; margin: 0 0 6px; }
.store-kicker { margin: 0 0 12px; font-weight: 700; color: var(--blue); }
.store-hero .lede { margin: 0 0 20px; max-width: 520px; }
.store-hero-features {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; text-align: center;
}
.store-hero-features i {
  width: 40px; height: 40px; margin: 0 auto 8px; border-radius: 10px; background: #fff;
  color: var(--navy); display: flex; align-items: center; justify-content: center;
  border: 1px solid #e3ebf4; box-shadow: 0 6px 14px rgba(0, 33, 71, .06);
}
.store-hero-features span { display: block; font-size: 11.5px; font-weight: 700; color: var(--navy); line-height: 1.3; }
.store-hero-visual img {
  width: 100%; max-width: 280px; margin: 0 auto; border-radius: 12px;
  box-shadow: 0 18px 36px rgba(0, 33, 71, .16);
}
.store-publish-card {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 22px 20px;
  box-shadow: var(--shadow);
}
.store-publish-card h2 { font-size: 20px; margin: 0 0 12px; }
.store-publish-card ul { list-style: none; margin: 0 0 18px; padding: 0; }
.store-publish-card li {
  display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--navy);
  font-size: 14px; padding: 6px 0;
}
.store-publish-card i { color: var(--green); }
.store-publish-card .btn { width: 100%; }
.store-stats-wrap { margin-top: -36px; position: relative; z-index: 2; padding-bottom: 8px; }
.store-stats {
  background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow);
  display: grid; grid-template-columns: repeat(5, 1fr); padding: 18px 8px;
}
.store-stats > div { text-align: center; padding: 4px 10px; border-right: 1px solid #eef2f6; }
.store-stats > div:last-child { border-right: 0; }
.store-stats i { display: block; color: var(--blue); margin-bottom: 6px; }
.store-stats b { display: block; color: var(--navy); font-size: 20px; }
.store-stats span { display: block; font-size: 12px; color: var(--muted); }
.store-stars { display: block; color: #e0a106; letter-spacing: 1px; font-size: 12px; margin-top: 2px; }
.store-catalog { padding-top: 36px; }
.filter-checks { border: 0; margin: 0 0 14px; padding: 0; }
.filter-checks legend { font-size: 12px; font-weight: 700; color: var(--navy); margin-bottom: 8px; }
.check-option {
  display: flex !important; align-items: center; gap: 8px; font-weight: 600 !important;
  color: var(--text) !important; margin: 0 0 8px !important; font-size: 13px !important;
}
.check-option input { width: 16px; height: 16px; accent-color: var(--navy); }
.filter-price { margin: 4px 0 16px; }
.filter-price-head { display: flex; justify-content: space-between; align-items: center; font-size: 12px; font-weight: 700; color: var(--navy); margin-bottom: 8px; }
.filter-price input[type="range"] { width: 100%; accent-color: var(--navy); }
.price-ends { display: flex; justify-content: space-between; font-size: 12px; color: var(--muted); margin-top: 4px; }
.store-toolbar { align-items: center; }
.store-toolbar-right { display: flex; align-items: center; gap: 12px; }
.sort-label { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--navy); }
.sort-label select {
  border: 1px solid #d6dbe3; border-radius: 8px; padding: 8px 10px; font: inherit; background: #fff; font-weight: 500;
}
.cover-badges {
  position: absolute; top: 8px; left: 8px; right: 8px; display: flex; flex-wrap: wrap; gap: 4px; z-index: 1;
  pointer-events: none;
}
.badge-print, .badge-ebook, .badge-new {
  font-size: 10px; font-weight: 800; letter-spacing: .06em; padding: 3px 8px; border-radius: 4px; color: #fff;
}
.badge-print { background: var(--navy); }
.badge-ebook { background: var(--green); }
.badge-new { background: var(--orange); margin-left: auto; }
.shop-card { text-align: center; }
.shop-card form { width: 100%; margin-top: auto; }
.shop-price { font-size: 18px; font-weight: 800; color: var(--navy); margin: 8px 0 10px; }
.shop-row .shop-price { margin: 8px 0; }
.shop-row .card-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.shop-row .card-actions form { margin: 0; }
.shop-row .card-actions .btn { width: auto; }
.shop-badges { display: flex; gap: 6px; margin-bottom: 10px; }
.shop-badges .badge-print, .shop-badges .badge-ebook, .shop-badges .badge-new { position: static; }
.qty-label { display: block; font-size: 13px; font-weight: 700; color: var(--navy); margin: 8px 0 12px; }
.qty-label input { margin-top: 6px; }
.side-card .shop-price { font-size: 26px; margin: 8px 0 14px; }
.side-card form { margin-bottom: 8px; }
.side-card .btn-block { margin-bottom: 8px; }
.store-benefits { background: #f4f7fb; padding: 36px 0; }
.store-benefits-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.store-benefits-row > div { text-align: center; }
.store-benefits-row i {
  width: 44px; height: 44px; border-radius: 12px; background: #fff; color: var(--blue);
  display: inline-flex; align-items: center; justify-content: center; margin-bottom: 10px;
  border: 1px solid #e3ebf4;
}
.store-benefits-row strong { display: block; color: var(--navy); font-size: 14px; }
.store-benefits-row span { display: block; font-size: 12.5px; color: var(--muted); margin-top: 4px; }
.store-cta-wrap { padding-top: 48px; }
.store-cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.store-cta-card {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 22px;
  display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: 16px; align-items: center;
  box-shadow: var(--shadow);
}
.store-cta-card h2 { font-size: 20px; margin: 0 0 8px; }
.store-cta-card p { margin: 0 0 16px; color: var(--muted); }
.store-cta-card img { width: 120px; justify-self: end; }
.store-cta-author { background: #fef9f0; border-color: #f0d4b0; }
.cart-page { background: #f4f7fb; padding: 28px 0 72px; }
.cart-head {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 16px;
  margin-bottom: 22px;
}
.cart-head h1 { margin: 0; font-size: 32px; }
.cart-count-label { margin: 6px 0 0; color: var(--muted); font-size: 14px; }
.cart-back {
  display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--navy);
  background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 10px 16px;
}
.cart-back:hover { border-color: var(--navy); color: var(--navy); }
.cart-empty {
  background: #fff; border: 1px solid var(--line); border-radius: 18px; text-align: center;
  padding: 64px 24px; box-shadow: var(--shadow); max-width: 640px; margin: 12px auto 0;
}
.cart-empty-icon {
  width: 72px; height: 72px; border-radius: 50%; background: #eef4fb; color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center; font-size: 28px; margin-bottom: 16px;
}
.cart-empty h2 { margin: 0 0 8px; }
.cart-empty p { margin: 0 auto 22px; max-width: 420px; color: var(--muted); }
.cart-empty-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.cart-layout {
  display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, .78fr);
  gap: 24px; align-items: start;
}
.cart-panel {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden;
  box-shadow: var(--shadow);
}
.cart-cols {
  display: grid; grid-template-columns: minmax(0, 1fr) 140px 120px;
  gap: 16px; padding: 12px 22px; background: #f7f9fc; color: var(--muted);
  font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.cart-cols span:nth-child(2), .cart-cols span:nth-child(3) { text-align: center; }
.cart-row {
  display: grid; grid-template-columns: 86px minmax(0, 1fr) 140px 120px;
  gap: 16px; align-items: center; padding: 18px 22px; border-top: 1px solid #eef2f6;
}
.cart-cover img {
  width: 86px; height: 112px; object-fit: cover; object-position: top center;
  border-radius: 8px; background: #eef1f6; box-shadow: 0 8px 18px rgba(0, 33, 71, .12);
}
.cart-info h3 { font-size: 16px; margin: 0 0 8px; line-height: 1.35; }
.cart-info h3 a { color: var(--navy); }
.cart-meta { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; font-size: 13px; color: var(--muted); }
.cart-format {
  background: #eef4fb; color: var(--navy); font-size: 11px; font-weight: 800;
  letter-spacing: .04em; padding: 3px 8px; border-radius: 4px;
}
.cart-view { display: inline-block; margin-top: 8px; font-size: 13px; font-weight: 700; }
.cart-qty {
  display: inline-flex; align-items: center; justify-self: center; margin: 0;
  border: 1px solid #d6dbe3; border-radius: 999px; overflow: hidden; background: #fff;
}
.cart-qty button {
  width: 34px; height: 36px; border: 0; background: #f7f9fc; color: var(--navy); cursor: pointer;
}
.cart-qty button:hover { background: #eef4fb; }
.cart-qty input {
  width: 44px; height: 36px; border: 0; border-left: 1px solid #e4e8ef; border-right: 1px solid #e4e8ef;
  text-align: center; font: inherit; font-weight: 700; color: var(--navy);
  -moz-appearance: textfield;
}
.cart-qty input::-webkit-outer-spin-button,
.cart-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cart-line { text-align: right; }
.cart-line b { display: block; color: var(--navy); font-size: 16px; margin-bottom: 8px; }
.cart-remove-form { margin: 0; }
.cart-remove {
  border: 0; background: none; color: var(--muted); font-size: 12px; font-weight: 700;
  cursor: pointer; padding: 0; font-family: inherit;
}
.cart-remove:hover { color: var(--red); }
.cart-summary {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 0 0 18px;
  box-shadow: var(--shadow); position: sticky; top: 88px;
}
.cart-summary h2 {
  margin: 0; padding: 18px 22px; font-size: 18px; border-bottom: 1px solid #eef2f6;
}
.cart-breakdown { list-style: none; margin: 0; padding: 16px 22px 8px; }
.cart-breakdown li {
  display: flex; justify-content: space-between; gap: 12px; align-items: baseline;
  padding: 6px 0; font-size: 14px; color: var(--muted);
}
.cart-breakdown b { color: var(--navy); }
.cart-breakdown em { font-style: normal; font-size: 12px; color: var(--muted); }
.cart-total {
  display: flex; justify-content: space-between; align-items: center;
  margin: 0 22px 14px; padding: 14px 0 0; border-top: 1px dashed #d6dbe3;
  font-size: 15px; color: var(--muted);
}
.cart-total b { color: var(--navy); font-size: 24px; }
.cart-note { margin: 0 22px 16px; font-size: 13px; color: var(--muted); }
.cart-form { padding: 0 22px; }
.cart-form h3 { font-size: 14px; margin: 0 0 12px; }
.cart-form .form-control { width: 100%; }
.cart-form .btn { margin-top: 4px; padding: 12px 18px; }
.cart-form label span { font-weight: 500; color: var(--muted); }
.cart-trust {
  display: flex; flex-wrap: wrap; gap: 10px 14px; padding: 16px 22px 0;
  font-size: 12px; font-weight: 700; color: var(--navy);
}
.cart-trust i { margin-right: 6px; color: var(--blue); }
.cart-help { margin: 12px 22px 0; font-size: 13px; color: var(--muted); }
@media (max-width: 1100px) {
  .store-hero-grid { grid-template-columns: 1fr 280px; }
  .store-hero-visual { display: none; }
  .store-hero-features { grid-template-columns: repeat(5, 1fr); }
  .store-stats, .store-benefits-row { grid-template-columns: repeat(3, 1fr); }
  .store-stats > div:nth-child(3) { border-right: 0; }
  .store-cta-grid, .cart-layout { grid-template-columns: 1fr; }
  .cart-summary { position: static; }
  .cart-cols { display: none; }
  .cart-row { grid-template-columns: 72px minmax(0, 1fr) auto; align-items: start; }
  .cart-cover img { width: 72px; height: 96px; }
  .cart-qty { grid-column: 2; justify-self: start; margin-top: 8px; }
  .cart-line { grid-column: 3; grid-row: 1 / span 2; align-self: center; }
}
@media (max-width: 640px) {
  .store-hero h1 { font-size: 28px; }
  .store-hero-grid, .store-cta-card { grid-template-columns: 1fr; }
  .store-hero-features, .store-stats, .store-benefits-row { grid-template-columns: 1fr 1fr; }
  .store-stats > div { border-right: 0; }
  .store-toolbar { flex-direction: column; align-items: stretch; }
  .store-toolbar-right { justify-content: space-between; }
  .store-cta-card img { justify-self: center; }
  .cart-head { flex-direction: column; align-items: flex-start; }
  .cart-head h1 { font-size: 26px; }
  .cart-row { padding: 16px; }
}

.jrnl-hero {
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.07) 0 1.2px, transparent 1.6px) 0 0 / 26px 26px,
    linear-gradient(115deg, #001029 0%, #002147 48%, #0a3a6e 100%);
  color: #fff; padding: 56px 0 72px; overflow: hidden;
}
.jrnl-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items: center; }
.jrnl-eyebrow {
  display: inline-block; margin: 0 0 12px; padding: 4px 10px; border: 1px solid rgba(201,162,39,.45);
  border-radius: 999px; color: #e4c56a; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.jrnl-hero h1 { color: #fff; font-size: 44px; margin: 0 0 10px; letter-spacing: -.02em; }
.jrnl-kicker { color: #e4c56a; font-weight: 700; font-size: 17px; margin: 0 0 14px; }
.jrnl-hero .lede { color: rgba(255,255,255,.86); max-width: 540px; margin-bottom: 20px; }
.jrnl-checks { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; }
.jrnl-checks li { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: #fff; }
.jrnl-checks i { color: #e4c56a; font-size: 12px; }
.jrnl-shelf { display: flex; justify-content: center; align-items: flex-end; min-height: 250px; padding: 10px 0 6px; }
.jrnl-cover {
  width: 148px; min-height: 204px; color: #fff; border-radius: 3px 11px 11px 3px;
  padding: 14px 13px 12px 18px; display: flex; flex-direction: column; justify-content: space-between;
  box-shadow: 12px 14px 28px rgba(0,0,0,.28); position: relative;
  background: linear-gradient(165deg, #1a3f7a 0%, #0d2a56 100%);
}
.jrnl-cover::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 7px;
  background: linear-gradient(#e4c56a, #b8922a); border-radius: 3px 0 0 3px;
}
.jrnl-cover header, .jrnl-cover footer {
  display: flex; justify-content: space-between; gap: 8px; font-size: 9px; letter-spacing: .08em;
  text-transform: uppercase; opacity: .82; font-weight: 700;
}
.jrnl-cover em { display: block; font-style: normal; font-size: 11px; letter-spacing: .12em; color: #e4c56a; margin-bottom: 8px; }
.jrnl-cover strong { display: block; font-size: 15px; line-height: 1.25; font-weight: 800; }
.jrnl-cover.tone-blue { background: linear-gradient(165deg, #1d4f96, #123a6a); }
.jrnl-cover.tone-teal { background: linear-gradient(165deg, #0f6b72, #08464b); }
.jrnl-cover.tone-green { background: linear-gradient(165deg, #2a7a3a, #174822); }
.jrnl-cover.tone-navy { background: linear-gradient(165deg, #1a2f5c, #0b1733); }
.jrnl-shelf .jrnl-cover { margin-left: -36px; transition: transform .2s ease; }
.jrnl-shelf .jrnl-cover:first-child { margin-left: 0; }
.jrnl-shelf .jrnl-cover:nth-child(1) { transform: rotate(-9deg) translateY(12px); z-index: 1; }
.jrnl-shelf .jrnl-cover:nth-child(2) { transform: rotate(-3deg) translateY(4px); z-index: 2; }
.jrnl-shelf .jrnl-cover:nth-child(3) { transform: rotate(3deg) translateY(4px); z-index: 3; }
.jrnl-shelf .jrnl-cover:nth-child(4) { transform: rotate(8deg) translateY(12px); z-index: 4; }
.jrnl-shelf:hover .jrnl-cover { transform: rotate(0) translateY(0); margin-left: 10px; }
.jrnl-shelf:hover .jrnl-cover:first-child { margin-left: 0; }
.jrnl-stats-wrap { margin-top: -38px; position: relative; z-index: 2; }
.jrnl-stats {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 16px 40px rgba(0, 33, 71, .1);
  display: grid; grid-template-columns: repeat(6, 1fr); padding: 20px 10px;
}
.jrnl-stats > div { text-align: center; padding: 4px 10px; border-right: 1px solid #eef2f6; }
.jrnl-stats > div:last-child { border-right: 0; }
.jrnl-stats i {
  width: 34px; height: 34px; margin: 0 auto 8px; border-radius: 50%; background: #eef4fb; color: var(--navy);
  display: flex; align-items: center; justify-content: center; font-size: 13px;
}
.jrnl-stats b { display: block; color: var(--navy); font-size: 22px; }
.jrnl-stats span { display: block; font-size: 12px; color: var(--muted); margin-top: 2px; }
.jrnl-catalog { padding-top: 48px; }
.jrnl-catalog-head {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; margin-bottom: 16px;
}
.jrnl-catalog-head h2 { margin: 0 0 6px; font-size: 28px; }
.jrnl-catalog-head p { margin: 0; max-width: 460px; }
.jrnl-search { display: flex; gap: 8px; align-items: center; min-width: 320px; }
.jrnl-search .search-wrap { margin: 0; flex: 1; }
.jrnl-search input {
  border: 1px solid #d6dbe3; border-radius: 8px; padding: 11px 12px 11px 38px; font: inherit; width: 100%; background: #fff;
}
.jrnl-chips { margin-bottom: 22px; }
.jrnl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.jrnl-card {
  display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; align-items: stretch;
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 18px;
  box-shadow: 0 10px 28px rgba(0, 33, 71, .06); transition: transform .18s ease, box-shadow .18s ease;
}
.jrnl-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0, 33, 71, .12); }
.jrnl-card .jrnl-cover { width: 100%; min-height: 210px; box-shadow: 8px 10px 20px rgba(0, 33, 71, .16); }
.jrnl-body { min-width: 0; display: flex; flex-direction: column; }
.jrnl-subject { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--blue); }
.jrnl-body h3 { font-size: 18px; margin: 6px 0 8px; line-height: 1.3; }
.jrnl-body h3 a { color: var(--navy); }
.jrnl-blurb { margin: 0 0 12px; font-size: 13.5px; color: var(--muted); }
.jrnl-meta { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; }
.jrnl-meta li span { display: block; font-size: 11px; color: var(--muted); }
.jrnl-meta li b { font-size: 13px; color: var(--navy); font-weight: 700; }
.jrnl-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.badge-oa, .badge-pr {
  font-size: 11px; font-weight: 800; letter-spacing: .04em; padding: 3px 8px; border-radius: 4px;
}
.badge-oa { background: #e8f6ec; color: #1e7e34; }
.badge-pr { background: #eef4fb; color: var(--navy); }
.jrnl-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.jrnl-why { background: #f4f7fb; padding: 56px 0; }
.jrnl-why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.jrnl-why-grid article {
  background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 22px 20px;
  box-shadow: 0 8px 20px rgba(0, 33, 71, .04);
}
.jrnl-why-grid i {
  width: 42px; height: 42px; border-radius: 10px; background: #eef4fb; color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center; margin-bottom: 12px;
}
.jrnl-why-grid h3 { font-size: 16px; margin: 0 0 8px; }
.jrnl-why-grid p { margin: 0; font-size: 13.5px; color: var(--muted); }
.jrnl-process { padding-top: 12px; }
.jrnl-steps {
  list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
.jrnl-steps li {
  background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 20px 18px;
}
.jrnl-steps b { display: block; color: #c9a227; font-size: 20px; margin-bottom: 8px; }
.jrnl-steps strong { display: block; color: var(--navy); margin-bottom: 6px; }
.jrnl-steps span { display: block; font-size: 13.5px; color: var(--muted); }
.jrnl-index { padding: 28px 0 56px; }
.jrnl-index-head { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-bottom: 18px; }
.jrnl-index-head h2 { margin: 0 0 6px; }
.jrnl-index-head p { margin: 0; color: var(--muted); }
.jrnl-marks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.jrnl-marks span {
  display: flex; align-items: center; justify-content: center; min-height: 64px;
  border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--navy);
  font-weight: 800; letter-spacing: .04em; font-size: 13px;
}
.jrnl-cta { background: var(--navy); color: #fff; padding: 40px 0; }
.jrnl-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.jrnl-cta h2 { color: #fff; margin: 0 0 6px; font-size: 26px; }
.jrnl-cta p { margin: 0; color: rgba(255,255,255,.86); max-width: 520px; }
@media (max-width: 1100px) {
  .jrnl-hero-grid, .jrnl-grid, .jrnl-why-grid, .jrnl-steps, .jrnl-marks, .jrnl-catalog-head, .jrnl-index-head { grid-template-columns: 1fr; }
  .jrnl-shelf { display: none; }
  .jrnl-stats { grid-template-columns: repeat(3, 1fr); }
  .jrnl-stats > div:nth-child(3) { border-right: 0; }
  .jrnl-cta-inner { flex-direction: column; align-items: flex-start; }
  .jrnl-search { width: 100%; }
  .jrnl-why-grid, .jrnl-steps, .jrnl-marks { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .jrnl-hero h1 { font-size: 30px; }
  .jrnl-checks, .jrnl-stats, .jrnl-why-grid, .jrnl-steps, .jrnl-marks, .jrnl-meta { grid-template-columns: 1fr; }
  .jrnl-stats > div { border-right: 0; }
  .jrnl-card { grid-template-columns: 1fr; }
  .jrnl-card .jrnl-cover { min-height: 180px; max-width: 180px; }
}

.contact-hero {
  background: linear-gradient(180deg, #f4f8fc 0%, #eef3f8 100%);
  padding: 48px 0 40px;
}
.contact-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 32px; align-items: center; }
.contact-hero h1 { font-size: 42px; margin: 0 0 12px; letter-spacing: -.02em; }
.contact-hero .lede { margin-bottom: 22px; max-width: 520px; }
.contact-art {
  position: relative; min-height: 220px; display: flex; align-items: center; justify-content: center;
}
.contact-art span {
  position: absolute; display: flex; align-items: center; justify-content: center;
  background: #fff; color: var(--navy); box-shadow: 0 14px 32px rgba(0, 33, 71, .12);
}
.contact-art-mail { width: 120px; height: 120px; border-radius: 28px; font-size: 42px; }
.contact-art-chat { width: 72px; height: 72px; border-radius: 50%; font-size: 26px; right: 18%; top: 18px; color: var(--blue); }
.contact-art-phone { width: 58px; height: 58px; border-radius: 16px; font-size: 20px; left: 16%; bottom: 24px; }
.contact-points { padding: 8px 0 12px; }
.contact-points-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.contact-points-grid > div {
  background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 20px 18px;
  box-shadow: 0 8px 20px rgba(0, 33, 71, .04);
}
.contact-points-grid i {
  width: 40px; height: 40px; border-radius: 10px; background: #eef4fb; color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center; margin-bottom: 12px;
}
.contact-points-grid strong { display: block; color: var(--navy); margin-bottom: 4px; }
.contact-points-grid span { display: block; font-size: 13.5px; color: var(--muted); }
.contact-info-sec { padding-top: 36px; padding-bottom: 20px; }
.contact-info-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.contact-info-card {
  background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 22px 20px;
  box-shadow: 0 10px 26px rgba(0, 33, 71, .05);
}
.contact-info-card i { color: var(--blue); font-size: 20px; margin-bottom: 10px; }
.contact-info-card h3 { font-size: 16px; margin: 0 0 8px; }
.contact-info-card p { margin: 0 0 8px; font-size: 14px; }
.contact-info-card span { display: block; font-size: 13px; color: var(--muted); }
.contact-split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 22px; align-items: start; }
.contact-form-card, .contact-map-card {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px;
  box-shadow: 0 10px 28px rgba(0, 33, 71, .06);
}
.contact-form-card h2, .contact-map-card h2 { margin: 0 0 8px; font-size: 22px; }
.contact-form-card .muted { margin: 0 0 18px; }
.contact-form-card .form-control, .contact-news-form .form-control { width: 100%; }
.contact-safe { margin: 12px 0 0; font-size: 12.5px; color: var(--muted); }
.contact-safe i { margin-right: 6px; color: var(--navy); }
.contact-map { border-radius: 12px; overflow: hidden; border: 1px solid var(--line); margin: 12px 0 12px; min-height: 280px; background: #eef3f8; }
.contact-map iframe { display: block; width: 100%; height: 280px; border: 0; }
.contact-util { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.contact-util h2 { font-size: 18px; margin: 0 0 14px; }
.contact-links { list-style: none; margin: 0; padding: 0; }
.contact-links a {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  padding: 10px 0; border-bottom: 1px solid #eef2f6; color: var(--navy); font-weight: 600; font-size: 14px;
}
.contact-links i { font-size: 11px; color: var(--blue); }
.contact-help { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.contact-help a {
  display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line);
  border-radius: 10px; color: var(--navy); font-weight: 700; font-size: 13px; background: #fff;
}
.contact-help a:hover { border-color: var(--navy); }
.contact-help i { color: var(--blue); width: 16px; }
.contact-news { background: #eaf1f8; padding: 28px 0; }
.contact-news-inner { display: flex; justify-content: space-between; align-items: center; gap: 22px; }
.contact-news-copy { display: flex; align-items: center; gap: 16px; }
.contact-news-copy i {
  width: 56px; height: 56px; border-radius: 50%; background: #fff; color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0;
}
.contact-news h2 { margin: 0 0 4px; font-size: 22px; }
.contact-news p { margin: 0; color: var(--muted); }
.contact-news-form { display: flex; gap: 8px; min-width: 360px; }
@media (max-width: 1100px) {
  .contact-hero-grid, .contact-points-grid, .contact-info-grid, .contact-split, .contact-util { grid-template-columns: 1fr 1fr; }
  .contact-art { display: none; }
  .contact-news-inner, .contact-news-form { flex-direction: column; align-items: stretch; min-width: 0; }
}
@media (max-width: 640px) {
  .contact-hero h1 { font-size: 30px; }
  .contact-hero-grid, .contact-points-grid, .contact-info-grid, .contact-split, .contact-util, .contact-help, .form-grid { grid-template-columns: 1fr; }
}

.cfc-hero {
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.07) 0 1.2px, transparent 1.6px) 0 0 / 26px 26px,
    linear-gradient(115deg, #001029 0%, #002147 48%, #0a3a6e 100%);
  color: #fff; padding: 52px 0 72px; overflow: hidden;
}
.cfc-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 36px; align-items: center; }
.cfc-hero h1 { color: #fff; font-size: 46px; margin: 0 0 8px; letter-spacing: -.02em; }
.cfc-kicker { color: #e4c56a; font-weight: 700; font-size: 18px; margin: 0 0 14px; }
.cfc-hero .lede { color: rgba(255,255,255,.86); max-width: 560px; margin-bottom: 22px; }
.cfc-marks {
  list-style: none; margin: 0 0 24px; padding: 0;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px;
}
.cfc-marks li {
  display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center;
  padding: 12px 8px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px;
  background: rgba(255,255,255,.06); font-size: 12.5px; font-weight: 700; color: #fff;
}
.cfc-marks i { color: #e4c56a; font-size: 16px; }
.cfc-hero-visual {
  display: flex; justify-content: center; align-items: center;
  filter: drop-shadow(0 22px 40px rgba(0,0,0,.35));
}
.cfc-hero-visual img {
  width: min(100%, 440px); border-radius: 18px;
  border: 1px solid rgba(228,197,106,.28); background: #f4f1ea;
}
.cfc-stats-wrap { margin-top: -38px; position: relative; z-index: 2; }
.cfc-stats {
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  box-shadow: 0 16px 40px rgba(0, 33, 71, .1);
  display: grid; grid-template-columns: repeat(5, 1fr); padding: 20px 10px;
}
.cfc-stats > div { text-align: center; padding: 4px 10px; border-right: 1px solid #eef2f6; }
.cfc-stats > div:last-child { border-right: 0; }
.cfc-stats i {
  width: 36px; height: 36px; border-radius: 10px; background: #eef4fb; color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center; margin-bottom: 8px;
}
.cfc-stats b { display: block; color: var(--navy); font-size: 22px; }
.cfc-stats span { display: block; font-size: 12px; color: var(--muted); margin-top: 2px; }
.cfc-catalog { padding-top: 48px; }
.cfc-catalog-head {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 18px;
}
.cfc-catalog-head h2 { margin: 0 0 6px; font-size: 28px; }
.cfc-catalog-head p { margin: 0; max-width: 460px; }
.cfc-catalog-head strong { color: var(--navy); }
.cfc-search { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.cfc-search .search-wrap { margin: 0; min-width: 220px; flex: 1; }
.cfc-search input, .cfc-search select {
  border: 1px solid #d6dbe3; border-radius: 8px; padding: 11px 12px; font: inherit; background: #fff;
}
.cfc-search input { padding-left: 36px; }
.cfc-search [name="subject"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.cfc-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.cfc-meta { font-size: 13px; color: var(--muted); margin: 0 0 14px; font-weight: 600; }
.cfc-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px;
}
.cfc-card {
  background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 14px;
  box-shadow: 0 10px 24px rgba(0, 33, 71, .05); display: flex; flex-direction: column; min-width: 0;
  transition: transform .18s ease, box-shadow .18s ease;
}
.cfc-card:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(0, 33, 71, .12); }
.cfc-card-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 12px; }
.cfc-deadline { font-size: 11px; color: var(--muted); font-weight: 700; white-space: nowrap; }
.cfc-deadline i { margin-right: 4px; color: var(--blue); }
.cfc-card-body { display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: start; margin-bottom: 14px; min-width: 0; }
.cfc-card-body img {
  width: 72px; height: 102px; object-fit: cover; object-position: top center;
  border-radius: 4px; background: #eef1f6; box-shadow: 0 6px 14px rgba(0, 33, 71, .12);
}
.cfc-card h3 { font-size: 14.5px; margin: 0 0 6px; line-height: 1.3; }
.cfc-card h3 a { color: var(--navy); }
.cfc-card-body p { margin: 0 0 4px; font-size: 12.5px; color: var(--muted); }
.cfc-tag {
  display: inline-block; margin-top: 6px; font-size: 10.5px; font-weight: 800; letter-spacing: .03em;
  text-transform: uppercase; border-radius: 999px; padding: 3px 9px;
}
.cfc-tag.tone-green { background: #e8f6ec; color: #1e7e34; }
.cfc-tag.tone-blue { background: #e8f1fb; color: #0b5cab; }
.cfc-tag.tone-teal { background: #e6f5f4; color: #0f6b72; }
.cfc-tag.tone-navy { background: #eef1f6; color: #002147; }
.cfc-tag.tone-gold { background: #f8f1d8; color: #8a6a12; }
.cfc-card-btn { width: 100%; margin-top: auto; }
.cfc-more { text-align: center; margin-top: 22px; }
.cfc-why { background: #f4f7fb; padding: 56px 0; }
.cfc-why-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
.cfc-why-grid article {
  display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start;
  background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px 16px;
}
.cfc-why-grid i {
  width: 44px; height: 44px; border-radius: 12px; background: #eef4fb; color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center;
}
.cfc-why-grid h3 { font-size: 15px; margin: 0 0 4px; }
.cfc-why-grid p { margin: 0; font-size: 13.5px; color: var(--muted); }
.cfc-process { padding-top: 12px; padding-bottom: 28px; }
.cfc-steps {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px;
}
.cfc-steps li { text-align: center; position: relative; padding: 8px 4px 0; }
.cfc-steps li:not(:last-child)::after {
  content: ""; position: absolute; top: 36px; left: 62%; width: 76%; height: 2px; background: #d8e0ea;
}
.cfc-steps span {
  display: block; color: #c9a227; font-size: 12px; font-weight: 800; letter-spacing: .08em; margin-bottom: 8px;
}
.cfc-steps i {
  width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid var(--navy); color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center; background: #fff; position: relative; z-index: 1;
}
.cfc-steps strong { display: block; margin-top: 10px; font-size: 13px; color: var(--navy); line-height: 1.3; }
.cfc-info { padding: 12px 0 56px; }
.cfc-info-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cfc-box { border-radius: 16px; padding: 22px 20px; border: 1px solid transparent; }
.cfc-box h2 { font-size: 18px; margin: 0 0 14px; }
.cfc-box-dates { background: #f7f1e4; }
.cfc-box-guide { background: #eaf2fb; }
.cfc-box-submit { background: #e8f5ee; }
.cfc-box-dates ul { list-style: none; margin: 0; padding: 0; }
.cfc-box-dates li {
  display: flex; justify-content: space-between; gap: 10px; align-items: center;
  padding: 10px 0; border-bottom: 1px solid rgba(0,33,71,.08); font-size: 13.5px;
}
.cfc-box-dates li:last-child { border-bottom: 0; }
.cfc-box-dates span { display: flex; align-items: center; gap: 8px; color: var(--navy); }
.cfc-box-dates i { width: 16px; color: var(--blue); }
.cfc-checks { list-style: none; margin: 0 0 16px; padding: 0; }
.cfc-checks li { display: flex; gap: 8px; align-items: flex-start; padding: 6px 0; font-size: 13.5px; color: var(--navy); }
.cfc-checks i { color: var(--green); margin-top: 3px; }
.cfc-box-submit p { margin: 0 0 12px; font-size: 14px; color: var(--text); }
.cfc-fee { font-size: 13.5px !important; color: var(--muted) !important; }
.cfc-fee b { color: var(--navy); }
.cfc-submit-actions { display: grid; gap: 8px; }
.cfc-cta { background: var(--navy); color: #fff; padding: 40px 0; }
.cfc-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.cfc-cta-copy { display: flex; align-items: center; gap: 16px; }
.cfc-cta-icon {
  width: 56px; height: 56px; border-radius: 16px; background: rgba(255,255,255,.1);
  display: inline-flex; align-items: center; justify-content: center; font-size: 22px; color: #e4c56a; flex-shrink: 0;
}
.cfc-cta h2 { color: #fff; margin: 0 0 6px; font-size: 26px; }
.cfc-cta p { margin: 0; color: rgba(255,255,255,.86); max-width: 520px; }
@media (max-width: 1100px) {
  .cfc-hero-grid, .cfc-catalog-head, .cfc-cta-inner { grid-template-columns: 1fr; display: grid; }
  .cfc-hero-visual { display: none; }
  .cfc-marks, .cfc-stats, .cfc-why-grid, .cfc-info-grid { grid-template-columns: 1fr 1fr; }
  .cfc-grid { grid-template-columns: 1fr 1fr; }
  .cfc-steps { grid-template-columns: repeat(4, 1fr); }
  .cfc-steps li:nth-child(4)::after, .cfc-steps li:last-child::after { display: none; }
  .cfc-search { width: 100%; }
  .cfc-stats > div:nth-child(2n) { border-right: 0; }
}
@media (max-width: 640px) {
  .cfc-hero h1 { font-size: 30px; }
  .cfc-marks, .cfc-stats, .cfc-why-grid, .cfc-info-grid, .cfc-grid, .cfc-steps { grid-template-columns: 1fr; }
  .cfc-stats > div { border-right: 0; border-bottom: 1px solid #eef2f6; }
  .cfc-stats > div:last-child { border-bottom: 0; }
  .cfc-steps li::after { display: none; }
  .cfc-card-body { grid-template-columns: 64px 1fr; }
}

.legal-hero {
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.06) 0 1.2px, transparent 1.6px) 0 0 / 28px 28px,
    linear-gradient(115deg, #001029 0%, #002147 52%, #0a3a6e 100%);
  color: #fff; padding: 48px 0 56px; overflow: hidden;
}
.legal-hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 32px; align-items: center; }
.legal-hero h1 { color: #fff; font-size: 42px; margin: 0 0 10px; letter-spacing: -.02em; }
.legal-kicker { color: #e4c56a; font-weight: 700; font-size: 16px; margin: 0 0 12px; }
.legal-hero .lede { color: rgba(255,255,255,.86); max-width: 560px; margin: 0; }
.legal-art {
  position: relative; min-height: 220px; display: flex; align-items: center; justify-content: center;
}
.legal-art span {
  position: absolute; display: flex; align-items: center; justify-content: center;
  background: #fff; color: var(--navy); box-shadow: 0 16px 36px rgba(0,0,0,.22);
}
.legal-art-board { width: 132px; height: 132px; border-radius: 28px; font-size: 52px; }
.legal-art-shield { width: 72px; height: 72px; border-radius: 50%; font-size: 26px; right: 18%; top: 18px; color: var(--blue); }
.legal-art-lock { width: 56px; height: 56px; border-radius: 16px; font-size: 20px; left: 16%; bottom: 28px; color: #c9a227; }
.legal-hero-privacy .legal-art-board { color: var(--blue); }
.legal-hero-privacy .legal-art-lock { left: auto; right: 14%; bottom: 36px; top: auto; z-index: 2; }
.legal-art-privacy .legal-rings {
  width: 240px; height: 240px; border-radius: 50%; position: absolute;
  background:
    radial-gradient(circle, transparent 52%, rgba(90,160,255,.22) 53% 55%, transparent 56%),
    radial-gradient(circle, transparent 68%, rgba(90,160,255,.14) 69% 71%, transparent 72%),
    radial-gradient(circle, transparent 84%, rgba(90,160,255,.1) 85% 87%, transparent 88%) !important;
  box-shadow: none !important;
}
.legal-defs { list-style: none; padding: 0 !important; display: grid; gap: 8px; }
.legal-defs li {
  margin: 0 !important; padding: 10px 12px; border-radius: 10px; background: #f4f8fc; border: 1px solid #e4edf6;
}
.legal-privacy-note { text-align: left; }
.legal-body { background: #f4f7fb; padding: 40px 0 28px; }
.legal-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(260px, .7fr); gap: 28px; align-items: start; }
.legal-main {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 28px 30px 36px;
  box-shadow: 0 10px 28px rgba(0, 33, 71, .05);
}
.legal-notice {
  display: flex; gap: 12px; align-items: flex-start; background: #eef5fb; border: 1px solid #d7e6f4;
  border-radius: 12px; padding: 14px 16px; margin-bottom: 18px;
}
.legal-notice i { color: var(--blue); margin-top: 3px; }
.legal-notice strong { display: block; color: var(--navy); margin-bottom: 2px; }
.legal-notice p { margin: 0; font-size: 13.5px; color: var(--muted); }
.legal-intro { font-size: 15.5px; margin: 0 0 8px; }
.legal-section {
  display: grid; grid-template-columns: 48px 1fr; gap: 14px; padding: 22px 0;
  border-bottom: 1px solid #eef2f6; scroll-margin-top: 92px;
}
.legal-section:last-child { border-bottom: 0; padding-bottom: 0; }
.legal-icon {
  width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid #c9d8ea; color: var(--blue);
  display: inline-flex; align-items: center; justify-content: center; background: #f4f8fc; flex-shrink: 0;
}
.legal-section h2 { font-size: 18px; margin: 6px 0 8px; }
.legal-section p { margin: 0 0 8px; font-size: 14.5px; }
.legal-section ul { margin: 0; padding: 0 0 0 18px; }
.legal-section li { margin: 0 0 6px; font-size: 14.5px; }
.legal-contact { list-style: none; padding: 0 !important; margin: 12px 0 0; display: grid; gap: 10px; }
.legal-contact li {
  display: flex; gap: 12px; align-items: flex-start; margin: 0; padding: 12px 14px;
  border: 1px solid var(--line); border-radius: 12px; background: #f7fafc;
}
.legal-contact i { color: var(--blue); width: 18px; margin-top: 4px; }
.legal-contact span { display: block; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.legal-side { position: sticky; top: 88px; display: grid; gap: 14px; }
.legal-card {
  background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px 18px 16px;
  box-shadow: 0 8px 20px rgba(0, 33, 71, .04);
}
.legal-card h2 { font-size: 15px; margin: 0 0 12px; display: flex; align-items: center; gap: 8px; }
.legal-card h2 i { color: var(--blue); }
.legal-card ol { list-style: none; margin: 0; padding: 0; }
.legal-card ol a {
  display: flex; justify-content: space-between; align-items: center; gap: 8px;
  padding: 8px 0; border-bottom: 1px solid #eef2f6; color: var(--navy); font-size: 13.5px; font-weight: 600;
}
.legal-card ol li:last-child a { border-bottom: 0; }
.legal-card ol a i { font-size: 10px; color: var(--blue); }
.legal-card ol a.active { color: var(--blue); }
.legal-note { background: #eef5fb; border-color: #d7e6f4; }
.legal-note i { color: var(--blue); margin-bottom: 8px; }
.legal-note p { margin: 0; font-size: 13.5px; color: var(--text); }
.legal-ticks { list-style: none; margin: 0; padding: 0; }
.legal-ticks li { display: flex; gap: 8px; align-items: flex-start; padding: 6px 0; font-size: 13.5px; color: var(--navy); }
.legal-ticks i { color: var(--green); margin-top: 3px; }
.legal-help { background: #eef5fb; border-color: #d7e6f4; }
.legal-help > i { color: var(--navy); font-size: 22px; margin-bottom: 8px; }
.legal-help p { margin: 0 0 12px; font-size: 13.5px; }
.legal-help .btn { width: 100%; }
.legal-values { background: #fff; border-top: 1px solid var(--line); padding: 28px 0; }
.legal-values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.legal-values-grid > div {
  display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto; column-gap: 12px;
  align-items: start;
}
.legal-values-grid i {
  grid-row: 1 / span 2; width: 40px; height: 40px; border-radius: 10px; background: #eef4fb; color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center;
}
.legal-values-grid strong { color: var(--navy); font-size: 14px; }
.legal-values-grid span { font-size: 12.5px; color: var(--muted); }
@media (max-width: 1100px) {
  .legal-hero-grid, .legal-layout { grid-template-columns: 1fr; }
  .legal-art { display: none; }
  .legal-side { position: static; }
  .legal-values-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .legal-hero h1 { font-size: 30px; }
  .legal-section { grid-template-columns: 1fr; }
  .legal-values-grid { grid-template-columns: 1fr; }
  .legal-main { padding: 20px 16px 24px; }
}
@media print {
  .utility-bar, .navbar, .legal-hero .legal-art, .legal-side, .legal-values, .info-strip, .footer { display: none !important; }
  .legal-hero { background: #fff; padding: 0 0 16px; }
  .legal-hero h1, .legal-kicker, .legal-hero .lede, .crumbs-light, .crumbs-light a { color: #000; }
  .legal-body { background: #fff; padding: 0; }
  .legal-layout { display: block; }
  .legal-main { border: 0; box-shadow: none; padding: 0; }
}

.svc-hero { background: linear-gradient(180deg, #f4f8fc 0%, #eef3f8 100%); padding: 44px 0 36px; }
.svc-hero-grid { display: grid; grid-template-columns: 1.05fr .85fr .9fr; gap: 24px; align-items: center; }
.svc-hero h1 { font-size: 40px; margin: 0 0 8px; letter-spacing: -.02em; }
.svc-kicker { color: var(--blue); font-weight: 700; font-size: 17px; margin: 0 0 12px; }
.svc-hero .lede { margin: 0; max-width: 460px; }
.svc-trust { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.svc-trust article {
  background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px 12px;
  box-shadow: 0 8px 18px rgba(0, 33, 71, .04);
}
.svc-trust i { color: var(--blue); margin-bottom: 6px; }
.svc-trust strong { display: block; color: var(--navy); font-size: 13.5px; }
.svc-trust span { display: block; font-size: 12px; color: var(--muted); margin-top: 2px; }
.svc-hero-visual img {
  width: 100%; border-radius: 16px; box-shadow: 0 18px 36px rgba(0, 33, 71, .12);
}
.svc-ribbon { background: #fff; border-bottom: 1px solid var(--line); padding: 16px 0; }
.svc-ribbon-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; text-align: center; }
.svc-ribbon-grid i { display: block; color: var(--navy); margin-bottom: 6px; }
.svc-ribbon-grid span { font-size: 12px; font-weight: 700; color: var(--navy); }
.svc-nav-wrap { padding: 28px 0 0; }
.svc-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.svc-pill {
  border: 1px solid #cfd8e6; background: #fff; color: var(--navy); border-radius: 999px;
  padding: 9px 16px; font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer;
}
.svc-pill.active, .svc-pill:hover { background: var(--navy); color: #fff; border-color: var(--navy); }
.svc-block { padding-top: 28px; padding-bottom: 12px; }
.svc-section-head { margin-bottom: 18px; }
.svc-section-head h2 { margin: 0 0 6px; font-size: 26px; }
.svc-section-head p { margin: 0; max-width: 640px; }
.svc-panel {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 22px;
  box-shadow: 0 12px 28px rgba(0, 33, 71, .06);
}
.svc-panel.tone-ebook {
  display: grid; grid-template-columns: .85fr 1.15fr .9fr; gap: 20px; align-items: start;
  border-top: 4px solid var(--blue);
}
.svc-panel-visual img { width: min(100%, 220px); margin-bottom: 12px; }
.svc-panel h2, .svc-panel h3 { margin: 0 0 8px; }
.svc-tag {
  display: inline-block; margin-left: 8px; font-size: 10px; font-weight: 800; letter-spacing: .06em;
  text-transform: uppercase; background: #111; color: #fff; border-radius: 4px; padding: 3px 8px; vertical-align: middle;
}
.svc-table-wrap { overflow-x: auto; }
.svc-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.svc-table th, .svc-table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid #eef2f6; }
.svc-table th { background: #f4f7fb; color: var(--navy); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.svc-table td { font-weight: 600; color: var(--navy); }
.svc-aside { background: #eef5fb; border-radius: 14px; padding: 18px 16px; }
.svc-aside h3 { font-size: 16px; }
.svc-ticks { list-style: none; margin: 0 0 16px; padding: 0; }
.svc-ticks li { display: flex; gap: 8px; align-items: flex-start; padding: 5px 0; font-size: 13.5px; color: var(--navy); }
.svc-ticks i { color: var(--green); margin-top: 3px; }
.svc-aside .btn, .tone-chapter .btn, .tone-journal .btn { width: 100%; }
.svc-print-wide { width: min(1340px, calc(100% - 32px)); }
.svc-print-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: stretch; }
.svc-section-head-center { text-align: center; }
.svc-section-head-center p { margin: 0 auto; max-width: 640px; }
.svc-size-card {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 22px 20px 18px;
  box-shadow: 0 12px 28px rgba(0, 33, 71, .06); display: flex; flex-direction: column;
}
.svc-size-card.tone-a5 { --pkg: #e67e22; --pkg-soft: #fff7ed; --pkg-line: #fdba74; }
.svc-size-card.tone-a4 { --pkg: #2e9b4b; --pkg-soft: #ecfdf3; --pkg-line: #86efac; }
.svc-size-badge {
  display: inline-block; align-self: flex-start; background: var(--pkg); color: #fff;
  font-size: 11px; font-weight: 800; letter-spacing: .06em; border-radius: 6px; padding: 4px 10px;
}
.svc-size-card h3 { color: var(--pkg); font-size: 20px; margin: 12px 0 16px; }
.svc-size-specs {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 16px;
  padding-bottom: 14px; border-bottom: 1px solid var(--line);
}
.svc-size-specs div { text-align: center; }
.svc-size-specs i {
  width: 36px; height: 36px; border-radius: 10px; background: var(--pkg-soft); color: var(--pkg);
  display: inline-flex; align-items: center; justify-content: center; margin-bottom: 6px;
}
.svc-size-specs span { display: block; font-size: 11px; color: var(--muted); }
.svc-size-specs b { display: block; font-size: 12px; color: var(--navy); line-height: 1.3; }
.svc-size-price { display: grid; grid-template-columns: 1.35fr .75fr; gap: 12px; margin-bottom: 16px; align-items: stretch; }
.svc-size-card .svc-table { font-size: 13px; }
.svc-size-card .svc-table th { font-size: 11px; }
.svc-color-box {
  background: var(--pkg-soft); border: 1px solid var(--pkg-line); border-radius: 12px; padding: 14px 12px;
  display: flex; flex-direction: column; justify-content: center;
}
.svc-color-box strong { display: block; color: #b42318; font-size: 12px; letter-spacing: .03em; text-transform: uppercase; }
.svc-color-box strong i { color: #eab308; margin-right: 4px; }
.svc-color-box b { display: block; color: var(--navy); font-size: 16px; margin: 8px 0 6px; }
.svc-color-box p { margin: 0; font-size: 12px; color: var(--muted); }
.svc-size-benefits { margin-bottom: 14px; }
.svc-size-benefits h4 { font-size: 14px; margin: 0 0 8px; }
.svc-size-benefits ul {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px 8px;
}
.svc-size-benefits li { display: flex; gap: 6px; align-items: flex-start; font-size: 12px; color: var(--navy); font-weight: 600; }
.svc-size-benefits i { color: var(--pkg); margin-top: 2px; }
.svc-size-foot {
  display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  align-items: center; margin: 4px 0 14px; padding-top: 12px; border-top: 1px solid var(--line);
}
.svc-listing, .svc-promo { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 12px; }
.svc-listing > span, .svc-promo > span { color: var(--muted); font-weight: 700; }
.svc-listing b, .svc-promo b {
  display: inline-flex; align-items: center; gap: 5px; border-radius: 6px; padding: 4px 8px; font-size: 12px;
}
.chip-amazon { background: #131921; color: #fff; }
.chip-flipkart { background: #ffe11b; color: #2874f0; }
.chip-store { background: var(--navy); color: #fff; }
.svc-promo b { background: #eef4fb; color: var(--navy); }
.svc-size-cta { width: 100%; background: var(--pkg); color: #fff; border-color: var(--pkg); justify-content: center; }
.svc-size-cta:hover { filter: brightness(.95); color: #fff; }
.svc-note { padding: 8px 0 4px; }
.svc-note-inner {
  background: #fff4e8; border: 1px solid #f3d0a8; border-radius: 14px; padding: 18px 20px;
  display: grid; grid-template-columns: auto 1fr 1.4fr; gap: 16px; align-items: center;
}
.svc-note-inner > i { font-size: 28px; color: var(--orange); }
.svc-note-inner strong { display: block; color: var(--navy); }
.svc-note-inner p { margin: 4px 0 0; font-size: 13.5px; color: var(--text); }
.svc-note-extra { margin: 0; font-size: 13.5px; color: var(--text); }
.svc-note-extra i { color: var(--green); margin-right: 6px; }
.svc-duo { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.svc-panel.tone-chapter { border-top: 4px solid #6d28d9; }
.svc-panel.tone-journal { border-top: 4px solid #b42318; }
.svc-price-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0; }
.svc-price-pair > div { background: #f5f3ff; border-radius: 12px; padding: 12px; }
.svc-price-pair span { display: block; font-size: 12px; font-weight: 700; color: var(--muted); }
.svc-price-pair b { display: block; font-size: 22px; color: var(--navy); margin: 4px 0 2px; }
.svc-price-pair small { color: var(--muted); font-size: 12px; }
.svc-journal-call {
  background: #fdecea; border-radius: 12px; padding: 14px; margin: 12px 0 14px;
}
.svc-journal-call b { display: block; color: #b42318; margin-bottom: 4px; }
.svc-journal-call span { font-size: 13.5px; color: var(--text); }
.svc-bottom { background: #eef4fb; padding: 28px 0; }
.svc-bottom-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.svc-bottom-grid > div { text-align: center; }
.svc-bottom-grid i {
  width: 40px; height: 40px; border-radius: 10px; background: #fff; color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center; margin-bottom: 8px;
}
.svc-bottom-grid strong { display: block; font-size: 13px; color: var(--navy); }
.svc-bottom-grid span { display: block; font-size: 12px; color: var(--muted); margin-top: 2px; }
@media (max-width: 1240px) {
  .svc-size-price { grid-template-columns: 1fr; }
  .svc-size-benefits ul { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1100px) {
  .svc-hero-grid, .svc-panel.tone-ebook, .svc-print-grid, .svc-size-price, .svc-note-inner { grid-template-columns: 1fr; display: grid; }
  .svc-hero-visual { display: none; }
  .svc-ribbon-grid, .svc-bottom-grid { grid-template-columns: repeat(3, 1fr); }
  .svc-size-benefits ul { grid-template-columns: repeat(2, 1fr); }
  .svc-size-specs { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .svc-hero h1 { font-size: 28px; }
  .svc-trust, .svc-price-pair, .svc-ribbon-grid, .svc-bottom-grid { grid-template-columns: 1fr 1fr; }
  .svc-ribbon-grid, .svc-bottom-grid { grid-template-columns: 1fr 1fr; }
}

/* —— About page —— */
.ab-hero { background: #fff; padding: 48px 0 36px; }
.ab-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: center; }
.ab-label {
  color: #2f6fed; font-size: 12px; font-weight: 800; letter-spacing: .16em;
  text-transform: uppercase; margin: 0 0 10px;
}
.ab-hero h1 { font-size: clamp(32px, 3.6vw, 44px); margin: 0 0 8px; letter-spacing: -.02em; }
.ab-tagline { font-size: 20px; font-weight: 700; color: #3d4f66; margin: 0 0 16px; }
.ab-hero-copy p { max-width: 540px; color: var(--text); }
.ab-cta { margin-top: 8px; }
.ab-hero-visual { transform-style: preserve-3d; will-change: transform; }
.ab-hero-visual img {
  width: 100%; height: auto; border-radius: 18px; object-fit: cover;
  box-shadow: 0 22px 44px rgba(0, 33, 71, .14);
}
.ab-values-bar { background: #f4f7fb; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 28px 0; }
.ab-values-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.ab-values-grid article {
  text-align: center; padding: 8px 22px;
  border-right: 1px solid #d7e0ec;
}
.ab-values-grid article:last-child { border-right: 0; }
.ab-values-grid i { color: #2f6fed; font-size: 26px; margin-bottom: 10px; }
.ab-values-grid h2 { font-size: 16px; color: #2f6fed; margin: 0 0 6px; }
.ab-values-grid p { margin: 0; font-size: 13.5px; color: var(--text); }

.ab-split { display: grid; grid-template-columns: 1.35fr .75fr; gap: 36px; align-items: start; }
.ab-block { margin-bottom: 28px; }
.ab-block h2 {
  font-size: 22px; margin: 0 0 12px; padding-bottom: 8px;
  border-bottom: 3px solid #2f6fed; display: inline-block;
}
.ab-checks {
  list-style: none; margin: 12px 0 0; padding: 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px;
}
.ab-checks li { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; color: var(--navy); font-weight: 600; }
.ab-checks i { color: #2f6fed; margin-top: 3px; }

.ab-card {
  background: #fff; border: 1px solid var(--line); border-radius: 14px;
  padding: 22px 20px; box-shadow: 0 12px 28px rgba(0, 33, 71, .06);
  transform-style: preserve-3d; will-change: transform;
}
.ab-fact { display: grid; grid-template-columns: 40px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid #eef2f6; }
.ab-fact:last-child { border-bottom: 0; padding-bottom: 0; }
.ab-fact:first-child { padding-top: 0; }
.ab-fact-icon {
  width: 36px; height: 36px; border-radius: 50%; background: #2f6fed; color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-size: 13px;
}
.ab-fact b { display: block; font-size: 13px; color: var(--navy); }
.ab-fact span, .ab-fact a { display: block; font-size: 13.5px; color: var(--text); line-height: 1.45; word-break: break-word; }
.ab-fact a:hover { color: #2f6fed; }

.ab-mv { padding: 8px 0 48px; }
.ab-mv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 48px; }
.ab-mv-grid article {
  display: grid; grid-template-columns: 72px 1fr; gap: 16px; align-items: start;
  transform-style: preserve-3d; will-change: transform;
}
.ab-mv-icon {
  width: 64px; height: 64px; border-radius: 50%; background: #e8f0ff; color: #2f6fed;
  display: inline-flex; align-items: center; justify-content: center; font-size: 24px;
}
.ab-mv-grid h2 { color: #2f6fed; font-size: 22px; margin: 4px 0 8px; }
.ab-mv-grid p { margin: 0; color: var(--text); }

.ab-reveal {
  opacity: 0; transform: translateY(22px);
  transition: opacity .65s ease, transform .65s ease;
  transition-delay: calc(var(--d, 0) * 70ms);
}
.ab-reveal.in { opacity: 1; transform: none; }

@media (max-width: 1100px) {
  .ab-hero-grid, .ab-split, .ab-mv-grid, .ab-values-grid, .ab-checks { grid-template-columns: 1fr 1fr; }
  .ab-values-grid article:nth-child(2) { border-right: 0; }
}
@media (max-width: 720px) {
  .ab-hero-grid, .ab-split, .ab-mv-grid, .ab-values-grid, .ab-checks { grid-template-columns: 1fr; }
  .ab-values-grid article { border-right: 0; border-bottom: 1px solid #d7e0ec; padding: 16px 0; }
  .ab-values-grid article:last-child { border-bottom: 0; }
  .ab-mv-grid article { grid-template-columns: 56px 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .ab-reveal { opacity: 1; transform: none; animation: none !important; }
}

.rf-hero { background: #fff; padding: 36px 0 8px; }
.rf-hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 28px; align-items: center; }
.rf-hero h1 { font-size: clamp(28px, 3.4vw, 40px); margin: 0 0 14px; letter-spacing: -.02em; }
.rf-intro { margin: 0; max-width: 620px; color: var(--text); font-size: 15.5px; }
.rf-promise {
  display: grid; grid-template-columns: 72px 1fr 56px; gap: 14px; align-items: center;
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 18px 16px;
  box-shadow: 0 16px 36px rgba(0, 33, 71, .08);
  transform-style: preserve-3d; will-change: transform;
}
.rf-promise-plant {
  width: 64px; height: 64px; border-radius: 16px; background: #e8f6ec; color: var(--green);
  display: inline-flex; align-items: center; justify-content: center; font-size: 28px;
}
.rf-promise b {
  display: block; color: #2f6fed; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 6px;
}
.rf-promise ul { list-style: none; margin: 0; padding: 0; }
.rf-promise li { font-weight: 700; color: var(--navy); line-height: 1.45; }
.rf-promise-shield {
  width: 48px; height: 48px; border-radius: 50%; background: #2f6fed; color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-size: 18px;
  box-shadow: 0 10px 20px rgba(47, 111, 237, .28);
}
.rf-layout { grid-template-columns: minmax(240px, .72fr) minmax(0, 1.7fr); }
.rf-toc ol { counter-reset: rf; }
.rf-toc li { counter-increment: rf; }
.rf-toc a {
  display: grid !important; grid-template-columns: 28px 1fr; gap: 4px; align-items: start;
}
.rf-toc a::before { content: counter(rf) "."; color: #2f6fed; font-weight: 800; }
.rf-toc a.active { color: #2f6fed; }
.rf-mail { background: #f4f8fc; border: 1px solid #e4edf6; border-radius: 10px; padding: 10px 12px; font-size: 13.5px; }
.rf-related { margin-top: 14px; font-size: 13.5px; color: var(--muted); }
@media (max-width: 1100px) {
  .rf-hero-grid, .rf-layout { grid-template-columns: 1fr; }
  .rf-promise { max-width: 420px; }
}
@media (max-width: 640px) {
  .rf-promise { grid-template-columns: 56px 1fr; }
  .rf-promise-shield { display: none; }
}

.rf-hero-visual { position: relative; transform-style: preserve-3d; will-change: transform; }
.rf-hero-visual img {
  width: 100%; height: auto; border-radius: 16px; object-fit: cover;
  box-shadow: 0 18px 40px rgba(0, 33, 71, .12);
}
.rf-ship-badge {
  position: absolute; right: 16px; bottom: 16px; width: 52px; height: 52px; border-radius: 14px;
  background: #2f6fed; color: #fff; display: inline-flex; align-items: center; justify-content: center;
  font-size: 20px; box-shadow: 0 10px 20px rgba(47, 111, 237, .3);
}
.rf-ribbon { background: #eef4fb; border-top: 1px solid #dce6f2; border-bottom: 1px solid #dce6f2; padding: 22px 0; }
.rf-ribbon-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.rf-ribbon-grid article { text-align: center; padding: 6px 14px; border-right: 1px solid #d7e0ec; }
.rf-ribbon-grid article:last-child { border-right: 0; }
.rf-ribbon-grid i { color: #2f6fed; font-size: 22px; margin-bottom: 8px; }
.rf-ribbon-grid h2 { font-size: 14px; color: #2f6fed; margin: 0 0 4px; }
.rf-ribbon-grid p { margin: 0; font-size: 13px; color: var(--text); }
.rf-help-list { list-style: none; margin: 0 0 14px; padding: 0; }
.rf-help-list li { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; font-weight: 600; color: var(--navy); margin: 0 0 8px; }
.rf-help-list i { color: #2f6fed; width: 16px; margin-top: 3px; }
@media (max-width: 1100px) {
  .rf-ribbon-grid { grid-template-columns: 1fr 1fr; }
  .rf-ribbon-grid article:nth-child(2) { border-right: 0; }
}
@media (max-width: 640px) {
  .rf-ribbon-grid { grid-template-columns: 1fr; }
  .rf-ribbon-grid article { border-right: 0; border-bottom: 1px solid #d7e0ec; padding: 12px 0; }
  .rf-ribbon-grid article:last-child { border-bottom: 0; }
}

/* Hide CI4 debug-toolbar view-file overlays if they were already toggled on */
.debug-view-path { display: none !important; }
.debug-view.show-view {
  border: 0 !important;
  margin: 0 !important;
  outline: none !important;
  background: transparent !important;
}

.btn-green { background: #1f7a46; color: #fff; }
.btn-green:hover { background: #166338; color: #fff; }
.portal-side { display: flex; flex-direction: column; }
.portal-brand span { font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.portal-nav-label {
  font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  color: #8aa0b8; padding: 14px 12px 6px;
}
.portal-side nav a { justify-content: flex-start; }
.portal-side nav a span { flex: 1; }
.portal-badge {
  background: #e23b3b; color: #fff; border-radius: 999px; font-size: 10px; min-width: 18px;
  height: 18px; display: inline-flex; align-items: center; justify-content: center; padding: 0 5px;
}
.portal-bell { position: relative; }
.portal-bell .portal-badge { position: absolute; top: -6px; right: -8px; }
.portal-help {
  margin-top: auto; background: rgba(255,255,255,.08); border-radius: 12px; padding: 14px;
  color: #d7e2f0; font-size: 12px;
}
.portal-help strong { display: block; color: #fff; margin-bottom: 6px; }
.portal-help p { margin: 0 0 10px; color: #c5d3e4; }
.pill-blue { background: #e8f0fb; color: #0b5cab; }
.pill-green { background: #e5f6ea; color: #1f7a46; }
.pill-teal { background: #e5f4f2; color: #0f766e; }
.pill-amber { background: #fff4d6; color: #9a6b00; }
.pill-red { background: #fde8e8; color: #b42318; }
.auth-split {
  display: grid; grid-template-columns: minmax(260px, .9fr) minmax(320px, 1fr);
  min-height: 72vh; max-width: 980px; margin: 32px auto; border: 1px solid var(--line);
  border-radius: 16px; overflow: hidden; background: #fff; box-shadow: var(--shadow);
}
.auth-brand { background: var(--navy); color: #d7e2f0; padding: 36px 28px; }
.auth-brand img { height: 36px; margin-bottom: 18px; }
.auth-brand h2 { color: #fff; }
.auth-brand ul { margin: 18px 0 0; padding-left: 18px; }
.auth-card-wide { box-shadow: none; border: 0; margin: 0; width: auto; max-width: none; }
.auth-row { text-align: right; margin: -6px 0 14px; }
.auth-or { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 12px; margin: 18px 0; }
.auth-or::before, .auth-or::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.oauth-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.oauth-btn { justify-content: center; }
.center-link { text-align: center; margin-top: 16px; }
.wiz-head { margin-bottom: 8px; }
.wiz-steps {
  list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
  padding: 0; margin: 0 0 18px;
}
.wiz-steps li {
  background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px;
  display: flex; gap: 8px; align-items: center; font-size: 12px; font-weight: 700; color: var(--muted);
}
.wiz-steps li b {
  width: 24px; height: 24px; border-radius: 50%; background: #e8eef6; color: var(--navy);
  display: inline-flex; align-items: center; justify-content: center;
}
.wiz-steps li.current { border-color: var(--navy); color: var(--navy); }
.wiz-book .wiz-steps li.current, .wiz-book .wiz-steps li.done { border-color: #1e3a8a; }
.wiz-chapter .wiz-steps li.current, .wiz-chapter .wiz-steps li.done { border-color: #1f7a46; }
.wiz-steps li.done b, .wiz-steps li.current b { background: var(--navy); color: #fff; }
.wiz-chapter .wiz-steps li.current b, .wiz-chapter .wiz-steps li.done b { background: #1f7a46; }
.wiz-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) 280px; gap: 16px; }
.author-input { margin-bottom: 8px; }
.dropzone {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  border: 2px dashed #c9d5e4; border-radius: 12px; padding: 36px 16px; background: #f7fafc;
  cursor: pointer; text-align: center; color: var(--navy); margin-bottom: 14px;
}
.dropzone-green { border-color: #9dceb0; background: #f3faf5; }
.book-search { position: relative; }
.book-search-field { position: relative; }
.book-search-field i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #667085; pointer-events: none; }
.book-search-field input { padding-left: 36px; }
.book-search-list {
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30;
  list-style: none; margin: 0; padding: 6px 0; max-height: 280px; overflow: auto;
  background: #fff; border: 1px solid #e4e9f0; border-radius: 10px;
  box-shadow: 0 10px 28px rgba(16, 24, 40, .08);
}
.book-search-list li { padding: 8px 14px; cursor: pointer; }
.book-search-list li strong { display: block; color: var(--navy); font-size: 14px; }
.book-search-list li small { display: block; color: #667085; font-size: 12px; margin-top: 2px; }
.book-search-list li.is-on, .book-search-list li:hover { background: #f3faf5; }
.book-search-list li.is-empty { color: #667085; cursor: default; }

.bd-page { padding: 28px 0 48px; background: #fff; }
.bd-crumbs { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 13px; color: #667085; margin-bottom: 22px; }
.bd-crumbs a { color: #0b5cab; }
.bd-crumbs b { color: var(--navy); font-weight: 600; }
.bd-hero { display: grid; grid-template-columns: minmax(280px, 420px) minmax(0, 1fr); gap: 36px; align-items: start; }
.bd-gallery { display: grid; grid-template-columns: 72px 1fr; gap: 12px; }
.bd-thumbs { display: flex; flex-direction: column; gap: 8px; }
.bd-thumbs button { padding: 0; border: 2px solid #e4e9f0; border-radius: 8px; background: #fff; overflow: hidden; cursor: pointer; }
.bd-thumbs button.is-on { border-color: #1d4ed8; }
.bd-thumbs img { display: block; width: 64px; height: 86px; object-fit: cover; }
.bd-stage { text-align: center; }
.bd-stage img { width: min(100%, 320px); height: auto; max-height: 420px; object-fit: contain; border-radius: 8px; box-shadow: 0 12px 32px rgba(0,33,71,.12); background: #f6f8fb; }
.bd-preview { margin-top: 14px; width: min(100%, 320px); }
.bd-buy h1 { font-size: 30px; margin: 8px 0 6px; }
.bd-sub { font-weight: 700; color: #445066; margin: 0 0 8px; }
.bd-editors { color: #1d4ed8; margin: 0 0 16px; }
.bd-badge { display: inline-block; background: #16a34a; color: #fff; font-size: 11px; font-weight: 800; padding: 3px 8px; border-radius: 999px; }
.bd-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; margin: 0 0 18px; }
.bd-specs > div { display: grid; grid-template-columns: 18px 88px 1fr; gap: 8px; align-items: start; font-size: 13px; }
.bd-specs i { color: #1d4ed8; margin-top: 2px; }
.bd-specs span { color: #667085; }
.bd-specs b { color: var(--navy); }
.bd-price { font-size: 32px; font-weight: 800; color: var(--navy); margin: 0 0 8px; }
.bd-price small { font-size: 13px; font-weight: 600; color: #667085; }
.bd-stock { color: #166534; font-weight: 700; margin: 0 0 16px; }
.bd-stock i { color: #16a34a; }
.bd-stock small { display: block; font-weight: 500; color: #667085; margin-top: 4px; }
.bd-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.bd-cart-form { display: flex; gap: 10px; align-items: flex-end; }
.bd-cart-form .qty-label { margin: 0; width: 72px; }
.bd-buyfrom { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin: 28px 0; padding: 16px 18px; border: 1px solid #e4e9f0; border-radius: 12px; background: #f8fafc; }
.bd-buyfrom > span { font-weight: 800; color: var(--navy); }
.bd-buyfrom-card { flex: 1; min-width: 220px; }
.bd-buyfrom-card b { display: block; }
.bd-buyfrom-card small { display: block; color: #667085; margin: 4px 0 10px; }
.bd-perks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 28px; }
.bd-perks > div { background: #fff; border: 1px solid #eef1f5; border-radius: 10px; padding: 14px; }
.bd-perks i { color: #1d4ed8; margin-bottom: 6px; }
.bd-perks b { display: block; }
.bd-perks span, .bd-perks a { font-size: 13px; color: #667085; }
.bd-tabs .tabs { margin-top: 8px; }
.bd-tab-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) 280px; gap: 24px; align-items: start; }
.bd-ticks { list-style: none; margin: 12px 0 0; padding: 0; }
.bd-ticks li { position: relative; padding: 6px 0 6px 22px; }
.bd-ticks li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 800; }
.bd-people, .bd-author-side { display: flex; flex-direction: column; gap: 12px; }
.bd-author-side { background: #f8fafc; border: 1px solid #e4e9f0; border-radius: 12px; padding: 16px; }
.bd-person { display: flex; gap: 10px; align-items: center; }
.bd-person span { width: 42px; height: 42px; border-radius: 50%; background: #dbeafe; color: #1d4ed8; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }
.bd-person small { display: block; color: #667085; }
.bd-dl { margin: 0; }
.bd-dl > div { display: grid; grid-template-columns: 140px 1fr; gap: 8px; padding: 8px 0; border-bottom: 1px solid #eef1f5; }
.bd-dl dt { color: #667085; }
.bd-related { margin-top: 36px; }
.bd-related-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.bd-nav { width: 36px; height: 36px; border-radius: 50%; border: 1px solid #d7deea; background: #fff; font-size: 20px; cursor: pointer; }
.bd-related-track { display: flex; gap: 16px; overflow: auto; scroll-behavior: smooth; padding-bottom: 8px; }
.bd-related-track .ebook-card { min-width: 180px; flex: 0 0 180px; }
.bd-statbar { background: #f4f7fb; border-top: 1px solid #e4e9f0; padding: 22px 0; }
.bd-statbar .container { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; text-align: center; }
.bd-statbar i { color: #1d4ed8; display: block; margin-bottom: 6px; }
.bd-statbar b { display: block; color: var(--navy); }
.bd-statbar span { font-size: 12px; color: #667085; }
@media (max-width: 980px) {
  .bd-hero, .bd-gallery, .bd-tab-grid, .bd-perks, .bd-statbar .container { grid-template-columns: 1fr; }
  .bd-thumbs { flex-direction: row; }
}
.dropzone i { font-size: 28px; }
.dropzone input { margin-top: 8px; }
.wiz-actions { display: flex; gap: 10px; }
.review-list { display: grid; grid-template-columns: 140px 1fr; gap: 8px 12px; }
.review-list dt { color: var(--muted); font-size: 13px; }
.review-list dd { margin: 0; }
.price-card .price-total, .fee-card b { font-size: 22px; color: var(--navy); }
.wiz-success { text-align: center; padding: 36px 20px; }
.wiz-success i { font-size: 42px; color: #1f7a46; }
.sub-tabs { display: flex; gap: 8px; margin: 0 0 14px; }
.sub-tabs a {
  background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px;
  font-size: 13px; font-weight: 700; color: var(--navy);
}
.sub-tabs a.active { background: var(--navy); color: #fff; }
.status-track {
  list-style: none; display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px;
  padding: 0; margin: 18px 0;
}
.status-track li { text-align: center; font-size: 12px; font-weight: 700; color: var(--muted); }
.status-track b {
  display: block; width: 14px; height: 14px; border-radius: 50%; background: #d5deea;
  margin: 0 auto 6px; position: relative;
}
.status-track li.st-done b, .status-track li.st-current b { background: var(--navy); }
.status-track li.st-current span { color: var(--navy); }
.status-track small { display: block; font-weight: 500; font-size: 11px; }
@media (max-width: 980px) {
  .auth-split, .wiz-grid, .status-track, .wiz-steps { grid-template-columns: 1fr; }
  .review-list { grid-template-columns: 1fr; }
}

.auth-body { min-height: 100vh; background: #eef3f8; }
.auth-center { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 28px 16px; }
.auth-card-center { width: min(460px, 100%); }
.auth-kicker { margin: 0 0 4px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--blue); }
.choice-row { display: flex; flex-wrap: wrap; gap: 10px; }
.choice {
  border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px; font-weight: 700;
  display: inline-flex; gap: 8px; align-items: center; background: #fff; cursor: pointer;
}
.choice:has(input:checked) { border-color: var(--navy); background: #eef3fb; }
.info-box { background: #f4f7fb; border-radius: 10px; padding: 14px 16px; margin: 14px 0; }
.info-box h4 { margin: 0 0 8px; font-size: 14px; }
.info-box ul { margin: 0; padding-left: 18px; }
.chevron-track {
  list-style: none; display: flex; flex-wrap: wrap; gap: 0; padding: 0; margin: 16px 0 22px;
}
.chevron-track li {
  background: #e6edf5; color: #5b6775; font-size: 12px; font-weight: 800; padding: 10px 22px 10px 16px;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%, 12px 50%);
}
.chevron-track li:first-child { clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%); }
.chevron-track li.st-done, .chevron-track li.st-current { background: var(--navy); color: #fff; }
.pay-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bank-box { background: #f4f7fb; border-radius: 8px; padding: 12px; white-space: pre-wrap; font-size: 13px; }
.pub-thumb { width: 36px; height: 48px; object-fit: cover; border-radius: 3px; margin-right: 8px; vertical-align: middle; }

.pb-page { --pb: #5b2d9c; }
.pb-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.pb-mark {
  width: 36px; height: 36px; border-radius: 50%; background: var(--pb); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-weight: 800;
}
.pb-page h1 { font-size: 22px; margin: 0; color: var(--pb); text-transform: uppercase; letter-spacing: .03em; }
.pb-main h2, .pb-step-title { font-size: 20px; margin: 0 0 16px; color: var(--pb); }
.pb-stepper {
  list-style: none; display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  padding: 0; margin: 0 0 22px;
}
.pb-stepper li { display: flex; align-items: center; gap: 8px; color: #8a94a3; font-weight: 700; font-size: 13px; }
.pb-stepper li b {
  width: 28px; height: 28px; border-radius: 50%; background: #ece8f3; color: #8a7aa0;
  display: inline-flex; align-items: center; justify-content: center; font-size: 13px;
}
.pb-stepper li.current { color: var(--pb); }
.pb-stepper li.current b { background: var(--pb); color: #fff; }
.pb-stepper li.done { color: #16a34a; }
.pb-stepper li.done b { background: #16a34a; color: #fff; }
.pb-stepper .pb-line { flex: 1; min-width: 24px; height: 2px; background: #e4ddef; }
.pb-authors { display: flex; flex-direction: column; gap: 8px; }
.pb-add { margin-top: 8px; color: var(--pb); border-color: #d4c6ea; }
.pb-note {
  display: flex; gap: 8px; align-items: flex-start; background: #f4eefb; color: #4b257f;
  border-radius: 8px; padding: 10px 12px; font-size: 13px; margin: 12px 0 14px;
}
.pb-note i { margin-top: 2px; }
.btn-pb { background: var(--pb); color: #fff; border-color: var(--pb); }
.btn-pb:hover { background: #4a227f; color: #fff; }
.pb-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) 320px; gap: 22px; align-items: start; }
.pb-main { background: #fff; border: 1px solid #e4e9f0; border-radius: 12px; padding: 22px 24px; }
.pb-main label i { color: #e11d48; font-style: normal; }
.pb-radios { display: flex; flex-wrap: wrap; gap: 18px; padding-top: 4px; }
.pb-radios label { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--navy); }
.pb-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.price-summary {
  background: #f4f7fb; border: 1px solid #e4e9f0; border-radius: 12px; padding: 18px 18px 14px;
}
.price-summary h3 { margin: 0 0 14px; font-size: 18px; }
.ps-row, .ps-total {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 8px 0; font-size: 13px; color: #445066;
}
.ps-row b { color: var(--navy); font-weight: 700; }
.ps-qty { width: 70px; border: 1px solid #cfd6e0; border-radius: 8px; padding: 6px 8px; text-align: center; }
.ps-total { border-top: 1px solid #d7deea; margin-top: 8px; padding-top: 12px; font-weight: 800; color: var(--navy); }
.ps-total b { color: #16a34a; font-size: 22px; }
.pb-actions-spread { justify-content: space-between; }
.pb-upload-grid, .pb-review-grid { grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); margin-bottom: 8px; }
.pb-drop {
  position: relative; min-height: 280px; border: 2px dashed #9bb4d4; border-radius: 14px; background: #f7fafc;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; gap: 8px; padding: 28px; color: #1d4ed8; cursor: pointer;
}
.pb-drop.is-over { border-color: #1d4ed8; background: #eef4ff; }
.pb-drop i { font-size: 48px; color: #1d4ed8; }
.pb-drop strong { font-size: 16px; }
.pb-drop span, .pb-drop small { color: #1d4ed8; font-weight: 600; }
.pb-drop small { color: #667085; font-weight: 500; }
.pb-drop input {
  position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer;
}
.pb-file-card {
  background: #f4f6f8; border: 1px solid #e4e9f0; border-radius: 12px; padding: 22px;
}
.pb-file-card h3, .pb-main h3 { margin: 0 0 16px; color: var(--navy); font-size: 18px; }
.pb-file-card .ps-row { padding: 10px 0; }
.pb-page-count { color: #16a34a !important; font-size: 18px; }
.pb-summary { margin: 0; }
.pb-summary > div { display: grid; grid-template-columns: 180px 1fr; gap: 8px; padding: 9px 0; border-bottom: 1px solid #eef1f5; }
.pb-summary dt { color: #667085; font-weight: 600; }
.pb-summary dd { margin: 0; font-weight: 700; color: var(--navy); }
.pb-total-row dd { color: #16a34a; font-size: 22px; }
.pb-info { background: #eef8f1; border: 1px solid #cfe8d6; border-radius: 12px; padding: 20px; }
.pb-info h3 { margin: 0 0 14px; color: #166534; }
.pb-info ul { list-style: none; margin: 0 0 16px; padding: 0; }
.pb-info li { position: relative; padding: 0 0 10px 22px; font-size: 13px; color: #245c38; }
.pb-info li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 800; }
.pb-info .check-line { display: flex; align-items: flex-start; gap: 8px; margin: 4px 0 14px; font-size: 13px; }
.pb-info .btn-block { margin-top: 8px; }
@media (max-width: 980px) {
  .pb-grid, .pb-upload-grid, .pb-review-grid { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .pay-grid, .chevron-track { display: block; }
  .chevron-track li { margin-bottom: 6px; clip-path: none; border-radius: 8px; }
}

.track-back { margin: 0 0 12px; }
.track-hero {
  display: flex; gap: 16px; align-items: center;
  background: #fff; border: 1px solid #e4e9f0; border-radius: 12px; padding: 16px 18px; margin-bottom: 22px;
}
.track-cover { width: 64px; height: 88px; object-fit: cover; border-radius: 6px; background: #eef3fb; }
.track-cover-ph { display: flex; align-items: center; justify-content: center; color: #1d4ed8; font-size: 26px; }
.track-hero h1 { margin: 0 0 8px; font-size: 22px; }
.track-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 13px; color: #667085; }
.track-h { font-size: 16px; margin: 0 0 14px; }
.track-pipe {
  list-style: none; display: flex; justify-content: space-between; gap: 6px;
  padding: 4px 0 8px; margin: 0 0 24px; position: relative;
}
.track-pipe::before {
  content: ""; position: absolute; top: 26px; left: 4%; right: 4%; height: 3px; background: #e5eaf1;
}
.track-pipe li {
  position: relative; z-index: 1; flex: 1; min-width: 0;
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px;
}
.track-dot {
  width: 52px; height: 52px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: #eef2f7; color: #8a94a3; font-size: 18px;
  border: 3px solid #fff; box-shadow: 0 0 0 1px #e5eaf1;
}
.track-pipe li strong { font-size: 13px; color: var(--navy); }
.track-pipe li small { font-size: 11px; color: #667085; line-height: 1.3; }
.track-pipe li.done .track-dot { background: #16a34a; color: #fff; box-shadow: none; }
.track-pipe li.current.tone-green .track-dot { background: #dcfce7; color: #15803d; }
.track-pipe li.current.tone-orange .track-dot,
.track-pipe li.pending.tone-orange .track-dot { background: #ffedd5; color: #c2410c; }
.track-pipe li.current.tone-rose .track-dot,
.track-pipe li.pending.tone-rose .track-dot { background: #fce7f3; color: #be185d; }
.track-pipe li.current.tone-amber .track-dot,
.track-pipe li.pending.tone-amber .track-dot { background: #fef3c7; color: #b45309; }
.track-pipe li.current.tone-blue .track-dot,
.track-pipe li.pending.tone-blue .track-dot,
.track-pipe li.pending.tone-navy .track-dot { background: #dbeafe; color: #1d4ed8; }
.track-pipe li.rejected .track-dot { background: #fee2e2; color: #b91c1c; }
.track-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) 280px; gap: 16px; }
.track-details { margin: 0 0 12px; }
.track-details > div { display: grid; grid-template-columns: 160px 1fr; gap: 8px; padding: 8px 0; border-bottom: 1px solid #eef1f5; }
.track-details dt { color: #667085; font-weight: 600; }
.track-details dd { margin: 0; font-weight: 700; color: var(--navy); }
.track-history ol { list-style: none; margin: 0; padding: 0; }
.track-history li { display: grid; grid-template-columns: 92px 1fr; gap: 8px; padding: 8px 0; border-bottom: 1px solid #eef1f5; font-size: 13px; }
.track-history b { color: #667085; font-weight: 600; }
.track-pay { margin-top: 22px; }
.pay-congrats {
  display: flex; gap: 12px; align-items: flex-start;
  background: #eef8f1; border: 1px solid #cfe8d6; border-radius: 12px; padding: 16px 18px; margin-bottom: 16px;
}
.pay-congrats i { color: #16a34a; font-size: 22px; margin-top: 2px; }
.pay-congrats strong { display: block; color: #166534; margin-bottom: 4px; }
.pay-congrats p { margin: 0; color: #245c38; font-size: 13px; }
.pay-split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 18px; }
.pay-royalty .pay-example { background: #f8fafc; border-radius: 8px; padding: 12px; margin-top: 10px; }
.pay-choose { margin: 8px 0 12px; }
.pay-methods { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.pay-method {
  text-align: left; background: #fff; border: 2px solid #e4e9f0; border-radius: 12px; padding: 16px 18px; cursor: pointer;
}
.pay-method span { display: block; font-weight: 800; color: var(--navy); }
.pay-method small { display: block; color: #667085; margin: 4px 0 12px; }
.pay-method.is-on { border-color: #1d4ed8; background: #f5f8ff; }
.pay-logo { display: inline-block; font-size: 22px; line-height: 1; }
.pay-logo-payu { color: #1a73e8; font-weight: 900; letter-spacing: .04em; text-transform: lowercase; }
.pay-logo-paypal { color: #003087; }
.pay-panel { display: none; background: #fff; border: 1px solid #e4e9f0; border-radius: 12px; padding: 16px 18px; }
.pay-panel.is-on { display: block; }
@media (max-width: 980px) {
  .track-pipe { flex-wrap: wrap; }
  .track-pipe::before { display: none; }
  .track-grid, .pay-split, .pay-methods { grid-template-columns: 1fr; }
  .track-details > div { grid-template-columns: 1fr; }
}

.wg { background: #fff; }
.wg-hero {
  background:
    radial-gradient(720px 280px at 12% 0%, rgba(11, 92, 171, .08), transparent 60%),
    linear-gradient(180deg, #f4f8ff 0%, #eef4fb 48%, #fff 100%);
  padding: 36px 0 56px;
}
.wg-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .95fr); gap: 36px; align-items: center; }
.wg-crumbs { font-size: 12.5px; color: var(--muted); margin: 0 0 12px; }
.wg-crumbs a { color: var(--navy); font-weight: 600; }
.wg-crumbs span { margin: 0 6px; color: #9aa6b8; }
.wg-kicker {
  display: inline-block; margin: 0 0 8px; font-size: 11px; font-weight: 800;
  letter-spacing: .12em; text-transform: uppercase; color: var(--blue);
}
.wg-hero h1 { font-size: 42px; letter-spacing: -.03em; margin: 0 0 12px; }
.wg-lede { font-size: 17px; color: var(--muted); max-width: 560px; margin: 0 0 22px; }
.wg-trust {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 14px;
  list-style: none; margin: 0 0 22px; padding: 0;
}
.wg-trust li {
  display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; color: var(--navy);
}
.wg-trust i {
  width: 28px; height: 28px; border-radius: 8px; background: #fff; color: var(--blue);
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 33, 71, .06); flex-shrink: 0;
}
.wg-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.wg-hero-visual { position: relative; }
.wg-hero-visual img {
  width: 100%; height: 360px; object-fit: cover; border-radius: 22px;
  box-shadow: 0 22px 48px rgba(0, 33, 71, .16);
}
.wg-hero-badge {
  position: absolute; left: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 8px;
  background: #fff; color: #166534; border-radius: 999px; padding: 8px 14px;
  font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(0, 33, 71, .14);
}
.wg-hero-badge i { color: #16a34a; }
.wg-head { max-width: 680px; margin: 0 auto 28px; text-align: center; }
.wg-head h2 { font-size: 30px; margin: 0 0 8px; }
.wg-head p { margin: 0; color: var(--muted); }
.wg-start-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.wg-tile {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 22px 18px 20px;
  box-shadow: 0 10px 24px rgba(0, 33, 71, .04); min-height: 100%;
  transition: transform .2s ease, box-shadow .2s ease;
}
.wg-tile:hover { transform: translateY(-3px); box-shadow: 0 16px 30px rgba(0, 33, 71, .08); }
.wg-tile h3 { font-size: 16px; margin: 0 0 8px; }
.wg-tile p { margin: 0; font-size: 13.5px; color: var(--muted); }
.wg-ico {
  width: 44px; height: 44px; border-radius: 12px; display: inline-flex; align-items: center;
  justify-content: center; font-size: 18px; margin-bottom: 14px;
}
.wg-ico.tone-blue { background: #e8f1fb; color: #0b5cab; }
.wg-ico.tone-teal { background: #e6f5f4; color: #0f6b72; }
.wg-ico.tone-orange { background: #fff1e4; color: #c26114; }
.wg-ico.tone-green { background: #e8f6ec; color: #1e7e34; }
.wg-structure { display: grid; grid-template-columns: minmax(240px, .9fr) 180px minmax(280px, 1.15fr); gap: 20px; align-items: stretch; }
.wg-rail-card, .wg-guide-card, .wg-panel {
  background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 22px 20px;
  box-shadow: 0 12px 28px rgba(0, 33, 71, .05);
}
.wg-rail-card h3, .wg-guide-card h3, .wg-panel h2 { font-size: 18px; margin: 0 0 14px; }
.wg-rail { list-style: none; margin: 0; padding: 0; }
.wg-rail li {
  display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid #eef2f6;
  font-size: 14px; font-weight: 700; color: var(--navy);
}
.wg-rail li:last-child { border-bottom: 0; }
.wg-rail i {
  width: 28px; height: 28px; border-radius: 50%; background: #eef4fb; color: var(--blue);
  display: inline-flex; align-items: center; justify-content: center; font-size: 12px;
}
.wg-book-art { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.wg-book-art svg { width: min(100%, 200px); height: auto; filter: drop-shadow(0 12px 20px rgba(0, 33, 71, .08)); }
.wg-book-art p { margin: 10px 0 0; font-size: 12px; font-weight: 700; color: var(--muted); }
.wg-guide { list-style: none; margin: 0; padding: 0; }
.wg-guide li { padding: 10px 0; border-bottom: 1px solid #eef2f6; font-size: 13.5px; color: var(--muted); }
.wg-guide li:last-child { border-bottom: 0; }
.wg-guide b { display: block; color: var(--navy); margin-bottom: 2px; }
.wg-note {
  display: flex; gap: 8px; align-items: flex-start; margin: 18px 0 0; padding: 12px 14px;
  background: #eef5fb; border-radius: 12px; font-size: 13px; color: var(--navy);
}
.wg-note i { color: var(--blue); margin-top: 2px; }
.wg-trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: stretch; }
.wg-num { margin: 0 0 6px; font-size: 12px; font-weight: 800; letter-spacing: .12em; color: #9aa6b8; }
.wg-spec { margin: 0 0 16px; }
.wg-spec > div {
  display: flex; justify-content: space-between; gap: 12px; padding: 8px 0;
  border-bottom: 1px dashed #dce3ee; font-size: 13.5px;
}
.wg-spec dt { color: var(--muted); font-weight: 600; }
.wg-spec dd { margin: 0; font-weight: 700; color: var(--navy); text-align: right; }
.wg-length { text-align: center; }
.wg-length-ring {
  width: 210px; height: 210px; margin: 12px auto 16px; border-radius: 50%;
  background: radial-gradient(circle at 50% 40%, #fff 0 46%, #fff4ea 47% 72%, #ffe4c7 73%);
  border: 10px solid #f3d2b0; color: #9a4b0f;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  box-shadow: inset 0 0 0 8px #fff;
}
.wg-length-ring i { font-size: 26px; }
.wg-length-ring strong { display: block; max-width: 9em; font-size: 16px; line-height: 1.3; }
.wg-mini { list-style: none; margin: 0; padding: 0; text-align: left; color: var(--navy); font-size: 13.5px; }
.wg-mini li { padding: 5px 0 5px 16px; position: relative; }
.wg-mini li::before { content: ""; position: absolute; left: 0; top: 12px; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }
.wg-checks { list-style: none; margin: 0 0 16px; padding: 0; }
.wg-checks li { display: flex; gap: 8px; align-items: flex-start; padding: 6px 0; font-size: 13.5px; color: var(--navy); }
.wg-checks i { color: var(--green); margin-top: 3px; }
.wg-green-btn { border-color: #8dcaa0; color: #1e7e34; }
.wg-green-btn:hover { background: #1e7e34; border-color: #1e7e34; color: #fff; }
.wg-flow {
  list-style: none; margin: 0; padding: 8px 0 0; display: grid;
  grid-template-columns: repeat(6, 1fr); gap: 12px; position: relative;
}
.wg-flow::before {
  content: ""; position: absolute; top: 34px; left: 7%; right: 7%;
  border-top: 2px dashed #c5d4ea;
}
.wg-flow li { position: relative; z-index: 1; text-align: center; }
.wg-flow-num {
  width: 28px; height: 28px; margin: 0 auto 8px; border-radius: 50%;
  background: var(--navy); color: #fff; display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 800;
}
.wg-flow-ico {
  width: 54px; height: 54px; margin: 0 auto 10px; border-radius: 50%;
  background: #fff; border: 1.5px solid #c9d8ea; color: var(--navy);
  display: flex; align-items: center; justify-content: center; font-size: 18px;
  box-shadow: 0 8px 18px rgba(0, 33, 71, .06);
}
.wg-flow strong { display: block; font-size: 13.5px; color: var(--navy); margin-bottom: 4px; }
.wg-flow small { display: block; font-size: 12px; color: var(--muted); line-height: 1.4; }
.wg-after { list-style: none; margin: 0; padding: 0; }
.wg-after li { display: flex; gap: 10px; align-items: flex-start; padding: 9px 0; border-bottom: 1px solid #eef2f6; }
.wg-after li:last-child { border-bottom: 0; }
.wg-after i {
  width: 30px; height: 30px; border-radius: 8px; background: #eef4fb; color: var(--blue);
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.wg-after b { display: block; color: var(--navy); font-size: 13.5px; }
.wg-after span { font-size: 12.5px; color: var(--muted); }
.wg-gift {
  display: flex; align-items: center; gap: 8px; background: #fff6e8; color: #8a5a12;
  border-radius: 10px; padding: 10px 12px; font-size: 13px; font-weight: 700; margin-bottom: 12px;
}
.wg-gift i { color: #c9a227; }
.wg-price-card {
  border: 1px solid var(--line); border-radius: 14px; padding: 14px 14px 12px; margin-bottom: 10px; background: #f8fafc;
}
.wg-price-card span { display: block; font-size: 13px; font-weight: 700; color: var(--muted); }
.wg-price-card b { display: block; font-size: 28px; color: var(--navy); line-height: 1.15; margin: 4px 0 2px; }
.wg-price-card small { color: var(--muted); }
.wg-price-card.is-featured { background: #002147; color: #d7e2f0; border-color: #002147; position: relative; }
.wg-price-card.is-featured span, .wg-price-card.is-featured b { color: #fff; }
.wg-price-card.is-featured small { color: #c9d4e3; }
.wg-price-card em {
  position: absolute; top: -10px; right: 12px; background: #c9a227; color: #002147;
  font-style: normal; font-size: 10px; font-weight: 800; letter-spacing: .06em;
  text-transform: uppercase; border-radius: 999px; padding: 3px 8px;
}
.wg-price-note { font-size: 12.5px; color: var(--muted); margin: 4px 0 14px; }
.wg-calls-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 18px; }
.wg-calls-head h2 { margin: 0 0 6px; }
.wg-calls-head p { margin: 0; color: var(--muted); }
.wg-all { font-weight: 800; color: var(--navy); white-space: nowrap; }
.wg-slider {
  width: 100%;
  max-width: 100%;
  padding: 4px 42px;
  overflow: hidden;
}
.wg-slider .book-slider-track {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  flex-wrap: nowrap;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 4px;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  touch-action: pan-x;
}
.wg-slider .book-slider-track.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  scroll-behavior: auto;
  user-select: none;
}
.wg-slider .slider-btn {
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  background: #fff;
  border: 1px solid #d7e2ef;
  box-shadow: 0 8px 18px rgba(0, 33, 71, .12);
}
.wg-slider .slider-btn:hover:not(:disabled) { background: #e8f1fb; }
.wg-slider .slider-btn:disabled { opacity: .35; cursor: default; box-shadow: none; }
.wg-call {
  flex: 0 0 260px; width: 260px; max-width: 260px; background: #fff; border: 1px solid var(--line); border-radius: 16px;
  padding: 16px 16px 14px; display: flex; flex-direction: column; min-height: 250px;
  box-shadow: 0 10px 22px rgba(0, 33, 71, .04);
  scroll-snap-align: start;
}
.wg-call h3 { font-size: 15px; margin: 10px 0 10px; line-height: 1.35; }
.wg-call h3 a { color: var(--navy); }
.wg-call p { margin: 0 0 6px; font-size: 12.5px; color: var(--muted); }
.wg-call p i { width: 14px; margin-right: 4px; }
.wg-call-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: auto; padding-top: 12px; }
.wg-call-actions .btn { padding: 8px 8px; font-size: 12px; }
.wg-empty { text-align: center; color: var(--muted); }
.wg-faq {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px;
  border-top: 1px solid var(--line);
}
.wg-faq details { border-bottom: 1px solid var(--line); }
.wg-faq summary {
  list-style: none; cursor: pointer; padding: 16px 28px 16px 0; font-weight: 700; color: var(--navy);
  position: relative;
}
.wg-faq summary::-webkit-details-marker { display: none; }
.wg-faq summary::after {
  content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900;
  position: absolute; right: 0; top: 18px; color: var(--blue); font-size: 12px;
}
.wg-faq details[open] summary::after { content: "\f077"; }
.wg-faq p { margin: 0 0 16px; font-size: 13.5px; color: var(--muted); }
.wg-cta { padding: 8px 0 0; }
.wg-cta-inner {
  background: linear-gradient(135deg, #001a38 0%, #002147 48%, #0b3a75 100%);
  color: #d7e2f0; border-radius: 22px; padding: 36px 36px 28px;
  display: grid; grid-template-columns: minmax(0, 1.4fr) 240px; gap: 20px; align-items: center;
}
.wg-cta h2 { color: #fff; font-size: 30px; margin: 0 0 10px; }
.wg-cta p { margin: 0 0 18px; }
.wg-cta-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.wg-cta img { justify-self: end; max-height: 180px; width: auto; }
.wg-bar { background: #eef5fb; margin-top: 28px; }
.wg-bar-grid {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; padding: 22px 0;
  text-align: center; font-size: 13px; font-weight: 700; color: var(--navy);
}
.wg-bar i { display: block; font-size: 20px; color: var(--blue); margin-bottom: 8px; }
@media (max-width: 1100px) {
  .wg-hero-grid, .wg-structure, .wg-trio, .wg-cta-inner, .wg-faq { grid-template-columns: 1fr; }
  .wg-start-grid { grid-template-columns: 1fr 1fr; }
  .wg-flow { grid-template-columns: 1fr 1fr 1fr; }
  .wg-flow::before { display: none; }
  .wg-hero-visual img { height: 280px; }
  .wg-cta img { justify-self: start; }
  .wg-calls-head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 720px) {
  .wg-hero h1 { font-size: 30px; }
  .wg-trust, .wg-start-grid, .wg-flow, .wg-bar-grid, .wg-call-actions { grid-template-columns: 1fr 1fr; }
  .wg-hero-actions .btn { width: 100%; }
}
@media (max-width: 520px) {
  .wg-trust, .wg-bar-grid { grid-template-columns: 1fr; }
  .wg-flow { grid-template-columns: 1fr; }
}

.cp { background: #f7f9fc; }
.cp .section { background: #fff; }
.cp-hero { padding: 28px 0 8px; background: linear-gradient(180deg, #f4f7fb 0%, #eef3f8 100%); }
.cp-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr); gap: 36px; align-items: center; }
.cp-crumbs { font-size: 12.5px; color: var(--muted); margin: 0 0 14px; }
.cp-crumbs a { color: var(--navy); font-weight: 600; }
.cp-crumbs span { margin: 0 6px; color: #9aa6b8; }
.cp-hero h1 { font-size: 44px; letter-spacing: -.03em; margin: 0 0 8px; }
.cp-tag { margin: 0 0 14px; font-size: 22px; font-weight: 800; color: #2f7cf6; letter-spacing: -.02em; }
.cp-lede { margin: 0 0 22px; font-size: 16px; color: var(--muted); max-width: 34rem; }
.cp-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cp-hero-visual { position: relative; min-height: 320px; }
.cp-hall {
  width: 100%; height: 340px; object-fit: cover; border-radius: 18px;
  box-shadow: 0 22px 40px rgba(0, 33, 71, .16);
}
.cp-stack {
  position: absolute; left: 18px; bottom: 28px; width: 46%; height: auto;
  filter: drop-shadow(0 16px 24px rgba(0, 33, 71, .28));
  mix-blend-mode: multiply;
}
.cp-float {
  position: absolute; right: 14px; bottom: 18px; max-width: 220px;
  background: #fff; border-radius: 12px; padding: 12px 14px;
  font-size: 13px; font-weight: 800; color: var(--navy); line-height: 1.35;
  box-shadow: 0 12px 28px rgba(0, 33, 71, .14);
}
.cp-ribbon {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px;
  margin: 22px 0 8px; padding: 18px 10px; background: #eef2f6; border-radius: 14px; text-align: center;
}
.cp-ribbon i { display: block; font-size: 20px; color: #1d4f91; margin-bottom: 8px; }
.cp-ribbon span { font-size: 12.5px; font-weight: 700; color: var(--navy); line-height: 1.3; }
.cp-split { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.cp-split h2 { font-size: 26px; margin-bottom: 12px; }
.cp-split p { color: var(--muted); }
.cp-who { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; }
.cp-who-item { display: flex; align-items: center; gap: 10px; }
.cp-who-item strong { font-size: 13.5px; color: var(--navy); }
.cp-who-ico {
  width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-size: 16px; flex: none;
}
.cp-who-ico.tone-green { background: #e7f7ec; color: #1e7e34; }
.cp-who-ico.tone-blue { background: #e7f1fb; color: #0b5cab; }
.cp-who-ico.tone-purple { background: #f1e9fb; color: #6d28d9; }
.cp-who-ico.tone-orange { background: #fff1e4; color: #c26114; }
.cp-who-ico.tone-pink { background: #fde8f0; color: #be185d; }
.cp-who-ico.tone-red { background: #fde8e8; color: #b42318; }
.cp-process { background: transparent; padding: 8px 0 28px; color: #fff; }
.cp-process-panel {
  background: #071427;
  border-radius: 22px;
  padding: 42px 28px 36px;
}
.cp-process h2 { color: #fff; text-align: center; font-size: 28px; margin: 0 0 34px; letter-spacing: -.02em; }
.cp-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.cp-steps li { text-align: center; padding: 0 8px; }
.cp-step-top { position: relative; height: 72px; margin-bottom: 14px; }
.cp-step-ico {
  width: 64px; height: 64px; margin: 0 auto; border-radius: 50%;
  display: grid; place-items: center; color: #fff; font-size: 22px;
}
.cp-step-ico.tone-blue {
  background: radial-gradient(circle at 32% 28%, #93c5fd, #2563eb 58%, #1d4ed8);
  box-shadow: 0 0 0 8px rgba(37, 99, 235, .16), 0 10px 24px rgba(37, 99, 235, .45);
}
.cp-step-ico.tone-teal {
  background: radial-gradient(circle at 32% 28%, #99f6e4, #0d9488 58%, #0f766e);
  box-shadow: 0 0 0 8px rgba(13, 148, 136, .16), 0 10px 24px rgba(13, 148, 136, .42);
}
.cp-step-ico.tone-orange {
  background: radial-gradient(circle at 32% 28%, #fdba74, #f97316 58%, #ea580c);
  box-shadow: 0 0 0 8px rgba(249, 115, 22, .16), 0 10px 24px rgba(234, 88, 12, .42);
}
.cp-step-ico.tone-purple {
  background: radial-gradient(circle at 32% 28%, #d8b4fe, #8b5cf6 58%, #7c3aed);
  box-shadow: 0 0 0 8px rgba(139, 92, 246, .16), 0 10px 24px rgba(124, 58, 237, .42);
}
.cp-step-ico.tone-cyan {
  background: radial-gradient(circle at 32% 28%, #a5f3fc, #22d3ee 58%, #0891b2);
  box-shadow: 0 0 0 8px rgba(8, 145, 178, .16), 0 10px 24px rgba(8, 145, 178, .42);
}
.cp-step-ico.tone-pink {
  background: radial-gradient(circle at 32% 28%, #f9a8d4, #ec4899 58%, #db2777);
  box-shadow: 0 0 0 8px rgba(236, 72, 153, .16), 0 10px 24px rgba(219, 39, 119, .42);
}
.cp-step-arrow {
  position: absolute; top: 32px; right: -6px; transform: translateX(50%);
  color: #fff; font-size: 13px; opacity: .92;
}
.cp-steps strong { display: block; color: #fff; font-size: 14.5px; font-weight: 800; margin-bottom: 6px; line-height: 1.3; }
.cp-step-txt { display: block; font-size: 12.5px; line-height: 1.45; color: rgba(255,255,255,.78); }
.cp-offer { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.15fr); gap: 36px; align-items: start; }
.cp-why h2, .cp-plans h2 { font-size: 26px; margin: 0 0 16px; }
.cp-why-body { display: grid; grid-template-columns: minmax(0, 1fr) 170px; gap: 16px; align-items: center; }
.cp-checks { list-style: none; margin: 0; padding: 0; }
.cp-checks li { display: flex; gap: 10px; align-items: flex-start; padding: 7px 0; font-size: 14.5px; color: var(--navy); font-weight: 600; }
.cp-checks i {
  width: 20px; height: 20px; border-radius: 50%; flex: none; margin-top: 1px;
  display: grid; place-items: center; background: #2f7cf6; color: #fff; font-size: 10px;
}
.cp-why-book { display: flex; justify-content: center; }
.cp-why-book img { width: min(100%, 170px); height: auto; filter: drop-shadow(0 16px 24px rgba(0, 33, 71, .16)); }
.cp-plans-lede { margin: -8px 0 16px; color: var(--muted); font-size: 14px; }
.cp-prices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.cp-price {
  background: #fff; border: 1px solid #e5ebf3; border-radius: 14px; padding: 18px 14px 16px;
  box-shadow: 0 8px 20px rgba(0, 33, 71, .05); display: flex; flex-direction: column; min-height: 100%;
}
.cp-price h3 { margin: 10px 0 4px; font-size: 15px; }
.cp-price b { display: block; font-size: 22px; color: var(--navy); line-height: 1.15; }
.cp-price small { color: var(--muted); font-weight: 600; display: block; margin: 2px 0 10px; }
.cp-price-ico {
  width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-size: 16px;
}
.cp-price.tone-purple .cp-price-ico { background: #f3e8ff; color: #7c3aed; }
.cp-price.tone-orange .cp-price-ico { background: #fff1e4; color: #ea580c; }
.cp-price.tone-green .cp-price-ico { background: #e8f6ec; color: #1e7e34; }
.cp-price ul { list-style: none; margin: 0 0 14px; padding: 0; flex: 1; }
.cp-price li { display: flex; gap: 8px; font-size: 12.5px; color: var(--muted); padding: 3px 0; }
.cp-price li i { color: var(--green); margin-top: 3px; font-size: 11px; }
.cp-price .btn { width: 100%; justify-content: center; margin-top: auto; }
.cp-banner { background: #0b5cab; }
.cp-banner-inner {
  display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; padding: 22px 0; color: #fff;
}
.cp-banner-inner i { font-size: 28px; }
.cp-banner-inner p { margin: 0; font-size: 20px; font-weight: 800; }
.cp-faq-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, .7fr); gap: 28px; align-items: start; }
.cp-faq details { border-bottom: 1px solid var(--line); background: #fff; }
.cp-faq summary {
  list-style: none; cursor: pointer; padding: 14px 8px; font-weight: 700; color: var(--navy);
  display: flex; justify-content: space-between; gap: 12px;
}
.cp-faq summary::-webkit-details-marker { display: none; }
.cp-faq summary::after { content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: #98a6b5; }
.cp-faq details[open] summary::after { content: "\f077"; }
.cp-faq p { margin: 0 8px 14px; color: var(--muted); font-size: 14px; }
.cp-side { display: grid; gap: 14px; }
.cp-side-card {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 20px;
  box-shadow: 0 10px 24px rgba(0, 33, 71, .05);
}
.cp-side-card h3 { margin: 10px 0 8px; font-size: 18px; }
.cp-side-card p { color: var(--muted); font-size: 14px; }
.cp-side-card .btn { width: 100%; }
.cp-side-ico {
  width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-size: 18px; color: #fff;
}
.cp-side-ico.tone-blue { background: #0b5cab; }
.cp-side-ico.tone-green { background: #1e7e34; }
.cp-green-btn { border-color: #8dcaa0; color: #1e7e34; }
.cp-green-btn:hover { background: #1e7e34; border-color: #1e7e34; color: #fff; }
.cp-brochure-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.cp-brochure-sheet {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 28px;
  box-shadow: 0 12px 28px rgba(0, 33, 71, .06);
}
.cp-brochure-sheet header { display: flex; gap: 12px; align-items: center; margin-bottom: 16px; }
.cp-brochure-sheet header strong { display: block; }
.cp-brochure-sheet header span { color: var(--muted); font-size: 13px; }
.cp-brochure-packs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 18px 0; }
.cp-brochure-packs > div { border: 1px solid var(--line); border-radius: 12px; padding: 14px; }
.cp-brochure-packs b { display: block; font-size: 22px; margin: 4px 0 8px; color: var(--navy); }
.cp-brochure-sheet footer { display: flex; flex-wrap: wrap; gap: 12px 18px; margin-top: 18px; font-size: 13px; color: var(--muted); }
@media (max-width: 1100px) {
  .cp-hero-grid, .cp-split, .cp-offer, .cp-faq-grid, .cp-banner-inner { grid-template-columns: 1fr; }
  .cp-steps { grid-template-columns: 1fr 1fr 1fr; }
  .cp-step-arrow { display: none; }
  .cp-hall { height: 260px; }
  .cp-why-book img { width: min(100%, 220px); }
}
@media (max-width: 720px) {
  .cp-hero h1 { font-size: 32px; }
  .cp-ribbon, .cp-who, .cp-steps, .cp-brochure-packs { grid-template-columns: 1fr 1fr; }
  .cp-prices { grid-template-columns: 1fr; }
  .cp-hero-actions .btn, .cp-banner-inner .btn { width: 100%; }
  .cp-stack { width: 58%; }
  .cp-float { max-width: 70%; }
}
@media (max-width: 520px) {
  .cp-ribbon, .cp-who, .cp-steps, .cp-why-body { grid-template-columns: 1fr; }
}
@media print {
  .no-print, .utility-bar, .navbar, footer.footer { display: none !important; }
  .cp-brochure-sheet { box-shadow: none; border: 0; }
}

.be { background: #f7f9fc; }
.be .section { background: #fff; }
.be-hero { padding: 28px 0 36px; background: linear-gradient(180deg, #f4f7fb, #eef3f8); }
.be-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: 36px; align-items: center; }
.be-crumbs { font-size: 12.5px; color: var(--muted); margin: 0 0 12px; }
.be-crumbs a { color: var(--navy); font-weight: 600; }
.be-crumbs span { margin: 0 6px; color: #9aa6b8; }
.be-hero h1 { font-size: 42px; letter-spacing: -.03em; margin: 0 0 8px; }
.be-tag { margin: 0 0 12px; font-size: 18px; font-weight: 800; color: #2f7cf6; }
.be-lede { margin: 0 0 20px; color: var(--muted); max-width: 36rem; }
.be-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.be-hero-visual img { width: 100%; height: 340px; object-fit: cover; border-radius: 18px; box-shadow: 0 20px 36px rgba(0, 33, 71, .14); }
.be-lined { text-align: center; display: flex; align-items: center; justify-content: center; gap: 16px; font-size: 26px; }
.be-lined::before, .be-lined::after { content: ""; height: 1px; width: min(18%, 90px); background: #d5deea; }
.be-why { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.be-why article {
  background: #fff; border: 1px solid #e5ebf3; border-radius: 14px; padding: 20px 18px;
  box-shadow: 0 8px 20px rgba(0, 33, 71, .04);
}
.be-why h3 { font-size: 16px; margin: 10px 0 6px; }
.be-why p { margin: 0; color: var(--muted); font-size: 13.5px; }
.be-ico {
  width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-size: 16px; color: #fff;
}
.be-ico.tone-blue { background: #2f7cf6; }
.be-ico.tone-teal { background: #0d9488; }
.be-ico.tone-navy { background: #002147; }
.be-ico.tone-orange { background: #ea580c; }
.be-ico.tone-green { background: #1e7e34; }
.be-ico.tone-purple { background: #7c3aed; }
.be-main { display: grid; grid-template-columns: 1fr .9fr 1.15fr; gap: 18px; align-items: start; }
.be-card { background: #fff; border: 1px solid #e5ebf3; border-radius: 16px; padding: 20px; box-shadow: 0 10px 24px rgba(0, 33, 71, .04); }
.be-card h2 { font-size: 18px; margin: 0 0 14px; }
.be-mid { display: grid; gap: 16px; }
.be-roles { list-style: none; margin: 0; padding: 0; }
.be-roles li { display: flex; gap: 10px; padding: 10px 0; border-bottom: 1px solid #eef2f6; }
.be-roles li:last-child { border-bottom: 0; }
.be-roles i { color: #2f7cf6; margin-top: 3px; width: 18px; }
.be-roles strong { display: block; font-size: 14px; }
.be-roles span { display: block; font-size: 13px; color: var(--muted); }
.be-who h2 { display: flex; align-items: center; gap: 8px; background: #0b5cab; color: #fff; margin: -20px -20px 14px; padding: 14px 18px; border-radius: 16px 16px 0 0; }
.be-who h2 i { color: #fff; }
.be-std { background: #eef8f0; border-color: #cfe8d6; }
.be-ticks { list-style: none; margin: 0; padding: 0; }
.be-ticks li { display: flex; gap: 8px; padding: 5px 0; font-size: 13.5px; color: var(--navy); }
.be-ticks i { color: #2f7cf6; margin-top: 3px; }
.be-ticks.green i { color: #1e7e34; }
.be-form-card h2 { color: #0b5cab; display: flex; align-items: center; gap: 8px; }
.be-form-card label { display: block; margin-bottom: 12px; font-size: 13px; font-weight: 700; color: var(--navy); }
.be-form-card label span b, .be-agree b, .be-doc strong b { color: #d92d20; }
.be-form-card .form-control { margin-top: 4px; font-weight: 500; width: 100%; }
.be-phone { display: grid; grid-template-columns: 88px 1fr; gap: 8px; margin-top: 4px; }
.be-docs-label { margin: 8px 0 8px; font-weight: 800; color: var(--navy); }
.be-doc { margin-bottom: 12px; }
.be-doc strong { display: block; margin-bottom: 8px; font-size: 13px; }
.be-doc .btn { margin-bottom: 8px; }
.be-drop {
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  border: 1.5px dashed #c5d0e0; border-radius: 12px; padding: 18px 12px; text-align: center;
  background: #f8fafc; cursor: pointer; font-weight: 600;
}
.be-drop input[type=file] {
  position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%;
}
.be-drop.is-over, .be-drop:hover { border-color: #2f7cf6; background: #f1f6fd; }
.be-drop i { color: #2f7cf6; font-size: 20px; }
.be-drop span { font-size: 12px; font-weight: 500; color: var(--muted); }
.be-agree { display: flex !important; gap: 8px; align-items: flex-start; font-weight: 600 !important; }
.be-agree input { margin-top: 3px; }
.be-submit { width: 100%; justify-content: center; margin-top: 6px; }
.be-safe { font-size: 12px; color: var(--muted); margin: 10px 0 0; }
.be-ok, .be-err { border-radius: 10px; padding: 12px 14px; margin: 0 0 14px; font-weight: 700; }
.be-ok { background: #e8f6ec; color: #1e7e34; }
.be-err { background: #fdecea; color: #b42318; }
.be-onboard {
  background: #fff;
  border: 1px solid #e5ebf3;
  border-radius: 22px;
  padding: 36px 22px 32px;
  box-shadow: 0 12px 30px rgba(0, 33, 71, .05);
}
.be-onboard h2 {
  text-align: center;
  font-size: 26px;
  margin: 0 0 34px;
  letter-spacing: -.02em;
}
.be-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.be-steps li { text-align: center; padding: 0 8px; }
.be-step-top { position: relative; height: 92px; margin-bottom: 8px; }
.be-step-ico {
  position: relative;
  width: 74px; height: 74px; margin: 0 auto; border-radius: 50%;
  display: grid; place-items: center;
  color: #fff;
}
.be-step-ico i { font-size: 26px; line-height: 1; }
.be-step-ico b {
  position: absolute; left: 50%; bottom: -6px; transform: translateX(-50%);
  width: 24px; height: 24px; border-radius: 50%;
  display: grid; place-items: center;
  background: #002147; color: #fff;
  border: 2px solid #fff;
  font-size: 12px; font-weight: 800; line-height: 1;
  box-shadow: 0 4px 10px rgba(0, 33, 71, .18);
}
.be-step-ico.tone-blue {
  background: radial-gradient(circle at 32% 28%, #93c5fd, #2563eb 58%, #1d4ed8);
  box-shadow: 0 0 0 10px rgba(37, 99, 235, .12), 0 12px 26px rgba(37, 99, 235, .32);
}
.be-step-ico.tone-blue b { background: #1d4ed8; }
.be-step-ico.tone-green {
  background: radial-gradient(circle at 32% 28%, #86efac, #22c55e 58%, #16a34a);
  box-shadow: 0 0 0 10px rgba(34, 197, 94, .12), 0 12px 26px rgba(22, 163, 74, .3);
}
.be-step-ico.tone-green b { background: #15803d; }
.be-step-ico.tone-purple {
  background: radial-gradient(circle at 32% 28%, #d8b4fe, #8b5cf6 58%, #7c3aed);
  box-shadow: 0 0 0 10px rgba(139, 92, 246, .12), 0 12px 26px rgba(124, 58, 237, .3);
}
.be-step-ico.tone-purple b { background: #6d28d9; }
.be-step-ico.tone-orange {
  background: radial-gradient(circle at 32% 28%, #fdba74, #f97316 58%, #ea580c);
  box-shadow: 0 0 0 10px rgba(249, 115, 22, .12), 0 12px 26px rgba(234, 88, 12, .3);
}
.be-step-ico.tone-orange b { background: #c2410c; }
.be-step-ico.tone-cyan {
  background: radial-gradient(circle at 32% 28%, #7dd3fc, #0ea5e9 58%, #0284c7);
  box-shadow: 0 0 0 10px rgba(14, 165, 233, .12), 0 12px 26px rgba(2, 132, 199, .3);
}
.be-step-ico.tone-cyan b { background: #0369a1; }
.be-step-arrow {
  position: absolute; top: 36px; left: calc(50% + 46px); right: calc(-50% + 46px);
  height: 0; border-top: 1.5px solid #d5deea; pointer-events: none;
}
.be-step-arrow::after {
  content: ""; position: absolute; right: -1px; top: -5px;
  width: 8px; height: 8px;
  border-right: 1.5px solid #c5d0e0; border-top: 1.5px solid #c5d0e0;
  transform: rotate(45deg);
}
.be-steps strong { display: block; font-size: 15px; font-weight: 800; color: var(--navy); margin: 0 0 6px; line-height: 1.3; }
.be-steps p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--muted); }
.be-cta { background: #002147; }
.be-cta-inner { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 28px 0; color: #d7e2f0; flex-wrap: wrap; }
.be-cta-inner > div:first-child { display: flex; gap: 14px; align-items: center; }
.be-cta h2 { color: #fff; margin: 0 0 4px; font-size: 22px; }
.be-cta p { margin: 0; }
.be-cta-ico { width: 48px; height: 48px; border-radius: 50%; background: #2f7cf6; color: #fff; display: grid; place-items: center; font-size: 18px; flex: none; }
.be-cta-actions { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 1100px) {
  .be-hero-grid, .be-main, .be-why { grid-template-columns: 1fr 1fr; }
  .be-steps { grid-template-columns: 1fr 1fr; }
  .be-step-arrow { display: none; }
  .be-onboard { padding: 28px 16px 22px; }
}
@media (max-width: 720px) {
  .be-hero h1 { font-size: 30px; }
  .be-hero-grid, .be-main, .be-why, .be-steps { grid-template-columns: 1fr; }
  .be-hero-visual img { height: 220px; }
  .be-hero-actions .btn, .be-submit, .be-cta-actions .btn { width: 100%; }
  .be-lined::before, .be-lined::after { display: none; }
  .be-steps li { padding: 8px 0 16px; }
}

.lang-switcher { position: relative; }
.lang-switcher-btn {
  display: inline-flex; align-items: center; gap: 7px; background: transparent;
  border: 0; color: inherit; font: inherit; cursor: pointer; padding: 0;
}
.lang-switcher-btn .fa-chevron-down { font-size: 9px; opacity: .75; }
.lang-switcher-menu[hidden] { display: none !important; }
.lang-switcher-menu {
  position: absolute; top: calc(100% + 8px); right: 0; width: 280px; max-height: 420px;
  overflow: auto; background: #fff; color: var(--text); border: 1px solid var(--line);
  border-radius: 10px; box-shadow: var(--shadow); padding: 0 0 8px; z-index: 60;
}
.lang-switcher-search { position: sticky; top: 0; background: #fff; padding: 10px 10px 8px; border-bottom: 1px solid var(--line); z-index: 1; }
.lang-switcher-search input {
  width: 100%; border: 1px solid var(--line); border-radius: 7px; padding: 8px 10px;
  font: inherit; font-size: 13px; color: var(--text); background: #fff;
}
.lang-switcher-search input:focus { outline: 2px solid rgba(11,31,58,.18); border-color: var(--navy); }
.lang-switcher-label {
  padding: 10px 14px 4px; font-size: 10px; letter-spacing: .08em; text-transform: uppercase;
  color: #6b7280; font-weight: 700;
}
.lang-switcher-menu a { display: block; padding: 7px 14px; color: var(--text); font-size: 13px; }
.lang-switcher-menu a:hover, .lang-switcher-menu a.active { background: var(--gray); color: var(--navy); }
.lang-switcher-empty { margin: 12px 14px; font-size: 13px; color: #6b7280; }
.utility-right .lang-switcher { border-left: 1px solid rgba(255,255,255,.22); padding-left: 18px; }
.utility-bar .lang-switcher-btn { color: #fff; }
.portal-top .lang-switcher-btn, .auth-lang .lang-switcher-btn { color: var(--navy); font-weight: 600; }
.auth-body { position: relative; }
.auth-lang { position: absolute; top: 16px; right: 18px; z-index: 5; }
html[data-locale="zh-CN"] body, html[data-locale="zh-TW"] body,
html[data-locale="ja"] body, html[data-locale="ko"] body {
  font-family: "Noto Sans SC", "Noto Sans TC", "Noto Sans JP", "Noto Sans KR", Inter, sans-serif;
}
html[data-locale="ar"] body, html[data-locale="fa"] body, html[data-locale="ur"] body,
html[data-locale="ps"] body {
  font-family: "Noto Naskh Arabic", "Noto Nastaliq Urdu", Inter, sans-serif;
}
html[data-locale="hi"] body, html[data-locale="ne"] body {
  font-family: "Noto Sans Devanagari", Inter, sans-serif;
}
html[data-locale="am"] body { font-family: "Noto Sans Ethiopic", Inter, sans-serif; }
html[data-locale="si"] body { font-family: "Noto Sans Sinhala", Inter, sans-serif; }
html[data-locale="km"] body { font-family: "Noto Sans Khmer", Inter, sans-serif; }
html[data-locale="lo"] body { font-family: "Noto Sans Lao", Inter, sans-serif; }
html[data-locale="my"] body { font-family: "Noto Sans Myanmar", Inter, sans-serif; }
html[data-locale="ka"] body { font-family: "Noto Sans Georgian", Inter, sans-serif; }
html[data-locale="hy"] body { font-family: "Noto Sans Armenian", Inter, sans-serif; }
html[dir="rtl"] .utility-right .lang-switcher { border-left: 0; border-right: 1px solid rgba(255,255,255,.22); padding-left: 0; padding-right: 18px; }
html[dir="rtl"] .lang-switcher-menu,
html[dir="rtl"] .footer .lang-switcher-menu { right: auto; left: 0; }
html[dir="rtl"] .dropdown { left: auto; right: 0; }
html[dir="rtl"] .auth-lang { right: auto; left: 18px; }
body.is-translating { cursor: progress; }

@media (max-width: 900px) {
  html, body { width: 100%; max-width: 100%; overflow-x: clip; }
  body > * { max-width: 100%; }
  .container {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }
  .utility-bar { font-size: 12px; }
  .utility-bar .container {
    display: flex; flex-direction: column; align-items: stretch;
    gap: 6px; min-height: 0; padding: 8px 0 9px;
  }
  .utility-left { gap: 8px; flex-wrap: nowrap; }
  .utility-left .util-contact {
    position: relative; display: inline-flex; align-items: center; justify-content: center;
    min-width: 36px; height: 32px; padding: 0 10px; border-radius: 8px;
    background: rgba(255,255,255,.1);
  }
  .utility-left i { margin-right: 0; }
  .utility-left .util-label {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
  }
  .utility-right {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%; gap: 0; align-items: stretch;
  }
  .utility-right > a,
  .utility-right .lang-switcher {
    border: 0; padding: 0; margin: 0; min-width: 0;
    display: flex; align-items: center; justify-content: center;
  }
  .utility-right > a,
  .utility-right .lang-switcher-btn {
    min-height: 30px; font-size: 11.5px; font-weight: 700; line-height: 1;
    white-space: nowrap;
  }
  .utility-right > a + a,
  .utility-right .lang-switcher {
    border-left: 1px solid rgba(255,255,255,.2); padding-left: 0; margin-left: 0;
  }
  .utility-bar .util-full, .utility-bar .lang-name { display: none; }
  .utility-bar .util-short, .utility-bar .lang-code { display: inline; }
  .utility-bar .lang-switcher-btn .fa-chevron-down { display: none; }
  .navbar .container { min-height: 58px; }
  .logo img { height: 36px; max-width: min(176px, 58vw); }
  .site-flash { top: 58px; }
}

@media (max-width: 640px) {
  body.nav-open { overflow: hidden; }
  .section { padding: 40px 0; }
  .section-title { font-size: 22px; margin-bottom: 20px; }
  .hero-home .lede { font-size: 15px; line-height: 1.65; color: #4b5563; margin-bottom: 20px; }
  .lede, .hero-copy, .store-hero .lede, .contact-hero .lede {
    overflow-wrap: break-word;
  }
  .hero-services {
    display: flex; flex-wrap: wrap; gap: 8px; font-size: 0; margin: 0 0 14px;
  }
  .hero-services span {
    font-size: 12px; font-weight: 700; color: var(--navy);
    background: #e8eef6; border-radius: 99px; padding: 5px 10px; line-height: 1.2;
    flex: 0 1 auto;
  }
  .store-switch {
    display: flex; width: 100%; flex-direction: column; border-radius: 12px; padding: 4px;
  }
  .store-switch a { text-align: center; width: 100%; }
  .store-hero-features { grid-template-columns: 1fr 1fr !important; gap: 12px 10px; }
  .store-hero-features span { overflow-wrap: anywhere; }
  .hero-actions { display: flex; flex-direction: column; gap: 12px; }
  .hero-actions .btn { width: 100%; min-height: 48px; border-radius: 8px; }
  .hero-visual img { width: 100%; border-radius: 12px; }
  .trust-features { padding: 20px 0 4px; }
  .trust-features-grid {
    grid-template-columns: 1fr 1fr; gap: 10px;
  }
  .trust-features-grid > div {
    background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 14px 10px;
  }
  .stats-band-row { grid-template-columns: 1fr 1fr; gap: 16px 12px; padding: 22px 0; }
  .publish-cards { gap: 12px; }
  .publish-card { min-height: 0; padding: 18px 16px; }
  .home-cta, .cfc-banner { border-radius: 12px; }
  .home-cta .cta-actions, .cta-actions { width: 100%; }
  .home-cta .btn, .cfc-banner .btn { width: 100%; }
  .info-strip .container, .help-strip .container { grid-template-columns: 1fr; gap: 14px; padding: 16px 0; }
  .footer { padding-top: 32px; }
  .footer-logo { height: 44px; max-width: min(200px, 100%); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 22px 16px; }
  .footer-grid > div:first-child, .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; align-items: flex-start; padding: 14px 0; }
  .footer-bottom a { margin-left: 0; margin-right: 12px; }
  .form-control, select.form-control, textarea.form-control {
    width: 100%; min-height: 46px; font-size: 16px;
  }
  textarea.form-control { min-height: 120px; }
  .form-grid { grid-template-columns: 1fr; }
  .btn-wide { min-width: 0; width: 100%; }
  .lang-switcher-menu { width: min(280px, calc(100vw - 24px)); }
  .dash-stats { grid-template-columns: 1fr 1fr; }
  .portal-user div { display: none; }
}

@media (max-width: 380px) {
  .logo img { height: 32px; max-width: min(150px, 56vw); }
}

/* Hostinger LiteSpeed Guest Mode / cache debug flame */
#litespeed-badge,
#litespeed-cache-debug,
#lscwp-guest,
#litespeed_lscwp_guest,
.litespeed-badge,
.litespeed-wrap,
[id^="litespeed"],
[class^="litespeed-"],
[id*="lscwp"],
img[src*="litespeed"],
iframe[src*="litespeed"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}




