
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Roboto+Condensed:wght@500;600;700;800&family=Source+Serif+4:ital,wght@0,400;0,600;1,400;1,600&display=swap');
:root{--paper:#F6F1E7;--paper2:#FFFDF8;--paper-texture:url('../images/core/paper.webp');--ink:#121615;--ink2:#57534D;--line:#CFC7B9;--red:#DC321F;--red2:#A5231A;--max:1440px;--read:660px;--g:clamp(20px,3vw,48px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;background-color:var(--paper);background-image:var(--paper-texture);background-repeat:repeat;background-size:1000px auto;color:var(--ink);font-family:"Source Serif 4",Georgia,serif;font-size:16px;line-height:1.62}
a{color:inherit;text-decoration:none}a:hover{text-decoration:none}img{max-width:100%;height:auto;display:block}.site-shell{min-height:100vh}.site-header{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;position:relative;background-color:var(--paper);background-image:var(--paper-texture);background-repeat:repeat;background-size:1000px auto;z-index:30}.header-inner{width:min(var(--max),100%);margin:auto;padding:0 var(--g);display:flex;align-items:center;gap:28px}.brand{font-family:"Roboto Condensed","Arial Narrow",sans-serif;font-size:27px;font-weight:800;line-height:1;letter-spacing:-1.7px;white-space:nowrap}.brand .red{color:var(--red)}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:24px;font-family:"Roboto Condensed","Arial Narrow",sans-serif;font-size:14px}.desktop-nav a{padding:7px 0;border-bottom:2px solid transparent}.desktop-nav a.active{border-color:var(--red)}.desktop-nav .subscribe-link{font-family:"Source Serif 4",Georgia,serif;background:var(--red);color:var(--paper2);border:1px solid var(--red2);padding:8px 14px}.header-actions{margin-left:auto;display:none;gap:8px}.icon-btn{width:44px;height:44px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.icon-btn img{width:20px;height:20px}.main{width:min(var(--max),100%);margin:0 auto;padding:0 var(--g)}.eyebrow{font-family:"Roboto Condensed","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--red);line-height:1.2}.meta{font-family:"Roboto Condensed","Arial Narrow",sans-serif;font-size:12px;color:var(--ink2);line-height:1.25}.display{font-family:"DM Serif Display",Georgia,serif;font-weight:400;line-height:.98;letter-spacing:-.025em;margin:0}.h1{font-size:clamp(44px,5vw,74px)}.page-h1{font-size:clamp(40px,4.2vw,60px)}.h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(28px,2.6vw,38px);line-height:1.03}.dek{font-size:clamp(18px,1.8vw,23px);line-height:1.34;color:#2E322F;max-width:650px}.rule{border:0;border-top:1px solid var(--line);margin:0}.button{display:inline-flex;min-height:42px;align-items:center;gap:18px;background:var(--red);border:1px solid var(--red2);color:var(--paper2);padding:0 16px;font-family:"Source Serif 4",Georgia,serif;font-weight:600;cursor:pointer}.text-link{display:inline-block;border-bottom:1px solid var(--red);line-height:1.2}.row-arrow{color:var(--red);font-size:20px}.hero{padding:70px 0 52px}.home-hero{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(330px,.72fr);align-items:center;gap:80px;min-height:650px}.home-copy{max-width:700px}.home-copy .dek{max-width:530px;margin:14px 0 22px}.home-support{max-width:500px;margin:0 0 28px;font-size:18px;line-height:1.45}.hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.hero-art img{width:min(480px,100%);margin:auto}.parts-overview{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.part-mini{padding:34px 26px 38px;border-right:1px solid var(--line)}.part-mini:last-child{border-right:0}.part-num{font-family:"DM Serif Display";font-size:30px;color:var(--red);line-height:1}.part-mini h3{font-family:"DM Serif Display";font-size:24px;font-weight:400;margin:8px 0 2px}.part-mini p{font-size:14px;line-height:1.42;margin:14px 0 0}.featured{padding:68px 0 86px;display:grid;grid-template-columns:170px minmax(0,1fr) 260px;gap:34px;align-items:start}.featured .week-big{font-family:"DM Serif Display";color:var(--red);font-size:58px;line-height:.9}.featured h2{margin:0 0 12px;font-family:"DM Serif Display";font-size:34px;line-height:1.02;font-weight:400}.featured p{margin:0}.small-art{align-self:end}.page-intro{padding:60px 0 34px;max-width:740px}.page-intro .page-h1{margin:6px 0 8px}.book-layout{padding-bottom:82px}.book-part{display:grid;grid-template-columns:280px 1fr;gap:44px;padding:36px 0;border-top:1px solid var(--line)}.book-part-title{display:flex;gap:16px;align-items:flex-start}.book-part-title .part-num{font-size:33px}.book-part h2{font-family:"DM Serif Display";font-size:27px;line-height:1.05;font-weight:400;margin:0}.week-grid{display:grid;grid-template-columns:repeat(13,minmax(36px,1fr));gap:7px;align-content:start}.week-cell{height:38px;border:1px solid var(--line);display:grid;place-items:center;font-family:"Roboto Condensed";font-weight:600;font-size:11px;background:rgba(255,253,248,.16)}.week-cell:hover{border-color:var(--red);color:var(--red)}.book-closing{display:grid;grid-template-columns:130px 1fr;gap:30px;align-items:center;max-width:680px;margin:28px auto 0}.book-closing img{width:120px}.book-closing blockquote{font-style:italic;font-size:18px;line-height:1.35;margin:0}.back-link{font-family:"Roboto Condensed";font-size:12px;display:inline-flex;gap:8px;align-items:center;margin:36px 0 16px}.part-hero,.path-detail-hero,.topic-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:70px;align-items:center;padding:12px 0 54px}.part-hero .statement{font-family:"DM Serif Display";font-size:31px;line-height:1.08;margin:16px 0 14px}.part-image img,.path-detail-hero img,.topic-detail-hero img{max-height:460px;object-fit:contain;margin:auto}.essay-list{border-top:1px solid var(--line)}.essay-row{display:grid;grid-template-columns:58px minmax(0,1fr) 84px 18px;gap:18px;align-items:start;padding:20px 0;border-bottom:1px solid var(--line)}.essay-row .week{font-family:"Roboto Condensed";color:var(--red);font-weight:700;font-size:12px}.essay-row h3{font-family:"DM Serif Display";font-size:22px;line-height:1.06;font-weight:400;margin:0 0 4px}.essay-row p{font-size:13px;line-height:1.42;margin:0;color:var(--ink2)}.essay-row .time{font-family:"Roboto Condensed";font-size:11px;color:var(--ink2);white-space:nowrap;padding-top:2px}.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:54px 0 16px}.section-title-row h2{margin:0}.topics-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line);margin:18px 0 70px}.topic-tile{min-height:160px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px;display:flex;flex-direction:column;justify-content:space-between}.topic-tile img{width:28px;height:28px}.topic-tile h3{font-family:"DM Serif Display";font-weight:400;font-size:22px;line-height:1.05;margin:18px 0 4px}.topic-tile .meta-row{display:flex;justify-content:space-between;gap:10px}.topic-list-mobile{display:none}.topic-detail-weeks{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.topic-detail-weeks .week-cell{width:38px}.related-links{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}.tag-link,.tag{font-family:"Roboto Condensed";font-size:10px;border:1px solid var(--line);padding:5px 7px;line-height:1;background:rgba(255,253,248,.2)}.tag-link:hover{border-color:var(--red)}.paths-index{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);gap:70px;padding-bottom:80px}.path-list{border-top:1px solid var(--line)}.path-row{display:grid;grid-template-columns:54px 1fr 18px;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}.path-num{font-family:"DM Serif Display";color:var(--red);font-size:32px;line-height:1}.path-row h3{font-family:"DM Serif Display";font-weight:400;font-size:23px;line-height:1.05;margin:0 0 5px}.path-row p{font-size:13px;line-height:1.38;margin:0 0 4px}.path-side img{max-height:520px;object-fit:contain;margin:0 auto 24px}.path-side blockquote{font-style:italic;font-size:15px;line-height:1.42;border-top:1px solid var(--line);padding-top:18px}.path-meta{font-family:"Roboto Condensed";font-size:11px;color:var(--ink2)}.path-steps{max-width:850px;margin:0 auto 70px}.path-step{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:28px 0;border-top:1px solid var(--line)}.path-step:last-child{border-bottom:1px solid var(--line)}.path-step .step{font-family:"DM Serif Display";font-size:34px;color:var(--red);line-height:1}.path-step .week-label{font-family:"Roboto Condensed";font-size:11px;color:var(--red);font-weight:700}.path-step h3{font-family:"DM Serif Display";font-size:25px;line-height:1.05;font-weight:400;margin:3px 0 8px}.path-step p{margin:0 0 7px;font-size:14px;line-height:1.48}.outcomes{max-width:850px;margin:0 auto 80px;display:grid;grid-template-columns:220px 1fr;gap:34px}.outcomes ul{margin:0;padding-left:18px}.essay-header{max-width:760px;padding:36px 0 20px}.breadcrumbs{font-family:"Roboto Condensed";font-size:11px;margin-bottom:28px}.essay-header h1{font-family:"DM Serif Display";font-weight:400;font-size:clamp(42px,4.4vw,64px);line-height:.95;letter-spacing:-.025em;margin:8px 0 14px}.essay-meta-row{display:flex;flex-wrap:wrap;gap:8px 15px;align-items:center;margin:16px 0 0}.tags{display:flex;flex-wrap:wrap;gap:6px}.essay-hero{max-width:820px;margin:22px auto 46px}.essay-hero img{width:100%;max-height:620px;object-fit:contain}.article{max-width:var(--read);margin:0 auto;font-size:17px;line-height:1.68}.article p{margin:0 0 1.34em}.article h2{font-family:"DM Serif Display";font-size:29px;line-height:1.05;font-weight:400;margin:2.2em 0 .65em}.article strong{font-weight:600}.article blockquote{border-left:2px solid var(--red);padding-left:20px;margin:2em 0;font-style:italic}.article>p:first-child:first-letter{font-family:"DM Serif Display";float:left;font-size:66px;line-height:.74;padding:8px 8px 0 0}.article-end{max-width:850px;margin:70px auto 90px}.continue{border-top:1px solid var(--line);padding-top:28px}.continue h2{margin-top:0}.prev-next{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:start;border-top:1px solid var(--line);margin-top:52px;padding-top:22px}.prev-next>a:last-child{text-align:right}.position{font-family:"Roboto Condensed";font-size:11px;text-align:center;cursor:pointer}.search-page{max-width:920px;padding-bottom:90px}.search-box{display:flex;gap:0;margin:18px 0 30px}.search-box input,.subscribe-form input{height:46px;border:1px solid var(--line);border-radius:0;background:rgba(255,253,248,.34);padding:0 14px;font-family:"Source Serif 4";font-size:16px;color:var(--ink);outline:none}.search-box input{flex:1}.search-box input:focus,.subscribe-form input:focus{outline:2px solid var(--ink);outline-offset:1px}.search-box button{min-width:120px}.search-results{border-top:1px solid var(--line)}.result-row{padding:24px 0;border-bottom:1px solid var(--line)}.result-row .result-top{display:flex;justify-content:space-between;gap:20px}.result-row h3{font-family:"DM Serif Display";font-size:25px;line-height:1.05;font-weight:400;margin:4px 0 7px}.result-row p{font-size:14px;line-height:1.45;margin:0 0 9px}.search-empty{padding:34px 0;font-style:italic}.about-hero{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:70px;align-items:start;padding:58px 0 48px}.about-copy{max-width:650px}.about-copy h1{margin:6px 0 20px}.about-copy p{font-size:17px;line-height:1.58}.portrait img{max-height:580px;object-fit:contain;margin:auto}.signature{margin:22px 0 6px}.signature img{width:min(248px,78%);height:auto;display:block}.subscribe-module{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0;margin:30px 0 70px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.subscribe-module h2{margin:0 0 5px}.subscribe-module p{margin:0;font-size:14px}.subscribe-form{display:flex;gap:0}.subscribe-form input{flex:1;min-width:0}.subscribe-message{font-size:13px;margin-top:8px;color:var(--ink2)}.footer{border-top:1px solid var(--line);padding:26px var(--g) 36px;font-family:"Roboto Condensed";font-size:11px;color:var(--ink2)}.footer-inner{width:min(var(--max),100%);margin:auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-links{display:flex;gap:20px}.overlay{position:fixed;inset:0;background-color:var(--paper);background-image:var(--paper-texture);background-repeat:repeat;background-size:1000px auto;z-index:100;display:none;overflow:auto}.overlay.open{display:block}.overlay-inner{width:min(520px,100%);margin:0 auto;padding:0 24px 50px}.overlay-head{height:70px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.overlay-title{font-family:"DM Serif Display";font-size:24px}.menu-brand-copy{font-size:13px;margin:16px 0}.menu-row{display:grid;grid-template-columns:1fr 18px;padding:14px 0;border-top:1px solid var(--line)}.menu-row h3{font-family:"DM Serif Display";font-size:20px;font-weight:400;line-height:1.08;margin:0}.menu-row p{font-size:12px;line-height:1.35;margin:3px 0 0}.menu-parts{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.menu-part{display:flex;justify-content:space-between;padding:8px 0;font-family:"DM Serif Display";font-size:17px}.week-overlay-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:18px}.week-overlay-grid .week-cell{height:36px}.week-overlay-grid .current{background:var(--red);color:var(--paper2);border-color:var(--red2)}.not-found{max-width:700px;padding:100px 0 140px}.not-found h1{margin:8px 0 14px}.not-found-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.source-note{font-family:"Roboto Condensed";font-size:11px;color:var(--ink2);border-top:1px solid var(--line);padding-top:14px;margin-top:18px}
@media(max-width:1023px){.desktop-nav{display:none}.header-actions{display:flex}.site-header{height:64px}.home-hero{grid-template-columns:1fr .75fr;gap:40px;min-height:560px}.parts-overview{grid-template-columns:repeat(2,1fr)}.part-mini:nth-child(2){border-right:0}.part-mini:nth-child(-n+2){border-bottom:1px solid var(--line)}.featured{grid-template-columns:120px 1fr}.featured .small-art{display:none}.book-part{grid-template-columns:220px 1fr}.week-grid{grid-template-columns:repeat(7,1fr)}.topics-grid{grid-template-columns:repeat(2,1fr)}.paths-index{gap:40px}.about-hero{grid-template-columns:1fr 340px}.part-hero,.path-detail-hero,.topic-detail-hero{gap:40px}}
@media(max-width:767px){body{font-size:16px}.main{padding:0 22px}.brand{font-size:26px}.hero{padding:46px 0 30px}.home-hero{display:flex;flex-direction:column;align-items:stretch;gap:30px;min-height:0}.home-copy .display{font-size:51px;max-width:320px}.home-copy .dek{font-size:19px;max-width:330px}.home-support{font-size:16px;max-width:340px}.hero-art img{width:100%;max-height:470px;object-fit:contain}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.parts-overview{display:block}.part-mini{border-right:0;border-bottom:1px solid var(--line)!important;padding:25px 4px}.part-mini:last-child{border-bottom:0!important}.part-mini p{max-width:420px}.featured{display:block;padding:50px 0 64px}.featured .week-big{font-size:40px;margin-bottom:10px}.featured h2{font-size:29px}.page-intro{padding:44px 0 26px}.page-h1{font-size:43px}.book-part{display:block;padding:28px 0}.book-part-title{margin-bottom:15px}.book-part .meta{margin-top:7px}.week-grid{grid-template-columns:repeat(7,1fr);gap:6px}.week-cell{height:35px}.book-closing{grid-template-columns:82px 1fr;gap:20px}.book-closing img{width:78px}.book-closing blockquote{font-size:15px}.part-hero,.path-detail-hero,.topic-detail-hero{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding-bottom:38px}.part-hero .statement{font-size:27px}.part-image img,.path-detail-hero img,.topic-detail-hero img{max-height:390px}.essay-row{grid-template-columns:44px 1fr 15px;gap:12px;padding:17px 0}.essay-row .time{display:none}.essay-row h3{font-size:20px}.essay-row p{font-size:12.5px}.topics-grid{display:none}.topic-list-mobile{display:block;border-top:1px solid var(--line);margin-bottom:55px}.topic-mobile-row{display:grid;grid-template-columns:34px 1fr 16px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.topic-mobile-row img{width:25px;height:25px}.topic-mobile-row h3{font-family:"DM Serif Display";font-size:18px;line-height:1.05;font-weight:400;margin:0}.topic-mobile-row .count{font-family:"Roboto Condensed";font-size:10px;color:var(--ink2);margin-top:2px}.paths-index{display:flex;flex-direction:column-reverse;gap:18px;padding-bottom:60px}.path-side img{max-height:410px}.path-side blockquote{display:none}.path-row{grid-template-columns:43px 1fr 15px;gap:12px;padding:19px 0}.path-num{font-size:28px}.path-row h3{font-size:20px}.path-step{grid-template-columns:42px 1fr;gap:13px;padding:22px 0}.path-step .step{font-size:29px}.path-step h3{font-size:22px}.outcomes{display:block;margin-bottom:60px}.outcomes h2{margin-bottom:14px}.essay-header{padding:28px 0 13px}.breadcrumbs{margin-bottom:21px}.essay-header h1{font-size:43px}.essay-header .dek{font-size:18px}.essay-hero{margin:17px -4px 35px}.article{font-size:16px;line-height:1.66}.article h2{font-size:26px}.article-end{margin:55px 0 70px}.prev-next{grid-template-columns:1fr 1fr}.prev-next .position{grid-column:1/-1;grid-row:2}.subscribe-module{display:block;padding:28px 0;margin-bottom:55px}.subscribe-form{margin-top:18px}.about-hero{display:flex;flex-direction:column;gap:25px;padding:44px 0 30px}.about-copy h1{font-size:43px}.portrait{order:2}.portrait img{max-height:470px}.search-box{display:block}.search-box input{width:100%}.search-box button{width:100%;margin-top:8px}.footer{padding-left:22px;padding-right:22px}.footer-inner{display:block}.footer-links{margin-top:10px}.not-found{padding:70px 0 100px}}


/* v1.3 — integrated editorial art treatment */
.book-intro-art{display:none}
@media(min-width:768px){
  .home-hero{position:relative;display:block;min-height:680px;padding:84px 0 64px;overflow:visible}
  .home-copy{position:relative;z-index:2;max-width:620px;padding-top:12px}
  .hero-art{position:absolute;right:0;top:30px;width:min(46%,560px);z-index:1;pointer-events:none}
  .hero-art img{width:100%;max-height:none;margin:0;transform:translateX(3%)}
  .parts-overview{margin-top:10px}

  .featured{position:relative;grid-template-columns:150px minmax(0,780px);gap:28px;align-items:start;padding-right:260px;min-height:240px}
  .featured>div:nth-child(2), .featured .week-big{position:relative;z-index:2}
  .featured .small-art{display:block;position:absolute;right:0;bottom:30px;width:min(250px,22vw);z-index:1;pointer-events:none}

  .page-intro{position:relative;max-width:760px;padding:68px 0 34px}
  .book-intro-art{display:block;position:absolute;right:-700px;top:-8px;width:680px;pointer-events:none}
  .book-intro-art img{width:100%;height:auto}
  .book-layout{padding-top:16px}

  .about-hero{position:relative;grid-template-columns:minmax(0,1fr) 430px;gap:42px;align-items:start;overflow:visible}
  .about-copy{position:relative;z-index:2;max-width:680px}
  .portrait{position:relative;z-index:1;margin-left:-52px;margin-top:-6px}
  .portrait img{width:100%;max-height:none}

  .paths-index{position:relative;grid-template-columns:minmax(0,1fr) 430px;gap:44px;align-items:start}
  .path-side{position:sticky;top:96px;align-self:start;margin-top:42px}
  .path-side img{width:114%;max-height:none;margin:0 0 18px -9%}
  .path-side blockquote{margin:0 0 0 36px;max-width:300px}

  .part-hero,.path-detail-hero,.topic-detail-hero{position:relative;gap:34px}
  .part-image,.path-detail-hero > div:last-child,.topic-detail-hero > div:last-child{margin-left:-28px}
  .part-image img,.path-detail-hero img,.topic-detail-hero img{max-height:none;width:100%}

  .book-closing{max-width:860px;grid-template-columns:110px 1fr;gap:26px}
}

@media(max-width:767px){
  .featured .small-art{display:block;margin:18px 0 0 auto;width:min(62%,240px)}
  .about-hero .portrait{margin:0 -6px 0 auto;max-width:420px}
  .paths-index{display:flex;flex-direction:column-reverse;gap:12px}
  .path-side{margin:0 -6px 6px}
  .path-side img{width:100%;margin:0 auto 12px}
  .path-side blockquote{display:block;border-top:1px solid var(--line);padding-top:12px;font-size:14px}
}


/* v1.4 — closer concept-board match with deeper art integration */
@media(min-width:768px){
  .home-hero{display:block;position:relative;min-height:610px;padding:88px 0 110px;overflow:visible}
  .home-copy{position:relative;z-index:3;max-width:560px}
  .home-copy .display{max-width:540px}
  .home-copy .dek{max-width:460px}
  .home-support{max-width:520px}
  .hero-art{position:absolute;right:-1.5%;bottom:-148px;width:min(52%,630px);z-index:1;pointer-events:none}
  .hero-art img{width:100%;max-height:none;transform:none;filter:none}
  .parts-overview{position:relative;z-index:4;margin-top:-6px;background-color:transparent;background-image:var(--paper-texture);background-repeat:repeat;background-size:1000px auto}
  .part-mini{background:transparent}

  .featured{position:relative;grid-template-columns:130px minmax(0,760px);gap:32px;align-items:start;padding:62px 210px 96px 0;min-height:250px;overflow:visible}
  .featured .week-big,.featured>div:nth-child(2){position:relative;z-index:2}
  .featured .small-art{display:block;position:absolute;right:0;bottom:8px;width:min(280px,24vw);z-index:1;pointer-events:none}
  .featured .small-art img{width:100%}

  .page-intro{position:relative;max-width:720px;padding:68px 0 42px;z-index:2}
  .book-intro-art{display:block;position:absolute;right:-760px;top:-4px;width:min(760px,62vw);z-index:1;pointer-events:none}
  .book-intro-art img{width:100%;height:auto}
  .book-layout{position:relative;z-index:3;padding-top:6px}
  .book-part:first-child{position:relative}

  .about-hero{position:relative;grid-template-columns:minmax(0,1fr) 450px;gap:28px;align-items:start;padding:58px 0 44px;overflow:visible}
  .about-copy{position:relative;z-index:2;max-width:650px}
  .portrait{position:relative;z-index:1;margin-left:-40px;margin-right:-24px;margin-top:-8px;pointer-events:none}
  .portrait img{width:100%;max-height:none}

  .paths-index{position:relative;grid-template-columns:minmax(0,1fr) 450px;gap:34px;padding-bottom:82px;align-items:start}
  .path-list{position:relative;z-index:2}
  .path-side{position:relative;z-index:1;align-self:start;margin-top:18px}
  .path-side img{width:112%;max-height:none;margin:0 0 14px -8%}
  .path-side blockquote{margin:0 0 0 42px;max-width:300px}
}

@media(max-width:767px){
  .hero-art{margin-top:-8px}
  .hero-art img{width:100%;max-width:360px;margin-left:auto}
  .featured{position:relative;padding-bottom:44px}
  .featured .small-art{display:block;position:relative;right:auto;bottom:auto;margin:18px 0 0 auto;width:min(62%,250px)}
  .book-intro-art{display:block;position:relative;right:auto;top:auto;width:100%;margin:18px 0 0}
  .book-intro-art img{width:100%;max-width:100%}
  .about-hero .portrait{margin:0 -10px 0 auto;max-width:420px}
  .path-side{margin:0 -8px 6px}
  .path-side img{width:100%;margin:0 auto 12px}
}


/* v1.5 — desktop fidelity pass */
@media(min-width:1024px){
  .header-inner{padding:0 28px}
  .desktop-nav{gap:28px}
  .main{padding:0 28px}

  .page-home .home-hero{min-height:640px;padding:86px 0 94px}
  .page-home .home-copy{max-width:540px}
  .page-home .hero-art{right:-2%;bottom:-172px;width:min(53%,700px)}
  .page-home .hero-art img{width:100%}
  .page-home .parts-overview{position:relative;z-index:6;margin-top:-20px}
  .page-home .part-mini{padding:32px 24px 34px}
  .page-home .featured{padding:78px 260px 106px 0;grid-template-columns:120px minmax(0,780px)}
  .page-home .featured .small-art{width:min(320px,26vw);bottom:18px}

  .page-book .page-intro{max-width:650px;padding:74px 0 38px}
  .page-book .book-intro-art{right:-820px;top:-18px;width:min(820px,64vw)}
  .page-book .book-layout{padding-bottom:90px}
  .page-book .book-part{grid-template-columns:260px 1fr;gap:52px}
  .page-book .week-grid{grid-template-columns:repeat(13,minmax(34px,1fr));gap:8px}
  .page-book .book-closing{max-width:920px;margin-top:34px}

  .page-topics .topics-intro{display:block;max-width:640px;padding:70px 0 28px}
  .page-topics .topics-intro .intro-secondary{padding-top:14px;font-size:17px;line-height:1.5;max-width:none}
  .page-topics .topics-grid{margin-top:22px;margin-bottom:44px}
  .page-topics .topic-tile{min-height:148px;padding:22px 20px}
  .page-topics .book-closing{max-width:none;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:end;margin:8px 0 74px;border-top:1px solid var(--line);padding-top:18px}
  .page-topics .book-closing img{order:2;width:320px;justify-self:end;align-self:end}
  .page-topics .book-closing blockquote{order:1;max-width:620px;font-size:18px;line-height:1.4}

  .page-paths .page-intro{max-width:640px;padding:74px 0 24px}
  .page-paths .paths-index{grid-template-columns:minmax(0,760px) 480px;gap:26px;padding-bottom:90px}
  .page-paths .path-side{margin-top:32px}
  .page-paths .path-side img{width:118%;margin:0 0 18px -12%}
  .page-paths .path-side blockquote{margin-left:46px;max-width:310px}

  .page-about .about-hero{grid-template-columns:minmax(0,1fr) 480px;gap:24px;padding:66px 0 52px}
  .page-about .about-copy{max-width:640px}
  .page-about .portrait{margin-left:-54px;margin-right:-6px}
  .page-about .portrait img{width:100%}
}

/* v1.6 — split Read the Guide from the 52-Week Index */
@media(min-width:1024px){
  .page-book-entry .main{padding-top:0}
  .read-book-hero{display:grid;grid-template-columns:minmax(0,560px) minmax(480px,1fr);gap:44px;align-items:end;position:relative;padding:76px 0 22px;border-bottom:1px solid var(--line);min-height:360px}
  .read-book-copy{position:relative;z-index:2;padding-bottom:34px}
  .read-book-copy .page-h1{font-size:66px;margin:8px 0 8px}
  .read-book-copy .dek{font-size:24px;margin:0 0 16px}
  .read-book-support{font-size:17px;line-height:1.5;max-width:520px;margin:0 0 14px}
  .read-index-link{font-size:15px}
  .read-book-art{position:relative;z-index:1;align-self:end;margin-right:-24px;overflow:visible}
  .read-book-art img{width:112%;max-width:none;margin-left:-6%;margin-bottom:-2px}

  .read-book-parts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
  .read-part{padding:30px 24px 34px;border-right:1px solid var(--line);min-height:245px;display:flex;flex-direction:column;align-items:flex-start}
  .read-part:last-child{border-right:0}
  .read-part-num{font-family:"DM Serif Display",Georgia,serif;color:var(--red);font-size:34px;line-height:1}
  .read-part h2{font-family:"DM Serif Display",Georgia,serif;font-size:30px;font-weight:400;line-height:1;margin:10px 0 4px}
  .read-part-range{font-size:15px;line-height:1.2;margin-bottom:12px}
  .read-part p{font-size:16px;line-height:1.45;margin:0 0 18px;max-width:245px}
  .read-part .text-link{margin-top:auto}

  .read-book-closing{display:grid;grid-template-columns:300px minmax(0,1fr);gap:36px;align-items:center;max-width:920px;margin:8px auto 0;padding:28px 0 40px}
  .read-book-closing img{width:280px}
  .read-book-closing blockquote{font-style:italic;font-size:23px;line-height:1.35;margin:0;text-align:center}

  .page-weeks .weeks-intro{display:grid;grid-template-columns:minmax(0,570px) minmax(280px,390px);justify-content:space-between;gap:80px;align-items:start;max-width:none;padding:70px 0 38px;border-bottom:1px solid var(--line)}
  .page-weeks .weeks-intro .page-h1{font-size:62px;margin:6px 0 4px}
  .page-weeks .weeks-intro .dek{font-size:21px;margin:0}
  .page-weeks .weeks-intro-secondary{padding-top:34px;font-size:16px;line-height:1.5;max-width:360px}
  .page-weeks .weeks-intro-secondary p{margin:0}
  .page-weeks .book-layout{padding-top:0;padding-bottom:54px}
  .page-weeks .book-part{display:grid;grid-template-columns:250px 300px minmax(390px,1fr);gap:34px;align-items:start;padding:28px 0;border-top:0;border-bottom:1px solid var(--line)}
  .page-weeks .index-part-title{padding-top:1px}
  .page-weeks .book-part-title{gap:14px}
  .page-weeks .book-part-title .part-num{font-size:34px}
  .page-weeks .book-part h2{font-size:28px}
  .page-weeks .index-part-description{font-size:15px!important;line-height:1.45!important;margin:2px 0 0!important;color:var(--ink)}
  .page-weeks .week-grid{grid-template-columns:repeat(7,48px);gap:8px;justify-content:start}
  .page-weeks .week-cell{width:48px;height:42px;font-size:12px;background:rgba(255,253,248,.18)}
  .page-weeks .book-closing{max-width:760px;margin:26px auto 8px;grid-template-columns:140px 1fr;gap:36px}
  .page-weeks .book-closing img{width:126px}
  .page-weeks .book-closing blockquote{font-size:20px;text-align:center}
}

@media(max-width:1023px){
  .read-book-hero{padding:48px 0 24px}
  .read-book-art{margin-top:18px}
  .read-book-parts{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
  .read-part{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .read-part-num{font-family:"DM Serif Display";color:var(--red);font-size:30px}
  .read-part h2{font-family:"DM Serif Display";font-size:26px;font-weight:400;margin:5px 0}
  .read-book-closing{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:center;padding:28px 0 44px}
  .read-book-closing img{width:180px}
  .read-book-closing blockquote{margin:0;font-style:italic}
  .page-weeks .weeks-intro-secondary{font-size:15px}
  .page-weeks .book-part{display:block}
  .page-weeks .index-part-description{max-width:520px}
  .page-weeks .week-grid{grid-template-columns:repeat(7,1fr);margin-top:16px}
}


/* v1.7 — Reading Paths desktop editorial redesign */
@media(min-width:1024px){
  /* Index: art belongs to the opening composition, not beside the whole list. */
  .page-paths .paths-editorial-hero{
    display:grid;
    grid-template-columns:minmax(0,650px) minmax(300px,410px);
    justify-content:space-between;
    gap:54px;
    align-items:end;
    padding:70px 0 42px;
    border-bottom:1px solid var(--line);
    position:relative;
  }
  .page-paths .paths-editorial-copy{position:relative;z-index:2;max-width:650px;padding-bottom:14px}
  .page-paths .paths-editorial-copy .page-h1{font-size:64px;line-height:.98;margin:8px 0 18px;max-width:620px}
  .page-paths .paths-editorial-copy .dek{font-size:23px;line-height:1.35;max-width:590px;margin:0}
  .page-paths .paths-editorial-art{position:relative;z-index:1;align-self:end;margin:0 -8px -43px 0;pointer-events:none}
  .page-paths .paths-editorial-art img{width:100%;max-width:410px;margin-left:auto}

  .page-paths .paths-editorial-list{max-width:900px;padding:54px 0 32px}
  .page-paths .path-list{border-top:1px solid var(--line)}
  .page-paths .path-row{
    grid-template-columns:58px minmax(0,1fr) 24px;
    gap:18px;
    padding:22px 0 21px;
  }
  .page-paths .path-num{font-size:31px}
  .page-paths .path-row h3{font-size:24px;margin:0 0 4px}
  .page-paths .path-row p{font-size:14px;line-height:1.42;margin:0 0 4px;max-width:690px;color:var(--ink)}
  .page-paths .path-meta{font-size:11px}
  .page-paths .path-row .row-arrow{align-self:center;font-size:22px}

  /* Detail: annotated route, not a landing-page hero. */
  .page-path-detail .back-link{margin:34px 0 10px}
  .page-path-detail .path-detail-hero{
    display:grid;
    grid-template-columns:minmax(0,700px) 330px;
    justify-content:space-between;
    gap:46px;
    align-items:end;
    padding:22px 0 40px;
    border-bottom:1px solid var(--line);
    max-width:1120px;
  }
  .page-path-detail .path-detail-copy{position:relative;z-index:2;padding-bottom:4px}
  .page-path-detail .path-detail-copy .page-h1{font-size:61px;line-height:.98;margin:8px 0 18px;max-width:680px}
  .page-path-detail .path-detail-copy .dek{font-size:22px;line-height:1.38;max-width:650px;margin:0 0 18px}
  .page-path-detail .path-detail-copy>p{font-size:16px;line-height:1.5;max-width:620px;margin:0 0 12px}
  .page-path-detail .path-detail-copy .meta{margin:14px 0 18px!important}
  .page-path-detail .path-detail-art{position:relative;z-index:1;margin:0 -10px -40px 0;pointer-events:none}
  .page-path-detail .path-detail-art img{width:100%;max-width:330px;max-height:none;object-fit:contain;margin:0}

  .page-path-detail .path-sequence-label{max-width:820px;margin:48px auto 0;padding-bottom:12px;border-bottom:1px solid var(--line)}
  .page-path-detail .path-steps{
    max-width:820px;
    margin:0 auto 64px;
    position:relative;
    isolation:isolate;
    border-top:0;
  }
  .page-path-detail .path-steps:before{
    content:"";
    position:absolute;
    left:26px;
    top:47px;
    bottom:47px;
    width:1px;
    background:var(--red);
    z-index:-1;
    pointer-events:none;
  }
  .page-path-detail .path-step{
    position:relative;
    z-index:1;
    grid-template-columns:52px 1fr;
    gap:24px;
    padding:25px 0 0;
    border-top:0;
    border-bottom:0;
  }
  .page-path-detail .path-step:last-child{border-bottom:0}
  .page-path-detail .path-step > div:last-child{border-bottom:1px solid var(--line);padding-bottom:26px}
  .page-path-detail .path-step .step{
    position:relative;
    z-index:2;
    align-self:start;
    width:52px;
    height:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px 0;
    line-height:1;
    background-color:var(--paper);
    background-image:none;
    box-shadow:0 0 0 6px var(--paper);
    font-size:31px;
  }
  .page-path-detail .path-step .week-label{font-size:10px;letter-spacing:.03em}
  .page-path-detail .path-step h3{font-size:25px;line-height:1.08;margin:4px 0 7px}
  .page-path-detail .path-step p{font-size:14px;line-height:1.46;margin:0 0 6px;max-width:700px}
  .page-path-detail .path-step p:last-child{margin-top:7px!important;color:#343834}
  .page-path-detail .outcomes{
    max-width:820px;
    margin:0 auto 80px;
    grid-template-columns:230px 1fr;
    border-top:1px solid var(--line);
    padding-top:28px;
  }
  .page-path-detail .outcomes .h2{font-size:29px;margin:0}
}

/* Keep the structural redesign safe below desktop; mobile gets its own dedicated fidelity pass later. */
@media(max-width:1023px){
  .paths-editorial-hero{padding:44px 0 24px}
  .paths-editorial-art{margin-top:20px}
  .paths-editorial-art img{width:100%;max-width:440px;margin:auto}
  .paths-editorial-list{padding-bottom:30px}
  .path-sequence-label{margin-top:32px;padding-bottom:10px}
}


/* v1.8 — desktop article split layout using portrait art */
@media(min-width:1024px){
  .essay-page .main{
    display:grid;
    grid-template-columns:minmax(300px,390px) minmax(560px,680px);
    justify-content:center;
    gap:0 72px;
    align-items:start;
    padding-top:38px;
    padding-bottom:96px;
  }
  .essay-page .essay-header{
    grid-column:2;
    grid-row:1;
    max-width:none;
    padding:0 0 18px;
    margin:0;
  }
  .essay-page .essay-header h1{
    font-size:clamp(40px,3.9vw,58px);
    line-height:.96;
    max-width:640px;
    margin:8px 0 12px;
  }
  .essay-page .essay-header .dek{
    max-width:620px;
    font-size:clamp(20px,1.7vw,22px);
  }
  .essay-page .essay-meta-row{
    margin-top:14px;
  }
  .essay-page .essay-hero{
    grid-column:1;
    grid-row:1 / span 2;
    max-width:none;
    width:100%;
    margin:82px 0 0;
    align-self:start;
    position:relative;
  }
  .essay-page .essay-hero img{
    width:100%;
    max-height:none;
    object-fit:contain;
  }
  .essay-page .article{
    grid-column:2;
    grid-row:2;
    max-width:620px;
    margin:0;
    font-size:17px;
    line-height:1.7;
  }
  .essay-page .article-end{
    grid-column:2;
    grid-row:3;
    max-width:620px;
    margin:58px 0 0;
  }
  .essay-page .continue{
    padding-top:24px;
  }
  .essay-page .continue h2{
    font-size:11px;
    line-height:1.2;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--red);
    font-family:"Roboto Condensed","Arial Narrow",sans-serif;
    margin:0 0 14px;
  }
  .essay-page .related-list .essay-row,
  .essay-page .continue .essay-row{
    grid-template-columns:minmax(0,1fr) 18px;
    gap:14px;
    padding:14px 0;
  }
  .essay-page .continue .essay-row .week,
  .essay-page .continue .essay-row .time{
    display:none;
  }
  .essay-page .continue .essay-row h3{
    font-size:18px;
    line-height:1.16;
    margin:0 0 2px;
  }
  .essay-page .continue .essay-row p{
    font-size:13px;
    line-height:1.42;
  }
  .essay-page .prev-next{
    margin-top:34px;
    padding-top:18px;
  }
}

@media(min-width:1024px) and (max-width:1220px){
  .essay-page .main{
    grid-template-columns:minmax(260px,330px) minmax(520px,620px);
    gap:0 54px;
  }
  .essay-page .essay-hero{margin-top:94px}
}


/* v1.9 — article pagination repair */
.prev-next > div:first-child{justify-self:start;min-width:0}
.prev-next > div:last-child{justify-self:end;text-align:right;min-width:0}
.prev-next > div > a{display:inline-block;line-height:1.35}
.prev-next .position.icon-btn{
  width:auto;
  height:auto;
  min-width:104px;
  padding:2px 10px;
  display:block;
  place-items:initial;
  justify-self:center;
  white-space:nowrap;
  line-height:1.25;
  color:var(--ink2);
}
@media(max-width:767px){
  .prev-next .position.icon-btn{grid-column:1/-1;grid-row:2;justify-self:center;margin-top:8px}
}


/* v1.10 — dedicated mobile fidelity / cleanup pass */
@media(max-width:767px){
  /* Global rhythm */
  body{font-size:16px;line-height:1.58}
  .main{padding-left:20px;padding-right:20px}
  .site-header{height:62px}
  .header-inner{padding:0 16px}
  .brand{font-size:25px}
  .icon-btn{width:42px;height:42px}
  .header-actions{gap:2px}
  .eyebrow{font-size:10px;letter-spacing:.15em}
  .page-h1{font-size:clamp(39px,11vw,46px);line-height:.98}
  .dek{font-size:18px;line-height:1.36}
  .back-link{margin:26px 0 14px}
  .section-title-row{margin:38px 0 12px;align-items:baseline}
  .section-title-row .h2{font-size:27px}

  /* Subscribe should never squeeze on phone. */
  .subscribe-module{display:block;padding:25px 0;margin:34px 0 46px}
  .subscribe-form{display:block;margin-top:16px}
  .subscribe-form input{width:100%;height:46px}
  .subscribe-form .button{width:100%;justify-content:center;margin-top:8px;min-height:46px}

  /* Footer stays quiet on mobile. */
  .footer{padding:18px 20px 24px}
  .footer-inner{display:block}
  .footer-links{display:none}

  /* Mobile overlays */
  .overlay-inner{padding-left:20px;padding-right:20px}
  .overlay-head{height:62px}
  .menu-brand-copy{margin:14px 0}
  .menu-row{padding:12px 0}
  .menu-row h3{font-size:19px}
  .menu-row p{font-size:11.5px}
  .menu-parts{margin-top:16px;padding-top:10px}
  .menu-part{padding:7px 0;font-size:16px}
  .week-overlay-grid{gap:6px}
  .week-overlay-grid .week-cell{height:42px;min-width:0}

  /* HOME — retain the approved stacked editorial object. */
  .page-home .home-hero{padding-top:40px;gap:22px}
  .page-home .home-copy .display{font-size:49px;line-height:.96}
  .page-home .hero-art{margin:0 -6px}
  .page-home .hero-art img{max-width:350px;margin-left:auto}
  .page-home .part-mini{padding:22px 2px}
  .page-home .featured{padding:42px 0 48px}

  /* READ THE GUIDE — phone is a chapter opener, not a 2x2 card grid. */
  .page-book-entry .read-book-hero{display:flex;flex-direction:column;padding:40px 0 18px;border-bottom:0}
  .page-book-entry .read-book-copy{padding:0;order:1}
  .page-book-entry .read-book-copy .page-h1{font-size:44px;margin:7px 0 7px}
  .page-book-entry .read-book-copy .dek{font-size:19px;margin:0}
  .page-book-entry .read-book-art{order:2;margin:18px -20px 0;overflow:hidden}
  .page-book-entry .read-book-art img{width:calc(100% + 18px);max-width:none;margin:0 -9px -2px}
  .page-book-entry .read-book-support-block{order:3;padding:16px 0 8px}
  .page-book-entry .read-book-support{font-size:15.5px;line-height:1.5;margin:0 0 10px;max-width:none}
  .page-book-entry .read-index-link{font-size:14px}
  .page-book-entry .read-book-parts{display:block;border:0;border-top:1px solid var(--line)}
  .page-book-entry .read-part{display:grid;grid-template-columns:42px minmax(0,1fr) 22px;grid-template-rows:auto auto;column-gap:10px;min-height:0;padding:16px 0;border:0;border-bottom:1px solid var(--line);align-items:center}
  .page-book-entry .read-part-num{grid-column:1;grid-row:1 / span 2;font-size:28px;align-self:start;padding-top:2px}
  .page-book-entry .read-part h2{grid-column:2;grid-row:1;font-size:22px;line-height:1.02;margin:0 0 2px}
  .page-book-entry .read-part-range{grid-column:2;grid-row:2;font-family:"Roboto Condensed","Arial Narrow",sans-serif;font-size:11px;color:var(--ink2);margin:0}
  .page-book-entry .read-part p{display:none}
  .page-book-entry .read-part .text-link{grid-column:3;grid-row:1 / span 2;align-self:center;border:0;font-size:0;color:var(--red)}
  .page-book-entry .read-part .text-link:after{content:"→";font-family:"Source Serif 4",Georgia,serif;font-size:20px}
  .page-book-entry .read-book-closing{grid-template-columns:140px 1fr;gap:18px;padding:24px 0 38px;margin:0}
  .page-book-entry .read-book-closing img{width:130px}
  .page-book-entry .read-book-closing blockquote{font-size:15px;line-height:1.4;text-align:left;margin:0}

  /* 52-WEEK INDEX — scanning and selection are the job. */
  .page-weeks .weeks-intro{display:block;padding:40px 0 23px;border-bottom:1px solid var(--line)}
  .page-weeks .weeks-intro .page-h1{font-size:44px;margin:7px 0 5px}
  .page-weeks .weeks-intro .dek{font-size:18px;margin:0}
  .page-weeks .weeks-intro-secondary{display:none}
  .page-weeks .book-layout{padding:0 0 30px}
  .page-weeks .book-part{display:block;padding:24px 0;border-top:0;border-bottom:1px solid var(--line)}
  .page-weeks .book-part-title{margin-bottom:0;gap:12px}
  .page-weeks .book-part-title .part-num{font-size:30px}
  .page-weeks .book-part h2{font-size:24px}
  .page-weeks .index-part-description{font-size:13px!important;line-height:1.42!important;margin:12px 0 0!important;max-width:320px;color:var(--ink2)}
  .page-weeks .week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:15px}
  .page-weeks .week-cell{width:auto;height:42px;font-size:11px}
  .page-weeks .book-closing{grid-template-columns:72px 1fr;gap:18px;margin:24px 0 6px}
  .page-weeks .book-closing img{width:70px}
  .page-weeks .book-closing blockquote{font-size:15px;text-align:left}

  /* ARTICLES — keep the portrait hero on mobile, but control title / end-matter density. */
  .essay-page .main{padding-top:0;padding-bottom:0}
  .essay-page .essay-header{padding:27px 0 12px}
  .essay-page .breadcrumbs{margin-bottom:18px;font-size:10.5px}
  .essay-page .essay-header h1{font-size:clamp(34px,9.6vw,41px);line-height:.98;margin:7px 0 12px}
  .essay-page .essay-header .dek{font-size:18px;line-height:1.36}
  .essay-page .essay-meta-row{gap:8px 10px;margin-top:13px}
  .essay-page .essay-meta-row>.meta{width:100%;font-size:10.5px}
  .essay-page .tag-link,.essay-page .tag{font-size:9.5px;padding:5px 6px}
  .essay-page .essay-hero{margin:17px 0 31px;max-width:none}
  .essay-page .essay-hero img{width:100%;max-height:none;object-fit:contain}
  .essay-page .article{font-size:16px;line-height:1.66}
  .essay-page .article>p:first-child:first-letter{font-size:61px;padding-right:7px}
  .essay-page .article h2{font-size:25px;line-height:1.08;margin:1.85em 0 .6em}
  .essay-page .article-end{margin:48px 0 60px;max-width:none}
  .essay-page .continue{padding-top:22px}
  .essay-page .continue .eyebrow{margin-bottom:2px}
  .essay-page .continue .h2{font-size:24px;margin:5px 0 10px}
  .essay-page .continue .essay-row{grid-template-columns:38px minmax(0,1fr) 15px;gap:10px;padding:14px 0}
  .essay-page .continue .essay-row .time{display:none}
  .essay-page .continue .essay-row h3{font-size:18px;line-height:1.1;margin:0}
  .essay-page .continue .essay-row p{display:none}
  .essay-page .prev-next{grid-template-columns:1fr 1fr;gap:18px;margin-top:34px;padding-top:17px}
  .essay-page .prev-next>div>a{font-size:14px}
  .essay-page .prev-next .meta{font-size:10px}
  .essay-page .prev-next .position.icon-btn{grid-column:1/-1;grid-row:2;justify-self:center;margin-top:5px;font-size:10.5px;min-width:auto}
  .essay-page .article-end>.subscribe-module{margin-bottom:0}

  /* READING PATHS INDEX — slim vertical route index. */
  .page-paths .paths-editorial-hero{display:flex;flex-direction:column;padding:40px 0 23px;border-bottom:1px solid var(--line)}
  .page-paths .paths-editorial-copy{padding:0;max-width:none}
  .page-paths .paths-editorial-copy .page-h1{font-size:43px;line-height:.98;margin:7px 0 12px}
  .page-paths .paths-editorial-copy .dek{font-size:18px;line-height:1.36;margin:0 0 4px}
  .page-paths .paths-editorial-art{margin:16px 0 0;overflow:visible}
  .page-paths .paths-editorial-art img{width:100%;height:auto;max-width:none;object-fit:contain;object-position:center;margin:0}
  .page-paths .paths-editorial-list{padding:35px 0 22px}
  .page-paths .path-row{grid-template-columns:38px minmax(0,1fr) 15px;gap:10px;padding:17px 0}
  .page-paths .path-num{font-size:27px}
  .page-paths .path-row h3{font-size:19px;line-height:1.08;margin:0 0 3px}
  .page-paths .path-row p{font-size:12.5px;line-height:1.38;margin:0 0 3px}
  .page-paths .path-meta{font-size:9.5px}

  /* READING PATH DETAIL — preserve the annotated-route idea on phone. */
  .page-path-detail .back-link{margin:25px 0 12px}
  .page-path-detail .path-detail-hero{display:flex;flex-direction:column;padding:0 0 24px;gap:17px;border-bottom:1px solid var(--line)}
  .page-path-detail .path-detail-copy .page-h1{font-size:42px;line-height:.98;margin:7px 0 12px}
  .page-path-detail .path-detail-copy .dek{font-size:18px;margin:0 0 12px}
  .page-path-detail .path-detail-copy>p{font-size:14px;line-height:1.46;margin:0 0 9px}
  .page-path-detail .path-detail-copy .meta{font-size:10.5px;margin:11px 0 14px!important}
  .page-path-detail .path-detail-copy .button{min-height:43px;padding:0 14px;font-size:14px}
  .page-path-detail .path-detail-art{margin:0 -3px -24px;overflow:hidden}
  .page-path-detail .path-detail-art img{width:100%;height:210px;max-height:none;object-fit:cover;object-position:center 46%;margin:0}
  .page-path-detail .path-sequence-label{margin-top:31px;padding-bottom:9px;border-bottom:1px solid var(--line)}
  .page-path-detail .path-steps{position:relative;isolation:isolate;margin:0 0 46px;border-top:0}
  .page-path-detail .path-steps:before{content:"";position:absolute;left:18px;top:36px;bottom:36px;width:1px;background:var(--red);z-index:-1;pointer-events:none}
  .page-path-detail .path-step{position:relative;z-index:1;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:19px 0 0;border-top:0;border-bottom:0}
  .page-path-detail .path-step > div:last-child{border-bottom:1px solid var(--line);padding-bottom:20px}
  .page-path-detail .path-step .step{position:relative;z-index:2;align-self:start;display:flex;align-items:center;justify-content:center;width:36px;height:auto;padding:6px 0;background-color:var(--paper);background-image:none;box-shadow:0 0 0 5px var(--paper);font-size:26px;line-height:1}
  .page-path-detail .path-step .week-label{font-size:9px}
  .page-path-detail .path-step h3{font-size:20px;line-height:1.08;margin:3px 0 6px}
  .page-path-detail .path-step p{font-size:12.5px;line-height:1.43;margin:0 0 5px}
  .page-path-detail .path-step p:last-child{font-size:12px;line-height:1.4;margin-top:6px!important;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .page-path-detail .outcomes{display:block;margin:0 0 52px;border-top:1px solid var(--line);padding-top:22px}
  .page-path-detail .outcomes .h2{font-size:27px;margin:0 0 12px}
  .page-path-detail .outcomes ul{font-size:14px;line-height:1.5;padding-left:19px}

  /* ABOUT — title, portrait, project copy, signature. */
  .page-about .about-hero{display:flex;flex-direction:column;gap:0;padding:39px 0 25px}
  .page-about .about-copy{order:1;max-width:none}
  .page-about .about-copy h1{font-size:43px;line-height:.98;margin:7px 0 17px}
  .page-about .portrait{order:2;margin:0 -3px 20px;max-width:none}
  .page-about .portrait img{width:100%;max-height:none;object-fit:contain}
  .page-about .about-body{order:3}
  .page-about .about-body p{font-size:15px;line-height:1.55;margin:0 0 15px}
  .page-about .signature{font-size:30px;margin:20px 0 0}
  .page-about .about-body .meta{font-size:10.5px}
  .page-about .subscribe-module{margin-top:14px}

  /* Browse Topics is already strong; remove the desktop-only secondary essay. */
  .page-topics .topics-intro{padding:40px 0 20px}
  .page-topics .topics-intro .intro-secondary{display:block;padding-top:12px;font-size:15px;line-height:1.5;max-width:none}
  .page-topics .topic-list-mobile{margin-bottom:42px}
  .page-topics .topic-mobile-row{padding:12px 0;grid-template-columns:32px 1fr 15px}
  .page-topics .topic-mobile-row h3{font-size:18px}
  .page-topics .book-closing{margin-bottom:46px}

  /* Topic detail: the icon should not become its own visual module on phone. */
  .page-topic-detail .topic-detail-hero{padding-bottom:28px;gap:0}
  .page-topic-detail .topic-detail-hero>div:last-child{display:none}
  .page-topic-detail .topic-detail-weeks{margin-top:14px;gap:5px}
  .page-topic-detail .topic-detail-weeks .week-cell{width:39px;height:39px}
  .page-topic-detail .section-title-row{margin-top:34px}

  /* Part pages — keep structure, reduce image dominance. */
  .page-part .part-hero{gap:18px;padding-bottom:29px}
  .page-part .part-hero .statement{font-size:26px;margin:13px 0 10px}
  .page-part .part-image{margin:0 -2px}
  .page-part .part-image img{width:100%;max-height:245px;object-fit:contain}
  .page-part .essay-row{padding:15px 0}
  .page-part .essay-row h3{font-size:19px}

  /* Search remains index-like rather than app-like. */
  .search-page{padding-bottom:55px}
  .search-page .page-intro{padding-top:40px}
  .search-box{margin:14px 0 24px}
  .search-box button{min-height:46px}
  .result-row{padding:19px 0}
  .result-row h3{font-size:22px}
}

/* About desktop layout after semantic reorder. */
@media(min-width:768px){
  .page-about .about-hero{display:grid;grid-template-columns:minmax(0,1fr) 450px;grid-template-rows:auto 1fr;gap:0 28px;align-items:start}
  .page-about .about-copy{grid-column:1;grid-row:1;max-width:650px;position:relative;z-index:2}
  .page-about .about-body{grid-column:1;grid-row:2;max-width:650px;position:relative;z-index:2}
  .page-about .about-body p{font-size:17px;line-height:1.58}
  .page-about .portrait{grid-column:2;grid-row:1 / span 2;position:relative;z-index:1;margin-left:-40px;margin-right:-24px;margin-top:-8px}
}
@media(min-width:1024px){
  .page-about .about-hero{grid-template-columns:minmax(0,1fr) 480px;gap:0 24px;padding:66px 0 52px}
  .page-about .about-copy,.page-about .about-body{max-width:640px}
  .page-about .portrait{margin-left:-54px;margin-right:-6px}
}

/* Read-the-Book desktop layout after support copy was split for mobile ordering. */
@media(min-width:1024px){
  .page-book-entry .read-book-hero{grid-template-rows:auto auto}
  .page-book-entry .read-book-copy{grid-column:1;grid-row:1;padding-bottom:0;align-self:end}
  .page-book-entry .read-book-support-block{grid-column:1;grid-row:2;padding-bottom:34px;align-self:start}
  .page-book-entry .read-book-art{grid-column:2;grid-row:1 / span 2}
}


/* v1.11 — mobile homepage fidelity to approved concept */
.home-mobile-quote{display:none}
@media(max-width:767px){
  .page-home .main{padding-left:20px;padding-right:20px}
  .page-home .home-hero{
    display:block;
    position:relative;
    padding:42px 0 0;
    min-height:0;
    overflow:visible;
  }
  .page-home .home-copy{position:relative;z-index:3;max-width:none}
  .page-home .home-copy .display{
    font-size:49px;
    line-height:.95;
    max-width:330px;
    letter-spacing:-.025em;
  }
  .page-home .home-copy .dek{
    font-size:19px;
    line-height:1.32;
    margin:16px 0 20px;
    max-width:320px;
  }
  .page-home .home-support{
    font-size:15.5px;
    line-height:1.48;
    max-width:320px;
    margin:0 0 22px;
  }
  .page-home .hero-actions{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    gap:12px 16px;
    position:relative;
    z-index:4;
  }
  .page-home .hero-actions .button{min-height:42px;padding:0 15px}
  .page-home .hero-actions .text-link{font-size:15px}
  .page-home .home-path-link{display:none}

  /* The art is one editorial composition, not a boxed module. */
  .page-home .hero-art{
    position:relative;
    z-index:1;
    height:390px;
    margin:-8px -20px 0;
    overflow:hidden;
  }
  .page-home .hero-art img{
    position:absolute;
    width:118%;
    max-width:none;
    height:auto;
    left:-13%;
    top:-4px;
    margin:0;
  }

  .page-home .home-mobile-quote{
    display:block;
    position:relative;
    z-index:3;
    margin:-4px 8px 30px;
    padding:18px 0 0;
    border-top:1px solid var(--line);
    font-size:16px;
    line-height:1.42;
    font-style:italic;
  }
  .page-home .home-mobile-quote span{
    display:block;
    margin-top:10px;
    font-family:"Roboto Condensed","Arial Narrow",sans-serif;
    font-size:11px;
    font-style:normal;
    color:var(--ink2);
  }

  /* The approved mobile Home is the cover-like entry screen. These desktop/home
     modules are intentionally not part of the phone composition. */
  .page-home .parts-overview,
  .page-home .featured,
  .page-home > .site-shell .subscribe-module,
  .page-home .footer{display:none}
}


/* v1.12 — titles always wrap naturally; no editorial line breaks are hard-coded */
h1,h2,h3{white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none}


/* v1.13 — full mobile fidelity pass against the approved mobile concept collage */
.mobile-context-button,.about-mobile-quote{display:none}
@media(max-width:767px){
  /* GLOBAL MOBILE OBJECT */
  body{font-size:15.5px;line-height:1.55}
  .main{padding-left:20px;padding-right:20px}
  .site-header{height:61px}
  .header-inner{padding:0 16px;gap:10px}
  .brand{font-size:25px;letter-spacing:-1.5px}
  .header-actions{gap:0}
  .icon-btn{width:42px;height:42px}
  .icon-btn img{width:19px;height:19px}
  .eyebrow{font-size:10px;letter-spacing:.14em}
  .meta{font-size:10.5px}
  .footer{display:none!important}
  .button{min-height:42px;padding:0 14px}
  .subscribe-form{display:block!important;margin-top:15px}
  .subscribe-form input{width:100%;height:44px}
  .subscribe-form .button,.subscribe-form button{width:100%;margin-top:7px;justify-content:center}
  .subscribe-module{padding:24px 0;margin:26px 0 38px}
  .subscribe-module .h2{font-size:27px;margin:0 0 4px}
  .subscribe-module p{font-size:13px;line-height:1.4}

  /* OVERLAYS: compact editorial sheets. */
  .overlay-inner{width:100%;max-width:none;padding:0 20px 38px}
  .overlay-head{height:61px}
  .overlay-title{font-size:23px}
  .menu-brand-copy{font-size:12px;line-height:1.4;margin:12px 0 8px}
  .menu-row{padding:11px 0;grid-template-columns:1fr 16px}
  .menu-row h3{font-size:18px;line-height:1.03}
  .menu-row p{font-size:11px;margin-top:2px}
  .menu-parts{margin-top:15px;padding-top:10px}
  .menu-part{padding:6px 0;font-size:16px}
  .overlay .search-box{margin-top:18px!important}
  .week-overlay-grid{gap:5px;margin-top:14px}
  .week-overlay-grid .week-cell{height:34px;font-size:10px}

  /* HOME — cover, not a stacked desktop page. */
  .page-home .home-hero{padding:35px 0 0}
  .page-home .home-copy .display{font-size:45px;line-height:.96;max-width:315px}
  .page-home .home-copy .dek{font-size:18px;margin:13px 0 17px;max-width:310px}
  .page-home .home-support{font-size:14.5px;line-height:1.48;max-width:305px;margin-bottom:19px}
  .page-home .hero-actions{gap:10px 15px}
  .page-home .hero-actions .button{min-height:41px;font-size:14px}
  .page-home .hero-actions .text-link{font-size:14px}
  .page-home .hero-art{height:292px;margin:3px -20px 0}
  .page-home .hero-art img{width:105%;left:-7%;top:-8px}
  .page-home .home-mobile-quote{margin:0 7px 25px;padding-top:14px;font-size:14.5px;line-height:1.4}
  .page-home .home-mobile-quote span{font-size:10.5px;margin-top:8px}

  /* READ THE GUIDE — chapter opener. */
  .page-book-entry .read-book-hero{display:flex;flex-direction:column;padding:36px 0 0;border-bottom:0}
  .page-book-entry .read-book-copy{order:1;padding:0}
  .page-book-entry .read-book-copy .page-h1{font-size:41px;line-height:.98;margin:7px 0 5px}
  .page-book-entry .read-book-copy .dek{font-size:18px;line-height:1.35;margin:0}
  .page-book-entry .read-book-art{order:2;margin:16px -20px 0;overflow:hidden}
  .page-book-entry .read-book-art img{width:100%;max-width:none;margin:0}
  .page-book-entry .read-book-support-block{order:3;padding:13px 0 8px}
  .page-book-entry .read-book-support{font-size:14px;line-height:1.46;margin-bottom:8px}
  .page-book-entry .read-index-link{font-size:13.5px}
  .page-book-entry .read-book-parts{margin-top:3px}
  .page-book-entry .read-part{grid-template-columns:40px minmax(0,1fr) 18px;padding:14px 0}
  .page-book-entry .read-part-num{font-size:27px}
  .page-book-entry .read-part h2{font-size:21px}
  .page-book-entry .read-part-range{font-size:10.5px}
  .page-book-entry .read-book-closing{grid-template-columns:120px 1fr;gap:15px;padding:20px 0 31px}
  .page-book-entry .read-book-closing img{width:110px}
  .page-book-entry .read-book-closing blockquote{font-size:14px;line-height:1.38}

  /* 52-WEEK INDEX — compact table of contents. */
  .page-weeks .weeks-intro{padding:36px 0 17px}
  .page-weeks .weeks-intro .page-h1{font-size:41px;line-height:.98;margin:6px 0 4px}
  .page-weeks .weeks-intro .dek{font-size:17px;line-height:1.35}
  .page-weeks .book-part{padding:18px 0}
  .page-weeks .book-part-title{gap:10px}
  .page-weeks .book-part-title .part-num{font-size:28px}
  .page-weeks .book-part h2{font-size:22px}
  .page-weeks .index-part-description{display:none}
  .page-weeks .week-grid{gap:5px;margin-top:11px}
  .page-weeks .week-cell{height:34px;font-size:10px}
  .page-weeks .book-closing{grid-template-columns:62px 1fr;gap:15px;margin:20px 0 4px}
  .page-weeks .book-closing img{width:60px}
  .page-weeks .book-closing blockquote{font-size:14px;line-height:1.38}

  /* ARTICLE — preserve portrait hero, compress everything around it. */
  .essay-page .essay-header{padding:23px 0 10px}
  .essay-page .breadcrumbs{margin-bottom:14px;font-size:10px}
  .essay-page .essay-header h1{font-size:clamp(31px,9vw,38px);line-height:.98;margin:6px 0 10px}
  .essay-page .essay-header .dek{font-size:16.5px;line-height:1.36}
  .essay-page .essay-meta-row{gap:7px 8px;margin-top:10px}
  .essay-page .essay-meta-row>.meta{font-size:10px}
  .essay-page .tag-link,.essay-page .tag{font-size:9px;padding:4px 6px}
  .essay-page .essay-hero{margin:13px 0 25px}
  .essay-page .article{font-size:15.5px;line-height:1.63}
  .essay-page .article>p:first-child:first-letter{font-size:57px}
  .essay-page .article h2{font-size:24px;margin:1.7em 0 .55em}
  .essay-page .article-end{margin:42px 0 44px}
  .essay-page .continue{padding-top:18px}
  .essay-page .continue .h2{font-size:22px;margin:4px 0 7px}
  .essay-page .continue .essay-row{padding:12px 0}
  .essay-page .continue .essay-row h3{font-size:17px}
  .essay-page .prev-next{margin-top:28px;padding-top:14px}
  .essay-page .article-end>.subscribe-module{display:none}

  /* READING PATHS INDEX — illustration is an interruption, not the page. */
  .page-paths .paths-editorial-hero{padding:35px 0 18px}
  .page-paths .paths-editorial-copy .page-h1{font-size:39px;line-height:.98;margin:6px 0 10px}
  .page-paths .paths-editorial-copy .dek{font-size:16.5px;line-height:1.35;margin-bottom:4px}
  .page-paths .paths-editorial-art{margin:12px 0 0}
  .page-paths .paths-editorial-art img{height:auto;object-fit:contain;object-position:center}
  .page-paths .paths-editorial-list{padding:28px 0 17px}
  .page-paths .path-row{grid-template-columns:35px minmax(0,1fr) 14px;gap:9px;padding:14px 0}
  .page-paths .path-num{font-size:25px}
  .page-paths .path-row h3{font-size:18px;line-height:1.06}
  .page-paths .path-row p{font-size:11.5px;line-height:1.35}
  .page-paths .path-meta{font-size:9px}

  /* READING PATH DETAIL — compact annotated route. */
  .mobile-context-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}
  .mobile-context-bar .back-link{margin:0;padding:14px 0;border:0}
  .mobile-context-button{display:inline-flex;border:0;background:transparent;padding:14px 0;font-family:"Roboto Condensed","Arial Narrow",sans-serif;font-size:11px;color:var(--ink);cursor:pointer}
  .page-path-detail .path-detail-hero{padding:20px 0 18px;gap:14px}
  .page-path-detail .path-detail-copy .page-h1{font-size:37px;line-height:.98;margin:6px 0 10px}
  .page-path-detail .path-detail-copy .dek{font-size:16.5px;line-height:1.36;margin-bottom:9px}
  .page-path-detail .path-detail-copy>p{font-size:13px;line-height:1.42;margin-bottom:7px}
  .page-path-detail .path-detail-copy .meta{font-size:10px;margin:9px 0 11px!important}
  .page-path-detail .path-detail-copy .button{font-size:13px;min-height:41px}
  .page-path-detail .path-detail-art{margin:0 -2px -18px}
  .page-path-detail .path-detail-art img{height:176px;object-position:center 42%}
  .page-path-detail .path-sequence-label{margin-top:25px;padding-bottom:8px}
  .page-path-detail .path-steps:before{left:17px;top:32px;bottom:32px}
  .page-path-detail .path-step{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:16px 0 0}
  .page-path-detail .path-step > div:last-child{padding-bottom:17px}
  .page-path-detail .path-step .step{width:34px;font-size:24px;padding:5px 0;box-shadow:0 0 0 4px var(--paper)}
  .page-path-detail .path-step h3{font-size:18.5px;line-height:1.07;margin:3px 0 5px}
  .page-path-detail .path-step p{font-size:11.8px;line-height:1.39}
  .page-path-detail .path-step p:last-child{font-size:11px;-webkit-line-clamp:2}
  .page-path-detail .outcomes{margin-bottom:39px;padding-top:18px}
  .page-path-detail .outcomes .h2{font-size:24px}
  .page-path-detail .outcomes ul{font-size:13px;line-height:1.45}

  /* ABOUT — short editorial bio. */
  .page-about .about-hero{padding:34px 0 21px}
  .page-about .about-copy h1{font-size:39px;line-height:.98;margin:6px 0 15px}
  .page-about .portrait{margin:0 0 17px;overflow:visible;aspect-ratio:auto}
  .page-about .portrait img{width:100%;height:auto;object-fit:contain;object-position:center;max-height:none}
  .page-about .about-body p{font-size:14px;line-height:1.5;margin-bottom:13px}
  .page-about .signature{font-size:28px;margin-top:17px}
  .page-about .subscribe-module{margin-top:8px;margin-bottom:0}
  .page-about .about-mobile-quote{display:block;margin:0 0 34px;padding:17px 0 0;border-top:1px solid var(--line);font-style:italic;font-size:14px;line-height:1.4;text-align:right}
  .page-about .about-mobile-quote span{display:block;margin-top:7px;font-family:"Roboto Condensed","Arial Narrow",sans-serif;font-size:10px;font-style:normal;color:var(--ink2)}

  /* TOPICS INDEX */
  .page-topics .topics-intro{padding:35px 0 16px}
  .page-topics .topics-intro .page-h1{font-size:40px;line-height:.98;margin:6px 0 4px}
  .page-topics .topics-intro .dek{font-size:16.5px;line-height:1.34;margin:0}
  .page-topics .topics-intro .intro-secondary{padding-top:10px;font-size:14px;line-height:1.45}
  .page-topics .topic-list-mobile{margin-bottom:31px}
  .page-topics .topic-mobile-row{padding:10px 0;grid-template-columns:30px 1fr 14px;gap:10px}
  .page-topics .topic-mobile-row img{width:23px;height:23px}
  .page-topics .topic-mobile-row h3{font-size:17px}
  .page-topics .topic-mobile-row .count{font-size:9px}
  .page-topics .book-closing{grid-template-columns:66px 1fr;gap:15px;margin-bottom:33px}
  .page-topics .book-closing img{width:64px}
  .page-topics .book-closing blockquote{font-size:13.5px;line-height:1.38}

  /* TOPIC DETAIL */
  .page-topic-detail .topic-detail-hero{padding:22px 0 21px}
  .page-topic-detail .topic-detail-hero .page-h1{font-size:39px;line-height:.98;margin:6px 0 8px}
  .page-topic-detail .topic-detail-hero .dek{font-size:16px;line-height:1.36}
  .page-topic-detail .topic-detail-weeks{margin-top:11px}
  .page-topic-detail .topic-detail-weeks .week-cell{width:35px;height:35px;font-size:10px}
  .page-topic-detail .section-title-row{margin:27px 0 10px}
  .page-topic-detail .section-title-row .h2{font-size:25px}
  .page-topic-detail .essay-row{padding:13px 0}
  .page-topic-detail .essay-row h3{font-size:18px}
  .page-topic-detail .essay-row p{font-size:11.5px;line-height:1.36}
  .page-topic-detail main>section[style]{margin:34px 0 39px!important}

  /* PART PAGES */
  .page-part .back-link{margin:24px 0 11px}
  .page-part .part-hero{gap:14px;padding-bottom:23px}
  .page-part .part-hero .page-h1{font-size:40px;line-height:.98}
  .page-part .part-hero .statement{font-size:24px;line-height:1.08;margin:11px 0 8px}
  .page-part .part-hero p{font-size:13.5px;line-height:1.45}
  .page-part .part-image img{max-height:205px}
  .page-part .section-title-row{margin:27px 0 10px}
  .page-part .essay-row{padding:12px 0}
  .page-part .essay-row h3{font-size:18px}
  .page-part .essay-row p{font-size:11.5px;line-height:1.36}

  /* SEARCH */
  .search-page .page-intro{padding:35px 0 18px}
  .search-page .page-intro .page-h1{font-size:40px;line-height:.98}
  .search-page .page-intro .dek{font-size:16.5px}
  .search-box{margin:11px 0 21px}
  .result-row{padding:16px 0}
  .result-row h3{font-size:20px}
  .result-row p{font-size:12.5px;line-height:1.4}

  /* Context overlays shown in the approved collage. */
  .topic-filter-list{border-top:1px solid var(--line)}
  .topic-filter-row{display:grid;grid-template-columns:28px minmax(0,1fr) 14px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
  .topic-filter-row img{width:22px;height:22px}
  .topic-filter-row span{display:block;min-width:0}
  .topic-filter-row strong{display:block;font-family:"DM Serif Display",Georgia,serif;font-size:16px;font-weight:400;line-height:1.05}
  .topic-filter-row small{display:block;font-family:"Roboto Condensed","Arial Narrow",sans-serif;font-size:9px;color:var(--ink2);margin-top:2px}
  .topic-filter-row b{font-size:18px;color:var(--red);font-weight:400}
  .path-context-list{border-top:1px solid var(--line);padding-top:0}
  .path-context-list a{display:grid;grid-template-columns:14px 1fr;gap:10px;align-items:center;min-height:44px;border-bottom:1px solid var(--line);font-size:15px}
  .path-context-list i{display:block;width:6px;height:6px;background:var(--red);border-radius:50%}
}


/* v1.14 — fluid mobile homepage. No single-width lock-in. */
@media(max-width:767px){
  .page-home{
    --home-pad:clamp(18px,4.6vw,34px);
  }
  .page-home .main{
    padding-left:var(--home-pad);
    padding-right:var(--home-pad);
  }
  .page-home .home-hero{
    padding-top:clamp(34px,8vw,58px);
  }
  .page-home .home-copy{
    width:100%;
    max-width:none;
  }
  .page-home .home-copy .display{
    font-size:clamp(42px,11.2vw,68px);
    line-height:.95;
    letter-spacing:-.026em;
    width:100%;
    max-width:none;
    text-wrap:balance;
  }
  .page-home .home-copy .dek{
    font-size:clamp(18px,4.5vw,24px);
    line-height:1.28;
    width:100%;
    max-width:none;
    margin:clamp(13px,3vw,20px) 0 clamp(16px,3.8vw,24px);
  }
  .page-home .home-support{
    font-size:clamp(14.5px,3.7vw,18px);
    line-height:1.48;
    width:100%;
    max-width:none;
    margin:0 0 clamp(19px,4vw,27px);
  }
  .page-home .hero-actions{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    gap:clamp(10px,2.8vw,16px) clamp(13px,3.5vw,22px);
    width:100%;
  }
  .page-home .hero-actions .button{
    min-height:clamp(41px,10.5vw,48px);
    padding:0 clamp(14px,3.6vw,20px);
    font-size:clamp(14px,3.5vw,16px);
  }
  .page-home .hero-actions .text-link{
    font-size:clamp(14px,3.5vw,16px);
  }
  .page-home .hero-art{
    position:relative;
    width:calc(100% + (var(--home-pad) * 2));
    height:clamp(260px,72vw,470px);
    margin:clamp(5px,1.6vw,12px) calc(-1 * var(--home-pad)) 0;
    overflow:hidden;
  }
  .page-home .hero-art img{
    position:absolute;
    width:112%;
    max-width:none;
    height:auto;
    left:-10%;
    top:clamp(-12px,-1.4vw,-4px);
    margin:0;
  }
  .page-home .home-mobile-quote{
    width:100%;
    margin:0 0 clamp(24px,5vw,38px);
    padding-top:clamp(13px,3vw,19px);
    font-size:clamp(14px,3.55vw,17px);
    line-height:1.42;
  }
  .page-home .home-mobile-quote span{
    font-size:clamp(10px,2.5vw,11.5px);
    margin-top:clamp(7px,1.8vw,10px);
  }
}

/* At the upper end of the mobile band, let the cover breathe instead of
   preserving the narrow-phone proportions. */
@media(min-width:600px) and (max-width:767px){
  .page-home .home-copy .display{font-size:clamp(62px,9.2vw,70px)}
  .page-home .home-copy .dek{max-width:620px}
  .page-home .home-support{max-width:650px}
  .page-home .hero-art{height:clamp(420px,66vw,500px)}
  .page-home .hero-art img{width:106%;left:-4%}
  .page-home .home-mobile-quote{max-width:680px}
}


/* v1.15 — mobile Home art is right-anchored; quote stays in normal flow */
@media(max-width:767px){
  .page-home .hero-art{
    position:relative;
    display:flex;
    justify-content:flex-end;
    align-items:flex-start;
    width:calc(100% + var(--home-pad));
    height:auto;
    margin:clamp(10px,2.4vw,18px) calc(-1 * var(--home-pad)) 0 0;
    overflow:visible;
    z-index:1;
  }
  .page-home .hero-art img{
    position:static;
    display:block;
    flex:0 0 auto;
    width:min(92vw,650px);
    max-width:none;
    height:auto;
    margin:0;
    left:auto;
    right:auto;
    top:auto;
    transform:none;
  }
  .page-home .home-mobile-quote{
    position:relative;
    display:block;
    clear:both;
    width:100%;
    margin:clamp(15px,3.6vw,24px) 0 clamp(26px,5vw,38px);
    padding:clamp(13px,3vw,18px) 0 0;
    border-top:1px solid var(--line);
    z-index:2;
  }
}

/* Preserve the same right-edge anchor across wider phone widths. */
@media(min-width:600px) and (max-width:767px){
  .page-home .hero-art{
    width:calc(100% + var(--home-pad));
    height:auto;
    margin-right:calc(-1 * var(--home-pad));
  }
  .page-home .hero-art img{
    width:min(92vw,650px);
    left:auto;
    right:auto;
  }
}

/* v1.16 — validated mobile Home artwork behavior.
   Important: legacy mobile max-height/object-fit rules are explicitly neutralized here. */
@media(max-width:767px){
  .page-home .hero-art{
    position:relative;
    display:block;
    width:calc(100% + var(--home-pad));
    height:clamp(300px,72vw,470px);
    margin:clamp(10px,2.4vw,18px) calc(-1 * var(--home-pad)) 0 0;
    overflow:hidden;
  }
  .page-home .hero-art img{
    position:static !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    object-fit:cover !important;
    object-position:right 34% !important;
    transform:none !important;
  }
  .page-home .home-mobile-quote{
    position:relative;
    clear:both;
    width:100%;
    margin:clamp(15px,3.6vw,24px) 0 clamp(26px,5vw,38px);
    padding:clamp(13px,3vw,18px) 0 0;
    border-top:1px solid var(--line);
  }
}


/* v1.17 — mobile Home: stacked actions + full, uncropped, right-anchored cover art */
@media(max-width:767px){
  .page-home .home-hero{
    position:relative;
    overflow:visible;
  }
  .page-home .home-copy{
    position:relative;
    z-index:3;
  }
  .page-home .hero-actions{
    display:flex;
    flex-direction:column;
    flex-wrap:nowrap;
    align-items:flex-start;
    gap:10px;
    width:max-content;
    max-width:100%;
    position:relative;
    z-index:4;
  }
  .page-home .hero-actions .button,
  .page-home .hero-actions .text-link{
    flex:0 0 auto;
  }
  .page-home .hero-art{
    position:relative;
    display:flex;
    justify-content:flex-end;
    align-items:flex-start;
    width:calc(100% + var(--home-pad));
    height:auto !important;
    margin:clamp(-54px,-7vw,-28px) calc(-1 * var(--home-pad)) 0 0;
    overflow:visible !important;
    z-index:1;
    pointer-events:none;
  }
  .page-home .hero-art img{
    position:static !important;
    display:block !important;
    flex:0 0 auto;
    width:min(94vw,650px) !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    object-fit:contain !important;
    object-position:initial !important;
    transform:none !important;
  }
  .page-home .home-mobile-quote{
    position:relative;
    z-index:2;
    display:block;
    clear:both;
    width:100%;
    margin:clamp(10px,2.6vw,18px) 0 clamp(26px,5vw,38px);
    padding:clamp(13px,3vw,18px) 0 0;
    border-top:1px solid var(--line);
  }
}

@media(min-width:600px) and (max-width:767px){
  .page-home .hero-art img{
    width:min(88vw,650px) !important;
  }
}


/* v1.18 — Mobile Home: inline secondary CTA + flat 52-week index */
.home-week-index{display:none}
@media(max-width:767px){
  .page-home .hero-actions{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    gap:10px 16px;
    width:100%;
    max-width:none;
  }
  .page-home .hero-actions .button,
  .page-home .hero-actions .text-link{
    flex:0 0 auto;
  }

  .page-home .home-week-index{
    display:block;
    margin:0;
    padding:30px 0 40px;
    border-top:1px solid var(--line);
  }
  .page-home .home-week-index-head{
    margin:0 0 20px;
  }
  .page-home .home-week-index-title{
    margin:6px 0 5px;
    font-size:clamp(34px,9.5vw,46px);
    line-height:.98;
  }
  .page-home .home-week-index-subtitle{
    margin:0;
    font-size:clamp(15px,3.9vw,17px);
    line-height:1.4;
  }
  .page-home .home-week-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:6px;
    width:100%;
  }
  .page-home .home-week-cell{
    aspect-ratio:1.12 / 1;
    min-height:38px;
    display:grid;
    place-items:center;
    border:1px solid var(--line);
    background:rgba(255,253,248,.18);
    font-family:"Roboto Condensed","Arial Narrow",sans-serif;
    font-size:clamp(10.5px,2.8vw,12px);
    font-weight:600;
    line-height:1;
  }
  .page-home .home-week-cell:focus-visible{
    outline:2px solid var(--ink);
    outline-offset:2px;
  }

  /* Home now deliberately continues into the index, so restore the normal footer. */
  .page-home .footer{display:block}
  .page-home .footer-inner{display:block}
  .page-home .footer-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}
}

@media(min-width:600px) and (max-width:767px){
  .page-home .home-week-index{padding-top:36px}
  .page-home .home-week-grid{gap:8px}
  .page-home .home-week-cell{min-height:46px;font-size:12px}
}


/* v1.19 — Desktop Home: 52-week jump grid (bar cells, not stretched squares) */
@media(min-width:768px){
  .page-home .parts-overview{display:none}
  .page-home{overflow-x:clip}
  .page-home .home-hero{z-index:2;overflow:visible}
  .page-home .home-hero::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    height:1px;
    width:100vw;
    margin-left:calc(50% - 50vw);
    background:var(--line);
    z-index:0;
    pointer-events:none;
  }
  .page-home .featured{
    position:relative;
    z-index:1;
    container-type:inline-size;
    grid-template-columns:140px minmax(0,1fr);
    gap:24px;
    align-items:start;
    padding:48px 0;
    min-height:0;
  }
  .page-home .featured .week-big{white-space:nowrap;letter-spacing:-.03em}
  .page-home .featured .small-art{display:none}
  .page-home .featured > div:nth-child(2){min-width:0}
  .page-home .featured > div:nth-child(2)::before{
    content:"";
    float:right;
    width:min(52cqw,630px);
    height:0;
    margin:0;
    shape-margin:16px;
    pointer-events:none;
  }
  .page-home .featured h2{max-width:none}
  .page-home .home-week-index{
    display:block;
    position:relative;
    z-index:6;
    margin-top:0;
    padding:36px 0 40px;
    border-top:1px solid var(--line);
    border-bottom:0;
    background-color:transparent;
    background-image:var(--paper-texture);
    background-repeat:repeat;
    background-size:1000px auto;
  }
  .page-home .home-week-index-head{
    max-width:none;
    margin:0 0 22px;
  }
  .page-home .home-week-index-title{
    margin:6px 0 5px;
    font-size:clamp(38px,3.4vw,46px);
    line-height:.98;
  }
  .page-home .home-week-index-subtitle{
    margin:0;
    font-size:17px;
    line-height:1.4;
  }
  .page-home .home-week-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:8px;
    width:100%;
    justify-items:stretch;
  }
  .page-home .home-week-cell{
    aspect-ratio:auto;
    height:46px;
    min-height:44px;
    display:grid;
    place-items:center;
    border:1px solid var(--line);
    background-color:var(--paper);
    background-image:var(--paper-texture);
    background-repeat:repeat;
    background-size:1000px auto;
    font-family:"Roboto Condensed","Arial Narrow",sans-serif;
    font-size:12px;
    font-weight:600;
    line-height:1;
  }
  .page-home .home-week-cell:hover,
  .page-home .home-week-cell:focus-visible{
    border-color:var(--red);
    color:var(--red);
    text-decoration:none;
  }
  .page-home .home-week-cell:focus-visible{
    outline:2px solid var(--ink);
    outline-offset:2px;
  }
  .page-home .subscribe-module{
    margin:0;
    border-top:1px solid var(--line);
    border-bottom:0;
  }
}

@media(min-width:1024px){
  .page-home .featured{
    grid-template-columns:160px minmax(0,1fr);
  }
  .page-home .featured > div:nth-child(2)::before{
    width:min(53cqw,700px);
    height:0;
  }
}

@media(min-width:1100px){
  .page-home .featured > div:nth-child(2)::before{
    height:48px;
    margin:0 0 8px 28px;
  }
}

@media(min-width:1200px){
  .page-home .featured > div:nth-child(2)::before{
    height:112px;
  }
}

@media(min-width:1280px){
  .page-home .featured > div:nth-child(2)::before{
    height:168px;
  }
}

@media(min-width:1400px){
  .page-home .featured > div:nth-child(2)::before{
    height:240px;
  }
}

/* v1.20 — Read the Guide: paired tertiary links */
.read-book-tertiary{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 24px;
}

/* Collapse stacked hairlines: one rule between sections, never two. */
.subscribe-module{
  border-bottom:0;
  margin-bottom:0;
}
.essay-list > .essay-row:last-child,
.path-list > .path-row:last-child,
.search-results > .result-row:last-child,
.topic-list-mobile > .topic-mobile-row:last-child{
  border-bottom:0;
}
.essay-list + .subscribe-module,
.prev-next + .subscribe-module{
  margin-top:0;
}
.continue .essay-list{
  border-top:0;
}
.page-path-detail .path-step:last-child,
.page-path-detail .path-step:last-child > div:last-child{
  border-bottom:0;
}
.page-paths .path-row:last-child{
  border-bottom:0;
}
.overlay-head + .menu-row{
  border-top:0;
}
@media(min-width:768px) and (max-width:1023px){
  .read-book-parts{border-top:0}
}


/* v1.21 — title-start: About is the reference (eyebrow 66px below the header at 1024+).
   Copy aligns to the top of the hero. Hanging art stays on the bottom rule.
   Breadcrumb / back-link pages start at that same mark, with a tight gap to the title. */
@media(min-width:768px){
  :root{--page-start:58px}
  .page-home .home-hero{padding-top:var(--page-start)}
  .page-home .home-copy{padding-top:0}
  .page-weeks .weeks-intro,
  .page-topics .topics-intro,
  .page-intro,
  .search-page.page-intro{padding-top:var(--page-start)}
  .not-found{padding-top:var(--page-start)}
  .page-path-detail .back-link,
  .page-topic-detail .back-link,
  .page-part .back-link{margin-top:var(--page-start);margin-bottom:8px}
  .page-path-detail .path-detail-hero,
  .page-topic-detail .topic-detail-hero,
  .page-part .part-hero{align-items:start;padding-top:0}
  .essay-page .essay-header{padding-top:var(--page-start)}
  .essay-page .breadcrumbs{margin-bottom:8px}
}
@media(min-width:1024px){
  :root{--page-start:66px}
  .page-home .home-hero{padding-top:66px}
  .page-home .home-copy{padding-top:0}

  .page-book-entry .read-book-hero{align-items:start;padding-top:66px}
  .page-book-entry .read-book-copy{align-self:start}
  .page-book-entry .read-book-art{align-self:end}

  .page-paths .paths-editorial-hero{align-items:start;padding-top:66px}
  .page-paths .paths-editorial-art{align-self:end}

  .page-weeks .weeks-intro{padding-top:66px}
  .page-topics .topics-intro{padding-top:66px}
  .page-intro,
  .search-page.page-intro{padding-top:66px}
  .not-found{padding-top:66px}

  .page-path-detail .back-link{margin:66px 0 8px}
  .page-path-detail .path-detail-hero{align-items:start;padding-top:0}
  .page-path-detail .path-detail-art{align-self:end}

  .page-topic-detail .back-link{margin:66px 0 8px}
  .page-topic-detail .topic-detail-hero{align-items:start;padding-top:0}

  .page-part .back-link{margin:66px 0 8px}
  .page-part .part-hero{align-items:start;padding-top:0}

  .essay-page .main{padding-top:66px}
  .essay-page .essay-header{padding-top:0}
  .essay-page .breadcrumbs{margin-bottom:8px}
}

.subscribe-module s{
  text-decoration: line-through;
  text-decoration-thickness: from-font;
}
.subscribe-honeypot{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.subscribe-module.is-done .subscribe-form{display:none!important}
.subscribe-module.is-done .subscribe-message{
  color:var(--ink);
  font-size:17px;
  line-height:1.4;
  margin-top:0;
}
.subscribe-message.is-error{color:var(--red)}

/* Week-index title tooltips — home + /weeks. Titles already live on aria-label. */
.page-home .home-week-grid,
.page-weeks .week-grid{
  overflow:visible;
}
.page-home .home-week-cell,
.page-weeks .week-grid .week-cell{
  position:relative;
}
.page-home .home-week-cell[aria-label]::after,
.page-weeks .week-grid .week-cell[aria-label]::after{
  content:attr(aria-label);
  position:absolute;
  bottom:calc(100% + 8px);
  left:50%;
  z-index:12;
  width:max-content;
  max-width:min(280px,70vw);
  padding:9px 12px;
  border:1px solid var(--line);
  background-color:var(--paper2);
  background-image:var(--paper-texture);
  background-repeat:repeat;
  background-size:1000px auto;
  color:var(--ink);
  font-family:"Source Serif 4",Georgia,serif;
  font-size:14px;
  font-weight:500;
  line-height:1.35;
  letter-spacing:0;
  text-align:left;
  white-space:normal;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-50%);
  box-shadow:0 8px 24px rgba(18,22,21,.12);
}
.page-home .home-week-cell[aria-label]:nth-child(7n+1)::after,
.page-weeks .week-grid .week-cell[aria-label]:nth-child(7n+1)::after{
  left:0;
  transform:none;
}
.page-home .home-week-cell[aria-label]:nth-child(7n)::after,
.page-weeks .week-grid .week-cell[aria-label]:nth-child(7n)::after{
  left:auto;
  right:0;
  transform:none;
}
.page-home .home-week-cell:focus-visible,
.page-weeks .week-grid .week-cell:focus-visible{
  z-index:8;
}
.page-home .home-week-cell:focus-visible::after,
.page-weeks .week-grid .week-cell:focus-visible::after{
  opacity:1;
  visibility:visible;
}
@media (hover:hover) and (pointer:fine){
  .page-home .home-week-cell:hover,
  .page-weeks .week-grid .week-cell:hover{
    z-index:8;
  }
  .page-home .home-week-cell[aria-label]:hover::after,
  .page-weeks .week-grid .week-cell[aria-label]:hover::after{
    opacity:1;
    visibility:visible;
  }
}

/* v1.22 — title-start follow-through: copy stays a cluster; art sits on the right
   without stretching the page. Paths list climbs up; one rule, not two. */
@media(min-width:1024px){
  .page-book-entry .read-book-hero{
    grid-template-rows:auto 1fr;
    align-items:start;
    min-height:0;
    row-gap:0;
    column-gap:44px;
  }
  .page-book-entry .read-book-copy{
    grid-column:1;
    grid-row:1;
    align-self:start;
    padding-bottom:0;
  }
  .page-book-entry .read-book-support-block{
    grid-column:1;
    grid-row:2;
    align-self:start;
    padding-top:18px;
    padding-bottom:28px;
  }
  .page-book-entry .read-book-art{
    grid-column:2;
    grid-row:1 / span 2;
    align-self:end;
  }

  .page-paths .paths-editorial-hero{
    display:block;
    position:relative;
    align-items:unset;
    padding:66px 0 10px;
    border-bottom:0;
    min-height:0;
  }
  .page-paths .paths-editorial-copy{
    position:relative;
    z-index:2;
    max-width:620px;
    padding-bottom:0;
  }
  .page-paths .paths-editorial-art{
    position:absolute;
    right:-12px;
    top:36px;
    width:min(400px,34%);
    margin:0;
    z-index:1;
    pointer-events:none;
    align-self:auto;
  }
  .page-paths .paths-editorial-art img{
    width:100%;
    max-width:none;
    margin:0;
  }
  .page-paths .paths-editorial-list{
    position:relative;
    z-index:2;
    max-width:min(900px,calc(100% - 360px));
    padding:18px 0 40px;
  }
}

/* v1.23 — Home closing: quote + subscribe split on desktop; subscribe + footer on mobile. */
@media(min-width:768px){
  .page-home .home-closing{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:36px 56px;
    align-items:center;
    padding:40px 0 48px;
    border-top:1px solid var(--line);
  }
  .page-home .home-closing-quote{
    margin:0;
    font-style:italic;
    font-size:clamp(16px,1.4vw,20px);
    line-height:1.42;
    max-width:34em;
  }
  .page-home .home-closing-quote span{
    display:block;
    margin-top:12px;
    font-family:"Roboto Condensed","Arial Narrow",sans-serif;
    font-size:12px;
    font-weight:700;
    font-style:normal;
    color:var(--ink);
    letter-spacing:.01em;
  }
  .page-home .home-closing .subscribe-module{
    display:block;
    margin:0;
    padding:0;
    border:0;
    gap:0;
  }
  .page-home .home-closing .subscribe-form{margin-top:16px}
}

@media(min-width:768px) and (max-width:1023px){
  .page-home .home-closing .subscribe-form{display:block}
  .page-home .home-closing .subscribe-form input[type="email"]{width:100%}
  .page-home .home-closing .subscribe-form button{
    width:100%;
    margin-top:8px;
    justify-content:center;
  }
}

@media(max-width:767px){
  .page-home .home-closing-quote{display:none}
  .page-home .home-closing{
    display:block;
    border-top:0;
    padding:0;
  }
  .page-home .subscribe-module{
    display:block!important;
    margin:0;
    padding:26px 0 22px;
    border-top:1px solid var(--line);
    border-bottom:0;
  }
  .page-home .footer{
    display:block!important;
    padding:22px 22px 32px;
  }
  .page-home .footer-inner{
    display:block;
    width:100%;
    padding:0;
    text-align:center;
  }
  .page-home .footer-inner>span{
    display:block;
  }
  .page-home .footer-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px 16px;
    margin-top:10px;
  }
}

