/* ASTER NOTES — Ivory Editorial. Local, script-free CMS theme. */
:root {
  --paper:#f4f1e8; --surface:#e9e7dc; --ink:#292f27; --muted:#62685b;
  --accent:#9d422a; --line:#cfcfc0; --dark:#263328; --light-ink:#d7ddcc;
  --serif:Georgia,'Times New Roman',serif; --sans:Arial,Helvetica,sans-serif;
  --gutter:clamp(22px,4.4vw,68px); --space:clamp(56px,7.2vw,104px);
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:24px }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.65 var(--sans); -webkit-font-smoothing:antialiased }
a { color:inherit; text-decoration:none }
a:hover { text-decoration:underline; text-underline-offset:5px }
a:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px }
main:focus { outline:none }
img { display:block; max-width:100%; height:auto }
h1,h2,h3,p,figure,dl { margin:0 }
h1,h2,h3 { font-family:var(--serif); font-weight:400; text-wrap:balance; overflow-wrap:break-word; hyphens:auto }
h1 { font-size:clamp(48px,6.5vw,88px); line-height:1.04; letter-spacing:-.045em }
h2 { font-size:clamp(32px,3.6vw,48px); line-height:1.12; letter-spacing:-.035em }
h3 { font-size:28px; line-height:1.18; letter-spacing:-.025em }
p,a,dt,dd,li,time,summary,figcaption,span { overflow-wrap:anywhere }
section,article,aside,header,footer,div,figure,nav,main { min-width:0 }
.site-header,main,.site-footer { width:min(1280px,calc(100% - var(--gutter)*2)); margin-inline:auto }
main { min-height:65vh }
.eyebrow { font:600 12px/1.5 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:16px }
.lead { max-width:590px; color:var(--muted); font-size:18px; line-height:1.7; text-wrap:pretty }
.skip-link { position:fixed; top:-120px; left:20px; z-index:20; padding:12px 20px; background:var(--ink); color:var(--paper) }
.skip-link:focus { top:12px }
.masthead-meta { display:flex; justify-content:space-between; gap:24px; padding:16px 0 13px; border-bottom:1px solid var(--line); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted) }
.masthead-main { display:flex; align-items:center; justify-content:space-between; gap:20px 36px; padding:18px 0; border-bottom:1px solid var(--ink) }
.brand { display:inline-flex; align-items:center; gap:13px; font:400 25px/1.15 var(--serif); letter-spacing:-.035em; max-width:420px; min-height:44px }
.brand img { width:36px; height:36px; object-fit:contain; flex:none }
.brand:hover { text-decoration:none }
.main-nav { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:2px 28px; max-width:68% }
.main-nav a { display:flex; align-items:center; min-height:44px; font-size:14px }
.main-nav a:hover { color:var(--accent) }
.breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:5px 12px; padding-top:27px; color:var(--muted); font-size:12px }
.breadcrumbs a { padding-block:5px }
.breadcrumbs a+a::before { content:'/'; color:#888c7e; margin-right:12px }
.action,.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-height:44px; font:600 14px/1.5 var(--sans) }
.action { padding:16px 22px; background:var(--ink); color:var(--paper); border:1px solid var(--ink) }
.action:hover { background:var(--accent); border-color:var(--accent); text-decoration:none }
.action>span,.text-link>span { flex:none; font-size:19px; line-height:1 }
.text-link { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px }
.text-link:hover { color:var(--accent) }
.editorial-hero { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5.4vw,78px); align-items:center; padding:48px 0 45px }
.hero-copy { padding:8px 0 20px }
.hero-copy .eyebrow { display:flex; align-items:center; gap:13px; margin-bottom:27px; color:var(--accent) }
.small-rule { width:27px; height:1px; background:currentColor; flex:none }
.hero-copy h1 { max-width:650px; font-size:clamp(56px,6.1vw,88px) }
.hero-copy .lead { max-width:455px; margin-top:28px }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px 26px; margin-top:30px }
.hero-note { display:flex; align-items:center; gap:15px; max-width:370px; margin-top:47px; color:var(--muted); font-size:12px; line-height:1.6 }
.hero-note img { width:32px; height:32px; flex:none }
.art-mat { background:#e3e0d3; overflow:hidden }
.hero-image { width:100%; object-fit:cover }
.hero-figure .hero-image { aspect-ratio:6/7 }
.hero-figure figcaption,.about-art figcaption,.article-figure figcaption { display:flex; justify-content:space-between; gap:20px; margin-top:13px; font-size:12px; letter-spacing:.08em; color:var(--muted); line-height:1.6 }
.hero-figure figcaption span:last-child { flex:none; color:var(--accent) }
.profile-strip { display:grid; grid-template-columns:140px minmax(0,1fr); border-block:1px solid var(--line); padding-block:24px; align-items:center }
.profile-label { font:600 12px/1.5 var(--sans); letter-spacing:.13em; text-transform:uppercase; max-width:100px; color:var(--accent) }
.facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) }
.facts>div { padding:0 24px; border-left:1px solid var(--line) }
.facts dt { color:var(--muted); font-size:12px; letter-spacing:.06em }
.facts dd { margin:7px 0 0; font-size:14px; line-height:1.45 }
.section { padding-block:var(--space) }
.section-heading { display:grid; grid-template-columns:45px minmax(0,1fr) minmax(180px,300px); align-items:end; gap:24px; margin-bottom:40px }
.section-heading .eyebrow { margin-bottom:12px }
.section-heading>p { font-size:14px; line-height:1.7; color:var(--muted) }
.section-index { align-self:start; font:400 12px/1.5 var(--sans); color:var(--accent); letter-spacing:.04em; padding-top:2px }
.article-grid { display:grid; gap:36px }
.feature-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 54px; align-items:start }
.article-card { min-width:0 }
.card-image { display:block; position:relative; overflow:hidden; background:var(--surface) }
.card-image img { width:100%; height:auto; aspect-ratio:18/13; object-fit:cover; transition:transform .35s ease }
.card-image:hover img { transform:scale(1.025) }
.card-copy .eyebrow { margin-bottom:12px; font-size:12px }
.card-copy h3 { margin-bottom:13px }
.card-copy>p:not(.eyebrow) { font-size:14px; line-height:1.7; color:var(--muted) }
.card-copy .text-link { margin-top:13px }
.feature-grid .article-card:first-child { grid-row:span 2 }
.feature-grid .article-card:first-child .card-copy { padding:26px 8px 0 0 }
.feature-grid .article-card:first-child h3 { max-width:480px; font-size:36px }
.feature-grid .article-card:not(:first-child) { display:grid; grid-template-columns:minmax(110px,.68fr) minmax(0,1fr); gap:25px; padding-block:28px; border-top:1px solid var(--line) }
.feature-grid .article-card:nth-child(2) { padding-top:0; border-top:0 }
.feature-grid .article-card:not(:first-child) .card-image img { aspect-ratio:1/1.16 }
.feature-grid .article-card:not(:first-child) h3 { font-size:26px }
.feature-grid:has(.article-card:only-child) { grid-template-columns:1fr }
.feature-grid .article-card:only-child { display:grid; grid-template-columns:1fr 1fr; gap:40px }
.feature-grid .article-card:only-child .card-copy { align-self:center; padding:0 }
.empty-state { display:block; border:1px solid var(--line); background:var(--surface); padding:26px; font-size:15px; line-height:1.7; color:var(--muted) }
.article-grid:has(.article-card)+.empty-state,.category-list:has(.category-card)+.empty-state { display:none }
.topic-section { display:grid; grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr); gap:70px; padding:55px; background:var(--dark); color:var(--paper) }
.topic-intro .section-index { display:block; margin-bottom:36px; color:#de9b77 }
.topic-intro .eyebrow { color:#c5cdbb }
.topic-intro h2 { max-width:300px; margin-bottom:24px }
.topic-intro>p:not(.eyebrow) { max-width:310px; color:var(--light-ink); font-size:14px; line-height:1.7 }
.topic-intro img { width:66px; height:66px; margin-top:36px; opacity:.75; filter:brightness(0) invert(90%) sepia(12%) saturate(210%) }
.category-list { counter-reset:subject }
.category-card { display:grid; grid-template-columns:30px minmax(0,1fr) 42px; align-items:center; gap:19px; padding-block:29px; border-bottom:1px solid #647060; counter-increment:subject }
.category-card:first-child { border-top:1px solid #647060 }
.category-card::before { content:counter(subject,decimal-leading-zero); font:12px/1.5 var(--sans); color:#bac6b1; align-self:start; padding-top:4px }
.category-card h3 { font-size:28px; margin-bottom:9px }
.category-card p { font-size:14px; color:var(--light-ink); line-height:1.65; max-width:345px }
.round-arrow { display:grid; place-items:center; width:42px; height:42px; border:1px solid #8e9b84; border-radius:50%; font:22px/1 var(--sans) }
.category-card:hover { text-decoration:none }
.category-card:hover h3 { text-decoration:underline; text-underline-offset:5px }
.category-card:hover .round-arrow { background:var(--paper); color:var(--dark) }
.topic-section .empty-state { border-color:#647060; background:transparent; color:var(--light-ink) }
.topic-section a:focus-visible { outline-color:#edc69f }
.editor-note { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:90px; padding-block:var(--space); border-bottom:1px solid var(--line) }
.note-heading h2 { max-width:330px }
.note-line { display:block; width:70px; height:1px; background:var(--accent); margin-top:30px }
.prose { font-size:17px; line-height:1.85; max-width:740px; overflow-wrap:anywhere }
.prose>*+* { margin-top:22px }
.prose>:first-child { margin-top:0 }
.prose h2 { margin-top:46px; margin-bottom:21px; font-size:32px; line-height:1.25 }
.prose h3 { margin-top:32px; font-size:25px; line-height:1.3 }
.prose h4 { font-size:18px; line-height:1.4 }
.prose p,.prose li { color:var(--muted) }
.prose strong { color:var(--ink) }
.prose a { color:var(--accent); text-decoration:underline; text-underline-offset:4px }
.prose ul,.prose ol { padding-left:24px }
.prose li+li { margin-top:12px }
.prose blockquote { margin:36px 0; padding:28px 0 28px 28px; border-left:2px solid var(--accent); font:400 28px/1.45 var(--serif); letter-spacing:-.02em }
.prose blockquote p { color:var(--ink) }
.prose table { display:block; width:100%; max-width:100%; overflow:auto; border-collapse:collapse; font-size:14px }
.prose td,.prose th { padding:12px 16px; border:1px solid var(--line); text-align:left }
.prose th { background:var(--surface) }
.prose pre { max-width:100%; overflow:auto; font-size:14px; padding:20px; background:var(--surface) }
.prose code { font-size:.88em; overflow-wrap:anywhere }
.prose hr { border:0; border-top:1px solid var(--line); margin-block:34px }
.prose img { display:none }
.editor-note .prose { font-size:16px }
.editor-note .prose h2 { font-size:28px }
.page-heading { padding:48px 0 46px }
.page-heading .lead { margin-top:26px }
.archive-intro { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:75px; align-items:center; padding-bottom:22px }
.archive-intro h1 { max-width:820px; font-size:clamp(48px,5.8vw,78px) }
.archive-symbol { align-self:end; padding-bottom:46px }
.archive-symbol img { width:100%; height:auto }
.archive-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:65px; padding-top:35px; border-top:1px solid var(--ink) }
.archive-sidebar nav { display:flex; flex-direction:column }
.archive-sidebar nav a { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:17px 0; border-bottom:1px solid var(--line); font-size:15px; line-height:1.5 }
.archive-sidebar nav a:first-child { border-top:1px solid var(--line) }
.archive-sidebar nav a>span { flex:none }
.archive-note { border-left:2px solid var(--accent); padding-left:17px; margin-top:34px; color:var(--muted); font-size:13px; line-height:1.75 }
.archive-label { margin-bottom:23px }
.archive-grid { gap:0; counter-reset:archive }
.archive-grid .article-card { display:grid; grid-template-columns:minmax(150px,.64fr) minmax(0,1fr); gap:30px; padding-block:29px; border-top:1px solid var(--line) }
.archive-grid .article-card:first-child { padding-top:0; border-top:0 }
.archive-grid .card-image { align-self:start }
.archive-grid .card-image img { aspect-ratio:4/3 }
.archive-grid h3 { font-size:31px }
.archive-grid .card-copy .text-link { margin-top:14px }
.pagination { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px }
.pagination:empty { margin:0 }
.pagination a { min-width:44px; min-height:44px; display:grid; place-items:center; padding:12px 14px; border:1px solid var(--line); font-size:14px }
.pagination a:hover { background:var(--ink); color:var(--paper); text-decoration:none }
.article-title { padding:46px 0 36px }
.article-title h1 { max-width:1060px; font-size:clamp(46px,5.6vw,78px) }
.article-title>.eyebrow { color:var(--accent) }
.article-deck { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr); gap:65px; margin-top:33px; align-items:start }
.article-deck .lead { max-width:680px }
.meta { display:grid; gap:12px; border-left:1px solid var(--line); padding-left:25px; font-size:12px; line-height:1.5; color:var(--muted) }
.meta>p:empty { display:none }
.meta p:last-child { display:grid; gap:3px }
.meta time { color:var(--ink) }
.cover { width:100%; object-fit:cover; aspect-ratio:2.1 }
.article-figure figcaption { justify-content:flex-end }
.reading-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:90px; margin:60px 0 70px }
.reading-note { align-self:start; border-top:1px solid var(--ink); padding-top:24px }
.reading-note>img { width:33px; height:33px; margin-bottom:27px }
.reading-note h2 { font-size:30px; line-height:1.16 }
.reading-note>p:not(.eyebrow) { margin-block:22px 17px; font-size:14px; line-height:1.75; color:var(--muted) }
.reading-note .text-link { font-size:14px; gap:12px }
.article-body { max-width:740px; font-size:18px }
.article-body>p:first-child::first-letter { float:left; font:70px/.82 var(--serif); margin:12px 12px 0 0; color:var(--ink) }
.article-end { display:flex; align-items:center; gap:15px; padding-block:23px; border-block:1px solid var(--line); color:var(--muted); font-size:12px }
.article-end>img { flex:none }
.article-end .text-link { margin-left:auto; color:var(--ink) }
.about-intro { display:grid; grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr); gap:75px; align-items:center; padding:35px 0 var(--space) }
.about-intro .page-heading { padding:15px 0 }
.about-intro h1 { font-size:clamp(48px,5.6vw,78px) }
.about-intro .lead { max-width:470px }
.about-art .hero-image { aspect-ratio:11/12 }
.about-signature { display:flex; align-items:center; gap:20px; margin-top:35px; font-size:12px; color:var(--muted); max-width:380px }
.about-signature img { flex:none }
.principles-section { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:85px; border-block:1px solid var(--ink); padding-block:48px }
.principles-intro .section-index { display:block; margin-bottom:28px }
.principles-intro h2 { max-width:360px }
.principles-intro>p:last-child { color:var(--muted); font-size:14px; line-height:1.8; max-width:330px; margin-top:23px }
.principles section { display:grid; grid-template-columns:42px minmax(0,1fr); gap:22px; padding:28px 0; border-bottom:1px solid var(--line) }
.principles section:first-child { padding-top:0 }
.principles section:last-child { border:0; padding-bottom:0 }
.step-number { font:400 24px/1.25 var(--serif); color:var(--accent) }
.principles h3 { font-size:29px; margin-bottom:12px }
.principles p { font-size:14px; color:var(--muted); line-height:1.75 }
.contact-intro { padding:48px 0 46px; max-width:1000px }
.contact-intro h1 { font-size:clamp(48px,5.7vw,80px); max-width:960px }
.contact-intro .lead { max-width:660px; margin-top:28px }
.contact-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:75px; padding-top:12px }
.contact-card { position:relative; padding:38px; border:1px solid #c7cbb9; background:#e6e8dc }
.contact-topline { display:flex; justify-content:space-between; gap:22px; align-items:start; margin-bottom:32px }
.contact-topline .eyebrow { max-width:190px }
.contact-topline img { width:65px; height:65px; flex:none }
.contact-card h2 { max-width:360px; font-size:39px }
.email { display:flex; justify-content:space-between; align-items:start; gap:22px; padding-block:28px 21px; border-bottom:1px solid #b4bda7; font:400 clamp(20px,2.15vw,30px)/1.4 var(--serif); letter-spacing:-.025em; text-decoration:underline; text-underline-offset:6px; overflow-wrap:anywhere }
.email>span { flex:none }
.contact-card>p { font-size:14px; color:var(--muted); line-height:1.75; margin-top:22px }
.correspondence-line { display:flex; justify-content:space-between; gap:15px; padding-top:36px; margin-top:25px; font-size:12px; color:var(--muted); letter-spacing:.1em; text-transform:uppercase }
.correspondence-line>span:last-child { flex:none; color:var(--accent) }
.faq-section { padding-top:8px }
.faq-section h2 { font-size:34px; max-width:350px; margin-bottom:31px }
.faq details { border-top:1px solid var(--line) }
.faq details:last-child { border-bottom:1px solid var(--line) }
.faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; padding:22px 0; list-style:none; font:400 22px/1.35 var(--serif); letter-spacing:-.025em }
.faq summary::-webkit-details-marker { display:none }
.faq summary::after { content:'+'; font:400 23px/1 var(--sans); color:var(--accent); flex:none }
.faq details[open] summary::after { content:'−' }
.faq details p { color:var(--muted); font-size:14px; line-height:1.75; padding:0 25px 25px 0 }
.safety { display:grid; grid-template-columns:minmax(0,1fr) minmax(140px,240px); gap:25px; align-items:center; margin-top:56px; padding:30px 0; border-block:1px solid var(--line) }
.safety h2 { font:600 18px/1.4 var(--sans); letter-spacing:-.015em; margin-bottom:9px; text-wrap:pretty }
.safety p { color:var(--muted); font-size:13px; line-height:1.7; max-width:710px }
.safety .text-link { justify-self:end; font-size:14px; gap:15px; padding-left:25px }
.age { display:inline-block; max-width:100%; margin-bottom:12px; border:1px solid var(--line); padding:4px 10px; font-size:12px; line-height:1.5; letter-spacing:.03em }
.site-footer { padding:52px 0 25px }
.footer-top { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(140px,.7fr) minmax(0,1fr); gap:65px }
.footer-top .brand { font-size:23px }
.footer-identity>p,.footer-contact>p:not(.eyebrow) { max-width:330px; margin-top:18px; color:var(--muted); font-size:13px; line-height:1.7 }
.footer-top nav { display:flex; flex-direction:column; align-items:start }
.footer-top nav a { padding-block:6px; min-height:44px; font-size:14px }
.footer-contact>a { display:inline-block; padding-block:6px; font-size:14px; text-decoration:underline; text-underline-offset:5px }
.footer-top .eyebrow { margin-bottom:12px }
.footer-bottom { display:flex; justify-content:space-between; align-items:start; gap:35px; margin-top:37px; border-top:1px solid var(--line); padding-top:22px; color:var(--muted); font-size:12px; line-height:1.75 }
.footer-bottom p { max-width:980px }
.footer-bottom>span { flex:0 1 auto; max-width:180px; font-size:12px; color:var(--ink) }
html:lang(zh) .article-body>p:first-child::first-letter,html:lang(bn) .article-body>p:first-child::first-letter { float:none; font:inherit; margin:0; color:inherit }
html:lang(zh) h1,html:lang(zh) h2,html:lang(zh) h3,html:lang(bn) h1,html:lang(bn) h2,html:lang(bn) h3 { letter-spacing:0; line-height:1.3 }
@media (min-width:1150px) {
  .archive-sidebar,.reading-note { position:sticky; top:30px }
}
@media (max-width:1100px) {
  .masthead-main { flex-wrap:wrap }
  .main-nav { max-width:100%; gap:2px 23px }
  .editorial-hero { gap:38px }
  .hero-copy h1 { font-size:65px }
  .hero-actions { gap:14px }
  .hero-note { margin-top:26px }
  .profile-strip { grid-template-columns:110px minmax(0,1fr) }
  .facts>div { padding-inline:16px }
  .feature-grid { gap:0 32px }
  .feature-grid .article-card:not(:first-child) { grid-template-columns:105px minmax(0,1fr); gap:20px }
  .feature-grid .article-card:not(:first-child) h3 { font-size:24px }
  .feature-grid .article-card:first-child h3 { font-size:32px }
  .topic-section { padding:40px; gap:42px }
  .editor-note { gap:55px }
  .archive-layout,.reading-layout { grid-template-columns:200px minmax(0,1fr); gap:42px }
  .archive-intro { grid-template-columns:minmax(0,1fr) 200px; gap:40px }
  .archive-grid .article-card { grid-template-columns:160px minmax(0,1fr); gap:24px }
  .archive-grid h3 { font-size:28px }
  .contact-layout,.about-intro,.principles-section { gap:45px }
  .contact-card { padding:28px }
  .footer-top { gap:38px }
}
@media (max-width:820px) {
  :root { --gutter:28px; --space:64px }
  .masthead-main { gap:12px; padding:14px 0 12px }
  .main-nav { width:100%; justify-content:flex-start; gap:0 25px }
  .editorial-hero { grid-template-columns:1fr 1fr; gap:28px; padding-top:34px; align-items:start }
  .hero-copy h1 { font-size:55px }
  .hero-copy .eyebrow { margin-bottom:22px; font-size:12px }
  .hero-copy .lead { font-size:16px; margin-top:21px }
  .hero-figure { padding-top:8px }
  .hero-figure .hero-image { aspect-ratio:.73 }
  .hero-actions { margin-top:23px }
  .hero-note { margin-top:24px }
  .profile-strip { grid-template-columns:1fr; gap:18px; padding-block:22px }
  .profile-label { max-width:none }
  .facts>div:first-child { border:0; padding-left:0 }
  .section-heading { grid-template-columns:36px minmax(0,1fr); gap:20px }
  .section-heading>p { grid-column:2; max-width:480px }
  .feature-grid { gap:0 28px }
  .feature-grid .article-card:not(:first-child) { display:block; padding-block:25px }
  .feature-grid .article-card:nth-child(2) { padding-top:0 }
  .feature-grid .article-card:not(:first-child) .card-image img { aspect-ratio:2.1 }
  .feature-grid .article-card:not(:first-child) .card-copy { padding-top:17px }
  .feature-grid .article-card:first-child .card-image img { aspect-ratio:.84 }
  .topic-section { grid-template-columns:1fr; gap:35px; padding:37px }
  .topic-intro { display:grid; grid-template-columns:1fr 74px; gap:0 30px }
  .topic-intro .section-index,.topic-intro .eyebrow,.topic-intro h2,.topic-intro>p:not(.eyebrow) { grid-column:1 }
  .topic-intro .section-index { margin-bottom:20px }
  .topic-intro h2,.topic-intro>p:not(.eyebrow) { max-width:480px }
  .topic-intro img { grid-column:2; grid-row:2/5; align-self:center; margin:0 }
  .editor-note { grid-template-columns:1fr; gap:35px }
  .note-heading { display:grid; grid-template-columns:1fr 70px; align-items:center; gap:15px 25px }
  .note-heading .eyebrow { grid-column:1/-1; margin:0 }
  .note-heading h2 { max-width:500px }
  .note-line { margin:0 }
  .archive-intro { grid-template-columns:minmax(0,1fr) 160px; gap:25px }
  .archive-intro h1 { font-size:57px }
  .archive-layout { grid-template-columns:1fr; gap:35px }
  .archive-sidebar nav { flex-direction:row; flex-wrap:wrap; gap:12px }
  .archive-sidebar nav a,.archive-sidebar nav a:first-child { border:1px solid var(--line); padding:12px 14px; gap:16px; font-size:14px }
  .archive-note { margin-top:24px; max-width:620px }
  .archive-grid .article-card { grid-template-columns:210px minmax(0,1fr) }
  .article-deck { grid-template-columns:1fr; gap:24px }
  .meta { display:flex; flex-wrap:wrap; gap:18px 32px; padding:0; border:0 }
  .meta p:last-child { display:flex; gap:8px }
  .reading-layout { grid-template-columns:180px minmax(0,1fr); gap:35px; margin-top:40px }
  .article-body { font-size:17px }
  .reading-note h2 { font-size:27px }
  .about-intro { gap:32px }
  .about-intro h1 { font-size:56px }
  .about-art .hero-image { aspect-ratio:.68 }
  .about-intro .lead { font-size:16px }
  .about-signature { gap:15px }
  .about-signature img { width:35px; height:35px }
  .principles-section { grid-template-columns:1fr; gap:35px; padding-block:37px }
  .principles-intro h2,.principles-intro>p:last-child { max-width:620px }
  .principles section:first-child { border-top:1px solid var(--line); padding-top:27px }
  .contact-layout { gap:32px; grid-template-columns:1fr }
  .contact-card { padding:36px }
  .contact-card h2 { max-width:580px }
  .contact-topline { margin-bottom:5px }
  .email { font-size:30px }
  .faq-section { padding-top:12px }
  .safety { grid-template-columns:1fr; gap:10px }
  .safety .text-link { grid-column:1; justify-self:start; padding-left:0 }
  .footer-top { grid-template-columns:1fr 1fr; gap:32px }
  .footer-identity { grid-column:1/-1 }
  .footer-identity>p { max-width:480px }
}
@media (max-width:600px) {
  :root { --gutter:22px; --space:53px }
  h1 { font-size:48px; letter-spacing:-.035em }
  h2 { font-size:34px }
  .masthead-meta { padding-block:12px 12px; font-size:12px; letter-spacing:.07em }
  .masthead-meta>span { display:none }
  .brand { font-size:24px; gap:12px }
  .brand img { width:32px; height:32px }
  .main-nav { gap:0 20px }
  .main-nav a { font-size:14px; min-height:44px }
  .editorial-hero { grid-template-columns:1fr; gap:27px; padding:34px 0 30px }
  .hero-copy { padding:0 }
  .hero-copy h1 { max-width:470px; font-size:clamp(45px,11.7vw,65px); letter-spacing:-.04em }
  .hero-copy .eyebrow { font-size:12px; margin-bottom:22px }
  .hero-copy .lead { max-width:470px; font-size:16px }
  .hero-actions { gap:12px 20px; margin-top:23px }
  .action { padding:13px 17px }
  .text-link,.action { font-size:14px }
  .hero-note { max-width:400px; margin-top:24px }
  .hero-figure { padding-top:0 }
  .hero-figure .hero-image { aspect-ratio:1.03; object-position:center 45% }
  .hero-figure figcaption { font-size:12px; gap:12px }
  .profile-strip { padding-block:21px }
  .facts { grid-template-columns:1fr 1fr; gap:21px 0 }
  .facts>div { padding-inline:18px }
  .facts>div:nth-child(odd) { border-left:0; padding-left:0 }
  .section-heading { grid-template-columns:30px minmax(0,1fr); gap:13px; margin-bottom:30px }
  .section-heading h2 { font-size:34px }
  .section-heading>p { font-size:14px }
  .section-heading .eyebrow { font-size:12px; margin-bottom:12px }
  .feature-grid { grid-template-columns:1fr; gap:0 }
  .feature-grid .article-card:first-child { grid-row:auto; padding-bottom:27px }
  .feature-grid .article-card:first-child .card-image img { aspect-ratio:18/13 }
  .feature-grid .article-card:first-child h3 { font-size:31px }
  .feature-grid .article-card:first-child .card-copy { padding-top:22px }
  .feature-grid .article-card:not(:first-child) { display:grid; grid-template-columns:105px minmax(0,1fr); gap:20px; border-top:1px solid var(--line); padding-block:27px }
  .feature-grid .article-card:not(:first-child) .card-image img { aspect-ratio:.74 }
  .feature-grid .article-card:not(:first-child) .card-copy { padding:0 }
  .feature-grid .article-card:not(:first-child) h3 { font-size:24px }
  .feature-grid .article-card:only-child { display:block }
  .feature-grid .article-card:only-child .card-copy { padding-top:22px }
  .topic-section { padding:29px 23px; gap:27px }
  .topic-intro { display:block }
  .topic-intro img { display:none }
  .topic-intro h2 { max-width:330px; font-size:36px; margin-bottom:20px }
  .category-card { grid-template-columns:22px minmax(0,1fr) 33px; gap:13px; padding-block:24px }
  .category-card h3 { font-size:25px }
  .category-card p { font-size:14px }
  .round-arrow { width:33px; height:33px; font-size:20px }
  .note-heading { grid-template-columns:1fr }
  .note-line { width:50px; margin-top:5px }
  .editor-note { gap:29px }
  .prose { font-size:16px }
  .prose h2 { font-size:28px; margin-top:35px }
  .prose blockquote { font-size:26px; padding-left:20px }
  .breadcrumbs { padding-top:20px; font-size:12px }
  .page-heading { padding:30px 0 }
  .archive-intro { display:block; padding-bottom:9px }
  .archive-intro h1 { font-size:48px }
  .archive-symbol { display:none }
  .lead { font-size:16px }
  .page-heading .lead { margin-top:22px }
  .archive-layout { padding-top:27px; gap:30px }
  .archive-grid .article-card { grid-template-columns:108px minmax(0,1fr); gap:20px; padding-block:25px }
  .archive-grid .card-image img { aspect-ratio:.78 }
  .archive-grid h3 { font-size:25px }
  .archive-grid .card-copy .eyebrow { font-size:12px }
  .archive-grid .card-copy>p:not(.eyebrow) { font-size:14px }
  .archive-grid .text-link { font-size:14px; gap:12px }
  .article-title { padding:30px 0 }
  .article-title h1 { font-size:45px; letter-spacing:-.032em }
  .article-deck { gap:22px; margin-top:24px }
  .meta { gap:12px 25px }
  .cover { aspect-ratio:1.35 }
  .article-figure figcaption { justify-content:flex-start; font-size:12px }
  .reading-layout { display:flex; flex-direction:column; gap:34px; margin:33px 0 38px }
  .reading-note { display:grid; grid-template-columns:30px minmax(0,1fr); gap:0 16px; padding-top:21px; border-bottom:1px solid var(--line); padding-bottom:21px }
  .reading-note>img { width:27px; height:27px; grid-column:1; grid-row:1/3; margin:0 }
  .reading-note .eyebrow,.reading-note h2,.reading-note>p:not(.eyebrow),.reading-note .text-link { grid-column:2 }
  .reading-note .eyebrow { margin-bottom:8px; font-size:12px }
  .reading-note h2 { font-size:27px }
  .reading-note>p:not(.eyebrow) { margin:13px 0 7px; font-size:13px }
  .reading-note .text-link { justify-content:flex-start }
  .article-body { font-size:17px }
  .article-end { flex-wrap:wrap; gap:12px 13px }
  .article-end .text-link { width:100%; margin-left:41px; justify-content:flex-start; gap:20px }
  .about-intro { grid-template-columns:1fr; padding-top:26px; gap:26px }
  .about-intro .page-heading { padding:0 }
  .about-intro h1 { font-size:49px }
  .about-signature { margin-top:27px }
  .about-art .hero-image { aspect-ratio:1.13; object-position:center 44% }
  .principles-section { padding-block:32px; gap:29px }
  .principles-intro .section-index { margin-bottom:20px }
  .principles-intro h2 { font-size:35px }
  .principles section { grid-template-columns:30px minmax(0,1fr); gap:17px }
  .principles h3 { font-size:28px }
  .contact-intro { padding:30px 0 31px }
  .contact-intro h1 { font-size:48px }
  .contact-intro .lead { margin-top:23px }
  .contact-card { padding:27px 23px }
  .contact-topline { margin-bottom:20px }
  .contact-topline img { width:54px; height:54px }
  .contact-topline .eyebrow { font-size:12px; margin:0 }
  .contact-card h2 { font-size:34px }
  .email { font-size:25px; gap:15px; padding-top:25px }
  .contact-card>p { font-size:14px }
  .correspondence-line { padding-top:22px; margin-top:16px; font-size:12px }
  .faq-section h2 { font-size:32px; margin-bottom:25px }
  .faq summary { font-size:22px; padding-block:21px }
  .safety { grid-template-columns:1fr; gap:12px; margin-top:36px; padding-block:27px; align-items:start }
  .age { font-size:12px; padding:4px 9px }
  .safety h2 { font-size:17px }
  .safety p { font-size:14px }
  .safety .text-link { font-size:14px }
  .site-footer { padding-top:37px }
  .footer-top { gap:27px 23px; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr) }
  .footer-top .brand { font-size:23px }
  .footer-top .eyebrow { font-size:12px }
  .footer-contact>a,.footer-top nav a { font-size:14px }
  .footer-contact>p:not(.eyebrow),.footer-identity>p { font-size:12px }
  .footer-bottom { gap:16px; font-size:12px; margin-top:29px }
}
@media (max-width:380px) {
  :root { --gutter:18px }
  .main-nav { gap:0 17px }
  .hero-copy h1 { font-size:45px }
  .hero-copy .eyebrow { font-size:12px; letter-spacing:.09em }
  .facts { grid-template-columns:1fr; gap:13px }
  .facts>div,.facts>div:nth-child(odd) { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:20px; border:0; padding:0 }
  .facts dd { margin:0 }
  .feature-grid .article-card:not(:first-child),.archive-grid .article-card { grid-template-columns:1fr; gap:20px }
  .feature-grid .article-card:not(:first-child) .card-image img,.archive-grid .card-image img { aspect-ratio:1.65 }
  .feature-grid .article-card:not(:first-child) h3,.archive-grid h3 { font-size:27px }
  .topic-section { padding-inline:20px }
  .category-card { grid-template-columns:minmax(0,1fr) 30px; gap:12px }
  .category-card::before { display:none }
  .category-card h3 { font-size:25px }
  .round-arrow { width:30px; height:30px }
  .article-title h1 { font-size:41px }
  .about-intro h1,.contact-intro h1,.archive-intro h1 { font-size:44px }
  .email { font-size:23px }
  .footer-top { grid-template-columns:1fr }
  .footer-identity { grid-column:auto }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  *,*::before,*::after { transition:none!important }
  .card-image:hover img { transform:none }
}
@media print {
  .site-header,.breadcrumbs,.hero-actions,.main-nav,.footer-top,.skip-link,.article-end { display:none }
  body { background:white; color:black }
  main { width:100%; margin:0 }
  .reading-layout { display:block; margin-top:24px }
  .reading-note { position:static; margin-bottom:24px }
  .site-footer { padding-top:15px }
  .footer-bottom { margin-top:0 }
  .safety { padding-block:16px }
  .prose { max-width:none }
  .prose p,.prose li { color:black }
}
