/* Editorial Atlas | accessible, content-first styles. No JavaScript required on the frontend. */
:root {
  --atlas-paper: #F6F3EC;
  --atlas-ink: #1F211F;
  --atlas-sage: #687B6F;
  --atlas-sage-ink: #57685C;
  --atlas-slate: #4F6B7A;
  --atlas-rust: #C96F4A;
  --atlas-rust-ink: #9C4F32;
  --atlas-muted: #696C65;
  --atlas-rule: #DCD7CD;
  --atlas-serif: 'Newsreader', Georgia, 'Times New Roman', serif;
  --atlas-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --atlas-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Consolas, monospace;
}
html { scroll-behavior: smooth; }
body { background: var(--atlas-paper); color: var(--atlas-ink); font-family: var(--atlas-sans); margin: 0; }
body *, body *::before, body *::after { box-sizing: border-box; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--atlas-rust-ink); }
:focus-visible { outline: 3px solid var(--atlas-slate); outline-offset: 4px; }
img { max-width: 100%; height: auto; }
::selection { background: #D7DCD5; color: var(--atlas-ink); }
.atlas-shell { max-width: 1384px; margin-inline: auto; padding-inline: clamp(20px, 4.4vw, 68px); }
.atlas-header { border-bottom: 1px solid var(--atlas-rule); }
.atlas-header-inner { min-height: 100px; display: flex; align-items: center; gap: 32px; justify-content: space-between; }
.atlas-header .wp-block-site-title { font-family: var(--atlas-serif); font-size: clamp(2.1rem, 3vw, 2.9rem); letter-spacing: -.055em; font-weight: 400; margin: 0; line-height: 1; }
.atlas-header .wp-block-site-title a { text-decoration: none; }
.atlas-header .wp-block-navigation { font-family: var(--atlas-sans); font-size: .81rem; letter-spacing: .015em; gap: clamp(13px, 1.8vw, 29px); }
.atlas-header .wp-block-navigation a { text-decoration: none; }
.atlas-header .wp-block-navigation a:hover { color: var(--atlas-rust-ink); }
.atlas-header .wp-block-navigation__responsive-container.is-menu-open { padding: 28px; background: var(--atlas-paper) !important; color: var(--atlas-ink) !important; }
.atlas-header .wp-block-navigation__responsive-container.is-menu-open a { font-family: var(--atlas-serif); font-size: 1.5rem; }
.atlas-header .wp-block-navigation__responsive-container-open { min-height: 44px; min-width: 44px; justify-content: center; }
.atlas-footer { border-top: 1px solid var(--atlas-rule); padding-block: 45px 26px; margin-top: 60px; }
.atlas-footer-inner { display: flex; justify-content: space-between; align-items: start; gap: 28px; }
.atlas-footer .wp-block-site-title { font-family: var(--atlas-serif); font-size: 2rem; font-weight: 400; }
.atlas-footer .wp-block-site-title a { text-decoration: none; }
.atlas-footer small, .atlas-footer p { color: var(--atlas-muted); font-size: .79rem; }
.atlas-footer a { text-decoration: none; }
.atlas-main { min-height: 55vh; }
.atlas-homepage { max-width: 1320px; margin-inline: auto; }
.atlas-homepage h1, .atlas-homepage h2, .atlas-homepage h3, .atlas-article h1 { font-family: var(--atlas-serif); font-weight: 400; }
.atlas-homepage h1, .atlas-homepage h2, .atlas-homepage h3, .atlas-homepage p { margin-block-start: 0; }
.atlas-eyebrow { text-transform: uppercase; font-family: var(--atlas-mono); font-size: .66rem; font-weight: 500; line-height: 1.8; letter-spacing: .11em; color: var(--atlas-sage-ink); }
.atlas-eyebrow-line { display: inline-block; vertical-align: middle; width: 24px; border-top: 1px solid var(--atlas-sage); margin: 0 9px; }
.atlas-text-link { display: inline-flex; align-items: center; gap: 10px; width: fit-content; font-family: var(--atlas-sans); font-size: .85rem; text-decoration: none; padding-bottom: 5px; border-bottom: 1px solid currentColor; }
.atlas-text-link span { font-size: 1rem; }
.atlas-hero { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: 595px; border-bottom: 1px solid var(--atlas-rule); }
.atlas-hero-copy { padding: clamp(50px, 7vw, 100px) 48px clamp(44px, 5vw, 80px) 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.atlas-hero-copy h1 { font-size: clamp(3rem, 5vw, 5.25rem); line-height: 1.035; letter-spacing: -.045em; margin: 26px 0; max-width: 11ch; text-wrap: balance; }
.atlas-hero-deck { color: #4E534E; font-size: clamp(1rem, 1.3vw, 1.16rem); line-height: 1.72; max-width: 40ch; }
.atlas-hero-link { margin-top: 20px; }
.atlas-hero-visual { position: relative; min-height: 530px; }
.atlas-hero-visual > a { display: block; height: 100%; }
.atlas-media { overflow: hidden; background: #DDE2DD; position: relative; }
.atlas-hero-media { height: 100%; min-height: 530px; }
.atlas-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .55s ease; }
a:hover > .atlas-media img, .atlas-card-visual:hover .atlas-media img { transform: scale(1.018); }
.atlas-image-empty { background: linear-gradient(135deg, #D9E0DD 4%, #AABCB5 40%, #637C84 100%); isolation: isolate; }
.atlas-image-empty::after { content: ''; display: block; position: absolute; width: 72%; height: 85%; border: 1px solid #ffffff76; left: 14%; top: 7%; transform: rotate(-16deg); }
.atlas-image-empty span { position: absolute; top: 10%; left: 10%; color: #F5F1E5; font: 500 .75rem var(--atlas-mono); letter-spacing: .25em; text-transform: uppercase; }
.atlas-image-empty i { position: absolute; width: 80%; height: 70%; top: 35%; left: 30%; border-radius: 50%; border: 1px solid #ffffff85; }
.atlas-image-empty b { position: absolute; width: 45%; height: 1px; left: 10%; bottom: 15%; background: #ffffff85; }
.atlas-photo-caption { position: absolute; right: 15px; bottom: 15px; padding: 5px 9px; background: #F6F3ECe8; color: var(--atlas-ink); font: .6rem var(--atlas-mono); letter-spacing: .04em; }
.atlas-section { padding-top: clamp(52px, 6vw, 88px); }
.atlas-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--atlas-rule); padding-bottom: 17px; margin-bottom: 27px; }
.atlas-section-head h2 { font-size: clamp(1.8rem, 3vw, 2.45rem); letter-spacing: -.028em; line-height: 1.15; margin: 0; }
.atlas-section-head .atlas-eyebrow { margin: 0; }
.atlas-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(22px, 3vw, 40px); }
.atlas-card-visual { display: block; aspect-ratio: 1.34; overflow: hidden; margin-bottom: 20px; }
.atlas-card-visual .atlas-media { height: 100%; }
.atlas-card .atlas-eyebrow { margin-bottom: 6px; }
.atlas-card-title { font-size: clamp(1.48rem, 2.25vw, 2.05rem); line-height: 1.18; letter-spacing: -.023em; margin: 0 0 12px; text-wrap: balance; }
.atlas-card-title a { text-decoration: none; }
.atlas-card-excerpt { color: #535850; font-size: .91rem; line-height: 1.7; margin-bottom: 12px; }
.atlas-card .atlas-text-link { font-size: .78rem; }
.atlas-field-section { display: grid; grid-template-columns: minmax(0, 1.13fr) minmax(0, .87fr); min-height: 365px; padding-top: 76px; }
.atlas-field-visual { min-height: 330px; }
.atlas-field-media { height: 100%; min-height: 330px; background: linear-gradient(135deg, #A5B7A7, #485E68); }
.atlas-field-copy { padding: clamp(32px, 4vw, 56px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; background: #EFECE5; }
.atlas-field-copy h2 { font-size: clamp(2.05rem, 3.8vw, 3.35rem); line-height: 1.1; margin: 5px 0 16px; letter-spacing: -.03em; }
.atlas-field-copy > p:not(.atlas-eyebrow) { color: #515850; max-width: 37ch; font-size: .94rem; }
.atlas-collection-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: clamp(12px, 2vw, 28px); }
.atlas-collection-card a { text-decoration: none; font-family: var(--atlas-serif); font-size: 1.12rem; }
.atlas-collection-card .atlas-media { aspect-ratio: .76; margin-bottom: 12px; background: #E7E0D1; }
.atlas-collection-card .atlas-media img { object-fit: contain; }
.atlas-collection-card span { display: block; }
.atlas-collection-empty { background: #ECE8DE; padding: 38px; display: flex; align-items: center; gap: 35px; }
.atlas-collection-mark { display: grid; place-items: center; background: #CED8CF; min-width: 150px; aspect-ratio: 1; font-family: var(--atlas-serif); font-size: 5rem; }
.atlas-collection-empty h3 { font-size: 2rem; margin-bottom: 10px; }
.atlas-collection-empty p { color: var(--atlas-muted); max-width: 45ch; }
.atlas-bottom-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, .75fr); gap: clamp(42px, 5vw, 100px); padding-bottom: 30px; }
.atlas-latest-list article { border-bottom: 1px solid var(--atlas-rule); padding: 17px 0; }
.atlas-latest-list article:first-child { padding-top: 0; }
.atlas-latest-meta { font: .67rem var(--atlas-mono); letter-spacing: .04em; color: var(--atlas-sage-ink); text-transform: uppercase; margin-bottom: 7px; }
.atlas-latest-list h3 { margin: 0; font-size: 1.55rem; }
.atlas-latest-list h3 a { text-decoration: none; }
.atlas-about-panel { padding: 32px 34px; background: #EAECE6; align-self: start; }
.atlas-about-panel h2 { font-size: clamp(1.85rem, 2.6vw, 2.5rem); margin: 15px 0; }
.atlas-about-panel p:not(.atlas-eyebrow) { color: #4F574F; line-height: 1.75; font-size: .94rem; }
.atlas-empty-message { color: var(--atlas-muted); }
/* Archives and articles */
.atlas-page-layout { max-width: 1320px; margin-inline: auto; padding-top: clamp(38px, 5vw, 75px); padding-bottom: 30px; }
.atlas-page-layout h1.wp-block-query-title, .atlas-page-layout .atlas-archive-heading { font-size: clamp(3rem, 5vw, 5rem); letter-spacing: -.04em; }
.atlas-page-layout .wp-block-post-template { gap: 42px 30px; }
.atlas-page-layout .wp-block-post-title { font-size: clamp(1.6rem, 2.3vw, 2rem); line-height: 1.18; }
.atlas-page-layout .wp-block-post-title a { text-decoration: none; }
.atlas-page-layout .wp-block-post-date { font: .71rem var(--atlas-mono); color: var(--atlas-sage-ink); }
.atlas-page-layout .wp-block-post-excerpt { color: var(--atlas-muted); }
.atlas-page-layout .wp-block-post-featured-image img { aspect-ratio: 4/3; object-fit: cover; }
.atlas-article { max-width: 760px; margin: 0 auto; padding-block: clamp(44px, 6vw, 90px); }
.atlas-article-title { font-size: clamp(2.7rem, 6vw, 5.2rem); line-height: 1.08; letter-spacing: -.04em; margin-bottom: 16px; }
.atlas-article .wp-block-post-date, .atlas-article .wp-block-post-terms { font: .73rem var(--atlas-mono); color: var(--atlas-sage-ink); letter-spacing: .025em; }
.atlas-article .wp-block-post-featured-image { margin-block: 36px; }
.atlas-article .wp-block-post-content { font-family: var(--atlas-serif); font-size: clamp(1.15rem, 1.45vw, 1.34rem); line-height: 1.78; }
.atlas-article .wp-block-post-content :is(h2,h3,h4) { line-height: 1.18; margin-top: 1.75em; }
.atlas-article .wp-block-post-content blockquote { border-left: 2px solid var(--atlas-sage); padding-left: 20px; }
.atlas-article .wp-block-post-content figcaption { font: .74rem var(--atlas-sans); color: var(--atlas-muted); }
.atlas-article .wp-block-post-content :is(pre, code) { font-family: var(--atlas-mono); font-size: .82em; }
.atlas-article .wp-block-post-content pre { overflow-x: auto; }
.atlas-article .wp-block-post-content a { text-decoration: underline; }
.atlas-artwork-facts { border-top: 1px solid var(--atlas-rule); padding-top: 25px; margin-top: 40px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 28px; }
.atlas-artwork-facts dt { font: .7rem var(--atlas-mono); color: var(--atlas-sage-ink); text-transform: uppercase; margin-bottom: 3px; }
.atlas-artwork-facts dd { margin: 0; font: .97rem var(--atlas-sans); }
.atlas-404 { text-align: center; padding: 90px 0; }
.atlas-404 h1 { font-size: clamp(3rem, 7vw, 6rem); }
@media (max-width: 980px) {
  .atlas-header-inner { min-height: 84px; }
  .atlas-hero { min-height: 480px; grid-template-columns: 47% 53%; }
  .atlas-hero-visual, .atlas-hero-media { min-height: 470px; }
  .atlas-hero-copy { padding-right: 26px; }
  .atlas-hero-copy h1 { font-size: clamp(2.75rem, 5.6vw, 4rem); }
  .atlas-bottom-grid { gap: 30px; }
}
@media (max-width: 760px) {
  .atlas-shell { padding-inline: 21px; }
  .atlas-header-inner { min-height: 73px; }
  .atlas-header .wp-block-site-title { font-size: 2.25rem; }
  .atlas-hero { display: flex; flex-direction: column-reverse; }
  .atlas-hero-visual, .atlas-hero-media { min-height: 0; }
  .atlas-hero-visual { height: min(66vw, 420px); }
  .atlas-hero-media { height: 100%; }
  .atlas-hero-copy { padding: 34px 0 44px; }
  .atlas-hero-copy h1 { font-size: clamp(2.35rem, 10vw, 3.5rem); margin: 17px 0; max-width: 15ch; }
  .atlas-hero-deck { font-size: 1rem; }
  .atlas-photo-caption { right: 9px; bottom: 9px; }
  .atlas-card-grid { grid-template-columns: 1fr; gap: 34px; }
  .atlas-card-visual { aspect-ratio: 1.65; margin-bottom: 14px; }
  .atlas-card-title { font-size: 1.85rem; }
  .atlas-section { padding-top: 56px; }
  .atlas-section-head { align-items: center; }
  .atlas-section-head .atlas-eyebrow { display: none; }
  .atlas-field-section { display: block; }
  .atlas-field-visual, .atlas-field-media { min-height: 0; height: 235px; }
  .atlas-field-copy { padding: 26px 22px 33px; }
  .atlas-collection-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px 14px; }
  .atlas-collection-empty { padding: 25px; gap: 17px; }
  .atlas-collection-mark { min-width: 85px; font-size: 3rem; }
  .atlas-bottom-grid { display: block; }
  .atlas-about-panel { margin-top: 50px; }
  .atlas-footer-inner { flex-direction: column; }
  .atlas-article { padding-inline: 21px; }
  .atlas-page-layout { padding-inline: 21px; }
  .atlas-artwork-facts { grid-template-columns: 1fr; }
}
@media (max-width: 400px) {
  .atlas-eyebrow { font-size: .59rem; }
  .atlas-hero-copy h1 { font-size: 2.35rem; }
  .atlas-collection-empty { display: block; }
  .atlas-collection-mark { width: 90px; margin-bottom: 12px; }
  .atlas-section-head h2 { font-size: 1.7rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

.atlas-skip-link { position: absolute; left: 12px; top: -90px; padding: 12px 16px; background: var(--atlas-ink); color: white; z-index: 100000; text-decoration: none; }
.atlas-skip-link:focus { top: 12px; color: white; }

/* Keep small colored typography above the WCAG AA 4.5:1 contrast threshold. */
.has-sage-color { color: var(--atlas-sage-ink) !important; }
