@font-face{font-family:Manrope;src:url(assets/manrope-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2212}
@font-face{font-family:Manrope;src:url(assets/manrope-cyrillic-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;src:url(assets/manrope-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2212}
@font-face{font-family:Manrope;src:url(assets/manrope-cyrillic-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Cormorant;src:url(assets/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2212}
@font-face{font-family:Cormorant;src:url(assets/cormorant-garamond-cyrillic-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Cormorant;src:url(assets/cormorant-garamond-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2212}
@font-face{font-family:Cormorant;src:url(assets/cormorant-garamond-cyrillic-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{color-scheme:light;--paper:#f8f5ed;--ink:#252c22;--olive:#394b32;--moss:#526549;--muted:#555d50;--line:#d9d8ca;--wash:#e9ede0;--serif:Cormorant,Georgia,serif;--sans:Manrope,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans)}
img{display:block;max-width:100%;object-fit:cover}
figure,p,h1,h2,h3{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.98;letter-spacing:-.045em}
h2{font-size:clamp(3rem,6.2vw,6rem)} h3{font-size:clamp(2.25rem,3.4vw,3.8rem)}
h1 em,h2 em{font-weight:500;color:var(--moss)}
a{color:inherit;text-decoration:none}
button,select{font:inherit;color:inherit}
button:not(:disabled),summary{cursor:pointer}
:focus-visible{outline:2px solid #825528;outline-offset:4px}
.wrap{width:min(calc(100% - 96px),1280px);margin-inline:auto}
.skip{position:fixed;top:1rem;left:1rem;transform:translateY(-220%);background:white;padding:.5rem 1rem;z-index:5}
.skip:focus{transform:none}
.top{display:flex;justify-content:space-between;align-items:center;gap:24px;height:83px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:9px;font-family:var(--serif);font-size:30px;letter-spacing:.13em;line-height:1;white-space:nowrap}
.brand svg{width:34px;color:var(--moss)}
.top nav{display:flex;gap:clamp(16px,3vw,44px);font-size:14px}
.top nav a:hover,.underlink:hover{text-decoration-color:var(--moss);color:var(--moss)}
.top-action{font-weight:700;font-size:13px;border:1px solid #aeb6a3;border-radius:100px;padding:9px 17px;white-space:nowrap}
.top-action:hover{background:var(--wash)}
.hero{display:grid;grid-template-columns:1fr 1.04fr;gap:clamp(28px,5vw,78px);align-items:center;padding-block:42px 51px}
.hero-copy{padding-block:20px}
.eyebrow{display:flex;align-items:center;gap:8px;color:var(--moss);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.45}
.dot{display:inline-block;flex:0 0 7px;height:7px;border-radius:50%;background:#728161}
.hero h1{font-size:clamp(5.25rem,9.5vw,10rem);line-height:.78;margin:28px 0 27px;letter-spacing:-.06em}
.hero .lead{font-size:clamp(1rem,1.45vw,1.22rem);max-width:410px;color:var(--muted);line-height:1.55}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 21px;margin:26px 0 12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;border:1px solid transparent;border-radius:100px;background:var(--olive);color:#fffdf5;padding:13px 20px;min-height:47px;text-align:center;font-size:.85rem;font-weight:700}
.button:hover{background:#4b603f}
.button.light{background:var(--paper);border-color:#aeb6a3;color:var(--olive)}
.button.light:hover{background:#fff}
.underlink{font-size:.85rem;font-weight:700;text-decoration:underline;text-decoration-color:#a1aa96;text-underline-offset:.3em}
.micro{color:var(--muted);font-size:.76rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.menu-gallery{position:relative;isolation:isolate;min-width:0;border-radius:12px;overflow:hidden;color:#fffdf5;background:#292f24}
.menu-gallery::before{content:"";position:absolute;z-index:-1;inset:-32px;background:linear-gradient(145deg,#1b201acc,#20251c99),var(--gallery-image,url(assets/bowl-v2.webp)) center/cover;filter:blur(19px)}
.gallery-stage{height:clamp(300px,36vw,487px);position:relative;touch-action:pan-y;user-select:none;overflow:hidden;perspective:900px}
.gallery-label{position:absolute;z-index:6;top:14px;left:14px;background:#1c231bbd;border:1px solid #ffffff42;padding:5px 10px;border-radius:100px;font-size:.64rem;letter-spacing:.07em}
.gallery-cards{position:absolute;inset:0;transform-style:preserve-3d}
.gallery-card{--shift:0%;--turn:0deg;--scale:1;position:absolute;top:52%;left:50%;width:min(43%,245px);height:80%;display:block;padding:0;overflow:hidden;isolation:isolate;border:1px solid #fdf3dbaf;border-radius:15px;color:#fffdf5;background:#373f30;text-align:left;box-shadow:0 12px 27px #11180e70;transform:translate(calc(-50% + var(--shift)),-50%) rotateY(var(--turn)) scale(var(--scale));transition:transform 420ms cubic-bezier(.22,.7,.27,1),filter 300ms;filter:brightness(var(--dim,1))}
.gallery-card[data-slot="0"]{z-index:5;transform:translate(-50%,-50%);box-shadow:0 14px 40px #13190ecd}
.gallery-card[data-slot="-1"],.gallery-card[data-slot="1"]{--scale:.79;--dim:.8;z-index:3}
.gallery-card[data-slot="-2"],.gallery-card[data-slot="2"]{--scale:.63;--dim:.67;z-index:1}
.gallery-card[data-slot="-1"]{--shift:-56%;--turn:28deg}
.gallery-card[data-slot="1"]{--shift:56%;--turn:-28deg}
.gallery-card[data-slot="-2"]{--shift:-93%;--turn:33deg}
.gallery-card[data-slot="2"]{--shift:93%;--turn:-33deg}
.gallery-card img{width:100%;height:100%;object-position:center;pointer-events:none}
.gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#151b14fa,transparent 63%);pointer-events:none}
.gallery-caption{position:absolute;z-index:1;inset:auto 12px 13px;display:grid;gap:5px}
.gallery-caption strong{font:500 clamp(1.3rem,3.1vw,2.3rem)/.96 var(--serif)}
.gallery-caption small{font-size:.7rem;color:#fff9ed}
.gallery-card:not([data-slot="0"]) .gallery-caption{display:none}
.gallery-card:focus-visible,.gallery-controls button:focus-visible{outline:2px solid #fff3c9;outline-offset:-4px}
.gallery-controls:not([hidden]){display:flex;align-items:center;justify-content:center;gap:16px;padding:0 12px 13px}
.gallery-controls p{font-size:.72rem;letter-spacing:.13em;font-variant-numeric:tabular-nums}
.gallery-controls button{width:44px;height:44px;border-radius:50%;border:1px solid #ffffff66;background:#ffffff15;color:inherit;font-size:1.15rem;line-height:1}
.gallery-controls button:hover{background:#ffffff32}
.quick-strip{border-block:1px solid var(--line);background:#f0eee4}
.quick-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.quick-strip span{padding:16px 8px;font-size:.8rem;font-weight:700;color:var(--olive)}
.quick-strip span+span{border-left:1px solid var(--line)}
.section{padding-block:clamp(62px,8vw,112px)}
.section-intro{margin-bottom:32px;max-width:760px}
.section h2,.app-copy h2,.faq h2{margin-block:13px 14px}
.section-intro>p:last-child,.program-head>p,.app-copy>p:not(.eyebrow){max-width:515px;color:var(--muted)}
.demo-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:16px}
.recipe-card,.shopping{padding:clamp(16px,2.8vw,36px);border-radius:9px}
.recipe-card{background:#fffdf8;border:1px solid var(--line)}
.recipe-select{display:grid;gap:6px;font-size:.82rem;font-weight:700}
.recipe-select select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:5px;background:#fffdf8;padding:6px 10px;font-size:.9rem}
.recipe-photo{position:relative;margin:16px 0}
.recipe-photo img{width:100%;height:clamp(150px,23vw,320px);border-radius:6px}
.recipe-photo span{position:absolute;bottom:11px;left:11px;background:var(--paper);border-radius:5px;padding:5px 9px;font-size:.72rem;font-weight:700}
.counter,.stepper{display:flex;align-items:center}
.counter{justify-content:space-between;gap:8px;font-size:.9rem;font-weight:700}
.stepper{gap:8px}
.stepper button{width:45px;height:45px;border:1px solid var(--line);background:var(--paper);border-radius:50%;font-size:1.3rem;line-height:1}
.stepper button:disabled{opacity:.4}
.stepper button:not(:disabled):hover{background:var(--wash)}
.stepper output{min-width:24px;text-align:center}
.shopping{background:var(--wash);display:flex;flex-direction:column}
.shopping h3{margin:6px 0 15px}
.shopping ul{list-style:none;padding:0;margin:0 0 19px}
.shopping li{border-top:1px solid #cbd1c1}
.shopping li:last-child{border-bottom:1px solid #cbd1c1}
.shopping label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-height:41px;padding:5px 1px;cursor:pointer;font-size:.87rem}
.shopping input{width:18px;height:18px;margin:0;accent-color:var(--olive)}
.shopping input:checked~span{text-decoration:line-through;color:var(--muted)}
.shopping strong{white-space:nowrap;font-size:.8rem}
.list-footer{margin-top:auto}.list-footer .micro:not(:empty){margin-top:7px}
.fine{margin-top:9px}
.app-band{background:#e8eadf;border-block:1px solid var(--line);padding-block:clamp(48px,7vw,94px)}
.app-grid{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:clamp(28px,6vw,88px)}
.screens{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:10px 15px;padding:clamp(10px,2.2vw,30px);background:#dce1d3;border-radius:9px}
.screens img{width:100%;height:auto;border-radius:8px;border:1px solid #a8b19e;box-shadow:0 8px 16px #2935261c}
.screens img:nth-child(2){margin-top:22px}
.screens figcaption{grid-column:1/-1;color:var(--muted);font-size:.72rem}
.app-copy>p+p{margin-top:10px}.app-copy .button{margin-top:20px}
.program-head{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:20px;margin-bottom:25px}.program-head>p{padding-bottom:10px}
.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.weeks{margin:0;padding:0;list-style:none}
.weeks li{display:flex;gap:18px;align-items:center;border-top:1px solid var(--line);padding:12px 0;font-weight:700;font-size:.95rem}
.weeks li:last-child{border-bottom:1px solid var(--line)}
.weeks span{font:500 1.55rem/1 var(--serif);color:var(--moss)}
.lesson{background:var(--olive);color:#fffdf5;border-radius:9px;padding:clamp(19px,3vw,39px)}
.lesson h3{margin:9px 0 12px}.lesson p:not(.eyebrow),.lesson li{color:#f0f3e9;font-size:.9rem}
.lesson .eyebrow{color:#d6dfca}
.lesson details{margin-top:18px;border-top:1px solid #87977d}
.lesson details ol{padding-left:1.3em}
.lesson .underlink{color:#fffdf5}
.program-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;border:1px solid var(--line);padding:15px 18px;margin-top:19px;border-radius:7px}
.program-status p{font-size:.86rem;color:var(--muted)}
.faq{border-top:1px solid var(--line);padding-block:clamp(45px,7vw,90px);display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 0;list-style:none;font-weight:700;font-size:.9rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.35rem;font-weight:400}details[open]>summary::after{content:"−"}
.faq-list p{font-size:.9rem;color:var(--muted);padding-bottom:14px}
footer{background:#eeece1;border-top:1px solid var(--line)}
.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding-block:20px}
.footer-inner>span{color:var(--muted);font-size:.79rem}
@media(max-width:940px){.wrap{width:calc(100% - 56px)}.top nav{gap:15px}.hero h1{font-size:clamp(4.5rem,10.4vw,7rem)}.hero{gap:24px}.actions{margin-top:20px}}
@media(max-width:700px){.wrap{width:calc(100% - 34px)}.top{height:62px;gap:10px}.top nav{display:none}.brand{font-size:24px;gap:5px}.brand svg{width:27px}.top-action{padding:7px 11px;font-size:.74rem}.hero{grid-template-columns:1fr;padding-block:26px 23px;gap:16px}.hero-copy{padding:0}.hero h1{font-size:clamp(4.7rem,14vw,6.5rem);margin-block:20px 17px}.hero .lead{max-width:390px}.actions{margin-block:16px 8px}.quick-strip .wrap{grid-template-columns:1fr 1fr}.quick-strip span{padding:9px 3px;font-size:.71rem}.quick-strip span:nth-child(3){border-left:0}.quick-strip span:nth-child(n+3){border-top:1px solid var(--line)}.demo-grid,.app-grid,.program-head,.program-grid,.faq{grid-template-columns:1fr}.app-copy{grid-row:1}.recipe-photo img{height:clamp(150px,48vw,300px)}.program-head{gap:4px}.program-head>p{padding-bottom:0}.faq{gap:10px}}
@media(max-width:700px){.gallery-stage{height:clamp(268px,75vw,414px)}.gallery-card{width:min(45%,245px)}.gallery-caption{inset:auto 9px 10px}.gallery-caption strong{font-size:clamp(1.25rem,5.1vw,2rem)}.gallery-label{top:8px;left:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-card{transition:none}}
