/*
 * Xantum subpage refinement
 * Load after premium/pages.css and premium/blog-pages.css.
 * Scoped to the premium legal, history and blog views only.
 */

.legal-page,
.history-page,
.xantum-blog-page {
  --xantum-ink: #102130;
  --xantum-green: #aac22f;
  --xantum-paper: #f4f7f2;
  --xantum-mist: #e8eee7;
  --xantum-copy: #36505a;
  --xantum-rule: #c8d3cc;
  background: var(--xantum-paper);
  color: var(--xantum-ink);
}

/* Shared, deliberately quiet masthead. */
.legal-page .site-header.legal-header,
.history-page .site-header.legal-header,
.xantum-blog-page .site-header.xantum-blog-header {
  height: 78px;
  min-height: 78px;
  padding: 18px 5%;
  background: var(--xantum-ink);
  color: var(--white);
  border-bottom: 1px solid rgb(255 255 255 / .13);
}
.legal-page .mini-logo,
.history-page .mini-logo { gap: 9px; }
.legal-page .mini-logo .header-wordmark,
.history-page .mini-logo .header-wordmark { font-size: 22px; letter-spacing: -.045em; }
.legal-page .site-header nav,
.history-page .site-header nav,
.xantum-blog-page .site-header nav {
  gap: clamp(16px, 2.4vw, 30px);
  font: 500 11px/1.3 "DM Mono", monospace;
  letter-spacing: .045em;
}
.legal-page .site-header nav a,
.history-page .site-header nav a,
.xantum-blog-page .site-header nav a { border-bottom: 1px solid transparent; }
.legal-page .site-header nav a:hover,
.history-page .site-header nav a:hover,
.xantum-blog-page .site-header nav a:hover { color: var(--xantum-green); border-bottom-color: var(--xantum-green); }

