*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fafaf8;color:#232522;font-family:"DM Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}.wrap{max-width:1160px;margin:auto;padding-left:28px;padding-right:28px}.site-header{background:#fff;border-bottom:1px solid #efefeb}.header-inner{height:86px;display:flex;align-items:center;gap:32px}.brand{font-family:"Playfair Display",Georgia,serif;font-size:25px;font-weight:700;letter-spacing:-1.2px;white-space:nowrap}.brand span,.period{color:#72836b}.site-header nav{display:flex;gap:32px;margin-left:auto;font-size:13px;font-weight:600}.site-header nav a:hover{color:#72836b}.header-search{font-size:29px;margin-left:18px}.hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:500px;padding-top:32px;padding-bottom:32px}.hero-photo{background:#ded9cc url("https://images.unsplash.com/photo-1473093295043-cdd812d0e601?w=1400&auto=format&fit=crop&q=90") center/cover;min-height:430px}.hero-copy{background:#f1f1eb;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(30px,5vw,75px)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#75806d}.hero h1{font:600 clamp(40px,4.6vw,65px)/1.15 "Playfair Display",Georgia,serif;letter-spacing:-1.5px;margin:22px 0}.hero h1 em{font-weight:500}.hero p{font-size:15px;line-height:1.85;color:#62655f;max-width:360px}.button{display:inline-flex;align-items:center;gap:25px;background:#252a25;color:white;padding:15px 22px;border:0;border-radius:3px;font-weight:600;font-size:13px;cursor:pointer;margin-top:22px}.button:hover{background:#50634d}.intro{padding-top:45px;padding-bottom:38px;text-align:center}.intro span{font-size:10px;letter-spacing:2px;font-weight:700;color:#77816f}.intro p{font:500 21px/1.5 "Playfair Display",Georgia,serif;margin:14px auto;max-width:570px}.collection{padding-top:20px;padding-bottom:95px}.section-top{display:flex;align-items:end;justify-content:space-between}.section-top h2,.about h2{font:600 clamp(30px,3vw,43px) "Playfair Display",Georgia,serif;letter-spacing:-1px;margin:12px 0 24px}.count{font-size:12px;color:#858780;margin-bottom:29px}.controls{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap}.searchbox{display:flex;gap:12px;align-items:center;border:1px solid #dedfd9;background:white;border-radius:4px;padding:10px 15px;flex:1;min-width:250px;max-width:360px}.searchbox span{font-size:25px;line-height:1;color:#818780}.searchbox input{font:inherit;font-size:13px;border:0;outline:0;width:100%;background:transparent}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid #e0e1dc;background:white;border-radius:40px;padding:9px 13px;font:600 11px "DM Sans";cursor:pointer}.filter.active,.filter:hover{background:#263026;color:white;border-color:#263026}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.recipe-card{background:white;border:1px solid #eeefea;cursor:pointer;transition:transform .2s,box-shadow .2s;text-align:left;padding:0;font:inherit;color:inherit}.recipe-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #00000012}.recipe-card img{width:100%;height:225px;object-fit:cover;display:block;background:#eae8df}.card-body{padding:20px}.category{color:#78836f;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.recipe-card h3{font:600 21px/1.3 "Playfair Display",Georgia,serif;margin:9px 0}.recipe-card p{font-size:12px;line-height:1.65;color:#74766e;min-height:38px}.meta{font-size:11px;color:#777d73;margin-top:15px}.demo-note{font-size:10px;color:#9a805d;margin-top:10px}.empty{padding:40px;text-align:center;color:#777}.about{background:#e9ece5;padding:55px 0}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about h2{margin-bottom:0}.about p{line-height:1.9;color:#646d61;font-size:14px}.footer{display:flex;justify-content:space-between;align-items:center;padding-top:35px;padding-bottom:35px;gap:20px}.footer .brand{font-size:20px}.footer>span{font-size:11px;color:#8b8e86}dialog{border:0;padding:0;border-radius:7px;width:min(760px,calc(100% - 24px));max-height:90vh;box-shadow:0 24px 90px #0004}dialog::backdrop{background:#1c241cb8}.close{position:sticky;top:10px;float:right;margin:10px 10px -50px 0;z-index:2;border:0;background:#fff;border-radius:50%;font-size:28px;width:40px;height:40px;cursor:pointer}.detail-image{width:100%;height:270px;object-fit:cover}.detail-body{padding:35px 40px 45px}.detail-body h2{font:600 38px/1.2 "Playfair Display",Georgia,serif;margin:10px 0}.detail-body>p{color:#74766e;line-height:1.7}.detail-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:22px 0}.serving{display:flex;gap:10px;align-items:center;font-size:13px}.serving button{background:white;border:1px solid #ddd;border-radius:4px;width:30px;height:30px;cursor:pointer}.detail-columns{display:grid;grid-template-columns:1fr 1.25fr;gap:38px;margin-top:26px}.detail-columns h3{font:600 24px "Playfair Display",Georgia,serif}.ingredients{list-style:none;padding:0}.ingredients li{padding:10px 0;border-bottom:1px solid #eee;font-size:13px;line-height:1.5}.ingredients label{display:flex;gap:10px;cursor:pointer}.ingredients input:checked+span{text-decoration:line-through;color:#aaa}.steps{padding-left:20px}.steps li{padding:0 0 18px 8px;font-size:13px;line-height:1.8}.print-btn{margin:0}@media(max-width:800px){.hero{grid-template-columns:1fr}.hero-photo{min-height:300px}.hero-copy{padding:40px}.recipe-grid{grid-template-columns:repeat(2,1fr)}.about-inner{grid-template-columns:1fr;gap:8px}}@media(max-width:540px){.wrap{padding-left:18px;padding-right:18px}.header-inner{height:72px;gap:14px}.brand{font-size:20px}.site-header nav{gap:14px;font-size:12px}.header-search{display:none}.hero{padding-top:16px}.hero-photo{min-height:250px}.hero-copy{padding:30px}.hero h1{font-size:43px}.intro{padding-top:25px}.recipe-grid{grid-template-columns:1fr;gap:18px}.recipe-card img{height:240px}.section-top h2{font-size:32px}.count{display:none}.detail-body{padding:25px 22px}.detail-body h2{font-size:30px}.detail-columns{grid-template-columns:1fr;gap:5px}.footer{flex-direction:column;align-items:flex-start}}@media print{body>*:not(dialog){display:none!important}dialog{display:block;position:static;width:100%;max-height:none;box-shadow:none}.close,.detail-actions,.detail-image{display:none!important}.detail-body{padding:0}.detail-columns{display:grid;grid-template-columns:1fr 1fr}*{color:#000!important}}

/* Full-width custom homepage banner */
.hero-banner{width:100%;max-width:1600px;margin:0 auto;padding:24px 28px 0}
.hero-banner img{display:block;width:100%;height:auto}
@media(max-width:540px){.hero-banner{padding:16px 0 0}}
