/* Blog uses the site's original paper, wine accent and editorial typography. */
.blog-page{line-height:1.65;text-rendering:optimizeLegibility}
.blog-page .site-header{position:sticky;top:0;background:rgba(244,239,236,.96);backdrop-filter:blur(12px)}
.blog-page .site-header .brand span{max-width:260px}
.blog-page .site-header nav{gap:clamp(12px,1.35vw,26px)}
.blog-page .header-actions{display:flex;align-items:center;justify-self:end;gap:1rem}
.blog-page .header-instagram{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--wine)}
.blog-page .header-instagram svg{display:block;width:22px;height:22px}
.blog-page .header-instagram:hover{background:var(--wine);border-color:var(--wine);color:var(--paper)}
.blog-page .header-instagram:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.journal-heading{padding:clamp(32px,5vw,80px) 7vw clamp(32px,4vw,64px);border-bottom:1px solid var(--line)}
.journal-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;font-size:.8rem}
.journal-breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.journal-label{margin:clamp(36px,5vw,72px) 0 24px;color:var(--wine);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
.journal-heading h1{max-width:1220px;margin:0;font:400 clamp(2.4rem,4.7vw,5.3rem)/1.06 var(--serif);letter-spacing:-.035em;hyphens:auto;overflow-wrap:break-word}
.journal-date{margin:28px 0 0;font-size:.83rem;color:#65565f}
.journal-index-heading h1{font-size:clamp(5rem,9vw,9.6rem);color:var(--wine);font-style:italic}
.journal-list{padding:0 7vw clamp(64px,8vw,120px)}
.journal-entry{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,3fr);gap:4vw;padding:clamp(36px,5vw,80px) 0;border-bottom:1px solid var(--line)}
.journal-entry .journal-date{margin:8px 0 0}
.journal-entry h2{max-width:1000px;margin:0 0 24px;font:400 clamp(2rem,3.2vw,3.6rem)/1.13 var(--serif);letter-spacing:-.025em;hyphens:auto;overflow-wrap:break-word}
.journal-entry h2 a:hover{color:var(--wine)}
.journal-entry p:not(.journal-date){max-width:720px;margin:0 0 28px}
.journal-read{display:inline-flex;align-items:center;gap:24px;min-height:44px;color:var(--wine);text-decoration:underline;text-underline-offset:6px}
.journal-read span{font-size:1.4rem}
.journal-text{max-width:800px;margin:0 auto;padding:clamp(36px,5vw,72px) 24px clamp(48px,6vw,88px);font-size:1.125rem;line-height:1.8}
.journal-text p{margin:0 0 1.5em}
.journal-text h2{font:400 clamp(1.8rem,3vw,2.7rem)/1.15 var(--serif);letter-spacing:-.02em;margin:1.6em 0 .8em}
.journal-text strong{font-weight:700}
.journal-text ul{padding-left:1.35em;margin:0 0 1.5em}
.journal-text li{padding-left:.35em;margin:0 0 .75em}
.journal-text li::marker{color:var(--wine)}
.journal-next{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;margin:0 7vw 4vw;padding:24px 0;border-top:1px solid var(--line);color:var(--wine)}
.journal-next a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.blog-page footer .legal{text-transform:none;letter-spacing:0;line-height:1.6}
.blog-page footer .legal a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){
  .blog-page .site-header{grid-template-columns:1fr auto auto;column-gap:.75rem}
  .blog-page .menu-toggle{grid-column:2;grid-row:1}
  .blog-page .header-actions{grid-column:3;grid-row:1}
  .blog-page .site-header nav{gap:20px}
  .journal-heading{padding:28px 5vw 36px}
  .journal-heading h1{font-size:clamp(2.1rem,7.8vw,3.5rem);line-height:1.1}
  .journal-index-heading h1{font-size:clamp(4.8rem,19vw,7rem)}
  .journal-label{margin-top:40px;font-size:.7rem}
  .journal-list{padding:0 5vw 64px}
  .journal-entry{display:block;padding:32px 0 40px}
  .journal-entry .journal-date{margin:0 0 24px}
  .journal-entry h2{font-size:clamp(1.8rem,6.3vw,3rem)}
  .journal-text{padding:36px 5vw 48px;font-size:1.0625rem;line-height:1.75}
  .journal-next{margin:0 5vw 36px;display:grid}
  .blog-page footer{grid-template-columns:1fr}
  .blog-page footer p:last-child{grid-column:1;text-align:left}
}
