@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&family=Playfair+Display:wght@400;700&family=Source+Serif+4:wght@300;400;600&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--brown:#61463C;--brown-light:#7D5F53;--brown-dark:#4A3229;--orange:#FF9700;--orange-light:#FFB340;--orange-dark:#D07C00;--green:#7BB662;--green-light:#9BCB87;--green-dark:#5E9447;--bg:#FDFBF7;--card-bg:#F8F4ED;--elevated:#FFFFFF;--text-primary:#2C1E17;--text-secondary:#6B5548;--text-muted:#9C8578;--border:#E5DDD4;--border-light:#F0EAE2;--rci-gold:#B8860B;--radius:12px;--radius-sm:4px;--max-width:1152px;--narrow-width:896px;--header-height:64px;--shadow-sm:0 1px 2px rgba(97,70,60,0.06);--shadow-md:0 4px 12px rgba(97,70,60,0.08);--shadow-lg:0 8px 30px rgba(97,70,60,0.12)}body{font-family:"Source Serif 4",Georgia,Times New Roman,serif;background:var(--bg);color:var(--text-primary);font-size:1.125rem;line-height:1.7;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}main{flex:1 1;width:100%;max-width:var(--max-width);margin:0 auto;padding:2.5rem 2rem}@media (max-width:1023px){main{padding:2rem 1.5rem}}@media (max-width:639px){main{padding:1.5rem 1rem}}a{color:var(--orange);text-decoration:none;transition:color .15s ease}a:hover{color:var(--orange-dark)}.skip-to-content{position:absolute;left:-9999px;top:0;z-index:9999;padding:.75rem 1.5rem;background:var(--orange);color:white;font-family:Inter,system-ui,sans-serif;font-weight:600;border-radius:0 0 var(--radius) 0}.skip-to-content:focus{left:0}:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site-header{background:var(--brown);color:white;padding:0 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md)}.header-inner{max-width:var(--max-width);margin:0 auto;justify-content:space-between;height:var(--header-height)}.header-inner,.logo{display:flex;align-items:center}.logo{gap:.75rem;color:white;text-decoration:none;transition:opacity .2s ease}.logo:hover{opacity:.9;color:white}.logo-img{height:40px;width:auto}.logo-text{font-family:Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.header-nav{display:flex;gap:1.75rem;align-items:center}.header-nav a{color:rgba(255,255,255,.8);font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:500;letter-spacing:.03em;transition:color .15s ease}.header-nav a:hover{color:var(--orange)}.site-footer{text-align:center;padding:2.5rem 2rem;color:var(--text-muted);font-size:.875rem;font-family:Inter,system-ui,sans-serif;border-top:1px solid var(--border);background:var(--card-bg)}.site-footer a{color:var(--text-secondary)}.site-footer a:hover{color:var(--orange)}.page-hero{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-light)}.page-hero h1{font-family:Playfair Display,Georgia,serif;font-size:3rem;font-weight:700;color:var(--brown-dark);margin-bottom:.5rem;line-height:1.2}.page-hero .subtitle{font-family:"Source Serif 4",Georgia,serif;font-size:1.25rem;color:var(--text-secondary);font-style:italic;font-weight:300}.page-hero .stats{display:flex;justify-content:center;gap:2.5rem;margin-top:1.5rem;font-family:Inter,system-ui,sans-serif;font-size:.875rem;color:var(--text-muted)}.page-hero .stats .stat-value{font-weight:600;color:var(--orange);font-size:1.25rem;display:block}@media (max-width:639px){.page-hero h1{font-size:2.25rem}.page-hero .stats{gap:1.5rem;flex-wrap:wrap}}.domains-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:1.5rem;gap:1.5rem}@media (max-width:639px){.domains-grid{grid-template-columns:1fr}}.domain-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.domain-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--orange)}.domain-card h2{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;font-weight:400;color:var(--brown-dark);margin-bottom:.25rem}.domain-card .domain-code{font-family:JetBrains Mono,Courier New,monospace;font-size:.875rem;font-weight:500;color:var(--rci-gold);margin-bottom:.75rem}.domain-card .domain-desc{font-size:1rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.family-list{list-style:none;border-top:1px solid var(--border);padding-top:.75rem}.family-item{padding:.5rem 0;display:flex;justify-content:space-between;align-items:center;font-size:1rem}.family-item>div>div:first-child>span:first-child{font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:500;color:var(--text-primary)}.family-code{font-family:JetBrains Mono,Courier New,monospace;font-size:.75rem;font-weight:500;color:var(--text-muted)}.type-list{list-style:none;margin-left:1rem;padding-top:.25rem}.type-item{padding:.35rem 0;font-size:.9375rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.type-item a{font-family:Inter,system-ui,sans-serif;font-size:.875rem;color:var(--text-primary);font-weight:400;transition:color .15s ease}.type-item a:hover{color:var(--orange)}.rci-badge{font-family:JetBrains Mono,Courier New,monospace;font-size:.75rem;font-weight:500;color:var(--rci-gold);background:rgba(184,134,11,.1);padding:.2rem .5rem;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0}.breadcrumb{font-family:Inter,system-ui,sans-serif;font-size:.875rem;margin-bottom:1.5rem}.breadcrumb,.breadcrumb a{color:var(--text-muted)}.breadcrumb a:hover{color:var(--orange)}.breadcrumb .sep{margin:0 .5rem;color:var(--border)}.type-header{margin-bottom:2.5rem}.type-header h1{font-family:Playfair Display,Georgia,serif;font-size:3rem;font-weight:700;color:var(--brown-dark);margin-bottom:.25rem;line-height:1.2}.type-header .type-rci{font-family:JetBrains Mono,Courier New,monospace;color:var(--rci-gold);font-size:.875rem;font-weight:500}.type-meta{display:flex;gap:2rem;margin-top:.75rem;font-family:Inter,system-ui,sans-serif;font-size:.875rem;color:var(--text-muted)}.type-body{display:grid;grid-template-columns:2fr 1fr;grid-gap:2.5rem;gap:2.5rem}@media (max-width:1023px){.type-body{grid-template-columns:1fr}.type-header h1{font-size:2.25rem}}.type-description{font-size:1.125rem;line-height:1.7;max-width:var(--narrow-width)}.type-sidebar{display:flex;flex-direction:column;gap:1.5rem}.sidebar-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.sidebar-card h3{font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem}.sidebar-card ul{list-style:none}.sidebar-card li{padding:.35rem 0;font-size:1rem;line-height:1.5}.sidebar-card li:before{content:"";display:inline-block;width:6px;height:6px;background:var(--orange);border-radius:50%;margin-right:.65rem;vertical-align:middle}.cultural-heading{font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem}.variants-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-light)}.variants-section h2{font-family:Playfair Display,Georgia,serif;font-size:1.875rem;font-weight:400;color:var(--brown-dark);margin-bottom:1.25rem}.variants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.25rem;gap:1.25rem}@media (max-width:639px){.variants-grid{grid-template-columns:1fr}}.variant-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;display:block;color:var(--text-primary)}.variant-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--orange);color:var(--text-primary)}.variant-card .variant-rci{font-family:JetBrains Mono,Courier New,monospace;font-size:.75rem;font-weight:500;color:var(--rci-gold)}.variant-card h3{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;font-weight:400;color:var(--brown-dark);margin:.35rem 0}.variant-card .variant-subtitle{font-size:.9375rem;color:var(--text-secondary);font-style:italic;font-weight:300}.variant-card .variant-meta{display:flex;gap:1rem;margin-top:.75rem;font-family:Inter,system-ui,sans-serif;font-size:.8125rem;color:var(--text-muted)}.recipe-header{margin-bottom:2.5rem}.recipe-header h1{font-family:Playfair Display,Georgia,serif;font-size:3rem;font-weight:700;color:var(--brown-dark);line-height:1.2}.recipe-header .type-rci{font-family:JetBrains Mono,Courier New,monospace;color:var(--rci-gold);font-size:.875rem;font-weight:500;margin-bottom:.25rem}.recipe-header .recipe-subtitle{font-style:italic;font-weight:300;color:var(--text-secondary);font-size:1.25rem;margin-top:.35rem}.recipe-stats{display:flex;gap:1rem;margin-top:1.25rem;flex-wrap:wrap}.recipe-stats .stat{display:flex;flex-direction:column;align-items:center;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:.75rem 1.5rem;box-shadow:var(--shadow-sm);font-family:Inter,system-ui,sans-serif}.recipe-stats .stat-label{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.recipe-stats .stat-value{font-size:1.125rem;font-weight:600;color:var(--brown-dark)}.recipe-body{display:grid;grid-template-columns:1fr 2fr;grid-gap:2.5rem;gap:2.5rem;margin-top:2rem}@media (max-width:1023px){.recipe-body{grid-template-columns:1fr}.recipe-header h1{font-size:2.25rem}}.ingredients-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:1.75rem;align-self:start;position:-webkit-sticky;position:sticky;top:calc(var(--header-height) + 1rem);box-shadow:var(--shadow-sm)}.ingredients-card h2{font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:1rem}.ingredients-list{list-style:none}.ingredients-list li{padding:.6rem 0;border-bottom:1px solid var(--border-light);font-size:1rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.ingredients-list li:last-child{border-bottom:none}.ingredient-name{font-weight:600;color:var(--text-primary)}.ingredient-amount{font-family:Inter,system-ui,sans-serif;color:var(--text-muted);font-size:.875rem;white-space:nowrap;flex-shrink:0}.ingredient-notes{font-size:.875rem;color:var(--green-dark);font-style:italic}.steps-section h2{font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:1.25rem}.step{display:flex;gap:1rem;margin-bottom:1.75rem}.step-number{flex-shrink:0;width:32px;height:32px;background:var(--orange);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:600}.step-content{font-size:1.125rem;line-height:1.7;padding-top:.2rem}.step-duration{font-family:Inter,system-ui,sans-serif;font-size:.8125rem;color:var(--green-dark);margin-top:.25rem}.dietary-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.dietary-tag{font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:500;background:rgba(123,182,98,.15);color:var(--green-dark);padding:.25rem .75rem;border-radius:999px}.search-form{max-width:600px;margin:0 auto 2rem;display:flex;gap:.5rem}.search-input{flex:1 1;padding:.875rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius);font-family:Inter,system-ui,sans-serif;font-size:1rem;background:var(--elevated);color:var(--text-primary);box-shadow:var(--shadow-md);transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{border-color:var(--orange);box-shadow:var(--shadow-md),0 0 0 3px rgba(255,151,0,.15);outline:none}.search-input::placeholder{color:var(--text-muted)}.btn-primary{padding:.875rem 1.75rem;background:var(--orange);color:white;border:none;border-radius:var(--radius);cursor:pointer;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:.9375rem;transition:background .2s ease}.btn-primary:hover{background:var(--orange-dark)}.search-results-info{text-align:center;color:var(--text-muted);font-family:Inter,system-ui,sans-serif;font-size:.875rem;margin-bottom:1.5rem}.search-section-heading{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;font-weight:400;color:var(--brown-dark);margin-bottom:1rem}.search-empty{text-align:center;color:var(--text-muted);font-style:italic;margin-top:3rem;font-size:1.125rem}.hero-image-container{position:relative;width:100%;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,var(--card-bg) 0,var(--border-light) 100%);margin-bottom:1.5rem}.hero-image-container.type-hero{aspect-ratio:16/9;max-height:400px}.hero-image-container.recipe-hero{aspect-ratio:16/10;max-height:480px}.hero-image-container img{width:100%;height:100%;object-fit:cover;display:block}.hero-image-placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;color:var(--border)}.card-image-container,.hero-image-placeholder{width:100%;background:linear-gradient(135deg,var(--card-bg) 0,var(--border-light) 100%)}.card-image-container{position:relative;aspect-ratio:4/3;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden}.card-image-container img{width:100%;height:100%;object-fit:cover;display:block}.card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:var(--border)}.variant-card.has-image{padding:0}.variant-card.has-image .variant-card-body{padding:1rem 1.5rem 1.5rem}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem;font-family:Inter,system-ui,sans-serif;font-size:.875rem}.pagination-info{color:var(--text-muted)}.features-section{margin-top:2.5rem}