/* SacredSpeak: night blue, warm paper and fine gold rules. */
.sacred-page {
  --ss-night: #0d1930;
  --ss-blue: #1f3052;
  --ss-gold: #e3c07e;
  --ss-cream: #f7f2e9;
  --ss-ink: #233453;
  --ss-muted: #5d6575;
  --ss-line: #d8d0c1;
  background: var(--ss-night);
  color: var(--ss-cream);
}
.sacred-page .site-header { background: var(--ss-night); }
.sacred-page .brand__mark { mix-blend-mode: normal; }
.sacred-page .brand__text,.sacred-page .nav a { color: var(--ss-cream); }
.sacred-page .header-note { color: #bcc4d5; }
.sacred-page .nav a:last-child { border-color: #bcc4d5; }
.sacred-page .nav a:hover { color: var(--ss-gold); }
.sacred-page .nav-toggle { background: var(--ss-blue); color: var(--ss-cream); border-color: #66718a; }
.ss-shell { width: min(1240px, calc(100% - 80px)); margin-inline: auto; }
.ss-subnav { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 18px 0; border-block: 1px solid #e3c07e35; font-size: 14px; }
.ss-subnav > a { color: #d1d4df; }
.ss-subnav > a:hover { color: var(--ss-gold); }
.ss-status { display: inline-block; border: 1px solid #b79d6f; border-radius: 30px; padding: 7px 13px; color: var(--ss-gold); font-size: 14px; line-height: 1.4; }
.ss-night { background: radial-gradient(ellipse at 50% 60%,#203352 0%,#0d1930 65%); }
.ss-label { font: 500 12px/1.5 var(--sans); letter-spacing: .11em; text-transform: uppercase; }
.ss-hero { text-align: center; padding-top: 52px; }
.ss-lockup { display: flex; justify-content: center; align-items: center; gap: 13px; }
.ss-lockup > img { width: 45px; height: 45px; border-radius: 12px; }
.ss-lockup > span { font: 400 34px/1.1 var(--serif); letter-spacing: -.025em; }
.ss-lockup em { color: var(--ss-gold); }
.ss-hero > .ss-label { color: var(--ss-gold); margin: 27px 0 18px; }
.ss-hero h1 { font: 400 clamp(54px,6.1vw,86px)/1.03 var(--serif); letter-spacing: -.025em; color: var(--ss-cream); margin: 0 0 24px; }
.ss-hero h1 em { color: var(--ss-gold); font-weight: 400; }
.ss-hero-lead { font-size: 18px; line-height: 1.7; color: #c5cbd9; margin: 0 0 23px; }
.ss-hero-link { display: inline-flex; align-items: center; gap: 32px; font-size: 14px; color: var(--ss-gold); padding: 9px 0; border-bottom: 1px solid #e3c07e80; }
.ss-hero-link:hover { color: #fff1c7; }
.ss-hero-link > span { font-size: 23px; }
.ss-triptych { display: grid; grid-template-columns: .82fr 1fr .82fr; align-items: start; gap: 34px; width: min(850px,100%); margin: 52px auto 0; padding-bottom: 48px; }
.ss-cover { margin: 0; min-width: 0; }
.ss-cover > img { width: 100%; height: auto; border-radius: 9px; box-shadow: 0 20px 44px #00000038; border: 1px solid #cfad6952; }
.ss-cover--left,.ss-cover--right { padding-top: 58px; }
.ss-cover figcaption { color: #c8ceda; font-size: 12px; line-height: 1.5; margin-top: 19px; }
.ss-cover--center figcaption { color: var(--ss-gold); }
.ss-traditions { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 22px; padding: 28px 0; border-top: 1px solid #e3c07e35; color: #e1d7c4; font: 400 22px/1.4 var(--serif); }
.ss-inside { background: var(--ss-cream); color: var(--ss-ink); padding: 72px 0 78px; scroll-margin-top: 20px; }
.ss-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 40px; }
.ss-section-heading .ss-label { color: #88682e; margin: 0 0 20px; }
.ss-section-heading h2 { font: 400 clamp(42px,4.8vw,65px)/1.05 var(--serif); letter-spacing: -.02em; color: var(--ss-ink); margin: 0; }
.ss-section-heading h2 em { color: #8b6b35; }
.ss-section-heading > p { font-size: 16px; line-height: 1.65; color: var(--ss-muted); margin: 0 0 5px; }
.ss-tabs { display: grid; grid-template-columns: repeat(6,1fr); gap: 0; border-block: 1px solid #b9b1a2; margin-bottom: 35px; position: relative; }
.ss-tab { padding: 20px 12px; color: #666b74; border: 0; background: transparent; font: 400 20px/1.4 var(--serif); cursor: pointer; text-align: center; position: relative; }
.ss-tab > span { color: #7e715e; font: 400 11px/1.5 var(--sans); margin-right: 10px; }
.ss-tab[aria-selected="true"] { color: var(--ss-ink); background: #eae3d5; }
.ss-tab[aria-selected="true"]::after { content: ""; height: 3px; left: 20px; right: 20px; bottom: -1px; position: absolute; background: #9f7b3d; }
.ss-tab:hover { color: var(--ss-ink); background: #ede7dd; }
.ss-tab:focus-visible { outline: 2px solid #88682e; outline-offset: -4px; }
.ss-panel { display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; align-items: center; padding: 22px 48px 34px; }
.ss-panel[hidden] { display: none; }
.ss-panel-copy { max-width: 410px; }
.ss-panel-copy .ss-label { color: #88682e; margin: 0 0 27px; }
.ss-panel-copy h3 { font: 400 clamp(37px,4vw,55px)/1.08 var(--serif); letter-spacing: -.015em; color: var(--ss-ink); margin: 0 0 25px; }
.ss-panel-copy > p:not(.ss-label):not(.ss-panel-detail) { color: var(--ss-muted); font-size: 17px; line-height: 1.75; margin: 0 0 26px; }
.ss-panel-copy > .ss-panel-detail { border-left: 2px solid #bc995c; padding-left: 18px; margin: 0 0 30px; color: #68604f; font: italic 24px/1.3 var(--serif); }
.ss-full-image { color: var(--ss-ink); font-size: 14px; display: inline-flex; align-items: center; gap: 28px; padding-bottom: 6px; border-bottom: 1px solid #a99678; }
.ss-full-image:hover { color: #8b6b35; }
.ss-panel-image { margin: 0; padding: 25px; background: #e9e2d4; border-radius: 150px 150px 9px 9px; }
.ss-panel-image > img { width: min(100%,285px); height: auto; display: block; margin-inline: auto; border-radius: 9px; box-shadow: 0 18px 35px #17274528; }
.ss-pagination { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 26px; margin-top: 35px; border-top: 1px solid var(--ss-line); }
.ss-pagination > span { font: 400 22px/1 var(--serif); }
.ss-pagination > span > span { font: 400 12px/1 var(--sans); color: var(--ss-muted); padding-left: 4px; }
.ss-pagination > div { display: flex; gap: 10px; }
.ss-pagination button { width: 44px; height: 44px; background: transparent; border: 1px solid #a9a59a; color: var(--ss-ink); border-radius: 50%; font-size: 23px; cursor: pointer; }
.ss-pagination button:hover:enabled { background: var(--ss-ink); border-color: var(--ss-ink); color: var(--ss-cream); }
.ss-pagination button:disabled { opacity: .3; cursor: default; }
.ss-context { background: #e9e3d7; color: var(--ss-ink); padding: 65px 0; border-top: 1px solid #d0c6b4; }
.ss-context-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; align-items: center; }
.ss-context .ss-label { color: #806638; margin: 0 0 24px; }
.ss-context h2 { font: 400 clamp(43px,4.8vw,65px)/1.06 var(--serif); color: var(--ss-ink); letter-spacing: -.02em; margin: 0; }
.ss-context h2 em { color: #8b6b35; }
.ss-context-copy { max-width: 470px; font-size: 17px; line-height: 1.75; color: #5a6170; }
.ss-context-copy p { margin: 0 0 20px; }
.ss-context-copy p:last-child { margin-bottom: 0; }
.ss-coming { padding: 70px 0 62px; text-align: center; }
.ss-coming img { display: block; width: 60px; height: 60px; margin: 0 auto 25px; border-radius: 16px; }
.ss-coming .ss-status { font-size: 13px; }
.ss-coming h2 { font: 400 clamp(45px,5vw,66px)/1.04 var(--serif); color: var(--ss-cream); letter-spacing: -.02em; margin: 25px 0; }
.ss-coming h2 em { color: var(--ss-gold); }
.ss-coming p { color: #bcc4d5; font-size: 16px; line-height: 1.7; margin: 0 0 24px; }
.ss-coming > a { display: inline-flex; align-items: center; gap: 40px; padding-bottom: 7px; border-bottom: 1px solid #c7a96c; color: var(--ss-gold); font-size: 14px; }
.ss-docs { display: flex; justify-content: center; gap: 1.5rem; margin-top: 1.5rem; }
.ss-docs a { color: #bcc4d5; font-size: 13px; border-bottom: 1px solid #e3c07e55; padding: 2px 0; }
.ss-coming .ss-maker { font-size: 12px; margin: 30px 0 0; }
.sacred-page .site-footer { background: #0a1427; border-top: 1px solid #e3c07e35; }
.sacred-page .footer-top > a,.sacred-page .footer-top > .footer-wordmark { color: var(--ss-cream); }
.sacred-page .footer-top > .footer-wordmark span { color: var(--ss-gold); }
.sacred-page .footer-base { color: #bcc4d5; border-color: #e3c07e35; }
.ss-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 1000px) {
  .ss-shell { width: calc(100% - 56px); }
  .ss-panel { padding-inline: 16px; gap: 40px; }
  .ss-panel-image { padding: 20px; }
  .ss-context-grid { gap: 40px; }
  .ss-triptych { gap: 23px; }
  .ss-tab { padding-inline: 6px; font-size: 19px; }
  .ss-tab > span { margin-right: 6px; }
}
@media (max-width: 760px) {
  .ss-shell { width: calc(100% - 40px); }
  .ss-hero { padding-top: 40px; }
  .ss-hero h1 { font-size: clamp(48px,8vw,66px); }
  .ss-hero-lead { font-size: 16px; }
  .ss-triptych { gap: 16px; margin-top: 40px; padding-bottom: 35px; }
  .ss-cover--left,.ss-cover--right { padding-top: 38px; }
  .ss-cover figcaption { font-size: 11px; margin-top: 14px; }
  .ss-traditions { display: grid; grid-template-columns: repeat(3,1fr); font-size: 21px; text-align: center; gap: 17px; }
  .ss-tabs { display: flex; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #a99678 #ede7dd; }
  .ss-tab { flex: 0 0 auto; min-width: 100px; padding-inline: 12px; }
  .ss-panel { gap: 28px; padding-inline: 0; }
  .ss-panel-copy h3 { font-size: 37px; }
  .ss-panel-copy > p:not(.ss-label):not(.ss-panel-detail) { font-size: 16px; }
  .ss-panel-image { padding: 15px; }
  .ss-panel-copy > .ss-panel-detail { font-size: 22px; }
  .ss-context-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .ss-context-copy { font-size: 16px; }
}
@media (max-width: 620px) {
  .ss-subnav { gap: 15px; font-size: 13px; }
  .ss-subnav > a:nth-child(2) { display: none; }
  .ss-status { font-size: 12px; padding: 6px 10px; }
  .ss-lockup > span { font-size: 32px; }
  .ss-hero h1 { font-size: clamp(44px,9.6vw,61px); }
  .ss-hero > .ss-label { font-size: 11px; }
  .ss-triptych { grid-template-columns: .8fr 1.2fr .8fr; gap: 10px; }
  .ss-cover--left,.ss-cover--right { padding-top: 25px; }
  .ss-cover figcaption { display: none; }
  .ss-cover > img { border-radius: 5px; }
  .ss-traditions { font-size: 19px; gap: 15px 12px; padding: 23px 0; }
  .ss-inside { padding: 45px 0; }
  .ss-section-heading { display: block; margin-bottom: 25px; }
  .ss-section-heading h2 { font-size: 47px; }
  .ss-section-heading > p { font-size: 15px; margin-top: 22px; }
  .ss-tabs { margin-bottom: 28px; }
  .ss-panel { grid-template-columns: 1fr; gap: 30px; padding: 0; }
  .ss-panel-copy { max-width: none; }
  .ss-panel-copy h3 { font-size: 41px; max-width: 400px; }
  .ss-panel-copy .ss-label { margin-bottom: 18px; }
  .ss-panel-copy > .ss-panel-detail { margin-bottom: 25px; }
  .ss-panel-image { width: min(100%,370px); margin-inline: auto; padding: 22px; }
  .ss-panel-image > img { width: 100%; }
  .ss-context { padding: 45px 0; }
  .ss-context-grid { grid-template-columns: 1fr; gap: 28px; }
  .ss-context h2 { font-size: 49px; }
  .ss-coming { padding: 50px 0; }
  .ss-coming h2 { font-size: 52px; }
}
@media (max-width: 720px) {
  .sacred-page .nav { background: var(--ss-night); border-color: #e3c07e35; }
}
@media (prefers-reduced-motion: no-preference) {
  .ss-panel:not([hidden]) { animation: ss-reveal .3s ease-out; }
  @keyframes ss-reveal { from { opacity: .3; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
}
