/* Shared styles for the expert library and its articles. Scoped to this page family. */
@font-face {
  font-family: Montserrat;
  src: url('../fonts/montserrat-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: Montserrat;
  src: url('../fonts/montserrat-cyrillic.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

.expert-site {
  --ea-teal: #147873;
  --ea-deep: #145956;
  --ea-ink: #253d3b;
  --ea-muted: #586d6b;
  --ea-line: #d8e5e2;
  --ea-pale: #eff7f5;
  --ea-purple: #75558b;
  --ea-lavender: #f4eff7;
  margin: 0;
  background: #fff;
  color: var(--ea-ink);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.78;
  -webkit-text-size-adjust: 100%;
}
.expert-site *, .expert-site *::before, .expert-site *::after { box-sizing: border-box; }
.expert-site a { color: var(--ea-teal); text-underline-offset: .22em; text-decoration-thickness: 1px; }
.expert-site a:hover { color: var(--ea-deep); }
.expert-site :focus-visible { outline: 3px solid var(--ea-purple); outline-offset: 5px; }
.expert-site img { display: block; max-width: 100%; height: auto; }
.expert-site h1, .expert-site h2, .expert-site h3, .expert-site p { margin: 0; }
.expert-site h1, .expert-site h2, .expert-site h3 {
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: -.035em;
  overflow-wrap: break-word;
}
.expert-site h1 { font-size: clamp(2.3rem, 4.5vw, 4rem); }
.expert-site h2 { font-size: clamp(1.6rem, 2.65vw, 2.25rem); }
.expert-site h3 { font-size: 1.2rem; }
.expert-site .container { width: min(1160px, calc(100% - 64px)); margin-inline: auto; }
.expert-site .skip-link { position: absolute; z-index: 30; top: 12px; left: 16px; transform: translateY(-180%); padding: 10px 18px; border: 1px solid var(--ea-teal); border-radius: 6px; background: #fff; }
.expert-site .skip-link:focus { transform: translateY(0); }
.expert-site .site-header { border-bottom: 1px solid var(--ea-line); background: #fff; }
.expert-site .header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 96px; gap: 24px; }
.expert-site .brand { flex-shrink: 0; }
.expert-site .brand img { width: 139px; }
.expert-site .desktop-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; font-size: .8rem; }
.expert-site .desktop-nav a, .expert-site .header-phone { text-decoration: none; color: var(--ea-ink); }
.expert-site .desktop-nav a:hover, .expert-site .desktop-nav a[aria-current='page'] { color: var(--ea-teal); text-decoration: underline; }
.expert-site .header-phone { font-size: .8rem; font-weight: 600; white-space: nowrap; }
.expert-site .mobile-menu { display: none; }

/* Headings and the optional compact product photograph. */
.expert-site .article-hero, .expert-site .library-hero {
  padding-bottom: 50px;
  border-bottom: 1px solid var(--ea-line);
  background: linear-gradient(115deg, #fff 55%, #f6faf8 100%);
}
.expert-site .article-hero > .container, .expert-site .library-hero > .container { display: flow-root; }
.expert-site .breadcrumb { padding-top: 24px; margin-bottom: 40px; color: var(--ea-muted); font-size: .74rem; line-height: 1.65; overflow-wrap: anywhere; }
.expert-site .breadcrumb a { color: var(--ea-muted); text-decoration: none; }
.expert-site .breadcrumb a:hover { text-decoration: underline; }
.expert-site .breadcrumb span { margin-inline: 7px; }
.expert-site .eyebrow { margin-bottom: 16px; color: var(--ea-teal); font-size: .7rem; font-weight: 700; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; }
.expert-site .article-hero h1 { max-width: 970px; }
.expert-site .article-lead { margin-top: 25px; max-width: 880px; color: var(--ea-muted); font-size: clamp(1rem, 1.65vw, 1.2rem); line-height: 1.75; }
.expert-site .article-meta { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 25px; color: var(--ea-muted); font-size: .76rem; line-height: 1.7; }
.expert-site .article-meta a { color: inherit; }
.expert-site .product-preview { float: right; width: min(30%, 295px); margin: 0 0 24px 38px; padding: 22px; border-radius: 24px; background: var(--ea-pale); }
.expert-site .product-preview img { width: 100%; height: 225px; object-fit: contain; mix-blend-mode: multiply; }
.expert-site .product-preview figcaption { margin-top: 10px; color: var(--ea-muted); font-size: .7rem; line-height: 1.55; text-align: center; }

/* Contents stay visible on desktop; mobile presents them above the text. */
.expert-site .reading-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 66px; align-items: start; padding-top: 52px; padding-bottom: 70px; }
.expert-site .article-toc { position: sticky; top: 28px; padding-right: 25px; border-right: 1px solid var(--ea-line); }
.expert-site .article-toc h2 { margin-bottom: 19px; font-size: .7rem; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; color: var(--ea-muted); }
.expert-site .article-toc ol { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.expert-site .article-toc a { display: block; padding-left: 12px; border-left: 2px solid transparent; color: var(--ea-muted); text-decoration: none; font-size: .78rem; line-height: 1.6; overflow-wrap: break-word; }
.expert-site .article-toc a:hover { color: var(--ea-teal); }
.expert-site .article-toc a[aria-current='location'] { border-left-color: var(--ea-teal); color: var(--ea-deep); font-weight: 600; }
.expert-site .article-copy { min-width: 0; max-width: 790px; }
.expert-site .article-section { margin-bottom: 40px; scroll-margin-top: 28px; }
.expert-site .article-section + .article-section { padding-top: 33px; border-top: 1px solid var(--ea-line); }
.expert-site .article-section h2 { margin-bottom: 22px; }
.expert-site .article-section h3 { margin-top: 28px; margin-bottom: 12px; line-height: 1.45; }
.expert-site .article-copy p + p { margin-top: 18px; }
.expert-site .article-copy ul, .expert-site .article-copy ol { padding-left: 24px; margin-block: 20px; }
.expert-site .article-copy li + li { margin-top: 9px; }
.expert-site .article-copy li::marker { color: var(--ea-teal); }
.expert-site .article-copy strong { font-weight: 600; }
.expert-site .article-figure { margin: 28px 0; padding: 24px; border-radius: 16px; background: var(--ea-pale); }
.expert-site .article-figure img { width: 100%; max-height: 370px; object-fit: contain; }
.expert-site .article-figure figcaption { margin-top: 15px; color: var(--ea-muted); font-size: .76rem; line-height: 1.6; }
.expert-site .expert-note { padding: 24px 27px; margin-block: 28px; background: var(--ea-lavender); border-left: 3px solid var(--ea-purple); border-radius: 0 12px 12px 0; font-size: .92rem; line-height: 1.75; }
.expert-site .expert-note h3 { margin: 0 0 10px; font-size: 1rem; }
.expert-site .expert-note > strong:first-child { display: block; margin-bottom: 8px; }
.expert-site .article-action { margin-top: 45px; padding: 32px; background: var(--ea-pale); border: 1px solid var(--ea-line); border-radius: 16px; }
.expert-site .article-action h2 { margin-bottom: 15px; font-size: clamp(1.45rem, 2.2vw, 1.85rem); }
.expert-site .article-action p { color: var(--ea-muted); font-size: .94rem; }
.expert-site .actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 23px; }
.expert-site .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 13px 22px; border: 1px solid var(--ea-teal); border-radius: 7px; background: var(--ea-teal); color: #fff; text-decoration: none; text-align: center; font-size: .82rem; line-height: 1.5; font-weight: 600; transition: background-color .15s ease, border-color .15s ease; }
.expert-site .btn:hover { background: var(--ea-deep); border-color: var(--ea-deep); color: #fff; }
.expert-site .btn-secondary { background: #fff; color: var(--ea-teal); }
.expert-site .btn-secondary:hover { background: #e5f1ed; color: var(--ea-deep); }

/* Related reading and the six-topic library. */
.expert-site .related-section { padding: 56px 0 64px; background: #f8faf9; border-top: 1px solid var(--ea-line); border-bottom: 1px solid var(--ea-line); }
.expert-site .section-header { margin-bottom: 28px; }
.expert-site .section-header h2 { font-size: clamp(1.6rem, 2.5vw, 2.1rem); }
.expert-site .related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.expert-site .related-card, .expert-site .library-card { display: flex; flex-direction: column; min-width: 0; padding: 26px; border: 1px solid var(--ea-line); border-radius: 13px; background: #fff; }
.expert-site .topic-number { display: block; margin-bottom: 23px; color: var(--ea-teal); font-size: .76rem; font-weight: 600; letter-spacing: .08em; }
.expert-site .related-card h3 { margin-bottom: 14px; font-size: 1.14rem; line-height: 1.38; }
.expert-site .related-card h3 a, .expert-site .library-card h2 a { color: var(--ea-ink); text-decoration: none; }
.expert-site .related-card h3 a:hover, .expert-site .library-card h2 a:hover { color: var(--ea-teal); text-decoration: underline; }
.expert-site .related-card p, .expert-site .library-card p { margin-bottom: 22px; color: var(--ea-muted); font-size: .84rem; line-height: 1.75; }
.expert-site .text-link { align-self: flex-start; margin-top: auto; padding-block: 5px; font-weight: 600; font-size: .78rem; }
.expert-site .library-hero { padding-bottom: 48px; }
.expert-site .library-hero h1 { max-width: 900px; }
.expert-site .library-hero p:not(.eyebrow) { max-width: 800px; margin-top: 24px; color: var(--ea-muted); font-size: 1.08rem; }
.expert-site .library-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; padding-top: 42px; padding-bottom: 70px; }
.expert-site .library-card { padding: 29px; }
.expert-site .library-card .topic-number { margin-bottom: 18px; }
.expert-site .article-kind { display: block; margin-bottom: 13px; color: var(--ea-purple); font-size: .69rem; line-height: 1.5; }
.expert-site .library-card h2 { margin-bottom: 17px; font-size: 1.4rem; line-height: 1.35; }
.expert-site .site-footer { padding: 36px 0 30px; }
.expert-site .footer-top { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.expert-site .footer-top img { width: 120px; }
.expert-site .footer-contact { text-align: right; font-size: .82rem; line-height: 1.8; }
.expert-site .footer-contact a { text-decoration: none; }
.expert-site .footer-legal { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 18px; font-size: .7rem; }
.expert-site .footer-legal a { color: var(--ea-muted); }
.expert-site .footer-notice { margin-top: 24px; padding-top: 21px; border-top: 1px solid var(--ea-line); color: var(--ea-muted); font-size: .7rem; line-height: 1.7; }

@media (max-width: 1000px) {
  .expert-site .container { width: calc(100% - 44px); }
  .expert-site .desktop-nav { gap: 16px; }
  .expert-site .header-phone { display: none; }
  .expert-site .reading-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 36px; }
  .expert-site .article-toc { padding-right: 18px; }
  .expert-site .related-grid, .expert-site .library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .expert-site .related-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .expert-site { font-size: 16px; line-height: 1.8; }
  .expert-site .container { width: calc(100% - 36px); }
  .expert-site .header-inner { min-height: 77px; gap: 14px; }
  .expert-site .brand img { width: 118px; }
  .expert-site .desktop-nav { display: none; }
  .expert-site .mobile-menu { position: relative; display: block; }
  .expert-site .mobile-menu summary { padding: 10px 3px 10px 12px; cursor: pointer; color: var(--ea-teal); font-weight: 600; font-size: .82rem; list-style: none; }
  .expert-site .mobile-menu summary::-webkit-details-marker { display: none; }
  .expert-site .mobile-menu summary::after { content: '+'; display: inline-block; width: 15px; margin-left: 12px; font-size: 1.2rem; font-weight: 400; text-align: center; }
  .expert-site .mobile-menu[open] summary::after { content: '\2212'; }
  .expert-site .mobile-menu nav { position: absolute; top: calc(100% + 10px); right: 0; z-index: 10; display: grid; gap: 2px; width: min(270px, calc(100vw - 36px)); padding: 12px; border: 1px solid var(--ea-line); border-radius: 10px; background: #fff; box-shadow: 0 10px 28px #25463c14; }
  .expert-site .mobile-menu nav a { padding: 9px 11px; border-radius: 5px; text-decoration: none; color: var(--ea-ink); font-size: .85rem; }
  .expert-site .mobile-menu nav a:hover { background: var(--ea-pale); }
  .expert-site .breadcrumb { margin-bottom: 28px; padding-top: 19px; font-size: .68rem; }
  .expert-site .breadcrumb span { margin-inline: 4px; }
  .expert-site .article-hero, .expert-site .library-hero { padding-bottom: 34px; }
  .expert-site h1 { font-size: clamp(2rem, 6.5vw, 3rem); }
  .expert-site .eyebrow { margin-bottom: 13px; font-size: .65rem; }
  .expert-site .article-lead { margin-top: 21px; font-size: 1rem; }
  .expert-site .article-meta { margin-top: 20px; font-size: .71rem; }
  .expert-site .product-preview { float: none; width: min(100%, 330px); margin: 0 0 24px; padding: 18px; }
  .expert-site .product-preview img { height: 185px; }
  .expert-site .reading-layout { grid-template-columns: minmax(0, 1fr); gap: 34px; padding-top: 30px; padding-bottom: 44px; }
  .expert-site .article-toc { position: static; padding: 22px; border: 1px solid var(--ea-line); border-radius: 11px; background: #f8fbf9; }
  .expert-site .article-toc h2 { margin-bottom: 14px; }
  .expert-site .article-toc ol { gap: 10px; }
  .expert-site .article-toc a { font-size: .79rem; }
  .expert-site .article-section { margin-bottom: 30px; scroll-margin-top: 18px; }
  .expert-site .article-section + .article-section { padding-top: 27px; }
  .expert-site .article-section h2 { margin-bottom: 18px; }
  .expert-site .article-copy p + p { margin-top: 16px; }
  .expert-site .article-copy ul, .expert-site .article-copy ol { padding-left: 21px; }
  .expert-site .article-figure { padding: 18px; margin-block: 23px; }
  .expert-site .article-figure figcaption { font-size: .7rem; }
  .expert-site .expert-note { padding: 20px; font-size: .88rem; }
  .expert-site .article-action { margin-top: 34px; padding: 24px 21px; }
  .expert-site .actions { gap: 10px; }
  .expert-site .btn { padding-inline: 18px; font-size: .79rem; }
  .expert-site .related-section { padding: 37px 0 42px; }
  .expert-site .related-card, .expert-site .library-card { padding: 23px; }
  .expert-site .related-grid, .expert-site .library-grid { gap: 16px; }
  .expert-site .library-grid { padding-top: 28px; padding-bottom: 44px; }
  .expert-site .library-hero p:not(.eyebrow) { font-size: 1rem; margin-top: 20px; }
  .expert-site .library-card h2 { font-size: 1.25rem; }
  .expert-site .site-footer { padding-block: 29px; }
  .expert-site .footer-top { align-items: flex-start; }
  .expert-site .footer-top img { width: 100px; }
  .expert-site .footer-contact { font-size: .72rem; }
}

@media (max-width: 520px) {
  .expert-site .related-grid, .expert-site .library-grid { grid-template-columns: minmax(0, 1fr); }
  .expert-site .related-card:last-child:nth-child(odd) { grid-column: auto; }
  .expert-site .actions { flex-direction: column; align-items: stretch; }
  .expert-site .btn { width: 100%; }
  .expert-site .topic-number { margin-bottom: 17px; }
  .expert-site .footer-top { flex-wrap: wrap; }
}

/* Keep long Russian titles intact and lead with the topic before the product photo. */
@media screen and (max-width: 760px) {
  .expert-site .article-hero > .container:has(.product-preview) { display: flex; flex-direction: column; }
  .expert-site .article-hero > .container:has(.product-preview) > .breadcrumb { order: 0; }
  .expert-site .article-hero > .container:has(.product-preview) > .eyebrow { order: 1; }
  .expert-site .article-hero > .container:has(.product-preview) > h1 { order: 2; }
  .expert-site .article-hero > .container:has(.product-preview) > .article-lead { order: 3; }
  .expert-site .article-hero > .container:has(.product-preview) > .product-preview { order: 4; align-self: flex-start; margin: 24px 0 0; }
  .expert-site .article-hero > .container:has(.product-preview) > .article-meta { order: 5; }
}
@media screen and (max-width: 520px) {
  .expert-site .article-hero h1 {
    font-size: clamp(24px, 7.2vw, 28px);
    overflow-wrap: normal;
    hyphens: auto;
    hyphenate-limit-chars: 8 4 4;
  }
}
@media (prefers-reduced-motion: reduce) {
  .expert-site *, .expert-site *::before, .expert-site *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Main-site identity. Screen-only to preserve the existing white print layout. */
@media screen {
  .expert-site {
    --ea-teal: #15817e;
    --ea-deep: #0b6260;
    --ea-ink: #323535;
    --ea-muted: #606564;
    --ea-line: #d3e1df;
    --ea-pale: #edf5f4;
    --ea-purple: #15817e;
    --ea-lavender: #edf5f4;
    --ea-brand: #91c5c4;
    --ea-strip: #4da3a1;
    --ea-footer: #8a8d8f;
  }
  .expert-site .brand-print { display: none; }
  .expert-site .brand .brand-screen { display: block; width: 70px; height: 56px; object-fit: contain; }
  .expert-site .site-header { position: relative; z-index: 10; border: 0; background: var(--ea-brand); }
  .expert-site .contact-strip { color: #fff; background: var(--ea-strip); }
  .expert-site .contact-inner { display: flex; align-items: center; justify-content: flex-end; min-height: 40px; gap: 26px; font-size: 13px; line-height: 1.4; }
  .expert-site .contact-inner a { display: inline-flex; align-items: center; gap: 9px; color: #fff; text-decoration: none; white-space: nowrap; }
  .expert-site .contact-inner a:hover { text-decoration: underline; }
  .expert-site .contact-inner svg, .expert-site .contact-inner img { flex: 0 0 auto; width: 16px; height: 16px; object-fit: contain; }
  .expert-site .contact-phone { font-weight: 500; }
  .expert-site .contact-mail { margin-left: 0; }
  .expert-site .contact-hours { font-size: 12px; }
  .expert-site .header-inner { min-height: 102px; padding-block: 18px; gap: 38px; }
  .expert-site .desktop-nav { flex: 1; flex-wrap: nowrap; justify-content: flex-end; gap: 22px; font-size: 14px; font-weight: 500; line-height: 1.45; letter-spacing: .02em; }
  .expert-site .desktop-nav > a, .expert-site .desktop-nav > .nav-dropdown > summary { white-space: nowrap; }
  .expert-site .desktop-nav a, .expert-site .desktop-nav summary { color: #fff; }
  .expert-site .desktop-nav a:hover, .expert-site .desktop-nav a[aria-current='page'] { color: #fff; text-decoration: underline; }
  .expert-site .nav-dropdown { position: relative; }
  .expert-site .nav-dropdown > summary { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding-block: 10px; cursor: pointer; list-style: none; }
  .expert-site .nav-dropdown > summary::-webkit-details-marker { display: none; }
  .expert-site .nav-dropdown > summary::after { content: ''; display: block; flex: 0 0 auto; width: 6px; height: 6px; margin-top: -4px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); }
  .expert-site .nav-dropdown[open] > summary::after { margin-top: 3px; transform: rotate(225deg); }
  .expert-site .nav-submenu { position: absolute; z-index: 20; top: calc(100% + 7px); left: 0; width: 275px; max-width: calc(100vw - 36px); padding: 10px 0; background: #fff; border: 1px solid var(--ea-line); box-shadow: 0 8px 20px #2459571c; }
  .expert-site .desktop-nav > .nav-dropdown:last-of-type .nav-submenu { left: auto; right: 0; }
  .expert-site .nav-submenu a { display: block; padding: 9px 17px; color: var(--ea-ink); font-size: 13px; font-weight: 400; letter-spacing: 0; line-height: 1.5; text-decoration: none; white-space: normal; }
  .expert-site .nav-submenu a:hover, .expert-site .nav-submenu a[aria-current='page'] { color: var(--ea-teal); background: var(--ea-pale); text-decoration: none; }
  .expert-site .mobile-menu { display: none; }

  .expert-site .article-hero, .expert-site .library-hero { color: #fff; background: var(--ea-brand); border: 0; padding-bottom: 55px; }
  .expert-site .breadcrumb { padding-top: 14px; margin-bottom: 34px; color: #285c59; }
  .expert-site .breadcrumb a { color: #285c59; }
  .expert-site .article-hero h1, .expert-site .library-hero h1 { color: #fff; font-weight: 600; font-size: clamp(32px, 4vw, 56px); line-height: 1.18; letter-spacing: -.025em; }
  .expert-site .article-hero .eyebrow, .expert-site .library-hero .eyebrow { color: #285c59; letter-spacing: .11em; }
  .expert-site .article-lead, .expert-site .library-hero p:not(.eyebrow) { color: #285c59; }
  .expert-site .article-meta { color: #285c59; }
  .expert-site .product-preview { padding: 20px; border-radius: 0; background: #fff; }
  .expert-site .product-preview img { mix-blend-mode: normal; }
  .expert-site .article-figure { border-radius: 0; }
  .expert-site .expert-note { background: var(--ea-pale); border-left-color: var(--ea-teal); border-radius: 0; }
  .expert-site .article-action { background: var(--ea-pale); border: 0; border-radius: 0; }
  .expert-site .btn { min-height: 56px; padding: 14px 22px; border-radius: 0; font-size: 16px; font-weight: 500; }
  .expert-site .btn-secondary { background: transparent; }
  .expert-site .related-section { background: var(--ea-pale); border: 0; }
  .expert-site .related-card, .expert-site .library-card { border-radius: 0; border: 1px solid var(--ea-line); border-top: 3px solid var(--ea-brand); }
  .expert-site .library-card { padding: 27px; }
  .expert-site .library-card h2 { font-weight: 500; }
  .expert-site .article-kind { color: var(--ea-teal); }
  .expert-site .topic-number { color: var(--ea-teal); }
  .expert-site .text-link { font-weight: 500; }
  .expert-site .article-toc { border-radius: 0; }

  .expert-site .site-footer { padding: 48px 0 26px; color: #fff; background: var(--ea-footer); }
  .expert-site .site-footer a { color: #fff; text-decoration: none; }
  .expert-site .site-footer a:hover { text-decoration: underline; }
  .expert-site .site-footer :focus-visible { outline-color: #fff; }
  .expert-site .footer-grid { display: grid; grid-template-columns: 105px minmax(0, 1fr) 250px; gap: 48px; align-items: start; }
  .expert-site .footer-brand img { width: 90px; max-height: 85px; object-fit: contain; }
  .expert-site .footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 28px; font-size: 13px; line-height: 1.6; }
  .expert-site .footer-nav ul { display: contents; margin: 0; padding: 0; list-style: none; }
  .expert-site .footer-nav li { margin: 0; }
  .expert-site .footer-contact { font-size: 13px; line-height: 1.75; text-align: left; }
  .expert-site .footer-contact > a { display: block; width: fit-content; }
  .expert-site .footer-contact p + p { margin-top: 5px; }
  .expert-site .footer-contact svg, .expert-site .footer-contact img { display: inline-block; width: 16px; height: 16px; margin-right: 8px; vertical-align: middle; }
  .expert-site .footer-social { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 15px; font-size: 12px; }
  .expert-site .footer-hours { display: block; margin: 4px 0 12px; font-size: 12px; }
  .expert-site .footer-apps { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  .expert-site .footer-apps a { display: block; width: 170px; max-width: 100%; }
  .expert-site .footer-apps img { display: block; width: 170px; max-width: 100%; height: auto; margin: 0; }
  .expert-site .footer-bottom > .footer-notice { grid-column: 1; }
  .expert-site .footer-pay { grid-column: 2; grid-row: 1 / span 2; }
  .expert-site .footer-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 28px; margin-top: 34px; padding-top: 23px; border-top: 1px solid #ffffff40; }
  .expert-site .footer-notice { margin: 0; padding: 0; border: 0; color: #fff; font-size: 11px; }
  .expert-site .footer-legal { margin-top: 12px; color: #fff; }
  .expert-site .footer-legal a { color: #fff; }
  .expert-site .footer-pay img { width: 190px; max-height: 42px; object-fit: contain; }
}

@media screen and (min-width: 1100px) and (max-width: 1279px) {
  .expert-site .header-inner { gap: 24px; }
  .expert-site .desktop-nav { gap: 16px; font-size: 13px; letter-spacing: 0; }
}

@media screen and (max-width: 1099px) {
  .expert-site .desktop-nav { display: none; }
  .expert-site .header-inner { min-height: 88px; padding-block: 14px; gap: 20px; }
  .expert-site .mobile-menu { position: relative; display: block; }
  .expert-site .mobile-menu > summary { display: flex; align-items: center; gap: 15px; padding: 12px 0 12px 12px; color: #fff; cursor: pointer; list-style: none; font-size: 14px; font-weight: 500; }
  .expert-site .mobile-menu > summary::-webkit-details-marker { display: none; }
  .expert-site .mobile-menu > summary::after { content: none; }
  .expert-site .mobile-menu > summary i { position: relative; display: block; width: 26px; height: 2px; background: currentColor; }
  .expert-site .mobile-menu > summary i::before, .expert-site .mobile-menu > summary i::after { position: absolute; left: 0; width: 26px; height: 2px; background: currentColor; content: ''; }
  .expert-site .mobile-menu > summary i::before { top: -8px; }
  .expert-site .mobile-menu > summary i::after { top: 8px; }
  .expert-site .mobile-menu[open] > summary i { background: transparent; }
  .expert-site .mobile-menu[open] > summary i::before { top: 0; transform: rotate(45deg); }
  .expert-site .mobile-menu[open] > summary i::after { top: 0; transform: rotate(-45deg); }
  .expert-site .mobile-menu > nav { position: absolute; z-index: 30; top: calc(100% + 16px); right: 0; display: grid; gap: 0; width: min(390px, calc(100vw - 44px)); max-height: calc(100dvh - 155px); overflow-y: auto; overscroll-behavior: contain; padding: 12px 20px; border: 1px solid var(--ea-line); border-radius: 0; background: #fff; box-shadow: 0 8px 20px #2459571c; }
  .expert-site .mobile-menu nav a, .expert-site .mobile-menu .nav-dropdown > summary { display: flex; padding: 12px 0; color: var(--ea-ink); border-radius: 0; text-decoration: none; font-size: 14px; font-weight: 400; line-height: 1.5; }
  .expert-site .mobile-menu nav > a, .expert-site .mobile-menu nav > .nav-dropdown { border-bottom: 1px solid var(--ea-line); }
  .expert-site .mobile-menu nav > :last-child { border-bottom: 0; }
  .expert-site .mobile-menu nav a:hover { color: var(--ea-teal); background: transparent; }
  .expert-site .mobile-menu .nav-dropdown { position: static; }
  .expert-site .mobile-menu .nav-submenu { position: static; width: auto; max-width: none; padding: 0 0 8px 14px; border: 0; box-shadow: none; }
  .expert-site .mobile-menu .nav-submenu a { padding-block: 9px; font-size: 13px; }
}

@media screen and (max-width: 900px) {
  .expert-site .footer-grid { grid-template-columns: 90px minmax(0, 1fr); gap: 30px; }
  .expert-site .footer-contact { grid-column: 2; }
  .expert-site .footer-bottom { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .expert-site .footer-pay { grid-column: auto; grid-row: auto; }
}

@media screen and (max-width: 760px) {
  .expert-site .contact-inner { min-height: 37px; gap: 15px; font-size: 12px; }
  .expert-site .contact-hours { display: none; }
  .expert-site .contact-inner a { gap: 6px; }
  .expert-site .contact-inner svg, .expert-site .contact-inner img { width: 13px; height: 13px; }
  .expert-site .header-inner { min-height: 84px; padding-block: 12px; }
  .expert-site .brand .brand-screen { width: 65px; height: 52px; }
  .expert-site .mobile-menu > nav { width: min(390px, calc(100vw - 36px)); max-height: calc(100dvh - 146px); }
  .expert-site .article-hero, .expert-site .library-hero { padding-bottom: 35px; }
  .expert-site .breadcrumb { padding-top: 12px; margin-bottom: 27px; }
  .expert-site .article-hero h1, .expert-site .library-hero h1 { font-size: clamp(30px, 5.2vw, 40px); }
  .expert-site .article-lead, .expert-site .library-hero p:not(.eyebrow) { font-size: 16px; }
  .expert-site .product-preview { margin-top: 24px; }
  .expert-site .article-toc { border-radius: 0; background: #f4f8f7; }
  .expert-site .btn { min-height: 52px; font-size: 15px; }
  .expert-site .site-footer { padding-top: 34px; }
  .expert-site .footer-grid { grid-template-columns: 75px minmax(0, 1fr); gap: 25px; }
  .expert-site .footer-brand img { width: 70px; }
  .expert-site .footer-nav { gap: 10px 20px; font-size: 12px; }
}

@media screen and (max-width: 520px) {
  .expert-site .article-hero h1 { font-size: clamp(24px, 7.2vw, 28px); }
  .expert-site .library-hero h1 { font-size: clamp(28px, 8vw, 36px); }
  .expert-site .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .expert-site .footer-brand img { width: 76px; }
  .expert-site .footer-contact { grid-column: auto; font-size: 13px; }
  .expert-site .footer-nav { grid-template-columns: minmax(0, 1fr); gap: 10px; font-size: 13px; }
  .expert-site .footer-bottom { margin-top: 25px; padding-top: 20px; }
  .expert-site .footer-pay img { width: 170px; }
}

@media screen and (max-width: 359px) {
  .expert-site .contact-inner { font-size: 10px; gap: 10px; }
  .expert-site .contact-inner a { gap: 5px; }
  .expert-site .contact-inner svg, .expert-site .contact-inner img { width: 11px; height: 11px; }
}
/* Leave room for the shared site's pinned, animated navigation. */
@media screen {
  .expert-production .expert-site .article-toc { top: 150px; }
  .expert-production .expert-site .article-section,
  .expert-production .expert-site #contents-title { scroll-margin-top: 150px; }
}
@media screen and (max-width: 768px) {
  .expert-production .expert-site .article-toc { top: 110px; }
  .expert-production .expert-site .article-section,
  .expert-production .expert-site #contents-title { scroll-margin-top: 110px; }
}
@page { size: A4; margin: 17mm 16mm 18mm; }
@media print {
  .expert-site { color: #162a28; background: #fff; font-size: 10.5pt; line-height: 1.6; }
  .expert-site * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .expert-site .container { width: 100%; max-width: none; }
  .expert-site .skip-link, .expert-site .mobile-menu, .expert-site .desktop-nav, .expert-site .header-phone, .expert-site .contact-strip, .expert-site .brand-screen, .expert-site .footer-brand, .expert-site .footer-pay, .expert-site .footer-nav, .expert-site .footer-social, .expert-site .footer-apps { display: none !important; }
  .expert-site .brand .brand-print { display: block; width: 28mm; height: auto; }
  .expert-site .footer-grid, .expert-site .footer-bottom { display: block; }
  .expert-site .header-inner { min-height: 13mm; }
  .expert-site .brand img { width: 28mm; }
  .expert-site .article-hero, .expert-site .library-hero { background: #fff; padding-bottom: 7mm; }
  .expert-site .breadcrumb { margin-bottom: 7mm; padding-top: 4mm; font-size: 7pt; }
  .expert-site .eyebrow { font-size: 7pt; margin-bottom: 3mm; }
  .expert-site h1 { font-size: 26pt; line-height: 1.2; }
  .expert-site h2 { font-size: 17pt; }
  .expert-site h3 { font-size: 12pt; }
  .expert-site .article-lead, .expert-site .library-hero p:not(.eyebrow) { margin-top: 5mm; font-size: 11pt; }
  .expert-site .article-meta { margin-top: 4mm; font-size: 7pt; }
  .expert-site .product-preview { float: right; width: 45mm; margin: 0 0 4mm 6mm; padding: 4mm; }
  .expert-site .product-preview img { height: 40mm; }
  .expert-site .product-preview figcaption { font-size: 7pt; }
  .expert-site .reading-layout { display: block; padding-top: 7mm; padding-bottom: 7mm; }
  .expert-site .article-toc { position: static; margin-bottom: 8mm; padding: 5mm; border: 1px solid var(--ea-line); background: #fff; border-radius: 0; break-inside: avoid; }
  .expert-site .article-toc h2 { margin-bottom: 3mm; font-size: 7pt; }
  .expert-site .article-toc ol { display: block; columns: 2; column-gap: 8mm; }
  .expert-site .article-toc li { margin-bottom: 2mm; break-inside: avoid; }
  .expert-site .article-toc a { padding: 0; border: 0; font-size: 8pt; color: inherit; }
  .expert-site .article-toc a[aria-current='location'] { font-weight: 400; }
  .expert-site .article-copy { max-width: none; }
  .expert-site .article-section { margin-bottom: 7mm; }
  .expert-site .article-section + .article-section { padding-top: 6mm; }
  .expert-site .article-section h2 { margin-bottom: 4mm; }
  .expert-site .article-section h3 { margin-top: 5mm; margin-bottom: 3mm; }
  .expert-site h1, .expert-site h2, .expert-site h3 { break-after: avoid; }
  .expert-site p, .expert-site li { orphans: 3; widows: 3; }
  .expert-site .article-copy p + p { margin-top: 3mm; }
  .expert-site .article-figure, .expert-site .expert-note, .expert-site .article-action { padding: 5mm; margin-block: 6mm; break-inside: avoid; }
  .expert-site .article-figure img { max-height: 75mm; }
  .expert-site .article-figure figcaption, .expert-site .product-preview figcaption { font-size: 7.5pt; }
  .expert-site .expert-note { font-size: 10pt; }
  .expert-site .article-action h2 { font-size: 16pt; }
  .expert-site .article-action p { font-size: 10pt; }
  .expert-site .actions { display: flex; flex-direction: row; margin-top: 4mm; gap: 3mm; }
  .expert-site .btn { width: auto; min-height: 0; padding: 3mm 4mm; font-size: 8pt; }
  .expert-site .related-section { padding: 7mm 0; background: #fff; }
  .expert-site .section-header { margin-bottom: 5mm; }
  .expert-site .section-header h2 { font-size: 17pt; }
  .expert-site .related-grid, .expert-site .library-grid { display: block; }
  .expert-site .related-card, .expert-site .library-card { display: block; padding: 5mm; margin-bottom: 4mm; break-inside: avoid; }
  .expert-site .related-card h3, .expert-site .library-card h2 { margin-bottom: 3mm; font-size: 12pt; }
  .expert-site .topic-number { margin-bottom: 3mm; font-size: 8pt; }
  .expert-site .article-kind { margin-bottom: 2mm; font-size: 7pt; }
  .expert-site .related-card p, .expert-site .library-card p { margin-bottom: 3mm; font-size: 9pt; }
  .expert-site .text-link { font-size: 8pt; }
  .expert-site .library-grid { padding-top: 7mm; padding-bottom: 0; }
  .expert-site .site-footer { padding: 6mm 0 0; break-inside: avoid; }
  .expert-site .footer-top img { width: 25mm; }
  .expert-site .footer-contact { font-size: 8pt; }
  .expert-site .footer-legal, .expert-site .footer-notice { font-size: 7pt; }
  .expert-site .footer-notice { padding-top: 3mm; margin-top: 4mm; }
  .expert-site a { color: inherit; text-decoration: none; }
  .expert-site .btn { color: #fff; }
  .expert-site .btn-secondary { color: var(--ea-teal); }
}

/* Compact author credit shared by article previews and production pages. */
.expert-site .article-author {
  clear: both;
  max-width: 880px;
  margin-top: 23px;
  padding-top: 17px;
  border-top: 1px solid #609f9b;
  color: #285c59;
  font-size: 13.5px;
  line-height: 1.65;
  overflow-wrap: break-word;
}
.expert-site .article-author-name,
.expert-site .article-author-bio {
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
.expert-site .article-author-name strong { font-weight: 600; }
.expert-site .article-author-bio { margin-top: 6px; }
@media screen and (max-width: 760px) {
  .expert-site .article-author {
    order: 6;
    max-width: 100%;
    margin-top: 20px;
    padding-top: 14px;
    font-size: 13px;
  }
}
@media print {
  .expert-site .article-author {
    max-width: none;
    margin-top: 4mm;
    padding-top: 3mm;
    border-top-color: #d3e1df;
    color: #435b58;
    font-size: 8.5pt;
    line-height: 1.5;
    break-inside: avoid;
  }
  .expert-site .article-author-bio { margin-top: 1.5mm; }
}
