:root{--color-primary: #111827;--color-secondary: #9f1239;--color-bg: #f8f7f4;--color-surface: #ffffff;--color-text: #111827;--color-muted: #4b5563;--color-border: #d1d5db;--color-accent: #9f1239;--color-on-primary: #f9fafb;--color-on-secondary: #fff1f2;--color-danger: #b91c1c;--color-focus: #1d4ed8;--font-heading: "Libre Franklin", "Segoe UI", Tahoma, sans-serif;--font-body: "Newsreader", Georgia, "Times New Roman", serif;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.75rem;--text-display: clamp(2rem, 4.5vw, 3rem);--lh-body: 1.65;--lh-heading: 1.1;--measure: 38rem;--space-xs: .3rem;--space-sm: .6rem;--space-md: 1rem;--space-lg: 1.6rem;--space-xl: 2.4rem;--space-section: 3rem;--container: 72rem;--container-narrow: 38rem;--container-wide: 84rem;--radius-sm: 0;--radius-md: .15rem;--radius-lg: .35rem;--radius-pill: .2rem;--border-width: 1px;--shadow-sm: none;--shadow-md: 0 2px 0 rgb(0 0 0 / .08);--card-shadow: none;--btn-radius: .15rem;--btn-py: .55rem;--btn-px: 1rem;--card-pad: .9rem;--nav-height: 3.5rem;--form-height: 2.5rem;--bp-mobile: 40rem;--bp-tablet: 64rem}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;font-family:var(--font-body);font-size:var(--text-md);line-height:var(--lh-body);color:var(--color-text);background:var(--color-bg);min-width:0;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.skip-link{position:absolute;left:-999px;top:0;background:var(--color-surface);padding:var(--space-sm) var(--space-md);z-index:100}.skip-link:focus{left:var(--space-sm);top:var(--space-sm)}.wrap{width:min(100% - 2rem,var(--container));margin-inline:auto}.wrap-narrow{width:min(100% - 2rem,var(--container-narrow));margin-inline:auto}.wrap-wide{width:min(100% - 2rem,var(--container-wide));margin-inline:auto}.site-header{background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border);position:sticky;top:0;z-index:30;min-height:var(--nav-height)}.brand{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;text-decoration:none;color:var(--color-text)}.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);min-height:var(--nav-height)}.nav-links{display:flex;gap:var(--space-md);list-style:none;margin:0;padding:0;align-items:center}.nav-links a{text-decoration:none;color:var(--color-text);font-size:var(--text-sm);min-height:44px;display:inline-flex;align-items:center;padding:0 var(--space-sm)}.nav-links a:hover{opacity:.85}.nav-toggle{display:none;border:var(--border-width) solid var(--color-border);background:var(--color-surface);min-height:44px;min-width:44px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text)}.hero{padding:var(--space-section) 0 var(--space-xl);text-align:start}.hero h1{font-family:var(--font-heading);font-size:var(--text-display);line-height:var(--lh-heading);margin:0 0 var(--space-md)}.hero-media{border-radius:var(--radius-lg);margin-bottom:var(--space-lg);overflow:hidden}.section{padding:var(--space-section) 0}.section h2{font-family:var(--font-heading);font-size:var(--text-xl);margin:0 0 var(--space-lg)}.grid{display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.card{background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;border:var(--border-width) solid var(--color-border);box-shadow:var(--card-shadow)}.card a{text-decoration:none;color:inherit;display:block}.card-body{padding:var(--card-pad)}.card h2,.card h3{font-size:var(--text-lg);margin:0 0 var(--space-xs);font-family:var(--font-heading);line-height:var(--lh-heading)}.muted{color:var(--color-muted);font-size:var(--text-sm)}.empty-state{border:var(--border-width) dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-xl);color:var(--color-muted)}.btn,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--btn-py) var(--btn-px);border-radius:var(--btn-radius);border:none;cursor:pointer;background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-sm);text-decoration:none;font-family:var(--font-body)}.btn-secondary{background:var(--color-secondary);color:var(--color-on-secondary)}.btn-ghost{background:transparent;color:var(--color-primary);border:var(--border-width) solid var(--color-border)}label{display:block;font-size:var(--text-sm);margin-bottom:var(--space-xs)}input[type=search],input[type=text],input[type=email],textarea,select{width:100%;min-height:var(--form-height);padding:var(--space-sm) var(--space-md);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit}.breadcrumbs{display:flex;flex-wrap:wrap;gap:var(--space-xs);list-style:none;padding:0;margin:0 0 var(--space-md);font-size:var(--text-sm)}.breadcrumbs a{color:var(--color-muted);text-decoration:none}.breadcrumbs li:not(:last-child):after{content:"/";margin-left:var(--space-xs);color:var(--color-muted)}.prose{max-width:var(--measure)}.prose h1,.prose h2,.prose h3{font-family:var(--font-heading);line-height:var(--lh-heading)}.prose h1{font-size:var(--text-xl)}.prose h2{font-size:var(--text-lg);margin-top:var(--space-xl)}.prose p{margin:0 0 var(--space-md)}.author-box{display:grid;gap:var(--space-md);grid-template-columns:auto 1fr;align-items:start;padding:var(--space-lg);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);margin:var(--space-xl) 0}.author-box img{width:4.5rem;height:4.5rem;border-radius:var(--radius-pill);object-fit:cover}.recipe-panel{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--space-lg) 0}.badge{display:inline-block;font-size:var(--text-xs);padding:.2rem .55rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-primary) 12%,white)}.contact-list{list-style:none;padding:0}.contact-list li{margin-bottom:var(--space-sm);min-height:44px;display:flex;align-items:center}.site-footer{margin-top:var(--space-section);padding:var(--space-xl) 0;border-top:var(--border-width) solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 80%,var(--color-bg))}.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:var(--space-md)}.disclosure{font-size:var(--text-sm);color:var(--color-muted);border-left:3px solid var(--color-accent);padding-left:var(--space-md);margin:var(--space-lg) 0}@media(max-width:64rem){.grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}}@media(max-width:40rem){.nav-toggle{display:inline-flex;align-items:center;justify-content:center}.nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--color-surface);flex-direction:column;padding:var(--space-md);border-bottom:var(--border-width) solid var(--color-border);gap:0}.nav-links.is-open{display:flex}.nav-links a{width:100%;min-height:44px}.author-box{grid-template-columns:1fr}.hero{padding-top:var(--space-xl)}}