/* v1.24 — Hidden week-title tooltips were still in the box tree and
   stretched the page past the mobile viewport. Hairlines, hero art,
   and the week index then sat in a left column with a right gutter. */
@media(max-width:767px){
  .page-home,
  .page-weeks{
    overflow-x:clip;
  }
  .page-home .home-week-grid,
  .page-weeks .week-grid{
    overflow:hidden;
  }
  .page-home .home-week-cell[aria-label]::after,
  .page-weeks .week-grid .week-cell[aria-label]::after{
    content:none;
  }
}

/* v1.25 — Path detail follows the paths index: copy stays a cluster;
   art sits on the right without stretching the page; THE PATH climbs up. */
@media(min-width:1024px){
  .page-path-detail{
    overflow-x:clip;
  }
  .page-path-detail .path-detail-hero{
    display:block;
    position:relative;
    align-items:unset;
    grid-template-columns:none;
    gap:0;
    justify-content:unset;
    max-width:none;
    min-height:0;
    padding:0 0 10px;
    border-bottom:0;
  }
  .page-path-detail .path-detail-copy{
    position:relative;
    z-index:2;
    max-width:620px;
    padding-bottom:0;
  }
  .page-path-detail .path-detail-art{
    position:absolute;
    right:-12px;
    top:-30px;
    width:min(400px,34%);
    margin:0;
    z-index:1;
    pointer-events:none;
    align-self:auto;
  }
  .page-path-detail .path-detail-art img{
    width:100%;
    max-width:none;
    margin:0;
  }
  .page-path-detail .path-sequence-label,
  .page-path-detail .path-steps,
  .page-path-detail .outcomes{
    position:relative;
    z-index:2;
    max-width:min(900px,calc(100% - 360px));
    margin-left:0;
    margin-right:0;
  }
  .page-path-detail .path-sequence-label{
    margin-top:18px;
  }
}

