/* 羚晨·Arcadia ｜ 阿卡迪亚计划 */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --ac-paper: #eee9de;
  --ac-paper-light: #f8f5ed;
  --ac-ink: #292b26;
  --ac-muted: #74746b;
  --ac-line: rgba(84, 77, 65, 0.2);
  --ac-clay: #a96c47;
  --ac-olive: #626b5a;
  --ac-night: #252820;
  --ac-gold: #b99a67;
  --ac-serif: 'Noto Serif SC', 'Songti SC', Georgia, serif;
  --ac-sans: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'PingFang SC', sans-serif;
}

html { scroll-behavior: smooth; scroll-padding-top: 78px; }

body {
  background: var(--ac-paper);
  color: var(--ac-ink);
  font-family: var(--ac-sans);
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.02em;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
svg { display: block; }
::selection { background: var(--ac-clay); color: #fff; }

.ac-progress {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  height: 2px;
  background: transparent;
}

.ac-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--ac-clay);
}

.ac-nav {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  height: 78px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 clamp(1.2rem, 3vw, 3.5rem);
  border-bottom: 1px solid transparent;
  transition: background .35s ease, border-color .35s ease, height .35s ease;
}

.ac-nav.is-scrolled {
  height: 66px;
  border-color: var(--ac-line);
  background: rgba(244, 240, 231, .91);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.ac-nav-back {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: #66675f;
  font-size: .7rem;
  letter-spacing: .16em;
}

.ac-nav-back svg {
  width: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.25;
  transition: transform .25s ease;
}

.ac-nav-back:hover svg { transform: translateX(-4px); }

.ac-nav-brand {
  justify-self: center;
  display: flex;
  align-items: baseline;
  gap: .75rem;
}

.ac-nav-brand strong {
  font-family: var(--ac-serif);
  font-size: .98rem;
  font-weight: 500;
  letter-spacing: .08em;
}

.ac-nav-brand small {
  color: #868278;
  font-size: .58rem;
  letter-spacing: .18em;
}

.ac-nav-chapters {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: clamp(1rem, 2.4vw, 2.8rem);
}

.ac-nav-chapters a {
  position: relative;
  color: #73736b;
  font-size: .68rem;
  letter-spacing: .13em;
  transition: color .25s ease;
}

.ac-nav-chapters a::after {
  content: '';
  position: absolute;
  inset: auto 0 -.55rem;
  width: 0;
  height: 1px;
  background: var(--ac-clay);
  transition: width .25s ease;
}

.ac-nav-chapters a:hover,
.ac-nav-chapters a.is-active { color: var(--ac-ink); }
.ac-nav-chapters a.is-active::after { width: 100%; }
.ac-nav-chapters i { margin-right: .3rem; color: var(--ac-clay); font-family: Georgia, serif; font-style: normal; }

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .9s ease, transform .9s cubic-bezier(.2,.72,.18,1);
}

.reveal.is-visible { opacity: 1; transform: none; }

/* Hero */
.ac-hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(480px, .98fr);
  padding-top: 78px;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 25%, rgba(183, 130, 84, .16), transparent 33%),
    linear-gradient(115deg, #f7f4ec 0%, #f1ede3 55%, #e7e1d4 100%);
}

.ac-hero-grid {
  position: absolute;
  inset: 0;
  opacity: .55;
  background:
    linear-gradient(90deg, rgba(90, 80, 63, .06) 1px, transparent 1px) 0 0 / 88px 88px,
    linear-gradient(rgba(90, 80, 63, .06) 1px, transparent 1px) 0 0 / 88px 88px;
  pointer-events: none;
}

.ac-hero-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(6rem, 9vw, 10rem) clamp(2rem, 7vw, 8.2rem);
  padding-right: clamp(2rem, 5vw, 5.5rem);
}

.ac-overline {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: clamp(3.5rem, 8vh, 6.5rem);
  color: #817562;
  font-family: Georgia, serif;
  font-size: .59rem;
  letter-spacing: .2em;
}

.ac-hero-kicker,
.ac-eyebrow {
  color: var(--ac-clay);
  font-size: .64rem;
  font-weight: 500;
  letter-spacing: .24em;
}

