/* Public-site mobile layer. Desktop declarations and application tools are untouched. */
@media(max-width:620px){
  :root{--mobile-gutter:clamp(18px,5.6vw,26px);--mobile-home-section-gap:30px}
  :root{--font-editorial:'Iowan Old Style','Palatino Linotype','Book Antiqua',Baskerville,'Times New Roman',serif;--font-interface:'Gill Sans','Gill Sans MT',ui-sans-serif,-apple-system,system-ui,Arial,sans-serif;--paper:#fff;--ink:#171714;--body:#34342e;--soft:#6f6d66;--muted:#6f6d66;--quiet:#6f6d66;--rule:#d5d5d1;--link-rule:#aaa9a1;--control-rule:#d5d5d1;--accent:#171714;--space-section:36px;--space-related:14px}
  html,body{background:var(--paper)}
  body{font-family:var(--font-interface);color:var(--ink);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
  h1,h2,h3{font-family:var(--font-editorial);font-weight:400}
  .heading-ending{display:inline;vertical-align:baseline}
  .journal-page,.homepage .journal-page,.homepage.minimal-home .panel-page{box-sizing:border-box;width:100%;max-width:438px;margin-inline:auto;padding:28px var(--mobile-gutter) 56px}
  .homepage.minimal-home #home-content > .journal-page{padding:12px var(--mobile-gutter) 0}
  .homepage.minimal-home:not(.is-compact) #home-content > .journal-page{padding-top:20px}
  .homepage.minimal-home .intro{align-items:center;text-align:center;margin:0 0 var(--mobile-home-section-gap)}
  .homepage.minimal-home:not(.is-compact) .intro::before{content:"";display:block;width:76px;height:76px;margin:0 auto 12px;border-radius:50%;background:url('/assets/justin-about-portrait-2027.jpg') center/cover no-repeat}
  .homepage.minimal-home .intro .intro-copy{font-size:clamp(26px,7.2vw,32px);line-height:1.15;letter-spacing:-.025em;text-wrap:balance}
  .homepage.minimal-home .intro-copy strong{font-weight:400}
  .homepage.minimal-home .home-desktop-bio{display:none}
  .homepage.minimal-home .intro .home-mobile-bio{display:block;width:100%;max-width:38ch;margin:14px auto 0;color:var(--body);font:400 17px/1.55 var(--font-editorial);text-align:center;text-wrap:balance}
  .homepage.minimal-home .panel-page{padding-top:24px}
  .homepage.minimal-home .panel-page .page-stack,.page-stack{display:flex;flex-direction:column;gap:36px;min-width:0}
  .page-heading{gap:14px}
  .page-heading h1{font-size:34px;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
  .page-lede{font-family:var(--font-interface);font-size:18px;line-height:1.55;color:var(--body);text-wrap:pretty}
  .page-meta,.topic-count{font-family:var(--font-interface);font-size:13px;line-height:1.5;color:var(--muted);margin:0}
  .section-label,.article-kicker{font-family:var(--font-interface);font-size:12px;font-weight:400;line-height:1.5;letter-spacing:.1em;color:var(--muted)}
  .section-block{gap:12px;min-width:0}
  .section-block > p{margin:0}
  .prose,.now-page .section-copy,.article-body{font-family:var(--font-reading);font-size:19px;line-height:1.65;color:var(--body)}
  .prose{gap:20px}
  .prose p{margin:0}
  :is(.prose,.article-body,.page-lede,.section-copy){overflow-wrap:break-word}
  .article-body pre,.article-body table{display:block;max-width:100%;overflow-x:auto}
  .journal-page img{max-width:100%}
  .site-footer,.support-footer{font-family:var(--font-interface);font-size:14px;line-height:1.6;color:var(--muted);border:0;padding-top:0;margin-top:4px}
  .homepage.minimal-home .panel-page .site-footer{display:block;margin-top:0}
  .support-footer{gap:8px 20px;margin-top:40px}
  .support-footer a,.essay-footer a,.archive-pagination a{display:inline-flex;align-items:center;min-height:44px}
  .essay-footer,.archive-pagination{font-family:var(--font-interface);font-size:14px;line-height:1.5;gap:12px;flex-wrap:wrap}

  /* Inner-page navigation lives in one compact hamburger menu. */
  .journal-page > .site-nav.mobile-menu-ready,.homepage.minimal-home .site-nav.mobile-menu-ready{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0;margin:0 0 24px;letter-spacing:0;text-transform:none}
  .homepage.minimal-home .site-nav.mobile-menu-ready{margin-bottom:0}
  .site-nav .mobile-site-home{display:inline-flex;align-items:center;grid-column:1;grid-row:1;justify-self:start;min-height:44px;margin:0;color:var(--ink);font:400 19px/1.2 var(--font-editorial);letter-spacing:-.015em;text-decoration:none}
  .site-nav.mobile-menu-ready .mobile-menu-toggle{display:flex;align-items:center;justify-content:flex-end;gap:9px;grid-column:2;grid-row:1;min-width:44px;min-height:44px;margin:0;padding:0;border:0;background:transparent;color:var(--ink)}
  .mobile-menu-icon{display:grid;gap:5px;width:22px}
  .mobile-menu-icon i{display:block;height:1px;background:currentColor}
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon i:first-child{transform:translateY(6px) rotate(45deg)}
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon i:nth-child(2){opacity:0}
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon i:last-child{transform:translateY(-6px) rotate(-45deg)}
  .mobile-menu-ready .mobile-menu-links{grid-column:1/-1;display:none}
  .mobile-menu-toggle[aria-expanded="true"] + .mobile-menu-links{display:grid;gap:0;border:0;margin-top:4px;padding:8px 0 4px}
  .site-nav .mobile-menu-links > a{font-family:var(--font-interface);font-size:17px;line-height:1.5;letter-spacing:0;text-transform:none;min-height:44px;margin:0;padding:8px 0;text-decoration:none}
  .site-nav .mobile-menu-links > a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
  .site-nav .mobile-menu-links a[href^="/wall-of-love"]{display:none}
  .mobile-menu-ready .mobile-menu-links .nav-actions{display:grid;width:100%;margin:8px 0 0}
  .homepage.minimal-home:not(.is-compact) .site-nav .mobile-site-home,
  .homepage.minimal-home:not(.is-compact) .site-nav.mobile-menu-ready .mobile-menu-toggle{display:none}
  .homepage.minimal-home:not(.is-compact) .mobile-menu-ready .mobile-menu-links{display:grid;gap:7px;margin:0;padding:0}
  .homepage.minimal-home:not(.is-compact) .mobile-menu-links .nav-actions{display:contents}
  .homepage.minimal-home:not(.is-compact) .mobile-menu-links a{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:6px 12px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);font:400 16px/1.35 var(--font-interface);text-decoration:none}
  .homepage.minimal-home:not(.is-compact) .mobile-menu-links a:is(:hover,:focus-visible){border-color:var(--ink);background:#f6f6f6}
  .homepage.minimal-home:not(.is-compact) .mobile-menu-links > a:is([aria-current="page"],[href^="/wall-of-love"]){display:none}

  /* Lists stay readable without repeated dates, filters or decorative rules. */
  .page-stack:has(> .archive-controls) > .page-heading :is(.page-lede,.topic-browse),.page-stack > .archive-controls{display:none}
  .page-heading:has(.topic-count) .page-lede{display:none}
  .archive-list{gap:22px}
  .archive-list li{display:block}
  .archive-list a{display:block;font-family:var(--font-editorial);font-size:23px;font-weight:400;line-height:1.25;padding:4px 0 6px;text-decoration:none}
  .archive-list time{display:block;margin:0 0 4px;font:13px/1.45 var(--font-interface);color:var(--muted)}
  .archive-list p{font-family:var(--font-interface);font-size:16px;line-height:1.5;color:var(--muted);margin:0}
  .topic-list{gap:26px}
  .topic-title{gap:16px;align-items:center}
  .topic-title h2{font-family:var(--font-editorial);font-size:25px}
  .topic-title a{display:inline-flex;align-items:center;min-height:44px}
  .topic-title .archive-meta{font-size:12px;white-space:nowrap}
  .topic-list p{font-family:var(--font-interface);font-size:16px;line-height:1.5;margin:4px 0 0}

  /* About and Now: one reading column, with quiet labels. */
  .about-heading{gap:20px;margin-bottom:24px}
  .story-list{display:grid;grid-template-columns:1fr;gap:6px;margin:0}
  .story-list dt{font-family:var(--font-interface);font-size:12px;line-height:1.5;color:var(--muted);margin-top:14px}
  .story-list dt:first-child{margin-top:0}
  .story-list dd{font-family:var(--font-interface);font-size:17px;line-height:1.5;margin:0}
  .polaroid-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;margin:12px 0}
  .polaroid-strip .polaroid,.polaroid-strip .polaroid:nth-child(n){width:100%;margin:0;padding:0;transform:none;box-shadow:none;background:transparent}
  .polaroid-strip .polaroid figcaption{font-family:var(--font-interface);font-size:12px;line-height:1.4;margin-top:8px;color:var(--muted)}
  .home-panel[data-shell-view="/now"] .page-lede,.now-sun{display:none}
  .testimonials{display:flex;flex-direction:column;gap:32px}
  .testimonial{background:transparent;border:0;border-radius:0;padding:0;margin:0;gap:18px;box-shadow:none}
  .testimonial blockquote,.testimonial-quote blockquote{font-family:var(--font-editorial);font-size:25px;font-weight:400;font-style:normal;line-height:1.4}
  .testimonial-name{font-family:var(--font-interface);font-size:16px}
  .testimonial-role{font-family:var(--font-interface);font-size:13px;line-height:1.5}
  .home-panel[data-shell-view="/contact"] .form-note{display:none}
  .home-panel[data-shell-view="/contact"] a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:48px;font-size:20px;text-underline-offset:5px}

  /* The same essay header, with a calm and consistent reading rhythm. */
  .homepage.minimal-home.essay-page .panel-page .page-stack,.essay-page .page-stack{display:block}
  .essay-page .article-back{display:flex;width:max-content;max-width:100%;align-items:center;min-height:44px;font-family:var(--font-interface);font-size:12.16px;line-height:1.55;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none;margin:0 0 18px}
  .essay-page .article-header{display:block;text-align:center;max-width:820px;margin:0 auto 42px;padding:0;border:0}
  .essay-page .article-header > .section-label{display:none}
  .essay-page .article-header h1,.essay-page .article-header h1[data-heading-length="long"]{font-family:var(--font-editorial);font-size:clamp(34px,10vw,43.2px);font-weight:400;line-height:1.05;letter-spacing:-.045em;margin:0 0 20px;text-wrap:balance}
  .essay-page .article-header .heading-ending{display:inline}
  .essay-page .article-subtitle,.essay-page .essay-deck{font-family:var(--font-editorial);font-size:21.6px;font-weight:400;font-style:italic;line-height:1.55;color:var(--muted);margin:0 auto;text-wrap:pretty}
  .essay-page .article-rule,.essay-page .article-header:not(:has(.article-rule))::after{content:"";display:block;width:76px;height:1px;background:var(--ink);margin:36px auto 0}
  .essay-page .article-header .article-meta{font-family:var(--font-interface);font-size:13px;line-height:1.6;margin:20px 0 0;color:var(--muted)}
  .essay-page .article-body{display:block;max-width:100%;margin:0;font-size:19px;line-height:1.65;letter-spacing:normal}
  .essay-page .article-body p{margin:0 0 20px}
  .essay-page .article-body h2,.essay-page .article-body h3{font-family:var(--font-editorial);font-weight:400;font-size:26px;line-height:1.2;margin:32px 0 16px}
  .essay-page .article-body :is(ul,ol){margin:0 0 24px;padding-left:24px}
  .essay-page .article-body li{margin-bottom:10px}
  .essay-page .article-body figure{margin:28px 0}
  .essay-page .article-body img{display:block;max-width:100%;height:auto;margin:0 auto}
  .essay-page .article-details{margin:40px 0 16px}
  .essay-page .article-details .article-meta{font-family:var(--font-interface);font-size:12px;line-height:1.7;margin:6px 0 0}
  .essay-page .gate-reopen{display:block;min-height:48px;margin:24px auto;font-size:16px}
  .essay-page .essay-footer{margin-top:24px}

  .home-panel .book-coming-soon .book-page,.home-panel .call-page{padding-inline:var(--mobile-gutter)}
  .home-panel .book-coming-soon .book-cover{width:clamp(140px,43vw,205px);margin-bottom:24px}
  .home-panel .book-coming-soon .article-subtitle{font-size:16px}
  .home-panel .call-page .call-profile{display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:14px;align-content:start}
  .home-panel .call-page .call-portrait{grid-row:1/span 3;aspect-ratio:1}
  .home-panel .call-page .call-profile h1{font-size:clamp(27px,8vw,38px);margin-top:0}
  .home-panel .call-page .call-byline{font-size:15px}
  .home-panel .call-page .call-rating{column-gap:5px;font-size:13px}

  /* Small-screen forms use full-size fields and a clear next action. */
  .quiet-newsletter,.essay-gate-modal .quiet-newsletter,.essay-newsletter .quiet-newsletter{display:flex;flex-direction:column;align-items:stretch;gap:10px;max-width:100%}
  .quiet-newsletter input,.quiet-newsletter button,.contact-form input,.contact-form textarea,.comment-form input,.comment-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:50px;padding:12px 14px;border:1px solid var(--rule);border-radius:2px;background:var(--paper);font-family:var(--font-interface);font-size:16px;line-height:24px;box-shadow:none}
  .quiet-newsletter button,.contact-form button,.comment-form button{min-height:50px;background:var(--ink);border:1px solid var(--ink);border-radius:2px;color:var(--paper);font-family:var(--font-interface);font-size:16px;line-height:24px;padding:12px 18px}
  .form-note,.support-small,.newsletter-status{font-family:var(--font-interface);font-size:13px;line-height:1.5}
  .essay-gate-modal{background:var(--paper);border:0;border-top:1px solid var(--rule);padding:32px 24px max(24px,env(safe-area-inset-bottom))!important;max-height:85dvh}
  .essay-gate-modal h2{max-width:calc(100% - 28px);font-size:29px;line-height:1.15;margin:8px auto 16px}
  .essay-gate-modal > p:not(.section-label){font-family:var(--font-interface);font-size:16px;line-height:1.5}
  .gate-close{width:44px;height:44px;right:6px;top:4px}
  .mobile-gate-close{position:absolute;display:flex;align-items:center;justify-content:center;right:6px;top:4px;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--muted);font-size:27px;line-height:1}

  /* Subscribe is a mobile landing page, not a squeezed desktop viewport. */
  body.subscribe-minimal{height:auto;min-height:100svh;overflow:visible;overscroll-behavior-y:auto}
  .subscribe-minimal .journal-page{width:100%;max-width:438px;padding:48px 24px 40px}
  .subscribe-invitation h1{font-size:32px;line-height:1.15;margin-bottom:20px}
  .subscribe-invitation h1 span{display:block;text-wrap:balance}
  .subscribe-invitation h1 br{display:none}
  .subscribe-description{font-family:var(--font-editorial);font-size:20px;line-height:1.45;text-wrap:balance}
  .subscribe-keep-together{white-space:normal}
  .subscribe-capture{margin-top:28px}
  .subscribe-minimal .quiet-newsletter{gap:10px}
  .subscribe-minimal .quiet-newsletter input,.subscribe-minimal .quiet-newsletter button{width:100%;min-height:50px;padding:12px 14px}
  .subscribe-reassurance{font-size:12px;margin-top:12px}
  .subscribe-quotes{display:flex;flex-direction:column;gap:28px;margin-top:36px}
  .subscribe-quotes blockquote{font-size:20px;line-height:1.4;min-height:0}
  .subscribe-quotes figcaption{display:block;font-size:13px;line-height:1.5;margin-top:10px}
  .subscribe-quotes figcaption span,.subscribe-quotes figcaption em{display:block}
  .subscribe-quotes figcaption em{font-size:12px;font-style:normal}
  .subscribe-minimal .landscape-footer{flex:none;width:100%;height:170px;max-height:none;margin:auto 0 0}

  /* Supporting pages retain their content and working forms. */
  .resource-sections{gap:0 20px;font-family:var(--font-interface);font-size:14px}
  .resource-sections a{display:inline-flex;align-items:center;min-height:44px}
  .resource-list,.resource-tools{gap:28px;margin-top:0}
  .resource-link{grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:start}
  .resource-link img{width:64px;filter:none}
  .resource-link h3,.resource-tool h3{font-family:var(--font-editorial);font-size:22px;line-height:1.2;margin:0 0 10px}
  .resource-link p:not(.section-label),.resource-tool p{font-family:var(--font-interface);font-size:16px;line-height:1.5}
  .resource-cta{font-family:var(--font-interface);font-size:14px;margin-top:10px}
  .guide-cover{width:160px;max-width:60%;margin:0 auto}
  .guide-cover img{filter:none}
  .support-editorial dl{margin:0}
  .support-editorial dt{font-family:var(--font-interface);font-size:15px;line-height:1.5;margin:20px 0 6px}
  .support-editorial dd{margin:0;font-size:17px;line-height:1.55}
  .support-form .support-choice{min-height:44px;margin:0;padding:8px 0;align-items:center}

  /* Course pages keep their offer and checkout, with one uncluttered column. */
  .masterclass-sale-bar{display:none}
  .plp-hero{padding:0;margin:0}
  .plp-hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:28px;min-width:0}
  .plp-hero-copy{min-width:0}
  .plp-title{font-family:var(--font-editorial);font-size:34px;line-height:1.12;letter-spacing:-.025em;margin:16px 0 20px}
  .plp-lede,.plp-body{font-family:var(--font-interface);font-size:18px;line-height:1.55;color:var(--body)}
  .plp-cta-row{gap:12px;margin-top:24px}
  .plp-cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:50px;max-width:100%;padding:12px 20px;border-radius:2px;background:var(--ink);color:var(--paper);font-family:var(--font-interface);font-size:16px;line-height:1.5;text-decoration:none}
  .plp-save-badge{background:none;padding:0;font-size:13px;color:var(--muted)}
  .plp-fine{font-family:var(--font-interface);font-size:13px;line-height:1.5;color:var(--muted)}
  .plp-hero-box{width:160px;max-width:100%;margin:0 auto}
  .plp-hero-box img{width:100%;filter:none}
  .course-facts{display:flex;flex-wrap:wrap;gap:10px 18px;padding:20px 0;border:0;font-family:var(--font-interface);font-size:13px}
  .plp-section,.plp-section:has(.masterclass-pricing-amount){padding:36px 0;margin:0;border:0}
  .plp-section-title,.plp-final-title{font-family:var(--font-editorial);font-size:29px;line-height:1.15;margin:0 0 24px}
  .plp-quote-grid{grid-template-columns:1fr;gap:28px}
  .plp-quote{background:transparent;border:0;padding:0;font-family:var(--font-editorial);font-size:21px}
  .plp-about{display:flex;flex-direction:column;gap:20px}
  .plp-about-portrait{width:96px;height:96px;object-fit:cover;border-radius:50%}
  .masterclass-bonuses dt,.plp-faq dt{font-family:var(--font-editorial);font-size:23px;line-height:1.25}
  .masterclass-bonuses dd,.plp-faq dd{font-family:var(--font-interface);font-size:16px;line-height:1.6}
  .essay-ty{padding:0}
  .essay-ty-grid{display:flex;flex-direction:column;gap:24px}
  .essay-ty-title{font-size:34px;line-height:1.15;letter-spacing:-.025em;margin-bottom:20px}
  .essay-ty-body{font-family:var(--font-interface);font-size:18px;line-height:1.55;margin-bottom:0}
  .essay-ty-signature{display:none}
  .marker-highlight{background:none;padding:0}
  .reader-survey{margin:0 0 24px}
  .reader-survey button{min-height:50px;background:var(--paper);border:1px solid var(--rule);border-radius:2px;font-family:var(--font-interface);font-size:16px}
  .reader-survey.survey-done{background:transparent;padding:0;border-radius:0}
  .reader-survey .survey-pitch-sale{background:transparent;padding:0;color:var(--muted);border-radius:0}
  .reader-survey .survey-pitch-cta{background:var(--ink);border-radius:2px;min-height:48px}
}

/* Native taps throughout the public site; retain scrolling and pinch zoom. */
@media(max-width:840px),(any-pointer:coarse){a,button,summary{touch-action:manipulation}}