/* v1.26 — Browse Topics cards: centered icon / title / count, independent
   borders, 4×4 desktop. Mobile list is unchanged. */
@media(min-width:768px){
  .page-topics .topics-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    border:0;
    margin-top:22px;
    margin-bottom:56px;
  }
  .page-topics .topic-tile{
    min-height:176px;
    padding:28px 16px 22px;
    border:1px solid var(--line);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    background-color:transparent;
  }
  .page-topics .topic-tile:hover{
    border-color:var(--red);
  }
  .page-topics .topic-tile img{
    width:40px;
    height:40px;
    margin:0 auto 16px;
  }
  .page-topics .topic-tile>div{
    width:100%;
  }
  .page-topics .topic-tile h3{
    margin:0 0 8px;
    font-size:20px;
    line-height:1.12;
    text-align:center;
  }
  .page-topics .topic-tile .meta-row{
    display:block;
    justify-content:center;
  }
  .page-topics .topic-tile .row-arrow{
    display:none;
  }
  .page-topics .topic-tile .meta{
    font-size:12px;
  }
}
@media(min-width:1024px){
  .page-topics .topics-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
  }
  .page-topics .topic-tile{
    min-height:188px;
    padding:32px 14px 24px;
  }
  .page-topics .topic-tile h3{
    font-size:19px;
  }
}

