/* The folio: antique materials and typography over the application layout. */
:root {
  --paper: #e8ddc7;
  --white: #f3ebd9;
  --porcelain: #e7dbc2;
  --ink: #383126;
  --muted: #807158;
  --border: #cdbd9d;
  --accent: #86613d;
  --accent-dark: #65462c;
  --accent-wash: #e5d6b7;
  --sage: #727951;
  --sidebar: 236px;
  --display: 'Cormorant Garamond', Georgia, serif;
  --reading: 'EB Garamond', Georgia, serif;
  --interface: Manrope, sans-serif;
  font-family: var(--reading);
}
body {
  font-size: 16px;
  background: var(--paper);
}
body::after {
  content: '';
  position: fixed;
  inset: 0;
  background: url('/assets/paper-grain.svg');
  opacity: .2;
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 60;
}
h1, h2, h3, .brand, .life-stat strong, .price-number {
  font-family: var(--display);
}
h1 {
  font-size: 68px;
  line-height: 1.02;
  font-weight: 500;
  letter-spacing: -2px;
}
h2 { font-size: 26px; font-weight: 500; letter-spacing: -.4px; }
h3 { font-size: 20px; font-weight: 600; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible {
  outline-color: #aa824b;
}
.sidebar {
  background: #292820;
  background-image: linear-gradient(90deg, #1d1c17 0, #292820 8px, #302e24 12px, #292820 20px);
  color: #c7b48b;
  border-right: 5px double #8e7850;
  padding: 31px 21px 21px;
  box-shadow: 5px 0 16px #35281716;
}
.sidebar::before {
  content: '';
  position: absolute;
  inset: 12px 10px;
  border: 1px solid #77644855;
  pointer-events: none;
}
.brand {
  justify-content: center;
  flex-direction: column;
  text-align: center;
  font-size: 29px;
  font-weight: 500;
  letter-spacing: 1px;
  gap: 13px;
  line-height: .94;
  color: #e4d4ad;
  padding: 0;
}
.brand-second { font-family: var(--display); font-size: 29px; font-weight: 500; letter-spacing: 3px; margin-top: 7px; }
.brand-mark {
  width: 57px;
  height: 57px;
  border: 3px double #a18b5e;
  border-radius: 50%;
  position: relative;
  color: #c6aa70;
}
.brand-mark::before { content: ''; position: absolute; inset: 4px; border: 1px solid #aa915d55; border-radius: 50%; }
.brand-mark .icon { width: 28px; height: 32px; stroke-width: 1.1; }
.workspace-label {
  font-family: var(--reading);
  text-align: center;
  font-size: 14px;
  font-style: italic;
  color: #ad9b77;
  margin: 35px 8px 20px;
  padding-bottom: 19px;
  border-bottom: 1px solid #8a76533d;
}
.primary-nav { gap: 7px; }
.primary-nav a {
  font-family: var(--reading);
  font-size: 16px;
  font-weight: 400;
  color: #b5a787;
  border-radius: 1px;
  padding: 10px 13px;
  border: 1px solid transparent;
}
.primary-nav a.active { background: #bc9e5c14; border-color: #a88a4e55; color: #e0c88d; }
.primary-nav a:hover { background: #d9b56e12; color: #e6d1a0; }
.primary-nav .icon { width: 16px; height: 16px; stroke-width: 1.25; }
.nav-dot { background: #b59a61; width: 4px; height: 4px; }
.sidebar-bottom { padding-top: 45px; }
.sidebar-thought { text-align: center; color: #ac9975; padding: 0 0 28px; }
.sidebar-thought .icon { color: #a78d59; width: 24px; height: 24px; margin-bottom: 8px; }
.sidebar-thought p { font-family: var(--reading); font-size: 15px; font-style: italic; line-height: 1.65; }
.upgrade-box { background: #c6a86d09; border: 1px solid #8e764749; border-radius: 1px; color: #af9d79; padding: 15px; font-size: 13px; }
.upgrade-heading { color: #cfb881; font-family: var(--reading); font-weight: 500; font-size: 15px; }
.upgrade-link { color: #cbb37e; border-color: #8a734d50; font-family: var(--interface); font-size: 10px; }
.settings-link { font-family: var(--interface); color: #b5a383; font-size: 10px; margin-top: 22px; }
.profile-button { border-color: #8a734d50; color: #cbbc9b; }
.profile-button strong { font-family: var(--reading); font-size: 15px; font-weight: 500; }
.profile-button small { font-family: var(--interface); color: #a08f71; font-size: 9px; }
.profile-button > .icon { color: #a18c63; }
.avatar { background: #98815321; border: 1px solid #ad92574d; color: #d0b77e; font-family: var(--display); font-size: 18px; }
.topbar { background: #ece2cd; height: 62px; border-bottom: 1px solid #c9b79788; padding-left: 42px; padding-right: 42px; }
.breadcrumb { font-family: var(--interface); font-size: 10px; color: #857559; }
.breadcrumb span:last-child { color: #716147; }
.breadcrumb-divider { color: #b3a182; }
.breadcrumb > .icon { color: #967b4b; }
.topbar-actions { gap: 20px; }
.save-status { font-family: var(--interface); font-size: 9px; color: #7d7059; }
.save-status i { background: #85875b; }
.icon-button { color: #8b7450; border-radius: 2px; }
.icon-button:hover { background: #b9a37723; }
main { padding: 40px 42px 30px; }
.page-heading { position: relative; padding-bottom: 35px; margin-bottom: 22px; align-items: center; }
.page-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 15px;
  background: url('/assets/folio-ornament.svg') center / 200px 16px no-repeat,
    linear-gradient(#c5b28e, #c5b28e) left center / calc(50% - 110px) 1px no-repeat,
    linear-gradient(#c5b28e, #c5b28e) right center / calc(50% - 110px) 1px no-repeat;
}
.heading-copy p { font-family: var(--reading); font-size: 18px; font-style: italic; color: #867256; margin-top: 13px; line-height: 1.6; }
.button { font-family: var(--interface); font-size: 10px; font-weight: 500; border-radius: 2px; background: #f4ecd9; border-color: #bfa980; box-shadow: inset 0 0 0 2px #f4ecd9; padding: 11px 15px; min-height: 39px; }
.button:hover { background: #e7d6b5; }
.button-primary, .button-dark { background: #645033; color: #f4e8ca; border-color: #645033; box-shadow: inset 0 0 0 2px #645033, inset 0 0 0 3px #b6996159; }
.button-primary:hover, .button-dark:hover { background: #4d3c25; border-color: #4d3c25; }
.button-quiet { color: #81653b; background: none; border: 0; box-shadow: none; }
.button-quiet:hover { background: none; color: #4e3b24; }
.intro-banner { background: transparent; border: 0; border-bottom: 1px solid #c5b28e; border-radius: 0; padding: 0 0 19px; margin-bottom: 25px; }
.intro-banner p { font-family: var(--reading); font-size: 15px; color: #867151; }
.intro-banner strong { color: #665134; font-weight: 500; }
.intro-banner .button { background: #eadcc0; font-size: 9px; border-color: #c4ae83; }
.dashboard { grid-template-columns: minmax(0, 1fr) 290px; gap: 25px; }
.panel { background: var(--white); border-color: #c0ab85; border-radius: 2px; box-shadow: 0 3px 9px #735a2610; }
.life-panel { position: relative; padding: 30px 29px 23px; }
.life-panel::before { content: ''; position: absolute; inset: 6px; border: 1px solid #c6b594; pointer-events: none; }
.life-panel .panel-heading h2 { font-size: 27px; font-weight: 500; }
.panel-subtitle { font-family: var(--reading); font-size: 14px; color: #877354; margin-top: 3px; }
.sample-badge { background: transparent; border-color: #c9b48d; color: #8a724e; border-radius: 1px; font-family: var(--interface); font-size: 8px; }
.segmented { background: #e9ddc3; border-radius: 2px; padding: 3px; border: 1px solid #c7b59477; }
.segmented button { font-family: var(--interface); border-radius: 1px; font-size: 9px; color: #8b7959; }
.segmented button.selected { background: #f4ecd9; color: #6e5430; box-shadow: 0 1px 3px #77604412; }
.life-stats { margin-top: 4px; padding: 22px 0 25px; gap: 29px; }
.life-stat { border-color: #d0bea0; padding-right: 29px; }
.life-stat strong { font-size: 40px; font-weight: 500; letter-spacing: -1px; color: #625033; }
.life-stat:last-child strong { font-size: 32px; color: #967443; }
.life-stat small { font-family: var(--interface); color: #8d7958; font-size: 9px; margin-top: 4px; }
.mini-dot { background: #8a7653; }
.mini-dot.future { background: #d6c9ad; }
.mini-dot.current { background: #936b35; }
.map-axis, .week-axis { color: #958264; font-family: var(--interface); }
.life-grid { gap: 2.5px; grid-template-rows: repeat(52, 5px); }
.week-cell { border-radius: 0; background: #dfd4bd; }
.week-cell.lived { background: #958264; }
.week-cell.current { background: #876233; box-shadow: 0 0 0 2px #bba16d; }
.week-cell.current::after { background: #f1d7a1; }
.week-cell.recorded { background: #b18a42; }
.week-cell:hover, .week-cell:focus-visible { background: #805f32; box-shadow: 0 0 0 3px #c3a46a; }
.life-grid[data-mode='reflections'] .week-cell.lived:not(.recorded) { background: #d5c7ac; }
.map-callout { font-family: var(--reading); color: #846232; font-size: 13px; margin-top: 20px; }
.map-callout strong { font-weight: 500; }
.map-callout .mini-dot { background: #a17b40; box-shadow: 0 0 0 3px #e6d5b0; }
.map-callout span:last-child { font-family: var(--interface); font-size: 8px; color: #968366; }
.map-help { font-family: var(--reading); font-size: 12px; font-style: italic; color: #8e7957; margin-top: 7px; }
.map-legend { border-color: #cfbc97; font-family: var(--interface); color: #8b7757; font-size: 8px; padding-top: 15px; }
.map-legend .horizon-note { font-family: var(--reading); color: #8a7656; font-size: 10px; }
.ritual-panel { background: #333126; color: #e9d8b1; border: 1px solid #887148; border-radius: 2px; padding: 24px 24px 23px; text-align: center; box-shadow: inset 0 0 0 5px #333126, inset 0 0 0 6px #a68c584f, 0 4px 12px #55442115; }
.ritual-top { color: #c3aa78; font-family: var(--reading); font-size: 15px; text-align: left; border-bottom: 1px solid #947a484f; padding-bottom: 13px; }
.ritual-top .icon { width: 15px; height: 15px; }
.hourglass-engraving { width: 100%; max-width: 240px; height: auto; display: block; margin: 12px auto 4px; }
.ritual-panel h2 { font-family: var(--display); font-size: 34px; font-weight: 400; color: #ead9b5; line-height: 1.15; letter-spacing: -.7px; max-width: none; margin-top: 0; }
.ritual-panel p { font-family: var(--reading); font-size: 15px; line-height: 1.7; color: #bfae8a; margin-top: 13px; }
.ritual-panel .button { background: #c8ae78; border-color: #c8ae78; color: #3d3322; box-shadow: inset 0 0 0 2px #c8ae78, inset 0 0 0 3px #7d654377; font-size: 10px; margin-top: 23px; }
.ritual-panel .button:hover { background: #d9c18b; }
.ritual-foot { font-family: var(--reading); font-size: 12px; color: #ad9971; }
.right-column { gap: 20px; }
.year-panel { background: #e9ddc4; padding: 20px 21px; border-color: #c3af88; box-shadow: none; }
.year-panel .panel-heading h3 { font-family: var(--reading); font-size: 16px; font-weight: 400; }
.year-panel .panel-heading span { font-family: var(--reading); font-size: 15px; color: #8c7045; }
.year-grid { gap: 5px; margin: 17px 0 13px; }
.year-dot { border-radius: 0; background: #d8c9aa; height: 12px; }
.year-dot.past { background: #a18b62; }
.year-dot.now { background: #745732; outline-color: #c3a571; }
.year-summary { font-family: var(--interface); font-size: 9px; color: #8a7757; }
.year-summary strong { color: #79613d; }
.perspective-panel { background: none; border: 0; border-radius: 0; padding: 8px 11px 16px; min-height: auto; }
.folio-ornament { display: block; width: 75%; height: auto; margin: 4px auto 21px; opacity: .8; }
.perspective-panel blockquote { font-family: var(--display); font-size: 23px; font-style: italic; color: #766040; line-height: 1.45; }
.perspective-panel .quote-caption { font-family: var(--reading); font-size: 12px; color: #927d59; margin-top: 11px; }
.intention-section { margin-top: 27px; }
.section-top h2 { font-family: var(--display); font-size: 24px; font-weight: 500; }
.section-top .button { font-size: 9px; }
.intention-card { background: #eee3ca; border-color: #cbb690; border-radius: 2px; padding: 18px 17px; min-height: 158px; box-shadow: none; }
.intention-card:hover { border-color: #937342; background: #f3e8d1; }
.category-icon, .category-icon.health, .category-icon.relationships { background: none; color: #957544; border: 1px solid #c4ae84; border-radius: 50%; width: 30px; height: 30px; }
.category-icon.health { color: #787b51; }
.category-icon.relationships { color: #a17a64; }
.intention-check { color: #ac946c; }
.intention-card h3 { font-family: var(--reading); font-size: 16px; font-weight: 400; line-height: 1.3; }
.intention-meta { font-family: var(--reading); font-size: 12px; font-style: italic; color: #8c7654; }
.intention-card.done h3 { color: #93866c; }
.app-footer { color: #8a7553; border-top: 1px solid #c3ac823f; margin: 10px 42px 0; padding: 22px 0 27px; font-family: var(--reading); font-size: 12px; }
.app-footer > span:first-child { font-family: var(--display); color: #796141; font-size: 17px; }
.footer-translation { font-family: var(--reading); color: #8d7855; font-size: 14px; }
.app-footer .icon { color: #927b51; }
.editor-panel { padding: 33px; position: relative; border: 4px double #bfaa81; background: #f3ead6; }
.editor-date { color: #967c51; font-family: var(--interface); font-size: 10px; }
.editor-panel h2 { font-family: var(--display); font-size: 34px; line-height: 1.2; font-weight: 500; }
.editor-panel .editor-intro { font-family: var(--reading); font-size: 17px; color: #887252; line-height: 1.65; }
.reflection-field label, .form-field label { font-family: var(--reading); font-size: 16px; font-weight: 500; color: #77603f; }
.reflection-field textarea { font-family: var(--reading); font-size: 20px; color: #5e4b31; line-height: 1.8; border-radius: 0; border-color: #d3c09a; background: repeating-linear-gradient(transparent, transparent 35px, #c7b38d40 35px, #c7b38d40 36px); background-position: 0 16px; min-height: 252px; }
.reflection-field textarea::placeholder { color: #a28c65; font-style: italic; }
.editor-bottom small { font-family: var(--reading); font-size: 13px; color: #967e54; }
.mood-button { font-family: var(--reading); font-size: 14px; color: #8e7750; border-color: #c8b48c; border-radius: 1px; }
.mood-button.selected { border-color: #94723e; background: #e5d3ad; color: #75552e; }
.prompt-card { background: #e4d5b6; border: 1px solid #c3ab7e; border-radius: 2px; color: #82643b; padding: 25px; }
.prompt-card h3 { font-family: var(--display); font-size: 23px; font-weight: 500; }
.prompt-card p, .prompt-card ul { color: #88704b; font-family: var(--reading); font-size: 16px; line-height: 1.7; }
.prompt-card .icon { color: #97743f; }
.journal-entry { border: 1px solid #c4ad80; padding: 27px; }
.journal-entry p { font-family: var(--reading); font-size: 20px; line-height: 1.65; color: #6b5536; }
.journal-entry .entry-meta { font-family: var(--interface); font-size: 10px; color: #9a7d4d; }
.search-input { font-family: var(--reading); font-size: 15px; color: #765d38; background: #f2e6cd; border-radius: 1px; border-color: #c2aa7c; }
.empty-state { background: #efe2c8; border: 4px double #c2aa7d; border-radius: 1px; }
.empty-state h2 { font-size: 32px; }
.empty-state p { font-family: var(--reading); font-size: 18px; color: #90754d; }
.empty-state > .icon { color: #a08451; }
.filter-row button { font-family: var(--reading); font-size: 15px; border-radius: 1px; color: #94774a; border-color: #c6ae82; }
.filter-row button.selected { background: #ddcaa2; border-color: #b49a69; color: #73532a; }
.local-note { font-family: var(--reading); font-size: 14px; color: #8a7048; }
.intention-view-grid .intention-card h3 { font-size: 21px; }
.price-card { background: #eee1c5; border-color: #baa070; }
.price-card.plus { border: 4px double #9d7e47; background: #f4e8ce; }
.price-card h2 { font-family: var(--display); font-size: 30px; font-weight: 500; }
.price-card p { font-family: var(--reading); font-size: 16px; color: #94774b; }
.price-number { color: #74552c; font-size: 56px; }
.price-number small { color: #997c4f; font-size: 16px; }
.price-card ul { color: #81663c; font-family: var(--reading); font-size: 17px; }
.price-card li .icon { color: #99804d; }
.price-card .price-note { font-size: 13px; }
.price-card .pill { font-family: var(--reading); font-size: 12px; border-radius: 1px; border-color: #cbb587; color: #937341; }
.plan-picker { background: #decea9; border: 1px solid #c3a878; border-radius: 2px; }
.plan-picker button { font-family: var(--reading); font-size: 16px; color: #937346; border-radius: 1px; }
.plan-picker button.selected { background: #f1e5cc; color: #735329; }
.plan-picker small { color: #927346; font-size: 12px; }
.pricing-foot { font-family: var(--reading); font-size: 16px; color: #8a6e43; }
dialog { background: #f1e5cd; border: 5px double #a48a5d; border-radius: 2px; color: #5f482b; box-shadow: 0 30px 100px #2c21194a; }
dialog::backdrop { background: #29251b77; backdrop-filter: blur(3px); }
.modal-inner { padding: 31px; }
.modal-top h2 { font-family: var(--display); font-size: 34px; font-weight: 500; color: #695031; }
.modal-subtitle { font-family: var(--reading); font-size: 17px; line-height: 1.65; color: #8f734d; }
.form-field input, .form-field select { font-family: var(--reading); font-size: 17px; background: #f7edda; border: 1px solid #c6ae80; border-radius: 1px; color: #765933; }
.form-field small { font-family: var(--reading); font-size: 13px; color: #977b4f; }
.settings-extra { border-color: #ccb58b; }
.settings-extra h3 { font-family: var(--display); font-size: 23px; }
.settings-extra p { font-family: var(--reading); font-size: 15px; color: #91764d; }
.error-message { font-family: var(--reading); font-size: 15px; color: #9f5340; }
.success-message { font-family: var(--reading); font-size: 15px; color: #687045; }
.toast { border: 1px solid #a68a52; border-radius: 2px; background: #373024; color: #e2cca0; font-family: var(--reading); font-size: 16px; box-shadow: 0 8px 30px #38291530; }
@media (min-width: 1500px) {
  .dashboard { grid-template-columns: minmax(0, 1fr) 310px; gap: 28px; }
  .life-grid { grid-template-rows: repeat(52, 5px); gap: 3px; }
  .hourglass-engraving { max-width: 250px; }
}
@media (max-width: 1190px) {
  :root { --sidebar: 204px; }
  .sidebar { padding-left: 17px; padding-right: 17px; }
  .dashboard { grid-template-columns: minmax(0, 1fr) 258px; gap: 20px; }
  main { padding: 32px 28px; }
  .topbar { padding-left: 28px; padding-right: 28px; }
  h1 { font-size: 57px; }
  .heading-copy p { font-size: 16px; }
  .heading-actions { flex-direction: column; align-items: stretch; }
  .life-panel { padding: 25px 22px 22px; }
  .life-panel .panel-heading h2 { font-size: 24px; }
  .map-actions { align-self: flex-start; }
  .life-stats { gap: 18px; }
  .life-stat { padding-right: 18px; }
  .life-stat strong { font-size: 34px; }
  .life-stat:last-child strong { font-size: 28px; }
  .life-grid { gap: 2px; grid-template-rows: repeat(52, 4.5px); }
  .ritual-panel { padding: 22px 20px; }
  .ritual-panel h2 { font-size: 30px; }
  .hourglass-engraving { max-width: 220px; }
  .intention-card { padding: 16px 13px; }
  .intention-card h3 { font-size: 15px; }
  .app-footer { margin-left: 28px; margin-right: 28px; }
}
@media (max-width: 1000px) {
  :root { --sidebar: 185px; }
  .brand, .brand-second { font-size: 27px; }
  .primary-nav a { font-size: 14px; padding: 10px 8px; gap: 8px; }
  .dashboard { grid-template-columns: 1fr; }
  .right-column { grid-template-columns: 1fr 1fr; }
  .ritual-panel { grid-row: span 2; }
  .perspective-panel { display: block; }
  .year-panel { display: block; }
  .hourglass-engraving { max-width: 195px; margin-top: 8px; }
  .ritual-panel h2 { font-size: 32px; }
  .workspace-label { margin-top: 26px; }
  .sidebar-thought { display: none; }
  .sidebar-bottom { padding-top: 35px; }
  .life-grid { gap: 2.5px; grid-template-rows: repeat(52, 4.5px); }
}
@media (max-width: 700px) {
  :root { --sidebar: 0px; }
  .sidebar { width: 100%; height: 72px; padding: 0 9px; border: 0; border-top: 3px double #9e865a; background: #2c2a21f7; box-shadow: 0 -3px 18px #3f30191a; }
  .sidebar::before { display: none; }
  .brand, .workspace-label, .sidebar-bottom { display: none; }
  .primary-nav a { font-family: var(--reading); font-size: 12px; padding: 7px 3px; border: 0; border-radius: 0; gap: 5px; }
  .primary-nav a.active { background: #bba27110; border: 0; color: #e1c895; }
  .primary-nav a .icon { width: 18px; height: 18px; }
  .workspace { padding-bottom: 72px; }
  .topbar { height: 54px; padding: 0 21px; }
  .breadcrumb { font-size: 9px; gap: 7px; }
  .save-status { font-size: 0; }
  .topbar .icon-button { color: #8e7246; }
  main { padding: 28px 19px 25px; }
  .page-heading { padding-bottom: 26px; margin-bottom: 18px; gap: 3px; }
  h1 { font-size: 53px; letter-spacing: -1.3px; }
  .heading-copy p { font-size: 16px; margin-top: 10px; max-width: 300px; line-height: 1.5; }
  .heading-actions { flex-direction: row; margin-top: 16px; align-items: center; }
  .heading-actions .button { font-size: 9px; min-height: 34px; padding: 9px 12px; }
  .page-heading::after { background-size: 130px 13px, calc(50% - 74px) 1px, calc(50% - 74px) 1px; }
  .intro-banner { gap: 12px; padding-bottom: 17px; margin-bottom: 19px; }
  .intro-banner p { font-size: 13px; line-height: 1.5; }
  .intro-banner .button { font-size: 8px; padding: 7px 8px; }
  .life-panel { padding: 22px 18px 21px; }
  .life-panel .panel-heading { flex-wrap: wrap; gap: 14px; }
  .life-panel .panel-heading h2 { font-size: 25px; }
  .panel-subtitle { font-size: 13px; }
  .map-actions { margin-left: auto; }
  .sample-badge { display: none; }
  .segmented button { font-size: 9px; padding: 4px 8px; }
  .life-stats { gap: 21px; padding-top: 16px; padding-bottom: 21px; }
  .life-stat { padding-right: 21px; }
  .life-stat strong { font-size: 33px; }
  .life-stat:last-child strong { font-size: 28px; }
  .life-stat small { font-size: 8px; }
  .life-grid { gap: 1.7px; grid-template-rows: repeat(52, 3px); }
  .map-axis { font-size: 7px; }
  .map-callout { font-size: 12px; margin-top: 17px; flex-wrap: wrap; }
  .map-callout span:last-child { font-size: 8px; }
  .map-help { font-size: 11px; }
  .map-legend { font-size: 8px; gap: 12px; }
  .map-legend .horizon-note { font-size: 10px; }
  .section-top h2 { font-size: 22px; }
  .section-top .button { font-size: 8px; }
  .intention-card { min-height: 90px; padding: 18px 17px 18px 63px; }
  .intention-card h3 { font-size: 17px; }
  .intention-card .category-icon { top: 20px; left: 18px; }
  .intention-meta { font-size: 13px; }
  .right-column { display: flex; flex-direction: column; gap: 23px; }
  .ritual-panel { padding: 26px 29px; }
  .ritual-top { font-size: 16px; }
  .hourglass-engraving { max-width: 240px; }
  .ritual-panel h2 { font-size: 39px; }
  .ritual-panel p { font-size: 17px; }
  .ritual-panel .button { font-size: 11px; }
  .ritual-foot { font-size: 14px; }
  .year-panel { padding: 23px; }
  .year-panel .panel-heading h3 { font-size: 19px; }
  .year-dot { height: 15px; }
  .perspective-panel { padding: 1px 17px 18px; }
  .perspective-panel blockquote { font-size: 27px; }
  .app-footer { margin: 0 19px; padding: 23px 0 29px; }
  .app-footer > span:first-child { font-size: 20px; }
  .footer-translation { font-size: 16px; }
  .editor-panel { padding: 24px 20px; }
  .editor-panel h2 { font-size: 30px; }
  .editor-panel .editor-intro { font-size: 16px; }
  .editor-date { flex-wrap: wrap; font-size: 9px; margin-bottom: 20px; }
  .reflection-field textarea { font-size: 18px; line-height: 2; }
  .editor-bottom small { font-size: 12px; max-width: 140px; }
  .editor-bottom .button { padding: 10px 9px; font-size: 9px; }
  .mood-button { font-size: 13px; }
  .journal-entry p { font-size: 18px; }
  .intention-view-grid .intention-card h3 { font-size: 20px; }
  .modal-inner { padding: 25px 22px; }
  .modal-top h2 { font-size: 31px; }
  .modal-subtitle { font-size: 16px; }
  .toast { bottom: 87px; font-size: 15px; }
}
@media (max-width: 360px) {
  h1 { font-size: 47px; }
  .life-stats { gap: 14px; }
  .life-stat { padding-right: 14px; }
  .life-stat strong { font-size: 29px; }
  .life-stat:last-child strong { font-size: 24px; }
  .life-stat small { font-size: 7px; }
  .map-callout span:last-child { width: 100%; margin-left: 14px; }
}
@media (min-width: 701px) and (max-height: 850px) {
  .brand { flex-direction: row; font-size: 26px; gap: 13px; }
  .brand-second { font-size: 26px; letter-spacing: 1.5px; margin-top: 4px; }
  .brand-mark { width: 46px; height: 46px; flex-shrink: 0; }
  .brand-mark .icon { width: 24px; height: 28px; }
  .workspace-label { margin: 30px 8px 18px; padding-bottom: 16px; }
  .sidebar-thought { display: none; }
  .sidebar-bottom { padding-top: 25px; }
}
/* Rituals and physical keepsakes. */
.secondary-nav {display:flex;flex-direction:column;gap:7px;margin-top:20px;padding-top:17px;border-top:1px solid #8a76533d}
.secondary-nav a {display:flex;align-items:center;gap:11px;padding:5px 13px;color:#ac9b79;font-size:15px}
.secondary-nav a.active,.secondary-nav a:hover {color:#e0c88d}
.secondary-nav .icon {width:15px;height:15px;stroke-width:1.2}
.ritual-reminder-link {display:inline-flex;align-items:center;gap:7px;font-family:var(--reading);font-size:13px;color:#c3aa78;margin-top:16px;padding:5px;border-top:1px solid #947a484f}
.ritual-reminder-link .icon {width:13px;height:13px}
.print-invitation {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:23px;padding:24px 0 8px;border-top:1px solid #c8b38d}
.print-invitation h2 {font-size:24px}.print-invitation p {font-size:15px;color:#8a7150;margin-top:5px}
.reminder-layout {display:grid;grid-template-columns:1fr 1fr;gap:24px}
.reminder-card {padding:30px;border:4px double #bca278}
.ritual-symbol {display:block;color:#9e7c43;margin-bottom:19px}.ritual-symbol .icon{width:25px;height:25px;stroke-width:1.1}
.reminder-card h2 {font-size:31px;margin-bottom:12px}
.reminder-card>p {font-size:17px;color:#8b714d;line-height:1.7}
.calendar-note {font-size:14px;color:#907750;line-height:1.7;margin:20px 0}
.form-status {font-size:15px;color:#83673e;line-height:1.6;margin-top:13px;min-height:24px}
.ritual-details {border-top:1px solid #cab38a;margin-top:23px;padding-top:17px;font-size:16px;color:#8d7148}
.ritual-details summary {cursor:pointer;color:#78603b}.ritual-details p {margin-top:13px;font-size:15px;line-height:1.7}
.email-specimen {padding:25px 20px;border:1px solid #c5aa7d;text-align:center;background:#e8d9bb;margin:23px 0}
.email-specimen>span {font-size:13px;color:#9a7c4d}.email-specimen h3 {font-family:var(--display);font-size:29px;font-weight:400;margin:12px 0}
.email-specimen p {font-size:18px;font-style:italic;color:#86683e;margin:13px 0}
.opt-in-label {display:flex;align-items:center;gap:10px;font-size:17px;color:#78603d}.opt-in-label input {accent-color:#816237;width:17px;height:17px;flex-shrink:0}
.print-layout {display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:65px;align-items:start;max-width:1110px}
.print-display {padding:25px 30px 18px;background:#dccdae;border:1px solid #c0aa81;min-width:0}
.print-frame {max-width:405px;margin:auto;background:#483725;border:9px ridge #62503b;padding:22px;box-shadow:8px 14px 18px #4b371937}
.print-sheet {background:#f1e5cb;box-shadow:inset 0 0 4px #4f361f30}.print-sheet svg {display:block;width:100%;height:auto}
.print-caption {text-align:center;font-size:12px;font-style:italic;color:#93784d;margin:24px 0 0;line-height:1.8}
.print-edition-label {font-size:15px;font-style:italic;color:#9a7b47;margin:4px 0 13px}.print-purchase h2 {font-size:43px;line-height:1.1}
.print-description {font-size:18px;color:#91734a;line-height:1.6;margin-top:17px}
.print-price {display:flex;align-items:baseline;gap:13px;margin-top:21px}.print-price>span {font-family:var(--display);font-size:39px;color:#7b5c32}.print-price small {font-size:13px;color:#967a4f}
.edition-field {border:0;padding:0;margin:24px 0 0}.edition-field legend {font-size:16px;color:#80643c;margin-bottom:12px}
.edition-options {display:flex;gap:10px}.edition-option {display:flex;align-items:center;gap:9px;border:1px solid #c4ab7e;padding:10px 12px;font-size:14px;color:#987749}.edition-option.selected {border-color:#8b6934;background:#e6d4af;color:#76572d}
.edition-swatch {width:20px;height:23px;display:block;border:1px solid #b39360}.edition-swatch.parchment {background:#f1e5cb}.edition-swatch.ink {background:#2c2a22}
.print-inclusions {list-style:none;margin:25px 0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:15px;color:#8c6d42}.print-inclusions .icon {width:14px;height:14px;margin-right:8px}
.print-fineprint {font-size:13px;line-height:1.7;color:#98794b;margin-top:9px}
.print-purchase .button-block {font-size:10px}
@media(min-width:701px) and (max-height:850px){.secondary-nav{gap:3px;margin-top:12px;padding-top:10px}.secondary-nav a{font-size:13px;padding-top:4px;padding-bottom:4px}.sidebar .workspace-label{margin-top:22px;margin-bottom:12px;padding-bottom:12px}.sidebar-bottom{padding-top:15px}.settings-link{margin-top:16px;margin-bottom:15px}}
@media(max-width:1190px){.print-layout{gap:30px;grid-template-columns:minmax(0,1fr) 300px}.print-display{padding:23px 18px}.print-frame{padding:15px}.reminder-card{padding:25px 22px}}
@media(max-width:1000px){.reminder-layout{grid-template-columns:1fr}.print-layout{grid-template-columns:1fr;max-width:650px}.print-purchase{max-width:500px}.print-invitation{flex-wrap:wrap}.sidebar .secondary-nav a{font-size:13px}.sidebar .sidebar-bottom{padding-top:15px}}
@media(max-width:700px){.secondary-nav{display:none}.reminder-card{padding:26px 23px}.reminder-card h2{font-size:31px}.reminder-layout{gap:22px}.print-display{padding:23px 17px}.print-frame{padding:13px;border-width:7px}.print-layout{gap:32px}.print-purchase h2{font-size:39px}.print-description{font-size:18px}.edition-option{padding:9px 11px;font-size:14px}.print-invitation{gap:15px}.print-invitation h2{font-size:24px}.print-invitation p{font-size:15px}}
