@import url('/assets/fonts.css');
:root{--paper:#faf8f1;--ink:#2c302a;--muted:#777a70;--line:#e4e2d7;--accent:#a34229;--header-height:128px;--content:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:155px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Crimson Text',Georgia,serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent)}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-60px;left:20px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:10px}
/* A quiet masthead lets the ingredient colors carry the page. */
.site-header{position:sticky;top:0;z-index:20;background:rgba(250,248,241,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.site-header::before{content:'';display:block;height:3px;background:linear-gradient(90deg,#e79d45,#e9b1a1 32%,#c9cda0 67%,#e8d27c)}.masthead{max-width:var(--content);margin:auto;min-height:79px;display:flex;align-items:center;gap:32px}.brand{display:block;flex-shrink:0}.brand img{display:block;width:125px;height:50px;object-fit:contain}.tagline{font:400 14px/1.5 Oxygen,sans-serif;max-width:300px;margin:0;color:#74766c;padding-left:28px;border-left:1px solid var(--line)}.tools{margin-left:auto;display:flex;gap:20px;align-items:center;font:13px Oxygen,sans-serif}.tools>a{text-decoration:none}.search-toggle{border:1px solid #dcded2;border-radius:7px;background:#ffffff55;min-height:39px;padding:9px 12px;display:flex;align-items:center;gap:10px;font:12px Oxygen,sans-serif;color:#63695d;transition:background .15s,border-color .15s}.search-toggle:hover,.search-toggle[aria-expanded=true]{background:#fffdf8;border-color:#9aab8d}.search-toggle svg{width:16px;height:16px}.search-toggle kbd{border:1px solid #dedfd5;border-radius:3px;padding:1px 5px;margin-left:20px;font:11px Oxygen,sans-serif;color:#969b8d}.alphabet{display:grid;grid-template-columns:repeat(26,minmax(0,1fr));max-width:var(--content);margin:auto;padding:5px 0 10px;border-top:1px solid var(--line)}.letter{position:relative;text-align:center}.letter>button{border:0;background:transparent;font:400 12px/28px Oxygen,sans-serif;width:30px;height:30px;border-radius:50%;padding:0;color:#5d6556;transition:background .15s,color .15s}.letter>button:disabled{color:#bcbeb4}.letter>button:hover:not(:disabled),.letter>button[aria-expanded=true]{background:#ebece0;color:var(--ink)}.letter>button[aria-current=location]{background:#323f2f;color:#fffdf8}.letter-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:250px;max-height:60vh;overflow:auto;background:#fffdf7;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 35px #30382b16;padding:7px;text-align:left;z-index:21}.letter:nth-child(n+21) .letter-menu{right:0;left:auto}.letter.open .letter-menu{display:block}.letter-menu a{display:block;padding:10px 12px;border-radius:4px;text-decoration:none;font:16px/1.3 Rosario,sans-serif}.letter-menu a:hover,.letter-menu a:focus-visible{background:#edf0e4;color:#283c24}.search-panel{border-top:1px solid var(--line);padding:18px max(24px,calc((100vw - var(--content))/2));background:#f5f4eb}.search-wrap{display:flex;gap:16px;align-items:center}.search-wrap input{min-width:0;width:100%;padding:10px 0;border:0;border-bottom:1px solid #a7b09a;background:transparent;font:22px Rosario,sans-serif;border-radius:0}.search-wrap input::placeholder{color:#969b8d}.clear-search{background:transparent;border:1px solid #d7dcce;border-radius:5px;padding:8px 13px;font:12px Oxygen,sans-serif}.search-status{font:12px/1.5 Oxygen,sans-serif;color:var(--muted);margin:10px 0 0}
/* One consistent editorial grid across every ingredient. */
main{width:var(--content);max-width:calc(100% - 64px);margin:35px auto 0;min-height:60vh}.index-intro{display:flex;align-items:center;justify-content:space-between;padding-bottom:26px;margin-bottom:27px;border-bottom:1px solid var(--line);font:11px/1.5 Oxygen,sans-serif;color:#8b8d80}.index-title{text-transform:uppercase;letter-spacing:.15em;color:#65705b}.ingredient-section{margin:0 0 82px;scroll-margin-top:24px}.section-heading{display:flex;align-items:center;gap:16px;margin:0 0 8px}.section-heading h2{font:400 49px/1.15 'Abril Fatface',Georgia,serif;letter-spacing:-.035em;margin:0}.note-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #c4c9ba;border-radius:50%;width:26px;height:26px;background:transparent;font:italic 14px Georgia,serif;color:#77836c}.note-toggle:hover,.note-toggle[aria-expanded=true]{background:#e9edde;color:#334a2c;border-color:#8f9e81}.alias{font:italic 19px/1.4 'Crimson Text',Georgia,serif;color:var(--muted);margin:0 0 20px;max-width:850px}.alias:empty{display:none}.ingredient-notes{font:19px/1.5 'Crimson Text',Georgia,serif;padding:18px 22px;border-left:2px solid #97aa81;background:#eef0e5;border-radius:0 7px 7px 0;margin:18px 0 24px;max-width:850px}.ingredient-intro{font:21px/1.5 'Crimson Text',Georgia,serif;max-width:770px}.column-labels,.pairing-row{display:grid;grid-template-columns:340px minmax(0,1fr) minmax(0,1.08fr);column-gap:28px}.column-labels{padding:11px 0 12px;color:#8a8d7e;font:10px/1.4 Oxygen,sans-serif;text-transform:uppercase;letter-spacing:.12em}.pairing-row{align-items:center;min-height:104px;margin-bottom:10px}.swatches{display:grid;grid-template-columns:1fr 1fr;border:1px solid #30352212;border-radius:6px;overflow:hidden;padding:0;background:transparent;text-align:left;width:100%;min-height:104px;align-self:stretch;transition:transform .18s,box-shadow .18s}.swatch{position:relative;display:flex;align-items:center;min-width:0;padding:17px 14px;color:var(--foreground);background:var(--swatch);font:700 20px/1.2 Rosario,sans-serif;overflow-wrap:break-word}.swatch.pairing{border-left:1px solid #ffffff20}.pairing-arrow{position:absolute;right:9px;top:7px;width:14px;height:14px;opacity:0;transform:translate(-2px,2px);transition:opacity .18s,transform .18s}.pairing-arrow svg{display:block;width:100%;height:100%}.swatches:hover{transform:translateY(-2px);box-shadow:0 5px 12px #30352212}.swatches:hover .pairing-arrow,.swatches:focus-visible .pairing-arrow{opacity:.65;transform:none}.support{font:400 17px/1.38 Rosario,sans-serif;margin:0;color:#51564b;padding:10px 0}.support strong{font-weight:700;color:#41483a}.dish{font:400 17px/1.32 'Crimson Text',Georgia,serif;padding:10px 0;color:#505447}.dish a{color:#56694a;text-decoration-color:#aeb69f}.dish a:hover{color:var(--accent);text-decoration-color:var(--accent)}.empty-state{padding:55px 0 100px;font:24px/1.4 'Crimson Text',Georgia,serif;max-width:500px}.empty-state button{display:block;margin-top:20px;border:1px solid #bcc5ac;border-radius:6px;background:#edf0e4;padding:11px 16px;font:13px Oxygen,sans-serif}.page-intro{margin:25px 0 40px}.page-intro h1{font:400 35px/1.2 'Abril Fatface',Georgia,serif;margin:0 0 15px}.page-intro a{font:13px Oxygen,sans-serif;color:#6b795c}
footer{max-width:var(--content);margin:30px auto 0;padding:26px 0 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font:11px/1.6 Oxygen,sans-serif;color:#8a8d7f}footer a{text-decoration:none}.back-top{position:fixed;bottom:25px;right:25px;border:1px solid #d2d8c7;border-radius:50%;background:#faf8f1ed;box-shadow:0 3px 12px #2830220a;width:40px;height:40px;font:19px Rosario,sans-serif;z-index:10}.back-top:hover{background:#edf0e4}
dialog{border:1px solid #e1e4d6;border-radius:12px;padding:0;max-width:660px;width:calc(100% - 36px);background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #18200f40;max-height:85vh}dialog::backdrop{background:#20281a66;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 28px}.dialog-head h2{font:400 31px/1.2 'Abril Fatface',Georgia,serif;letter-spacing:-.02em;margin:0}.dialog-close{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:transparent;width:32px;height:32px;flex-shrink:0;font:23px Rosario,sans-serif;color:#7e8773}.dialog-close:hover{background:#edf0e4}.dialog-swatches{display:grid;grid-template-columns:1fr 1fr;min-height:126px;margin:0 28px;border-radius:6px;overflow:hidden}.dialog-swatches .swatch{padding:22px;font-size:23px}.dialog-swatches .pairing-arrow{display:none}.dialog-content{padding:25px 28px 32px;font-size:21px;line-height:1.5}.dialog-content p{margin:0 0 22px}.dialog-content .modal-support{font:18px/1.5 Rosario,sans-serif;color:#5b6551;padding-bottom:22px;border-bottom:1px solid var(--line)}.dialog-content a{overflow-wrap:anywhere;color:#506942}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}
@media(max-width:1200px){.masthead,.alphabet,footer{max-width:calc(100% - 64px)}.column-labels,.pairing-row{grid-template-columns:32% minmax(0,1fr) minmax(0,1.08fr);column-gap:22px}.swatch{font-size:19px;padding:16px 12px}}
@media(max-width:900px){.column-labels,.pairing-row{column-gap:18px}.swatch{font-size:17px}.support{font-size:16px}.dish{font-size:16px}.tagline{font-size:12px;max-width:245px;padding-left:22px}.masthead{gap:22px}.search-toggle kbd{display:none}.search-label{display:none}.search-toggle{border:0;background:none;padding:10px}.alphabet{grid-template-columns:repeat(13,minmax(0,1fr))}.letter>button{width:33px;height:29px}.letter-menu{position:fixed;top:150px;left:32px!important;right:32px!important;max-height:55vh;min-width:0}.letter.open .letter-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}html{scroll-padding-top:178px}.ingredient-section{scroll-margin-top:24px}.section-heading h2{font-size:44px}.index-intro{padding-bottom:22px;margin-bottom:24px}}
@media(max-width:680px){:root{--header-height:142px}.masthead,.alphabet,footer{max-width:calc(100% - 36px)}.masthead{min-height:73px;gap:17px}.brand img{width:106px;height:43px}.tagline{font-size:11px;line-height:1.5;border:0;padding:0;max-width:165px}.tools{gap:8px}.tools>a{font-size:11px}.search-toggle{padding:8px}.alphabet{padding:4px 0 7px}.letter>button{font-size:11px;line-height:27px;width:25px;height:27px}.letter-menu{top:141px;left:18px!important;right:18px!important}.letter-menu a{font-size:15px;padding:10px}.search-panel{padding:12px 18px}.search-wrap input{font-size:19px}.search-status{font-size:11px}main{width:auto;max-width:calc(100% - 36px);margin-top:24px}.index-intro{font-size:9px;gap:14px;padding-bottom:19px;margin-bottom:25px}.index-title{letter-spacing:.1em}.ingredient-section{margin-bottom:55px;scroll-margin-top:24px}.section-heading{gap:12px}.section-heading h2{font-size:39px;line-height:1.12}.note-toggle{width:24px;height:24px}.alias{font-size:17px;margin-bottom:19px}.column-labels{display:none}.pairing-row{grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:21px}.swatches{grid-column:1/-1;min-height:102px;margin-bottom:13px;border-radius:6px}.swatch{font-size:21px;padding:19px 16px}.pairing-arrow{opacity:.45;transform:none}.support{font-size:16px;line-height:1.45;padding:0 0 10px;color:#626b58}.dish{font-size:18px;line-height:1.35;padding:0}.support:empty{display:none}.ingredient-notes{font-size:18px;padding:15px 18px}.ingredient-intro{font-size:20px}.page-intro h1{font-size:29px}footer{font-size:10px;padding:22px 0 65px;flex-direction:column;gap:8px}.back-top{bottom:18px;right:18px;width:36px;height:36px}.dialog-head{padding:19px 20px}.dialog-head h2{font-size:28px}.dialog-swatches{margin:0 20px;min-height:110px}.dialog-swatches .swatch{padding:18px 14px;font-size:20px}.dialog-content{padding:22px 20px 26px;font-size:20px}.dialog-content .modal-support{font-size:17px}html{scroll-padding-top:165px}}
/* v1.2: readable editorial rows and a dedicated tablet composition. */
.column-labels,.pairing-row{grid-template-columns:350px minmax(0,.82fr) minmax(0,1.18fr);column-gap:30px}
.column-labels{font-size:10px;color:#6c7561;padding-bottom:4px}
.pairing-row{position:relative;align-items:start;padding:18px 0;margin:0;border-bottom:1px solid var(--line);isolation:isolate}
.pairing-row::before{content:'';position:absolute;inset:6px -12px;border-radius:9px;background:#eeeee3;opacity:0;z-index:-1;pointer-events:none;transition:opacity .18s}
.pairing-row:focus-within::before{opacity:.75}
.swatches{align-self:start;min-height:112px}
.support{padding:5px 0;font-size:17px;line-height:1.5;color:#656d5b}
.support strong{color:#46503d}
.dish{padding:3px 0;font-size:18px;line-height:1.45;color:#454c3e}
.dish a{text-decoration-thickness:1px;text-decoration-color:#8d9a7d}
.ingredient-section{margin-bottom:72px}
.section-heading{margin-bottom:10px}
.alias{max-width:780px;margin-bottom:24px}
@media(hover:hover){.pairing-row:hover::before{opacity:.65}}
@media(min-width:1021px) and (max-width:1200px){.column-labels,.pairing-row{grid-template-columns:33% minmax(0,.8fr) minmax(0,1.2fr);column-gap:26px}}
@media(min-width:681px) and (max-width:1020px){
 .column-labels{display:none}
 .pairing-row{grid-template-columns:minmax(250px,.95fr) minmax(0,1.05fr);gap:12px 30px;padding:24px 0}
 .swatches{grid-column:1;grid-row:1 / 3;min-height:136px}
 .swatch{font-size:21px;padding:22px 16px}
 .support,.dish{grid-column:2;padding:0;font-size:17px}
 .support{grid-row:1;line-height:1.5}
 .dish{grid-row:2;border-top:1px solid var(--line);padding-top:12px;font-size:18px}
 .support:empty{display:none}
 .alias{margin-bottom:12px}
}
@media(max-width:1020px){
 .support:not(:empty)::before,.dish:not(:empty)::before{display:block;margin-bottom:7px;font:10px/1.5 Oxygen,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#747e69}
 .support:not(:empty)::before{content:'Supporting flavors'}
 .dish:not(:empty)::before{content:'In the kitchen'}
}
@media(max-width:680px){
 .pairing-row{grid-template-columns:minmax(0,1fr);padding:0 0 26px;margin-bottom:26px;gap:0}
 .pairing-row::before{display:none}
 .swatches{min-height:112px;margin-bottom:18px}
 .support{padding:0 0 17px;font-size:16px;line-height:1.5}
 .dish{padding:0;font-size:18px;line-height:1.45}
 .ingredient-section{margin-bottom:58px}
 .alias{margin-bottom:23px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