/* v1.27 — Baskerville & Co. credit in the footer, matching the
   other properties: uppercase property line under the product
   name, then a copyright bar. Stay in Roboto Condensed / --ink2. */
.footer-inner{
  align-items:flex-start;
}
.footer-mark{
  display:flex;
  flex-direction:column;
  gap:7px;
  max-width:540px;
}
.footer-property{
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  line-height:1.2;
}
.footer-bottom{
  width:min(var(--max),100%);
  margin:10px auto 0;
  padding-top:0;
  border-top:0;
  font-size:9px;
  font-weight:600;
  letter-spacing:.06em;
  text-align:center;
}
@media(max-width:767px){
  .page-home .footer-mark{
    max-width:none;
    align-items:center;
  }
  .page-home .footer-bottom{
    text-align:center;
  }
}

/* v1.28 — Hide author self-quotes until replaced by reader quotes (52X-003).
   Do not delete the HTML. Compass/mountain closers hide with the quote so
   the art is not left orphaned. Remove this block when the quotes land. */
.page-topics .book-closing,
.page-weeks .book-closing,
.page-about .about-mobile-quote{
  display:none!important;
}

/* v1.29 — Topics intro is a copy cluster. Default <p> margins on .dek
   and .intro-secondary were stacking into 50px+ gaps. */
