:root{--bg: #ffffff;--bg-deep: #f5f5f5;--panel: #ffffff;--panel-strong: #ffffff;--ink: #111111;--muted: #4a4a4a;--line: rgba(0, 0, 0, .12);--accent: #111111;--accent-deep: #000000;--accent-soft: #f3f3f3;--olive: #2f2f2f;--shadow: 0 12px 30px rgba(0, 0, 0, .04);--radius-xl: 2rem;--radius-lg: 1.5rem;--radius-md: 1rem;--max-width: 76rem;--heading-font: "BIZ UDPMincho", "Hiragino Mincho ProN", "Iowan Old Style", "Palatino Linotype", serif;--body-font: "Avenir Next", "Hiragino Sans", "Yu Gothic", "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--body-font);line-height:1.7;scroll-behavior:smooth;scroll-padding-top:1.5rem;scroll-padding-bottom:calc(env(safe-area-inset-bottom,0px) + 3rem)}body{margin:0;min-height:100vh;overflow-x:hidden;background:var(--bg)}body:before,body:after{content:none}a,h1,h2,h3,h4,h5,p,li,th,td{overflow-wrap:anywhere}a{color:inherit}h1,h2,h3,h4,h5{margin-top:0;font-family:var(--heading-font);line-height:1.03;letter-spacing:-.03em}p{margin-top:0}ul,ol{margin:0;padding-left:1.2rem}.skip-link{position:absolute;left:1rem;top:-3rem;padding:.75rem 1rem;border-radius:999px;background:var(--accent-deep);color:#fff;text-decoration:none}.skip-link:focus{top:1rem}.page-shell{width:min(100% - 2rem,var(--max-width));margin:0 auto;padding:clamp(1.25rem,2vw,2rem) 0 max(5rem,calc(env(safe-area-inset-bottom,0px) + 4.5rem))}.hero-panel,.anchor-nav,.content-card,.timeline-card,.closing-panel,.recipe-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}.hero-panel,.anchor-nav,.section-shell,.closing-panel{margin-bottom:1.25rem;animation:rise .65s ease both}.hero-panel,.closing-panel{border-radius:var(--radius-xl);padding:clamp(1.5rem,3vw,2.5rem)}.hero-panel{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1.6fr) minmax(16rem,.95fr);align-items:end}.hero-copy,.hero-stats,.card-grid,.menu-grid,.recipe-grid,.two-column,.timeline-grid{min-width:0}.hero-copy h1{margin-bottom:1rem;max-width:10ch;font-size:clamp(3.2rem,9vw,6rem)}.lede{max-width:42rem;color:var(--muted);font-size:1.08rem}.secondary-line{margin-bottom:1rem;font-size:1.15rem;color:var(--muted)}.secondary-copy{color:var(--muted);font-size:.96rem}.eyebrow,.card-tag,.stat-label,.meta-label,.recipe-code{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:800}.eyebrow,.stat-label,.meta-label,.recipe-code{color:var(--muted)}.button-row,.anchor-nav,.inline-meta{display:flex;flex-wrap:wrap;gap:.75rem}.button-row{margin-top:1.5rem}.button,.anchor-link,.text-link,.badge{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.button,.anchor-link{min-height:3rem;padding:.85rem 1.15rem;border-radius:999px}.button-primary{border:1px solid #000;background:var(--accent-deep);color:#fff}.button-secondary,.anchor-link{border:1px solid var(--line);background:var(--panel-strong);color:var(--ink)}.anchor-nav{justify-content:center;padding:.8rem;border-radius:999px}.hero-stats{display:grid;gap:.9rem}.stat-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:#fff;padding:1rem 1.1rem;min-width:0}.stat-value{margin:.15rem 0 .4rem;font-size:2rem;font-weight:800}.stat-detail,.section-heading p,.content-card p,.timeline-card p,.closing-panel p,.recipe-summary-text p{color:var(--muted)}.section-shell{display:grid;gap:1rem}.section-heading{padding-inline:.35rem}.section-heading h2,.closing-panel h2{margin-bottom:.7rem;font-size:clamp(2rem,5vw,3rem)}.two-column{display:grid;gap:1rem;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.card-grid,.menu-grid,.recipe-grid,.timeline-grid{display:grid;gap:1rem}.card-grid,.timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-grid-wide,.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-card,.timeline-card{border-radius:var(--radius-lg);padding:1.25rem;min-width:0}.prose-card p:last-child{margin-bottom:0}.source-card{display:grid;gap:.75rem}.text-link{color:var(--accent-deep);text-decoration:underline;text-underline-offset:.16em;font-weight:700}.muted-note{color:var(--muted);font-size:.94rem}.badge{padding:.35rem .7rem;border-radius:999px;font-size:.76rem;font-weight:800}.badge-live{background:#f2f2f2;color:#111}.badge-brief{background:#f7f7f7;color:#111}.bullet-list{display:grid;gap:.45rem}.stack-list{display:grid;gap:1rem}.menu-block h4,.recipe-summary-text h4{margin-bottom:.55rem;font-size:1.25rem}.table-card{padding-bottom:.85rem}.table-header{margin-bottom:.8rem}.table-header h3{margin-bottom:.45rem}.table-scroll{width:min(100%,100%);overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md)}table{width:100%;min-width:42rem;border-collapse:collapse;background:#fff}th,td{padding:.85rem;border-bottom:1px solid rgba(29,34,28,.1);vertical-align:top;text-align:left}th{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.recipe-collection{display:grid;gap:1rem}.collection-heading{padding-inline:.35rem}.collection-heading h3{margin-bottom:.5rem;font-size:1.8rem}.recipe-card{border-radius:var(--radius-lg);overflow:clip}.recipe-card summary{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;list-style:none;cursor:pointer;padding:1.2rem 1.25rem}.recipe-card summary::-webkit-details-marker{display:none}.recipe-card[open] summary{border-bottom:1px solid var(--line);background:#f7f7f7}.recipe-body{display:grid;gap:1rem;padding:1.15rem 1.25rem 1.25rem}.meta-grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.meta-grid p:last-child{margin-bottom:0}.recipe-section h5{margin-bottom:.45rem;font-size:1.02rem}.timeline-card{border-radius:var(--radius-lg);padding:1.25rem}.flow-list{display:grid;gap:.7rem;padding-left:1.25rem}.closing-panel{display:grid;gap:.8rem}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:960px){.hero-panel,.two-column,.menu-grid,.menu-grid-wide,.recipe-grid,.card-grid,.timeline-grid{grid-template-columns:1fr}.hero-copy h1{max-width:none}}@media(max-width:640px){.page-shell{width:min(100% - 1rem,var(--max-width))}.hero-panel,.content-card,.timeline-card,.closing-panel{padding:1rem}.anchor-nav{justify-content:flex-start;border-radius:var(--radius-lg)}.button,.anchor-link{width:100%}.recipe-card summary{flex-direction:column}table{min-width:34rem}}
