:root{--lilac-50:#f7f2fb;--lilac-100:#e9dff4;--lilac-200:#d8c7ec;--lilac-300:#b59ad6;--lilac-500:#8a6bb0;--plum-600:#775390;--plum-700:#654478;--plum-800:#513662;--plum-900:#34233f;--cream-50:#fffcfa;--cream-100:#f6f0e8;--cream-200:#ece3d6;--sage-100:#e7ede4;--sage-400:#91a58a;--sage-800:#4a5e45;--ink-900:#302a35;--ink-700:#463f4c;--ink-600:#5e5664;--white:#ffffff;--danger-700:#a3283a;--danger-50:#fbecee;--success-700:#2f6b3a;--success-50:#eaf5ec;--warning-800:#7a5300;--warning-50:#fdf5e1;--color-bg:var(--cream-50);--color-surface:var(--white);--color-surface-alt:var(--cream-100);--color-text:var(--ink-900);--color-text-muted:var(--ink-600);--color-link:var(--plum-700);--color-link-hover:var(--plum-900);--color-accent:var(--plum-700);--color-accent-soft:var(--lilac-100);--color-border:#e6dfe9;--color-border-strong:#cfc4d6;--color-focus:var(--plum-700);--font-display:var(--font-fraunces),"Georgia","Times New Roman",serif;--font-body:var(--font-nunito),"Segoe UI",system-ui,-apple-system,sans-serif;--fs-xs:0.8125rem;--fs-sm:0.9375rem;--fs-base:1.0625rem;--fs-md:1.1875rem;--fs-lg:clamp(1.25rem,1.1rem + 0.6vw,1.5rem);--fs-xl:clamp(1.5rem,1.25rem + 1vw,2rem);--fs-2xl:clamp(1.875rem,1.45rem + 1.8vw,2.75rem);--fs-3xl:clamp(2.25rem,1.6rem + 2.8vw,3.75rem);--lh-tight:1.15;--lh-snug:1.35;--lh-body:1.65;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(52,35,63,0.06),0 1px 3px rgba(52,35,63,0.05);--shadow-md:0 6px 18px -6px rgba(52,35,63,0.16),0 2px 6px rgba(52,35,63,0.05);--shadow-lg:0 18px 40px -16px rgba(52,35,63,0.28);--container:1200px;--container-narrow:760px;--gutter:clamp(1rem,0.6rem + 2vw,2rem);--header-h:72px;--ease:cubic-bezier(0.2,0.7,0.2,1);--dur-fast:140ms;--dur:220ms}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur:0ms}}*,:after,:before{box-sizing:border-box}html{text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1rem)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:var(--lh-tight);letter-spacing:-.01em;color:var(--ink-900);margin:0 0 var(--space-4);font-variation-settings:"SOFT" 50,"WONK" 0;text-wrap:balance}h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-lg);line-height:var(--lh-snug)}h4{font-size:var(--fs-md)}p{margin:0 0 var(--space-4);text-wrap:pretty}a{color:var(--color-link);text-decoration-thickness:1px;text-underline-offset:.18em;transition:color var(--dur-fast) var(--ease)}a:hover{color:var(--color-link-hover)}img,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:4px}::selection{background:var(--lilac-200);color:var(--ink-900)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-4);top:-100px;z-index:100;padding:var(--space-3) var(--space-4);background:var(--plum-800);color:var(--white);border-radius:var(--radius-sm);font-weight:700}.skip-link:focus{top:var(--space-3);color:var(--white)}.container{max-width:var(--container)}.container,.container-narrow{width:100%;margin-inline:auto;padding-inline:var(--gutter)}.container-narrow{max-width:var(--container-narrow)}.btn{--btn-bg:var(--plum-700);--btn-fg:var(--white);--btn-border:var(--plum-700);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:.625rem 1.25rem;border:1.5px solid var(--btn-border);border-radius:var(--radius-pill);background:var(--btn-bg);font-weight:700;font-size:var(--fs-sm);letter-spacing:.01em;line-height:1.2;text-decoration:none;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease);white-space:nowrap}.btn,.btn:hover{color:var(--btn-fg)}.btn:hover{--btn-bg:var(--plum-800);--btn-border:var(--plum-800);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(1px)}.btn[aria-disabled=true],.btn[disabled]{opacity:.55;cursor:not-allowed}.btn svg{width:1.15em;height:1.15em;flex:none}.btn-secondary{--btn-bg:var(--white);--btn-fg:var(--plum-700);--btn-border:var(--lilac-300)}.btn-secondary:hover{--btn-bg:var(--lilac-50);--btn-fg:var(--plum-800);--btn-border:var(--plum-700)}.btn-ghost{--btn-bg:transparent;--btn-fg:var(--plum-700);--btn-border:transparent}.btn-ghost:hover{--btn-bg:var(--lilac-50);--btn-fg:var(--plum-800);--btn-border:transparent;box-shadow:none}.btn-light{--btn-bg:var(--white);--btn-fg:var(--plum-800);--btn-border:var(--white)}.btn-light:hover{--btn-bg:var(--lilac-100);--btn-fg:var(--plum-900);--btn-border:var(--lilac-100)}.btn-danger{--btn-bg:var(--danger-700);--btn-border:var(--danger-700)}.btn-danger:hover{--btn-bg:#7f1d2c;--btn-border:#7f1d2c}.btn-sm{min-height:36px;padding:.4rem .9rem;font-size:var(--fs-xs)}.btn-lg{min-height:52px;padding:.8rem 1.75rem;font-size:var(--fs-base)}.btn-icon{padding:0;width:44px}.btn-icon.btn-sm{width:36px}.field{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-bottom:var(--space-4)}.field>label,.label{font-weight:700;font-size:var(--fs-sm);color:var(--ink-900)}.field .hint,.hint{font-size:var(--fs-xs);color:var(--color-text-muted);margin:0}.error-text,.field .error{font-size:var(--fs-xs);color:var(--danger-700);font-weight:700;margin:0}.required:after{content:" *";color:var(--danger-700)}.input,.select,.textarea{width:100%;min-height:44px;padding:.6rem .85rem;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--white);color:var(--ink-900);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.textarea{min-height:120px;resize:vertical;line-height:1.55}.input:hover,.select:hover,.textarea:hover{border-color:var(--lilac-500)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--plum-700);box-shadow:0 0 0 3px rgba(101,68,120,.22)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger-700)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.25rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23654478' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center}.checkbox{display:inline-flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;line-height:1.45}.checkbox input{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:22px;height:22px;margin:1px 0 0;border:2px solid var(--lilac-500);border-radius:6px;background:var(--white);display:grid;place-content:center;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.checkbox input:after{content:"";width:11px;height:6px;border-left:2.5px solid var(--white);border-bottom:2.5px solid var(--white);transform:rotate(-45deg) scale(0);margin-top:-3px;transition:transform var(--dur-fast) var(--ease)}.checkbox input:checked{background:var(--plum-700);border-color:var(--plum-700)}.checkbox input:checked:after{transform:rotate(-45deg) scale(1)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid;font-size:var(--fs-sm);margin-bottom:var(--space-4)}.alert p:last-child{margin-bottom:0}.alert-success{background:var(--success-50);border-color:#bfdec5;color:var(--success-700)}.alert-error{background:var(--danger-50);border-color:#efc3ca;color:var(--danger-700)}.alert-warning{background:var(--warning-50);border-color:#ecd9a6;color:var(--warning-800)}.alert-info{background:var(--lilac-50);border-color:var(--lilac-200)}.alert-info,.badge{color:var(--plum-800)}.badge{display:inline-flex;align-items:center;gap:.35em;padding:.15rem .6rem;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:700;line-height:1.6;background:var(--lilac-100);white-space:nowrap}.badge-sage{background:var(--sage-100);color:var(--sage-800)}.badge-cream{background:var(--cream-100);color:var(--ink-700)}.badge-warning{background:var(--warning-50);color:var(--warning-800)}.badge-danger{background:var(--danger-50);color:var(--danger-700)}.badge-success{background:var(--success-50);color:var(--success-700)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:rgba(255,252,250,.94);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--color-border)}.site-header__inner{display:flex;align-items:center;gap:var(--space-4);min-height:var(--header-h)}.brand{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;flex:none}.brand,.brand:hover{color:var(--ink-900)}.brand__mark{width:44px;height:44px;flex:none}.brand__text{display:grid;line-height:1}.brand__kicker{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--plum-700);font-weight:800}.brand__name{font-family:var(--font-display);font-size:1.3rem;font-weight:600;font-style:italic;font-variation-settings:"SOFT" 100,"WONK" 1;margin-top:2px}.brand__surname{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-600);margin-top:3px}.main-nav{margin-left:auto}.main-nav ul{display:flex;gap:var(--space-1);list-style:none;margin:0;padding:0}.main-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .85rem;border-radius:var(--radius-pill);font-weight:700;font-size:var(--fs-sm);color:var(--ink-700);text-decoration:none}.main-nav a:hover,.main-nav a[aria-current=page]{background:var(--lilac-50);color:var(--plum-800)}.header-search{display:flex;position:relative}.header-search .input{width:220px;min-height:42px;border-radius:var(--radius-pill);padding-left:2.5rem;background:var(--white);font-size:var(--fs-sm)}.header-search svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--plum-700);pointer-events:none}.mobile-menu{display:none;margin-left:auto}.mobile-menu>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border:1.5px solid var(--lilac-300);border-radius:var(--radius-pill);font-weight:700;font-size:var(--fs-sm);color:var(--plum-800);cursor:pointer;background:var(--white)}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu>summary svg{width:20px;height:20px}.mobile-menu__panel{position:absolute;left:0;right:0;top:100%;background:var(--cream-50);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);padding:var(--space-4) var(--gutter) var(--space-5)}.mobile-menu__panel ul{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.mobile-menu__panel a{display:block;padding:var(--space-3) var(--space-3);border-radius:var(--radius-sm);font-weight:700;color:var(--ink-900);text-decoration:none}.mobile-menu__panel a:hover,.mobile-menu__panel a[aria-current=page]{background:var(--lilac-100)}.mobile-menu__panel .header-search .input{width:100%}@media (max-width:960px){.main-nav,.site-header__inner>.header-search{display:none}.mobile-menu{display:block}}@media (max-width:420px){.brand__surname{display:none}.brand__mark{width:38px;height:38px}}main{display:block}.section{padding-block:clamp(2.5rem,1.8rem + 3vw,4.5rem)}.section--alt{background:var(--color-surface-alt)}.section--lilac{background:linear-gradient(180deg,var(--lilac-50),var(--cream-50))}.section-header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-3) var(--space-5);margin-bottom:var(--space-6)}.section-header h2{margin:0;font-size:var(--fs-2xl)}.section-header p{margin:var(--space-2) 0 0;color:var(--color-text-muted);max-width:60ch}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--plum-700);margin-bottom:var(--space-2)}.eyebrow:before{content:"";width:22px;height:2px;border-radius:2px;background:var(--lilac-300)}.link-arrow{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:800;font-size:var(--fs-sm);text-decoration:none}.link-arrow svg{width:18px;height:18px;transition:transform var(--dur) var(--ease)}.link-arrow:hover svg{transform:translateX(3px)}.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 500px at 0 0,rgba(233,223,244,.85),transparent 60%),radial-gradient(800px 400px at 100% 100%,rgba(231,237,228,.7),transparent 60%),var(--cream-50);padding-block:clamp(2rem,1rem + 4vw,5rem)}.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:clamp(2rem,1rem + 4vw,4.5rem);gap:clamp(2rem,1rem + 4vw,4.5rem);align-items:center}.hero h1{font-size:var(--fs-3xl);margin-bottom:var(--space-4)}.hero h1 em{font-style:italic;color:var(--plum-700);font-variation-settings:"SOFT" 100,"WONK" 1}.hero__lead{font-size:var(--fs-md);color:var(--ink-700);max-width:52ch;margin-bottom:var(--space-5)}.hero__frame,.hero__media{position:relative}.hero__frame{aspect-ratio:4/5;border-radius:999px 999px var(--radius-lg) var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--lilac-100);border:8px solid var(--white)}.hero__frame img{width:100%;height:100%;object-fit:cover}.hero__sprig{position:absolute;width:120px;height:auto;left:-40px;bottom:24px;color:var(--lilac-300);transform:rotate(-12deg);pointer-events:none}.hero__badge{position:absolute;right:-8px;top:18%;background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-3) var(--space-4);max-width:210px;font-size:var(--fs-sm);line-height:1.35;color:var(--ink-700)}.hero__badge strong{display:block;font-family:var(--font-display);font-size:1.6rem;color:var(--plum-700);line-height:1.1}.hero__quicklinks{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4);align-items:center}.hero__quicklinks span{font-size:var(--fs-sm);color:var(--color-text-muted);margin-right:var(--space-1)}@media (max-width:860px){.hero__grid{grid-template-columns:1fr}.hero__media{max-width:420px;margin-inline:auto;width:100%;order:-1}.hero__frame{aspect-ratio:5/4;border-radius:var(--radius-lg)}.hero__badge{right:8px;top:auto;bottom:-16px}.hero__sprig{display:none}}.search-hero{display:flex;gap:var(--space-2);padding:var(--space-2);background:var(--white);border:1.5px solid var(--lilac-200);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);max-width:560px}.search-hero .input{border:0;box-shadow:none;min-height:48px;border-radius:var(--radius-pill);padding-left:var(--space-5);font-size:var(--fs-base)}.search-hero .input:focus{box-shadow:none}.search-hero:focus-within{border-color:var(--plum-700);box-shadow:0 0 0 3px rgba(101,68,120,.18),var(--shadow-md)}.search-hero .btn{flex:none}@media (max-width:480px){.search-hero{border-radius:var(--radius-md);flex-direction:column}.search-hero .input{border-radius:var(--radius-sm)}}.chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:36px;padding:.3rem .85rem;border-radius:var(--radius-pill);background:var(--white);border:1px solid var(--color-border-strong);color:var(--ink-700);font-size:var(--fs-sm);font-weight:700;text-decoration:none;transition:all var(--dur-fast) var(--ease)}.chip:hover{border-color:var(--plum-700);color:var(--plum-800);background:var(--lilac-50)}.chip--active,.chip[aria-current=page]{background:var(--plum-700);border-color:var(--plum-700);color:var(--white)}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));grid-gap:clamp(1rem,.6rem + 1.5vw,1.75rem);gap:clamp(1rem,.6rem + 1.5vw,1.75rem);list-style:none;margin:0;padding:0}.recipe-card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.recipe-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.recipe-card:focus-within{box-shadow:0 0 0 3px var(--plum-700)}.recipe-card__media{position:relative;aspect-ratio:4/3;background:var(--lilac-100);overflow:hidden}.recipe-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.recipe-card:hover .recipe-card__media img{transform:scale(1.03)}.recipe-card__placeholder{width:100%;height:100%;display:grid;place-items:center;background:repeating-linear-gradient(45deg,var(--lilac-50),var(--lilac-50) 12px,var(--lilac-100) 12px,var(--lilac-100) 24px);color:var(--lilac-500)}.recipe-card__placeholder svg{width:56px;height:56px}.recipe-card__body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-5);flex:1 1}.recipe-card__category{font-size:var(--fs-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sage-800)}.recipe-card__title{font-size:1.25rem;margin:0;line-height:1.25}.recipe-card__title a{color:var(--ink-900);text-decoration:none}.recipe-card__title a:after{content:"";position:absolute;inset:0;z-index:1}.recipe-card__title a:focus-visible{outline:none}.recipe-card__summary{margin:0;font-size:var(--fs-sm);color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-card__demo{position:absolute;top:var(--space-3);left:var(--space-3);z-index:2}.meta-row{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:auto 0 0;padding:var(--space-3) 0 0;list-style:none;border-top:1px dashed var(--color-border-strong);font-size:var(--fs-xs);font-weight:700;color:var(--ink-700)}.meta-row li{display:inline-flex;align-items:center;gap:.35rem}.meta-row svg{width:16px;height:16px;color:var(--plum-700);flex:none}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));grid-gap:var(--space-4);gap:var(--space-4);list-style:none;margin:0;padding:0}.category-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;padding:var(--space-4);border-radius:var(--radius-md);background:var(--white);border:1px solid var(--color-border);text-decoration:none;overflow:hidden;color:var(--ink-900);isolation:isolate;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.category-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--lilac-300);color:var(--ink-900)}.category-card__icon{position:absolute;top:var(--space-4);left:var(--space-4);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--lilac-100);color:var(--plum-700)}.category-card:nth-child(3n+2) .category-card__icon{background:var(--sage-100);color:var(--sage-800)}.category-card:nth-child(3n+3) .category-card__icon{background:var(--cream-100);color:var(--ink-700)}.category-card__icon svg{width:24px;height:24px}.category-card__name{font-family:var(--font-display);font-size:1.15rem;font-weight:600;line-height:1.2}.category-card__count{font-size:var(--fs-xs);color:var(--color-text-muted);font-weight:700;margin-top:2px}.category-card--image{min-height:190px;color:var(--white);border:0}.category-card--image:hover{color:var(--white)}.category-card--image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.category-card--image:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(52,35,63,0) 30%,rgba(52,35,63,.82))}.category-card--image .category-card__count{color:var(--lilac-100)}.about-block{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:clamp(1.5rem,1rem + 3vw,4rem);gap:clamp(1.5rem,1rem + 3vw,4rem);align-items:center}.about-block__media{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-md);background:var(--lilac-100)}.about-block__media img{width:100%;height:100%;object-fit:cover}.about-block__text p{font-size:var(--fs-md);color:var(--ink-700)}.about-block__sign{font-family:var(--font-display);font-style:italic;font-size:1.5rem;color:var(--plum-700);font-variation-settings:"SOFT" 100,"WONK" 1}@media (max-width:820px){.about-block{grid-template-columns:1fr}}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));grid-gap:var(--space-4);gap:var(--space-4);list-style:none;padding:0;margin:0}.tip-card{height:100%;background:var(--white);border-radius:var(--radius-md);padding:var(--space-5);border:1px solid var(--color-border);border-top:4px solid var(--sage-400)}.tip-card h3{font-size:1.2rem;display:flex;gap:var(--space-2);align-items:flex-start}.tip-card h3 svg{width:22px;height:22px;color:var(--sage-800);flex:none;margin-top:2px}.tip-card .prose{font-size:var(--fs-sm);color:var(--ink-700)}.cta-band{position:relative;overflow:hidden;background:var(--plum-800);color:var(--white);border-radius:var(--radius-lg);padding:clamp(2rem,1.5rem + 3vw,4rem);display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-5);gap:var(--space-5);align-items:center}.cta-band h2{color:var(--white);margin-bottom:var(--space-2)}.cta-band p{color:var(--lilac-100);margin:0;max-width:56ch}.cta-band__sprig{position:absolute;right:-30px;bottom:-40px;width:220px;color:rgba(181,154,214,.25);pointer-events:none}@media (max-width:720px){.cta-band{grid-template-columns:1fr}}.site-footer{background:var(--plum-900);color:var(--lilac-100);margin-top:var(--space-8)}.site-footer a{color:var(--lilac-100);text-decoration:none}.site-footer a:hover{color:var(--white);text-decoration:underline}.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;grid-gap:var(--space-6);gap:var(--space-6);padding-block:var(--space-8) var(--space-6)}.site-footer h2{color:var(--white);font-size:1rem;font-family:var(--font-body);font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-3)}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2);font-size:var(--fs-sm)}.site-footer .brand,.site-footer .brand:hover{color:var(--white)}.site-footer .brand__kicker{color:var(--lilac-300)}.site-footer .brand__surname,.site-footer__about{color:var(--lilac-200)}.site-footer__about{font-size:var(--fs-sm);margin-top:var(--space-4);max-width:36ch}.site-footer__bottom{border-top:1px solid rgba(233,223,244,.18);padding-block:var(--space-5);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;font-size:var(--fs-xs);color:var(--lilac-200)}@media (max-width:860px){.site-footer__grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.site-footer__grid{grid-template-columns:1fr}}.breadcrumbs{font-size:var(--fs-sm);margin-bottom:var(--space-4)}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);list-style:none;margin:0;padding:0}.breadcrumbs li{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted)}.breadcrumbs li+li:before{content:"›";color:var(--lilac-500);font-weight:700}.breadcrumbs a{color:var(--ink-700);text-decoration:none;font-weight:600}.breadcrumbs a:hover{color:var(--plum-800);text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--ink-600)}.page-hero{background:linear-gradient(180deg,var(--lilac-50),var(--cream-50));padding-block:var(--space-6) var(--space-6);border-bottom:1px solid var(--color-border)}.page-hero h1{font-size:var(--fs-2xl);margin-bottom:var(--space-3)}.page-hero p{color:var(--ink-700);max-width:65ch;font-size:var(--fs-md);margin:0}.listing{display:grid;grid-template-columns:280px 1fr;grid-gap:var(--space-6);gap:var(--space-6);align-items:start}.filters{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + 1rem);background:var(--white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5)}.filters h2{font-size:1.15rem}.filters .field,.filters h2{margin-bottom:var(--space-4)}.filters__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.filters-mobile{display:none}.listing__bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.listing__count{margin:0;color:var(--ink-700);font-weight:700}.active-filters{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media (max-width:960px){.listing{grid-template-columns:1fr}.filters{position:static}.filters-desktop{display:none}.filters-mobile{display:block;margin-bottom:var(--space-5)}.filters-mobile>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2)}.filters-mobile>summary::-webkit-details-marker{display:none}.filters-mobile[open]>summary{margin-bottom:var(--space-3)}}.empty-state{text-align:center;padding:var(--space-8) var(--space-5);background:var(--white);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md)}.empty-state svg{width:64px;height:64px;margin:0 auto var(--space-4);color:var(--lilac-300)}.empty-state h2{font-size:var(--fs-xl)}.empty-state p{color:var(--color-text-muted);max-width:48ch;margin-inline:auto}.pagination{margin-top:var(--space-7)}.pagination ul{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-2);list-style:none;margin:0;padding:0}.pagination .pagination__disabled,.pagination .pagination__gap,.pagination a,.pagination span[aria-current]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-width:44px;min-height:44px;padding:0 .8rem;border-radius:var(--radius-pill);font-weight:800;font-size:var(--fs-sm);text-decoration:none}.pagination a{background:var(--white);border:1px solid var(--color-border-strong);color:var(--ink-900)}.pagination a:hover{border-color:var(--plum-700);color:var(--plum-800);background:var(--lilac-50)}.pagination span[aria-current]{background:var(--plum-700);color:var(--white)}.pagination .pagination__gap{color:var(--ink-600);min-width:24px;padding:0}.pagination .pagination__disabled{color:#9a92a0;border:1px solid var(--color-border)}.pagination svg{width:16px;height:16px}.recipe-header{padding-block:var(--space-6) var(--space-5)}.recipe-header h1{font-size:var(--fs-3xl);max-width:22ch;margin-bottom:var(--space-4)}.recipe-header__summary{font-size:var(--fs-md);color:var(--ink-700);max-width:62ch}.recipe-byline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);font-size:var(--fs-sm);color:var(--ink-600);margin-bottom:var(--space-5)}.recipe-byline strong{color:var(--ink-900)}.recipe-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.recipe-cover{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--lilac-100);aspect-ratio:16/9;box-shadow:var(--shadow-md)}.recipe-cover img{width:100%;height:100%;object-fit:cover}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:1px;gap:1px;margin:var(--space-6) 0 var(--space-6);padding:0;list-style:none;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.facts li{background:var(--white);padding:var(--space-4);display:grid;grid-gap:2px;gap:2px}.facts svg{width:22px;height:22px;color:var(--plum-700);margin-bottom:var(--space-1)}.facts .facts__label,.facts dt{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--ink-600)}.facts .facts__value{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--ink-900)}.recipe-intro{max-width:70ch;margin-bottom:var(--space-6);font-size:var(--fs-md)}.recipe-body{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;grid-gap:clamp(1.5rem,1rem + 3vw,3.5rem);gap:clamp(1.5rem,1rem + 3vw,3.5rem);align-items:start}.recipe-panel{background:var(--white);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-5)}.recipe-panel--ingredients{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + 1rem);background:var(--lilac-50);border-color:var(--lilac-200)}.recipe-panel h2{font-size:var(--fs-xl);margin-bottom:var(--space-2)}.recipe-panel h3{font-size:1.05rem;font-family:var(--font-body);font-weight:800;color:var(--plum-800);margin:var(--space-5) 0 var(--space-2)}.recipe-panel__hint{font-size:var(--fs-xs);color:var(--ink-600);margin-bottom:var(--space-3)}.ingredient-list{list-style:none;margin:0;padding:0}.ingredient-list li{border-bottom:1px dashed var(--lilac-200)}.ingredient-list li:last-child{border-bottom:0}.ingredient-list label{display:flex;gap:var(--space-3);padding:var(--space-3) 0;cursor:pointer;line-height:1.45}.ingredient-list input:checked+span{text-decoration:line-through;-webkit-text-decoration-color:var(--plum-700);text-decoration-color:var(--plum-700);color:var(--ink-600)}.ingredient-list .ingredient-plain{padding:var(--space-3) 0;display:block}.ingredient-reset{margin-top:var(--space-3)}.steps{list-style:none;counter-reset:step;margin:0;padding:0;display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.steps li{counter-increment:step;display:grid;grid-template-columns:44px 1fr;grid-gap:var(--space-4);gap:var(--space-4);align-items:start;scroll-margin-top:calc(var(--header-h) + 1rem)}.steps li:before{content:counter(step);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--plum-700);color:var(--white);font-family:var(--font-display);font-weight:600;font-size:1.2rem}.steps li p{margin:.45rem 0 0}.steps-group-title{font-size:1.05rem;font-family:var(--font-body);font-weight:800;color:var(--plum-800);margin:var(--space-6) 0 var(--space-3)}.steps-group-title:first-of-type{margin-top:var(--space-2)}.note-card{position:relative;margin-top:var(--space-6);background:var(--cream-100);border-radius:var(--radius-md);padding:var(--space-5) var(--space-5) var(--space-5) calc(var(--space-5) + 6px);border-left:6px solid var(--lilac-300)}.note-card h2{font-size:var(--fs-lg);display:flex;align-items:center;gap:var(--space-2)}.note-card h2 svg{width:24px;height:24px;color:var(--plum-700)}.note-card--sage{border-left-color:var(--sage-400);background:var(--sage-100)}.note-card .prose{font-size:var(--fs-base)}.recipe-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-6);align-items:center}.recipe-tags__label{font-weight:800;font-size:var(--fs-sm);margin-right:var(--space-1)}.share{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.share__label{font-weight:800;font-size:var(--fs-sm);margin-right:var(--space-1)}.recipe-meta-footer{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-4);font-size:var(--fs-sm);color:var(--ink-600)}.cook-mode{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);font-weight:700}@media (max-width:900px){.recipe-body{grid-template-columns:1fr}.recipe-panel--ingredients{position:static}}.demo-banner{display:flex;gap:var(--space-3);align-items:flex-start;background:var(--warning-50);border:1px solid #ecd9a6;color:var(--warning-800);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);margin-bottom:var(--space-4)}.demo-banner svg{width:20px;height:20px;flex:none;margin-top:2px}.preview-bar{position:-webkit-sticky;position:sticky;top:0;z-index:60;background:var(--ink-900);color:var(--white);font-size:var(--fs-sm);padding:var(--space-2) var(--gutter);display:flex;gap:var(--space-3);justify-content:center;align-items:center;flex-wrap:wrap}.preview-bar a{color:var(--lilac-200);font-weight:700}.prose{max-width:70ch}.prose h2{font-size:var(--fs-xl);margin-top:var(--space-6)}.prose h3{font-size:var(--fs-lg);margin-top:var(--space-5)}.prose ol,.prose ul{padding-left:1.4rem;margin:0 0 var(--space-4)}.prose li{margin-bottom:var(--space-2)}.prose li::marker{color:var(--plum-700)}.prose blockquote{margin:var(--space-5) 0;padding:var(--space-3) var(--space-5);border-left:4px solid var(--lilac-300);background:var(--lilac-50);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-family:var(--font-display);font-style:italic;font-size:var(--fs-md)}.prose hr{border:0;border-top:1px solid var(--color-border);margin:var(--space-6) 0}.prose>:last-child{margin-bottom:0}.institutional{padding-block:var(--space-6) var(--space-7)}.institutional .prose{font-size:var(--fs-md)}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:var(--space-7);gap:var(--space-7);align-items:start}.contact-card{background:var(--white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}.not-found{text-align:center;padding-block:var(--space-9)}.not-found__code{font-family:var(--font-display);font-size:clamp(4rem,3rem + 6vw,8rem);line-height:1;color:var(--lilac-300);font-style:italic;margin-bottom:var(--space-4)}.not-found p{max-width:50ch;margin-inline:auto;color:var(--ink-700)}.not-found .search-hero{margin:var(--space-5) auto}.categories-index .category-card{min-height:180px}.categories-index .category-card__desc{font-size:var(--fs-sm);color:var(--ink-600);margin-top:var(--space-2)}@media print{@page{margin:1.5cm}body,html{background:#fff!important;color:#000!important;font-size:11.5pt}.breadcrumbs,.cook-mode,.demo-banner .btn,.ingredient-reset,.no-print,.preview-bar,.recipe-actions,.recipe-tags,.related-recipes,.share,.site-footer,.site-header,.skip-link{display:none!important}.recipe-header{padding:0 0 .5cm}.recipe-header h1{font-size:22pt;max-width:none}.recipe-cover{max-height:7cm;box-shadow:none;aspect-ratio:auto}.recipe-cover img{max-height:7cm;object-fit:cover}.facts{margin:.4cm 0;border-color:#999;background:#999}.facts li{padding:.25cm}.recipe-body{display:block}.recipe-panel{border:1px solid #bbb;background:#fff!important;padding:.4cm;margin-bottom:.5cm;position:static!important;page-break-inside:avoid;break-inside:avoid}.ingredient-list input{display:none}.ingredient-list input:checked+span{text-decoration:none;color:#000}.ingredient-list label:before{content:"☐  "}.steps li{page-break-inside:avoid;break-inside:avoid;grid-template-columns:28px 1fr}.steps li:before{width:24px;height:24px;font-size:10pt;background:#fff;color:#000;border:1px solid #000}.note-card{page-break-inside:avoid;break-inside:avoid;background:#fff!important;border:1px solid #bbb}a{color:#000!important;text-decoration:none!important}.print-only{display:block!important}}.print-only{display:none}