.plan-shell{width:min(1240px,88vw);margin:auto;padding:calc(var(--nav-height) + 70px) 0 0}
.plan-title{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;padding-bottom:45px;border-bottom:1px solid var(--ink);margin-bottom:55px}
.plan-title h1{font-family:var(--display);font-size:clamp(44px,6.2vw,88px);line-height:1.08;font-weight:400;letter-spacing:-.025em;text-transform:uppercase;margin:0}
.plan-title h1 span{color:var(--red)}
.plan-source{font-size:12px;line-height:1.6;white-space:nowrap;margin-bottom:6px;color:var(--muted)}
.plan-source span{margin-left:8px;color:var(--red)}
.plan-return{margin-left:auto;display:flex;align-items:center;gap:18px;font-family:var(--display);font-size:13px;text-transform:uppercase;letter-spacing:.04em;text-decoration:none}
.plan-return:hover{color:var(--red)}
.plan-return span{font-family:var(--sans);font-size:22px}
.plan-layout{display:grid;grid-template-columns:250px minmax(0,760px);gap:clamp(40px,6vw,90px);justify-content:space-between;align-items:start}
.plan-index{position:sticky;top:calc(var(--nav-height) + 28px);max-height:calc(100svh - var(--nav-height) - 56px);overflow-y:auto;scrollbar-width:thin;padding-right:12px}
.plan-index summary{font-family:var(--display);font-size:18px;text-transform:uppercase;cursor:pointer;margin-bottom:20px;color:var(--red)}
.plan-index nav{display:grid;gap:0}
.plan-index a{display:block;font-size:12px;line-height:1.5;text-decoration:none;padding:9px 0;border-bottom:1px solid var(--rule)}
.plan-index a:hover,.plan-index a:focus-visible{color:var(--red)}
.plan-text{font-family:var(--body);font-size:18px;line-height:1.85;min-width:0}
.plan-text p{margin:0 0 22px;white-space:pre-wrap;overflow-wrap:anywhere}
.plan-text h2,.plan-text h3{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:1.2;letter-spacing:-.015em;scroll-margin-top:calc(var(--nav-height) + 25px);overflow-wrap:anywhere}
.plan-text h2{font-size:38px;margin:70px 0 26px;padding-top:28px;border-top:1px solid var(--ink)}
.plan-text h3{font-size:31px;margin:55px 0 16px}
.plan-text .plan-original-title{font-size:36px;margin:0 0 15px;padding:0;border:0}
.plan-text .plan-original-meta{font-size:13px;line-height:1.75;color:var(--muted);margin-bottom:8px}
.plan-text .plan-section-deck{font-size:17px;line-height:1.6;color:var(--red);margin:0 0 27px}
.plan-text strong{font-weight:650}
.plan-text .plan-sketch{font-size:12px;line-height:1.6;margin:28px 0 35px;color:var(--muted)}
.plan-sketch a::after{content:' ↗';color:var(--red)}
.plan-footer{border-top:1px solid var(--ink);display:flex;justify-content:space-between;gap:25px;padding:30px 0 50px;margin-top:65px;font-size:12px}
@media(max-width:1000px){.plan-layout{grid-template-columns:200px minmax(0,1fr);gap:35px}.plan-text{font-size:17px}.plan-title{align-items:flex-start;flex-direction:column;gap:22px}}
@media(max-width:760px){.plan-shell{width:88vw;padding-top:calc(var(--nav-height) + 38px)}.plan-title{padding-bottom:28px;margin-bottom:28px}.plan-title h1{font-size:clamp(29px,7.7vw,58px)}.plan-layout{display:block}.plan-index{position:static;max-height:none;padding:0 0 25px;margin:0 0 30px;border-bottom:1px solid var(--rule)}.plan-index summary{font-size:17px;margin-bottom:14px}.plan-index nav{grid-template-columns:1fr 1fr;gap:0 18px}.plan-index a{font-size:11px;padding:9px 0}.plan-text{font-size:17px;line-height:1.8}.plan-text .plan-original-title{font-size:28px}.plan-text h2{font-size:30px;margin-top:48px}.plan-text h3{font-size:25px;margin-top:40px}.plan-text .plan-section-deck{font-size:16px}.plan-return{font-size:11px;gap:10px}.plan-footer{flex-direction:column;gap:18px}}
@media print{.plan-page .site-header,.plan-index,.plan-source,.plan-footer,.skip-link{display:none}.plan-shell{width:100%;padding:0}.plan-title{margin-bottom:30px;padding-bottom:20px}.plan-title h1{font-size:32px}.plan-layout{display:block}.plan-text{font-size:11pt;line-height:1.5}.plan-text h2,.plan-text h3{break-after:avoid}.plan-text h2{font-size:21pt}.plan-text h3{font-size:17pt}.plan-text p{orphans:3;widows:3}}

/* Center the plan reading column */
@media screen{
.plan-shell{width:calc(100% - 48px);max-width:1440px}
.plan-title{max-width:720px;margin-inline:auto;flex-direction:column;align-items:flex-start;gap:22px}
.plan-layout{display:block}
.plan-text{max-width:720px;margin-inline:auto}
.plan-index{position:static;max-width:720px;max-height:none;margin:0 auto 35px;padding:0 0 25px;border-bottom:1px solid var(--rule)}
.plan-index nav{grid-template-columns:1fr 1fr;gap:0 20px}
.plan-footer{max-width:720px;margin-inline:auto}
}
@media screen and (min-width:1300px){
.plan-layout{display:grid;grid-template-columns:220px minmax(0,720px) 220px;gap:32px;justify-content:center}
.plan-index{grid-column:1;position:sticky;top:calc(var(--nav-height) + 28px);max-height:calc(100svh - var(--nav-height) - 56px);margin:0;padding:0 12px 0 0;border-bottom:0}
.plan-index nav{grid-template-columns:1fr;gap:0}
.plan-text{grid-column:2}
}
