:root{--primary:#46594B;--accent:#D9785D;--background:#F6F1E7;--secondary:#E6E1D5;--text:#202822;--footer:#26382E;--footer-accent:#D8CDBA;--white:#FFFDF8;--radius:6px;--heading-font:"Newsreader",serif;--body-font:"Manrope",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--text);font-family:var(--body-font)}h1,h2,h3,h4{font-family:var(--heading-font)}a{transition:color .25s ease,transform .25s ease,opacity .25s ease}button,input,select,textarea{font:inherit}button{cursor:pointer}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--text);color:var(--white);padding:.75rem 1rem;border-radius:var(--radius)}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid color-mix(in srgb,var(--primary) 22%,transparent);background:color-mix(in srgb,var(--background) 94%,transparent);backdrop-filter:blur(14px)}.nav-link{position:relative;font-size:.82rem;font-weight:700;letter-spacing:.02em}.nav-link:after,.text-link:after{content:"";position:absolute;left:0;bottom:-.3rem;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.nav-link:hover:after,.nav-link.is-active:after,.text-link:hover:after{transform:scaleX(1);transform-origin:left}.text-link{position:relative;font-weight:700;color:var(--primary)}.menu-button{display:grid;gap:4px;width:42px;height:42px;place-content:center;border:1px solid var(--primary);border-radius:var(--radius)}.menu-button span:not(.sr-only){display:block;width:20px;height:1px;background:var(--text)}.mobile-menu{border-top:1px solid color-mix(in srgb,var(--primary) 22%,transparent);background:var(--background)}.mobile-link{padding:.9rem 0;border-bottom:1px solid color-mix(in srgb,var(--primary) 18%,transparent);font-weight:700}.btn{display:inline-flex;min-height:46px;align-items:center;gap:.55rem;padding:.75rem 1.15rem;border:1px solid transparent;border-radius:var(--radius);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--primary);color:var(--white);border-color:var(--primary)}.btn-primary:hover{background:var(--text);border-color:var(--text)}.btn-outline{color:var(--primary);border-color:var(--primary)}.btn-outline:hover{background:var(--primary);color:var(--white)}.btn-accent{background:var(--accent);color:var(--text);border-color:var(--accent)}.btn-light{background:var(--footer-accent);color:var(--text);border-color:var(--footer-accent)}.btn-outline-light{color:var(--white);border-color:color-mix(in srgb,var(--white) 55%,transparent)}.eyebrow{font-family:var(--body-font);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--primary)}.section-rule{border-top:1px solid color-mix(in srgb,var(--primary) 28%,transparent)}.image-frame{overflow:hidden;border-radius:var(--radius);background:var(--secondary)}.image-frame img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.image-frame:hover img{transform:scale(1.035)}.recipe-card{display:grid;align-content:start;transition:transform .3s ease}.recipe-card:hover{transform:translateY(-5px)}.mood-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;padding:1.3rem 0;border-bottom:1px solid color-mix(in srgb,var(--primary) 28%,transparent);font-family:var(--heading-font);font-size:clamp(1.65rem,4vw,3.25rem);line-height:1}.mood-row span:last-child{font-family:var(--body-font);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.mood-row:hover{transform:translateX(.5rem);color:var(--accent)}.step-number{font-family:var(--heading-font);font-size:4.5rem;line-height:1;color:var(--accent)}.quote-card{border-top:1px solid var(--primary);padding-top:1.5rem}.page-hero{background:linear-gradient(120deg,var(--secondary),var(--background) 62%)}.prose-page{font-size:1rem;line-height:1.9;color:color-mix(in srgb,var(--text) 84%,transparent)}.prose-page h2{margin:3.25rem 0 1rem;font-size:2.25rem;line-height:1.08;color:var(--text)}.prose-page h3{margin:2rem 0 .75rem;font-size:1.45rem;color:var(--text)}.prose-page p,.prose-page ul,.prose-page ol{margin:0 0 1.25rem}.prose-page ul,.prose-page ol{padding-left:1.4rem}.prose-page ul{list-style:disc}.prose-page ol{list-style:decimal}.prose-page a{color:var(--primary);font-weight:700;text-decoration:underline;text-underline-offset:3px}.form-panel{padding:clamp(1.25rem,4vw,2.5rem);border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);border-radius:var(--radius);background:var(--white);box-shadow:0 22px 70px color-mix(in srgb,var(--text) 9%,transparent)}.form-panel label{display:grid;gap:.55rem;font-size:.78rem;font-weight:800;letter-spacing:.03em}.form-panel input:not([type=checkbox]),.form-panel select,.form-panel textarea{width:100%;border:1px solid color-mix(in srgb,var(--primary) 38%,transparent);border-radius:var(--radius);background:var(--background);padding:.85rem 1rem;color:var(--text);outline:none}.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.consent{grid-template-columns:auto 1fr!important;align-items:start}.consent input{margin-top:.3rem;accent-color:var(--primary)}.form-success{padding:1rem;border:1px solid var(--primary);border-radius:var(--radius);background:color-mix(in srgb,var(--primary) 10%,var(--white));color:var(--primary);font-size:.9rem;font-weight:700}.faq-item{border-bottom:1px solid color-mix(in srgb,var(--primary) 30%,transparent)}.faq-question{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 0;text-align:left;font-family:var(--heading-font);font-size:1.4rem}.faq-question:after{content:"+";font-family:var(--body-font);font-size:1.3rem}.faq-item.is-open .faq-question:after{content:"−"}.faq-answer{padding:0 2.5rem 1.4rem 0;line-height:1.75;color:color-mix(in srgb,var(--text) 74%,transparent)}.modal{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:1.25rem}.modal[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--text) 72%,transparent);backdrop-filter:blur(5px)}.modal-card{position:relative;width:min(100%,620px);padding:clamp(1.5rem,5vw,3rem);border-radius:var(--radius);background:var(--background);box-shadow:0 28px 90px color-mix(in srgb,var(--text) 32%,transparent)}.modal-close{position:absolute;right:1rem;top:1rem;width:40px;height:40px;border:1px solid var(--primary);border-radius:var(--radius);font-size:1.5rem}.cookie-banner{position:fixed;z-index:60;right:1rem;bottom:1rem;left:1rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;max-width:1180px;margin:auto;padding:1rem 1.2rem;border-radius:var(--radius);background:var(--footer);color:var(--white);box-shadow:0 18px 70px color-mix(in srgb,var(--text) 30%,transparent)}.cookie-banner p{margin-top:.2rem;max-width:680px;font-size:.76rem;line-height:1.5;color:color-mix(in srgb,var(--white) 72%,transparent)}.cookie-banner[hidden]{display:none}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:767px){.cookie-banner{align-items:flex-start;flex-direction:column}.prose-page h2{font-size:1.85rem}.page-hero{background:var(--secondary)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
:root{
--primary:#315E63;
--accent:#E49A72;
--background:#F4F1E9;
--secondary:#DDE8E5;
--text:#183336;
--footer:#173C40;
--footer-accent:#C9E2DC;
--white:#FFFEFA;
--radius:12px;
--heading-font:"Fraunces",serif;
--body-font:"DM Sans",sans-serif
}

body,
.font-body,
button,
input,
select,
textarea{
font-family:var(--body-font)!important
}

h1,
h2,
h3,
h4,
.font-heading{
font-family:var(--heading-font)!important
}

.site-header{
border-bottom:1px solid color-mix(in srgb,var(--primary) 18%,transparent);
background:color-mix(in srgb,var(--background) 82%,transparent);
backdrop-filter:blur(22px);
box-shadow:0 12px 45px color-mix(in srgb,var(--primary) 8%,transparent)
}

.btn{
min-height:48px;
border-radius:var(--radius);
letter-spacing:.06em;
box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 10%,transparent)
}

.btn-primary{
background:var(--primary);
color:var(--white);
border-color:var(--primary)
}

.btn-primary:hover{
background:var(--accent);
border-color:var(--accent);
color:var(--text)
}

.image-frame,
.form-panel,
.modal-card,
.cookie-banner{
border-radius:var(--radius)
}

.recipe-card{
padding:10px;
border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);
background:color-mix(in srgb,var(--white) 58%,transparent);
box-shadow:0 18px 55px color-mix(in srgb,var(--primary) 7%,transparent)
}

.form-panel{
border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);
background:color-mix(in srgb,var(--white) 88%,transparent);
box-shadow:0 25px 80px color-mix(in srgb,var(--primary) 11%,transparent)
}

.form-panel input:not([type=checkbox]),
.form-panel select,
.form-panel textarea{
border-radius:8px;
background:var(--white)
}

.page-hero{
background:linear-gradient(135deg,var(--secondary),var(--background) 58%,color-mix(in srgb,var(--accent) 12%,var(--background)))
}

.mood-row{
border-bottom-color:color-mix(in srgb,var(--primary) 20%,transparent)
}

.mood-row:hover{
color:var(--accent)
}

.quote-card{
padding:24px;
border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);
border-radius:var(--radius);
background:var(--white)
}