:root{--cream: #F6F3EA;--cream-deep: #EDE8DA;--paper: #FBF9F2;--ink: #1C1E19;--ink-soft: #45483F;--ink-faint: #868a7b;--accent: #5C6B4C;--accent-deep: #47543A;--accent-soft: #DDE3D2;--line: #E0DCCB;--ink-band: #232619;--serif: "Fraunces", "Georgia", serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sp-1: .5rem;--sp-2: 1rem;--sp-3: 1.5rem;--sp-4: 2rem;--sp-6: 3rem;--sp-8: 4rem;--sp-10: 5rem;--sp-12: 6rem;--sp-16: 8rem;--radius: 14px;--radius-lg: 22px;--maxw: 1120px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--cream);color:var(--ink);line-height:1.65;font-size:18px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--sp-3)}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.12;letter-spacing:-.015em;color:var(--ink)}h1{font-size:clamp(2.6rem,6vw,4.4rem);font-weight:600}h2{font-size:clamp(2rem,4.5vw,3rem)}h3{font-size:clamp(1.35rem,2.5vw,1.7rem)}h4{font-size:1.15rem}p{color:var(--ink-soft)}.eyebrow{font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--sp-2)}.lead{font-size:1.2rem;color:var(--ink-soft);max-width:42ch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--sans);font-weight:600;font-size:1rem;padding:.9rem 1.6rem;border-radius:999px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:all .2s ease;white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-deep);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--ink)}.btn-text{color:var(--accent);font-weight:600;text-decoration:none}.btn-text:hover{color:var(--accent-deep)}.navbar{position:sticky;top:0;z-index:50;background:#f7f3ecdb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.navbar .container{display:flex;align-items:center;justify-content:space-between;height:72px}.nav-logo{font-family:var(--serif);font-weight:600;font-size:1.5rem;color:var(--ink);text-decoration:none;letter-spacing:-.02em}.nav-links{display:flex;align-items:center;gap:var(--sp-4)}.nav-links a{color:var(--ink-soft);text-decoration:none;font-size:.95rem;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--ink)}.nav-links a.btn-primary,.nav-links a.btn-primary:hover{color:#fff}section{padding:var(--sp-12) 0}.section-alt{background:var(--cream-deep)}.section-tight{padding:var(--sp-10) 0}.hero{position:relative;text-align:center;padding:var(--sp-8) 0 var(--sp-10);overflow:hidden;isolation:isolate}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background-size:cover;background-position:center 35%;background-repeat:no-repeat;opacity:.55}.hero-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,var(--cream) 0%,rgba(246,243,234,.35) 30%,rgba(246,243,234,.45) 60%,var(--cream) 100%),radial-gradient(120% 80% at 50% 45%,#f6f3eab8,#f6f3ea40 55%,#f6f3ea00)}.hero-inner{max-width:100%;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}.hero h1{margin:0 0 var(--sp-5);font-size:clamp(2.6rem,6vw,5rem);line-height:1.06;max-width:18ch;text-align:center;text-wrap:balance}.hero h1 .accent-phrase{color:var(--accent);white-space:nowrap}.hero .lead{margin:0 auto var(--sp-6);max-width:54ch;font-size:1.25rem}.hero-actions{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);flex-wrap:wrap}.hero .eyebrow{display:inline-block}.problem{text-align:center}.problem h2{max-width:18ch;margin:0 auto var(--sp-3)}.problem p{max-width:60ch;margin:0 auto;font-size:1.15rem}.pain-chips{display:flex;justify-content:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-6)}.pain-chip{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.65rem 1.3rem;font-size:.95rem;font-weight:500;color:var(--ink-soft)}.section-head{max-width:46ch;margin-bottom:var(--sp-8)}.section-head.center{margin-left:auto;margin-right:auto;text-align:center}.beats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}.beat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-4)}.beat-num{font-family:var(--serif);font-size:.85rem;font-weight:600;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--sp-2);display:block}.beat h3{margin-bottom:var(--sp-2)}.beat p{font-size:1rem}.beats-note{text-align:center;margin-top:var(--sp-6);font-size:1.05rem;color:var(--ink-soft);font-style:italic}.beats-note strong{color:var(--ink);font-style:normal}.next-lunch-card{background:var(--ink-band);color:var(--cream);border-radius:var(--radius-lg);padding:clamp(var(--sp-6),6vw,var(--sp-10));position:relative;overflow:hidden}.next-lunch-label{font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--sp-3)}.next-lunch-card h2{color:var(--cream);max-width:20ch;margin-bottom:var(--sp-3)}.next-lunch-card p{color:#f7f3ecd1;max-width:55ch;font-size:1.15rem;margin-bottom:var(--sp-4)}.next-lunch-format{display:inline-block;font-size:.9rem;color:#f7f3ecb3;border:1px solid rgba(247,243,236,.2);border-radius:999px;padding:.45rem 1.1rem;margin-bottom:var(--sp-4)}.next-lunch-actions{margin-top:var(--sp-2)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--sp-8);align-items:center}.about-img{width:100%;max-width:380px;border-radius:var(--radius-lg);aspect-ratio:4 / 5;object-fit:cover;object-position:center 20%;border:1px solid var(--line);box-shadow:0 24px 48px -28px #1e140a73}.about h2{margin-bottom:var(--sp-3)}.about p{font-size:1.15rem}.about p+p{margin-top:var(--sp-3)}.ascension{background:var(--accent);color:#fff}.ascension .container{text-align:center}.ascension h2{color:#fff;max-width:22ch;margin:0 auto var(--sp-3)}.ascension p{color:#ffffffe6;max-width:58ch;margin:0 auto var(--sp-4);font-size:1.15rem}.ascension .btn-primary{background:#fff;color:var(--accent)}.ascension .btn-primary:hover{background:var(--cream);color:var(--accent-deep)}.final-cta{text-align:center}.final-cta h2{max-width:16ch;margin:0 auto var(--sp-4)}.pricing-head{text-align:center;margin-bottom:var(--sp-8)}.pricing-head h1{margin-bottom:var(--sp-3)}.pricing-head p{max-width:50ch;margin:0 auto;font-size:1.15rem}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);align-items:stretch}.pricing-grid.single{grid-template-columns:minmax(0,420px);justify-content:center}.pricing-grid.single .price-card{width:100%}.pricing-grid.single .price-card.featured{transform:none}.price-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--sp-6) var(--sp-4);display:flex;flex-direction:column}.price-card.featured{border:2px solid var(--accent);background:#fff;box-shadow:0 30px 60px -34px #c75b3266;transform:scale(1.03)}.price-badge{align-self:flex-start;background:var(--accent-soft);color:var(--accent-deep);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .85rem;border-radius:999px;margin-bottom:var(--sp-3)}.price-card h3{margin-bottom:var(--sp-2)}.price-amount{font-family:var(--serif);font-size:3rem;font-weight:600;color:var(--ink);line-height:1}.price-term{color:var(--ink-faint);font-size:1rem;margin-bottom:var(--sp-4)}.price-features{list-style:none;margin:0 0 var(--sp-4);flex-grow:1}.price-features li{padding:.55rem 0 .55rem 1.6rem;position:relative;color:var(--ink-soft);font-size:.98rem;border-bottom:1px solid var(--line)}.price-features li:before{content:"";position:absolute;left:0;top:1rem;width:8px;height:8px;border-radius:50%;background:var(--accent)}.price-perk{color:var(--ink);font-weight:500;font-style:italic}.price-card .btn{width:100%}.pricing-reassure{text-align:center;margin-top:var(--sp-6);color:var(--ink-faint);font-size:.98rem}footer{background:var(--ink-band);color:var(--cream);padding:var(--sp-10) 0 var(--sp-6)}footer .nav-logo{color:var(--cream)}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-8);align-items:start;padding-bottom:var(--sp-8);border-bottom:1px solid rgba(247,243,236,.14)}.footer-brand p{color:#f7f3ecb3;margin-top:var(--sp-2)}.footer-brand a{color:var(--accent);text-decoration:none}.footer-brand a:hover{text-decoration:underline}.footer-form h4{color:var(--cream);margin-bottom:var(--sp-3);font-family:var(--sans);font-weight:600}.email-form{display:flex;gap:var(--sp-2);flex-wrap:wrap}.email-form input{flex:1;min-width:200px;padding:.9rem 1.1rem;border-radius:999px;border:1px solid rgba(247,243,236,.25);background:#f7f3ec0f;color:var(--cream);font-family:var(--sans);font-size:1rem}.email-form input::placeholder{color:#f7f3ec80}.email-form input:focus{outline:none;border-color:var(--accent)}.email-form input:disabled{opacity:.6}.subscribe-msg{margin:.75rem 0 0;font-size:.95rem;width:100%}.subscribe-msg.ok{color:#c8d6b4;font-weight:500}.subscribe-msg.error{color:#e0a38c}.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:var(--sp-4);color:#f7f3ec8c;font-size:.9rem;flex-wrap:wrap;gap:var(--sp-2)}.footer-links{display:flex;gap:var(--sp-3)}.footer-links a{color:#f7f3ec8c;text-decoration:none}.footer-links a:hover{color:var(--cream)}.js-reveal .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.js-reveal .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.js-reveal .reveal{opacity:1;transform:none;transition:none}}@media (max-width: 900px){.hero{padding:var(--sp-12) 0 var(--sp-10)}.beats{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr;text-align:center}.about-img{margin:0 auto}.pricing-grid{grid-template-columns:1fr}.price-card.featured{transform:none}.footer-grid{grid-template-columns:1fr;gap:var(--sp-6)}}@media (max-width: 680px){body{font-size:17px}.nav-links{gap:var(--sp-2)}.nav-links a:not(.btn){display:none}section{padding:var(--sp-10) 0}}