.ac-hero-kicker {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.ac-hero-kicker::before { content: ''; width: 3.5rem; height: 1px; background: currentColor; }

.ac-hero h1 {
  margin-bottom: 2.8rem;
  font-family: var(--ac-serif);
  font-weight: 300;
  line-height: 1.12;
}

.ac-hero h1 span,
.ac-hero h1 small { display: block; }
.ac-hero h1 span { font-size: clamp(3.2rem, 5.5vw, 6.3rem); letter-spacing: .015em; white-space: nowrap; }
.ac-hero h1 small { margin-top: .7rem; color: #66665e; font-size: clamp(1rem, 1.4vw, 1.35rem); font-weight: 400; letter-spacing: .36em; }

.ac-hero-lead {
  margin-bottom: 1.7rem;
  padding-left: 1.5rem;
  border-left: 1px solid var(--ac-clay);
  font-family: var(--ac-serif);
  font-size: clamp(1.4rem, 2.2vw, 2.15rem);
  line-height: 1.75;
  letter-spacing: .11em;
}

.ac-hero-intro {
  max-width: 40rem;
  color: #6e6e66;
  font-size: .9rem;
  line-height: 2;
}

.ac-hero-meta { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 2.1rem; }
.ac-hero-meta span { padding: .35rem .85rem; border: 1px solid var(--ac-line); border-radius: 99px; color: #686961; font-size: .64rem; letter-spacing: .14em; }

.ac-scroll-cue {
  display: inline-flex;
  align-items: center;
  gap: 1.1rem;
  margin-top: 3.4rem;
  color: #5e5f58;
  font-family: var(--ac-serif);
  font-size: .72rem;
  letter-spacing: .2em;
}

.ac-scroll-cue i { color: var(--ac-clay); font-family: var(--ac-sans); font-size: 1rem; font-style: normal; animation: acArrow 1.8s ease-in-out infinite; }

.ac-hero-art {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 760px;
  overflow: hidden;
  border-left: 1px solid var(--ac-line);
  background: linear-gradient(145deg, rgba(77, 87, 70, .04), rgba(170, 103, 63, .11));
}

.ac-hero-art::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .3;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");
  pointer-events: none;
}

.ac-hero-art svg { position: relative; z-index: 1; width: min(90%, 680px); height: auto; animation: acFloat 7s ease-in-out infinite; }
.ac-greek-word { position: absolute; z-index: 2; top: 8%; left: 50%; transform: translateX(-50%); color: #8d735b; font-family: Georgia, serif; font-size: .7rem; letter-spacing: .52em; }
.ac-art-note { position: absolute; z-index: 2; right: 3rem; bottom: 2.8rem; color: #827866; font-family: Georgia, serif; font-size: .55rem; line-height: 1.7; letter-spacing: .2em; text-align: right; }
.ac-art-sun { fill: rgba(177, 111, 69, .12); stroke: rgba(168, 105, 66, .48); stroke-width: 1; transform-origin: center; animation: acSun 8s ease-in-out infinite; }
.ac-art-arch, .ac-art-column, .ac-art-ground { stroke: #71736a; stroke-width: 1.3; }
.ac-art-arch--inner { stroke: rgba(110, 94, 74, .44); stroke-dasharray: 3 8; }
.ac-art-profile { stroke: var(--ac-clay); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ac-art-laurel { stroke: var(--ac-olive); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }

.ac-meander { height: 28px; overflow: hidden; border-block: 1px solid var(--ac-line); background: var(--ac-paper-light); }
.ac-meander span { display: block; width: 100%; height: 100%; opacity: .5; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='28' viewBox='0 0 64 28'%3E%3Cpath d='M0 6h18v16H6V11h6v5h-1v-4H7v9h10V7H0m64-1H46v16h12V11h-6v5h1v-4h4v9H47V7h17' fill='none' stroke='%23827460' stroke-width='.8'/%3E%3C/svg%3E"); }

/* Chapter 1 */
.ac-section { padding: clamp(6rem, 10vw, 11rem) clamp(1.2rem, 6vw, 7rem); }
.ac-expression { background: var(--ac-paper-light); }

.ac-section-head {
  max-width: 1440px;
  margin: 0 auto clamp(6rem, 10vw, 10rem);
  display: grid;
  grid-template-columns: .22fr .9fr 1fr;
  gap: clamp(2rem, 5vw, 7rem);
  align-items: start;
}

.ac-roman { color: rgba(169, 108, 71, .55); font-family: Georgia, serif; font-size: clamp(4rem, 8vw, 8rem); line-height: .8; }
.ac-chapter { margin-bottom: 1.2rem; color: var(--ac-clay); font-size: .62rem; font-weight: 500; letter-spacing: .24em; }
.ac-section-head h2 { font-family: var(--ac-serif); font-size: clamp(2.5rem, 5vw, 5.3rem); font-weight: 300; line-height: 1.35; letter-spacing: .06em; }
.ac-section-deck { max-width: 38rem; padding-top: 2.2rem; color: #74746c; font-family: var(--ac-serif); font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 2.15; }

.ac-history {
  max-width: 1440px;
  margin: 0 auto clamp(8rem, 12vw, 12rem);
  display: grid;
  grid-template-columns: .72fr 1.8fr;
  gap: clamp(4rem, 8vw, 9rem);
}

.ac-history-intro h3,
.ac-archive-head h3,
.ac-subhead h3,
.ac-standards-title h3 { margin: 1rem 0 1.4rem; font-family: var(--ac-serif); font-size: clamp(1.8rem, 3vw, 3.2rem); font-weight: 300; line-height: 1.5; letter-spacing: .06em; }
.ac-history-intro > p:last-child { color: #77776f; font-size: .88rem; line-height: 2; }

.ac-history-line { border-top: 1px solid var(--ac-line); }
.ac-history-line li { position: relative; display: grid; grid-template-columns: .5fr .75fr 1.3fr; gap: 2rem; align-items: baseline; padding: 2rem 0; border-bottom: 1px solid var(--ac-line); }
.ac-history-line li::before { content: ''; position: absolute; top: -.25rem; left: 0; width: .5rem; height: .5rem; border-radius: 50%; background: var(--ac-clay); }
.ac-history-line time { color: var(--ac-clay); font-family: Georgia, serif; font-size: .8rem; letter-spacing: .12em; }
.ac-history-line h4 { font-family: var(--ac-serif); font-size: 1.05rem; font-weight: 400; letter-spacing: .1em; }
.ac-history-line p { color: #77776f; font-size: .83rem; line-height: 1.8; }

.ac-entry-points { max-width: 1440px; margin: 0 auto clamp(8rem, 12vw, 12rem); display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--ac-line); }
.ac-entry-card { position: relative; min-height: 300px; padding: clamp(2.2rem, 4vw, 4.5rem); background: #ece6d9; transition: background .3s ease; }
.ac-entry-card + .ac-entry-card { border-left: 1px solid var(--ac-line); }
.ac-entry-card:hover { background: #e6ddcd; }
.ac-entry-card--muted { background: #f3efe6; }
.ac-entry-card > span { color: var(--ac-clay); font-family: Georgia, serif; font-size: .58rem; letter-spacing: .2em; }
.ac-entry-card h3 { margin: 3rem 0 1rem; font-family: var(--ac-serif); font-size: clamp(1.5rem, 2.5vw, 2.6rem); font-weight: 300; letter-spacing: .08em; }
.ac-entry-card p { max-width: 33rem; color: #76766e; font-size: .86rem; line-height: 1.95; }
.ac-entry-card em { position: absolute; right: 2.5rem; bottom: 2rem; color: var(--ac-clay); font-size: .7rem; font-style: normal; letter-spacing: .12em; }

.ac-archive { max-width: 1440px; margin: 0 auto; }
.ac-archive-head { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 9rem); align-items: end; margin-bottom: 4rem; }
.ac-archive-head > p { color: #77776e; font-size: .88rem; line-height: 2; }

.ac-archive-group { border-top: 1px solid #aaa294; }
.ac-archive-group:last-child { border-bottom: 1px solid #aaa294; }
.ac-archive-group summary { display: flex; justify-content: space-between; align-items: center; padding: 1.8rem .2rem; cursor: pointer; list-style: none; }
.ac-archive-group summary::-webkit-details-marker { display: none; }
.ac-archive-group summary span { display: flex; align-items: center; gap: 1.2rem; font-family: var(--ac-serif); font-size: 1.05rem; letter-spacing: .1em; }
.ac-archive-group summary span i { color: var(--ac-clay); font-family: Georgia, serif; font-size: .66rem; font-style: normal; }
.ac-archive-group summary em { color: #929087; font-family: Georgia, serif; font-size: .57rem; font-style: normal; letter-spacing: .16em; }
.ac-archive-group summary::after { content: '+'; margin-left: 1.5rem; color: var(--ac-clay); font-family: Georgia, serif; font-size: 1.25rem; font-weight: 300; }
.ac-archive-group[open] summary::after { content: '−'; }

.ac-resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); padding-bottom: 2rem; }
.ac-resource-grid a { position: relative; min-height: 145px; padding: 1.7rem 3.2rem 1.7rem 1.7rem; border-top: 1px solid var(--ac-line); border-right: 1px solid var(--ac-line); transition: background .25s ease; }
.ac-resource-grid a:nth-child(3n) { border-right: 0; }
.ac-resource-grid a:hover { background: #ede7dc; }
.ac-resource-grid a span { display: block; margin-bottom: 1.1rem; color: #9a765d; font-size: .58rem; letter-spacing: .14em; }
.ac-resource-grid a strong { font-family: var(--ac-serif); font-size: .9rem; font-weight: 400; line-height: 1.6; letter-spacing: .06em; }
.ac-resource-grid a i { position: absolute; top: 1.5rem; right: 1.5rem; color: var(--ac-clay); font-style: normal; }

/* Chapter 2 */
.ac-execution { background: var(--ac-night); color: #eeeadf; }
.ac-section-head--dark .ac-roman { color: rgba(187, 154, 103, .42); }
.ac-section-head--dark .ac-chapter { color: var(--ac-gold); }
.ac-section-head--dark .ac-section-deck { color: #aaa99e; }

.ac-goals { max-width: 1440px; margin: 0 auto clamp(8rem, 11vw, 11rem); display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid rgba(235, 229, 215, .2); }
.ac-goals div { min-height: 220px; display: flex; flex-direction: column; justify-content: center; padding: 2.5rem; border-right: 1px solid rgba(235, 229, 215, .15); }
.ac-goals div:last-child { border-right: 0; }
.ac-goals strong { color: #f1eadc; font-family: Georgia, var(--ac-serif), serif; font-size: clamp(2.1rem, 3.8vw, 4.5rem); font-weight: 400; line-height: 1.1; white-space: nowrap; }
.ac-goals strong small { color: var(--ac-gold); font-family: var(--ac-sans); font-size: .7rem; font-weight: 300; letter-spacing: .12em; }
.ac-goals span { margin-top: 1.35rem; color: #99998f; font-size: .68rem; letter-spacing: .12em; }

.ac-flow,
.ac-channels,
.ac-brief,
.ac-standards,
.ac-open-question,
.ac-inspiration { max-width: 1440px; margin: 0 auto clamp(8rem, 11vw, 11rem); }

.ac-subhead { display: flex; align-items: flex-start; gap: 1.4rem; margin-bottom: 3.6rem; }
.ac-subhead > span { padding-top: .35rem; color: var(--ac-gold); font-family: Georgia, serif; font-size: .67rem; }
.ac-subhead p { color: #86877d; font-size: .59rem; letter-spacing: .22em; }
.ac-subhead h3 { margin: .4rem 0 0; color: #ece7dc; }

.ac-flow ol { display: grid; grid-template-columns: repeat(4, 1fr); }
.ac-flow li { position: relative; min-height: 260px; padding: 2.3rem 2rem 2rem 0; border-top: 1px solid rgba(235, 229, 215, .22); }
.ac-flow li:not(:last-child)::after { content: '→'; position: absolute; top: -.9rem; right: 1.2rem; width: 1.8rem; background: var(--ac-night); color: var(--ac-gold); text-align: center; }
.ac-flow li > i { display: block; margin-bottom: 3.5rem; color: var(--ac-gold); font-family: Georgia, serif; font-size: .62rem; font-style: normal; }
.ac-flow li strong { display: block; margin-bottom: 1rem; font-family: var(--ac-serif); font-size: 1rem; font-weight: 400; letter-spacing: .08em; }
.ac-flow li span { display: block; max-width: 16rem; color: #97978e; font-size: .76rem; line-height: 1.85; }

.ac-channel-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid rgba(235, 229, 215, .2); border-left: 1px solid rgba(235, 229, 215, .12); }
.ac-channel-grid > span { min-height: 168px; display: flex; flex-direction: column; justify-content: center; padding: 1.8rem; border-right: 1px solid rgba(235, 229, 215, .12); border-bottom: 1px solid rgba(235, 229, 215, .12); font-family: var(--ac-serif); font-size: .98rem; letter-spacing: .08em; transition: background .25s ease, color .25s ease; }
.ac-channel-grid > span:hover { background: #eee8dc; color: var(--ac-night); }
.ac-channel-grid b { margin-bottom: 1.25rem; color: var(--ac-gold); font-family: Georgia, serif; font-size: .58rem; font-weight: 400; }
.ac-channel-grid small { margin-top: .5rem; color: #898a81; font-family: var(--ac-sans); font-size: .62rem; letter-spacing: .05em; }

.ac-brief-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(235, 229, 215, .16); }
.ac-brief-card { position: relative; min-height: 500px; padding: clamp(2rem, 4vw, 4.2rem); background: #2b2e26; }
.ac-brief-no { position: absolute; top: 2rem; right: 2.5rem; color: rgba(185, 154, 103, .18); font-family: Georgia, serif; font-size: 5rem; line-height: 1; }
.ac-brief-phase { color: var(--ac-gold); font-size: .58rem; letter-spacing: .2em; }
.ac-brief-card h4 { margin: 4.5rem 0 1.5rem; font-family: var(--ac-serif); font-size: clamp(1.5rem, 2.3vw, 2.4rem); font-weight: 300; letter-spacing: .08em; }
.ac-brief-card > p:not(.ac-brief-phase) { min-height: 9rem; color: #aaa99f; font-size: .82rem; line-height: 2; }
.ac-brief-card ul { margin-top: 2.5rem; border-top: 1px solid rgba(235, 229, 215, .15); }
.ac-brief-card li { padding: .75rem 0; border-bottom: 1px solid rgba(235, 229, 215, .1); color: #c4c1b8; font-size: .68rem; letter-spacing: .08em; }
.ac-brief-card li::before { content: '·'; margin-right: .65rem; color: var(--ac-gold); }

.ac-standards { display: grid; grid-template-columns: .7fr 1.5fr; gap: clamp(4rem, 9vw, 10rem); align-items: start; padding: clamp(3rem, 6vw, 6rem); border: 1px solid rgba(235, 229, 215, .17); }
.ac-standards-title h3 { color: #ece7dc; }
.ac-standard-list { counter-reset: standard; }
.ac-standard-list article { display: grid; grid-template-columns: .2fr .38fr 1fr; gap: 1.8rem; align-items: baseline; padding: 1.6rem 0; border-bottom: 1px solid rgba(235, 229, 215, .13); }
.ac-standard-list article:first-child { border-top: 1px solid rgba(235, 229, 215, .13); }
.ac-standard-list span { color: var(--ac-gold); font-family: Georgia, serif; font-size: .62rem; }
.ac-standard-list h4 { font-family: var(--ac-serif); font-size: 1rem; font-weight: 400; letter-spacing: .15em; }
.ac-standard-list p { color: #9d9c93; font-size: .76rem; line-height: 1.85; }

.ac-open-question { padding: clamp(4rem, 8vw, 8rem) 0; text-align: center; }
.ac-open-question > span { color: var(--ac-gold); font-family: Georgia, serif; font-size: .6rem; letter-spacing: .26em; }
.ac-open-question blockquote { margin: 3rem auto; color: #f0eadf; font-family: var(--ac-serif); font-size: clamp(1.9rem, 4vw, 4.5rem); font-weight: 300; line-height: 1.65; letter-spacing: .08em; }
.ac-open-question p { max-width: 48rem; margin: 0 auto; color: #96968d; font-size: .82rem; line-height: 2; }

.ac-inspiration { margin-bottom: 0; padding-top: 5rem; border-top: 1px solid rgba(235, 229, 215, .17); }
.ac-inspiration-note { max-width: 50rem; margin: -2rem 0 3rem 3.1rem; color: #98988f; font-size: .78rem; line-height: 1.95; }
.ac-inspiration-links { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(235, 229, 215, .16); }
.ac-inspiration-links a { position: relative; min-height: 180px; padding: 2rem; border-right: 1px solid rgba(235, 229, 215, .13); transition: background .25s ease; }
.ac-inspiration-links a:last-child { border-right: 0; }
.ac-inspiration-links a:hover { background: #ece5d8; color: var(--ac-night); }
.ac-inspiration-links span { color: var(--ac-gold); font-family: Georgia, serif; font-size: .56rem; letter-spacing: .16em; }
.ac-inspiration-links strong { display: block; margin-top: 3.6rem; font-family: var(--ac-serif); font-size: 1.1rem; font-weight: 400; letter-spacing: .12em; }
.ac-inspiration-links i { position: absolute; right: 1.7rem; top: 1.6rem; color: var(--ac-gold); font-style: normal; }

/* Chapter 3 */
.ac-epistle { min-height: 100svh; display: grid; grid-template-columns: .88fr 1.12fr; background: #e9e3d7; }
.ac-epistle-art { position: relative; display: flex; align-items: center; justify-content: center; min-height: 900px; overflow: hidden; border-right: 1px solid var(--ac-line); background: radial-gradient(circle at 50% 35%, rgba(175, 113, 72, .15), transparent 35%); }
.ac-epistle-art > span { position: absolute; left: 3.2rem; top: 3.2rem; color: rgba(169, 108, 71, .4); font-family: Georgia, serif; font-size: 8rem; line-height: 1; }
.ac-epistle-art svg { width: min(84%, 570px); stroke: #71736a; stroke-width: 1.15; }
.ac-epistle-seed { stroke: var(--ac-clay); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ac-epistle-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(5rem, 9vw, 10rem); }
.ac-epistle-copy h2 { margin-bottom: 4rem; font-family: var(--ac-serif); font-size: clamp(2.8rem, 5vw, 5.6rem); font-weight: 300; line-height: 1.4; letter-spacing: .08em; }
.ac-letter { max-width: 48rem; }
.ac-letter p { margin-bottom: 1.4rem; color: #66675f; font-family: var(--ac-serif); font-size: clamp(.92rem, 1.15vw, 1.08rem); line-height: 2.15; }
.ac-letter p:first-child { color: var(--ac-ink); font-size: clamp(1.2rem, 1.7vw, 1.65rem); }
.ac-epistle-copy blockquote { margin-top: 2.8rem; padding-left: 1.5rem; border-left: 1px solid var(--ac-clay); color: #3b3e37; font-family: var(--ac-serif); font-size: clamp(1.25rem, 2vw, 1.8rem); line-height: 1.8; letter-spacing: .08em; }
.ac-signature { display: flex; align-items: baseline; gap: 1.5rem; margin-top: 3.8rem; color: var(--ac-clay); }
.ac-signature span { font-family: var(--ac-serif); font-size: .9rem; letter-spacing: .12em; }
.ac-signature small { color: #85837a; font-size: .6rem; letter-spacing: .12em; }

.ac-footer { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: end; padding: 4rem clamp(1.5rem, 6vw, 7rem); border-top: 1px solid rgba(235, 229, 215, .15); background: #1f211c; color: #dfd9cd; }
.ac-footer > div { display: flex; align-items: baseline; gap: 1.5rem; }
.ac-footer strong { font-family: var(--ac-serif); font-size: 1rem; font-weight: 400; letter-spacing: .08em; }
.ac-footer div span { color: #85867d; font-family: Georgia, serif; font-size: .57rem; letter-spacing: .14em; }
.ac-footer a { color: #c0a373; font-size: .68rem; letter-spacing: .12em; }
.ac-footer a i { margin-left: .7rem; font-style: normal; }
.ac-footer > p { grid-column: 1 / -1; padding-top: 2rem; border-top: 1px solid rgba(235, 229, 215, .1); color: #6f7068; font-size: .58rem; letter-spacing: .1em; }

@keyframes acArrow { 0%, 100% { transform: translateY(-2px); } 50% { transform: translateY(5px); } }
@keyframes acFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes acSun { 0%, 100% { transform: scale(.97); opacity: .72; } 50% { transform: scale(1.03); opacity: 1; } }

@media (max-width: 1120px) {
  .ac-nav { grid-template-columns: 1fr auto; }
  .ac-nav-brand { justify-self: start; grid-column: 1; grid-row: 1; margin-left: 8rem; }
  .ac-nav-chapters { grid-column: 2; grid-row: 1; }
  .ac-nav-back { grid-column: 1; grid-row: 1; z-index: 1; }
  .ac-hero { grid-template-columns: 1fr .8fr; }
  .ac-overline span:last-child { display: none; }
  .ac-hero-copy { padding-left: 4rem; }
  .ac-section-head { grid-template-columns: .16fr .9fr 1fr; gap: 3rem; }
  .ac-channel-grid { grid-template-columns: repeat(2, 1fr); }
  .ac-channel-grid > span { min-height: 145px; }
  .ac-goals { grid-template-columns: repeat(2, 1fr); }
  .ac-goals div:nth-child(2) { border-right: 0; }
  .ac-goals div:nth-child(-n+2) { border-bottom: 1px solid rgba(235, 229, 215, .15); }
  .ac-resource-grid { grid-template-columns: repeat(2, 1fr); }
  .ac-resource-grid a:nth-child(3n) { border-right: 1px solid var(--ac-line); }
  .ac-resource-grid a:nth-child(2n) { border-right: 0; }
  .ac-epistle { grid-template-columns: .76fr 1.24fr; }
}

@media (max-width: 820px) {
  html { scroll-padding-top: 64px; }
  .ac-nav, .ac-nav.is-scrolled { height: 64px; grid-template-columns: auto 1fr; padding: 0 1.1rem; }
  .ac-nav-back span, .ac-nav-brand small { display: none; }
  .ac-nav-back { position: static; grid-column: 1; grid-row: 1; }
  .ac-nav-brand { position: static; grid-column: 2; grid-row: 1; justify-self: start; margin-left: .8rem; }
  .ac-nav-chapters { position: fixed; left: 0; right: auto; top: 64px; width: 100vw; height: 42px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); justify-self: auto; justify-content: stretch; gap: 0; border-bottom: 1px solid var(--ac-line); background: rgba(244, 240, 231, .94); backdrop-filter: blur(15px); }
  .ac-nav-chapters a { display: block; width: 100%; text-align: center; }
  .ac-nav-chapters a::after { bottom: -12px; left: 25%; right: 25%; }

  .ac-hero { display: flex; flex-direction: column; padding-top: 106px; }
  .ac-hero-copy { min-height: 760px; padding: 5rem 2rem 4rem; }
  .ac-overline { margin-bottom: 4rem; }
  .ac-hero h1 span { font-size: clamp(3rem, 12vw, 5rem); }
  .ac-hero-art { min-height: 620px; border-top: 1px solid var(--ac-line); border-left: 0; }
  .ac-hero-art svg { width: min(96%, 600px); }

  .ac-section { padding: 7rem 1.2rem; }
  .ac-section-head { display: grid; grid-template-columns: auto 1fr; gap: 1.6rem; margin-bottom: 7rem; }
  .ac-section-head .ac-section-deck { grid-column: 1 / -1; padding: 1rem 0 0 4.6rem; }
  .ac-roman { font-size: 4rem; }

  .ac-history { display: block; margin-bottom: 8rem; }
  .ac-history-intro { max-width: 32rem; margin-bottom: 4rem; }
  .ac-history-line li { grid-template-columns: .45fr 1fr; }
  .ac-history-line p { grid-column: 2; }
  .ac-entry-points { grid-template-columns: 1fr; margin-bottom: 8rem; }
  .ac-entry-card + .ac-entry-card { border-top: 1px solid var(--ac-line); border-left: 0; }
  .ac-archive-head { grid-template-columns: 1fr; gap: 1rem; }
  .ac-resource-grid { grid-template-columns: 1fr; }
  .ac-resource-grid a, .ac-resource-grid a:nth-child(2n), .ac-resource-grid a:nth-child(3n) { border-right: 0; }

  .ac-flow ol { grid-template-columns: 1fr 1fr; }
  .ac-flow li:nth-child(2)::after { display: none; }
  .ac-channel-grid { grid-template-columns: 1fr 1fr; }
  .ac-brief-grid { grid-template-columns: 1fr; }
  .ac-brief-card { min-height: 0; }
  .ac-brief-card > p:not(.ac-brief-phase) { min-height: 0; }
  .ac-standards { grid-template-columns: 1fr; gap: 2rem; padding: 2.5rem 1.6rem; }
  .ac-inspiration-links { grid-template-columns: 1fr 1fr; }
  .ac-inspiration-links a:nth-child(2) { border-right: 0; }
  .ac-inspiration-links a:nth-child(-n+2) { border-bottom: 1px solid rgba(235, 229, 215, .13); }

  .ac-epistle { display: flex; flex-direction: column; }
  .ac-epistle-art { min-height: 620px; border-right: 0; border-bottom: 1px solid var(--ac-line); }
  .ac-epistle-copy { padding: 6rem 2rem; }
}

@media (max-width: 520px) {
  .ac-nav-brand strong { font-size: .8rem; }
  .ac-nav-chapters a { font-size: .62rem; }
  .ac-hero-copy { min-height: 700px; padding-inline: 1.4rem; }
  .ac-hero-kicker { font-size: .54rem; letter-spacing: .16em; }
  .ac-hero-kicker::before { width: 2rem; }
  .ac-hero h1 span { font-size: 2.75rem; }
  .ac-hero h1 small { font-size: .86rem; letter-spacing: .27em; }
  .ac-hero-lead { font-size: 1.25rem; }
  .ac-hero-intro { font-size: .82rem; }
  .ac-hero-art { min-height: 470px; }
  .ac-greek-word { top: 2rem; }
  .ac-art-note { display: none; }
  .ac-section { padding: 6rem 1rem; }
  .ac-section-head { gap: 1rem; }
  .ac-section-head h2 { font-size: 2.25rem; }
  .ac-section-head .ac-section-deck { padding-left: 0; font-size: .9rem; }
  .ac-history-line li { grid-template-columns: 1fr; gap: .6rem; padding: 1.7rem 0; }
  .ac-history-line p { grid-column: 1; }
  .ac-entry-card { min-height: 310px; padding: 2rem 1.5rem; }
  .ac-entry-card em { right: 1.5rem; }
  .ac-archive-group summary span { gap: .7rem; font-size: .9rem; }
  .ac-archive-group summary em { display: none; }
  .ac-resource-grid a { min-height: 125px; }

  .ac-goals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-goals div { min-width: 0; min-height: 170px; padding: 1rem; }
  .ac-goals strong { font-size: 1.65rem; }
  .ac-goals div:first-child strong { font-size: 1.35rem; }
  .ac-goals span { font-size: .58rem; }
  .ac-flow ol { grid-template-columns: 1fr; }
  .ac-flow li { min-height: 210px; }
  .ac-flow li:not(:last-child)::after { display: block; top: auto; right: auto; bottom: -1rem; left: 1rem; transform: rotate(90deg); }
  .ac-channel-grid { grid-template-columns: 1fr; }
  .ac-channel-grid > span { min-height: 130px; }
  .ac-standard-list article { grid-template-columns: .2fr .5fr 1.2fr; gap: .8rem; }
  .ac-open-question blockquote { font-size: 1.65rem; }
  .ac-inspiration-note { margin-left: 0; }
  .ac-inspiration-links { grid-template-columns: 1fr; }
  .ac-inspiration-links a, .ac-inspiration-links a:nth-child(2) { border-right: 0; border-bottom: 1px solid rgba(235, 229, 215, .13); }
  .ac-epistle-art { min-height: 480px; }
  .ac-epistle-art > span { left: 1.5rem; top: 1.5rem; font-size: 5rem; }
  .ac-epistle-copy { padding: 5rem 1.4rem; }
  .ac-signature { display: block; }
  .ac-signature small { display: block; margin-top: .6rem; }
  .ac-footer { grid-template-columns: 1fr; align-items: start; padding: 3rem 1.4rem; }
  .ac-footer > div { display: block; }
  .ac-footer div span { display: block; margin-top: .5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
