/* Layout corrections only; illustration coordinates remain in their original boxes. */
html{scrollbar-width:thin;scrollbar-color:#a98b71 transparent}
body{font-size:17px;background-size:100% 100%,9px 9px}
button{font-family:inherit;touch-action:manipulation}
button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid #155e75;outline-offset:4px}
body>header,body>.masthead,body>main,body>footer{width:min(1280px,calc(100% - 64px));margin-inline:auto}
body>header,body>.masthead{padding:24px 0}
.hero{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);min-height:0;gap:40px;align-items:center;padding:48px 0 56px;max-width:none}
.hero>.copy,.hero>.hero-copy,.hero>.intro{min-width:0;max-width:none}
.hero h1,.hero .copy h1,.hero .hero-copy h1,.hero .intro h1{font-size:clamp(48px,5vw,72px);line-height:1.2;margin:0 0 24px;max-width:none}
.hero .lede,.hero .lead{font-size:18px;line-height:1.85;max-width:32em;margin:0 0 24px}
.lead br{display:none}.stats,.hero-stats{gap:12px 22px;flex-wrap:wrap;margin-top:24px}
.atlas-wrap,.atlas,.chart,.map,.garden,.board{min-width:0;width:100%;margin:0}
.atlas-head,.diagram-intro,.chart-top,.map-head,.garden-head,.board-head{width:100%;min-height:0;margin:0 0 16px;padding:12px 0 0;display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
.atlas-note,.source-credit,.chart-note,.diagram-note{font-size:14px;line-height:1.7;color:#756156}
.diagram:before{display:none}
.diagram:has(.cow-illustration){aspect-ratio:521/311;min-height:0;padding:0;border:0;display:block;margin:20px 0 12px;width:100%}
.diagram .cow-illustration{width:100%;height:100%;display:block}
.diagram .cut-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cut-marker{cursor:pointer}.cut-marker circle{fill:#4b1716;stroke:#fff5e6;stroke-width:1.3}.cut-marker text{fill:#fff5e6;font:11px Georgia,serif;text-anchor:middle;dominant-baseline:central;pointer-events:none}.cut-marker path{fill:none;stroke:#4b1716;stroke-width:1.8}.cut-marker.internal path{stroke-dasharray:4 3}.cut-marker .anchor{fill:#fff5e6;stroke:#4b1716}.cut-marker:hover circle,.cut-marker:focus-visible circle{fill:#a64a32;stroke-width:2.5}
.part-summary{display:block}
.cut-marker button{display:block;width:100%;height:100%;min-height:0;min-width:0;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.cut-marker:has(button:focus-visible) circle{fill:#a64a32;stroke-width:2.5}
.map .station.s4{display:none}
.diagram:has(.chicken-art){aspect-ratio:245/350;width:min(100%,280px);max-width:280px;min-height:0;padding:0;border:0;display:block;margin:20px auto 12px}
.diagram .chicken-art{width:100%;height:100%;display:block}
.whole-entry{margin:16px auto 12px;font-size:18px}
.parts,.parts-section,.collection{display:block;padding:40px 0 52px;background:transparent;color:#462c25;border:0;border-top:1px solid #cdbca6}
.parts-head,.section-heading,.section-head{display:block;width:100%;max-width:none;margin:0 0 24px}
.parts-head .eyebrow,.section-heading .eyebrow{color:#8f3528}
.parts-head .eyebrow:before,.section-heading .eyebrow:before{background:#8f3528}
.parts h2,.parts-section h2,.collection h2{font-size:clamp(30px,3.5vw,44px);font-weight:400;line-height:1.35;margin:0 0 20px}
.part-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0;width:100%;max-width:none}
.parts .part-index{grid-template-columns:repeat(2,minmax(0,1fr))}
.part-button{display:grid;grid-template-columns:26px minmax(0,1fr) 30px;gap:10px;min-height:124px;padding:20px 16px;border:1px solid #cdbca6;background:#fff9ee;color:#462c25;align-items:start}
.part-button:hover,.part-button:focus-visible{background:#eee0cc}
.part-number{color:#8f3528;font-size:14px}.part-name{color:#462c25;font-size:24px;line-height:1.35}.part-summary{color:#756156;font-size:14px;line-height:1.65;margin-top:8px}
.part-total{width:30px;min-width:0;height:30px;border:1px solid #cdbca6;color:#8f3528;font:16px Georgia;display:grid;place-items:center}
.dish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0}
.dish-card{min-width:0;padding:20px;border:1px solid #cdbca6;background:#fff9ee;color:var(--ink)}
.dish-card h3{font-size:25px;line-height:1.4;margin:12px 0 8px}.dish-card p{font-size:16px;line-height:1.65}
/* Routes and labels use normal flow, never cover the artwork. */
.map,.garden{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;position:relative}
.map-head,.garden-head,.map>svg,.garden>svg{grid-column:1/-1}
.map>svg,.garden>svg{display:block;width:100%;height:auto;max-height:260px;margin:0}
.map .route-button,.garden .node-card{position:static;transform:none;width:100%;min-width:0;min-height:104px;padding:16px;border:1px solid #cdbca6;box-shadow:none;background:#fff9ee}
.map .route-button:last-child{grid-column:1/-1}
.node-card strong,.route-button strong{font-size:24px}.node-card span,.route-button span{font-size:14px}.node-card small,.route-button small{font-size:14px}
.ocean{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;aspect-ratio:auto;margin:0}
.ocean>svg{position:static;grid-column:1/-1;display:block;width:100%;height:auto;max-height:230px}
.ocean .harbor{position:static;transform:none;width:100%;min-width:0;min-height:112px;border-radius:6px;padding:16px;border:1px solid #b9c4b7;box-shadow:none;text-align:left}
.harbor strong{font-size:24px;line-height:1.5}.harbor small,.harbor span{font-size:14px;white-space:normal}
.chart-note{margin:16px 0 0}.filters{gap:8px}.filters button{min-height:44px}
.cutting-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:0;padding:60px 22px 46px;border-width:6px;border-radius:22px}
.cutting-board .knife{left:80px;width:125px}.cut-tag{min-width:0;min-height:112px;padding:16px 14px}.cut-tag strong{font-size:24px;line-height:1.4}.cut-tag small,.cut-tag span{font-size:14px}
dialog{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:60px 32px 32px}
dialog h2{line-height:1.3}dialog li strong,dialog li small{display:block}dialog li small{font-size:14px;line-height:1.6}
dialog .close,dialog .dialog-close{min-width:44px;min-height:44px;z-index:3;background:#fff9ee}
.embedded dialog{position:fixed;inset:var(--dialog-top,24px) 0 auto;margin:0 auto;max-height:var(--dialog-height,calc(100dvh - 48px))}
.embedded body{overflow:hidden}.embedded body>header,.embedded body>.masthead,.embedded body>footer,.embedded .skip,.embedded .skip-link{display:none}
.embedded .hero{min-height:0;padding:36px 0 44px}
@media(max-width:1100px){.hero{grid-template-columns:1fr;gap:28px}.hero>.copy,.hero>.hero-copy,.hero>.intro{max-width:760px}.hero>.atlas-wrap,.hero>.atlas,.hero>.chart,.hero>.map,.hero>.garden,.hero>.board{max-width:780px;margin-inline:auto}.hero .diagram:has(.cow-illustration){max-width:660px;margin-inline:auto}.hero h1,.hero .copy h1,.hero .hero-copy h1,.hero .intro h1{font-size:56px}.part-index,.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cutting-board{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){body>header,body>.masthead,body>main,body>footer{width:calc(100% - 32px)}.hero,.embedded .hero{padding:28px 0 36px;gap:24px}.hero h1,.hero .copy h1,.hero .hero-copy h1,.hero .intro h1{font-size:44px}.hero .lede,.hero .lead{font-size:17px}.brand small,.edition,.diagram-intro small,.chart-top small,.map-head small,.garden-head small,.board-head small{display:none}.part-index,.dish-grid{grid-template-columns:1fr}.parts,.parts-section,.collection{padding:32px 0 40px}.parts h2,.parts-section h2,.collection h2{font-size:30px}.diagram .cut{display:none}.diagram:has(.chicken-art){max-width:220px}.map .route-button,.garden .node-card,.ocean .harbor{padding:12px}.node-card strong,.route-button strong,.harbor strong{font-size:21px}.cutting-board{grid-template-columns:repeat(2,minmax(0,1fr));padding:58px 12px 42px;gap:10px}.cut-tag{padding:14px 10px}.cut-tag strong{font-size:21px}dialog{padding:60px 20px 24px}dialog ul,.dish-list{grid-template-columns:1fr}}
@media(max-width:620px){.parts .part-index{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
