.ml{max-width:34rem}
.ml .lh{border-bottom:1px solid var(--ink);padding:16px 0 10px;margin-bottom:22px}
.ml .lh .name{color:var(--ink);text-decoration:none}
.ml .eyebrow{font:italic 400 var(--t-1)/1.4 var(--serif);letter-spacing:0;text-transform:none;color:var(--ink-soft);margin:0 0 .4em}
.ml .eyebrow.red{color:var(--accent)}
.ml h1{font-size:clamp(2.4rem,11vw,3.4rem);margin:0 0 .35em}
.ml h2{font:700 1.45em/1.2 var(--serif);font-variation-settings:"opsz" 48;margin:1.6em 0 .45em;letter-spacing:-.005em}
.ml p{margin:0 0 .8em}
.ml .say{font:italic 400 1.08em/1.45 var(--serif);border-left:2px solid var(--accent);padding:2px 0 2px 14px;margin:.4em 0 1em}
.ml .receipt.one{margin:.6em 0 1.2em}
.ml .gift{border:1px solid var(--ink);background:color-mix(in srgb,var(--ink) 3%,transparent);padding:18px 16px 16px;margin:2em 0 1.2em}
.ml .gift h2{margin-top:.1em}
.ml .dl{display:grid;gap:10px;margin-top:14px}
.ml .btn{display:block;text-align:center;text-decoration:none;font:700 16px/1 var(--serif);background:var(--accent);color:#fff;padding:15px 18px;border:1px solid var(--accent)}
.ml .btn span{font:500 12px/1 var(--mono);letter-spacing:.06em;opacity:.85;margin-left:4px}
.ml .btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.ml .btn:visited{color:#fff}.ml .btn.ghost:visited{color:var(--ink)}
.ml .pitch{border-top:1px solid var(--ink);margin-top:2.2em;padding-top:1.2em}
.ml .pitch .big{font:400 1.18em/1.5 var(--serif)}
.ml .which{font:700 1.1em/1.3 var(--serif);margin:1.4em 0 .6em}
.ml .doors{display:grid;gap:10px}
.ml .door{display:flex;justify-content:space-between;align-items:center;appearance:none;font:500 16px/1.2 var(--serif);text-align:left;background:transparent;color:var(--ink);border:1px solid var(--ink);padding:14px 16px;cursor:pointer;position:relative}
.ml .door::after{content:"→";font-family:var(--mono);opacity:.6;margin-left:12px}
.ml .door[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.ml .door:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.ml .doorpanel{margin-top:16px}
.ml .doorpanel.in{animation:rise .45s ease-out}
.ml .tip{border-left:2px solid var(--accent);padding:2px 0 2px 14px;font:400 1.05em/1.45 var(--serif)}
.ml .tip .tl{display:block;font:400 17px/1 var(--hand);color:var(--accent);margin-bottom:4px}
.ml .applynote{font:400 12px/1.5 var(--mono);color:var(--muted);margin-top:10px}
.ml footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media (min-width:640px){ .ml .dl{grid-template-columns:1fr 1fr} .ml .doors{grid-template-columns:1fr 1fr 1fr} .ml .door{justify-content:center;text-align:center;padding:14px 10px} .ml .door::after{display:none} }

.ml .whichsub{color:var(--muted);margin:-.3em 0 .8em}
.ml .door{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:baseline;padding:16px;border-width:1.5px;transition:transform .15s,background .2s}
.ml .door::after{display:none}
.ml .door .dn{grid-row:1/3;font:400 15px/1 var(--hand);color:var(--accent);border:1px solid var(--accent);padding:6px 8px;align-self:center}
.ml .door b{font:700 18px/1.2 var(--serif)}
.ml .door i{font:italic 400 14.5px/1.35 var(--serif);color:var(--muted)}
.ml .door:hover{transform:translateY(-1px)}
.ml .door[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.ml .door[aria-pressed="true"] i{color:color-mix(in srgb,var(--paper) 75%,transparent)}
.ml .door[aria-pressed="true"] .dn{color:var(--paper);border-color:var(--paper)}
.ml .doorpanel .dl{margin:.4em 0 1em}
.ml .pitch.in{animation:rise .5s .1s ease-out both}
.ml .pitch .btn{margin:.4em 0 0}
.ml .confess{font:400 14px/1.5 var(--serif);color:var(--muted);border-top:1px dashed var(--rule);padding-top:.9em;margin-top:1.4em}
@media (min-width:640px){ .ml .doors{grid-template-columns:1fr} .ml .door{justify-content:start;text-align:left;padding:16px} }

/* drawn doors */
.ml .pickhint{font:400 19px/1 var(--hand);color:var(--accent);margin:.2em 0 .5em;transform:rotate(-2deg)}
.ml .pickhint::after{content:" ↓"}
.ml .doors{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.ml .door{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;padding:0;text-align:center;color:var(--ink);cursor:pointer;transition:opacity .3s}
.ml .door:hover{transform:none}
.ml .door[aria-pressed="true"]{background:none;color:var(--ink)}
.ml .door .frame{position:relative;display:block;width:100%;max-width:118px;aspect-ratio:3/5;border:2px solid var(--ink);border-bottom-width:5px;perspective:700px;background:radial-gradient(ellipse at 50% 70%,#fff6dc 0%,#f6d9a8 55%,#e7b47c 100%);overflow:visible}
.ml .door .light{position:absolute;left:3px;right:3px;bottom:-1px;height:4px;background:#f6c46e;filter:blur(2px);opacity:.55;animation:doorglow 2.6s ease-in-out infinite}
.ml .door .leaf{position:absolute;inset:3px 3px 0 3px;background:var(--paper);border:1.5px solid var(--ink);transform-origin:left center;transition:transform .75s cubic-bezier(.3,.75,.2,1),box-shadow .75s;box-shadow:0 0 0 rgba(0,0,0,0)}
.ml .door .leaf::before,.ml .door .leaf::after{content:"";position:absolute;left:16%;right:16%;border:1.5px solid var(--ink);opacity:.75}
.ml .door .leaf::before{top:20%;height:26%}
.ml .door .leaf::after{top:54%;height:34%}
.ml .door .num{position:absolute;top:6%;left:50%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font:700 13px/22px var(--mono);z-index:1}
.ml .door .knob{position:absolute;right:10%;top:50%;width:8px;height:8px;border-radius:50%;background:var(--ink);transform-origin:50% 50%}
.ml .door b{font:700 15px/1.2 var(--serif);margin-top:4px}
.ml .door i{font:italic 400 13.5px/1.3 var(--serif);color:var(--muted)}
.ml .door[aria-pressed="true"] .leaf{transform:rotateY(-78deg);box-shadow:-6px 0 12px rgba(0,0,0,.18)}
.ml .door[aria-pressed="true"] .light{opacity:.95}
.ml .door[aria-pressed="true"] i{color:var(--accent)}
.ml .doors.chosen .door[aria-pressed="false"]{opacity:.45}
.ml .door:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.ml .door.jiggle .knob{animation:knob .7s ease-in-out}
.ml .door.jiggle .leaf{animation:rattle .7s ease-in-out}
@keyframes knob{0%,100%{transform:rotate(0)}20%{transform:translateY(1px) scaleX(.7)}40%{transform:translateY(-1px)}60%{transform:translateY(1px) scaleX(.7)}}
@keyframes rattle{0%,100%{transform:rotateY(0)}25%{transform:rotateY(-6deg)}50%{transform:rotateY(-1deg)}75%{transform:rotateY(-4deg)}}
@keyframes doorglow{0%,100%{opacity:.35}50%{opacity:.8}}
@media (prefers-reduced-motion:reduce){.ml .door .leaf{transition:none}.ml .door .light,.ml .door.jiggle .knob,.ml .door.jiggle .leaf{animation:none}}
@media (min-width:640px){ .ml .doors{grid-template-columns:repeat(3,minmax(0,1fr))} .ml .door{padding:0} }
.ml .confess{color:var(--ink)}.ml .bridge{font:italic 400 1.02em/1.45 var(--serif);margin:-.4em 0 1.2em}

.ml .doorpanel .tip{margin:.2em 0 1em}
.ml .doorpanel .dl{grid-template-columns:1fr 1fr;gap:8px}
.ml .doorpanel .dl .btn{font-size:14px;padding:12px 8px}
.ml .pitch h2{margin:.1em 0 .4em}
.ml .steps{margin:.6em 0 1.1em;padding:0;list-style:none;counter-reset:s;display:grid;gap:10px}
.ml .steps li{counter-increment:s;position:relative;padding-left:34px;font:400 1em/1.45 var(--serif)}
.ml .steps li::before{content:counter(s);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);font:700 12px/20px var(--mono);text-align:center}
.ml .btn.big{font-size:18px;font-weight:700;padding:18px}
.ml .pitch .ps{font:400 .98em/1.5 var(--serif);margin-top:1.4em;border-top:1px dashed var(--rule);padding-top:1em}
.ml .again{margin:1em 0 0}.ml .again a{font:700 1.05em/1.4 var(--serif);color:var(--accent);text-decoration:underline 1.5px;text-underline-offset:4px}
/* the open door: warm light spilling out */
.ml .door .frame::before{content:"";position:absolute;inset:-18px -22px;border-radius:50%;background:radial-gradient(ellipse at 50% 55%,rgba(255,214,140,.0) 0%,rgba(255,214,140,0) 60%);opacity:0;transition:opacity .6s .25s;pointer-events:none;z-index:-1}
.ml .door .frame::after{content:"";position:absolute;left:-10%;right:-10%;top:100%;height:46px;background:linear-gradient(rgba(255,206,120,.75),rgba(255,206,120,0));clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);filter:blur(1.5px);opacity:0;transition:opacity .6s .3s;pointer-events:none}
.ml .door[aria-pressed="true"] .frame{background:radial-gradient(ellipse at 50% 60%,#fffdf4 0%,#ffeec4 35%,#f9cf86 70%,#eba45a 100%);box-shadow:0 0 18px 4px rgba(255,200,110,.55),0 0 46px 14px rgba(255,190,90,.28);animation:doorbreathe 3.2s ease-in-out .8s infinite}
.ml .door[aria-pressed="true"] .frame::before{opacity:1;background:radial-gradient(ellipse at 50% 55%,rgba(255,226,160,.55) 0%,rgba(255,214,140,.18) 45%,rgba(255,214,140,0) 70%)}
.ml .door[aria-pressed="true"] .frame::after{opacity:1}
.ml .door[aria-pressed="true"] .light{opacity:0}
.ml .door[aria-pressed="true"] b{margin-top:18px}
.ml .doorpanel{position:relative;border-radius:2px;padding:14px 12px 4px;margin:6px -4px 0;background:linear-gradient(180deg,rgba(255,214,140,.38) 0%,rgba(255,226,170,.16) 45%,rgba(255,226,170,0) 100%)}
.ml .doorpanel .tip{background:rgba(255,250,236,.55);padding:8px 10px 8px 14px}
@keyframes doorbreathe{0%,100%{box-shadow:0 0 18px 4px rgba(255,200,110,.5),0 0 46px 14px rgba(255,190,90,.24)}50%{box-shadow:0 0 24px 6px rgba(255,205,120,.7),0 0 60px 20px rgba(255,195,95,.34)}}
@media (prefers-reduced-motion:reduce){.ml .door[aria-pressed="true"] .frame{animation:none}}

.ml .lede{font-size:1.08em}
.ml .skip{margin:.2em 0 1.2em;font:500 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.ml .skip a{color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor}
.ml ul.what{margin:.2em 0 1em;padding:0;list-style:none;display:grid;gap:8px}
.ml ul.what li{padding-left:16px;position:relative;line-height:1.45}
.ml ul.what li:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.ml .door b{order:-1;min-height:2.5em;display:flex;align-items:flex-end;justify-content:center;margin:0 0 6px}
.ml .door .num{top:4%;width:24px;height:17px;border-radius:1px;background:#b8995a;color:#2b2416;font:700 11px/17px var(--serif);text-align:center;border:1px solid #8a7140;box-shadow:none;text-shadow:none;letter-spacing:0}
.ml .doorpanel .dh{font:700 22px/1.2 var(--serif);color:var(--accent);margin:.2em 0 .45em}
.ml .doorpanel ul.does{margin:0 0 1em;padding:0;list-style:none;display:grid;gap:6px}
.ml .doorpanel ul.does li{padding-left:16px;position:relative;line-height:1.45}
.ml .doorpanel ul.does li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}

.ml .sampleex{border:1px solid var(--rule);background:color-mix(in srgb,var(--ink) 3%,transparent);padding:10px 12px;margin:.2em 0 1em;display:grid;gap:6px;font-size:15px;line-height:1.45}
.ml .sampleex .sx-h{font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0}
.ml .sampleex p{margin:0}.ml .sx-l{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-right:4px}
.ml .which .tap{font:italic 400 .8em var(--serif);color:var(--muted);margin-left:6px}
.ml .door i{display:block;font:italic 400 12.5px/1.25 var(--serif);color:var(--muted);margin-top:6px;max-width:12ch}
.ml .none{font-size:14.5px;color:var(--muted);margin:.8em 0 0;text-align:center}
.ml .linkish{background:none;border:0;padding:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}
.ml .doorpanel .dl{display:grid;gap:8px;margin:.2em 0 .4em}
.ml .copied{font:italic 400 14px/1.3 var(--serif);color:var(--accent);min-height:1.2em;margin:0}
.ml .howto{font-size:14.5px;line-height:1.5;color:var(--ink);border-left:2px solid var(--rule);padding-left:10px;margin:.2em 0 1em}
.ml .forreps{margin:.2em 0 1em}.ml .forreps a{color:var(--accent)}
.ml .bio{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:start}
.ml .bio img{width:64px;height:83px;object-fit:cover;border:1px solid var(--ink);filter:grayscale(1) contrast(1.05)}
.ml .bio p{margin:0}
.ml .mailnote{display:block;margin-top:4px}

@media (max-width:700px){.ml .doorpanel .dl{display:flex;flex-direction:column}.ml #copycoach{order:-1;background:var(--accent);color:var(--onaccent,#fff);border-color:var(--accent)}.ml #dl-md{background:transparent;color:var(--ink);border:1px solid var(--ink)}.ml .howto{order:-2}}
.ml .month{margin:1.2em 0;border-top:1px solid var(--rule);padding-top:1em}
.ml .month h3{font:700 20px/1.2 var(--serif);margin:.2em 0 .6em}
.ml ol.weeks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ml ol.weeks li{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;line-height:1.45}
.ml ol.weeks .wk{font:500 11px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);grid-row:1/3}
.ml ol.weeks b{display:block}
.ml .monthrole{font:italic 400 15px/1.45 var(--serif);color:var(--muted);margin:.8em 0 0}
.ml .monthrole:empty{display:none}
.ml .review{margin:1.2em 0;padding:14px 16px;border:1px solid var(--ink);background:color-mix(in srgb,var(--ink) 3%,transparent)}
.ml .review .stars{margin:0 0 6px;color:var(--accent);letter-spacing:.15em;font-size:15px}
.ml .review blockquote{margin:0;font:italic 400 16.5px/1.5 var(--serif)}
.ml .review figcaption{margin-top:8px;font:400 12px/1.4 var(--mono);color:var(--muted)}
.ml .review figcaption b{color:var(--ink);font-weight:500}
.ml form.apply{margin:1.4em 0;border:1.5px solid var(--ink);padding:16px;display:grid;gap:8px;scroll-margin-top:16px}
.ml form.apply h3{font:700 20px/1.2 var(--serif);margin:0}
.ml form.apply .xnote{font-size:14.5px;color:var(--muted);margin:0 0 4px}
.ml form.apply label{font:500 11.5px/1.4 var(--mono);letter-spacing:.04em;color:var(--ink);margin-top:6px}
.ml form.apply .opt{color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:.1em}
.ml form.apply textarea,.ml form.apply input{width:100%;box-sizing:border-box;font:400 16px/1.4 var(--serif);color:var(--ink);background:var(--paper);border:1px solid var(--ink);border-radius:0;padding:9px 10px}
.ml form.apply .two{display:grid;grid-template-columns:1fr;gap:4px 12px}
@media(min-width:560px){.ml form.apply .two{grid-template-columns:1fr 1fr}}
.ml form.apply .two>div{display:grid;gap:4px;min-width:0}
.ml form.apply .hp{position:absolute;left:-9999px;width:1px;height:1px}
.ml .xray{border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent);padding:8px 12px;margin:4px 0}
.ml .xray .xr-h{font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 4px}
.ml .xray p{margin:0;font-size:15.5px;line-height:1.45}
.ml .xray .q{font-weight:700}
.ml .aperr{color:var(--accent);font:italic 400 14.5px var(--serif);min-height:1.2em;margin:0}
.ml .apsmall{font-size:13.5px;color:var(--muted);margin:0}
.ml .apdone{margin:1.4em 0;border:1.5px solid var(--accent);padding:16px}
.ml .apdone h3{font:700 22px/1.2 var(--serif);margin:.1em 0 .4em}
.ml .apdone .say{font:700 18px/1.4 var(--serif);margin:.6em 0 0}

.ml .try{margin:.4em 0 1.1em;padding:14px 14px 12px;border:1.5px solid var(--accent);display:grid;gap:6px}
.ml .try .eyebrow{margin:0}
.ml .try .tryl{font:700 18px/1.3 var(--serif)}
.ml .try textarea{width:100%;box-sizing:border-box;font:400 16px/1.4 var(--serif);color:var(--ink);background:var(--paper);border:1px solid var(--ink);border-radius:0;padding:9px 10px}
.ml .trynote{font-size:13.5px;color:var(--muted);margin:0}
.ml .teardown{margin:1.6em 0;padding-top:1em;border-top:1px solid var(--ink)}
.ml .teardown h2{margin:.2em 0 .6em}
.ml .teardown p{margin:0 0 .7em}
.ml .teardown .say{font:700 18px/1.4 var(--serif);border-left:3px solid var(--accent);padding-left:12px}
.ml .teardown .moral{font:italic 400 16.5px/1.5 var(--serif);color:var(--ink);background:color-mix(in srgb,var(--accent) 6%,transparent);padding:10px 12px;margin-top:1em}

.ml .rlabel{font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:.4em 0 4px}

/* system pass: no tracked caps on this page either; labels take the italic meta role */
.ml .skip,.ml .sampleex .sx-h,.ml .sx-l,.ml ol.weeks .wk,.ml form.apply .opt,.ml .xray .xr-h,.ml .rlabel{font:italic 400 var(--t-1)/1.4 var(--serif);letter-spacing:0;text-transform:none}
.ml .sx-l,.ml ol.weeks .wk,.ml .xray .xr-h{color:var(--pen)}
.ml .skip{font-size:var(--t0)}
