@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap";
:root{--background:#f7f3eb;--surface:#fffdf8;--ink:#171915;--muted:#6e7169;--line:#dcd6ca;--accent:#2f5a41;--accent-soft:#e6eee7;--display:"Libre Caslon Display", Georgia, serif;--sans:"DM Sans", Arial, sans-serif}*{box-sizing:border-box}html{background:var(--background);color:var(--ink)}body{background:var(--background);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.home-page{max-width:1440px;margin:0 auto;padding:0 42px 96px}.home-hero{border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(0,.94fr) minmax(480px,1.06fr);min-height:610px;display:grid;overflow:hidden}.home-hero__copy{flex-direction:column;justify-content:center;padding:80px 62px 80px 32px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px;font-size:.75rem;font-weight:700}.home-hero h1{max-width:690px;font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:clamp(4rem,7.6vw,7.5rem);font-weight:400;line-height:.9}.home-hero__intro{max-width:550px;color:var(--muted);margin:30px 0 0;font-size:1.08rem;line-height:1.65}.home-hero__image{background:linear-gradient(90deg,#f7f3eb14,#f7f3eb00),url(https://images.unsplash.com/photo-1547592180-85f173990554?auto=format&fit=crop&w=1800&q=90) 50%/cover no-repeat;min-height:610px}.hero-search{border:1px solid var(--ink);background:#fff;grid-template-columns:auto 1fr auto;align-items:center;width:min(640px,100%);margin-top:38px;display:grid}.hero-search svg{margin-left:18px}.hero-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:18px 15px;font-size:1rem}.hero-search button{background:var(--ink);color:#fff;cursor:pointer;border:0;align-self:stretch;padding:0 25px;font-weight:700}.hero-actions{gap:12px;margin-top:20px;display:flex}.button{justify-content:center;align-items:center;min-height:48px;padding:0 20px;font-size:.9rem;font-weight:700;display:inline-flex}.button--dark{background:var(--ink);color:#fff}.button--quiet{border:1px solid var(--line);background:0 0}.home-section{padding:72px 0 0}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:22px;display:flex}.section-heading h2,.browse-band h2{font-family:var(--display);letter-spacing:-.04em;margin:0;font-size:clamp(2.3rem,4vw,4rem);font-weight:400}.section-heading a{color:var(--muted);align-items:center;gap:7px;font-size:.86rem;font-weight:700;display:inline-flex}.recipe-grid{gap:26px;padding-top:28px;display:grid}.recipe-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.home-recipe-card{display:block}.home-recipe-card__image{aspect-ratio:4/3;background-position:50%;background-size:cover;position:relative;overflow:hidden}.status-label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf8eb;padding:7px 10px;font-size:.7rem;font-weight:700;position:absolute;top:14px;left:14px}.home-recipe-card__body{padding:16px 2px 0}.home-recipe-card h3{min-height:2.45em;font-family:var(--display);letter-spacing:-.025em;margin:0;font-size:clamp(1.35rem,2vw,2rem);font-weight:400;line-height:1.12}.home-recipe-card p{color:var(--muted);margin:8px 0 0;font-size:.78rem;line-height:1.5}.home-recipe-card__nutrition{font-weight:700;color:var(--ink)!important}.browse-band{background:var(--ink);color:#fff;grid-template-columns:1.1fr 1fr 1fr;gap:60px;margin-top:88px;padding:55px 46px;display:grid}.browse-band .eyebrow{color:#b7d0be}.browse-band__group h3{color:#b9bbb7;letter-spacing:.12em;text-transform:uppercase;margin:4px 0 20px;font-size:.75rem}.browse-links{flex-wrap:wrap;gap:10px;display:flex}.browse-links a{font-family:var(--display);border-bottom:1px solid #ffffff4d;padding:8px 0;font-size:1.32rem}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:28px;display:grid}.collection-card{color:#fff;background:#2b312b;min-height:360px;position:relative;overflow:hidden}.collection-card__image{background-position:50%;background-size:cover;transition:transform .3s;position:absolute;inset:0}.collection-card:after{content:"";background:linear-gradient(#0000 25%,#000000b8);position:absolute;inset:0}.collection-card:hover .collection-card__image{transform:scale(1.025)}.collection-card__overlay{z-index:1;position:absolute;bottom:28px;left:28px;right:28px}.collection-card span{letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700}.collection-card h3{max-width:300px;font-family:var(--display);letter-spacing:-.035em;margin:8px 0 0;font-size:2.35rem;font-weight:400;line-height:1}.home-recipe-card:focus-visible,.collection-card:focus-visible,.section-heading a:focus-visible,.browse-links a:focus-visible,.button:focus-visible,.hero-search input:focus-visible,.hero-search button:focus-visible{outline-offset:4px;outline:3px solid #a4c7ae}@media (max-width:1050px){.home-page{padding:0 26px 72px}.home-hero{grid-template-columns:1fr}.home-hero__copy{padding:70px 32px}.home-hero__image{min-height:440px}.recipe-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.browse-band{grid-template-columns:1fr 1fr}.browse-band>div:first-child{grid-column:1/-1}}@media (max-width:700px){.home-page{padding:0 16px 60px}.home-hero{margin-inline:-16px}.home-hero__copy{padding:54px 20px}.home-hero h1{font-size:clamp(3.4rem,18vw,5.2rem)}.home-hero__image{min-height:330px}.hero-search{grid-template-columns:auto 1fr}.hero-search button{grid-column:1/-1;min-height:48px}.hero-actions{flex-direction:column}.home-section{padding-top:54px}.recipe-grid{scroll-snap-type:x mandatory;gap:17px;margin-right:-16px;padding-right:16px;display:flex;overflow-x:auto}.home-recipe-card{scroll-snap-align:start;min-width:min(78vw,310px)}.browse-band{margin-inline:-16px;grid-template-columns:1fr;gap:38px;margin-top:64px;padding:44px 20px}.browse-band>div:first-child{grid-column:auto}.collection-grid{grid-template-columns:1fr}.collection-card{min-height:290px}}.app-header{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f7f3ebf5;border-bottom:1px solid #dcd6ca;position:sticky;top:0}.app-header__inner{grid-template-columns:auto 1fr auto;align-items:center;max-width:1440px;min-height:68px;margin:0 auto;padding:0 42px;display:grid}.app-header__brand{letter-spacing:-.03em;font-family:Georgia,Times New Roman,serif;font-size:1.28rem}.app-header__nav{justify-content:center;gap:28px;display:flex}.app-header__nav a{color:#6e7169;padding:24px 0 22px;font-size:.82rem;font-weight:700;position:relative}.app-header__nav a:after{content:"";background:#171915;height:2px;transition:transform .18s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.app-header__nav a:hover,.app-header__nav a.is-active{color:#171915}.app-header__nav a.is-active:after{transform:scaleX(1)}.app-header__actions{align-items:center;gap:8px;display:flex}.app-header__search,.app-header__menu{color:#171915;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.app-header__search:hover,.app-header__menu:hover{border-color:#dcd6ca}.app-header__menu{cursor:pointer;display:none}.app-header a:focus-visible,.app-header button:focus-visible{outline-offset:3px;outline:3px solid #a4c7ae}@media (max-width:760px){.app-header__inner{grid-template-columns:1fr auto;padding:0 16px}.app-header__actions{grid-column:2}.app-header__menu{display:inline-flex}.app-header__nav{background:#fffdf8;border-bottom:1px solid #dcd6ca;flex-direction:column;gap:0;display:none;position:absolute;top:68px;left:0;right:0}.app-header__nav--open{display:flex}.app-header__nav a{border-top:1px solid #eee9df;padding:18px 20px}.app-header__nav a:after{display:none}}.home-recipe-card__image--empty{color:#2f5a41;background:#e6eee7;place-items:center;display:grid}.home-recipe-card__image--empty>span:not(.status-label){font-family:Georgia,Times New Roman,serif;font-size:clamp(4rem,8vw,7rem)}.home-personal-empty{background:#fffdf8;border:1px solid #dcd6ca;justify-content:space-between;align-items:center;gap:20px;min-height:150px;padding:28px 30px;display:flex}.home-personal-empty p{color:#6e7169;margin:0}.home-personal-empty a{font-weight:800;text-decoration:underline}@media (max-width:620px){.home-personal-empty{flex-direction:column;align-items:flex-start}}.app-header__auth{color:#171915;cursor:pointer;background:0 0;border:1px solid #dcd6ca;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:.78rem;font-weight:800;display:inline-flex}.app-header__auth:hover{border-color:#171915}.login-page,.admin-gate{place-items:center;min-height:calc(100vh - 70px);padding:48px 20px;display:grid}.login-card,.admin-gate{text-align:left}.login-card{border:1px solid var(--line);background:var(--surface);width:min(470px,100%);padding:38px}.login-card h1,.admin-gate h1{font-family:var(--display);letter-spacing:-.04em;margin:0 0 18px;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400}.login-card>p:not(.eyebrow){color:var(--muted);margin:0 0 26px;line-height:1.6}.login-card form{gap:18px;margin:28px 0 22px;display:grid}.login-card label{gap:8px;font-size:.8rem;font-weight:800;display:grid}.login-card input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:13px 14px}.login-card button{cursor:pointer;border:0}.login-card button:disabled{cursor:wait;opacity:.65}.login-error{font-size:.85rem;color:#9f2f25!important;margin:0!important}.admin-gate{flex-direction:column;justify-content:center;align-items:flex-start;max-width:760px;margin:0 auto;display:flex}@media (max-width:760px){.app-header__auth span{display:none}.app-header__auth{justify-content:center;width:42px;padding:0}}.login-inline-action{justify-content:flex-end;margin-top:-6px;font-size:.82rem;display:flex}.login-inline-action a,.login-card>a{text-underline-offset:3px;text-decoration:underline}.login-success{font-size:.85rem;color:#2f6b43!important;margin:0!important}.login-confirmation{border-left:3px solid var(--ink);background:#fff;gap:8px;margin:28px 0 22px;padding:16px 18px;display:grid}.login-confirmation p{color:var(--muted);margin:0;line-height:1.55}.login-password-hint{font-size:.78rem;color:var(--muted)!important;margin:-8px 0 0!important}
