/* ============================================================
   Editorial content pages (16 Sep 2026): /path, /about, /philosophy,
   /foundry, /machine-thank-you. tokens.css and shell.css load first.
   Load only on these pages: it sets base body and heading type.
   ============================================================ */
body{--paper:var(--vm-paper);--ink:var(--vm-ink);--muted:#4d5760;--line:var(--vm-line);--navy:var(--vm-navy);--amber:var(--vm-amber);--gold:var(--vm-gold);--sage:var(--vm-sage);--serif:var(--vm-serif);--sans:var(--vm-sans);--card:#fffdf8;--tint:#efe9dc}
*{box-sizing:border-box}
html{scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit;cursor:pointer}
.pg h1,.pg h2,.pg h3,.pg h4,.pg p,.pg figure,.pg blockquote,.pg ul,.pg ol{margin:0}
.pg h1,.pg h2,.pg h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.04em}
.pg h1{font-size:clamp(46px,5.4vw,78px)}
.pg h2{font-size:clamp(34px,3.8vw,54px)}
.pg h3{font-size:clamp(24px,2.2vw,30px);letter-spacing:-.02em;line-height:1.15}
.pg h4{font:700 11px/1.5 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.pg em{font-style:italic;font-weight:400}
.pg h1 em,.pg h2 em{color:var(--gold)}
.pg p+p{margin-top:16px}
.pg strong{font-weight:700;color:var(--ink)}
.pg a:focus-visible,.pg button:focus-visible,.pg summary:focus-visible,.pg input:focus-visible,.pg select:focus-visible,.pg textarea:focus-visible{outline:3px solid #986600;outline-offset:4px}
::selection{background:#f5b731;color:var(--ink)}

.pg .wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}
.pg .narrow{width:min(760px,calc(100% - 96px));margin-inline:auto}
.pg .eyebrow{display:flex;align-items:center;gap:12px;font:700 11px/1.5 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.pg .eyebrow:before{content:'';width:24px;height:1px;background:currentColor;flex-shrink:0}
.pg .sec{padding-block:96px}
.pg .sec.tight{padding-block:64px}
.pg .rule{border-top:1px solid var(--line)}
.pg .tint{background:#efebe0}
.pg .lede{font:clamp(21px,1.9vw,25px)/1.45 var(--serif);color:var(--ink);max-width:680px}
.pg .muted{color:var(--muted)}
.pg .prose{color:#3f4a55;max-width:640px}
.pg .prose p{font-size:17px}

.pg .button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;background:var(--amber);padding:16px 22px;min-height:54px;color:var(--ink);font:700 14px/1.2 var(--sans);border:1px solid transparent;border-radius:3px;transition:background .18s}
.pg .button:hover{background:#ffc956}
.pg .button .arrow{font-size:20px;font-weight:400;line-height:1}
.pg .text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font:700 14px/1.3 var(--sans);border-bottom:1px solid currentColor;align-self:flex-start}
.pg .text-link:hover{color:var(--gold)}
.pg .actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:30px}

/* hero */
.pg-hero{padding:72px 0 76px;border-bottom:1px solid var(--line)}
.pg-hero .eyebrow{margin-bottom:26px}
.pg-hero h1{max-width:15ch}
.pg-hero .lede{margin-top:26px}
.pg-hero .hero-note{font-size:15px;color:var(--muted);margin-top:18px;max-width:620px}
.pg-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:72px;align-items:center}
.pg-hero-grid h1{max-width:13ch}
.pg-portrait{position:relative;padding:0 0 0 22px}
.pg-portrait:before{content:'';position:absolute;right:-14px;top:28px;width:52px;height:170px;background:var(--amber)}
.pg-portrait img{position:relative;width:100%;aspect-ratio:4/4.8;object-fit:cover;border-radius:150px 3px 3px 3px;background:#c5b6a3}
.pg-portrait figcaption{font:italic 16px/1.4 var(--serif);color:var(--muted);margin-top:14px}
.path-line{display:flex;flex-wrap:wrap;align-items:center;gap:9px 0;font:700 11px/1.6 var(--sans);letter-spacing:.07em;text-transform:uppercase;margin-top:28px}
.path-line span{display:inline-flex;align-items:center}
.path-line span+span:before{content:'\2192';font-size:15px;color:var(--gold);padding-inline:9px}
.path-line a{border-bottom:1px solid transparent;min-height:32px;display:inline-flex;align-items:center}
.path-line a:hover{border-color:var(--gold)}

/* wide figure */
.pg-fig{margin:0}
.pg-fig img{width:100%;object-fit:cover;background:#d8d0c1}
.pg-fig.wide img{aspect-ratio:16/7}
.pg-fig.four img{aspect-ratio:4/3}
.pg-fig figcaption{font:italic 15px/1.4 var(--serif);color:var(--muted);margin-top:12px}

/* section head */
.pg-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:64px;align-items:end;margin-bottom:52px}
.pg-head h2{margin-top:18px}
.pg-head>p,.pg-head .prose{color:var(--muted);font-size:17px}
.pg-head.stack{grid-template-columns:1fr;gap:18px;align-items:start}
.pg-head.stack>p{max-width:680px}

/* split: sticky side + prose */
.pg-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px;align-items:start}
.pg-split h2{margin-top:18px}
.pg-split .side .pg-fig{margin-top:34px}
.pg-split .prose{padding-top:6px}

/* pull quote */
.pg-quote{font:italic clamp(24px,2.4vw,32px)/1.35 var(--serif);letter-spacing:-.01em;color:var(--ink);border-left:3px solid var(--amber);padding-left:24px;margin-top:34px;max-width:560px}
.pg-quote cite{display:block;font:700 11px/1.5 var(--sans);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:14px}

/* the five-step overview */
.pg-track{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--ink)}
.pg-track li{border-right:1px solid var(--line);min-width:0}
.pg-track li:last-child{border-right:0}
.pg-track a{display:block;padding:22px 20px 26px;height:100%}
.pg-track li:first-child a{padding-left:0}
.pg-track a:hover{background:#efebe0}
.pg-track .n{font:700 11px/1.5 var(--sans);letter-spacing:.14em;color:var(--gold)}
.pg-track b{display:block;font:400 28px/1.1 var(--serif);letter-spacing:-.03em;margin-top:8px}
.pg-track span.d{display:block;font-size:14px;line-height:1.5;color:var(--muted);margin-top:8px}

/* detailed steps */
.pg-step{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,.9fr);gap:0 48px;padding:52px 0;border-top:1px solid var(--line)}
.pg-step:first-child{border-top:1px solid var(--ink)}
.pg-step .num{font:400 76px/.9 var(--serif);letter-spacing:-.05em;color:var(--gold)}
.pg-step .tag{font:700 11px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pg-step h3{font-size:clamp(34px,3.4vw,46px);letter-spacing:-.04em;margin-top:8px}
.pg-step .mantra{font:italic 20px/1.4 var(--serif);color:var(--gold);margin-top:8px}
.pg-step .lead{font:21px/1.45 var(--serif);color:var(--ink);margin-top:22px}
.pg-step .body{color:#3f4a55;margin-top:14px}
.pg-step .leave{border-left:1px solid var(--line);padding-left:36px}
.pg-step .leave h4{margin-bottom:14px}
.pg-step .why{grid-column:2/4;margin-top:28px;padding:18px 22px;background:#efebe0;font-size:15px;color:#3f4a55}
.pg-step .why strong{color:var(--ink)}
.pg-step.later .num{color:#59616a}

/* tick list */
.ticks{list-style:none;padding:0;margin:0}
.ticks li{position:relative;padding:11px 0 11px 30px;border-top:1px solid var(--line);font-size:16px;line-height:1.5;color:#3f4a55}
.ticks li:first-child{border-top:0;padding-top:0}
.ticks li:before{content:'';position:absolute;left:2px;top:19px;width:14px;height:8px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.ticks li:first-child:before{top:8px}
.ticks.no li:before{width:13px;height:2px;border:0;background:#8a2c1c;transform:none;top:22px;left:1px}
.ticks.no li:first-child:before{top:11px}

/* two columns: for you / not for you */
.pg-fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}
.pg-fit>div{border-top:1px solid var(--ink);padding-top:24px}
.pg-fit h3{margin-bottom:20px}

/* cards with a rule on top */
.pg-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px}
.pg-cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.pg-cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.pg-card{border-top:1px solid var(--ink);padding:24px 0 40px;min-width:0}
.pg-card .k{font:700 11px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.pg-card h3{margin-top:10px}
.pg-card p{font-size:16px;color:#3f4a55;margin-top:12px}
.pg-card .text-link{margin-top:16px}

/* timeline */
.pg-timeline{list-style:none;padding:0;margin:0}
.pg-timeline li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;padding:22px 0;border-top:1px solid var(--line)}
.pg-timeline li:first-child{border-top:1px solid var(--ink)}
.pg-timeline .yr{font:400 24px/1.2 var(--serif);color:var(--gold);letter-spacing:-.02em}
.pg-timeline p{color:#3f4a55}

/* navy statement band */
.pg-band{background:var(--navy);color:var(--paper);padding-block:88px}
.pg-band .eyebrow{color:#e3c782}
.pg-band h2{color:var(--paper);margin-top:18px;max-width:18ch}
.pg-band h2 em{color:#f4cb75}
.pg-band p{color:#ccd3d7}
.pg-band .pg-quote{color:var(--paper);border-color:var(--amber)}
.pg-band .pg-quote cite{color:#e3c782}
.pg-band .text-link{color:var(--paper)}
.pg-band .text-link:hover{color:#f4cb75}
.pg-band .pg-card{border-color:#6f7d88}
.pg-band .pg-card h3{color:var(--paper)}
.pg-band .pg-card p{color:#ccd3d7}
.pg-band .pg-card .k{color:#e3c782}
.pg-band .ticks li{color:#ccd3d7;border-color:#3b4d5c}
.pg-band .ticks li:before{border-color:#f4cb75}

/* closing invitation */
.pg-cta{padding-block:96px}
.pg-cta-box{background:var(--navy);color:var(--paper);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);border-radius:3px}
.pg-cta-main{padding:56px 56px 52px}
.pg-cta-main .eyebrow{color:#e3c782}
.pg-cta-main h2{color:var(--paper);margin-top:18px}
.pg-cta-main h2 em{color:#f4cb75}
.pg-cta-main>p{color:#ccd3d7;max-width:520px;margin-top:18px}
.pg-cta-main .actions{margin-top:30px}
.pg-cta-main .text-link{color:var(--paper)}
.pg-cta-main .text-link:hover{color:#f4cb75}
.pg-cta-meta{font-size:14px;color:#ccd3d7;margin-top:16px}
.pg-cta-side{border-left:1px solid #3b4d5c;padding:56px 44px;display:flex;flex-direction:column;justify-content:center}
.pg-cta-side .big{font:italic 26px/1.35 var(--serif);color:var(--paper)}
.pg-cta-side p{color:#ccd3d7;font-size:15px;margin-top:14px}
.pg-foot-note{font-size:14px;color:var(--muted);margin-top:18px;max-width:760px}

/* faq */
.pg-faq{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:72px}
.pg-faq h2{margin-top:18px;font-size:clamp(32px,3vw,42px)}
.pg-faq details{border-bottom:1px solid #c5cbc4}
.pg-faq details:first-child{border-top:1px solid #c5cbc4}
.pg-faq summary{cursor:pointer;list-style:none;font-size:16px;font-weight:700;padding:22px 44px 22px 0;position:relative;min-height:44px}
.pg-faq summary::-webkit-details-marker{display:none}
.pg-faq summary:after{content:'+';position:absolute;right:8px;top:16px;font:28px/1 var(--serif)}
.pg-faq details[open] summary:after{content:'\2212'}
.pg-faq details p{padding:0 36px 24px 0;font-size:16px;color:#3f4a55;line-height:1.7}

/* daily practice list */
.pg-routine{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px;margin-top:44px}
.pg-routine>div{border-top:1px solid var(--ink);padding-top:18px}
.pg-routine .t{font:700 11px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.pg-routine b{display:block;font:400 24px/1.2 var(--serif);letter-spacing:-.02em;margin-top:6px}
.pg-routine p{font-size:15px;color:#3f4a55;margin-top:8px}

/* form (invitation note) */
.pg-form{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--amber);padding:34px 32px 30px}
.pg-form h2{font-size:clamp(28px,2.6vw,34px);margin-top:14px}
.pg-form .field{margin-top:18px}
.pg-form label{display:block;font:700 13px/1.4 var(--sans);color:var(--ink);margin-bottom:7px}
.pg-form label .opt{font-weight:400;color:var(--muted)}
.pg-form input,.pg-form select,.pg-form textarea{width:100%;min-height:48px;border:1px solid #b9b3a5;border-radius:3px;background:#fff;color:var(--ink);font:16px/1.4 var(--sans);padding:11px 13px}
.pg-form textarea{min-height:96px;resize:vertical}
.pg-form input:focus,.pg-form select:focus,.pg-form textarea:focus{border-color:var(--ink)}
.pg-form .msg{display:none;font-size:13px;color:#8a2c1c;margin-top:6px}
.pg-form .field.err input,.pg-form .field.err select{border-color:#8a2c1c}
.pg-form .field.err .msg{display:block}
.pg-form .button{width:100%;margin-top:24px}
.pg-form .foot{font-size:13px;color:var(--muted);margin-top:12px}
.pg-form .done{display:none}
.pg-form.is-done form,.pg-form.is-done .form-head{display:none}
.pg-form.is-done .done{display:block}
.pg-form .done p{color:#3f4a55;margin-top:12px}

/* thank you steps */
.pg-next{list-style:none;padding:0;margin:0;counter-reset:nx}
.pg-next>li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:22px;padding:30px 0;border-top:1px solid var(--line);counter-increment:nx}
.pg-next>li:first-child{border-top:1px solid var(--ink)}
.pg-next>li:before{content:counter(nx,decimal-leading-zero);font:400 40px/1 var(--serif);color:var(--gold);letter-spacing:-.04em}
.pg-next h3{font-size:clamp(24px,2.2vw,30px)}
.pg-next p{color:#3f4a55;margin-top:10px}
.pg-next .actions{margin-top:18px}

@media(max-width:1100px){
  .pg .wrap,.pg .narrow{width:min(1180px,calc(100% - 64px))}
  .pg-step{grid-template-columns:90px minmax(0,1fr);gap:0 32px}
  .pg-step .leave{grid-column:2;border-left:0;padding-left:0;margin-top:28px}
  .pg-step .why{grid-column:2}
  .pg-track{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pg-track li{border-bottom:1px solid var(--line)}
  .pg-track li:nth-child(3){border-right:0}
  .pg-track li:nth-child(4) a{padding-left:0}
  .pg-cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pg-routine{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}
}
@media(max-width:860px){
  .pg .sec{padding-block:68px}
  .pg-hero{padding:48px 0 56px}
  .pg-hero-grid,.pg-split,.pg-head,.pg-fit,.pg-faq,.pg-cta-box{grid-template-columns:1fr}
  .pg-hero-grid{gap:44px}
  .pg-portrait{max-width:460px}
  .pg-split{gap:36px}
  .pg-head{gap:18px;margin-bottom:36px}
  .pg-fit{gap:40px}
  .pg-faq{gap:28px}
  .pg-cards,.pg-cards.two{grid-template-columns:1fr}
  .pg-cta{padding-block:64px}
  .pg-cta-main{padding:40px 30px 36px}
  .pg-cta-side{border-left:0;border-top:1px solid #3b4d5c;padding:30px}
  .pg-band{padding-block:64px}
}
@media(max-width:640px){
  body{font-size:16px}
  .pg .wrap,.pg .narrow{width:calc(100% - 40px)}
  .pg-track{grid-template-columns:1fr}
  .pg-track li{border-right:0}
  .pg-track a,.pg-track li:first-child a,.pg-track li:nth-child(4) a{padding:16px 0;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:10px;align-items:baseline}
  .pg-track b{margin-top:0;font-size:24px}
  .pg-track span.d{grid-column:2}
  .pg-step{grid-template-columns:1fr;padding:40px 0}
  .pg-step .num{font-size:54px;margin-bottom:10px}
  .pg-step .leave,.pg-step .why{grid-column:1}
  .pg-cards.four,.pg-routine{grid-template-columns:1fr}
  .pg-timeline li{grid-template-columns:1fr;gap:6px}
  .pg-portrait:before{right:-6px;width:36px}
  .pg-form{padding:26px 20px 24px}
  .pg .button{width:100%}
  .pg .actions{flex-direction:column;align-items:stretch}
  .pg .actions .text-link{align-self:flex-start}
  .pg-next>li{grid-template-columns:1fr;gap:10px}
}
@media(prefers-reduced-motion:reduce){.pg *{transition:none!important}}
.pg .tool-link{color:var(--ink);border-bottom:1px solid var(--gold);display:inline-block;padding-block:8px;line-height:1.3}.pg .tool-link:hover{color:var(--gold)}
.pg .prose .pg-quote{font-size:clamp(24px,2.4vw,32px)}
.pg-band .pg-timeline li{border-color:#3b4d5c}
.pg-band .pg-timeline li:first-child{border-color:#6f7d88}
.pg-band .pg-timeline .yr{color:#f4cb75}
.pg-band .pg-timeline p,.pg-band .prose{color:#ccd3d7}
.pg-band strong{color:var(--paper)}
.pg-band .pg-fig figcaption{color:#ccd3d7}
.pg-cta-side .text-link{color:var(--paper)}
.pg .pg-quote{margin-top:30px}.pg .pg-card .text-link,.pg .pg-card p+.text-link{margin-top:16px}.pg .pg-cta-side p+p{margin-top:14px}

/* machine thank-you */
.pg-thanks .pg-hero h1{max-width:none}
.ty-sessions{margin-top:18px}
.ty-sessions .session-row{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:16px}
.ty-sessions .sn{font:700 11px/1.9 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.ty-sessions .st{font-weight:700}
.pg .ty-note{font-size:15px;color:#3f4a55;background:#efebe0;padding:14px 18px;margin-top:20px}
.ty-cal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.ty-cal a{display:block;border:1px solid #b9b3a5;border-radius:3px;background:var(--card);padding:12px 14px;min-height:44px}
.ty-cal a:hover{border-color:var(--ink)}
.ty-cal b{display:block;font-size:15px}
.ty-cal small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.ty-connect{margin-top:48px;border-top:1px solid var(--ink);padding-top:24px}
.ty-socials{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:10px}
@media(max-width:640px){.ty-cal{grid-template-columns:1fr}.ty-sessions .session-row{grid-template-columns:1fr auto}.ty-sessions .sn{grid-column:1/3}}
