
/* PDF editorial content: scoped to preserve the existing hero design. */
.pdf-content{--copy-accent:#079dd9;--copy-tint:#effaff;max-width:1160px;margin:0 auto;padding:52px 24px 72px;color:#243449;font-size:16px;line-height:1.85}
.pdf-content *{box-sizing:border-box}.pdf-content section{scroll-margin-top:120px}.pdf-intro{background:var(--copy-tint);border:1px solid #dce7ee;border-left:4px solid var(--copy-accent);border-radius:20px;padding:clamp(24px,4vw,44px);margin-bottom:48px}.pdf-content p{font-size:16px;line-height:1.85;margin:0 0 18px;color:#42536a;max-width:none}.pdf-content p:last-child{margin-bottom:0}.pdf-section{margin:0 0 56px;padding:0;background:none}.pdf-section>h2{font-size:clamp(25px,3vw,35px);line-height:1.3;letter-spacing:-.025em;color:#15263c;margin:0 0 26px;max-width:960px}.pdf-section>h2:before{content:'';display:block;width:48px;height:4px;background:var(--copy-accent);border-radius:4px;margin-bottom:18px}.pdf-figure{margin:0 auto 28px;max-width:850px;border-radius:20px;overflow:hidden;border:1px solid #e2eaf0;background:#fff}.pdf-figure img{width:100%;height:auto;display:block;object-fit:contain}.pdf-lead{padding:28px 32px;background:#fff;border:1px solid #e3eaf0;border-radius:18px;margin-bottom:22px;box-shadow:0 8px 28px #17345405}.pdf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.pdf-card{background:#fff;border:1px solid #e1e9ef;border-radius:18px;padding:28px;box-shadow:0 8px 28px #17345406;min-width:0}.pdf-card h3{font-size:21px;line-height:1.45;color:#172a43;margin:0 0 16px;letter-spacing:-.015em}.pdf-content ul,.pdf-content ol{margin:0 0 18px;padding-left:24px;list-style:revert}.pdf-content li{margin:8px 0;line-height:1.8}.pdf-content li::marker{color:var(--copy-accent);font-weight:700}.pdf-content .copy-callout{margin:20px 0 0;padding:18px 22px;background:var(--copy-tint);border-left:3px solid var(--copy-accent);border-radius:0 12px 12px 0;color:#203c57;font-weight:600}.pdf-table-wrap{overflow-x:auto;border:1px solid #dce5ed;border-radius:14px;margin:22px 0}.pdf-content table{width:100%;border-collapse:collapse;min-width:420px;font-size:16px}.pdf-content th,.pdf-content td{padding:14px 18px;border-bottom:1px solid #e1e9ef;text-align:left;vertical-align:top;line-height:1.65}.pdf-content th{background:var(--copy-tint);font-weight:700;color:#1c3a51}.pdf-content tr:nth-child(even) td{background:#f8fafc}.pdf-content tr:last-child td{border-bottom:0}.pdf-faq{display:grid;gap:12px}.pdf-faq details{border:1px solid #dfe7ed;border-radius:16px;background:#fff;overflow:hidden}.pdf-faq summary{cursor:pointer;padding:22px 26px;font-size:18px;line-height:1.5;font-weight:650;color:#173149;list-style:revert}.pdf-faq summary::marker{color:var(--copy-accent)}.pdf-faq details[open] summary{background:var(--copy-tint)}.pdf-faq .faq-body{padding:24px 26px}.pdf-faq summary:focus-visible{outline:3px solid var(--copy-accent);outline-offset:-3px}.hero h1{font-size:clamp(30px,3.8vw,54px)!important;line-height:1.18!important;letter-spacing:-.025em!important}.hero h1 .hero-title-main,.hero h1 .hero-title-intro{font-size:inherit!important;line-height:inherit!important}.hero p{font-size:clamp(16px,1.35vw,19px)}
@media(max-width:700px){.pdf-content{padding:30px 16px 48px}.pdf-grid{grid-template-columns:1fr}.pdf-card,.pdf-lead{padding:22px}.pdf-section{margin-bottom:38px}.pdf-figure{border-radius:14px}.pdf-faq summary{padding:18px}.pdf-faq .faq-body{padding:20px}.hero h1{font-size:30px!important}.pdf-intro{padding:24px}.pdf-content th,.pdf-content td{padding:12px}}

/* Short links to illustrated sections. */
html { scroll-behavior: smooth; scroll-padding-top: 0; }
.pdf-content section { scroll-margin-top: calc(var(--section-header-height, 150px) + 16px); }
header .section-nav {
  display: flex !important; flex: 0 1 100%; width: 100%; max-width: 1160px; min-width: 0;
  align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 8px !important;
  box-sizing: border-box;
  margin: 0 auto; padding: 8px 16px; border-radius: 0;
  border-top: 1px solid currentColor; border-top-color: #8899aa26;
  background: transparent;
}
header .section-nav a {
  flex: 0 1 auto; max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; padding: 10px 12px;
  font-size: 13px; font-weight: 700; line-height: 20px;
  text-decoration: none; border-radius: 8px; color: inherit;
}
header .section-nav a:hover { background: #8899aa18; }
header .section-nav a:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
header .section-nav a:after { display: none; }
body .mobile-menu, body .menu, body .mobile-panel {
  top: var(--section-header-height, 150px);
  max-height: calc(100dvh - var(--section-header-height, 150px) - 16px);
  overflow-y: auto;
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

header.site-header { height: auto; min-height: 82px; flex-wrap: wrap; row-gap: 0; padding-top: 12px; }
header.site-header .head-actions { margin-left: auto; }
header.site-header .section-nav { padding-left: 0; padding-right: 0; }

/* On phones, the existing menu contains every section link. */
@media (max-width: 700px) {
  header .section-nav { display: none !important; }
}

/* Keep the logo and account actions on opposite sides of the top row. */
header.site-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
}
header.site-header .brand { grid-column: 1; grid-row: 1; justify-self: start; }
header.site-header .edition { grid-column: 2; grid-row: 1; justify-self: center; }
header.site-header .head-actions {
  grid-column: 3; grid-row: 1; justify-self: end;
  margin-left: 0; flex-wrap: nowrap; white-space: nowrap;
}
header.site-header .section-nav { grid-column: 1 / -1; grid-row: 2; }
@media (max-width: 700px) {
  header.site-header { margin-left: 0; margin-right: 0; padding: 10px 12px; column-gap: 4px; min-height: 70px; }
  header.site-header .brand { padding: 0; border: 0; }
  header.site-header .brand img { width: 84px; height: 42px; }
  header.site-header .head-actions { gap: 6px; }
  header.site-header .login, header.site-header .register { padding: 0 8px; font-size: 12px; }
  header.site-header .menu-btn { width: 32px; }
}

/* Header D: pale editorial masthead with numbered links and fine rules. */
header.header-editorial { background: #f5f8fc !important; border-top: 4px solid #16395a !important; border-bottom: 1px solid #bacbd9 !important; box-shadow: none !important; }
header.header-editorial .edition { background: transparent; border: 0; border-radius: 0; color: #526b81; letter-spacing: .28em; }
header.header-editorial .section-nav { counter-reset: header-item; border-top: 1px solid #c4d3df; margin-top: 10px; padding-top: 6px; padding-bottom: 6px; gap: 2px !important; }
header.header-editorial .section-nav a { counter-increment: header-item; border-radius: 0; padding: 9px 12px; font-size: 12px; }
header.header-editorial .section-nav a::before { display: none; }
header.header-editorial .section-nav a:hover { background: #e5edf5; }
header.header-editorial .login { background: transparent !important; border-color: transparent; box-shadow: none !important; border-radius: 2px; }
header.header-editorial .login::before { display: none; }
header.header-editorial .register { background: #16395a; box-shadow: none !important; border-radius: 2px; }


/* Footer content layout only — colors stay with the site theme. */
.site-footer .footer-brand p { margin: 14px 0 0; line-height: 1.75; }
.site-footer .footer-links a { display: block; margin: 8px 0; }
.site-footer .footer-contact p { margin: 8px 0; line-height: 1.65; overflow-wrap: anywhere; }
.site-footer .footer-contact a { display: inline; }
.site-footer .footer-tags { margin-top: 14px; line-height: 1.7; word-break: break-word; }
.pdf-intro, .pdf-content [id^="nav-"] { scroll-margin-top: calc(var(--section-header-height, 150px) + 16px); }
.pdf-content a.seo-link { color: var(--copy-accent, #079dd9); text-decoration: underline; text-underline-offset: 2px; }

/* Header refresh: refined editorial masthead. */
header.header-editorial {
  position: sticky !important;
  top: 0;
  z-index: 90;
  padding-top: 14px;
  padding-inline: max(18px, calc((100vw - 1440px) / 2 + 24px));
  border: 0 !important;
  border-bottom: 1px solid #d9d4c8 !important;
  background: #fbfaf6 !important;
  box-shadow: 0 10px 30px rgba(43, 48, 54, .08) !important;
}
header.header-editorial::after {
  content: "";
  position: absolute;
  left: max(18px, calc((100vw - 1440px) / 2 + 24px));
  right: max(18px, calc((100vw - 1440px) / 2 + 24px));
  top: 0;
  height: 3px;
  background: linear-gradient(90deg, #173d5e 0 28%, #be9850 28% 36%, #173d5e 36%);
}
header.header-editorial .edition {
  padding: 9px 13px;
  border: 1px solid #d5ccba;
  color: #725e3c;
  background: #fffdf8;
  font-family: Georgia, serif;
  letter-spacing: .2em;
}
header.header-editorial .brand img {
  width: 136px;
}
header.header-editorial .head-actions {
  gap: 6px;
}
header.header-editorial .login,
header.header-editorial .register {
  min-height: 40px;
  border-radius: 0;
}
header.header-editorial .register {
  background: #173d5e !important;
}
header.header-editorial .section-nav {
  margin-top: 12px;
  padding: 7px 0;
  border-top: 1px solid #ded8cc;
  border-bottom: 1px solid #eee9df;
}
header.header-editorial .section-nav a {
  color: #374a59 !important;
  font-family: Georgia, serif;
  letter-spacing: .02em;
}
header.header-editorial .section-nav a::before {
  color: #a07c3d;
}
header.header-editorial .section-nav a:hover {
  color: #173d5e !important;
  background: #eee9df;
}
@media (max-width: 700px) {
  header.header-editorial {
    padding: 12px !important;
  }
  header.header-editorial .edition {
    display: none;
  }
  header.header-editorial .brand {
    grid-column: 1 / 3;
  }
  header.header-editorial .head-actions {
    grid-column: 3;
  }
}