/* Legal pages: reduce spectacle and make dense statutory content easy to scan. */
.legal-page .legal-main { background: var(--xantum-paper); }
.legal-page .legal-hero {
  padding: clamp(36px, 5vw, 66px) 6% clamp(60px, 7vw, 94px);
  background: var(--xantum-ink);
  border-bottom: 3px solid var(--xantum-green);
}
.legal-page .legal-back {
  margin-bottom: clamp(34px, 5vw, 58px);
  color: #d4dfd8;
  letter-spacing: .04em;
}
.legal-page .legal-back:hover { color: var(--xantum-green); }
.legal-page .legal-hero .section-kicker { color: #c5d2ca; }
.legal-page .legal-hero h1 {
  max-width: 900px;
  font-size: clamp(48px, 7.3vw, 118px);
  line-height: .93;
  letter-spacing: -.068em;
  margin-bottom: 24px;
}
.legal-page .legal-hero h1 > span { color: var(--xantum-green); }
.legal-page .legal-hero > p { max-width: 630px; color: #e1eae4; font-size: clamp(17px, 1.65vw, 22px); }
.legal-page .legal-layout {
  max-width: 1320px;
  padding-top: clamp(52px, 6vw, 84px);
  padding-bottom: clamp(60px, 7vw, 96px);
  grid-template-columns: minmax(185px, .68fr) minmax(0, 2fr);
  gap: clamp(42px, 8vw, 130px);
}
.legal-page .legal-toc > span,
.legal-page .legal-number,
.legal-page .legal-details dt { color: #587068; font: 500 11px/1.55 "DM Mono", monospace; letter-spacing: .04em; }
.legal-page .legal-toc nav { margin-top: 14px; }
.legal-page .legal-toc nav a { padding: 11px 0; border-color: var(--xantum-rule); color: #3e5851; }
.legal-page .legal-toc nav a:hover { color: var(--xantum-ink); }
.legal-page .legal-help { color: #285349; font-size: 15px; }
.legal-page .legal-content { max-width: 760px; }
.legal-page .legal-content section { padding-bottom: 38px; margin-bottom: 38px; border-color: var(--xantum-rule); }
.legal-page .legal-content h2 { margin: 12px 0 19px; font-size: clamp(25px, 2.3vw, 35px); line-height: 1.13; }
.legal-page .legal-content p,
.legal-page .legal-content address,
.legal-page .legal-content dd { color: var(--xantum-copy); font-size: 16px; line-height: 1.78; }
.legal-page .legal-content a { color: #164f42; text-decoration-color: #7f9e32; text-decoration-thickness: 1px; }
.legal-page .legal-content a:hover { color: var(--xantum-ink); text-decoration-color: var(--xantum-green); }
.legal-page .legal-details { margin-top: 22px; }
.legal-page .legal-details > div { padding: 15px 0; border-color: var(--xantum-rule); }
.legal-page .legal-related { padding: 29px 6%; background: var(--xantum-mist); border-top: 1px solid var(--xantum-rule); }
.legal-page .legal-related > span { color: #567068; }
.legal-page .legal-related a { color: var(--xantum-ink); font-size: 15px; }
.legal-page .legal-related a:hover { color: #2b5d4d; }

/* History page: preserve the story, align its rhythm and colours to the new home. */
.history-page .history-main { background: var(--xantum-paper); }
.history-page .story-intro {
  padding-top: clamp(58px, 7vw, 94px);
  padding-bottom: clamp(64px, 8vw, 108px);
  background: var(--xantum-ink);
  border-bottom: 3px solid var(--xantum-green);
}
.history-page .story-intro .section-kicker { color: #c5d2ca; }
.history-page .story-intro h1 { max-width: 940px; font-size: clamp(50px, 7vw, 110px); line-height: .94; }
.history-page .story-intro > .story-lead { max-width: 710px; color: #e0e9e2; font-size: clamp(18px, 1.8vw, 24px); }
.history-page .story-intro > .story-claim { color: var(--xantum-green); }
.history-page .story-section { max-width: 1260px; padding-top: clamp(54px, 6vw, 82px); padding-bottom: clamp(54px, 6vw, 82px); }
.history-page .story-section .section-kicker { color: #5a7069; }
.history-page .story-section h2 { max-width: 760px; font-size: clamp(35px, 4.5vw, 62px); line-height: .98; }
.history-page .story-section:not(.story-intro) > p:not(.section-kicker),
.history-page .story-timeline p,
.history-page .history-person p { color: var(--xantum-copy); }
.history-page .story-timeline-item,
.history-page .story-outlook { border-color: var(--xantum-rule); }
.history-page .story-timeline-item > time,
.history-page .timeline-now { color: #315f50; }
.history-page .story-timeline-item:last-child > span { color: #698227; }
.history-page .history-person { background: #fbfcf9; border-top-color: #315f50; }
.history-page .history-person:last-child { border-top-color: var(--xantum-green); }
.history-page .history-person > .history-person-role { color: #315f50; }
.history-page .story-contact { padding-top: clamp(58px, 7vw, 90px); padding-bottom: clamp(58px, 7vw, 90px); background: #193b36; }
.history-page .story-contact h2 { font-size: clamp(42px, 5.5vw, 82px); }
.history-page .story-contact .line-link { color: var(--xantum-green); }

/* Blog listing and article retain their functional layouts, with a single editorial surface. */
.xantum-blog-page .xantum-blog-main { background: var(--xantum-paper); }
.xantum-blog-page .xantum-blog-hero,
.xantum-blog-page .xantum-article-hero {
  padding-top: clamp(54px, 6.5vw, 82px);
  padding-bottom: clamp(66px, 7.5vw, 104px);
  background: var(--xantum-ink);
  border-bottom: 3px solid var(--xantum-green);
}
.xantum-blog-page .xantum-blog-hero .section-kicker { margin-bottom: 30px; color: #c5d2ca; }
.xantum-blog-page .xantum-blog-hero h1 { max-width: 890px; font-size: clamp(53px, 8.7vw, 130px); line-height: .86; }
.xantum-blog-page .xantum-blog-hero h1 span,
.xantum-blog-page .xantum-article-hero h1 span { color: var(--xantum-green); }
.xantum-blog-page .xantum-blog-hero > p { margin-top: 29px; color: #e0e9e2; font-size: clamp(17px, 1.7vw, 22px); }
.xantum-blog-page .xantum-blog-listing { max-width: 1400px; padding-top: clamp(52px, 6vw, 76px); }
.xantum-blog-page .xantum-post-grid { gap: 16px; }
.xantum-blog-page .xantum-post-card { min-height: 360px; padding: clamp(22px, 2.4vw, 34px); background: #fbfcf9; border-color: var(--xantum-rule); border-top-color: #315f50; }
.xantum-blog-page .xantum-post-card:nth-child(3n + 2) { border-top-color: var(--xantum-green); }
.xantum-blog-page .xantum-post-card:nth-child(3n) { border-top-color: #729486; }
.xantum-blog-page .blog-meta { border-color: var(--xantum-rule); color: #5a7069; }
.xantum-blog-page .xantum-post-card h2 { margin-top: 23px; font-size: clamp(24px, 1.85vw, 30px); }
.xantum-blog-page .xantum-post-card p { color: var(--xantum-copy); }
.xantum-blog-page .post-read { border-color: var(--xantum-rule); color: #21483e; }
.xantum-blog-page .post-read span { color: #54772d; }
.xantum-blog-page .blog-pagination { border-color: var(--xantum-rule); color: #5a7069; }
.xantum-blog-page .blog-pagination a { color: #21483e; }
.xantum-blog-page .blog-pagination a:hover { color: #607a29; }
.xantum-blog-page .blog-back { margin-bottom: clamp(38px, 5vw, 58px); color: #d4dfd8; }
.xantum-blog-page .blog-back:hover { color: var(--xantum-green); }
.xantum-blog-page .xantum-article-hero .blog-meta { color: #c5d2ca; }
.xantum-blog-page .xantum-article-hero h1 { max-width: 1030px; margin-top: 25px; font-size: clamp(41px, 4.7vw, 78px); }
.xantum-blog-page .xantum-article-lead { max-width: 700px; margin-top: 28px; color: #e0e9e2; font-size: clamp(18px, 1.9vw, 25px); }
.xantum-blog-page .xantum-article-body { max-width: 810px; padding-top: clamp(54px, 6vw, 76px); color: var(--xantum-copy); font-size: 17px; line-height: 1.8; }
.xantum-blog-page .xantum-article-body h2,
.xantum-blog-page .xantum-article-body h3 { color: var(--xantum-ink); }
.xantum-blog-page .xantum-article-body a { color: #164f42; text-decoration-color: #7f9e32; }
.xantum-blog-page .xantum-article-body blockquote { border-color: var(--xantum-green); color: #254e43; }
.xantum-blog-page .xantum-article-body th { background: var(--xantum-mist); }
.xantum-blog-page .xantum-article-body th,
.xantum-blog-page .xantum-article-body td,
.xantum-blog-page .xantum-article-footer { border-color: var(--xantum-rule); }
.xantum-blog-page .xantum-article-footer { max-width: 810px; }
.xantum-blog-page .xantum-article-footer a { color: #21483e; }
.xantum-blog-page .blog-state { background: #fbfcf9; border-color: var(--xantum-rule); color: var(--xantum-copy); }
.xantum-blog-page .blog-state a { color: #21483e; }
.xantum-blog-page .blog-state-full { background: var(--xantum-ink); color: var(--white); }
.xantum-blog-page .blog-state-full > span,
.xantum-blog-page .blog-state-full a { color: var(--xantum-green); }

/* Footer and focus treatment shared by all subpages. */
.legal-page footer,
.history-page footer,
.xantum-blog-page footer { padding: 34px 5% 22px; background: var(--xantum-paper); color: var(--xantum-ink); border-top: 1px solid var(--xantum-rule); }
.legal-page .footer-brand,
.history-page .footer-brand,
.xantum-blog-page .footer-brand { font-size: clamp(76px, 13vw, 190px); letter-spacing: -.092em; line-height: .76; }
.legal-page .footer-bottom,
.history-page .footer-bottom,
.xantum-blog-page .footer-bottom { margin-top: 34px; padding-top: 19px; border-color: var(--xantum-rule); color: #526a62; }
.legal-page .footer-bottom a:hover,
.history-page .footer-bottom a:hover,
.xantum-blog-page .footer-bottom a:hover { color: #436526; }
.legal-page :focus-visible,
.history-page :focus-visible,
.xantum-blog-page :focus-visible { outline: 3px solid var(--xantum-green); outline-offset: 4px; }

@media (max-width: 680px) {
  .legal-page .site-header.legal-header,
  .history-page .site-header.legal-header,
  .xantum-blog-page .site-header.xantum-blog-header { height: auto; min-height: 66px; padding: 15px 6%; }
  .legal-page .site-header nav,
  .history-page .site-header nav,
  .xantum-blog-page .site-header nav { width: 100%; justify-content: space-between; gap: 8px; font-size: 10px; }
  .legal-page .legal-hero { padding-top: 30px; padding-bottom: 54px; }
  .legal-page .legal-layout { display: block; padding-top: 38px; }
  .legal-page .legal-toc { margin-bottom: 39px; }
  .legal-page .legal-toc nav { grid-template-columns: 1fr; }
  .legal-page .legal-content section { padding-bottom: 31px; margin-bottom: 31px; }
  .legal-page .legal-content p,
  .legal-page .legal-content address,
  .legal-page .legal-content dd { font-size: 16px; line-height: 1.72; }
  .history-page .story-intro { padding-top: 52px; }
  .history-page .story-intro h1 { font-size: clamp(47px, 13vw, 68px); }
  .history-page .history-person { padding: 26px; }
  .xantum-blog-page .xantum-blog-hero,
  .xantum-blog-page .xantum-article-hero { padding-top: 44px; padding-bottom: 56px; }
  .xantum-blog-page .xantum-blog-hero h1 { font-size: clamp(49px, 15vw, 76px); }
  .xantum-blog-page .xantum-post-card { padding: 23px; }
  .xantum-blog-page .xantum-article-body { padding-left: 6%; padding-right: 6%; font-size: 16px; line-height: 1.75; }
  .xantum-blog-page .xantum-article-footer { padding-left: 6%; padding-right: 6%; }
  .legal-page .footer-bottom,
  .history-page .footer-bottom,
  .xantum-blog-page .footer-bottom { gap: 16px; }
  .legal-page .footer-bottom > div,
  .history-page .footer-bottom > div,
  .xantum-blog-page .footer-bottom > div { gap: 12px 18px; }
}

@media (max-width: 420px) {
  .legal-page .site-header nav,
  .history-page .site-header nav,
  .xantum-blog-page .site-header nav { font-size: 9px; letter-spacing: 0; }
  .legal-page .legal-hero h1 { font-size: clamp(45px, 16vw, 62px); }
  .xantum-blog-page .xantum-article-hero h1 { font-size: clamp(39px, 11.8vw, 57px); overflow-wrap: anywhere; }
  .xantum-blog-page .blog-meta { align-items: flex-start; flex-direction: column; gap: 5px; }
  .legal-page .legal-related { align-items: flex-start; flex-direction: column; gap: 14px; }
  .legal-page .legal-related > span { width: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .legal-page *, .history-page *, .xantum-blog-page * { scroll-behavior: auto; }
}

.history-page .story-intro { max-width: none; }
.history-page .story-intro .section-kicker { color: #c5d2ca; }
@media(max-width:680px) { .xantum-blog-page .xantum-article-hero h1 { font-size: clamp(34px,9.5vw,52px); line-height: 1.04; } }