.page-topics .topics-intro .dek{
  margin:0;
}
.page-topics .topics-intro .intro-secondary{
  padding-top:16px;
}
.page-topics .topics-intro .intro-secondary p{
  margin:0;
}
@media(min-width:768px){
  .page-topics .topics-intro{
    padding-bottom:8px;
  }
}

/* v1.30 — Essay meta row: readable type and topic chips that look
   clickable. Stay secondary to the title; do not stay 9–10px. */
.essay-page .essay-meta-row{
  gap:10px 14px;
  margin-top:18px;
  align-items:center;
}
.essay-page .essay-meta-row>.meta{
  font-size:14px;
  line-height:1.3;
}
.essay-page .essay-meta-row .tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.essay-page .essay-meta-row .tag-link,
.essay-page .essay-meta-row .tag{
  font-size:13px;
  font-weight:600;
  padding:7px 11px;
  line-height:1.2;
}
.essay-page .essay-meta-row .tag-link{
  color:var(--ink);
}
.essay-page .essay-meta-row .tag-link:hover,
.essay-page .essay-meta-row .tag-link:focus-visible{
  color:var(--red);
  border-color:var(--red);
}
.essay-page .essay-meta-row .tag{
  color:var(--ink2);
}
@media(max-width:767px){
  .essay-page .essay-meta-row{
    gap:8px 10px;
    margin-top:14px;
  }
  .essay-page .essay-meta-row>.meta{
    font-size:13px;
  }
  .essay-page .essay-meta-row .tag-link,
  .essay-page .essay-meta-row .tag{
    font-size:12px;
    padding:6px 10px;
  }
}

