/* Ultramarine artwork and pale editorial sections. */
/* The two local condensed faces are bundled under SIL OFL 1.1. */
@font-face {
  font-family: "Whei Resource Condensed";
  src: url("assets/antonio-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Whei Resource Text";
  src: url("assets/roboto-condensed-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.resource-page {
  --resource-blue: #2115ed;
  --resource-ink: #18116c;
  --resource-paper: #f1f1f0;
  --resource-line: #25207c38;
  --resource-display: "Whei Resource Condensed", "Bodoni 72", Didot, "Times New Roman", "Songti SC", "STSong", serif;
  --resource-ui: "Whei Resource Text", "Avenir Next Condensed", "PingFang SC", "Microsoft YaHei", sans-serif;
  color: var(--resource-ink); background: var(--resource-paper); color-scheme: light;
  font-family: var(--resource-ui); overflow-x: clip;
}
.resource-page .site-header { font-family: var(--sans); }
.resource-page a { color: inherit; text-decoration: none; }
.resource-page button { border: 0; border-radius: 0; }
.resource-page :is(button, a, summary):focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.resource-page [hidden] { display: none !important; }
.resource-page::before { content: ""; position: fixed; inset: 0 0 auto; z-index: 49; height: 76px; background: var(--resource-paper); box-shadow: 0 1px 0 var(--resource-line); pointer-events: none; }
.resource-page .wordmark, .resource-page .nav-links { color: #fff; }
.resource-shell { width: min(1240px, 77%); margin-inline: auto; }
.resource-page section[id] { scroll-margin-top: 118px; }
.resource-skip { position: fixed; top: -80px; left: 20px; z-index: 100; padding: 14px; background: white; }
.resource-skip:focus { top: 12px; }
.resource-micro { font: 500 11px/1.4 var(--resource-ui); letter-spacing: .055em; }
.resource-button { display: inline-flex; justify-content: center; align-items: center; padding: 13px 16px; min-height: 42px; font: 500 12px/1.3 var(--resource-ui); letter-spacing: .035em; text-align: center; }
.resource-button-blue { background: var(--resource-blue); color: white !important; }
.resource-button:hover { filter: brightness(.92); }
.resource-section-heading { display: flex; align-items: flex-start; gap: 9px; }
.resource-page .resource-section-heading :is(h1, h2) { margin: 0; font: 400 clamp(42px,4.5vw,68px)/1.1 var(--resource-display); letter-spacing: -.04em; }
.resource-section-heading > span { margin-top: 8px; font-size: 20px; }
.resource-features { padding-top: 148px; }
.resource-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 76px 34px; margin-top: 43px; }
.resource-feature { display: grid; grid-template-rows: auto auto 1fr auto; min-width: 0; align-content: start; }
.resource-feature h3 { margin: 12px 0 14px; font: 400 clamp(25px,2.7vw,39px)/1.2 var(--resource-display); letter-spacing: -.05em; }
.resource-feature p { margin: 0 0 29px; font-size: 15px; line-height: 1.75; }
.resource-print { position: relative; aspect-ratio: 1.16; background: var(--resource-blue); overflow: hidden; border-radius: 3px; isolation: isolate; pointer-events: none; }
.resource-print img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.print-globe img { object-position: center 37%; }
.print-muse img { object-position: center 27%; }
.print-folio img { object-position: center 47%; }
.print-scholar img { object-position: center 16%; }
.print-archive img { object-position: center 29%; }
.resource-feature h3 a:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.resource-faq { padding-top: 116px; }
.resource-faq-all { align-self: center; margin-left: auto; padding: 10px 0 10px 16px; color: var(--resource-ink); background: transparent; font: 11px var(--resource-ui); letter-spacing: .06em; }
.resource-faq-list { margin-top: 26px; border-top: 1px solid var(--resource-line); }
.resource-faq-item { border-bottom: 1px solid var(--resource-line); }
.resource-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; list-style: none; padding: 24px 0; cursor: pointer; font: 400 24px/1.25 var(--resource-display); letter-spacing: -.015em; }
.resource-faq-item summary::-webkit-details-marker { display: none; }
.faq-sign { position: relative; width: 12px; height: 12px; flex-shrink: 0; }
.faq-sign::before,.faq-sign::after { content: ""; position: absolute; background: currentColor; }
.faq-sign::before { left: 0; top: 5px; width: 11px; height: 1px; }
.faq-sign::after { top: 0; left: 5px; width: 1px; height: 11px; }
.resource-faq-item[open] .faq-sign::after { display: none; }
.resource-faq-answer { max-width: 760px; padding: 0 30px 26px 0; font-size: 15px; line-height: 1.9; animation: resource-answer-in .3s ease-out; }
.resource-faq-answer p { margin: 0 0 12px; }
.resource-faq-answer a { font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
@keyframes resource-answer-in { from { opacity: 0; } to { opacity: 1; } }
.resource-plans { padding-top: 126px; }
.resource-plan-tags { display: flex; gap: 7px; margin-bottom: 16px; }
.resource-plan-tags span { padding: 2px 3px; border: 1px solid currentColor; font: 9px/1 var(--resource-ui); letter-spacing: .04em; }
.resource-plans-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.resource-account-actions { display: flex; align-items: center; flex-shrink: 0; gap: 28px; }
.resource-account-actions a { font: 450 17px/1 var(--resource-display); letter-spacing: .085em; white-space: nowrap; }
.resource-page .resource-account-create { display: inline-flex; align-items: center; min-height: 48px; padding: 12px 19px; background: var(--resource-blue); color: white; }
.resource-page .resource-account-signin { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.resource-account-actions a:hover { filter: brightness(.82); }
.resource-plans-lead { font-size: 16px; line-height: 1.7; margin: 26px 0 24px; }
.resource-plans-banner { position: relative; aspect-ratio: 3 / 1; overflow: hidden; border-radius: 3px; background: var(--resource-blue); isolation: isolate; }
.resource-plans-banner img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 49%; }
.resource-plan-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 30px; gap: 25px; }
.resource-plan { display: flex; flex-direction: column; padding: 0 7px; }
.resource-plan h3 { margin: 16px 0 8px; font: 400 clamp(27px,2.7vw,40px)/1.2 var(--resource-display); letter-spacing: -.045em; }
.plan-status { margin: 0 0 14px; font-size: 11px; letter-spacing: .08em; }
.resource-plan ul { padding-left: 14px; margin: 0 0 30px; flex: 1; font-size: 11px; line-height: 2; }
.resource-outline-button { align-self: flex-start; padding: 7px 9px; border: 1px solid var(--resource-line); font: 10px/1.3 var(--resource-ui); letter-spacing: .04em; }
.resource-outline-button:hover { background: var(--resource-blue); color: white; }
.resource-plans-note { margin: 28px 7px 0; font-size: 10px; line-height: 1.8; }
.resource-download { position: relative; isolation: isolate; overflow: hidden; margin-top: 124px; padding: 104px 0 116px; color: white; background: var(--resource-paper); }
/* The painting is a separate, softly striped backdrop; cards stay unfiltered. */
.resource-download::before { content: ""; position: absolute; inset: -8px; z-index: 0; pointer-events: none; background: url("assets/resource-download-starry-night.jpg") center 48% / cover no-repeat; opacity: .88; filter: saturate(.82) blur(.7px); -webkit-mask-image: repeating-linear-gradient(to bottom, #000 0 15px, #0003 15px 17px); mask-image: repeating-linear-gradient(to bottom, #000 0 15px, #0003 15px 17px); }
.resource-download::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(to bottom, var(--resource-paper) 0%, #f1f1f0eb 3%, #f1f1f073 12%, #f1f1f000 25%, #f1f1f000 75%, #f1f1f073 88%, #f1f1f0eb 97%, var(--resource-paper) 100%); }
.resource-download-shell { position: relative; z-index: 2; width: min(1520px, calc(100% - 9vw)); margin-inline: auto; text-align: center; }
.resource-download-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.35vw, 38px); }
.resource-download-card { position: relative; display: block; min-width: 0; height: clamp(320px, 27vw, 410px); overflow: hidden; isolation: isolate; background: #2251d5; color: #fff; text-align: center; cursor: pointer; box-shadow: 0 0 0 5px #f1f1f0d9, 0 18px 40px #101c3045; }
.resource-download-card > img { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; }
.resource-download-card:nth-child(1) > img { object-position: center 39%; }
.resource-download-card:nth-child(2) > img { object-position: center 44%; }
.resource-download-card:nth-child(3) > img { object-position: center 39%; }
.resource-download-card::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, #0b0d1b47 0%, #0b0d1b0f 51%, #0b0d1b57 100%); }
.resource-download-card-copy { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 28px; }
.resource-download-platform, .resource-download-card strong { text-shadow: 0 2px 12px #080a198c; }
.resource-download-platform { margin-bottom: 34px; font: 500 11px/1.2 var(--resource-ui); letter-spacing: .12em; }
.resource-download-card strong { margin-bottom: 32px; font: 300 clamp(48px, 4.7vw, 75px)/1.05 var(--resource-display); letter-spacing: -.045em; }
.resource-download-cta { display: inline-flex; align-items: center; gap: 11px; min-height: 43px; padding: 10px 18px; background: #fff; color: #1730c7; font: 650 12px/1.2 var(--resource-ui); letter-spacing: .075em; white-space: nowrap; }
.resource-download-cta > [aria-hidden] { font-size: 18px; line-height: 0; }
.resource-download-card:hover .resource-download-cta { background: #ecf0ff; }
.resource-page .info-dialog.resource-download-dialog { width: min(840px, calc(100% - 30px)); max-height: calc(100vh - 30px); overflow: auto; padding: 72px 76px 76px; border-radius: 42px; color: #222; box-shadow: 0 24px 100px #030c3b5e; }
.resource-page .resource-download-dialog::backdrop { background: #0b1c76bd; backdrop-filter: blur(9px); }
.resource-download-dialog .dialog-brand { display: block; margin-bottom: 82px; font-size: 32px; font-weight: 750; letter-spacing: -.06em; }
.resource-download-dialog .dialog-close { top: 28px; right: 28px; width: 72px; height: 72px; border-radius: 0; background: #f4f4f6; }
.resource-download-dialog .dialog-close svg { width: 30px; stroke-width: 1.8; }
.resource-download-dialog h2 { margin: 0 0 31px; font: 400 clamp(42px, 4.3vw, 60px)/1.15 var(--resource-display); }
.resource-download-dialog p { margin: 0 0 57px; font-size: clamp(19px, 2.2vw, 29px); line-height: 1.5; color: #5c5c5c; }
.resource-download-dialog .dialog-confirm { min-width: 176px; min-height: 84px; padding: 15px 28px; border-radius: 0; font-size: 24px; }
.resource-signoff { position: relative; height: 340px; display: flex; align-items: end; padding-bottom: 27px; overflow: hidden; }
.resource-signoff-word { position: absolute; inset: auto 0 22px; color: #eae9f2; font: 200 clamp(120px,19vw,270px)/.8 var(--resource-display); letter-spacing: -.06em; text-align: center; pointer-events: none; }
.resource-signoff > div { position: relative; width: 100%; display: flex; align-items: end; justify-content: space-between; gap: 20px; font: 10px/1.7 var(--resource-ui); }
.resource-signoff p { margin: 0; }
.resource-language { display: flex; gap: 8px; align-items: center; }
.resource-language button { padding: 4px; background: transparent; font-size: 10px; color: var(--resource-ink); opacity: .55; }
.resource-language button[aria-pressed="true"] { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.resource-footer { position: relative; isolation: isolate; overflow: hidden; background: #162934; color: var(--resource-paper); }
.resource-footer-art { position: absolute; inset: 0 0 auto; z-index: -1; height: 78%; overflow: hidden; }
.resource-footer-art img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 43%; }
.resource-footer-art::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,#162934 85%); }
.resource-footer-content { padding-top: clamp(330px,35vw,560px); position: relative; }
.resource-footer-word { position: absolute; top: clamp(240px,29vw,490px); left: -1%; width: 102%; font: 200 clamp(120px,20vw,315px)/.85 var(--resource-display); letter-spacing: -.055em; color: #b3b0ff2c; white-space: nowrap; pointer-events: none; }
.resource-footer-grid { position: relative; display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 38px; padding-bottom: 75px; }
.resource-footer-brand > a { display: inline-block; font: 400 35px var(--resource-display); letter-spacing: -.04em; }
.resource-footer-brand p { margin: 23px 0 0; font: 11px/1.9 var(--resource-ui); letter-spacing: .075em; }
.resource-footer-column { display: flex; align-items: flex-start; flex-direction: column; gap: 14px; }
.resource-footer-column h3 { margin: 8px 0 6px; font: 400 25px/1.2 var(--resource-display); letter-spacing: -.03em; }
.resource-footer-column .resource-micro { color: #c9c5ff; }
.resource-footer-column a,.resource-footer-column button { padding: 0; color: inherit; background: transparent; text-align: left; font: 11px/1.5 var(--resource-ui); letter-spacing: .04em; }
.resource-footer a:hover,.resource-footer button:hover { text-decoration: underline; text-underline-offset: 5px; }
.resource-footer-bottom { display: flex; justify-content: space-between; gap: 25px; padding: 22px 0 30px; border-top: 1px solid #ffffff45; font: 10px var(--resource-ui); letter-spacing: .05em; }
.resource-page .info-dialog { color: #171717; }
@media (min-width: 1800px) { .resource-shell { width: 77%; max-width: 1550px; } }
@media (max-width: 1100px) {
  .resource-page::before { height: 134px; }
  .resource-shell { width: 86%; }
  .resource-page section#download { scroll-margin-top: 148px; }
  .resource-features { padding-top: 190px; }
  .resource-feature-grid { column-gap: 23px; }
  .resource-feature p { font-size: 13px; }
  .resource-download-shell { width: calc(100% - 9vw); }
  .resource-download-card-copy { padding-inline: 14px; }
  .resource-download-cta { font-size: 10px; padding-inline: 12px; }
  .resource-footer-grid { gap: 25px; }
}
@media (max-width: 760px) {
  .resource-page::before { height: 152px; }
  .resource-shell { width: calc(100% - 44px); }
  .resource-page section[id] { scroll-margin-top: 88px; }
  .resource-page section#download { scroll-margin-top: 168px; }
  .resource-button { font-size: 11px; min-height: 43px; padding: 12px 13px; }
  .resource-features { padding-top: 184px; }
  .resource-page .resource-section-heading :is(h1, h2) { font-size: 42px; }
  .resource-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px 20px; margin-top: 34px; }
  .resource-feature h3 { font-size: 25px; }
  .resource-feature p { font-size: 12px; margin-bottom: 19px; }
  .resource-micro { font-size: 9px; }
  .resource-faq { padding-top: 76px; }
  .resource-faq-item summary { font-size: 21px; padding-block: 21px; }
  .resource-faq-answer { font-size: 13px; }
  .resource-plans { padding-top: 85px; }
  .resource-plans-heading { align-items: flex-start; flex-direction: column; gap: 23px; }
  .resource-plans-lead { font-size: 14px; }
  .resource-plans-banner { aspect-ratio: 3 / 1; }
  .resource-plans-banner img { object-position: 65% 35%; }
  .resource-plan-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 18px; }
  .resource-plan { padding: 0; }
  .resource-plan h3 { font-size: 29px; }
  .resource-plan ul { margin-bottom: 18px; }
  .resource-download { margin-top: 88px; padding: 34px 0 42px; }
  .resource-download-shell { width: calc(100% - 44px); }
  .resource-download-grid { grid-template-columns: 1fr; gap: 18px; }
  .resource-download-card { height: 320px; }
  .resource-download-platform { margin-bottom: 28px; }
  .resource-download-card strong { margin-bottom: 27px; }
  .resource-page .info-dialog.resource-download-dialog { padding: 34px 27px 40px; border-radius: 28px; }
  .resource-download-dialog .dialog-brand { margin-bottom: 63px; font-size: 25px; }
  .resource-download-dialog .dialog-close { top: 20px; right: 20px; width: 52px; height: 52px; }
  .resource-download-dialog .dialog-close svg { width: 24px; }
  .resource-download-dialog h2 { margin-bottom: 22px; font-size: 42px; }
  .resource-download-dialog p { margin-bottom: 36px; font-size: 19px; }
  .resource-download-dialog .dialog-confirm { min-width: 136px; min-height: 58px; font-size: 18px; }
  .resource-signoff { height: 230px; }
  .resource-signoff > div { font-size: 8px; gap: 12px; }
  .resource-signoff-word { bottom: 65px; }
  .resource-footer-content { padding-top: 310px; }
  .resource-footer-art { height: 450px; }
  .resource-footer-art img { object-position: 64% top; }
  .resource-footer-word { font-size: 21vw; top: 255px; }
  .resource-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 25px; padding-bottom: 42px; }
  .resource-footer-column h3 { font-size: 24px; }
  .resource-footer-brand > a { font-size: 31px; }
}
@media (hover: none) and (pointer: coarse) {
  /* Keep the desktop composition on mobile while giving the artwork a gentler crop. */
  .resource-plans-banner img { object-position: 58% 44%; }
  .resource-footer-art img { object-position: 58% 40%; }
}
@media (max-width: 440px) {
  .resource-feature-grid { grid-template-columns: 1fr; gap: 42px; }
  .resource-feature h3 { font-size: 32px; }
  .resource-feature p { font-size: 14px; }
  .resource-print { aspect-ratio: 1.15; }
  .resource-features { padding-top: 225px; }
  .resource-plan h3 { font-size: 25px; }
  .resource-plan ul { font-size: 10px; }
  .resource-footer-grid { column-gap: 20px; }
}
@media (max-width: 374px) {
  .resource-page::before { height: 190px; }
  .resource-page section#download { scroll-margin-top: 205px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .resource-faq-answer { animation: none; }
  .resource-print img, .resource-plans-banner img, .resource-download-card > img, .resource-footer-art img { top: 0; height: 100%; transform: none; }
}
