/* Shared journal styles. The homepage keeps its existing layout and typography. */
.journal-eyebrow,.journal-category{font-size:10px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:#98744f}
.journal-eyebrow{margin:0 0 18px}
.journal-category{margin:0 0 14px}
.journal-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:35px}
.journal-section-heading h2{font:500 clamp(34px,4.5vw,56px)/1.12 var(--serif);letter-spacing:-1.1px;margin:0 0 16px}
.journal-section-heading p:last-child{font-size:13px;color:var(--muted);max-width:500px}
.journal-read{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #bda68d;padding:0 0 7px;font-size:12px;font-weight:500;line-height:1.6}
.journal-read:hover{color:#936546;border-color:currentColor}
.journal-section-heading>.journal-read{flex:none}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.journal-card{min-width:0}
.journal-card-image{display:flex;aspect-ratio:3/4;width:100%;overflow:hidden;background:#eee4d8}
.journal-card-image img{width:100%;height:100%;object-fit:contain;transition:transform .45s}
.journal-card-image:hover img{transform:scale(1.025)}
.journal-card-image.journal-pair img{width:50%;object-fit:contain}
.journal-card-copy{padding:25px 0 0}
.journal-card :is(h2,h3){font:500 clamp(25px,2.6vw,34px)/1.15 var(--serif);letter-spacing:-.5px;margin:0 0 15px}
.journal-card :is(h2,h3) a{display:block}
.journal-card :is(h2,h3) a:hover{color:#936546}
.journal-excerpt{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 22px}
.journal-card .journal-read{font-size:11px}
.journal-home{background:#f3ece3}
.journal-home .journal-section-heading h2{max-width:580px}
.journal-home .journal-card-image{max-height:400px}
/* The journal has its own opaque, in-flow masthead. */
.blog-page{background:var(--cream);color:var(--ink)}
.blog-page .journal-header{position:relative;inset:auto;background:var(--cream);border-bottom:1px solid var(--line);height:104px}
.blog-page .journal-mobile-nav{position:absolute;top:104px;z-index:40}
.journal-languages{display:flex;gap:5px;align-items:center;white-space:nowrap}
.journal-languages a{font-size:12px;padding:10px 12px;line-height:1.6;border:1px solid transparent}
.journal-languages a[aria-current="page"]{border-color:#c8b49d;background:#f1e9df}
.journal-languages a:hover{border-color:#c8b49d}
.blog-page a:focus-visible,.blog-page button:focus-visible,.journal-home a:focus-visible{outline:2px solid #8a5d38;outline-offset:5px}
.journal-index-heading{max-width:1440px;margin:auto;padding:78px 6.3% 0}
.journal-index-heading h1{font:400 clamp(62px,7.2vw,98px)/1.02 var(--serif);letter-spacing:-2.8px;max-width:940px;margin:25px 0 28px}
.journal-index-heading>p:not(.journal-eyebrow){max-width:510px;color:var(--muted);font-size:15px;line-height:1.9}
.journal-index-meta{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);margin-top:55px;padding:0 0 18px;color:#9b8169;font-size:9px;letter-spacing:1.7px}
.journal-index-stories{max-width:1440px;margin:auto;padding:38px 6.3% 100px}
.journal-index-stories .journal-card-image{max-height:470px}
.journal-breadcrumb{max-width:1140px;margin:auto;padding:30px 6.3% 0;display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:11px;line-height:1.8}
.journal-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.journal-article{padding:0 24px}
.journal-article-heading{max-width:860px;text-align:center;margin:55px auto 38px}
.journal-article-heading h1{font:400 clamp(39px,4.7vw,65px)/1.09 var(--serif);letter-spacing:-1.2px;margin:20px 0 28px}
.journal-byline{display:flex;justify-content:center;flex-wrap:wrap;column-gap:24px;row-gap:8px;font-size:11px;color:var(--muted);line-height:1.8}
.journal-byline a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.journal-hero{max-width:760px;margin:0 auto 50px;display:flex;flex-wrap:wrap;justify-content:center;background:#eee5d9}
.journal-hero>img{height:450px;width:100%;object-fit:contain}
.journal-hero.journal-pair>img{width:50%;height:auto;aspect-ratio:3/4;object-fit:contain}
.journal-hero figcaption{width:100%;background:var(--cream);padding:12px 0 0;text-align:right;color:var(--muted);font-size:10px;line-height:1.9}
.journal-hero figcaption a{text-decoration:underline;text-underline-offset:3px}
.journal-body{max-width:660px;margin:auto;font-size:17px;line-height:1.85;color:#5b4b40;overflow-wrap:anywhere}
.journal-body p{margin:0 0 22px}
.journal-lead{font-size:19px;line-height:1.8;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:34px}
.journal-body h2{font:500 clamp(27px,3vw,35px)/1.2 var(--serif);letter-spacing:-.3px;color:var(--ink);margin:35px 0 18px}
.routine-steps{list-style:none;counter-reset:routine;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:20px 0 25px}
.routine-steps li{counter-increment:routine;display:flex;gap:7px;align-items:center;padding:8px 11px;border:1px solid #d7c6b2;background:#f3ece3;font-size:12px;line-height:1.7}
.routine-steps li::before{content:counter(routine,decimal-leading-zero);color:#947451;font-size:10px}
.journal-closing{margin:35px 0!important;padding:23px 25px;background:#f2e9df;border-left:2px solid #b79169;font-family:var(--serif);font-size:25px;line-height:1.4;color:var(--ink)}
.journal-closing span{white-space:nowrap;color:#9d775c}
.journal-sources{border-top:1px solid var(--line);padding-top:20px;margin-top:40px}
.journal-sources h2{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.7px;margin:0 0 12px}
.journal-sources ul{margin:0;padding-left:18px}
.journal-sources li{font-size:11px;line-height:1.9;margin-bottom:8px;color:var(--muted)}
.journal-sources a{text-decoration:underline;text-underline-offset:3px}
.journal-products{max-width:760px;margin:65px auto 0;padding:38px 40px;background:#f0e7dc;text-align:center}
.journal-products h2{font:500 34px/1.2 var(--serif);margin:0 0 14px}
.journal-products>p:not(.journal-eyebrow){font-size:13px;line-height:1.9;color:var(--muted);max-width:520px;margin:0 auto 23px}
.journal-product-list{text-align:left;margin:20px 0 30px}
.journal-product{display:grid;grid-template-columns:110px 1fr 20px;align-items:center;gap:15px;border-top:1px solid #d6c5b1;padding:15px 0}
.journal-product:last-child{border-bottom:1px solid #d6c5b1}
.journal-product>span:first-child{font-size:10px;color:var(--muted)}
.journal-product strong{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.3}
.journal-product:hover strong{color:#936546}
.journal-products .button{font-size:12px;padding:17px 24px;min-height:48px}
.journal-related{max-width:1140px;margin:0 auto;padding:80px 6.3% 90px}
.journal-related .journal-section-heading h2{font-size:38px}
.journal-related .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.journal-related .journal-card-image{max-height:340px}
.blog-page .journal-footer{margin-top:0}
.blog-page .footer-top>p{font-size:23px;line-height:1.5;max-width:360px}
.journal-not-found{max-width:760px;margin:70px auto;padding:40px 24px 80px}
.journal-not-found h1{font:400 64px/1.1 var(--serif);margin:20px 0}
.journal-not-found p{line-height:1.9;margin-bottom:25px}
.journal-not-found .journal-read{margin-left:25px}
/* Khmer needs generous line-height and must never inherit Latin tracking. */
html[lang="km"] .journal-eyebrow,html[lang="km"] .journal-category{letter-spacing:0;font:500 13px/1.8 'Noto Sans Khmer',sans-serif}
html[lang="km"] .journal-index-heading h1{font:500 clamp(35px,4.2vw,57px)/1.7 'Noto Serif Khmer',serif;letter-spacing:0}
html[lang="km"] .journal-index-heading>p:not(.journal-eyebrow){font:400 16px/1.95 'Noto Sans Khmer',sans-serif}
html[lang="km"] .journal-card :is(h2,h3){font:500 23px/1.8 'Noto Serif Khmer',serif;letter-spacing:0}
html[lang="km"] .journal-excerpt{font:400 14px/1.95 'Noto Sans Khmer',sans-serif}
html[lang="km"] .journal-read{font:500 13px/1.8 'Noto Sans Khmer',sans-serif}
html[lang="km"] .journal-section-heading h2{font:500 clamp(28px,3.5vw,42px)/1.75 'Noto Serif Khmer',serif;letter-spacing:0}
html[lang="km"] .journal-section-heading p:last-child{font-size:14px;line-height:1.9}
html[lang="km"] .journal-article-heading h1{font:500 clamp(28px,3.2vw,42px)/1.85 'Noto Serif Khmer',serif;letter-spacing:0}
html[lang="km"] .journal-body{font:400 18px/2 'Noto Sans Khmer',sans-serif;overflow-wrap:anywhere}
html[lang="km"] .journal-lead{font-size:19px;line-height:2}
html[lang="km"] .journal-body h2{font:500 25px/1.85 'Noto Serif Khmer',serif;letter-spacing:0}
html[lang="km"] .journal-closing{font:500 21px/1.9 'Noto Serif Khmer',serif}
html[lang="km"] .routine-steps li{font:400 14px/1.8 'Noto Sans Khmer',sans-serif}
html[lang="km"] .journal-byline,html[lang="km"] .journal-breadcrumb{font:400 12px/1.9 'Noto Sans Khmer',sans-serif}
html[lang="km"] .journal-sources h2{font:500 14px/1.8 'Noto Sans Khmer',sans-serif}
html[lang="km"] .journal-products h2{font:500 26px/1.9 'Noto Serif Khmer',serif}
html[lang="km"] .journal-products>p:not(.journal-eyebrow){font:400 14px/1.9 'Noto Sans Khmer',sans-serif}
html[lang="km"] .journal-products .button{font:500 14px/1.8 'Noto Sans Khmer',sans-serif}
html[lang="km"] .journal-product>span:first-child{font:400 12px/1.8 'Noto Sans Khmer',sans-serif}
html[lang="km"] .blog-page .footer-top>p{font:400 19px/1.9 'Noto Serif Khmer',serif}
@media(max-width:1050px){.journal-grid{gap:23px}.journal-languages a{padding:10px 8px}.journal-header .contact-link{display:none}}
@media(max-width:760px){
  .journal-home{padding:55px 7%}
  .journal-section-heading{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:28px}
  .journal-section-heading h2{font-size:38px;max-width:100%}
  .journal-grid,.journal-related .journal-grid{grid-template-columns:1fr;gap:38px}
  .journal-card-image{max-height:none!important;aspect-ratio:3/4}
  .journal-card-copy{padding-top:21px}
  .journal-card :is(h2,h3){font-size:31px}
  .journal-excerpt{font-size:14px;line-height:1.85;margin-bottom:18px}
  .journal-card .journal-read{font-size:13px;min-height:35px}
  .blog-page .journal-header{height:86px}
  .blog-page .journal-mobile-nav{top:86px}
  .journal-index-heading{padding:45px 7% 0}
  .journal-index-heading h1{font-size:clamp(43px,11.5vw,68px);letter-spacing:-1.4px;margin:22px 0}
  .journal-index-heading>p:not(.journal-eyebrow){font-size:14px;line-height:1.9}
  .journal-index-meta{margin-top:35px;font-size:8px;gap:15px;letter-spacing:.8px}
  .journal-index-stories{padding:28px 7% 65px}
  .journal-breadcrumb{padding:23px 7% 0;font-size:10px}
  .journal-article{padding:0 7%}
  .journal-article-heading{text-align:left;margin:32px auto 27px}
  .journal-article-heading h1{font-size:38px;line-height:1.13;letter-spacing:-.6px;margin:16px 0 22px}
  .journal-byline{justify-content:flex-start;column-gap:15px;font-size:10px}
  .journal-hero{margin-bottom:30px}
  .journal-hero>img{height:auto;aspect-ratio:3/4;width:100%}
  .journal-hero figcaption{text-align:left;font-size:10px}
  .journal-body{font-size:16px;line-height:1.85}
  .journal-lead{font-size:17px;line-height:1.85;margin-bottom:26px}
  .journal-body h2{font-size:28px;margin:29px 0 16px}
  .journal-closing{padding:20px;font-size:24px}
  .journal-products{margin:45px 7% 0;padding:29px 22px}
  .journal-products h2{font-size:30px}
  .journal-product{grid-template-columns:1fr 20px;gap:7px;padding:14px 0}
  .journal-product>span:first-child{grid-column:1/-1}
  .journal-product strong{font-size:22px}
  .journal-products .button{width:100%;justify-content:center;gap:12px;padding:15px 12px}
  .journal-related{padding:55px 7% 65px}
  .journal-related .journal-section-heading h2{font-size:33px}
  .blog-page .journal-footer .footer-top>p{font-size:22px}
  .journal-not-found h1{font-size:46px}
  html[lang="km"] .journal-index-heading h1{font-size:31px;line-height:1.8}
  html[lang="km"] .journal-article-heading h1{font-size:27px;line-height:1.9}
  html[lang="km"] .journal-card :is(h2,h3){font-size:23px;line-height:1.85}
  html[lang="km"] .journal-section-heading h2{font-size:28px;line-height:1.85}
  html[lang="km"] .journal-body h2{font-size:23px}
  html[lang="km"] .journal-lead{font-size:18px}
  html[lang="km"] .journal-products h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.journal-card-image img{transition:none}.journal-card-image:hover img{transform:none}}
