.home-page{font:400 1rem/1.6 var(--ds-body)}
.home-page :is(.hm-intro,.hm-diagnosis,.hm-method,.hm-book,.hm-error,.hm-practice,.hm-closing) h2{font:400 2.125rem/1.16 var(--ds-display);letter-spacing:-.035em}
.home-page strong{font-weight:600}
.home-page .hm-section-top{display:flex;justify-content:space-between;gap:25px;align-items:baseline}
.hm-intro{padding:62px 0 15px}
.hm-intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:end;margin-top:24px}
.hm-intro-grid>div{max-width:370px;margin-left:auto;color:var(--ds-muted)}
.hm-intro-grid .ds-link{margin-top:14px}
/* The diagnosis is a comparison plate; both source illustrations stay in view. */
.hm-diagnosis{padding:56px 0 0;border-top:1px solid var(--ds-rule);margin-top:16px}
.hm-diagnosis-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:68px;align-items:center;margin-top:24px}
.hm-diagnosis-context{font-size:1rem;line-height:1.65;color:var(--ds-muted);max-width:285px}
.hm-diagnosis-folio{display:flex;gap:17px;align-items:center;margin-top:28px;color:var(--ds-rust)}
.hm-diagnosis-folio>span:first-child{font:400 2.375rem/1 var(--ds-display);letter-spacing:-.04em}
.hm-diagnosis-folio>span:last-child{font-size:.625rem;line-height:1.7;letter-spacing:.1em;text-transform:uppercase;color:var(--ds-muted)}
.home-page .hm-diagnosis-intro h2{font-size:1.5rem;line-height:1.28;letter-spacing:-.025em;margin-top:17px;max-width:280px}
.hm-cause-switch{position:relative;display:inline-flex;align-items:center;gap:18px;cursor:pointer;color:var(--ds-blue);font-size:.8125rem;min-height:48px;margin-top:21px}
.hm-round-arrow{display:grid;place-items:center;border:1px solid #cbd7fe;border-radius:50%;width:2.375rem;height:2.375rem;font-size:1.2rem;flex:none}
.hm-cause-switch:has(:focus-visible){outline:2px solid var(--ds-blue);outline-offset:6px}
.hm-cause-second{display:none}.hm-diagnosis:has(#hm-cause:checked) .hm-cause-first{display:none}.hm-diagnosis:has(#hm-cause:checked) .hm-cause-second{display:block}
.hm-cause-comparison{position:relative;min-width:0;padding-top:8px}
.hm-cause-stage{position:relative;margin:0}
.hm-cause-stage+figure{margin-top:8px}
.hm-cause-stage svg{display:block;width:100%;height:auto;overflow:hidden;transition:opacity .45s}
.hm-cause-stage figcaption{position:absolute;top:0;z-index:1;display:flex;gap:11px;font-size:.75rem;line-height:1.5;background:#fff}
.hm-cause-stage figcaption i{display:block;width:20px;height:30px;border-top:1px solid currentColor;opacity:.55}
.hm-symptom-stage figcaption{right:32.03%;color:var(--ds-rust)}
.hm-symptom-stage figcaption i{border-color:transparent;margin-top:8px}
.hm-symptom-leader{fill:none;stroke:var(--ds-rust);stroke-width:.7;vector-effect:non-scaling-stroke}
.hm-treatment-stage figcaption{left:15.5%;color:var(--ds-blue)}
.hm-treatment-stage figcaption i{border-left:1px solid currentColor;margin-top:8px}
.hm-treatment-stage svg{opacity:.48}.hm-diagnosis:has(#hm-cause:checked) .hm-treatment-stage svg{opacity:1}.hm-diagnosis:has(#hm-cause:checked) .hm-symptom-stage svg{opacity:.38}
.hm-treatment-thread{fill:none;stroke:var(--ds-blue);stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-linejoin:round;opacity:0;stroke-dasharray:100;stroke-dashoffset:100}
.hm-diagnosis:has(#hm-cause:checked) .hm-treatment-thread{opacity:1;stroke-dashoffset:0;animation:hm-trace-treatment 1.4s ease-out both}
.hm-habit-notes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;margin:10px 0 29px 358px}
.hm-habit-alert>.ds-eyebrow,.hm-habit-treatment>.ds-eyebrow{margin-bottom:12px}
.hm-habit-alert{padding-left:17px;border-left:1px dashed #c9a58d}
.hm-habit-alert>p:last-child{font-size:.9375rem;line-height:1.65;color:var(--ds-muted)}
.hm-habit-treatment{padding-left:18px;border-left:1px solid #9bb2fd}
.hm-habit-treatment>p:nth-child(2){font:400 1.25rem/1.4 var(--ds-reading);color:#1946ce}
.hm-habit-treatment .ds-link{margin-top:6px}
@keyframes hm-trace-treatment{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
.hm-catalogue-door{border-top:1px solid var(--ds-rule);display:flex;justify-content:space-between;gap:60px;padding-top:24px;align-items:center}
.hm-catalogue-door>p{max-width:670px;font-size:.875rem;color:var(--ds-muted);line-height:1.65}
.hm-catalogue-door>.ds-link{flex:none}
.hm-method{padding:95px 0 0}
.hm-method-heading{display:grid;grid-template-columns:1fr 1.3fr;gap:100px;margin-top:25px;align-items:start}
.hm-method-heading>p{max-width:570px;color:var(--ds-muted)}
.hm-altitude{position:relative;margin-top:48px;min-height:480px}
.hm-altitude>img{width:calc(100% - 130px);max-width:none;margin-left:-25px}
.hm-altitude figcaption{position:absolute;right:0;bottom:0;width:350px;display:flex;gap:22px;padding:25px 0 0 25px;background:linear-gradient(105deg,#fff0,#fff 12%)}
.hm-altitude figcaption p{font:400 1.25rem/1.5 var(--ds-reading)}
.hm-altitude-number{color:var(--ds-blue);font:400 1.125rem/1.5 var(--ds-display)}
.hm-altitude figcaption .ds-link{margin-top:15px}
.hm-altitude-labels{position:absolute;right:0;top:9%;width:180px;display:grid;gap:21px;font:400 .75rem/1.4 var(--ds-body);color:var(--ds-muted)}
.hm-altitude-labels span{padding-left:38px;position:relative}
.hm-altitude-labels span:before{content:'';position:absolute;left:0;top:9px;width:25px;border-top:1px solid #c4cedf}
.hm-book{padding:82px 0 0;margin-top:70px;border-top:1px solid var(--ds-rule)}
.hm-book-spread{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;margin-top:40px}
.hm-book-object{padding:18px 38px 20px 45px;max-width:460px;justify-self:center}
.hm-cover{position:relative;background:#fff;transform:perspective(1400px) rotateY(8deg) rotateZ(-2deg);box-shadow:12px 19px 30px #17253c16,2px 2px 0 #f8f9fb,4px 3px 0 #dbe0e7}
.hm-cover:after{content:'';position:absolute;top:0;bottom:0;left:0;width:7px;background:linear-gradient(90deg,#132a4820,#fff0);pointer-events:none}
.hm-cover img{width:100%;height:auto}
.hm-book-object figcaption{text-align:center;font-size:.5625rem;letter-spacing:.18em;color:var(--ds-muted);margin-top:29px}
.hm-book-copy{max-width:455px}
.home-page .hm-book-copy h2{font-size:2.125rem;line-height:1.16;max-width:410px}
.hm-book-copy h2>span{display:block;font-size:1.25rem;line-height:1.4;margin-bottom:12px;letter-spacing:-.02em}
.hm-subtitle{margin-top:24px;color:var(--ds-muted);font-size:1rem;line-height:1.6}
.hm-price{display:flex;justify-content:space-between;align-items:baseline;gap:30px;padding:19px 0 18px;margin:24px 0;border-block:1px solid var(--ds-rule)}
.hm-price>span{font-size:.8125rem;color:var(--ds-muted)}
.hm-price>strong{font:400 1.375rem/1.3 var(--ds-display)}
.hm-book-copy>p:last-of-type{font-size:.9375rem;color:var(--ds-muted);line-height:1.65}
.hm-book-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:27px}
.hm-book-index{display:grid;grid-template-columns:150px 1fr 1.2fr;gap:30px;align-items:center;margin-top:55px;padding:24px 0;border-block:1px solid var(--ds-rule)}
.hm-book-index>p{font:400 1.125rem/1.5 var(--ds-reading)}
.hm-book-index>.ds-link{justify-self:end;gap:20px;font-size:.75rem}
.hm-error{position:relative;display:grid;grid-template-columns:.85fr 1.5fr;gap:35px 70px;padding:92px 0 0}
.home-page .hm-error-copy h2{font-size:2.125rem;margin:22px 0}
.hm-error-copy>p:not(.ds-eyebrow){color:var(--ds-muted)}
.hm-check-meta{display:flex;gap:35px;margin-top:24px;font-size:.75rem;color:var(--ds-muted)}
.hm-check-meta b{font:400 1.125rem/1.4 var(--ds-display);color:var(--ds-ink);margin-right:6px}
.hm-error-copy>.ds-link{margin-top:22px}
.hm-error-art{align-self:center;position:relative;min-width:0}
.hm-error-art>img{width:calc(100% + 45px);max-width:none;margin-left:-35px}
.hm-error-art figcaption{width:325px;max-width:90%;margin:8px 0 0 auto;padding-left:20px;border-left:1px solid #b4c6fb;display:grid;grid-template-columns:1fr auto;gap:12px 20px}
.hm-error-art figcaption>p{grid-column:1/-1;grid-row:2;font:400 1.25rem/1.4 var(--ds-reading);color:#1946ce}
.hm-error-art figcaption>.ds-ref{grid-row:1;grid-column:2}
.hm-error-note{grid-column:2;max-width:680px;color:var(--ds-muted);font-size:.875rem;line-height:1.65;border-top:1px solid var(--ds-rule);padding-top:22px}
.hm-practice{padding:85px 0 0;margin-top:70px;border-top:1px solid var(--ds-rule)}
.hm-practice-heading{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start;margin-top:25px}
.hm-practice-heading>p{max-width:450px;color:var(--ds-muted)}
.hm-practice-composition{display:grid;grid-template-columns:1.6fr .85fr;gap:90px;align-items:center;margin-top:46px}
.hm-chart-link{display:block;position:relative;transform:rotate(-1.7deg);box-shadow:0 10px 30px #14233b0d;border:1px solid #e0e4ea;background:#fff;margin:7px 0 8px}
.hm-chart-link img{display:block;width:100%;height:auto}
.hm-chart-link>span{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 30px;padding:5px 0 16px;font-size:.6875rem;color:var(--ds-muted)}
.hm-chart-link>span>span{font-size:1.125rem;color:var(--ds-blue)}
.hm-chart-reading h3{font:400 1.625rem/1.25 var(--ds-display);letter-spacing:-.025em;margin:16px 0}
.hm-chart-reading ol{list-style:none;margin:0 0 24px;padding:0;counter-reset:chart-step}
.hm-chart-reading li{counter-increment:chart-step;position:relative;padding:9px 0 9px 32px;font-size:.875rem;color:var(--ds-muted)}
.hm-chart-reading li:before{content:'0' counter(chart-step);position:absolute;left:0;top:10px;font-size:.6875rem;color:var(--ds-blue)}
.hm-chart-reading>p{font-size:.9375rem;line-height:1.65;color:var(--ds-muted)}
.hm-chart-reading .ds-link{margin-top:14px}
.hm-closing{display:grid;grid-template-columns:400px 1fr;gap:30px;align-items:center;padding:95px 0 65px}
.home-page .hm-closing h2{font-size:1.875rem;line-height:1.2;margin:24px 0 19px;max-width:350px}
.hm-closing>div>p:not(.ds-eyebrow){font-size:1rem;color:var(--ds-muted);max-width:340px}
.hm-closing .ds-link{margin-top:15px}
.hm-closing figure img{width:calc(100% + 30px);max-width:none;margin-left:0}
@media(max-width:1100px){
 .hm-intro-grid,.hm-method-heading,.hm-practice-heading{gap:60px}.hm-habit{gap:30px}.hm-cause-opening{gap:35px}.home-page .hm-cause-opening h2{font-size:1.625rem;max-width:600px}.hm-book-spread{gap:60px}.hm-book-object{padding-inline:30px}.hm-practice-composition{gap:60px}.hm-error{gap:28px 45px}.hm-closing{grid-template-columns:350px 1fr}.hm-altitude{min-height:440px}.hm-altitude-labels{width:130px}.hm-book-index{grid-template-columns:110px 1fr 1fr;gap:24px}
}
@media(max-width:760px){
 .home-page :is(.hm-intro,.hm-diagnosis,.hm-method,.hm-book,.hm-error,.hm-practice,.hm-closing) h2{font-size:1.875rem;line-height:1.2;letter-spacing:-.03em}
 .hm-intro{padding:39px 0 4px}.hm-intro-grid{display:block;margin-top:18px}.hm-intro-grid>div{margin:21px 0 0;max-width:none}.hm-intro-grid .ds-link{margin-top:10px}
 .hm-catalogue-door{display:block;padding-top:20px}.hm-catalogue-door>p{font-size:.875rem}.hm-catalogue-door>.ds-link{margin-top:14px}
 .hm-method{padding-top:56px}.hm-method-heading{display:block;margin-top:20px}.hm-method-heading>p{margin-top:19px}.hm-altitude{margin-top:24px;min-height:0;padding-top:31px}.hm-altitude>img{width:calc(100% + 48px);margin-left:-24px}.hm-altitude-labels{inset:0 0 auto;width:100%;display:flex;justify-content:space-between;gap:12px;font-size:.6875rem}.hm-altitude-labels span{padding:0}.hm-altitude-labels span:before{display:none}.hm-altitude figcaption{position:relative;inset:auto;width:100%;padding:10px 0 0;background:none;gap:17px}.hm-altitude figcaption p{font-size:1.25rem}.hm-altitude figcaption .ds-link{margin-top:9px}
 .hm-book{padding-top:41px;margin-top:42px}.hm-book-spread{display:flex;flex-direction:column;gap:35px;margin-top:25px}.hm-book-object{padding:12px 27px 0;max-width:310px;width:100%}.hm-book-object figcaption{margin-top:23px}.hm-book-copy{max-width:none;width:100%}.home-page .hm-book-copy h2{font-size:1.875rem;max-width:340px}.hm-book-copy h2>span{font-size:1.125rem;margin-bottom:11px}.hm-subtitle{margin-top:19px}.hm-price{padding-block:16px;margin:22px 0}.hm-book-actions{gap:23px;margin-top:22px}.hm-book-index{display:block;margin-top:30px;padding-block:22px}.hm-book-index>p{margin-top:14px;font-size:1.25rem}.hm-book-index>.ds-link{margin-top:14px;font-size:.75rem;gap:16px}
 .hm-error{display:block;padding-top:52px}.home-page .hm-error-copy h2{margin:19px 0;font-size:1.875rem;max-width:300px}.hm-check-meta{gap:28px;margin-top:20px}.hm-error-copy>.ds-link{margin-top:13px}.hm-error-art{margin-top:24px}.hm-error-art>img{width:calc(100% + 48px);margin-left:-24px}.hm-error-art figcaption{width:285px;max-width:94%;margin-top:15px;padding-left:17px}.hm-error-art figcaption>p{font-size:1.25rem}.hm-error-art figcaption .ds-eyebrow,.hm-error-art figcaption .ds-ref{font-size:.625rem}.hm-error-note{font-size:.875rem;margin-top:25px;padding-top:21px}
 .hm-practice{padding-top:42px;margin-top:42px}.hm-practice-heading{display:block;margin-top:20px}.hm-practice-heading>p{margin-top:19px}.hm-practice-composition{display:block;margin-top:28px}.hm-chart-link{margin:0 4px 0}.hm-chart-link>span{margin-inline:16px;padding-bottom:13px;font-size:.625rem}.hm-chart-reading{margin-top:37px}.hm-chart-reading h3{font-size:1.5rem;margin-block:13px}.hm-chart-reading ol{margin-bottom:20px}.hm-chart-reading li{padding-block:8px}.hm-chart-reading li:before{top:9px}.hm-chart-reading>p{font-size:1rem}
 .hm-closing{display:block;padding:55px 0 25px}.home-page .hm-closing h2{font-size:1.75rem;margin:20px 0 17px}.hm-closing>div>p:not(.ds-eyebrow){max-width:none}.hm-closing figure{margin-top:15px}.hm-closing figure img{width:calc(100% + 26px);margin-left:-13px}
}
@media(max-width:350px){.hm-cause-window{margin-inline:-18px}.hm-altitude>img,.hm-error-art>img{width:calc(100% + 36px);margin-left:-18px}.hm-book-index>.ds-link{font-size:.6875rem}.hm-check-meta{gap:24px}}
@media(prefers-reduced-motion:reduce){.hm-cause-window img{transition:none}}

/* Alternating article and illustration proportions give the homepage a distinct rhythm. */
@media(min-width:1001px){
 .hm-method{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px 68px;padding-top:64px}
 .hm-method>.hm-section-top{grid-column:1/-1}
 .hm-method-heading{display:block;margin-top:19px}
 .hm-method-heading>p{margin-top:22px;font-size:1rem;line-height:1.65}
 .hm-altitude{margin-top:0;min-height:355px}
 .hm-altitude>img{width:calc(100% - 80px);margin-left:-16px}
 .hm-altitude-labels{width:calc(100% - 80px);aspect-ratio:1521/789;left:-16px;right:auto;top:0;display:block;font-size:.6875rem;pointer-events:none}
 .hm-altitude-labels span{position:absolute;left:100%;padding-left:25px;transform:translateY(-50%);white-space:nowrap}
 .hm-altitude-labels span:nth-child(1){top:11.592%}.hm-altitude-labels span:nth-child(2){top:17.472%}.hm-altitude-labels span:nth-child(3){top:23.209%}.hm-altitude-labels span:nth-child(4){top:29.096%}
 .hm-altitude-labels span:before{width:16px;top:50%}
 .hm-altitude figcaption{position:relative;inset:auto;width:100%;max-width:none;background:none;gap:17px;padding:15px 0 0}
 .hm-altitude figcaption>div{display:flex;gap:28px;justify-content:space-between;align-items:flex-start;width:100%}
 .hm-altitude figcaption p{max-width:450px}
 .hm-altitude figcaption .ds-link{margin-top:0;flex:none;white-space:nowrap}
 .hm-book{padding-top:62px;margin-top:54px}.hm-book-spread{margin-top:25px;gap:88px}.hm-book-object{max-width:390px}.hm-book-index{margin-top:34px}
 .hm-practice{padding-top:62px;margin-top:54px}.hm-practice-composition{grid-template-columns:1.4fr 1fr;gap:88px;margin-top:32px}
}
@media(max-width:1100px){.hm-diagnosis-layout{grid-template-columns:250px minmax(0,1fr);gap:40px}.hm-habit-notes{margin-left:290px;gap:35px}.hm-diagnosis-context{font-size:.9375rem}}
@media(max-width:760px){
 .hm-diagnosis{padding-top:35px;margin-top:0}.hm-diagnosis-layout{display:flex;flex-direction:column;gap:21px;margin-top:20px}.hm-diagnosis-intro{width:100%}.hm-diagnosis-context{font-size:1rem;max-width:none}.hm-diagnosis-folio{margin-top:24px;gap:13px}.hm-diagnosis-folio>span:first-child{font-size:2rem}
 .home-page .hm-diagnosis-intro h2{font-size:1.5rem;max-width:320px;margin-top:14px}.hm-cause-switch{display:flex;justify-content:space-between;margin-top:16px;font-size:.75rem}.hm-round-arrow{width:2.125rem;height:2.125rem}
 .hm-cause-comparison{width:calc(100% + 28px);margin-inline:-14px;padding-top:16px}.hm-cause-stage+figure{margin-top:27px}.hm-cause-stage figcaption{top:-17px;font-size:.625rem;gap:8px}.hm-cause-stage figcaption i{height:23px;width:13px;margin-top:6px}
 .hm-symptom-stage figcaption{right:32.03%}.hm-treatment-stage figcaption{left:15.5%}
 .hm-habit-notes{display:block;margin:26px 0 25px}.hm-habit-alert{padding-left:17px}.hm-habit-alert>p:last-child{font-size:1rem}.hm-habit-treatment{margin-top:23px}.hm-habit-treatment>p:nth-child(2){font-size:1.25rem}
}
@media(prefers-reduced-motion:reduce){.hm-cause-stage svg{transition:none}.hm-treatment-thread{animation:none!important;stroke-dashoffset:0}}

/* Lower-page reference objects: actual leaves, source fields and a finished endnote. */
.hm-book-object{width:100%;max-width:450px;padding:18px 22px 8px;justify-self:center}
.hm-book-stage{position:relative;width:100%;aspect-ratio: .84;perspective:1600px;isolation:isolate}
.hm-book-stage .hm-cover{position:absolute;left:4%;top:0;width:83%;z-index:3;transform-origin:0 50%;transform:rotateY(-8deg) rotateZ(-1.5deg);transition:transform .85s cubic-bezier(.2,.65,.2,1),box-shadow .85s;box-shadow:14px 23px 30px #15243c13,2px 2px 0 #fafbfc,4px 3px 0 #dbe0e7;backface-visibility:hidden}
.hm-book-leaf{visibility:hidden;position:absolute;left:8%;top:2%;width:83%;z-index:1;background:#fff;border:1px solid #e2e5eb;box-shadow:4px 10px 26px #1b2b4611;transform:translateX(0) rotate(0);transition:transform .85s cubic-bezier(.2,.65,.2,1),box-shadow .85s;pointer-events:none}
.hm-book-leaf img{display:block;width:100%;height:auto}.hm-book-leaf>span{position:absolute;right:12px;bottom:14px;color:var(--ds-blue);font-size:.6875rem;display:flex;gap:12px;opacity:0;transition:opacity .35s}
.hm-book-pages{position:absolute;z-index:0;inset:2% 8% 7% 9%;border:1px solid #dce1e9;background:repeating-linear-gradient(0deg,#fff 0 2px,#e8ebf0 2px 3px);transform:translate(7px,5px);box-shadow:13px 27px 35px #16243a0f}
.hm-book-object figcaption{display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between;align-items:center;text-align:left;margin-top:34px;font-size:.6875rem;letter-spacing:.15em;color:var(--ds-muted)}
.hm-book-turn{position:relative;display:inline-flex;align-items:center;gap:18px;min-height:44px;font:.75rem/1.4 var(--ds-body);letter-spacing:0;color:var(--ds-blue);cursor:pointer}
.hm-turn-close{display:none}.hm-turn-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid #ccd7f8;border-radius:50%;font-size:1rem;transition:transform .65s}
.hm-book-turn:has(:focus-visible){outline:2px solid var(--ds-blue);outline-offset:5px}
.hm-book-object:has(#hm-open-book:checked) .hm-cover{transform:translateX(-8px) rotateY(-61deg) rotateZ(-1.5deg);box-shadow:12px 15px 25px #15243c16}
.hm-book-object:has(#hm-open-book:checked) .hm-book-leaf{visibility:visible;transform:translateX(30px) rotate(1deg);pointer-events:auto;box-shadow:7px 17px 35px #1b2b4617}
.hm-book-object:has(#hm-open-book:checked) .hm-book-leaf>span{opacity:1;transition-delay:.5s}
.hm-book-object:has(#hm-open-book:checked) .hm-turn-open{display:none}.hm-book-object:has(#hm-open-book:checked) .hm-turn-close{display:inline}.hm-book-object:has(#hm-open-book:checked) .hm-turn-icon{transform:rotate(-90deg)}
.hm-book-index{position:relative;border-top:0;padding:28px 0 25px;margin-top:38px;background:linear-gradient(180deg,#f5f7fa70,#fff 55%)}
.hm-book-index:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,#d3dbe7, #d3dbe740)}
.hm-book-index>.ds-link{padding-right:2px}.hm-book-index>.ds-link>span{transition:transform .3s}
.hm-practice-composition{align-items:start;gap:76px;margin-top:44px}
.hm-chart-link{isolation:isolate;z-index:0;margin:8px 10px 22px 0;background:#fff;border:1px solid #dfe4ec;transform:perspective(1600px) rotateY(3deg) rotateZ(-1deg);transform-origin:50% 50%;box-shadow:0 18px 38px #18294212;transition:transform .6s cubic-bezier(.2,.65,.2,1),box-shadow .6s}
.hm-chart-link:before,.hm-chart-link:after{content:'';position:absolute;inset:0;background:#fff;border:1px solid #dce3ed;z-index:-1;pointer-events:none;transform-origin:100% 100%;transition:transform .6s}
.hm-chart-link:before{transform:translate(6px,7px) rotate(.5deg)}.hm-chart-link:after{z-index:-2;transform:translate(11px,13px) rotate(1deg);box-shadow:3px 10px 22px #18294208}
.hm-chart-sheet{position:relative;background:#fff}.hm-chart-marks{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.hm-chart-mark{fill:#2255f50a;stroke:var(--ds-blue);stroke-width:1.1;vector-effect:non-scaling-stroke;opacity:0;stroke-dasharray:100;stroke-dashoffset:0}
.hm-practice-composition:has(#hm-chart-where:checked) .hm-mark-where,.hm-practice-composition:has(#hm-chart-which:checked) .hm-mark-which,.hm-practice-composition:has(#hm-chart-change:checked) .hm-mark-change{opacity:1;animation:hm-mark-field .7s ease-out both}
.hm-chart-link>span{background:#fff;margin-inline:25px;padding:6px 0 16px}
.hm-chart-reading{padding-top:21px}.hm-chart-reading h3{margin-top:15px;margin-bottom:20px}
.hm-chart-reading ol{border-top:1px solid var(--ds-rule);margin:0 0 25px}
.hm-chart-reading li{padding:0;counter-increment:none}.hm-chart-reading li:before{display:none}
.hm-chart-choice{position:relative;display:grid;grid-template-columns:1.75rem minmax(0,1fr) 1.125rem;align-items:center;gap:13px;min-height:58px;padding:12px 0;border-bottom:1px solid var(--ds-rule);cursor:pointer;transition:color .25s,background .25s,padding .25s}
.hm-chart-number{font-size:.6875rem;color:#667187;font-variant-numeric:tabular-nums}.hm-chart-label{font-size:.875rem}.hm-chart-choice-arrow{color:var(--ds-blue);opacity:0;transform:translate(-4px,4px);transition:opacity .25s,transform .25s}
.hm-chart-choice:has(input:checked){color:var(--ds-blue);border-bottom-color:#b5c7fb;background:linear-gradient(90deg,#f5f8ff,#fff 88%);padding-left:9px}
.hm-chart-choice:has(input:checked) .hm-chart-number{color:var(--ds-blue)}.hm-chart-choice:has(input:checked) .hm-chart-choice-arrow{opacity:1;transform:none}
.hm-chart-choice:has(input:focus-visible){outline:2px solid var(--ds-blue);outline-offset:4px}
.hm-error-drawing{display:block;width:calc(100% + 45px);max-width:none;margin-left:-35px;transition:transform .7s cubic-bezier(.2,.65,.2,1)}
.hm-error-drawing svg{display:block;width:100%;height:auto}.hm-preview-thread{fill:none;stroke:var(--ds-blue);stroke-width:1.25;vector-effect:non-scaling-stroke;opacity:.75;stroke-dasharray:1;stroke-dashoffset:0}
.hm-error-art figcaption{position:relative;background:#fff;padding:17px 18px 16px 20px;margin-top:-3px;box-shadow:5px 10px 25px #16274108;border-bottom:1px solid #e4e9f1}
.hm-closing{position:relative;grid-template-columns:340px minmax(0,1fr);gap:58px;padding:104px 0 78px;margin-top:45px;border-top:1px solid var(--ds-rule)}
.hm-closing-copy{position:relative;z-index:1}.home-page .hm-closing h2{font-size:1.875rem;max-width:330px;line-height:1.2}
.hm-closing figure{min-width:0;position:relative;margin-right:-24px}.hm-closing-drawing{display:block;width:100%;height:auto;overflow:visible}
.hm-closing-thread{fill:none;stroke:var(--ds-blue);stroke-width:1.7;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0}
.hm-closing figcaption{display:flex;justify-content:space-between;gap:20px;padding:20px 24px 0 40px;font:.6875rem/1.5 var(--ds-body);letter-spacing:.14em;color:#667187}
@keyframes hm-mark-field{from{opacity:.3;stroke-dashoffset:100}to{opacity:1;stroke-dashoffset:0}}
@keyframes hm-preview-follow{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes hm-endnote-follow{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes hm-endnote-rise{from{transform:translateY(18px) scale(.98)}to{transform:none}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .hm-book-object:not(:has(#hm-open-book:checked)):hover .hm-cover{transform:translateY(-4px) rotateY(-14deg) rotateZ(-1.5deg)}
 .hm-chart-link:hover,.hm-chart-link:focus-visible{transform:perspective(1600px) rotateY(0) rotateZ(0) translateY(-5px);box-shadow:0 23px 42px #18294218}
 .hm-chart-link:hover:before{transform:translate(5px,7px) rotate(.2deg)}.hm-chart-link:hover:after{transform:translate(9px,13px) rotate(.4deg)}
 .hm-error-drawing:hover,.hm-error-drawing:focus-visible{transform:translateY(-4px)}.hm-error-drawing:hover .hm-preview-thread,.hm-error-drawing:focus-visible .hm-preview-thread{animation:hm-preview-follow 1.4s ease-out both;opacity:1}
}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  .hm-closing{view-timeline-name:--hm-endnote;view-timeline-axis:block}
  .hm-closing-drawing{animation:hm-endnote-rise linear both;animation-timeline:--hm-endnote;animation-range:entry 5% entry 90%}
  .hm-closing-thread{animation:hm-endnote-follow linear both;animation-timeline:--hm-endnote;animation-range:entry 10% entry 100%}
 }
}
@media(max-width:1100px){.hm-book-object{max-width:420px;padding-inline:14px}.hm-practice-composition{gap:48px}.hm-closing{grid-template-columns:300px minmax(0,1fr);gap:35px}.hm-closing figure{margin-right:0}}
@media(max-width:760px){
 .hm-book-object{max-width:340px;padding:5px 18px 8px}.hm-book-stage{aspect-ratio:.84}.hm-book-object figcaption{margin-top:20px;font-size:.6875rem;gap:7px}.hm-book-turn{font-size:.6875rem;gap:12px}.hm-book-object:has(#hm-open-book:checked) .hm-book-leaf{visibility:visible;transform:translateX(22px) rotate(1deg)}
 .hm-book-index{margin-top:28px;padding-block:23px;background:none}
 .hm-practice-composition{margin-top:31px}.hm-chart-link{margin:0 10px 30px 0;transform:perspective(1200px) rotateY(2deg) rotateZ(-.6deg)}.hm-chart-link>span{margin-inline:16px;font-size:.6875rem}.hm-chart-reading{margin-top:34px;padding-top:0}.hm-chart-reading h3{margin-bottom:18px}.hm-chart-choice{min-height:58px}.hm-chart-label{font-size:.9375rem}.hm-chart-reading ol{margin-bottom:24px}
 .hm-error-drawing{width:calc(100% + 36px);margin-left:-18px}.hm-error-art figcaption{margin-top:11px;padding:15px 14px 13px 17px;width:295px;max-width:94%}
 .hm-closing{display:flex;flex-direction:column;gap:28px;padding:48px 0 40px;margin-top:42px}.hm-closing-copy{width:100%}.home-page .hm-closing h2{font-size:1.75rem;max-width:320px}.hm-closing figure{width:calc(100% + 30px);margin:0 -15px}.hm-closing figcaption{padding:14px 18px 0;font-size:.6875rem}
}
@media(max-width:350px){.hm-book-object{padding-inline:14px}.hm-book-turn{font-size:.6875rem;gap:8px}.hm-turn-icon{width:25px;height:25px}.hm-book-object figcaption{font-size:.6875rem}.hm-error-drawing{width:calc(100% + 24px);margin-left:-12px}}
@media(prefers-reduced-motion:reduce){.home-page .hm-book-object *,.home-page .hm-chart-link,.home-page .hm-chart-link:before,.home-page .hm-chart-link:after,.home-page .hm-chart-choice,.home-page .hm-chart-choice-arrow,.home-page .hm-error-drawing,.home-page .hm-closing-drawing,.home-page .hm-closing-thread{transition:none!important;animation:none!important}.hm-chart-mark{animation:none!important}.hm-closing-thread{stroke-dashoffset:0}}

/* Current edition: the chapter's four groups and the outline's five stages. */
.hm-diagnosis-folio>span:first-child{font-size:2rem;color:var(--ds-blue)}
.hm-diagnosis-folio>span:last-child{font-size:.6875rem}
.hm-catalogue-door{display:grid;grid-template-columns:290px minmax(0,1fr);gap:68px;align-items:start;padding-top:28px}
.hm-pattern-invitation>p:not(.ds-eyebrow){font-size:.875rem;line-height:1.65;color:var(--ds-muted);margin-top:13px}
.hm-pattern-invitation .ds-link{margin-top:10px}
.hm-pattern-index{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}
.hm-pattern-index>a{display:grid;grid-template-columns:minmax(0,1fr) 26px 12px;gap:18px;align-items:center;border-bottom:1px solid var(--ds-rule);min-height:79px;font-size:.8125rem;line-height:1.5;transition:color .2s}
.hm-pattern-index b{font:400 1.125rem/1 var(--ds-display);color:var(--ds-blue);font-variant-numeric:tabular-nums}
.hm-pattern-index i{font-size:1rem;font-style:normal;color:var(--ds-blue);transition:transform .2s}
.hm-pattern-index>a:hover{color:var(--ds-blue)}.hm-pattern-index>a:hover i{transform:translate(2px,-2px)}
.hm-method-journey{grid-column:1/-1;margin-top:32px;border-top:1px solid var(--ds-rule)}
.hm-stage-controls{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:25px;position:relative}
.hm-stage-controls:before{content:'';position:absolute;top:29px;left:0;right:0;border-top:1px solid #dce3ef;pointer-events:none}
.hm-stage-controls label{position:relative;min-width:0;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:16px;align-items:flex-start;padding:18px 0 20px;min-height:106px;font-size:.8125rem;cursor:pointer;color:var(--ds-muted)}
.hm-stage-number{position:relative;display:block;background:#fff;padding-right:10px;font:.75rem/1.4 var(--ds-body);color:#667187;z-index:1}
.hm-stage-controls label:has(:checked){color:var(--ds-blue)}
.hm-stage-controls label:has(:checked):after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--ds-blue)}
.hm-stage-controls label:has(:checked) .hm-stage-number{color:var(--ds-blue)}
.hm-stage-controls label:has(:focus-visible){outline:2px solid var(--ds-blue);outline-offset:5px}
.hm-stage-panel{position:relative;background:linear-gradient(105deg,#fafbfe 0,#fff 68%);border:1px solid #d5deed;box-shadow:0 17px 29px -26px #13264166;min-height:240px;padding:33px 35px;margin-top:0}
.hm-stage-panel:after{position:absolute;content:'';inset:7px -5px -6px 7px;border:1px solid #e6eaf2;z-index:-1;transform:rotate(.15deg)}
.hm-stage-note{display:none;grid-template-columns:1fr 1.4fr;gap:75px;animation:hm-stage-enter .35s ease-out}
.home-page .hm-stage-note h3{font:400 1.5rem/1.3 var(--ds-display);letter-spacing:-.03em;margin-top:15px;max-width:330px}
.hm-stage-note>div>p:not(.ds-eyebrow){font-size:.9375rem;color:var(--ds-muted);line-height:1.65;margin:0}
.hm-stage-note>div>p.hm-stage-fine{font-size:.8125rem;margin-top:16px;padding-left:16px;border-left:1px solid #abbff5}
.hm-stage-note .ds-link{margin-top:13px}
.hm-method-journey:has(#hm-stage-before:checked) .hm-stage-note-before,.hm-method-journey:has(#hm-stage-read:checked) .hm-stage-note-read,.hm-method-journey:has(#hm-stage-question:checked) .hm-stage-note-question,.hm-method-journey:has(#hm-stage-choices:checked) .hm-stage-note-choices,.hm-method-journey:has(#hm-stage-after:checked) .hm-stage-note-after{display:grid}
.hm-method-download{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:19px;font-size:.8125rem;color:var(--ds-muted)}
.hm-method-download .ds-link{font-size:.8125rem;flex:none}
@keyframes hm-stage-enter{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.hm-catalogue-door{grid-template-columns:250px minmax(0,1fr);gap:40px}.hm-stage-note{gap:40px}.hm-stage-controls{gap:18px}}
@media(max-width:760px){
 .home-page .hm-section-top{flex-direction:column;align-items:flex-start;gap:6px}
 .hm-catalogue-door{display:block;padding-top:23px}.hm-pattern-invitation>p:not(.ds-eyebrow){font-size:1rem}.hm-pattern-index{margin-top:15px;gap:0 20px}.hm-pattern-index>a{min-height:91px;grid-template-columns:minmax(0,1fr) max-content;gap:11px;font-size:.75rem}.hm-pattern-index>a>span{min-width:0;overflow-wrap:anywhere}.hm-pattern-index i{display:none}.hm-pattern-index b{font-size:1rem}
 .hm-method-journey{margin-top:28px}.hm-stage-controls{grid-template-columns:repeat(auto-fit,minmax(min(100%,4.25rem),1fr));gap:0 20px}.hm-stage-controls:before{display:none}.hm-stage-controls label{padding:17px 0 14px;min-height:94px;gap:11px;border-bottom:1px solid #dde4ef;font-size:.75rem}.hm-stage-controls label:has(:checked):after{height:2px}.hm-stage-number{font-size:.6875rem}
 .hm-stage-panel{margin-top:19px;padding:24px 22px;min-height:0}.hm-method-journey .hm-stage-note{grid-template-columns:1fr;gap:22px}.home-page .hm-stage-note h3{font-size:1.375rem;max-width:none;margin-top:13px}.hm-stage-note>div>p:not(.ds-eyebrow){font-size:1rem}.hm-stage-note>div>p.hm-stage-fine{font-size:.875rem}.hm-stage-note .ds-link{margin-top:14px}
 .hm-method-download{display:block;font-size:.8125rem;margin-top:24px}.hm-method-download .ds-link{margin-top:7px}
 .hm-error-art figcaption .ds-eyebrow,.hm-error-art figcaption .ds-ref{font-size:.6875rem}
}
@media(prefers-reduced-motion:reduce){.hm-stage-note{animation:none}.hm-pattern-index>a,.hm-pattern-index i{transition:none}}
@supports not selector(:has(*)){.hm-stage-controls{display:none}.hm-stage-note{display:grid;margin-bottom:30px}.hm-stage-panel{padding-bottom:0}}
