/* A printed product label: the technique is the recipe, people are contents. */
.recipe-intro{max-width:none;display:grid;grid-template-columns:1fr 310px;align-items:end;gap:48px;padding:38px 0 30px}.recipe-intro h1{font-size:clamp(66px,7.4vw,112px);margin-top:12px}.recipe-intro p:last-child{max-width:640px;line-height:1.6}.contents-stamp{border:2px solid var(--ink);padding:14px 16px;transform:rotate(-1deg);background:#fff}.contents-stamp>strong{display:block;font-family:Impact,'Arial Narrow',sans-serif;font-size:38px;line-height:1;border-bottom:8px solid var(--ink);padding-bottom:8px}.contents-stamp dl{margin:0}.contents-stamp dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--ink);padding:8px 0;font:12px 'Courier New',monospace}.contents-stamp dd{font-weight:bold;margin:0}.contents-stamp p{font:10px/1.45 'Courier New',monospace!important;margin:10px 0 0}.recipe-guide{display:grid;grid-template-columns:repeat(3,1fr);border-top:7px solid var(--ink);border-bottom:2px solid var(--ink);font:11px 'Courier New',monospace}.recipe-guide span{padding:16px}.recipe-guide span+span{border-left:1px solid var(--ink)}.recipe-guide b{margin-right:10px}.provenance-status{font-size:12px;line-height:1.6;max-width:870px;color:var(--muted);margin:17px 0 24px}.people-search{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:20px 0}.people-search label{font:11px 'Courier New',monospace}.people-search input{min-width:240px;flex:1;max-width:570px;border:1px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);font:14px Arial,sans-serif;padding:13px}.people-search button{border:0;background:none;text-decoration:underline;font:11px 'Courier New',monospace;padding:12px}.people-search input:focus-visible{outline:3px solid #000;outline-offset:3px}
body[data-page=techniques] .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}.tile{padding:0;background:#fff;border:2px solid var(--ink);box-shadow:3px 4px 0 #00000019;overflow:hidden}.recipe-band{display:flex;justify-content:space-between;padding:10px 12px;font:10px 'Courier New',monospace;letter-spacing:.05em;background:var(--ink);color:var(--paper)}.tile canvas{width:calc(100% - 24px);margin:12px 12px 0;aspect-ratio:1.6;object-fit:contain;background:#eee;transition:filter .2s}.tile:hover canvas{filter:contrast(1.12)}.tile-label{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:30px;line-height:1.1;letter-spacing:-.015em;margin:0;padding:14px 14px 7px}.tile-family{font:10px/1.4 'Courier New',monospace;letter-spacing:.025em;color:var(--muted);margin:0 14px;padding:0 0 13px;border:0}.people-preview{display:block;margin:0 13px}.ingredient-heading{display:block;font-family:Arial,Helvetica,sans-serif;font-size:25px;font-weight:900;letter-spacing:-.055em;line-height:1.1;color:var(--ink);text-transform:none;border-top:8px solid var(--ink);border-bottom:2px solid var(--ink);padding:7px 0;margin:0}.ingredient-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 9px;padding:14px 0}.ingredient-mini{display:flex;flex-direction:column;gap:7px;align-items:start;min-width:0}.ingredient-face{width:100%;height:auto;aspect-ratio:1/1.1;display:block;object-fit:cover;object-position:center 25%;background:#eee;border:1px solid var(--ink);filter:grayscale(1) contrast(1.18);mix-blend-mode:multiply}.ingredient-face.unavailable{font:10px/1.4 'Courier New',monospace;padding:10px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);background:repeating-linear-gradient(135deg,#ddd 0 1px,transparent 1px 7px)}.ingredient-name{font-size:12px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.label-disclosure{display:block;border-top:1px solid var(--ink);padding:12px 0;font:10px 'Courier New',monospace;letter-spacing:.025em;text-align:right}.tile:hover{box-shadow:4px 6px 0 #00000030}.tile:focus-visible{outline-offset:5px}
body[data-page=techniques] dialog{width:min(1220px,calc(100vw - 34px));padding:24px}.detail-grid{grid-template-columns:.85fr 1.15fr;gap:32px}.detail-grid>canvas{position:sticky;top:0;aspect-ratio:1.2;object-fit:contain}.detail-grid h2{font-size:42px}.human-ingredients{margin-top:26px}.human-ingredients .ingredient-heading{font-size:34px;border-top-width:10px;margin-bottom:0}.ingredient-person{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid var(--ink)}.ingredient-photo .ingredient-face{width:90px;height:108px}.ingredient-copy h4{font-size:20px;margin:0 0 5px;font-weight:800;letter-spacing:-.025em}.detail-grid .ingredient-copy p.ingredient-role{font:11px/1.4 'Courier New',monospace;text-transform:uppercase;color:var(--muted);margin:0 0 9px}.detail-grid .ingredient-copy p.contribution{font-size:14px;line-height:1.55;margin:0 0 10px}.detail-grid .evidence-link{font-size:12px;display:block;line-height:1.5;overflow-wrap:anywhere}.detail-grid .person-profile{display:block;font:11px/1.5 'Courier New',monospace;margin-top:9px}.detail-grid .photo-credit{display:block;font:9px/1.5 'Courier New',monospace;margin-top:7px}.detail-grid .provenance-note{font:12px/1.55 Arial,sans-serif;margin:14px 0 0;color:var(--muted)}.detail-grid .boundary{margin-top:22px;font-size:12px!important}.detail-grid .nav{position:sticky;bottom:-24px;background:var(--paper);padding:16px 0;margin-top:15px;border-top:3px solid var(--ink)}.detail-grid .nav button{flex:1}
@media(min-width:1700px){body[data-page=techniques] .grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.recipe-intro{grid-template-columns:1fr 245px;gap:30px}.recipe-intro h1{font-size:clamp(58px,8vw,90px)}body[data-page=techniques] .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.detail-grid{grid-template-columns:.8fr 1.2fr}.ingredient-roster{gap:10px 8px}}
@media(max-width:700px){.recipe-intro{grid-template-columns:1fr;gap:25px}.contents-stamp{transform:none;width:100%;padding:10px 14px}.contents-stamp>strong{font-size:27px;border-bottom-width:5px}.contents-stamp dl{display:flex}.contents-stamp dl div{flex:1;display:block;padding:9px 8px}.contents-stamp dd{font-size:22px;margin-top:4px}.contents-stamp dt{font-size:9px}.contents-stamp dl div+div{border-left:1px solid var(--ink)}.contents-stamp p{font-size:10px!important}.recipe-guide{grid-template-columns:1fr}.recipe-guide span{padding:10px}.recipe-guide span+span{border-left:0;border-top:1px solid var(--line)}.people-search{gap:10px}.people-search label{width:100%}.people-search input{width:100%;min-width:0;flex-basis:100%}.people-search button{padding:5px 0}.detail-grid{grid-template-columns:1fr;gap:20px}.detail-grid>canvas{position:static;max-height:32dvh}body[data-page=techniques] dialog{padding:14px;width:calc(100vw - 14px)}.detail-grid .nav{bottom:-14px}.ingredient-person{grid-template-columns:76px 1fr;gap:12px}.ingredient-photo .ingredient-face{width:76px;height:92px}.ingredient-copy h4{font-size:18px}.human-ingredients .ingredient-heading{font-size:29px}.detail-grid h2{font-size:34px}}
@media(max-width:500px){body[data-page=techniques] .grid{grid-template-columns:1fr;gap:22px}body[data-page=techniques] .intro h1{font-size:clamp(52px,15vw,74px)}.tile-label{font-size:31px}.ingredient-roster{grid-template-columns:repeat(3,minmax(0,1fr))}.ingredient-name{font-size:12px}.ingredient-face{max-height:140px}.provenance-status{font-size:12px}.recipe-intro{padding-top:28px}}
@media(prefers-reduced-motion:reduce){.tile canvas{transition:none}}

@media(min-width:701px){.recipe-intro{padding-top:26px;padding-bottom:22px}.recipe-intro h1{font-size:clamp(60px,6vw,88px);margin-bottom:16px}.recipe-guide span{padding:12px 16px}.provenance-status{margin:12px 0 16px}.people-search{margin:14px 0}.tile canvas{max-height:190px}}