/* v1.31 — Search results are a scan list, not catalog cards.
   Title is the hit. Claim confirms. Week locates. No chips, no
   part eyebrow, no arrow sitting on the rule. */
.search-page .search-box{
  margin:18px 0 14px;
}
.search-page .search-summary{
  font-family:"Roboto Condensed","Arial Narrow",sans-serif;
  font-size:13px;
  line-height:1.3;
  letter-spacing:.02em;
  color:var(--ink2);
  margin:0 0 10px;
}
.search-page .search-summary:empty{
  margin:0;
}
.search-page .search-results{
  border-top:0;
}
.search-page .search-results:has(.result-row){
  border-top:1px solid var(--line);
}
.search-page .result-row{
  display:block;
  padding:28px 0 24px;
  border-bottom:1px solid var(--line);
}
.search-page .result-row h3{
  font-family:"DM Serif Display",Georgia,serif;
  font-size:26px;
  line-height:1.12;
  font-weight:400;
  margin:0 0 8px;
}
.search-page .result-row p{
  font-size:15px;
  line-height:1.45;
  color:var(--ink2);
  max-width:38em;
  margin:0 0 10px;
}
.search-page .result-row .result-meta{
  display:block;
  font-family:"Roboto Condensed","Arial Narrow",sans-serif;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink2);
}
.search-page .result-row:hover h3,
.search-page .result-row:focus-visible h3{
  color:var(--red);
}
.search-page .search-empty{
  padding:8px 0 12px;
  font-style:italic;
  color:var(--ink2);
}
@media(max-width:767px){
  .search-page .result-row{
    padding:22px 0 20px;
  }
  .search-page .result-row h3{
    font-size:22px;
  }
  .search-page .result-row p{
    font-size:14px;
  }
}

