.header{text-align:center;margin-bottom:var(--space-xl)}.header__rule{height:1px;background:linear-gradient(to right,transparent,var(--color-ink),transparent);max-width:480px;margin:0 auto;opacity:.3}.header__masthead{font-family:var(--font-serif);font-size:clamp(28px,5vw,42px);font-weight:400;letter-spacing:.04em;margin:20px 0 6px;line-height:1.1}.header__tagline{font-family:var(--font-serif);font-size:clamp(13px,2.2vw,16px);font-style:italic;font-weight:400;opacity:.6;margin:0 0 20px;letter-spacing:.02em}.selector{text-align:center;margin-bottom:var(--space-xl)}.selector__prompt{font-family:var(--font-serif);font-size:15px;font-style:italic;opacity:.5;margin:0 0 14px}.selector__wrapper{position:relative;display:inline-block;width:100%;max-width:280px}.selector__button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:11px 16px;font-size:15px;background:var(--color-bg);border:1px solid var(--color-ink);border-radius:0;letter-spacing:.03em;transition:background .2s}.selector__button:hover{background:var(--color-ink-ghost)}.selector__arrow{font-size:14px;margin-left:var(--space-sm);transition:transform .25s ease}.selector__arrow--open{transform:rotate(180deg)}.selector__list{position:absolute;top:100%;left:0;right:0;background:var(--color-bg);border:1px solid var(--color-ink);border-top:none;max-height:280px;overflow-y:auto;z-index:100;box-shadow:0 8px 24px #054a911a}.selector__list::-webkit-scrollbar{width:6px}.selector__list::-webkit-scrollbar-track{background:transparent}.selector__list::-webkit-scrollbar-thumb{background:#054a9133}.selector__item{display:block;width:100%;padding:10px 16px;font-size:14px;background:transparent;border:none;text-align:left;letter-spacing:.03em;transition:background .15s}.selector__item:hover{background:var(--color-ink-ghost)}.selector__item--active{background:var(--color-ink-faint);font-weight:600}.citation{font-family:var(--font-sans);font-size:12px;margin-top:20px;line-height:1.5;opacity:.6}.citation__dash{margin-right:4px}.citation__link{color:var(--color-ink);text-decoration:underline;text-underline-offset:2px}.citation__link:hover{opacity:.7}.passage{padding:0}.passage__label{font-family:var(--font-sans);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;margin-bottom:12px;opacity:.45}.passage__title{font-family:var(--font-serif);font-size:clamp(18px,3vw,24px);font-weight:400;margin:0 0 var(--space-md);line-height:1.25}.passage__content{font-family:var(--font-serif);font-size:clamp(14px,2vw,16.5px);line-height:1.75;letter-spacing:.01em;white-space:pre-wrap}.recipe{background:var(--color-cream);padding:var(--space-lg) var(--space-lg) 28px;border:1px solid rgba(5,74,145,.12)}.recipe__label{font-family:var(--font-sans);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;margin-bottom:10px;opacity:.45}.recipe__name{font-family:var(--font-serif);font-size:clamp(18px,3vw,24px);font-weight:400;margin:0 0 10px;line-height:1.25}.recipe__why{font-family:var(--font-serif);font-size:14px;font-style:italic;line-height:1.6;opacity:.7;margin:0 0 var(--space-md)}.recipe__divider{height:1px;background:linear-gradient(to right,var(--color-ink),transparent);opacity:.15;margin-bottom:var(--space-md)}.recipe__subhead{font-family:var(--font-sans);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;margin:0 0 var(--space-sm);opacity:.55}.recipe__ingredients{margin:0 0 18px}.recipe__ingredient{font-family:var(--font-sans);font-size:13.5px;line-height:1.8;padding-left:14px;position:relative}.recipe__ingredient:before{content:"·";position:absolute;left:0;font-weight:700}.recipe__method{font-family:var(--font-serif);font-size:14px;line-height:1.7;margin:0 0 18px}.recipe__source{font-family:var(--font-sans);font-size:11px;line-height:1.5;opacity:.5;margin-top:var(--space-sm);border-top:1px solid rgba(5,74,145,.1);padding-top:10px}.content-section{margin-bottom:var(--space-xl);transition:opacity .5s ease,transform .5s ease}.content-section--hidden{opacity:0;transform:translateY(12px)}.content-section--visible{opacity:1;transform:translateY(0)}.content-section__bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-ink);padding-bottom:var(--space-sm);margin-bottom:28px;flex-wrap:wrap;gap:var(--space-sm)}.content-section__topic{font-family:var(--font-sans);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.15em}.content-section__shuffle{font-family:var(--font-sans);font-size:12px;background:transparent;border:1px solid var(--color-ink);padding:4px 12px;letter-spacing:.04em;opacity:.7;transition:opacity .2s}.content-section__shuffle:hover{opacity:1}.content-section__grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}@media(max-width:680px){.content-section__grid{grid-template-columns:1fr;gap:28px}}.empty-state{text-align:center;padding:80px 20px}.empty-state__icon{font-size:28px;opacity:.2;margin-bottom:var(--space-md)}.empty-state__text{font-family:var(--font-serif);font-size:15px;font-style:italic;opacity:.4;line-height:1.7}.footer{text-align:center;margin-top:var(--space-xl)}.footer__rule{height:1px;background:linear-gradient(to right,transparent,var(--color-ink),transparent);margin:0 auto var(--space-md);max-width:480px;opacity:.15}.footer__text{font-family:var(--font-sans);font-size:11px;opacity:.3;letter-spacing:.06em}.page{max-width:var(--max-width);margin:0 auto;padding:24px 20px 48px}@font-face{font-family:Cheltenham;src:local("Cheltenham"),local("ITC Cheltenham"),local("Cheltenham-Book");font-weight:400;font-style:normal}:root{--color-ink: #054A91;--color-ink-faint: rgba(5, 74, 145, .07);--color-ink-ghost: rgba(5, 74, 145, .04);--color-cream: #FFFDF8;--color-bg: #ffffff;--font-serif: "Cheltenham", "Georgia", "Palatino Linotype", "Book Antiqua", Palatino, serif;--font-sans: "Gill Sans", "Gill Sans MT", Calibri, "Trebuchet MS", sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 40px;--space-2xl: 64px;--max-width: 960px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-ink);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:var(--color-ink);text-decoration-skip-ink:auto}button{font:inherit;color:inherit;cursor:pointer}ul{list-style:none}
