/* A quiet editorial journal, shared by both professional views. */
.topnav [data-blog-link][aria-current=page]:after{transform:scaleX(1)}
.blog-mode .reading-progress{display:none}
.journal{padding:42px 7vw 110px;min-height:75vh}
.journal-heading{position:relative;text-align:center;max-width:1100px;margin:0 auto 25px}
.journal-heading .kicker{justify-content:center;margin-bottom:16px}
.journal-title{width:auto;font-size:clamp(42px,5.3vw,82px);line-height:1.12;margin:0 auto 22px;max-width:1050px;overflow-wrap:anywhere}
.journal-intro{font-size:14px;line-height:1.85;max-width:530px;margin:0 auto;color:var(--muted)}
.journal-vine{display:block;width:min(340px,70%);height:45px;margin:4px auto 0;overflow:visible;color:var(--rose-color);opacity:.65}
.journal-vine>path{fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-dasharray:1;animation:vine-draw .85s ease-out both}
.journal-vine>use{animation:vine-bloom .65s .2s ease-out both;transform-box:fill-box;transform-origin:center}
.journal-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:10px 0 32px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.journal-back{font-size:12px;color:var(--muted);padding:8px 0;display:inline-block}
.journal-back:hover{color:var(--accent)}
.journal-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.journal-category{display:block;min-width:0;border:1px solid var(--line);background:var(--paper);transition:transform .4s,box-shadow .4s;animation:journal-enter .55s ease-out both;animation-delay:calc(var(--card-i)*.08s)}
.journal-category:hover{transform:translateY(-7px);box-shadow:0 20px 50px #123e4c10}
.journal-category-media{height:clamp(190px,18vw,285px);position:relative;overflow:hidden;background:var(--panel)}
.journal-category-media>img{height:100%;width:100%;object-fit:cover;object-position:50% 48%;display:block;transition:transform .8s}
.journal-category:hover .journal-category-media>img{transform:scale(1.045)}
.journal-category-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#001d3020,transparent 50%,#001d3030);pointer-events:none}
.journal-number{position:absolute;left:22px;top:21px;color:#fff;font-size:11px;letter-spacing:.2em;z-index:1;text-shadow:0 1px 5px #0008}
.journal-category-copy{padding:26px 28px 28px}
.journal-count{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--accent)}
.journal-category h2{font-size:clamp(29px,2.7vw,43px);line-height:1.16;letter-spacing:-.035em;margin:13px 0 15px;overflow-wrap:anywhere}
.journal-category-copy p{font-size:13px;line-height:1.75;color:var(--muted);min-height:46px;margin-bottom:24px}
.journal-explore{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;padding-top:17px;border-top:1px solid var(--line);color:var(--ink)}
.journal-filters{display:flex;flex-wrap:wrap;gap:8px}
.journal-filters a{padding:10px 15px;border-radius:30px;font-size:11px;border:1px solid var(--line);transition:background .25s}
.journal-filters a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}
.journal-posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px}
.journal-post{min-width:0;animation:journal-enter .5s ease-out both;animation-delay:calc(var(--card-i)*.07s)}
.journal-post-link{display:block;height:100%;border-bottom:1px solid var(--line)}
.journal-post-cover{display:block;width:100%;height:clamp(240px,28vw,420px);object-fit:cover;object-position:center 45%}
.journal-post-copy{padding:25px 0 28px}
.journal-post-copy h2{font-size:clamp(30px,3vw,47px);line-height:1.15;margin:14px 0 20px;overflow-wrap:anywhere;transition:color .25s}
.journal-post-link:hover h2{color:var(--accent)}
.journal-post-copy p{color:var(--muted);font-size:14px;line-height:1.8;max-width:550px}
.journal-empty{grid-column:1/-1;padding:70px 0;color:var(--muted);text-align:center}
.blog-mode #post-view{display:block;padding:60px 7vw 100px}
.blog-mode #post-view>.section-label{display:none}
.blog-mode .post-article{max-width:900px;margin:auto;min-width:0}
.blog-mode #post-title{width:auto;font-size:clamp(40px,5vw,74px);margin-top:35px;line-height:1.13;overflow-wrap:anywhere}
.blog-mode #post-summary{font-size:17px;line-height:1.8;color:var(--muted)}
.blog-mode #post-body{max-width:760px;margin:35px auto 0}
.blog-mode #post-body .post-cover{width:100%;height:auto;max-height:650px;object-fit:cover;margin-bottom:30px}
.blog-mode #post-body p{font-size:16px;line-height:1.95}
@keyframes vine-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes vine-bloom{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
@keyframes journal-enter{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@media(max-width:1250px) and (min-width:761px){.topnav{gap:15px;font-size:11px}.masthead{gap:15px}}
@media(max-width:1150px){.topnav{display:flex}.topnav [data-nav]{display:none}.journal{padding-left:6vw;padding-right:6vw}.journal-categories{gap:18px}.journal-category-copy{padding:22px 20px}}
@media(max-width:760px){
 .masthead .topnav{grid-column:1/-1;grid-row:3;justify-content:center;border-top:1px solid var(--line);padding-top:8px}
 .topnav [data-blog-link]{font-size:12px;padding:5px 20px}
 .journal{padding-top:45px;padding-bottom:70px}.journal-title{font-size:43px}.journal-heading .kicker{font-size:9px}.journal-intro{font-size:13px}.journal-vine{height:55px}
 .journal-categories,.journal-posts{grid-template-columns:minmax(0,1fr);gap:28px}.journal-category-media{height:270px}.journal-category h2{font-size:38px}.journal-category-copy p{min-height:0}
 .journal-bar{align-items:flex-start;flex-direction:column;gap:14px}.journal-filters{gap:6px}.journal-filters a{font-size:10px;padding:9px 12px}
 .journal-post-cover{height:300px}.journal-post-copy h2{font-size:35px}.blog-mode #post-view{padding:36px 6vw 75px}.blog-mode #post-title{font-size:41px}
}
@media(prefers-reduced-motion:reduce){.journal-vine>path,.journal-vine>use,.journal-category,.journal-post{animation:none}.journal-category:hover,.journal-category:hover img{transform:none}}

/* Personal notebook: unframed photographs and quiet editorial typography. */
.journal{padding-top:54px}
.journal-heading .kicker{font-weight:500;letter-spacing:.28em;font-size:9px}
.journal-heading .kicker:before{display:none}
.journal-title{font-style:italic;font-size:clamp(43px,5.2vw,76px);letter-spacing:-.045em}
.journal-vine{opacity:.42;width:245px;height:35px}
.journal-bar{border-bottom:0;margin-bottom:30px;padding-bottom:0}
.journal-categories{gap:clamp(28px,4vw,68px);align-items:start;padding:0 1vw}
.journal-category{border:0;background:transparent;box-shadow:none;transition:transform .4s}
.journal-category:hover{transform:translateY(-4px);box-shadow:none}
.journal-category:nth-child(2){margin-top:36px}
.journal-category-media{height:auto;aspect-ratio:4/5;max-height:390px;border-radius:2px;background:var(--panel)}
.journal-category-media:after{display:none}
.journal-category-media>img{object-position:50% 43%;transition:transform .9s ease}
.journal-category:hover .journal-category-media>img{transform:scale(1.025)}
.journal-number{display:none}
.journal-category-copy{padding:25px 4px 0;text-align:center}
.journal-count{font-size:9px;letter-spacing:.2em;color:var(--muted);font-weight:400}
.journal-category h2{font-style:italic;font-size:clamp(29px,2.9vw,44px);margin:13px 0 13px;letter-spacing:-.04em}
.journal-category-copy p{font-size:12px;line-height:1.9;max-width:270px;margin:0 auto 18px;min-height:46px}
.journal-category .journal-explore{display:inline-block;font-size:10px;letter-spacing:.035em;border-top:0;border-bottom:1px solid var(--line);padding:7px 0 8px}
.journal-posts{gap:55px;padding:0 1vw}
.journal-post-link{border-bottom:0}
.journal-post-cover{height:auto;aspect-ratio:4/5;max-height:560px;object-position:50% 43%;border-radius:2px}
.journal-post-copy{padding-top:25px}
.journal-post-copy h2{font-style:italic;font-size:clamp(31px,3vw,44px)}
.journal-post-copy .journal-explore{display:inline-block;border-top:0;border-bottom:1px solid var(--line);padding:5px 0 9px}
.blog-mode #post-body .post-cover{display:block;width:auto;height:auto;max-width:100%;max-height:850px;object-fit:contain;margin:0 auto 35px}
@media(max-width:760px){
 .journal{padding-top:40px}.journal-categories{gap:42px;padding:0 3vw}.journal-category:nth-child(2){margin-top:0}
 .journal-category-media{height:auto;max-height:450px;aspect-ratio:4/5}.journal-category-copy{padding-top:22px}
 .journal-category h2{font-size:38px}.journal-category-copy p{min-height:0}.journal-posts{gap:42px;padding:0}
 .journal-post-cover{height:auto;aspect-ratio:4/5;max-height:520px}.journal-post-copy h2{font-size:34px}
}

/* Keep each category photograph centered over its own title. */
.journal-category-media{width:min(100%,312px);margin-inline:auto}
.journal-category:nth-child(2){margin-top:0}
.journal-post-cover.is-contained{object-fit:contain;object-position:center;background:var(--panel)}
@media(max-width:760px){.journal-category-media{width:min(100%,360px)}}

/* Mobile navigation uses a text emphasis instead of the desktop underline. */
@media(max-width:760px){.topnav [data-blog-link]::after{display:none}.topnav [data-blog-link][aria-current=page]{color:var(--accent);font-weight:600}}