/* v1.32 — Mobile footer: drop the property line (copyright already
   names Baskerville) and the nav links (header + overlay cover that).
   Subscribe lives in Stay in the Loop, not here. */
@media(max-width:767px){
  .footer-property{
    display:none;
  }
  .footer-inner,
  .page-home .footer-inner{
    text-align:center;
  }
  .footer-mark,
  .page-home .footer-mark{
    max-width:none;
    align-items:center;
  }
  .footer-links,
  .page-home .footer-links{
    display:none;
  }
}

/* v1.33 — Path outcomes is a callout, not a leftover two-column caption.
   Full-width heading, red rule, numbered scan list. Desktop lines
   stay one line; the old 230px heading column was wrapping "artifact." */
.page-path-detail .outcomes{
  display:block;
  grid-template-columns:none;
  margin:12px 0 72px;
  padding:20px 8px 8px 22px;
  border-top:0;
  border-left:3px solid var(--red);
  background:transparent;
  max-width:min(900px,calc(100% - 360px));
}
.page-path-detail .outcomes .h2{
  font-size:28px;
  line-height:1.12;
  margin:0 0 10px;
}
.page-path-detail .outcomes ol{
  list-style:none;
  margin:0;
  padding:0;
  counter-reset:outcome;
}
.page-path-detail .outcomes li{
  counter-increment:outcome;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:baseline;
  padding:11px 0;
  border-bottom:1px solid var(--line);
  font-family:"Source Serif 4",Georgia,serif;
  font-size:16px;
  line-height:1.35;
  text-wrap:pretty;
}
.page-path-detail .outcomes li:last-child{
  border-bottom:0;
  padding-bottom:2px;
}
.page-path-detail .outcomes li::before{
  content:counter(outcome, decimal-leading-zero);
  font-family:"Roboto Condensed","Arial Narrow",sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--red);
}
@media(min-width:1024px){
  .page-path-detail .outcomes li{
    white-space:nowrap;
  }
}
@media(max-width:1023px){
  .page-path-detail .outcomes{
    max-width:none;
    margin:0 0 48px;
    padding:16px 0 4px 16px;
  }
  .page-path-detail .outcomes .h2{
    font-size:24px;
    margin:0 0 8px;
  }
  .page-path-detail .outcomes li{
    white-space:normal;
    font-size:15px;
    padding:10px 0;
  }
}
@media(max-width:767px){
  .page-path-detail .outcomes{
    margin:0 0 42px;
    padding:14px 0 2px 14px;
  }
  .page-path-detail .outcomes .h2{
    font-size:22px;
  }
  .page-path-detail .outcomes li{
    font-size:15px;
    grid-template-columns:30px minmax(0,1fr);
  }
}

