:root{--ivory:#f8f5ee;--paper:#fffdf8;--ruby:#782c3e;--ruby-dark:#552132;--gold:#b39355;--ink:#332d29;--muted:#7b746b;--border:#e4ddd0;--sage:#6e795c;--scale:1;color-scheme:light;font-size:calc(16px * var(--scale))}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.55}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button{touch-action:manipulation}.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px}.icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1,h2,.wordmark strong,.closing-note p{font-family:Georgia,"Times New Roman",serif;font-weight:400}.site-header{height:100px;max-width:1424px;margin:auto;padding:0 56px;display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--border)}.wordmark{text-decoration:none;color:var(--ruby);display:flex;align-items:center;flex-direction:column;line-height:1.05;white-space:nowrap}.wordmark span{font-size:.68rem;letter-spacing:.27em;padding-left:.27em}.wordmark strong{font-size:1.9rem;letter-spacing:-.04em;margin-top:6px}.brand-divider{height:33px;width:1px;background:var(--border)}.product-name{font-size:.76rem;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}.site-header nav{display:flex;align-items:center;gap:30px;margin-left:auto}.nav-link{display:flex;align-items:center;gap:8px;border:0;background:none;color:var(--muted);padding:12px 0;font-size:.88rem;position:relative}.nav-link.active{color:var(--ruby);font-weight:600}.nav-link.active:after{content:"";position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--ruby)}.counter{background:#eee7dc;border-radius:50%;font-size:.65rem;min-width:20px;height:20px;display:inline-grid;place-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 21px;border:1px solid transparent;border-radius:8px;text-decoration:none;font-weight:500;font-size:.9rem;transition:background .18s,transform .18s}.button-primary{background:var(--ruby);color:#fff}.button-primary:hover{background:var(--ruby-dark)}.button-outline{border-color:#cabdab;background:transparent;color:var(--ruby)}.button-outline:hover{background:#eee7dc}.hero{max-width:1424px;margin:0 auto;display:grid;grid-template-columns:47% 53%;padding:40px 56px 48px;min-height:520px;gap:24px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:14px 0 18px}.eyebrow{font-size:.66rem;letter-spacing:.18em;line-height:1.5;color:var(--ruby);font-weight:650;display:flex;align-items:center;gap:12px}.gold-line{width:28px;height:1px;background:var(--gold)}h1{font-size:clamp(2.7rem,4.65vw,4.5rem);line-height:1.06;letter-spacing:-.045em;color:var(--ruby);margin:23px 0}h1 em{font-weight:400;color:#846f49}.hero-copy>p{font-size:.96rem;line-height:1.8;color:var(--muted)}.hero-link{display:flex;align-items:center;gap:22px;width:max-content;font-size:.85rem;color:var(--ruby);text-decoration:none;border-bottom:1px solid #bd9e72;padding:0 0 7px;margin-top:26px}.hero-link span{font-size:1.3rem}.hero-visual{position:relative;border-radius:125px 12px 12px 12px;min-width:0;overflow:hidden;background:linear-gradient(150deg,#dcd3b9,#efe7d5);min-height:440px;isolation:isolate}.hero-visual:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(38,23,11,.34));z-index:0}.hero-visual img{display:block;width:100%;height:100%;position:absolute;object-fit:cover;object-position:58% 50%;inset:0}.photo-label{position:absolute;bottom:47px;left:30px;color:white;font-family:Georgia,serif;font-size:1.4rem;font-style:italic;z-index:1;text-shadow:0 1px 8px #3a201e55}.photo-caption{position:absolute;bottom:24px;left:31px;font-size:.62rem;letter-spacing:.12em;color:#fff;z-index:1}.recipe-section{border-top:1px solid var(--border);max-width:1424px;margin:auto;padding:46px 56px 32px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}h2{font-size:2.15rem;line-height:1.2;letter-spacing:-.025em;color:var(--ruby)}.section-top h2{margin-top:10px}.demo-label{background:#eee8dc;color:#72674f;border:1px solid #e3d8c6;border-radius:30px;font-size:.66rem;display:flex;align-items:center;gap:7px;padding:6px 12px;white-space:nowrap}.demo-label>span{width:5px;height:5px;background:var(--gold);border-radius:50%}.search-box{display:flex;align-items:center;gap:16px;background:var(--paper);border:1px solid #d5c6af;border-radius:12px;padding:8px 9px 8px 21px;box-shadow:0 3px 12px #6b543407}.search-box>.icon{color:var(--gold);width:23px;height:23px}.search-box input{border:0;background:transparent;min-width:0;width:100%;padding:10px 0;font-size:1rem;color:var(--ink);outline-offset:0}.search-box input::placeholder{color:#8a8379}.search-box .button{min-width:112px;min-height:46px}.suggestions{display:flex;align-items:center;gap:9px;margin:14px 0 28px;flex-wrap:wrap;font-size:.71rem;color:var(--muted)}.suggestions>span{margin-right:5px}.suggestions button{border:0;background:#eee8de;border-radius:5px;padding:6px 10px;color:#74634b;font-size:.7rem}.suggestions button:hover{background:#e4dac8}.query-summary{font-size:.8rem;background:#eee9dd;color:var(--ruby);border-left:2px solid var(--gold);border-radius:3px;padding:11px 14px;margin:-8px 0 22px}.course-tabs{display:flex;gap:5px;overflow-x:auto;border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:29px;scrollbar-width:thin}.course-tabs button{background:none;border:1px solid transparent;color:var(--muted);border-radius:7px;padding:9px 13px;white-space:nowrap;font-size:.78rem}.course-tabs button:hover{background:#eee8dc}.course-tabs button.selected{background:var(--ruby);color:#fff}.catalog-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:32px}.filters{padding-right:24px;border-right:1px solid var(--border)}.filters-heading{display:flex;align-items:center;justify-content:space-between;margin:5px 0 23px;gap:10px}.filters-heading h3{font-size:.77rem;font-weight:650}.text-button{border:0;background:transparent;color:var(--ruby);text-align:left;padding:0;font-size:.73rem;text-decoration:underline;text-decoration-color:#cbb893;text-underline-offset:4px}.filters fieldset{padding:0 0 22px;margin:0 0 20px;border:0;border-bottom:1px solid var(--border)}.filters legend,.select-field>label{font-size:.73rem;color:var(--ink);font-weight:600;display:block;margin:0 0 14px}.filters fieldset>label{display:flex;align-items:center;gap:9px;font-size:.75rem;margin:10px 0;color:var(--muted);line-height:1.4;min-height:27px;cursor:pointer}.filters input[type=checkbox]{accent-color:var(--ruby);margin:0;width:15px;height:15px;flex-shrink:0}.select-field{margin:0 0 24px}.select-field select{width:100%;font-size:.74rem;padding:10px 28px 10px 10px;border:1px solid #d8cfc0;border-radius:6px;background:var(--paper);color:var(--muted)}.filters .last-field{border:0}.archive-note{background:#eee7da;padding:19px 14px;border-radius:8px;color:#766b57}.archive-note .icon{margin-bottom:8px;color:var(--gold)}.archive-note strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:.98rem;color:var(--ruby);line-height:1.3}.archive-note p{font-size:.71rem;line-height:1.7;margin:9px 0 16px}.archive-note .text-button{font-size:.68rem;line-height:1.6}.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:3px 0 21px;font-size:.74rem;color:var(--muted)}.results-toolbar strong{color:var(--ink);font-weight:600}.sort-control{display:flex;gap:8px;align-items:center}.sort-control label{font-size:.66rem}.sort-control select{background:transparent;border:0;color:var(--muted);max-width:220px;font-size:.7rem;padding:5px 0}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}.recipe-card{position:relative;min-width:0;background:var(--paper);border-radius:12px;border:1px solid #e5dfd2;overflow:hidden;transition:transform .2s,box-shadow .2s}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 8px 18px #4936210b}.card-open{display:block;width:100%;text-align:left;background:transparent;border:0;padding:0;color:inherit}.recipe-card .card-media{height:164px;overflow:hidden;position:relative;background:var(--card-bg,#e5dcc5)}.card-media svg{width:100%;height:100%;display:block}.card-media img{width:100%;height:100%;object-fit:cover;object-position:52% 61%;display:block}.card-course{position:absolute;bottom:12px;left:12px;background:#fffcf3e8;color:#6b5945;border:1px solid #fffcf3cc;border-radius:4px;font-size:.59rem;text-transform:uppercase;letter-spacing:.09em;padding:4px 8px;backdrop-filter:blur(7px)}.save-button{position:absolute;top:12px;right:12px;border:0;background:#fffcf2ef;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;color:#7d6754;box-shadow:0 1px 8px #5c3b2512;z-index:1}.save-button:hover{background:white}.save-button.saved{color:var(--ruby)}.save-button.saved svg{fill:var(--ruby);stroke:var(--ruby)}.save-button .icon{width:17px;height:17px}.card-content{padding:16px 16px 15px}.card-tags{display:flex;align-items:center;gap:6px;text-transform:uppercase;font-size:.56rem;letter-spacing:.12em;color:#928062;line-height:1.4;min-height:13px}.card-tags .tiny-dot{width:3px;height:3px;background:#bda67b;border-radius:50%}.card-title{font-family:Georgia,serif;font-size:1.18rem;font-weight:400;line-height:1.24;letter-spacing:-.025em;color:var(--ruby);margin:8px 0 11px;min-height:2.5em}.card-description{font-size:.7rem;line-height:1.55;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.1em}.card-bottom{display:flex;align-items:center;gap:12px;border-top:1px solid #eee9df;margin-top:15px;padding-top:11px;font-size:.65rem;color:#82796c}.card-bottom>span{display:flex;align-items:center;gap:5px}.card-bottom .icon{width:14px;height:14px}.card-bottom .card-arrow{margin-left:auto;color:var(--ruby);font-size:1.05rem}.demo-footnote{margin:30px 0 0;font-size:.69rem;line-height:1.7;color:var(--muted)}.demo-footnote strong{font-weight:600}.empty-state{text-align:center;padding:50px 24px;border:1px dashed #d4c3a8;border-radius:10px;background:#f2ece2}.empty-state>.icon{width:35px;height:35px;color:var(--gold)}.empty-state h3{font-family:Georgia,serif;font-size:1.5rem;font-weight:400;color:var(--ruby);margin:16px 0 10px}.empty-state p{color:var(--muted);font-size:.85rem;margin-bottom:23px}.closing-note{max-width:1312px;margin:25px auto 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:45px;padding:37px 30px}.closing-note p{text-align:center;font-size:1.5rem;line-height:1.5;color:var(--ruby)}.closing-note em{color:#9b835c;font-size:1.2rem}.star{color:var(--gold);font-size:1.3rem}footer{max-width:1424px;display:flex;gap:20px;align-items:center;justify-content:space-between;margin:auto;padding:29px 56px;color:var(--muted);font-size:.64rem}footer>span:first-child{letter-spacing:.16em;color:var(--ruby);font-size:.58rem}.appearance-button{border:1px solid var(--border);background:transparent;border-radius:5px;display:flex;align-items:center;gap:7px;padding:7px 10px;color:var(--muted);font-size:.64rem}.appearance-button .icon{width:17px;height:17px}dialog{border:1px solid var(--border);padding:0;width:min(960px,calc(100% - 32px));max-height:calc(100dvh - 50px);border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 25px 85px #2f1c2350}dialog::backdrop{background:#30242bb3;backdrop-filter:blur(5px)}dialog[open]{animation:appear .18s ease-out}.dialog-close{position:absolute;right:16px;top:16px;background:#fffdf5f2;color:var(--ruby);width:39px;height:39px;border:1px solid var(--border);font-size:1.6rem;line-height:1;border-radius:50%;z-index:3}.dialog-close:hover{background:#f2e9df}.detail-cover{height:240px;overflow:hidden;background:var(--card-bg,#eae0ca);position:relative}.detail-cover svg,.detail-cover img{width:100%;height:100%;object-fit:cover;object-position:50% 57%;display:block}.detail-cover .card-course{left:32px;bottom:22px}.detail-body{padding:30px 35px 38px}.detail-kicker{display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--gold);font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.detail-body h2{font-size:2.4rem;margin-right:20px}.detail-description{color:var(--muted);font-size:.9rem;margin-top:12px}.detail-meta{display:flex;gap:22px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.75rem;margin:20px 0}.detail-meta span{display:inline-flex;align-items:center;gap:7px}.detail-meta .icon{width:17px;height:17px}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0 28px;padding-bottom:25px;border-bottom:1px solid var(--border)}.detail-actions .button{font-size:.75rem;min-height:38px;padding:8px 12px}.detail-columns{display:grid;grid-template-columns:32% minmax(0,1fr);gap:36px}.detail-columns h3{font-family:Georgia,serif;font-size:1.4rem;color:var(--ruby);font-weight:400;margin-bottom:17px}.portion-control{display:flex;align-items:center;gap:9px;background:#f0eadd;border-radius:7px;padding:8px;font-size:.74rem;margin-bottom:15px;width:max-content}.portion-control button{height:29px;width:29px;border:1px solid #d7c9b0;background:var(--paper);color:var(--ruby);border-radius:5px;font-size:1.2rem;line-height:1}.portion-control>span{min-width:85px;text-align:center}.ingredient-list{padding:0;margin:0;list-style:none}.ingredient-list li{border-bottom:1px solid #ece4d5;padding:10px 0;font-size:.8rem}.ingredient-list label{display:flex;align-items:flex-start;gap:9px;cursor:pointer}.ingredient-list input{margin:4px 0 0;accent-color:var(--ruby)}.ingredient-list input:checked+span{text-decoration:line-through;color:var(--muted)}.ingredient-list .quantity{font-weight:600;white-space:nowrap}.cooking-steps{list-style:none;padding:0;margin:0;counter-reset:steps}.cooking-steps li{counter-increment:steps;position:relative;padding-left:38px;margin:0 0 21px;font-size:.87rem;line-height:1.75;color:#63594d}.cooking-steps li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:1px;color:var(--gold);font-size:.85rem;font-family:Georgia,serif}.recipe-note{background:#f0eadf;border-left:2px solid var(--gold);font-size:.79rem;line-height:1.7;color:#786952;padding:15px 17px;margin:20px 0}.source-note{font-size:.7rem;color:var(--muted);padding-top:18px;border-top:1px solid var(--border);margin-top:25px}.source-note strong{color:var(--ruby);font-weight:600}.kitchen-mode .detail-cover,.kitchen-mode .detail-description{display:none}.kitchen-mode .cooking-steps li{font-size:1.15rem}.kitchen-mode .ingredient-list li{font-size:1rem}.info-content{padding:48px 42px;max-width:650px;margin:auto}.info-content h2{margin:18px 0;font-size:2.4rem}.info-content h2 em{color:#9a8053}.info-content>p{color:var(--muted);font-size:.9rem;line-height:1.75}.import-steps{list-style:none;padding:0;margin:30px 0}.import-steps>li{display:flex;gap:19px;padding:17px 0;border-bottom:1px solid var(--border)}.import-steps>li>span{font-family:Georgia,serif;font-size:1.3rem;color:var(--gold)}.import-steps h3{font-weight:600;font-size:.86rem;color:var(--ruby)}.import-steps p{font-size:.8rem;color:var(--muted);margin-top:5px;line-height:1.7}.info-content .info-footnote{font-size:.74rem;margin:0 0 24px;background:#f1eade;padding:12px 15px;border-radius:7px}.size-options{display:flex;flex-direction:column;gap:10px;margin-top:25px}.size-options button[aria-pressed=true]{background:var(--ruby);color:white}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ruby-dark);color:white;border-radius:8px;padding:13px 20px;font-size:.8rem;z-index:15;box-shadow:0 4px 20px #37222940;max-width:calc(100% - 30px);width:max-content}.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:fixed;top:-80px;left:16px;z-index:99;background:var(--ruby);color:#fff;padding:12px}.skip-link:focus{top:12px}[hidden]{display:none!important}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1550px){.hero{min-height:570px}.hero-visual{min-height:490px}}@media(max-width:1120px){.site-header{padding:0 30px;gap:19px}.site-header nav{gap:21px}.hero{padding:35px 30px;min-height:470px}.hero-visual{min-height:400px}.hero-copy>p{font-size:.88rem}.recipe-section{padding:36px 30px}.catalog-layout{grid-template-columns:180px minmax(0,1fr);gap:23px}.filters{padding-right:18px}.recipe-grid{gap:18px 14px}.card-content{padding:13px}.card-title{font-size:1.08rem}.recipe-card .card-media{height:145px}.card-description{font-size:.67rem}.product-name{font-size:.65rem}footer{padding:25px 30px}.closing-note{margin-left:30px;margin-right:30px}}
@media(max-width:900px){.product-name,.brand-divider{display:none}.hero{grid-template-columns:48% 52%;gap:15px}.hero-copy>.eyebrow{font-size:.55rem;letter-spacing:.12em}.hero-visual{border-radius:85px 10px 10px 10px;min-height:370px}h1{font-size:3rem}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-card .card-media{height:180px}.card-title{font-size:1.22rem}.card-description{font-size:.75rem}.demo-label{font-size:.58rem}.section-top h2{font-size:1.85rem}.card-content{padding:16px}.card-bottom{font-size:.7rem}.photo-label{font-size:1.15rem;left:21px}.photo-caption{left:22px}}
@media(max-width:650px){html{scroll-padding-top:20px}.site-header{height:83px;padding:0 20px;gap:12px}.wordmark span{font-size:.51rem}.wordmark strong{font-size:1.55rem}.site-header nav{gap:17px}.nav-link{font-size:.73rem}.nav-link .icon{display:none}.site-header #archive-button{display:none}.counter{min-width:18px;height:18px;font-size:.6rem}.hero{padding:22px 20px 29px;grid-template-columns:1fr;gap:22px;min-height:0}.hero-copy{padding:6px 0 0}.hero-copy>.eyebrow{font-size:.57rem;letter-spacing:.12em}h1{font-size:3.1rem;margin:17px 0;line-height:1.02}h1 br:first-of-type{display:none}h1 br:first-of-type:after{content:' '}.hero-copy>p{font-size:.86rem;line-height:1.75}.hero-copy .desktop-only{display:none}.hero-link{font-size:.8rem;margin-top:18px;padding-bottom:4px}.hero-visual{border-radius:70px 10px 10px 10px;min-height:230px;max-height:260px}.hero-visual img{object-position:50% 56%}.photo-label{font-size:1.1rem;bottom:38px}.photo-caption{font-size:.54rem;bottom:19px}.recipe-section{padding:29px 20px 22px}.section-top{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:20px}.section-top .eyebrow{font-size:.56rem}.section-top h2{font-size:1.8rem;margin-top:8px}.demo-label{font-size:.61rem;padding:5px 10px}.search-box{padding:6px 6px 6px 12px;gap:8px;border-radius:9px}.search-box>.icon{width:19px;height:19px}.search-box input{font-size:.82rem;padding:10px 0}.search-box .button{padding:10px 13px;min-width:0;min-height:41px;font-size:.75rem}.search-box .button>span{display:none}.suggestions{gap:6px;margin:12px 0 20px}.suggestions>span{width:100%;font-size:.63rem;margin:0 0 2px}.suggestions button{font-size:.61rem;padding:6px 8px}.query-summary{font-size:.73rem;line-height:1.6}.course-tabs{margin:0 -20px 20px;padding:0 20px 14px;gap:3px}.course-tabs button{font-size:.75rem;padding:9px 12px}.catalog-layout{display:block}.filters{border:1px solid var(--border);border-radius:9px;padding:13px 14px 2px;margin-bottom:21px;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;background:#f3eee5}.filters-heading{grid-column:1/-1;margin:0 0 13px;padding-bottom:10px;border-bottom:1px solid var(--border)}.filters-heading h3{font-size:.74rem}.filters fieldset{margin:0 0 8px;padding:0;border:0;min-width:0}.filters legend{font-size:.66rem;margin-bottom:4px}.filters fieldset>label{font-size:.69rem;margin:5px 0;min-height:28px;gap:7px}.filters input[type=checkbox]{width:14px;height:14px}.filters .select-field{margin:7px 0 14px}.select-field>label{font-size:.66rem;margin-bottom:7px}.select-field select{font-size:.65rem;padding:9px 4px}.filters .last-field{margin:7px 0 14px}.filters .last-field label{font-size:.65rem}.archive-note{display:none}.results-toolbar{font-size:.68rem;align-items:flex-start;margin:0 0 16px}.sort-control label{display:none}.sort-control select{font-size:.64rem;max-width:160px;padding:0}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}.recipe-card{border-radius:9px}.recipe-card .card-media{height:140px}.card-content{padding:12px 10px 10px}.card-tags{font-size:.46rem;letter-spacing:.08em;flex-wrap:wrap;gap:4px}.card-title{font-size:1.06rem;line-height:1.2;min-height:3.6em;margin:7px 0 5px}.card-description{font-size:.66rem;line-height:1.55;min-height:3.1em}.card-bottom{gap:8px;font-size:.61rem;padding-top:9px;margin-top:10px}.card-bottom .icon{width:12px;height:12px}.card-bottom .card-arrow{font-size:.85rem}.card-bottom .serving-text{display:none}.card-course{bottom:8px;left:8px;font-size:.48rem;padding:3px 6px}.save-button{top:8px;right:8px;width:30px;height:30px}.demo-footnote{font-size:.65rem;margin-top:22px}.closing-note{margin:16px 20px 0;padding:25px 5px;gap:16px}.closing-note p{font-size:1.16rem}.closing-note em{font-size:.91rem}.star{font-size:.8rem}footer{padding:23px 20px;flex-wrap:wrap;gap:14px}footer>span{font-size:.6rem}footer>span:first-child{font-size:.49rem}.appearance-button{font-size:.64rem;width:100%;justify-content:center;padding:9px}.detail-cover{height:190px}.detail-body{padding:24px 22px}.detail-body h2{font-size:1.9rem;margin-right:0}.detail-kicker{font-size:.57rem}.detail-description{font-size:.81rem}.detail-meta{font-size:.7rem;gap:13px}.detail-columns{display:block}.ingredient-column{margin-bottom:28px}.detail-columns h3{font-size:1.35rem}.ingredient-list li{font-size:.85rem}.cooking-steps li{font-size:.88rem}.detail-actions{gap:7px}.detail-actions .button{font-size:.66rem;padding:8px 10px;gap:6px}.detail-actions .icon{width:15px;height:15px}dialog{max-height:calc(100dvh - 24px);width:calc(100% - 20px);border-radius:13px}.info-content{padding:44px 24px 30px}.info-content h2{font-size:2rem}.info-content>p{font-size:.85rem}.import-steps p{font-size:.77rem}.import-steps h3{font-size:.82rem}.dialog-close{right:10px;top:10px;width:35px;height:35px}.source-note{font-size:.68rem}.empty-state{padding:30px 16px}.empty-state h3{font-size:1.3rem}.empty-state p{font-size:.78rem}}
@media(max-width:360px){.site-header{padding:0 14px}.site-header nav{gap:11px}.hero{padding:20px 14px}h1{font-size:2.7rem}.recipe-section{padding-left:14px;padding-right:14px}.recipe-card .card-media{height:115px}.card-title{font-size:.99rem}.card-description{font-size:.64rem}.filters{gap:0 10px}.card-bottom{gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{body{background:white;color:black;font-size:11pt}body>header,body>main,body>footer,body>.toast,body>.skip-link,dialog:not(#recipe-dialog){display:none!important}dialog#recipe-dialog{position:static;max-height:none;width:100%;border:none;box-shadow:none;margin:0;padding:0;overflow:visible}dialog::backdrop,.dialog-close,.detail-cover,.detail-actions,.portion-control button{display:none!important}.detail-body{padding:0}.detail-columns{grid-template-columns:30% 1fr}.detail-body h2{font-size:22pt;color:#333}.cooking-steps li{break-inside:avoid}.ingredient-list input{display:none}.source-note{font-size:9pt}.detail-meta{margin:12pt 0}.detail-description{margin-bottom:12pt}}
.recipe-photo{width:100%;height:100%;background-image:url('recipe-grid.png');background-repeat:no-repeat;background-size:400% 300%;background-color:#e8deca}.detail-cover .recipe-photo{max-width:100%;height:100%;background-size:400% 300%}
@media(max-width:650px){h1 br:first-of-type{display:initial}}
.hero{grid-template-columns:minmax(0,47fr) minmax(0,53fr)}
.inline-arrow{display:inline-block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.hero-link .inline-arrow{width:20px;height:20px}.card-arrow .icon{width:16px;height:16px}
.suggestions{font-size:.8rem}.suggestions button{font-size:.75rem}.course-tabs button{font-size:.84rem}.filters fieldset>label{font-size:.8rem}.filters legend,.select-field>label{font-size:.79rem}.select-field select{font-size:.78rem}.filters-heading h3{font-size:.8rem}.card-description{font-size:.8rem}.card-tags{font-size:.62rem}.card-bottom{font-size:.73rem}.results-toolbar{font-size:.8rem}.sort-control select{font-size:.76rem}.demo-footnote{font-size:.76rem}.archive-note p{font-size:.77rem}.demo-label{font-size:.72rem}#toggle-filters{display:none}
@media(max-width:900px){.hero{grid-template-columns:minmax(0,48fr) minmax(0,52fr)}}
@media(max-width:650px){.hero{grid-template-columns:1fr}.search-box input{font-size:.88rem}.suggestions button{font-size:.73rem}.suggestions>span{font-size:.72rem}.course-tabs button{font-size:.82rem}.demo-label{font-size:.7rem}.card-description{font-size:.77rem}.card-tags{font-size:.57rem}.card-bottom{font-size:.7rem}.card-title{min-height:3.6em}.results-toolbar{font-size:.77rem}.sort-control select{font-size:.71rem}.demo-footnote{font-size:.73rem}.filters{padding:12px 14px}.filters-heading{margin:0;padding:0;border:0}.filters-heading h3{display:none}#toggle-filters{display:flex;gap:13px;align-items:center;background:none;border:0;padding:3px 0;font-size:.82rem;color:var(--ruby)}.filters:not(.open)>:not(.filters-heading){display:none}.filters.open .filters-heading{margin-bottom:14px}.filters fieldset>label{font-size:.78rem}.filters legend,.select-field>label{font-size:.75rem}.filters .last-field label{font-size:.72rem}.select-field select{font-size:.73rem}.text-button{font-size:.77rem}}

.site-header .admin-link{text-decoration:none;font-size:.78rem;color:var(--ruby);border-left:1px solid var(--border);padding-left:20px}.site-header .product-name{max-width:170px;line-height:1.5}.site-header nav{gap:22px}@media(max-width:900px){.site-header nav{gap:16px}.site-header .admin-link{padding-left:14px;font-size:.73rem}}@media(max-width:650px){.site-header{height:auto;min-height:91px;flex-wrap:wrap;padding-top:16px;padding-bottom:12px;gap:13px}.site-header nav{gap:18px;flex:1 1 100%;margin:0;justify-content:flex-end}.site-header .admin-link{font-size:.75rem}.site-header .wordmark{position:absolute;top:20px;left:20px}.site-header nav .nav-link{margin-top:33px}.site-header .admin-link{margin-top:33px}.site-header .product-name{display:none}}

/* Authored recipes use the same cards and reading layout as the archive. */
.recipe-photo-placeholder {
  display: grid;
  place-items: center;
  min-height: 150px;
  color: var(--gold);
  background: linear-gradient(135deg, #eee7d9, #f6f0e5);
}
.recipe-photo-placeholder .icon { width: 40px; height: 40px; }
.card-media .recipe-uploaded-image { object-position: center; }
.card-demo-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  max-width: calc(100% - 62px);
  border: 1px solid #fffcf3ba;
  border-radius: 4px;
  padding: 4px 7px;
  background: #fffcf3ed;
  color: #76654d;
  font-size: .57rem;
  line-height: 1.3;
}
.detail-media { margin: 0; }
.detail-cover.has-photo { height: clamp(240px, 36vw, 410px); background: #eee8dc; }
.detail-cover.has-photo .recipe-uploaded-image { object-fit: contain; object-position: center; }
.detail-image-caption {
  padding: 12px 35px 0;
  font-size: .77rem;
  line-height: 1.6;
  color: var(--muted);
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.detail-body h2, .card-title, .ingredient-list label > span { overflow-wrap: anywhere; }
.detail-description, .cooking-steps li, .recipe-note { white-space: pre-line; overflow-wrap: anywhere; }
.portion-fixed { padding: 10px 14px; }
.portion-fixed > span { min-width: 0; }
.recipe-gallery-section { padding-top: 24px; margin-top: 25px; border-top: 1px solid var(--border); }
.recipe-gallery-section h3 {
  font-family: Georgia, serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--ruby);
  margin: 0 0 18px;
}
.recipe-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.recipe-gallery figure { margin: 0; min-width: 0; }
.recipe-gallery img { display: block; width: 100%; height: 250px; object-fit: contain; border-radius: 8px; background: #eee8dc; }
.recipe-gallery figcaption { font-size: .76rem; line-height: 1.6; margin-top: 8px; color: var(--muted); white-space: pre-line; overflow-wrap: anywhere; }
.recipe-gallery .recipe-photo-placeholder { height: 250px; border-radius: 8px; }
.cooking-step-title { margin: 0 0 5px; color: var(--ruby); font-size: .98rem; font-weight: 600; line-height: 1.5; }
.cooking-step-text { margin: 0; white-space: pre-line; overflow-wrap: anywhere; }
.step-media { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; white-space: normal; }
.step-media > :only-child { grid-column: 1 / -1; }
.step-media figure { min-width: 0; margin: 0; }
.step-media img { display: block; width: 100%; height: 210px; object-fit: contain; background: #eee8dc; border-radius: 8px; }
.step-media figcaption { margin-top: 7px; font-size: .75rem; line-height: 1.6; color: var(--muted); white-space: pre-line; overflow-wrap: anywhere; }
.step-media .recipe-photo-placeholder { height: 210px; border-radius: 8px; }
.recipe-video-frame { min-width: 0; }
.recipe-video { display: block; width: 100%; max-height: 360px; aspect-ratio: 16 / 9; object-fit: contain; border-radius: 8px; background: #241f1d; }
.recipe-video-error { display: grid; align-content: center; min-height: 150px; margin: 0; padding: 20px; border: 1px solid var(--border); border-radius: 8px; background: #f1eadf; color: var(--muted); font-size: .78rem; line-height: 1.6; }
.recipe-video-error a { margin-top: 8px; color: var(--ruby); text-decoration: underline; text-underline-offset: 3px; }
.recipe-video-print { display: none; }
.kitchen-mode .cooking-step-title { font-size: 1.18rem; }
.kitchen-mode .detail-media, .kitchen-mode .recipe-gallery-section { display: none; }
.archive-import-intro { margin-top: 22px; }
@media (max-width: 650px) {
  .card-demo-badge { top: 8px; left: 8px; max-width: calc(100% - 49px); font-size: .49rem; padding: 3px 5px; }
  .detail-cover.has-photo { height: 250px; }
  .detail-image-caption { padding: 10px 22px 0; font-size: .73rem; }
  .recipe-gallery { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .recipe-gallery img { height: auto; max-height: 360px; }
  .step-media { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .step-media img { height: auto; max-height: 320px; }
  .recipe-video { max-height: 300px; }
}
@media print {
  .detail-cover.has-photo { display: block !important; height: 180px; }
  .detail-cover.has-photo .card-course { display: none; }
  .detail-image-caption { padding: 6pt 0 0; font-size: 9pt; }
  .detail-media { break-inside: avoid; margin-bottom: 14pt; }
  .recipe-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12pt; }
  .recipe-gallery-section h3 { font-size: 14pt; }
  .recipe-gallery figure { break-inside: avoid; }
  .recipe-gallery img { height: 150px; max-height: 150px; background: white; }
  .recipe-gallery figcaption { font-size: 9pt; }
  .step-media { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10pt; margin-top: 8pt; }
  .step-media figure { break-inside: avoid; }
  .step-media img { height: 130px; max-height: 130px; background: white; }
  .step-media figcaption { font-size: 9pt; }
  .recipe-video, .recipe-video-error { display: none !important; }
  .recipe-video-print { display: block; margin: 0; padding: 8pt; border: 1px solid #ccc; color: #555; font-size: 9pt; line-height: 1.5; }
}
