:root{--color-bg: #faf7f2;--color-surface: #f3f0eb;--color-surface-hover: #ede9e2;--color-text: #1e1e1e;--color-text-muted: #6b6760;--color-accent: #3a6b47;--color-accent-hover: #2d5438;--color-accent-light: #eef4f0;--color-divider: #e5e1da;--color-border: #d8d4cd;--font-heading: "Lora", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius: 4px;--radius-lg: 8px;--max-width: 1100px;--content-width: 680px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.7;min-height:100vh;display:flex;flex-direction:column}img{display:block;max-width:100%;height:auto}a{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s ease}a:hover{color:var(--color-accent-hover)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:500;line-height:1.25;letter-spacing:-.01em}p{max-width:65ch}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:1.5rem}.content-narrow{max-width:var(--content-width)}main{flex:1}.section-gap{padding-block:4rem}.section-gap--sm{padding-block:2.5rem}.site-header{padding-block:1.5rem;border-bottom:1px solid var(--color-divider)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.site-logo{font-family:var(--font-heading);font-size:1.35rem;font-weight:600;color:var(--color-accent);text-decoration:none;letter-spacing:-.02em}.site-logo:hover{color:var(--color-accent-hover)}.site-nav{display:flex;align-items:center;gap:2rem;list-style:none}.site-nav a{font-size:.875rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;letter-spacing:.01em;transition:color .15s ease}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-text)}.site-footer{border-top:1px solid var(--color-divider);padding-block:2rem;margin-top:auto}.site-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.site-footer__credit{font-size:.8125rem;color:var(--color-text-muted)}.site-footer__contact{font-size:.8125rem}.tag-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:2rem;font-size:.75rem;font-weight:500;color:var(--color-text-muted);letter-spacing:.02em;white-space:nowrap}.tag-pill--heat-fire{color:#b73a2a;border-color:#d4785f;background:#fdf0ec}.tag-pill--heat-hot{color:#9a4d0f;border-color:#d4955f;background:#fdf4ec}.tag-pill--heat-medium{color:#8a6a0a;border-color:#c9a84c;background:#fdf8ea}.tag-pill--heat-mild{color:#3a6b47;border-color:#8ab898;background:var(--color-accent-light)}.tag-pills-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.recipe-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column}.recipe-card:hover{box-shadow:0 4px 16px #0000000f;border-color:var(--color-accent);color:inherit}.recipe-card__image{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--color-surface)}.recipe-card__body{padding:1rem 1.125rem 1.125rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.recipe-card__name{font-family:var(--font-heading);font-size:1.05rem;font-weight:500;color:var(--color-text);line-height:1.3}.recipe-card__subtitle{font-size:.8125rem;color:var(--color-text-muted);line-height:1.5;flex:1}.recipe-card__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.section-card{display:flex;align-items:center;gap:.875rem;padding:1rem 1.125rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-decoration:none;color:inherit;transition:background .15s ease,border-color .15s ease}.section-card:hover{background:var(--color-surface-hover);border-color:var(--color-accent);color:inherit}.section-card__emoji{font-size:1.5rem;line-height:1;flex-shrink:0}.section-card__info{min-width:0}.section-card__name{font-size:.875rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-card__count{font-size:.75rem;color:var(--color-text-muted);margin-top:.1rem}.filter-bar{margin-bottom:2rem}.filter-search{position:relative;margin-bottom:1rem}.filter-search__input{width:100%;padding:.65rem 1rem .65rem 2.5rem;font-family:var(--font-body);font-size:.9375rem;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.filter-search__input::placeholder{color:var(--color-text-muted)}.filter-search__input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #3a6b471a}.filter-search__icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;width:1rem;height:1rem}.filter-groups{display:flex;flex-direction:column;gap:.75rem}.filter-group{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.filter-group__label{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;min-width:4.5rem}.filter-group__pills{display:flex;flex-wrap:wrap;gap:.35rem}.filter-btn{display:inline-flex;align-items:center;padding:.2rem .65rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:2rem;font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;letter-spacing:.02em;transition:background .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap}.filter-btn:hover{background:var(--color-surface-hover);border-color:var(--color-accent);color:var(--color-text)}.filter-btn.is-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.filter-clear{font-size:.75rem;color:var(--color-text-muted);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:var(--font-body);padding:0;margin-left:.5rem}.filter-clear:hover{color:var(--color-text)}.filter-results-count{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:1rem}.page-heading{margin-bottom:.5rem}.page-heading h1{font-size:clamp(1.75rem,4vw,2.5rem)}.page-heading p{font-size:1rem;color:var(--color-text-muted);margin-top:.5rem}.home-hero{padding-block:4rem 3rem;border-bottom:1px solid var(--color-divider)}.home-hero__eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.75rem}.home-hero__title{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3.25rem);font-weight:500;line-height:1.15;letter-spacing:-.02em;color:var(--color-text);max-width:14ch}.home-hero__subtitle{font-size:1.0625rem;color:var(--color-text-muted);margin-top:1rem;max-width:48ch;line-height:1.65}.home-section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}.home-section-header h2{font-size:1.1rem;font-weight:600;letter-spacing:-.01em}.home-section-header a{font-size:.8125rem;color:var(--color-text-muted);white-space:nowrap}.recipe-page{max-width:var(--content-width);margin-inline:auto;padding-block:3rem 5rem;padding-inline:1.5rem}.recipe-cover{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-lg);margin-bottom:2rem;background:var(--color-surface)}.recipe-header{margin-bottom:1.75rem}.recipe-header__name{font-size:clamp(1.6rem,4vw,2.1rem);font-weight:500;line-height:1.2;letter-spacing:-.02em;margin-bottom:.4rem}.recipe-header__subtitle{font-size:1rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:1rem}.recipe-header__tags{display:flex;flex-wrap:wrap;gap:.4rem}.recipe-story{font-style:italic;color:var(--color-text-muted);padding-bottom:1.5rem;margin-bottom:2rem;border-bottom:1px solid var(--color-divider);line-height:1.7}.recipe-jump{font-size:.8125rem;display:inline-flex;align-items:center;gap:.3rem;margin-bottom:2rem;color:var(--color-text-muted)}.recipe-content{line-height:1.75}.recipe-content>p:first-child{font-size:1.0625rem;color:var(--color-text-muted);margin-bottom:2rem;font-style:italic}.recipe-content h2{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin-top:2.5rem;margin-bottom:1rem;padding-bottom:.4rem;border-bottom:1px solid var(--color-divider)}.recipe-content hr{border:none;border-top:1px solid var(--color-divider);margin-block:2.5rem}.recipe-content ul{padding-left:1.25rem;margin-bottom:.75rem;color:var(--color-text)}.recipe-content li{margin-bottom:.3rem;line-height:1.6}.recipe-content blockquote{border-left:3px solid var(--color-accent);padding-left:1rem;color:var(--color-text-muted);font-style:italic;margin-block:1rem}.ingredients-section p:has(>strong:only-child){font-size:.7rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--color-text-muted);margin-top:1.5rem;margin-bottom:.35rem}.method-section p:has(>strong:only-child){font-family:var(--font-heading);font-size:1rem;font-weight:500;font-style:normal;color:var(--color-text);margin-top:1.75rem;margin-bottom:.3rem}.method-section p+p{color:var(--color-text)}.recipe-note{margin-top:2.5rem;padding:1rem 1.25rem;background:var(--color-accent-light);border-left:3px solid var(--color-accent);border-radius:0 var(--radius) var(--radius) 0}.recipe-note__label{font-size:.7rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.4rem}.recipe-note__text{font-size:.9375rem;color:var(--color-text);line-height:1.65}.recipe-serve-with{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--color-divider)}.recipe-serve-with__label{font-size:.7rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.5rem}.recipe-serve-with__text{font-size:.9375rem;color:var(--color-text);line-height:1.65}.about-page{max-width:var(--content-width);margin-inline:auto;padding-inline:1.5rem;padding-bottom:6rem}.about-page__header{padding-block:4rem 2.5rem;border-bottom:1px solid var(--color-divider);margin-bottom:2.75rem}.about-page__eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin-bottom:1rem;max-width:none}.about-page__title{font-family:var(--font-heading);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:400;font-style:italic;line-height:1.2;letter-spacing:-.02em;color:var(--color-text);max-width:none}.about-page__rule{width:2.5rem;height:2px;background:var(--color-accent);margin-top:1.75rem;border-radius:1px}.about-page__body{line-height:1.85}.about-page__body p:first-child{font-size:1.0625rem;color:var(--color-text);margin-bottom:1.5rem}.about-page__body p{margin-bottom:1.35rem;color:var(--color-text)}.about-page__body p:last-child{margin-bottom:0}.about-page__body hr{border:none;border-top:1px solid var(--color-divider);margin-block:2rem}.about-page__body em{font-style:italic;color:var(--color-text-muted)}.about-page__footer{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-divider);font-size:.875rem}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8rem 1.5rem;gap:1rem}.error-page__code{font-family:var(--font-heading);font-size:5rem;font-weight:400;color:var(--color-divider);line-height:1}.error-page__title{font-family:var(--font-heading);font-size:1.5rem;font-weight:500}.error-page__text{color:var(--color-text-muted);font-size:.9375rem}.no-results{padding:4rem 0;text-align:center;color:var(--color-text-muted);font-size:.9375rem}@media (max-width: 640px){.site-nav{gap:1.25rem}.recipe-grid{grid-template-columns:1fr}.section-grid{grid-template-columns:repeat(2,1fr)}.filter-group{flex-direction:column;gap:.5rem}.filter-group__label{min-width:unset}.home-section-header{flex-direction:column;gap:.25rem}}@media print{:root{--color-bg: #fff;--color-surface: #fff;--color-text: #000;--color-text-muted: #444;--color-accent: #000;--color-divider: #ccc}.site-header,.site-footer,.filter-bar,.recipe-jump,.site-nav,.recipe-header__tags .tag-pill--heat-fire,.recipe-header__tags .tag-pill--heat-hot{-webkit-print-color-adjust:exact}.site-header nav,.site-footer,.filter-bar,.recipe-jump{display:none!important}.site-header{border-bottom:1px solid #ccc}.recipe-page{padding-top:1.5rem;padding-bottom:0}.recipe-cover{max-height:260px;border-radius:0}.recipe-content h2{page-break-after:avoid}.recipe-content ul,.method-section p,.recipe-note,.recipe-serve-with{page-break-inside:avoid}a{color:inherit;text-decoration:none}.recipe-note{border:1px solid #ccc;background:#fafafa}}
