/* Kiera Journal: local fonts, responsive reading, native WordPress content. */
:root {
  --paper: #f7f5ef;
  --white: #fffefa;
  --ink: #213b32;
  --muted: #747a6f;
  --line: #e0e1d5;
  --pine: #233e34;
  --burgundy: #793d45;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: 'Avenir Next', 'Segoe UI', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 28px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 15px; line-height: 1.65; -webkit-font-smoothing: antialiased; overflow-wrap: break-word; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, input, select, textarea, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; color: inherit; }
button:disabled { opacity: .55; cursor: not-allowed; }
a, button, input, select, textarea { outline-offset: 5px; }
a:focus-visible, button:focus-visible { outline: 2px solid #b66c50; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #6e8d76; outline-offset: 2px; }
img { display: block; max-width: 100%; height: auto; }
svg { flex-shrink: 0; vertical-align: middle; }
figure { margin: 0; }
::selection { background: #d9e1cd; color: var(--ink); }
.screen-reader-text, .sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus, .skip-link:focus { clip: auto; clip-path: none; height: auto; width: auto; left: 16px; top: 16px; padding: 12px 20px; background: white; color: var(--pine); border-radius: 5px; z-index: 10000; }
.skip-link { position: fixed; z-index: 10000; top: -100px; left: 16px; }
.site-brand, .wordmark { font-family: var(--serif); font-size: 35px; letter-spacing: -1.8px; line-height: 1; font-weight: 400; }
.site-brand span, .wordmark span { color: #c49b77; }
.site-brand img { max-width: 150px; max-height: 60px; width: auto; }
.site-header, .header { position: relative; z-index: 10; min-height: 104px; padding: 0 5.1%; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-bottom: 1px solid var(--line); background: var(--paper); color: var(--pine); }
.home .site-header, .home .header, .has-hero .site-header { position: absolute; top: 0; width: 100%; background: transparent; color: #fffdf4; border-color: #ffffff29; }
.admin-bar.home .site-header, .admin-bar.has-hero .site-header { top: 32px; }
.site-nav, .site-nav ul { display: flex; align-items: center; gap: 36px; }
.site-nav { margin-left: auto; margin-right: auto; font-size: 13px; letter-spacing: .03em; }
.site-nav ul { padding: 0; margin: 0; list-style: none; flex-wrap: wrap; }
.site-nav li { margin: 0; }
.site-nav a { display: inline-block; padding: 12px 0; transition: opacity .2s; }
.site-nav a:hover { opacity: .7; }
.site-nav .current-menu-item > a { text-decoration: underline; text-underline-offset: 6px; }
.header-cta, .header-add { display: inline-flex; align-items: center; justify-content: center; gap: 9px; background: var(--pine); color: var(--paper); border: 1px solid var(--pine); border-radius: 4px; padding: 12px 19px; font-size: 12px; font-weight: 600; letter-spacing: .025em; white-space: nowrap; transition: background .2s, transform .2s; }
.home .header-cta, .home .header-add, .has-hero .header-cta { background: #f6f3e9e8; border-color: #ffffff77; color: var(--pine); }
.header-cta:hover, .header-add:hover { transform: translateY(-2px); }
.home .header-cta:hover, .home .header-add:hover { background: white; }
.menu-toggle { display: none; }
.hero { height: clamp(640px, 88svh, 930px); min-height: 640px; position: relative; isolation: isolate; overflow: hidden; background: #576b79; }
.hero-image { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: 58% 46%; }
.hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg,rgba(14,32,30,.78) 0%,rgba(17,35,33,.57) 25%,rgba(16,33,31,.13) 49%,transparent 66%),linear-gradient(0deg,rgba(14,30,27,.55),transparent 21%,transparent 82%,rgba(10,21,21,.26)); }
.hero-content { position: absolute; left: 8.1%; top: 49%; transform: translateY(-39%); max-width: 560px; color: #fffdf5; }
.eyebrow { display: flex; align-items: center; gap: 12px; font-size: 10px; font-weight: 600; letter-spacing: .2em; line-height: 1.5; margin: 0 0 25px; text-transform: uppercase; }
.tiny-line { display: block; width: 30px; height: 1px; background: #f4ead0a6; }
.hero h1 { margin: 0 0 25px; font-family: var(--serif); font-size: clamp(72px,6.75vw,112px); font-weight: 400; letter-spacing: -.055em; line-height: 1.03; text-shadow: 0 2px 15px #0001; }
.hero h1 em { font-weight: 400; letter-spacing: -.065em; }
.hero-intro { margin: 0 0 30px; color: #f8f4e9dc; font-size: 15px; line-height: 1.8; letter-spacing: .01em; }
.hero-button { display: inline-flex; align-items: center; justify-content: center; gap: 37px; background: var(--paper); color: var(--pine); padding: 16px 22px; border-radius: 3px; font-size: 12px; font-weight: 600; transition: background .2s,transform .2s; }
.hero-button:hover { background: white; transform: translateY(-3px); }
.hero-bottom { position: absolute; bottom: 29px; left: 5.1%; right: 5.1%; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #fff8e6ca; font-size: 8px; letter-spacing: .17em; }
.scene-caption { display: flex; align-items: center; gap: 8px; font-size: 10px; letter-spacing: .04em; }
.journal-section { max-width: 1170px; margin: 0 auto; padding: 105px 40px 90px; }
.journal-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 42px; margin-bottom: 52px; }
.green, .journal-intro .eyebrow { color: #6d7e62; }
.journal-intro .eyebrow { margin-bottom: 18px; }
.journal-intro h2 { font-family: var(--serif); font-size: 57px; line-height: 1.08; letter-spacing: -.045em; font-weight: 400; margin: 0; }
.journal-intro h2 em { font-weight: 400; }
.intro-aside { padding-bottom: 4px; min-width: 340px; }
.intro-aside p { margin: 0 0 22px; font-size: 13px; color: var(--muted); line-height: 1.85; }
.button, .wp-block-button__link, .wp-element-button { display: inline-flex; justify-content: center; align-items: center; gap: 9px; border-radius: 4px; min-height: 45px; padding: 12px 18px; font-family: var(--sans); font-weight: 600; font-size: 12px; line-height: 1.4; border: 1px solid var(--pine); background: var(--pine); color: #fffdf5; transition: background .2s, transform .2s, box-shadow .2s; }
.button:hover, .wp-block-button__link:hover { transform: translateY(-1px); background: #304f42; }
.button.secondary, .is-style-outline .wp-block-button__link { background: transparent; border-color: #cdd2c4; color: var(--pine); }
.button.secondary:hover { background: #eceee4; }
.timeline-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 25px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px 0; margin-bottom: 24px; }
.filters { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.filter { display: inline-flex; align-items: center; justify-content: center; font-size: 11px; letter-spacing: .02em; padding: 9px 15px; min-height: 36px; border-radius: 100px; background: transparent; color: #697164; white-space: nowrap; border: 0; transition: background .2s; }
.filter:hover { background: #ebede4; }
.filter.active, .filter[aria-current='page'], .filter[aria-pressed='true'] { background: var(--pine); color: var(--paper); }
.sort, .sort-form { display: flex; align-items: center; gap: 8px; margin: 0; }
.sort select, .sort-form select { background: transparent; border: 0; color: #697164; padding: 8px 19px 8px 0; font-size: 11px; cursor: pointer; }
.sort button, .sort-form button { min-height: 34px; padding: 7px 11px; background: transparent; color: var(--pine); border: 1px solid var(--line); border-radius: 4px; font-size: 10px; }
.has-js .sort-form.is-enhanced button[type='submit'], .has-js .sort form.is-enhanced button[type='submit'] { display: none; }
.sample-note { display: flex; align-items: flex-start; gap: 9px; color: #7c8773; font-size: 10px; line-height: 1.7; margin: 0 0 36px; }
.sample-note svg { margin-top: 2px; }
.sample-note p { margin: 0; }
.timeline { position: relative; }
.timeline:before { content: ''; position: absolute; top: 25px; bottom: 27px; left: 113px; width: 1px; background: #d5dacd; }
.timeline-entry { position: relative; display: grid; grid-template-columns: 80px 66px minmax(0,1fr); padding-bottom: 48px; }
.date-marker { text-align: center; padding-top: 22px; display: flex; flex-direction: column; align-items: center; }
.date-marker .month { text-transform: uppercase; font-size: 10px; letter-spacing: .18em; color: #7b8474; }
.date-marker strong, .date-marker .day { font-family: var(--serif); font-size: 44px; line-height: 1.2; font-weight: 400; letter-spacing: -.06em; margin: 2px 0; }
.date-marker .year { font-size: 10px; letter-spacing: .1em; color: #929789; }
.date-marker .sample-date { font-size: 9px; line-height: 1.6; color: #8b947f; letter-spacing: .08em; text-transform: uppercase; }
.timeline-dot { display: flex; justify-content: center; padding-top: 37px; }
.timeline-dot span { width: 9px; height: 9px; border: 2px solid var(--paper); outline: 1px solid #a2ae96; border-radius: 50%; background: #829174; z-index: 1; }
.memory { min-width: 0; background: var(--white); border: 1px solid #e1e3d8; border-radius: 8px; overflow: hidden; box-shadow: 0 6px 22px #22342503; transition: box-shadow .3s; }
.memory:hover { box-shadow: 0 8px 28px #2234250b; }
.memory-image-link, .memory-image-button { position: relative; display: block; width: 100%; padding: 0; background: #d7ded5; overflow: hidden; aspect-ratio: 1.95; }
.memory-image-link img, .memory-image-button img { width: 100%; height: 100%; object-fit: cover; object-position: center 52%; transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.memory-image-link:hover img, .memory-image-button:hover img { transform: scale(1.025); }
.image-zoom { position: absolute; bottom: 20px; right: 20px; background: #fffdf4e8; border-radius: 50%; width: 38px; height: 38px; display: grid; place-items: center; box-shadow: 0 3px 12px #0001; }
.photo-count { position: absolute; bottom: 20px; left: 20px; display: flex; align-items: center; gap: 7px; font-size: 10px; background: #20382ccd; color: white; padding: 7px 10px; border-radius: 4px; }
.memory-content { padding: 27px 32px 26px; }
.memory-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; line-height: 1.4; }
.category { display: inline-flex; font-size: 9px; font-weight: 600; letter-spacing: .045em; padding: 5px 9px; border-radius: 3px; background: #edf0e5; color: #627152; }
.sample-label { color: #8d9485; font-size: 8px; letter-spacing: .09em; }
.location { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; color: #828c78; margin-left: auto; }
.memory h2, .memory h3 { margin: 16px 0 13px; font-family: var(--serif); font-size: 31px; letter-spacing: -.035em; line-height: 1.15; font-weight: 400; }
.memory h2 a:hover, .memory h3 a:hover { color: #55705b; }
.excerpt { color: #747e6a; font-size: 12px; line-height: 1.85; max-width: 650px; margin: 0 0 19px; }
.excerpt p { margin: 0; }
.memory-actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.edit-memory { display: inline-flex; align-items: center; gap: 7px; color: #708066; font-size: 10px; padding: 8px 4px; }
.text-link, .text-button { display: inline-flex; align-items: center; gap: 12px; padding: 5px 0; border: 0; background: transparent; font-size: 11px; font-weight: 600; letter-spacing: .01em; }
.text-link svg, .text-button svg { transition: transform .2s; }
.text-link:hover svg, .text-button:hover svg { transform: translate(2px,-2px); }
.memory-no-image { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 42px 32px; background: #e9ecdf; color: #7c8a71; font-family: var(--serif); font-size: 24px; font-style: italic; }
.mobile-date { display: none; }
.timeline-end { display: grid; grid-template-columns: 80px 66px minmax(0,1fr); align-items: center; min-height: 45px; }
.timeline-end > span { grid-column: 2; justify-self: center; width: 7px; height: 7px; background: #c0c8b6; border-radius: 50%; outline: 8px solid var(--paper); z-index: 1; }
.timeline-end p { grid-column: 3; color: #909885; font-size: 11px; margin: 0; font-style: italic; }
.empty-state { display: flex; align-items: center; flex-direction: column; text-align: center; padding: 65px 20px 80px; gap: 12px; }
.empty-state h2, .empty-state h3 { font-family: var(--serif); font-size: 30px; font-weight: 400; letter-spacing: -.03em; margin: 5px 0; }
.empty-state p { color: var(--muted); line-height: 1.7; font-size: 13px; margin: 0 0 8px; max-width: 440px; }
.closing { padding: 65px 20px 74px; text-align: center; background: #eeefe6; border-top: 1px solid #e1e3d8; }
.closing-star { display: inline-block; color: #9b865f; font-size: 31px; line-height: 1; margin-bottom: 18px; }
.closing p { font-family: var(--serif); font-size: 44px; font-weight: 400; line-height: 1.12; letter-spacing: -.04em; margin: 0 0 24px; }
.site-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 25px; padding: 32px 5.1%; border-top: 1px solid #e1e3d8; }
.site-footer .site-brand, .site-footer .wordmark { font-size: 30px; }
.site-footer > span, .footer-note { color: #849079; font-size: 10px; letter-spacing: .05em; margin: 0; }
.footer-links { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.back-top, .owner-link, .footer-links a { font-size: 10px; color: #697660; display: inline-flex; align-items: center; gap: 7px; }
/* Archive and individual story pages. */
.page-header { max-width: 1090px; margin: 0 auto; padding: 75px 40px 20px; }
.page-header h1, .page-title { font-family: var(--serif); font-weight: 400; font-size: clamp(38px,5vw,62px); letter-spacing: -.045em; line-height: 1.1; margin: 0 0 20px; }
.page-header p, .archive-description { max-width: 680px; color: var(--muted); font-size: 14px; line-height: 1.9; }
.archive .journal-section, .search .journal-section { padding-top: 35px; }
.single-post-wrap { max-width: 1100px; margin: 0 auto; padding: 64px 40px 80px; }
.entry-header { max-width: 780px; margin: 0 auto 35px; }
.entry-header .eyebrow { color: #6d7e62; margin-bottom: 20px; }
.entry-title { font-family: var(--serif); font-size: clamp(38px,5vw,64px); line-height: 1.1; font-weight: 400; letter-spacing: -.045em; margin: 18px 0 23px; }
.entry-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; color: #7c8972; font-size: 11px; line-height: 1.6; }
.entry-meta .location { margin-left: 0; }
.entry-edit { max-width: 740px; margin: 28px auto 0; }
.entry-meta a { text-decoration: underline; text-underline-offset: 3px; }
.entry-hero, .post-thumbnail, .featured-image { margin: 35px auto 48px; overflow: hidden; border-radius: 7px; }
.entry-hero img, .post-thumbnail img, .featured-image img { width: 100%; height: auto; }
.entry-content { max-width: 740px; margin: 0 auto; font-size: 16px; line-height: 1.95; color: #5f6d58; }
.entry-content:after { display: table; content: ''; clear: both; }
.entry-content > * { margin-top: 0; margin-bottom: 1.65em; }
.entry-content p { white-space: normal; }
.entry-content a:not(.wp-block-button__link) { color: var(--pine); text-decoration: underline; text-decoration-color: #a7b594; text-underline-offset: 4px; }
.entry-content a:hover { text-decoration-color: var(--burgundy); }
.entry-content h2, .entry-content h3, .entry-content h4 { color: var(--pine); font-family: var(--serif); font-weight: 400; line-height: 1.22; letter-spacing: -.03em; margin-top: 1.5em; margin-bottom: .7em; }
.entry-content h2 { font-size: 36px; }
.entry-content h3 { font-size: 29px; }
.entry-content h4 { font-size: 24px; }
.entry-content ul, .entry-content ol { padding-left: 1.5em; }
.entry-content li { margin-bottom: .45em; }
.entry-content blockquote, .wp-block-quote { margin: 35px 0; padding: 16px 0 16px 28px; border-left: 2px solid #a5b096; font-family: var(--serif); color: #506349; font-size: 25px; font-style: italic; line-height: 1.65; }
.entry-content blockquote p { margin: 0 0 .7em; }
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content cite { display: block; margin-top: 13px; font: normal 11px var(--sans); color: #859478; }
.entry-content hr, .wp-block-separator { border: 0; border-top: 1px solid var(--line); margin: 40px auto; }
.entry-content pre { overflow: auto; padding: 20px; background: #ecefe3; border-radius: 5px; font-size: 13px; line-height: 1.7; }
.entry-content code { font-size: .9em; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: 13px; }
.entry-content th, .entry-content td { padding: 12px; border: 1px solid var(--line); text-align: left; }
.entry-content iframe, .entry-content video { max-width: 100%; }
.entry-content iframe { border: 0; }
.entry-content .wp-block-embed__wrapper { overflow: hidden; }
.entry-content .wp-block-embed.is-type-video iframe { width: 100%; height: auto; aspect-ratio: 16/9; }
.entry-content .alignwide { max-width: min(1000px,calc(100vw - 80px)); width: min(1000px,calc(100vw - 80px)); margin-left: 50%; transform: translateX(-50%); }
.entry-content .alignfull { max-width: min(1100px,calc(100vw - 40px)); width: min(1100px,calc(100vw - 40px)); margin-left: 50%; transform: translateX(-50%); }
.entry-content .alignleft { float: left; margin: 8px 26px 20px 0; max-width: 48%; }
.entry-content .alignright { float: right; margin: 8px 0 20px 26px; max-width: 48%; }
.entry-content .aligncenter { margin-left: auto; margin-right: auto; text-align: center; }
.entry-content .wp-block-image, .entry-content .wp-caption { max-width: 100%; }
.entry-content .wp-block-image img, .entry-content .wp-caption img { border-radius: 5px; height: auto; }
.entry-content .wp-block-image a { display: inline-block; max-width: 100%; }
.entry-content figcaption, .wp-caption-text, .gallery-caption { font-size: 11px; line-height: 1.6; text-align: center; color: #849078; margin: 10px 0 0; }
.entry-content .wp-block-gallery { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 32px; margin-bottom: 32px; }
.entry-content .wp-block-gallery > .wp-block-image { flex: 1 1 calc(50% - 16px); min-width: 0; margin: 0; }
.entry-content .wp-block-gallery.columns-1 > .wp-block-image { flex-basis: 100%; }
.entry-content .wp-block-gallery.columns-3 > .wp-block-image { flex-basis: calc(33.333% - 16px); }
.entry-content .wp-block-gallery > .wp-block-image img { width: 100%; height: auto; }
.entry-content .wp-block-gallery.is-cropped > .wp-block-image img { aspect-ratio: 1.25; object-fit: cover; width: 100%; height: 100%; }
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { background: linear-gradient(transparent,#173022ab); color: white; padding: 20px 10px 10px; border-radius: 0 0 5px 5px; }
.entry-content .gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 32px 0; }
.entry-content .gallery.gallery-columns-1 { grid-template-columns: 1fr; }
.entry-content .gallery.gallery-columns-3, .entry-content .gallery.gallery-columns-4 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.entry-content .gallery-item { margin: 0; min-width: 0; }
.entry-content .gallery img { width: 100%; height: auto; border-radius: 5px; }
.entry-content .gallery br { display: none; }
.post-navigation { max-width: 740px; margin: 55px auto 0; padding-top: 25px; border-top: 1px solid var(--line); }
.post-navigation .nav-links { display: flex; justify-content: space-between; gap: 35px; }
.post-navigation .nav-previous, .post-navigation .nav-next { flex: 1; min-width: 0; }
.post-navigation .nav-next { text-align: right; }
.post-navigation a { font-size: 13px; line-height: 1.7; }
.post-navigation .nav-subtitle { display: block; font-size: 9px; color: #849079; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 7px; }
.pagination { margin: 25px auto 0; text-align: center; }
.pagination .nav-links, .pagination ul.page-numbers { display: flex; gap: 7px; justify-content: center; align-items: center; flex-wrap: wrap; }
.pagination ul.page-numbers { list-style: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; min-width: 0; min-height: 0; }
.pagination ul.page-numbers > li { display: block; list-style: none; margin: 0; padding: 0; }
a.page-numbers, span.page-numbers, .post-page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; min-height: 38px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 4px; font-size: 11px; }
span.page-numbers.current, .post-page-numbers.current { background: var(--pine); color: white; border-color: var(--pine); }
span.page-numbers.dots { border-color: transparent; color: var(--muted); }
a.page-numbers:hover { background: #e7ecdf; }
.page-links { margin: 30px 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.search-form { display: flex; gap: 10px; flex-wrap: wrap; max-width: 620px; }
.search-form label { flex: 1; min-width: 180px; }
.search-field, .comment-form input:not([type=checkbox]), .comment-form textarea, .post-password-form input[type=password] { width: 100%; border: 1px solid #d8dece; border-radius: 5px; padding: 12px 13px; background: var(--white); color: var(--pine); font: inherit; min-height: 45px; }
.search-submit, .comment-form .submit, .post-password-form input[type=submit] { border: 1px solid var(--pine); border-radius: 4px; background: var(--pine); color: var(--paper); padding: 12px 18px; font-size: 12px; cursor: pointer; }
.comments-area { max-width: 740px; margin: 55px auto 0; border-top: 1px solid var(--line); padding-top: 30px; }
.comments-title, .comment-reply-title { font-family: var(--serif); font-weight: 400; font-size: 30px; line-height: 1.2; }
.comment-list { list-style: none; padding: 0; }
.comment-list .children { list-style: none; padding-left: 28px; }
.comment-body { margin-bottom: 30px; padding-bottom: 24px; border-bottom: 1px solid var(--line); font-size: 13px; }
.comment-meta { color: #849079; font-size: 11px; }
.comment-author .avatar { border-radius: 50%; display: inline-block; margin-right: 10px; }
.comment-form p { margin: 16px 0; }
.comment-form label { display: block; font-size: 12px; margin-bottom: 8px; }
.comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 8px; }
.comment-form-cookies-consent label { display: inline; }
.comment-form textarea { min-height: 150px; resize: vertical; }
.comment-form .submit { width: auto !important; }
@media (min-width: 1600px) {
  .hero-content { left: 10%; }
  .hero h1 { font-size: 116px; }
  .journal-section { max-width: 1240px; }
}
@media (max-width: 1050px) {
  .hero-content { left: 6%; max-width: 460px; }
  .hero h1 { font-size: 80px; }
  .hero-image { object-position: 60% center; }
  .hero-shade { background: linear-gradient(90deg,#0e201ece,rgba(17,35,33,.52) 35%,transparent 70%),linear-gradient(0deg,#0e1e1b70,transparent 25%,transparent 80%,#0a15152b); }
  .journal-section { padding: 80px 30px; }
  .journal-intro h2 { font-size: 49px; }
  .intro-aside { min-width: 0; }
  .timeline-entry, .timeline-end { grid-template-columns: 65px 43px minmax(0,1fr); }
  .timeline:before { left: 86px; }
  .memory-content { padding: 25px; }
  .memory h2, .memory h3 { font-size: 28px; }
  .location { margin-left: 0; }
  .memory-meta { gap: 10px; }
  .site-header { padding: 0 5%; }
  .site-nav { gap: 25px; }
  .site-nav ul { gap: 25px; }
  .sample-note { font-size: 9px; }
}
@media (max-width: 782px) {
  .admin-bar.home .site-header, .admin-bar.has-hero .site-header { top: 46px; }
}
@media (max-width: 740px) {
  .site-header, .header { min-height: 84px; padding: 0 24px; gap: 18px; }
  .site-nav, .site-nav ul { gap: 22px; font-size: 11px; }
  .site-brand, .wordmark { font-size: 32px; }
  .header-cta, .header-add { font-size: 11px; padding: 11px 13px; }
  .hero { height: 92svh; min-height: 650px; max-height: 870px; }
  .hero-image { object-position: 57% center; }
  .hero-content { left: 30px; right: 30px; top: auto; bottom: 86px; transform: none; max-width: 460px; }
  .hero h1 { font-size: 74px; line-height: .98; letter-spacing: -.055em; margin-bottom: 20px; }
  .hero-shade { background: linear-gradient(0deg,#14271ff0,rgba(14,32,28,.81) 23%,rgba(14,32,28,.25) 49%,transparent 70%,#0b181c40),linear-gradient(90deg,#18352a15,transparent 60%); }
  .hero .eyebrow { font-size: 9px; margin-bottom: 19px; }
  .hero-intro { font-size: 13px; margin-bottom: 25px; line-height: 1.7; }
  .hero-button { padding: 14px 20px; gap: 35px; font-size: 11px; }
  .hero-bottom { left: 30px; right: 30px; bottom: 23px; font-size: 7px; letter-spacing: .12em; }
  .scene-caption { font-size: 8px; gap: 5px; }
  .scene-caption svg { width: 12px; }
  .journal-section { padding: 66px 25px; }
  .journal-intro { display: block; margin-bottom: 30px; }
  .journal-intro h2 { font-size: 47px; }
  .journal-intro .eyebrow { font-size: 9px; margin-bottom: 14px; }
  .intro-aside { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 24px; }
  .intro-aside p { font-size: 11px; line-height: 1.75; margin: 0; }
  .intro-aside br { display: contents; }
  .intro-aside br:after { content: ' '; }
  .intro-aside .button { flex: 0 0 auto; min-height: 40px; font-size: 10px; padding: 10px 13px; gap: 6px; }
  .timeline-toolbar { padding: 14px 0; gap: 10px; align-items: flex-start; }
  .filters { gap: 2px; }
  .filter { font-size: 10px; padding: 9px 11px; min-height: 34px; }
  .sort select, .sort-form select { font-size: 10px; max-width: 105px; padding-right: 5px; padding-top: 11px; }
  .sample-note { margin-bottom: 27px; }
  .timeline-entry, .timeline-end { grid-template-columns: 45px 25px minmax(0,1fr); }
  .timeline-entry { padding-bottom: 30px; }
  .timeline:before { left: 57px; }
  .date-marker { padding-top: 16px; }
  .date-marker strong, .date-marker .day { font-size: 32px; }
  .date-marker .month, .date-marker .year { font-size: 8px; }
  .date-marker .sample-date { font-size: 7px; }
  .timeline-dot { padding-top: 28px; }
  .timeline-dot span { width: 7px; height: 7px; }
  .memory { border-radius: 5px; }
  .memory-image-link, .memory-image-button { aspect-ratio: 1.45; }
  .memory-image-link img, .memory-image-button img { object-position: 57% center; }
  .image-zoom { width: 29px; height: 29px; right: 11px; bottom: 11px; }
  .image-zoom svg { width: 17px; }
  .photo-count { left: 10px; bottom: 10px; font-size: 8px; gap: 4px; padding: 5px 7px; }
  .memory-content { padding: 20px 19px; }
  .memory h2, .memory h3 { font-size: 25px; line-height: 1.16; margin: 13px 0 12px; }
  .memory-meta { gap: 7px; }
  .category { font-size: 8px; padding: 4px 7px; }
  .sample-label { font-size: 6px; letter-spacing: .04em; }
  .location { font-size: 9px; width: 100%; margin-top: 2px; }
  .excerpt { font-size: 11px; line-height: 1.8; margin-bottom: 14px; }
  .memory-actions { gap: 14px; }
  .text-link, .text-button { font-size: 10px; gap: 8px; min-height: 35px; }
  .timeline-end p { font-size: 9px; }
  .timeline-end > span { width: 5px; height: 5px; }
  .closing { padding: 50px 20px 55px; }
  .closing p { font-size: 37px; }
  .closing-star { font-size: 27px; }
  .site-footer { padding: 27px 25px; gap: 15px; }
  .site-footer .site-brand, .site-footer .wordmark { font-size: 27px; }
  .site-footer > span, .footer-note { font-size: 9px; }
  .back-top, .owner-link, .footer-links a { font-size: 9px; gap: 4px; }
  .page-header { padding: 48px 25px 15px; }
  .page-header h1 { font-size: 42px; }
  .single-post-wrap { padding: 43px 25px 55px; }
  .entry-header { margin-bottom: 25px; }
  .entry-title { font-size: 40px; margin: 14px 0 20px; }
  .entry-meta { font-size: 10px; gap: 10px; }
  .entry-hero, .post-thumbnail, .featured-image { margin: 25px auto 32px; border-radius: 5px; }
  .entry-content { font-size: 15px; line-height: 1.9; }
  .entry-content h2 { font-size: 31px; }
  .entry-content h3 { font-size: 26px; }
  .entry-content h4 { font-size: 22px; }
  .entry-content blockquote { padding-left: 22px; font-size: 23px; }
  .entry-content .alignwide, .entry-content .alignfull { max-width: calc(100vw - 50px); width: calc(100vw - 50px); }
  .entry-content .wp-block-gallery { gap: 10px; }
  .entry-content .wp-block-gallery > .wp-block-image, .entry-content .wp-block-gallery.columns-3 > .wp-block-image { flex-basis: calc(50% - 10px); }
  .entry-content .wp-block-gallery.columns-1 > .wp-block-image { flex-basis: 100%; }
  .entry-content .gallery.gallery-columns-3, .entry-content .gallery.gallery-columns-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .entry-content .gallery { gap: 10px; }
  .post-navigation { margin-top: 38px; }
  .post-navigation .nav-links { gap: 22px; }
  .post-navigation a { font-size: 12px; }
}
@media (max-width: 700px) {
  .site-header { flex-wrap: wrap; padding-top: 20px; padding-bottom: 20px; }
  .site-nav { order: 5; flex: 1 0 100%; margin: 0; justify-content: center; }
  .site-nav ul { justify-content: center; }
  .header-cta { margin-left: auto; }
  .site-header.has-mobile-menu { flex-wrap: nowrap; }
  .site-header.has-mobile-menu .menu-toggle { display: inline-flex; align-items: center; justify-content: center; background: transparent; color: inherit; border: 1px solid currentColor; border-radius: 4px; padding: 8px 10px; min-width: 39px; min-height: 39px; gap: 7px; font-size: 11px; }
  .site-header.has-mobile-menu .site-nav { display: none; }
  .site-header.has-mobile-menu.menu-open .site-nav { display: flex; position: absolute; top: calc(100% - 1px); left: 16px; right: 16px; padding: 16px 22px; border: 1px solid #dce2d0; border-radius: 6px; background: var(--paper); color: var(--pine); box-shadow: 0 12px 35px #10261e2b; }
  .site-header.has-mobile-menu.menu-open .site-nav ul { flex-direction: column; align-items: stretch; gap: 2px; width: 100%; }
  .site-header.has-mobile-menu.menu-open .site-nav a { display: block; padding: 11px 8px; }
}
@media (max-width: 440px) {
  .site-header, .header { padding-left: 20px; padding-right: 20px; gap: 12px; }
  .header-cta, .header-add { padding: 10px 12px; font-size: 10px; }
  .hero { min-height: 660px; max-height: 790px; }
  .hero-content { left: 26px; right: 26px; bottom: 88px; }
  .hero h1 { font-size: 63px; }
  .hero .eyebrow { font-size: 8px; }
  .hero-intro { font-size: 12px; }
  .hero-bottom { left: 26px; right: 26px; gap: 15px; }
  .hero-bottom > span:first-child { max-width: 140px; line-height: 1.6; }
  .scene-caption { max-width: 120px; text-align: right; justify-content: flex-end; font-size: 7px; }
  .journal-section { padding: 56px 18px; }
  .journal-intro { padding: 0 5px; }
  .journal-intro h2 { font-size: 43px; }
  .intro-aside { display: block; margin-top: 20px; }
  .intro-aside p { font-size: 12px; max-width: 280px; margin-bottom: 18px; }
  .intro-aside .button { font-size: 11px; min-height: 42px; }
  .timeline-toolbar { flex-wrap: wrap; align-items: center; gap: 5px; }
  .filters { flex: 1 0 100%; gap: 4px; }
  .sort, .sort-form { margin-left: auto; }
  .sort select, .sort-form select { padding-top: 7px; }
  .timeline-entry, .timeline-end { grid-template-columns: 35px 20px minmax(0,1fr); }
  .timeline:before { left: 44px; }
  .date-marker strong, .date-marker .day { font-size: 29px; }
  .date-marker .month, .date-marker .year { font-size: 7px; }
  .timeline-dot span { width: 6px; height: 6px; }
  .memory-content { padding: 17px 16px; }
  .memory h2, .memory h3 { font-size: 24px; }
  .memory-image-link, .memory-image-button { aspect-ratio: 1.37; }
  .sample-note { font-size: 9px; line-height: 1.7; }
  .sample-note svg { width: 14px; }
  .filter { font-size: 10px; padding: 8px 12px; }
  .memory-no-image { padding: 28px 16px; font-size: 19px; }
  .site-footer { padding: 25px 22px; }
  .site-footer > span { display: none; }
  .footer-links { gap: 13px; }
  .closing p { font-size: 34px; }
  .page-header { padding-left: 23px; padding-right: 23px; }
  .single-post-wrap { padding: 35px 23px 50px; }
  .entry-title { font-size: 35px; }
  .entry-content { font-size: 14px; }
  .entry-content .alignwide, .entry-content .alignfull { max-width: calc(100vw - 46px); width: calc(100vw - 46px); }
  .entry-content .alignleft, .entry-content .alignright { float: none; margin: 24px 0; max-width: 100%; }
  .entry-content figcaption { font-size: 10px; }
  .post-navigation .nav-links { flex-direction: column; gap: 20px; }
  .post-navigation .nav-next { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
