/* Personal journal: the same light theme, green identity and Facebook blue. */
.personal-home .hero { gap: 70px; padding-block: 46px 50px; }
.personal-home .hero-visual { max-width: 430px; width: 100%; justify-self: end; }
.personal-home .hero-photo { aspect-ratio: 9 / 10; }
.personal-home .hero-photo img { object-position: center 46%; }
.personal-home .hero-lead { max-width: 42ch; }
.personal-home .story-image { max-width: 470px; aspect-ratio: 4 / 3; }
.personal-home .story-grid { grid-template-columns: 1fr 1.1fr; gap: 65px; }
.home-journal { padding-block: 75px 85px; border-top: 1px solid var(--line); }
.home-journal .section-heading .text-link { margin-top: 14px; }
.journal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 45px 30px; }
.journal-card { min-width: 0; }
.journal-cover { display: block; overflow: hidden; border-radius: 14px; aspect-ratio: 4 / 3; background: var(--soft); }
.journal-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.journal-card-meta { display: flex; flex-wrap: wrap; gap: 12px; font-size: 11px; color: var(--muted); margin-top: 18px; }
.journal-card-meta > span:first-child { color: var(--brand); font-weight: 700; }
.journal-card h3 { font-size: 23px; margin-top: 10px; }
.journal-card h3 a:hover { color: var(--brand); }
.journal-card > p { margin-top: 13px; color: var(--muted); font-size: 13px; }
.journal-card .text-link { margin-top: 13px; }
.journal-intro { padding-block: 38px 40px; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 11px; color: var(--muted); margin-bottom: 32px; }
.breadcrumbs a { min-height: 34px; display: inline-flex; align-items: center; }
.breadcrumbs a:hover { color: var(--brand); text-decoration: underline; }
.journal-intro h1 { max-width: 24ch; font-size: clamp(38px,4.4vw,60px); }
.journal-intro > p { max-width: 61ch; color: var(--muted); margin-top: 25px; }
.journal-tools { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 25px; align-items: center; margin-top: 38px; padding-block: 23px; border-block: 1px solid var(--line); }
.category-links { display: flex; flex-wrap: wrap; gap: 7px 22px; }
.category-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; font-weight: 700; border-bottom: 2px solid transparent; }
.category-links a[aria-current] { color: var(--brand); border-color: var(--brand); }
.journal-search { display: flex; align-items: center; gap: 8px; }
.journal-search input { width: 250px; min-height: 45px; padding: 10px 13px; border: 1px solid #bbcbbf; border-radius: 9px; font: inherit; font-size: 12px; color: var(--ink); background: white; }
.journal-search input::placeholder { color: var(--muted); }
.journal-search button { min-height: 45px; padding-inline: 18px; border: 0; border-radius: 9px; background: var(--brand); color: white; font-size: 12px; font-weight: 700; }
.journal-list { padding-bottom: 75px; }
.article-layout { max-width: 1040px; padding-block: 35px 0; }
.article-header { max-width: 810px; margin: 0 auto 35px; }
.article-header h1 { font-size: clamp(33px,4.1vw,54px); line-height: 1.2; }
.article-category { font-size: 12px; font-weight: 700; color: var(--brand); margin-bottom: 14px; }
.article-excerpt { margin-top: 23px; color: var(--muted); font-size: 17px; }
.article-byline { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 22px; font-size: 11px; color: var(--muted); }
.article-byline a { color: var(--brand); font-weight: 700; }
.article-cover { margin: 0 auto 42px; width: fit-content; max-width: 100%; }
.article-cover img { width: auto; max-width: 100%; max-height: 650px; height: auto; border-radius: 14px; object-fit: contain; }
.article-cover figcaption { font-size: 11px; color: var(--muted); margin-top: 12px; }
.article-body { max-width: 740px; margin-inline: auto; font-size: 16px; color: #314a3d; line-height: 1.95; overflow-wrap: anywhere; }
.article-body p + p { margin-top: 22px; }
.article-body h2 { font-size: 28px; max-width: none; margin-top: 35px; margin-bottom: 14px; }
.article-body ul { padding-left: 24px; margin-block: 22px; }
.article-gallery { max-width: 740px; margin: 35px auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.article-gallery figure { align-self: start; }
.article-gallery figure img { height: auto; }
.article-photo > p { font-size: 12px; color: var(--muted); margin-top: 10px; }
.article-share { max-width: 740px; margin: 35px auto 0; display: flex; flex-wrap: wrap; align-items: center; gap: 15px; }
.article-share [role=status] { font-size: 12px; color: var(--muted); }
.article-facebook { width: var(--shell); max-width: 1200px; margin: 65px auto; border-radius: 16px; padding: 35px; background: #f2f7ff; border: 1px solid #dce8f8; display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.article-facebook .facebook-wordmark { color: var(--facebook); margin-bottom: 15px; }
.article-facebook h2 { font-size: 29px; max-width: 30ch; }
.article-facebook p { font-size: 13px; color: var(--muted); max-width: 60ch; margin-top: 13px; }
.article-facebook .button { flex-shrink: 0; }
.related-posts { margin-block: 65px; }
.related-posts > h2 { font-size: 34px; max-width: none; margin-bottom: 30px; }
.about-layout { padding-block: 36px 0; }
.about-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 65px; align-items: start; }
.about-grid .article-body { margin-top: 30px; font-size: 15px; }
.about-grid .text-link { margin-top: 25px; }
.about-photo { max-width: 420px; justify-self: end; }
.about-photo img { height: auto; }
.photo-library { columns: 3; column-gap: 30px; padding-bottom: 20px; }
.library-item { break-inside: avoid; margin-bottom: 28px; }
.library-item img { height: auto; }
.library-item > p { font-size: 13px; font-weight: 700; padding-top: 11px; }
.empty-state { grid-column: 1/-1; padding-block: 65px; }
.empty-state p { color: var(--muted); margin-block: 20px; }
.pagination-links { display: flex; gap: 10px; margin-top: 40px; }
.pagination-links a { display: grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; }
.pagination-links a[aria-current] { background: var(--brand); color: white; }
.preview-banner { margin-bottom: 25px; padding: 15px; background: #fff5d7; border: 1px solid #dfc677; border-radius: 9px; }
.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 (hover:hover) { .journal-cover:hover img { transform: scale(1.02); } }
@media(max-width:980px) {
  .personal-home .hero { gap: 35px; }
  .personal-home .hero-visual { max-width: none; }
  .journal-grid { gap: 35px 23px; }
  .journal-card h3 { font-size: 20px; }
  .about-grid { gap: 35px; }
  .article-facebook { align-items: flex-start; flex-direction: column; gap: 23px; }
  .photo-library { columns: 2; }
}
@media(max-width:720px) {
  .personal-home .hero { padding-block: 35px; }
  .personal-home .hero-visual { max-width: 420px; justify-self: start; }
  .personal-home .hero-photo { aspect-ratio: 4 / 5; }
  .personal-home .hero-profile { flex-wrap: nowrap; }
  .personal-home .story-grid { grid-template-columns: 1fr; gap: 28px; }
  .home-journal { padding-block: 52px; }
  .journal-grid { grid-template-columns: 1fr 1fr; gap: 35px 20px; }
  .journal-card-meta { font-size: 10px; gap: 8px; margin-top: 13px; }
  .journal-card h3 { font-size: 21px; }
  .journal-intro { padding-block: 22px 30px; }
  .journal-intro h1 { font-size: 35px; }
  .journal-intro > p { font-size: 14px; margin-top: 20px; }
  .breadcrumbs { margin-bottom: 22px; font-size: 10px; }
  .journal-tools { gap: 17px; margin-top: 27px; }
  .category-links { gap: 5px 16px; }
  .category-links a { font-size: 12px; }
  .journal-search { width: 100%; }
  .journal-search input { width: 0; flex: 1; }
  .article-layout { padding-top: 22px; }
  .article-header h1 { font-size: 33px; }
  .article-excerpt { font-size: 15px; margin-top: 18px; }
  .article-byline { gap: 15px; }
  .article-cover { margin-bottom: 30px; }
  .article-body { font-size: 15px; }
  .article-body h2 { font-size: 25px; }
  .article-facebook { padding: 25px; margin-block: 45px; }
  .article-facebook h2 { font-size: 26px; }
  .article-facebook .button { width: 100%; white-space: normal; }
  .related-posts { margin-block: 45px; }
  .related-posts > h2 { font-size: 29px; }
  .about-layout { padding-top: 22px; }
  .about-grid { grid-template-columns: 1fr; gap: 30px; }
  .about-photo { width: 75%; justify-self: start; }
  .photo-library { column-gap: 20px; }
}
@media(max-width:440px) {
  .journal-grid { grid-template-columns: 1fr; }
  .journal-cover { aspect-ratio: 4 / 3; }
  .journal-card h3 { font-size: 24px; }
  .photo-library { columns: 1; }
  .article-gallery { grid-template-columns: 1fr; }
  .personal-home .hero-actions .button { white-space: normal; }
}
@media(prefers-reduced-motion:reduce) { .journal-cover:hover img { transform: none; } }
 .journal-page h1, .journal-page h2, .journal-page h3, .personal-home h1 { overflow-wrap: anywhere; }
