/* A quieter hierarchy: readable supporting text and a consistent rhythm. */
:root { --ink:#20382f; --muted:#4d584f; --line:#d5d9cd; --wrap:1200px; }
body { font-size:17px; line-height:1.7; }
h1,h2,h3 { letter-spacing:-.025em; }
h1 { font-size:clamp(44px,5vw,68px); line-height:1.12; }
h2 { font-size:clamp(33px,3.4vw,44px); line-height:1.18; }
h3 { line-height:1.28; }
h1 em,h2 em { font-style:normal; }
.hero-copy h1 em { font-style:italic; }
.section { padding-block:76px; }
.section-sm { padding-block:48px; }
.eyebrow { font-size:12px; line-height:1.6; letter-spacing:.09em; margin-bottom:19px; }
.lead { font-size:18px; line-height:1.75; }
.small { font-size:14px; }
.text-link { font-size:15px; gap:13px; padding:8px 0; }
.button { min-height:52px; padding:14px 23px; font-size:15px; border-radius:5px; }
.actions { gap:22px; margin-top:27px; }
.header-inner { height:84px; gap:25px; }
.wordmark { font-size:26px; line-height:1.2; letter-spacing:-.045em; }
.wordmark span { display:inline; }
.site-nav { gap:24px; }
.site-nav a { font-size:14px; line-height:1.5; }
.site-nav .nav-contact { padding:10px 19px; border-radius:5px; }
.home-hero { padding-block:42px 65px; border-bottom:1px solid var(--line); }
.hero-grid { gap:66px; min-height:535px; grid-template-columns:1fr 1fr; }
.hero-copy { padding-block:10px; }
.hero-copy h1 { font-size:clamp(40px,4.1vw,56px); line-height:1.15; max-width:520px; text-wrap:balance; }
.hero-copy h1 em { white-space:nowrap; }
.hero-copy .eyebrow { font-size:12px; margin-bottom:23px; }
.hero-copy .lead { font-size:18px; line-height:1.75; max-width:465px; margin-top:24px; }
.hero-copy .actions .text-link { font-size:15px; }
.hero-image { height:545px; border-radius:10px; }
.hero-image img { object-position:68% 45%; }
.section-heading { align-items:center; gap:38px; margin-bottom:32px; }
.section-heading h2 { max-width:680px; }
.section-heading>p { max-width:430px; font-size:16px; line-height:1.7; }
.section-heading .eyebrow { margin-bottom:14px; }
.world-grid { border-bottom:0; }
.world-item,.offerings-grid .world-item { min-height:215px; padding:28px 29px 10px 0; }
.world-item+.world-item,.offerings-grid .world-item:nth-child(3) { padding-left:29px; }
.world-item h3,.topic h3,.article-card h3,.media-item h3,.media-teaser h3,
.enquiry-types h3,.talk-row h3,.soft-panel h3,.related-reading a {
  font-family:var(--body); font-size:24px; font-weight:500;
  line-height:1.35; letter-spacing:-.02em;
}
.world-item h3 { margin-bottom:14px; }
.world-item p { font-size:16px; line-height:1.7; margin-bottom:21px; }
.world-item .text-link { font-size:14px; gap:10px; }
.story-split { gap:75px; }
.story-photo img { height:415px; border-radius:10px; object-position:50% 43%; }
.story-copy h2 { font-size:44px; margin-bottom:22px; }
.story-copy p { font-size:17px; line-height:1.8; }
.story-copy .text-link { margin-top:20px; }
.journal-section { background:#eeece5; }
.journal-top { gap:65px; }
.journal-top p { font-size:17px; line-height:1.75; }
.journal-top .text-link { margin-top:13px; }
.article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; margin-top:35px; }
.article-card .thumb { aspect-ratio:1.85; border-radius:8px; margin-bottom:19px; }
.article-card .meta { font-size:12px; letter-spacing:0; text-transform:none; gap:15px; margin-bottom:11px; }
.article-card h3 { font-size:24px; margin-bottom:13px; max-width:470px; }
.article-card p { font-size:16px; line-height:1.75; margin-bottom:15px; }
.article-card .text-link { font-size:14px; }
.book-note { margin-top:35px; padding-top:23px; gap:18px; }
.book-note p { font-size:15px; line-height:1.7; }
.film-grid { gap:65px; }
.film-art { min-height:310px; padding:30px; border-radius:8px; }
.film-art::after { display:none; }
.film-art>span { font-size:12px; letter-spacing:.06em; }
.film-art .film-title { font-size:58px; }
.film-art .film-bottom { font-size:12px; letter-spacing:.025em; }
.film-copy h2 { font-size:40px; line-height:1.22; margin-bottom:22px; }
.film-copy p { font-size:17px; line-height:1.8; }
.film-copy .text-link { font-size:15px; margin-top:22px; }
.topic { padding-top:26px; }
.topic h3 { font-size:25px; margin-bottom:15px; }
.topic p { font-size:16px; line-height:1.8; }
.topic .text-link { font-size:14px; }
.media-teasers { gap:35px; }
.media-teaser .outlet { font-size:12px; letter-spacing:.035em; margin-bottom:16px; }
.media-teaser h3 { font-size:23px; }
.media-teaser p { font-size:16px; line-height:1.75; }
.media-teaser .text-link { font-size:14px; }
.contact-band { padding-block:49px; }
.contact-band h2 { font-size:36px; }
.contact-band p { font-size:16px; }
.site-footer { padding-top:45px; }
.footer-main { gap:65px; grid-template-columns:1.2fr 1fr 1fr; padding-bottom:36px; }
.footer-brand { font-size:30px; }
.footer-tagline { font-size:15px; line-height:1.7; }
.footer-label { font-size:12px; letter-spacing:.075em; }
.footer-links { flex-direction:column; align-items:flex-start; gap:9px; }
.footer-links a { font-size:14px; line-height:1.55; }
.footer-bottom { font-size:12px; letter-spacing:0; }
.page-head { padding-block:58px 48px; }
.page-head h1,.page-head.split h1 { font-size:clamp(44px,4.9vw,66px); line-height:1.12; }
.page-head .lead,.page-head.split .lead { font-size:18px; line-height:1.8; }
.page-head.split { gap:65px; padding-block:50px; }
.page-head.split .portrait { border-radius:10px; height:465px; }
.page-head.split .wide-portrait { height:425px; }
.breadcrumb { font-size:13px; gap:9px; line-height:1.6; }
.prose { font-size:18px; line-height:1.85; max-width:68ch; }
.prose h2 { font-size:36px; }
.aside p { font-size:16px; line-height:1.8; }
.two-column { gap:75px; }
.pull-quote { font-size:34px; line-height:1.45; max-width:880px; }
.quote-credit { font-size:12px; letter-spacing:.035em; }
.talk-row { grid-template-columns:35px 1fr 1fr; gap:25px; padding-block:31px; }
.talk-row .num { font-size:13px; }
.talk-row h3 { font-size:26px; }
.talk-row p { font-size:17px; line-height:1.75; }
.talk-row .text-link { font-size:15px; margin-top:10px; }
.soft-panel { padding:34px; border-radius:8px; }
.soft-panel h3 { font-size:26px; }
.soft-panel p,.detail-list li { font-size:16px; }
.soft-panel .button { margin-top:22px; }
.faq summary { font-size:18px; line-height:1.55; }
.faq details p { font-size:16px; line-height:1.8; }
.community-story { gap:75px; }
.community-story h2 { font-size:40px; line-height:1.22; }
.community-story .prose { font-size:18px; line-height:1.85; }
.sport-callout { border-radius:8px; }
.sport-callout p { font-size:16px; }
.sport-callout .text-link { font-size:14px; }
.milestone span { font-size:12px; letter-spacing:.05em; }
.milestone p { font-size:17px; }
.milestone a { font-size:14px; }
.journal-head { gap:65px; padding-block:53px; }
.journal-head h1 { font-size:clamp(49px,5.4vw,74px); line-height:1.12; }
.journal-head img { height:400px; border-radius:10px; }
.journal-head .lead { font-size:18px; line-height:1.8; }
.archive-tools { gap:23px; margin:24px 0 34px; padding-block:20px; }
.search-field { font-size:15px; min-height:48px; border-radius:5px; }
.search-wrap svg { top:16px; }
.filter-button { font-size:14px; padding:10px 16px; border-radius:5px; min-height:44px; }
.filter-count { font-size:14px; }
.archive-grid { margin-top:0; row-gap:46px; }
.book-panel { gap:50px; margin-top:50px; padding-top:34px; }
.book-panel h2 { font-size:35px; }
.book-panel p { font-size:17px; line-height:1.8; }
.reader-head { padding-block:48px 33px; max-width:880px; }
.reader-head h1 { font-size:clamp(37px,4.5vw,59px); line-height:1.2; }
.reader-meta { font-size:14px; line-height:1.7; }
.narrow { max-width:750px; }
.reading-tools { font-size:13px; margin-bottom:33px; }
.reader-size { gap:10px; }
.reader-size button { height:42px; min-width:42px; font-size:14px; border-radius:4px; }
.reader-content { font-size:var(--reader-size,19px); line-height:1.9; }
.reader-content blockquote { font-family:var(--body); font-size:1em; line-height:inherit; letter-spacing:0; margin:28px 0; padding-left:24px; }
.reader-content h2 { font-size:29px; line-height:1.3; }
.reader-content h3 { font-size:24px; }
.reader-content figcaption { font-size:14px; }
.article-end a,.archive-context { font-size:14px; line-height:1.75; }
.related-reading { margin-top:48px; }
.related-reading a { font-size:22px; line-height:1.45; }
.media-grid { gap:0 48px; }
.media-item { padding-block:27px 32px; }
.media-item .media-meta { font-size:12px; line-height:1.65; letter-spacing:0; text-transform:none; flex-wrap:wrap; gap:6px 12px; }
.media-item h3 { font-size:24px; margin-bottom:13px; }
.media-item p { font-size:16px; line-height:1.75; }
.media-item .text-link { font-size:14px; }
.media-feature .film-copy h2 { font-size:39px; }
.email-address { font-family:var(--body); font-size:clamp(22px,2.3vw,31px); letter-spacing:-.025em; line-height:1.5; }
.copy-button { font-size:14px; min-height:44px; }
.copy-status,.contact-hint { font-size:14px; }
.enquiry-types h3 { font-size:24px; }
.enquiry-types p { font-size:15px; line-height:1.7; }
.contact-social { font-size:15px; gap:23px; }
.contact-photo { border-radius:10px; }
.links-page h1 { font-size:39px; }
.links-page>.lead { font-size:17px; line-height:1.75; }
.bio-link { border-radius:7px; gap:18px; }
.bio-link strong { font-size:16px; }
.bio-link span.label { font-size:14px; line-height:1.65; }
.links-page .back-home { font-size:14px; min-height:40px; }
@media(max-width:1100px) {
  .menu-toggle { display:flex; font-size:15px; min-height:44px; padding-inline:4px; }
  .site-nav { display:none; position:fixed; top:84px; left:0; right:0; height:calc(100dvh - 84px); overflow-y:auto; background:var(--paper); padding:30px 32px; align-items:stretch; flex-direction:column; gap:0; }
  .site-nav.open { display:flex; }
  .site-nav a { font-family:var(--body); font-size:21px; padding:17px 0; border-bottom:1px solid var(--line); }
  .site-nav a::after { display:none; }
  .site-nav .nav-contact { margin-top:22px; padding:14px 22px; align-self:flex-start; font:16px var(--body); }
  .hero-grid { gap:40px; }
  .hero-image { height:510px; }
  .hero-copy h1 { font-size:46px; }
  .hero-copy .lead { font-size:17px; }
  .story-split,.journal-top,.film-grid,.two-column { gap:45px; }
  .world-item h3 { font-size:22px; }
  .world-item p { font-size:16px; }
  .footer-main { gap:40px; }
}
@media(max-width:700px) {
  html { scroll-padding-top:90px; }
  .wrap { width:calc(100% - 44px); }
  .header-inner { height:76px; gap:18px; }
  .wordmark { font-size:24px; }
  .site-nav { top:76px; height:calc(100dvh - 76px); padding:22px 25px; }
  .site-nav a { font-size:21px; }
  .section { padding-block:46px; }
  .section-sm { padding-block:38px; }
  .eyebrow { font-size:12px; letter-spacing:.065em; margin-bottom:17px; }
  h1 { font-size:44px; }
  h2 { font-size:34px; }
  .home-hero { padding-block:32px 39px; }
  .hero-grid { gap:27px; min-height:0; }
  .hero-copy { padding:0; }
  .hero-copy .eyebrow { font-size:12px; margin-bottom:18px; }
  .hero-copy h1 { font-size:clamp(35px,9.2vw,44px); line-height:1.16; }
  .hero-copy .lead { margin-top:22px; font-size:17px; line-height:1.75; }
  .hero-copy .actions { gap:18px; margin-top:24px; }
  .hero-copy .button { font-size:15px; min-height:50px; padding:13px 19px; }
  .hero-copy .actions .text-link { font-size:15px; gap:10px; }
  .hero-image { height:350px; border-radius:8px; }
  .hero-image img { object-position:67% 40%; }
  .section-heading { align-items:flex-start; gap:16px; margin-bottom:27px; }
  .section-heading h2 { font-size:34px; line-height:1.2; }
  .section-heading>p { font-size:16px; line-height:1.75; }
  .section-heading .text-link { font-size:14px; }
  .offerings-grid .world-item { padding:25px 0; min-height:0; }
  .offerings-grid .world-item:nth-child(3) { padding-left:0; }
  .offerings-grid .world-item h3 { font-size:24px; margin-bottom:12px; }
  .offerings-grid .world-item p { font-size:16px; margin-bottom:17px; }
  .offerings-grid .world-item .text-link { font-size:14px; }
  .story-split { gap:28px; }
  .story-photo img { height:330px; border-radius:8px; }
  .story-copy h2 { font-size:34px; margin-bottom:19px; }
  .story-copy p { font-size:17px; line-height:1.8; }
  .journal-top { gap:20px; }
  .journal-top h2 { font-size:37px; }
  .journal-top p { font-size:17px; line-height:1.8; }
  .article-grid { grid-template-columns:1fr; gap:33px; margin-top:28px; }
  .article-card .thumb { aspect-ratio:1.75; border-radius:7px; }
  .article-card h3 { font-size:23px; line-height:1.4; }
  .article-card .meta { font-size:13px; gap:13px; }
  .article-card p { font-size:16px; line-height:1.8; }
  .article-card .text-link { font-size:14px; }
  .book-note p { font-size:15px; }
  .film-grid { gap:28px; }
  .film-art { min-height:285px; padding:25px; }
  .film-art .film-title { font-size:55px; }
  .film-art>span,.film-art .film-bottom { font-size:12px; }
  .film-copy h2,.media-feature .film-copy h2 { font-size:34px; line-height:1.25; }
  .film-copy p { font-size:17px; line-height:1.8; }
  .topic h3 { font-size:23px; }
  .topic p { font-size:16px; line-height:1.8; }
  .topic .text-link { font-size:14px; }
  .media-teasers { gap:0; }
  .media-teaser h3 { font-size:23px; line-height:1.4; }
  .media-teaser p { font-size:16px; line-height:1.8; }
  .contact-band { padding-block:38px; }
  .contact-band h2 { font-size:32px; line-height:1.25; }
  .contact-band p { font-size:16px; }
  .contact-band .wrap { gap:22px; }
  .footer-main { grid-template-columns:1fr 1fr; gap:28px 20px; }
  .footer-brand { font-size:28px; }
  .footer-tagline { font-size:14px; margin-top:13px; }
  .footer-label { font-size:12px; }
  .footer-links { gap:12px; }
  .footer-links a { font-size:14px; line-height:1.6; }
  .footer-bottom { font-size:12px; }
  .page-head,.page-head.split { padding-block:38px; }
  .page-head h1,.page-head.split h1 { font-size:44px; line-height:1.18; }
  .page-head .lead,.page-head.split .lead { font-size:17px; line-height:1.8; margin-top:22px; }
  .page-head.split { gap:30px; }
  .page-head.split .portrait { height:360px; border-radius:8px; }
  .page-head.split .wide-portrait { height:325px; }
  .breadcrumb { font-size:12px; gap:7px; padding-top:22px; }
  .prose,.community-story .prose { font-size:18px; line-height:1.85; }
  .two-column { gap:27px; }
  .aside h2 { font-size:33px; }
  .aside p { font-size:16px; }
  .pull-quote { font-size:28px; line-height:1.55; }
  .quote-credit { font-size:12px; letter-spacing:.035em; }
  .talk-row { grid-template-columns:24px 1fr; gap:14px; padding-block:25px; }
  .talk-row h3 { font-size:24px; }
  .talk-row p { font-size:16px; line-height:1.8; }
  .talk-row .num { font-size:12px; }
  .soft-panel { padding:25px; }
  .soft-panel h3 { font-size:24px; }
  .detail-list li { font-size:16px; }
  .faq summary { font-size:18px; }
  .faq details p { font-size:16px; }
  .community-story { gap:25px; padding-block:37px; }
  .community-story h2 { font-size:34px; }
  .sport-callout { padding:22px; }
  .sport-callout p { font-size:16px; }
  .journal-head { gap:29px; padding-block:39px; }
  .journal-head h1 { font-size:52px; }
  .journal-head .lead { font-size:17px; line-height:1.8; }
  .journal-head img { height:295px; border-radius:8px; }
  .archive-tools { gap:17px; margin:25px 0 30px; }
  .archive-grid { margin-top:0; }
  .search-field { font-size:16px; }
  .filter-count { font-size:14px; }
  .filter-button { font-size:14px; padding-inline:13px; }
  .book-panel { gap:24px; margin-top:39px; padding-top:28px; }
  .book-panel h2 { font-size:33px; }
  .book-panel p { font-size:17px; }
  .reader-head { padding-block:36px 27px; }
  .reader-head h1 { font-size:38px; line-height:1.24; margin-bottom:21px; }
  .reader-meta { font-size:13px; gap:9px 14px; }
  .reading-tools { font-size:12px; margin-bottom:27px; }
  .reader-size { gap:7px; }
  .reader-size>span:first-child { font-size:12px; }
  .reader-content { font-size:var(--reader-size,18px); line-height:1.9; }
  .reader-content blockquote { padding-left:18px; margin:23px 0; }
  .article-end { margin-top:32px; }
  .article-end a,.archive-context { font-size:14px; }
  .related-reading { margin-top:40px; }
  .related-reading a { font-size:21px; }
  .media-grid { gap:0; }
  .media-item h3 { font-size:23px; line-height:1.4; }
  .media-item p { font-size:16px; line-height:1.8; }
  .media-item .text-link { font-size:14px; }
  .email-address { font-size:23px; }
  .email-actions { gap:16px; }
  .enquiry-types h3 { font-size:23px; }
  .enquiry-types p { font-size:15px; line-height:1.75; }
  .contact-photo { height:355px; }
  .contact-hint { font-size:14px; line-height:1.75; }
  .contact-social { font-size:15px; gap:21px; }
  .links-page { padding-inline:23px; }
  .links-page h1 { font-size:36px; }
  .links-page>.lead { font-size:16px; }
  .bio-link { padding:18px 16px; gap:14px; }
  .bio-link strong { font-size:16px; }
  .bio-link span.label { font-size:14px; }
}

/* Email subscriptions use the existing WordPress blog's live signup flow. */
.subscribe-panel { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr); gap:48px; align-items:center; padding:35px 38px; margin-top:40px; background:#e4eadf; border:1px solid #cbd4c8; border-radius:8px; }
.subscribe-panel .eyebrow { margin-bottom:15px; }
.subscribe-panel h2 { font-size:33px; line-height:1.22; margin:0 0 16px; }
.subscribe-panel h2 em { color:var(--clay); }
.subscribe-panel p { font-size:16px; line-height:1.75; max-width:465px; margin:0; }
.subscribe-actions { max-width:355px; justify-self:end; }
.subscribe-actions .button { font-size:15px; white-space:normal; }
.subscribe-actions p { font-size:14px; margin:15px 0 8px; }
.subscribe-help { font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.subscribe-page { display:grid; grid-template-columns:1.12fr .88fr; gap:72px; align-items:start; padding-block:72px 65px; }
.subscribe-intro h1 { font-size:clamp(40px,4.2vw,58px); line-height:1.13; margin-bottom:25px; }
.subscribe-intro .lead { font-size:19px; line-height:1.8; }
.subscribe-intro>p { font-size:17px; line-height:1.8; max-width:525px; }
.subscribe-intro .actions { margin-top:28px; }
.subscribe-intro .subscribe-note { font-size:14px; margin-top:17px; }
.subscribe-steps { padding:31px 32px; background:#e9ede4; border:1px solid #d3d9ce; border-radius:8px; margin-top:35px; }
.subscribe-steps h2 { font-family:var(--body); font-size:23px; letter-spacing:-.02em; margin-bottom:25px; }
.subscribe-steps ol { padding-left:23px; margin:0; }
.subscribe-steps li { font-size:16px; line-height:1.7; padding-left:8px; margin-bottom:23px; }
.subscribe-steps li:last-child { margin-bottom:0; }
.subscribe-steps li::marker { color:#526b52; font-weight:600; }
.subscribe-steps strong,.subscribe-steps span { display:block; }
.subscribe-steps strong { font-weight:600; margin-bottom:5px; }
.subscribe-steps span { color:var(--muted); }
.subscribe-details { display:grid; grid-template-columns:1.12fr .88fr; gap:72px; padding-block:40px 65px; }
.subscribe-details h2 { font-size:29px; margin-bottom:18px; }
.subscribe-details p { font-size:16px; line-height:1.85; margin-bottom:15px; }
.subscribe-account h3 { font-family:var(--body); font-size:20px; margin-bottom:18px; }
.subscribe-account .text-link { margin-top:7px; }
@media(max-width:850px) {
  .subscribe-page,.subscribe-details { grid-template-columns:1fr; gap:28px; }
  .subscribe-page { padding-block:45px; }
  .subscribe-steps { margin-top:0; }
  .subscribe-panel { gap:28px; padding:29px; }
}
@media(max-width:700px) {
  .subscribe-panel { grid-template-columns:1fr; gap:24px; padding:26px 23px; margin-top:30px; }
  .subscribe-panel h2 { font-size:29px; }
  .subscribe-actions { justify-self:start; max-width:none; }
  .subscribe-intro h1 { font-size:41px; }
  .subscribe-intro .lead { font-size:18px; }
  .subscribe-steps { padding:25px 23px; }
  .subscribe-details { padding-block:30px 45px; }
  .subscribe-details h2 { font-size:28px; }
}

/* Living with a Jerk: carry the site's forest, ivory and clay palette through the journal. */
.journal-page .journal-head { align-items:center; }
.journal-page .journal-head .journal-logo { position:relative; display:block; width:100%; height:auto; aspect-ratio:1672 / 1024; border-radius:0; overflow:visible; }
.journal-page .journal-logo > img { width:100%; height:100%; object-fit:contain; border-radius:0; }
.journal-page .section-heading h2 { position:relative; display:inline-block; padding-bottom:13px; }
.journal-page .section-heading h2::after { content:""; position:absolute; left:0; bottom:0; width:52px; height:2px; background:var(--clay); }
.journal-page .archive-grid .thumb { display:grid; place-items:center; background:var(--sage); overflow:hidden; }
.journal-page .archive-grid .thumb img { width:100%; height:100%; object-fit:contain; padding:5px; }
.journal-page .book-panel { border-top-color:var(--clay); }
.journal-page .book-panel .eyebrow { color:var(--clay); }
.journal-story-page .reader-content img[src*="living-with-a-jerk-logo.png"] { display:block; width:min(620px,100%); height:auto; margin:1.8rem auto; object-fit:contain; background:var(--sage); }
.journal-logo .pour-drop { position:absolute; z-index:2; top:42%; left:36.5%; width:clamp(7px,1vw,12px); height:clamp(10px,1.5vw,18px); border-radius:55% 45% 58% 42%; background:var(--clay); opacity:0; transform:translate3d(0,-5px,0) rotate(14deg) scale(.55); pointer-events:none; }
.journal-logo .pour-drop-2 { top:43%; left:38.1%; width:clamp(6px,.8vw,10px); height:clamp(9px,1.2vw,15px); }
.journal-logo .pour-drop-3 { top:44%; left:39.5%; width:clamp(5px,.7vw,9px); height:clamp(8px,1vw,13px); }
.journal-page.logo-pour-start .journal-logo .pour-drop { animation:journal-coffee-pour 980ms cubic-bezier(.42,0,.72,.6) both; }
.journal-page.logo-pour-start .journal-logo .pour-drop-2 { animation-delay:130ms; }
.journal-page.logo-pour-start .journal-logo .pour-drop-3 { animation-delay:260ms; }
@keyframes journal-coffee-pour {
  0% { opacity:0; transform:translate3d(0,-5px,0) rotate(14deg) scale(.5); }
  12% { opacity:1; }
  68% { opacity:1; transform:translate3d(min(2.2vw,22px),min(4vw,34px),0) rotate(0) scale(1); }
  82%,100% { opacity:0; transform:translate3d(min(2.8vw,28px),min(5vw,42px),0) rotate(-8deg) scale(.55); }
}
@media(max-width:700px){
  .journal-page .journal-head .journal-logo { height:auto; aspect-ratio:1672 / 1024; }
  .journal-page .archive-grid .thumb { aspect-ratio:1.65; }
}

/* Journal identity: a generous masthead, with a shared frame for individual stories. */
.journal-page .journal-head { display:flex; flex-direction:column; gap:0; padding-block:12px 60px; text-align:center; }
.journal-page .journal-head .journal-logo { width:min(1080px,100%); aspect-ratio:2.18; overflow:hidden; margin-inline:auto; }
.journal-page .journal-logo > img { width:100%; height:100%; object-fit:cover; mix-blend-mode:darken; }
.journal-intro { max-width:740px; margin:12px auto 0; }
.journal-intro .journal-byline { margin:0 0 22px; font-size:13px; letter-spacing:.1em; color:var(--clay); }
.journal-intro .journal-tagline { margin:0; font-family:var(--display); font-size:clamp(25px,3.2vw,38px); line-height:1.3; letter-spacing:-.025em; }
.journal-intro .journal-context { margin:23px auto 18px; max-width:610px; color:var(--muted); font-size:15px; line-height:1.8; }
.journal-page .section-heading .eyebrow { margin-bottom:12px; color:var(--clay); }
.story-art.thumb, .journal-page .archive-grid .story-art { position:relative; display:block; aspect-ratio:1.75; border-radius:3px; overflow:hidden; background:#e3e8dd; color:var(--ink); isolation:isolate; }
.story-art.tone-sand, .journal-page .archive-grid .tone-sand { background:#eee1c5; }
.story-art.tone-rose, .journal-page .archive-grid .tone-rose { background:#ebd9d0; }
.story-art.tone-oat, .journal-page .archive-grid .tone-oat { background:#e8e5d9; }
.story-art.tone-peach, .journal-page .archive-grid .tone-peach { background:#e5c7b6; }
.story-topic { position:absolute; left:6%; top:13%; width:43%; font-family:var(--body); font-weight:650; font-size:clamp(25px,3vw,38px); letter-spacing:-.045em; line-height:1.08; }
.story-illustration { position:absolute; width:45%; height:80%; right:4%; top:10%; transition:transform .3s ease; }
.story-art .story-signature, .article-card a.story-art .story-signature, .journal-page .archive-grid .story-art .story-signature { position:absolute; left:3%; bottom:2%; width:44%; height:auto; padding:0; object-fit:contain; mix-blend-mode:darken; }
.article-card:hover .story-illustration { transform:translateY(-4px) rotate(-2deg); }
.article-card .meta { border-top:1px solid var(--line); padding-top:16px; }
.article-card h3 { line-height:1.25; }
.journal-story-page .reader-head .eyebrow { color:var(--clay); }
.reader-art { margin:0 auto 38px; }
.reader-art .story-topic { font-size:clamp(30px,4.8vw,48px); }
@media(max-width:700px) {
  .journal-page .journal-head { padding-block:10px 42px; }
  .journal-page .journal-head .journal-logo { width:calc(100% + 26px); max-width:none; margin-inline:-13px; aspect-ratio:1.95; }
  .journal-intro { margin-top:0; }
  .journal-intro .journal-byline { font-size:12px; margin-bottom:20px; }
  .journal-intro .journal-tagline { font-size:27px; }
  .journal-intro .journal-context { font-size:14px; margin-top:19px; }
  .desktop-break { display:none; }
  .story-topic { font-size:clamp(26px,7vw,36px); }
  .journal-page .archive-grid .story-art { aspect-ratio:1.65; }
  .reader-art { margin-bottom:28px; }
  .reader-art .story-topic { font-size:clamp(25px,7vw,36px); }
}

/* Each story keeps its own subtle colour beneath the crisp black ink. */
.story-art.thumb, .journal-page .archive-grid .story-art { border:1px solid #ddd9cf; color:#1e2521; }
.story-art .story-line-image, .journal-page .archive-grid .story-art .story-line-image { position:absolute; right:0; top:4%; width:54%; height:92%; padding:0; object-fit:contain; border-radius:0; mix-blend-mode:normal; }
.article-card:hover .story-line-image { transform:translateY(-3px) rotate(-1deg); }
.reader-art .story-line-image { width:56%; right:-1%; }
@media(prefers-reduced-motion:reduce) { .article-card:hover .story-line-image { transform:none; } }

/* Approved portraits and an understated first look at future merchandise. */
.hero-image img[src*="green-portrait"], .portrait[src*="green-portrait"], .contact-photo[src*="green-portrait"] { object-position:50% 40%; }
.story-photo img[src*="black-mural"] { object-position:46% 46%; }
.journal-author { display:grid; grid-template-columns:230px 1fr; gap:45px; align-items:center; padding-top:52px; margin-top:52px; border-top:1px solid var(--line); }
.journal-author>img { width:230px; height:290px; object-fit:cover; object-position:50% 35%; border-radius:8px; }
.journal-author h2 { margin-bottom:18px; }
.journal-author p { max-width:570px; color:var(--muted); }
.coming-soon { display:inline-flex; align-items:center; vertical-align:middle; padding:7px 13px; border:1px solid #b9c2b3; border-radius:30px; font:500 12px/1.4 var(--body); letter-spacing:.04em; color:var(--ink); background:#e9ecdf; white-space:nowrap; }
.merch-intro h2 .coming-soon { margin-left:14px; }
.page-head>.coming-soon { margin-top:24px; }
.merch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px; }
.merch-card { min-width:0; }
.product-scene { position:relative; height:390px; border-radius:10px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#edeae1; }
.tote-scene { background:#e3e8dc; }
.concept-label { position:absolute; top:19px; left:22px; font-size:11px; letter-spacing:.06em; color:#536052; text-transform:uppercase; }
.merch-copy { padding-top:27px; }
.merch-copy .eyebrow { margin-bottom:10px; }
.merch-copy h3 { font-family:var(--body); font-size:25px; font-weight:500; margin-bottom:14px; }
.merch-copy p { color:var(--muted); font-size:16px; max-width:520px; margin-bottom:20px; }
.merch-note { margin-block:40px 16px; font-size:14px; color:var(--muted); }
.travel-cup { position:relative; width:216px; height:260px; margin-top:40px; filter:drop-shadow(6px 15px 10px #29352b24); transform:rotate(-5deg); }
.cup-body { position:absolute; top:37px; left:5px; width:206px; height:214px; background:linear-gradient(100deg,#e2daca,#faf6ed 43%,#e8e0d2); clip-path:polygon(0 0,100% 0,86% 100%,14% 100%); display:flex; align-items:center; justify-content:center; }
.cup-body img { width:180px; height:auto; }
.cup-lid { position:absolute; top:8px; width:216px; height:42px; z-index:2; border-radius:20px 20px 7px 7px; background:linear-gradient(#354238,#18291f); border-bottom:5px solid #405043; }
.cup-clip { position:absolute; left:80px; top:-11px; width:68px; height:25px; border-radius:10px 12px 5px 5px; background:#1d2e24; border:2px solid #4f5c4d; transform:rotate(-3deg); }
.cup-base { position:absolute; top:246px; left:34px; width:148px; height:7px; border-radius:0 0 8px 8px; background:#cbc2b2; }
.canvas-tote { position:relative; width:255px; height:290px; margin-top:35px; transform:rotate(4deg); filter:drop-shadow(5px 11px 9px #29352b1f); }
.tote-handle { position:absolute; top:0; left:57px; width:138px; height:113px; border:15px solid #d8ccb2; border-bottom:none; border-radius:65px 65px 0 0; }
.handle-back { top:3px; left:65px; transform:rotate(7deg); border-color:#c5b99e; }
.tote-body { position:absolute; bottom:0; width:255px; height:225px; border:1px solid #c8bca1; background:linear-gradient(95deg,#d9cfb9,#eee5d2 40%,#e3d9c1); border-radius:3px 3px 23px 23px; display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:inset 6px 0 9px #ffffff33,inset -6px -6px 8px #9b8c6c22; }
.tote-body p { color:#243c34; font:24px/1.35 var(--display); text-align:center; margin:0; letter-spacing:-.015em; }
.tote-body p em { font-weight:500; }
.tote-body img { width:98px; height:auto; margin-top:12px; }
@media(min-width:1101px) { .site-nav { gap:18px; } .site-nav a { font-size:13px; } }
@media(max-width:700px) {
  .journal-author { grid-template-columns:1fr; gap:26px; padding-top:36px; margin-top:36px; }
  .journal-author>img { width:100%; max-width:350px; height:350px; }
  .merch-grid { grid-template-columns:1fr; gap:45px; }
  .product-scene { height:360px; }
  .merch-intro h2 .coming-soon { margin-left:7px; }
}