/* v1.34 — Same quiet mobile footer on every page, not only Home.
   v1.13 hid .footer globally; Home was restored later. Match that
   object sitewide: mark + copyright, no property line, no nav. */
@media(max-width:767px){
  .footer,
  .page-home .footer{
    display:block!important;
    padding:22px 22px 32px;
  }
  .footer-inner,
  .page-home .footer-inner{
    display:block;
    width:100%;
    padding:0;
    text-align:center;
  }
  .footer-mark,
  .page-home .footer-mark{
    max-width:none;
    align-items:center;
  }
  .footer-property{
    display:none;
  }
  .footer-links,
  .page-home .footer-links{
    display:none;
  }
  .footer-bottom,
  .page-home .footer-bottom{
    text-align:center;
  }
}

/* v1.35 — Hide path-step "Why it comes next" until each step has
   unique copy. Spec asks for it; current lines are two placeholders
   repeated 57 times. Copy stays in the HTML. */
.page-path-detail .path-why{
  display:none;
}

/* v1.36 — Chrome hover families. Red is state, not a wash.
   Append-only. Do not edit the 767 homepage blobs or the minified head.
   No global a:hover / a:active / a:focus-visible. No :has(). No JS. */

/* 1. Rest geometry — hover stroke already occupies the slot. */
.brand{
  padding:7px 0;
  border-bottom:2px solid transparent;
}
.icon-btn:not(.position){
  border:1px solid transparent;
}

.brand,
.icon-btn:not(.position),
.desktop-nav a:not(.subscribe-link),
.button,
.page-topics .topic-tile,
.tag-link,
.essay-page .essay-meta-row .tag-link,
.path-row,
.path-step h3 a,
.essay-row,
.read-part,
.menu-row a,
.menu-part,
.topic-mobile-row,
.search-page .result-row,
.part-mini,
.text-link,
.back-link,
.footer-links a,
.prev-next a,
.position.icon-btn,
.mobile-context-button{
  transition:color 120ms ease, border-color 120ms ease, background-color 120ms ease;
}

/* 2. Fine pointer hover */
@media (hover:hover) and (pointer:fine){
  .page-topics .topic-tile:hover{
    border-color:var(--red);
  }
  .page-topics .topic-tile:hover h3{
    color:var(--red);
  }

  .path-row:hover h3,
  .path-step h3 a:hover,
  .essay-row:hover h3,
  .read-part:hover h2,
  .menu-row a:hover h3,
  .topic-mobile-row:hover h3,
  .search-page .result-row:hover h3,
  .part-mini:hover h3{
    color:var(--red);
  }
  .menu-part:hover > span:first-child{
    color:var(--red);
  }

  .text-link:hover,
  .back-link:hover,
  .footer-links a:hover,
  .prev-next a:hover,
  .position.icon-btn:hover,
  .mobile-context-button:hover{
    color:var(--red);
  }

  .tag-link:hover,
  .essay-page .essay-meta-row .tag-link:hover{
    color:var(--red);
    border-color:var(--red);
  }

  .desktop-nav a:not(.subscribe-link):hover{
    border-color:var(--red);
  }

  .button:hover{
    background:var(--red2);
    color:var(--paper2);
  }

  .icon-btn:not(.position):hover{
    border-color:var(--red);
  }

  .brand:hover{
    border-color:var(--red);
  }
}

/* 3. Coarse / no-hover — kill sticky ungated hovers already in the sheet */
@media (hover:none), (pointer:coarse){
  .week-cell:hover:not(.current){
    border-color:var(--line);
    color:inherit;
  }
  .page-topics .topic-tile:hover{
    border-color:var(--line);
  }
  .page-topics .topic-tile:hover h3{
    color:inherit;
  }
  .tag-link:hover,
  .essay-page .essay-meta-row .tag-link:hover{
    border-color:var(--line);
    color:var(--ink);
  }
  .search-page .result-row:hover h3{
    color:inherit;
  }
}

/* 4. Pressed — after the coarse reset so a tap can still flash */
.page-topics .topic-tile:active{
  border-color:var(--red);
}
.page-topics .topic-tile:active h3,
.path-row:active h3,
.path-step h3 a:active,
.essay-row:active h3,
.read-part:active h2,
.menu-row a:active h3,
.topic-mobile-row:active h3,
.search-page .result-row:active h3,
.part-mini:active h3{
  color:var(--red);
}
.menu-part:active > span:first-child{
  color:var(--red);
}
.text-link:active,
.back-link:active,
.footer-links a:active,
.prev-next a:active,
.position.icon-btn:active,
.mobile-context-button:active{
  color:var(--red);
}
.tag-link:active,
.essay-page .essay-meta-row .tag-link:active{
  color:var(--red);
  border-color:var(--red);
}
.button:active{
  background:var(--red2);
  color:var(--paper2);
}
.icon-btn:not(.position):active{
  border-color:var(--red);
}
.brand:active{
  border-color:var(--red);
}
.desktop-nav a:not(.subscribe-link):active{
  border-color:var(--red);
}
.week-cell:active:not(.current),
.page-home .home-week-cell:active{
  border-color:var(--red);
  color:var(--red);
}

/* 5. Keyboard — outside hover media. Outline the hit target. */
.brand:focus-visible,
.icon-btn:not(.position):focus-visible,
.desktop-nav a:focus-visible,
.button:focus-visible,
.page-topics .topic-tile:focus-visible,
.tag-link:focus-visible,
.path-row:focus-visible,
.path-step h3 a:focus-visible,
.essay-row:focus-visible,
.read-part:focus-visible,
.menu-row a:focus-visible,
.menu-part:focus-visible,
.topic-mobile-row:focus-visible,
.search-page .result-row:focus-visible,
.part-mini:focus-visible,
.text-link:focus-visible,
.back-link:focus-visible,
.footer-links a:focus-visible,
.prev-next a:focus-visible,
.position.icon-btn:focus-visible,
.mobile-context-button:focus-visible,
.page-home .home-week-cell:focus-visible,
.week-cell:focus-visible{
  outline:2px solid var(--ink);
  outline-offset:2px;
}
.page-topics .topic-tile:focus-visible{
  border-color:var(--red);
}
.page-topics .topic-tile:focus-visible h3,
.path-row:focus-visible h3,
.path-step h3 a:focus-visible,
.essay-row:focus-visible h3,
.read-part:focus-visible h2,
.menu-row a:focus-visible h3,
.topic-mobile-row:focus-visible h3,
.search-page .result-row:focus-visible h3,
.part-mini:focus-visible h3{
  color:var(--red);
}
.menu-part:focus-visible > span:first-child{
  color:var(--red);
}
.text-link:focus-visible,
.back-link:focus-visible,
.footer-links a:focus-visible,
.prev-next a:focus-visible,
.position.icon-btn:focus-visible,
.mobile-context-button:focus-visible,
.tag-link:focus-visible{
  color:var(--red);
}
.tag-link:focus-visible,
.essay-page .essay-meta-row .tag-link:focus-visible{
  border-color:var(--red);
}
.desktop-nav a:not(.subscribe-link):focus-visible{
  border-color:var(--red);
}
.button:focus-visible{
  background:var(--red2);
  color:var(--paper2);
}
.icon-btn:not(.position):focus-visible{
  border-color:var(--red);
}
.brand:focus-visible{
  border-color:var(--red);
}

/* 6. Reduced motion — keep the state, drop the tween */
@media (prefers-reduced-motion:reduce){
  .brand,
  .icon-btn:not(.position),
  .desktop-nav a:not(.subscribe-link),
  .button,
  .page-topics .topic-tile,
  .tag-link,
  .essay-page .essay-meta-row .tag-link,
  .path-row,
  .path-step h3 a,
  .essay-row,
  .read-part,
  .menu-row a,
  .menu-part,
  .topic-mobile-row,
  .search-page .result-row,
  .part-mini,
  .text-link,
  .back-link,
  .footer-links a,
  .prev-next a,
  .position.icon-btn,
  .mobile-context-button{
    transition:none;
  }
}

/* v1.37 — ALSO APPEARS IN path names are type-links, not unlabeled sentences.
   Unclassed <a> under the eyebrow. Do not paint .essay-row or .prev-next. */
.essay-page .article-end .eyebrow + p a{
  display:inline-block;
  border-bottom:1px solid var(--red);
  line-height:1.2;
  transition:color 120ms ease, border-color 120ms ease, background-color 120ms ease;
}
@media (hover:hover) and (pointer:fine){
  .essay-page .article-end .eyebrow + p a:hover{
    color:var(--red);
  }
}
.essay-page .article-end .eyebrow + p a:active,
.essay-page .article-end .eyebrow + p a:focus-visible{
  color:var(--red);
}
.essay-page .article-end .eyebrow + p a:focus-visible{
  outline:2px solid var(--ink);
  outline-offset:2px;
}
@media (prefers-reduced-motion:reduce){
  .essay-page .article-end .eyebrow + p a{
    transition:none;
  }
}

/* v1.38 — Essay prev-next is Previous / Next only. No Week N of 52 jump.
   Two cells: left Previous, right Next. Do not restyle the type links. */
.prev-next{
  grid-template-columns:1fr 1fr;
}

/* v1.39 — Topic week squares use the same title tooltip as homepage /weeks.
   Titles live on aria-label. Path details have no week squares. */
.page-topic-detail .topic-detail-weeks{
  overflow:visible;
}
.page-topic-detail .topic-detail-weeks .week-cell{
  position:relative;
}
.page-topic-detail .topic-detail-weeks .week-cell[aria-label]::after{
  content:attr(aria-label);
  position:absolute;
  bottom:calc(100% + 8px);
  left:50%;
  z-index:12;
  width:max-content;
  max-width:min(280px,70vw);
  padding:9px 12px;
  border:1px solid var(--line);
  background-color:var(--paper2);
  background-image:var(--paper-texture);
  background-repeat:repeat;
  background-size:1000px auto;
  color:var(--ink);
  font-family:"Source Serif 4",Georgia,serif;
  font-size:14px;
  font-weight:500;
  line-height:1.35;
  letter-spacing:0;
  text-align:left;
  white-space:normal;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-50%);
  box-shadow:0 8px 24px rgba(18,22,21,.12);
}
.page-topic-detail .topic-detail-weeks .week-cell[aria-label]:first-child::after{
  left:0;
  transform:none;
}
.page-topic-detail .topic-detail-weeks .week-cell[aria-label]:last-child::after{
  left:auto;
  right:0;
  transform:none;
}
.page-topic-detail .topic-detail-weeks .week-cell:focus-visible{
  z-index:8;
}
.page-topic-detail .topic-detail-weeks .week-cell:focus-visible::after{
  opacity:1;
  visibility:visible;
}
@media (hover:hover) and (pointer:fine){
  .page-topic-detail .topic-detail-weeks .week-cell:hover{
    z-index:8;
  }
  .page-topic-detail .topic-detail-weeks .week-cell[aria-label]:hover::after{
    opacity:1;
    visibility:visible;
  }
}
@media(max-width:767px){
  .page-topic-detail{
    overflow-x:clip;
  }
  .page-topic-detail .topic-detail-weeks{
    overflow:hidden;
  }
  .page-topic-detail .topic-detail-weeks .week-cell[aria-label]::after{
    content:none;
  }
}

/* v1.40 — Topic chips share the essay size. RELATED TOPICS and any
   other .tag-link/.tag were still 10px after v1.30 scoped to essay-meta-row. */
.tag-link,
.tag{
  font-size:13px;
  font-weight:600;
  padding:7px 11px;
  line-height:1.2;
}
@media(max-width:767px){
  .tag-link,
  .tag{
    font-size:12px;
    padding:6px 10px;
  }
}

/* v1.41 — Week-square tooltips stay in the viewport. Never center.
   Topic rows sit on the left; last-child right-align grew off-frame.
   JS sets --tt-* on the cell; these fallbacks hold if JS has not run. */
.page-home .home-week-cell[aria-label]::after,
.page-weeks .week-grid .week-cell[aria-label]::after,
.page-topic-detail .topic-detail-weeks .week-cell[aria-label]::after,
.page-topic-detail .topic-detail-weeks .week-cell[aria-label]:first-child::after,
.page-topic-detail .topic-detail-weeks .week-cell[aria-label]:last-child::after{
  left:var(--tt-left, 0);
  right:var(--tt-right, auto);
  top:var(--tt-top, auto);
  bottom:var(--tt-bottom, calc(100% + 8px));
  transform:none;
  max-width:var(--tt-max, min(280px,70vw));
}
.page-home .home-week-cell[aria-label]:nth-child(7n+1)::after,
.page-weeks .week-grid .week-cell[aria-label]:nth-child(7n+1)::after{
  left:var(--tt-left, 0);
  right:var(--tt-right, auto);
  transform:none;
}
.page-home .home-week-cell[aria-label]:nth-child(7n)::after,
.page-weeks .week-grid .week-cell[aria-label]:nth-child(7n)::after{
  left:var(--tt-left, auto);
  right:var(--tt-right, 0);
  transform:none;
}



