.method-map{background:#eeece4;color:#20221d;padding:5rem 5vw;position:relative}
.method-map-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem}
.method-kicker,.method-number{font-size:.8125rem;letter-spacing:.1em}
.method-map h2{font:700 clamp(2.5rem,5vw,5rem)/1 Display,Impact,sans-serif;margin:1rem 0 0}
.method-map h2 em{font:italic 400 .8em Georgia,serif;letter-spacing:-.05em}
.method-map-heading>p{font-size:.875rem;line-height:1.5;max-width:200px;margin:0}
.method-route{position:relative;isolation:isolate;display:grid;grid-template-columns:120px minmax(0,1fr) 120px;gap:1rem;align-items:center;min-height:260px;margin:2rem 0}
.route-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:-1;pointer-events:none}
.route-track{fill:none;stroke:#20221d55;stroke-width:2;stroke-dasharray:3 5}
.route-progress{fill:none;stroke:#e8ff59;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100}
.route-progress-outline{stroke:#20221d;stroke-width:7}
.is-ready .route-progress{transition:stroke-dashoffset .65s ease}
.route-endpoint{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;font-size:.75rem;letter-spacing:.04em;background:#eeece4;padding:.5rem 0}
.route-endpoint img{display:block;width:115px;height:145px;object-fit:contain;filter:grayscale(1)}
.route-anchor{width:8px;height:8px;background:#20221d;border-radius:50%;display:block}
.route-stops{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:0}
.route-stop{font:400 .875rem/1.3 Body,Arial,sans-serif;border:0;background:none;color:inherit;cursor:pointer;padding:0 2px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.7rem;position:relative}
.route-stop:nth-child(even){margin-top:65px}
.route-dot{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #20221d;border-radius:50%;background:#eeece4;font-size:.875rem}
.route-label{background:#eeece4;padding:.25rem 0;max-width:100%;overflow-wrap:anywhere}
.route-stop[aria-selected="true"] .route-dot{background:#e8ff59;border-width:2px}
.route-stop[aria-selected="true"] .route-label{font-weight:700;text-decoration:underline;text-underline-offset:5px}
.route-stop:focus-visible{outline:2px solid #20221d;outline-offset:5px;border-radius:2px}
.method-detail{display:grid;grid-template-columns:1fr 3fr;gap:3rem;border-top:1px solid #20221d;padding:2rem 0;max-width:1080px;margin:auto}
.method-map-count{font:700 clamp(2rem,4vw,4rem)/1 Display,Impact,sans-serif}
.method-panels{display:grid;min-width:0}
.method-panel{padding:0 0 2rem;min-width:0}
.is-ready .method-panel{grid-area:1/1;padding:0;visibility:hidden;pointer-events:none}
.is-ready .method-panel.is-current{visibility:visible;pointer-events:auto}
.method-panel h3{font:700 clamp(2rem,3.5vw,3.5rem)/1 Display,Impact,sans-serif;margin:.8rem 0}
.method-panel h3 em{font:italic 400 .75em Georgia,serif}
.method-panel p{font-size:clamp(1rem,1.25vw,1.125rem);line-height:1.6;margin:1rem 0;max-width:700px}
.method-panel small{display:block;font-size:.8125rem;line-height:1.5;letter-spacing:.05em;border-top:1px solid #20221d33;padding-top:1rem;margin-top:1.2rem}
.method-panel:focus-visible{outline:2px solid #20221d;outline-offset:8px}
.method-map-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid #20221d44;padding-top:1rem;font-size:.75rem;line-height:1.5}
.method-map-footer a{color:inherit;text-decoration:underline;text-underline-offset:4px;font-size:.875rem;padding:.6rem 0}
@media(max-width:1100px){.method-route{grid-template-columns:95px minmax(0,1fr) 95px;gap:.5rem}.route-endpoint img{width:90px;height:125px}.route-stop{font-size:.875rem}.route-stop:nth-child(even){margin-top:75px}}
@media(max-width:850px){.method-map{padding:3rem 6vw}.method-map-heading{display:block}.method-map h2{font-size:clamp(2.25rem,7vw,3.5rem)}.method-map h2 em{display:block}.method-map-heading>p{margin:1rem 0;max-width:none}.method-route{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;min-height:0;margin:1.5rem 0}.route-endpoint{flex-direction:row;gap:1rem;padding:0;background:transparent;text-align:left;min-height:70px}.route-endpoint img{width:56px;height:70px;background:#eeece4}.route-anchor{position:absolute;left:18px;visibility:hidden}.route-start .route-anchor{top:67px}.route-finish .route-anchor{bottom:67px}.route-stops{display:flex;flex-direction:column;gap:.25rem}.route-stop,.route-stop:nth-child(even){flex-direction:row;margin:0;gap:1rem;padding:0;min-height:44px;text-align:left;font-size:.875rem}.route-dot{width:44px;height:44px}.route-label{padding:.3rem .5rem .3rem 0}.method-detail{grid-template-columns:1fr;gap:1rem;padding:1.5rem 0}.method-map-count{font-size:1.5rem}.method-panel h3{font-size:2.25rem}.method-panel p{font-size:1rem}.method-map-footer>span{max-width:180px}}
@media(prefers-reduced-motion:reduce){.method-map .route-progress{transition:none}}
.reduced-motion .method-map .route-progress{transition:none}
/* Mobile: the seven controls sit immediately above their text. */
@media(max-width:850px){
 .method-map{padding:2rem 5vw}.method-map-heading h2{font-size:2rem;margin:.6rem 0}.method-map-heading h2 em{display:inline}.method-map-heading>p{margin:.5rem 0;font-size:.8125rem}
 .method-route{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:.75rem 0 1rem}
 .route-start{grid-column:1;grid-row:1}.route-finish{grid-column:2;grid-row:1;justify-self:end}
 .route-endpoint{position:relative;display:flex;flex-direction:row;min-height:56px;gap:.5rem;font-size:.75rem;max-width:150px;background:#eeece4}
 .route-endpoint img{width:44px;height:56px}.route-endpoint>span:last-child{max-width:85px}
 .route-start .route-anchor,.route-finish .route-anchor{position:absolute;left:18px;top:auto;bottom:0;visibility:hidden}
 .route-finish .route-anchor{left:auto;right:18px}
 .route-stops{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}
 .route-stop,.route-stop:nth-child(even){display:flex;justify-content:center;margin:0;padding:0;min-height:44px;gap:0}
 .route-dot{width:34px;height:34px;font-size:.8125rem}
 .route-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .method-detail{padding:1rem 0;gap:0}.method-map-count{display:none}.method-panel h3{font-size:1.9rem;margin:.6rem 0}.method-panel p{font-size:1rem;line-height:1.5;margin:.7rem 0}.method-panel small{margin-top:.7rem;padding-top:.7rem;font-size:.75rem}.method-number{font-size:.75rem}
 .method-map-footer{padding-top:.5rem}.method-map-footer>span{font-size:.75rem;max-width:155px}
}
