:root{
  --red:#E12632;
  --red-dark:#C91F2B;
  --cream:#F2E6D2;
  --cream-2:#FAF4E9;
  --ink:#13171B;
  --yellow:#FCB829;
  --white:#FFFFFF;
  --muted:#70665E;
  --line:rgba(19,23,27,.10);
  --radius:26px;
  --shadow:0 18px 42px rgba(19,23,27,.12);
  --font:"Inter",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream-2);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;padding-bottom:84px}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
h1,h2,h3,p{margin-top:0}
.shell{width:min(100% - 40px,1160px);margin-inline:auto}
.eyebrow{margin:0 0 12px;color:var(--red);font-size:.72rem;line-height:1.2;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.eyebrow--light{color:rgba(242,230,210,.82)}
.eyebrow--yellow{color:var(--yellow)}

/* Header */
.topbar{height:64px;position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:rgba(225,38,50,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(242,230,210,.12)}
.brand img{width:132px;height:auto}
.desktop-nav{display:none}
.topbar-cta{display:grid;place-items:center;min-height:38px;padding:0 13px;border:1px solid rgba(242,230,210,.50);border-radius:999px;color:var(--cream);font-size:.72rem;font-weight:800}

/* Buttons */
.btn{min-height:54px;border:0;border-radius:16px;padding:0 20px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:.92rem;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.btn:active{transform:scale(.985)}
.btn--yellow{background:var(--yellow);color:var(--ink);box-shadow:0 12px 26px rgba(252,184,41,.18)}
.btn--cream{background:var(--cream);color:var(--red)}
.btn--outline{background:transparent;border:1px solid rgba(225,38,50,.20);color:var(--red)}
.btn--full{width:100%}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--red);color:var(--cream);padding:38px 0 0}
.hero-grid{display:grid;gap:22px}
.hero-copy h1{font-size:clamp(3.15rem,15vw,4.6rem);line-height:.88;letter-spacing:-.065em;font-weight:900;margin:0 0 18px;max-width:340px}
.hero-lead{font-size:1.22rem;line-height:1.3;font-weight:700;margin:0 0 10px;max-width:320px}
.hero-text{font-size:.94rem;line-height:1.55;color:rgba(242,230,210,.79);margin:0;max-width:350px}
.hero-actions{display:grid;gap:10px;margin-top:24px}
.text-link{min-height:42px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--cream);font-size:.82rem;font-weight:800}
.text-link span{font-size:1.15rem;color:var(--yellow)}
.hero-visual{height:300px;position:relative;margin-top:2px}
.hero-disc{position:absolute;width:265px;height:265px;left:50%;top:18px;transform:translateX(-50%);border-radius:50%;background:rgba(242,230,210,.10);border:1px solid rgba(242,230,210,.10)}
.hero-visual>img{position:absolute;width:262px;height:auto;left:50%;bottom:-6px;transform:translateX(-50%);filter:drop-shadow(0 25px 30px rgba(19,23,27,.28))}
.hero-pill{position:absolute;z-index:2;background:var(--cream);color:var(--red);border-radius:16px;padding:10px 12px;display:flex;flex-direction:column;box-shadow:0 12px 28px rgba(19,23,27,.16)}
.hero-pill b{font-size:.9rem;line-height:1.1;font-weight:900}.hero-pill span{font-size:.61rem;line-height:1.1;margin-top:3px;color:#6f554b;font-weight:700}
.hero-pill--one{left:0;top:61px}.hero-pill--two{right:0;bottom:28px}
.pattern-band{height:44px;background-image:url('assets/pattern.webp');background-size:176px 176px;background-position:center}

/* Intro */
.intro{padding:58px 0 62px;background:var(--cream-2)}
.intro h2,.how h2,.experiences h2,.service h2,.faq h2,.closing h2{font-size:2.18rem;line-height:1.02;letter-spacing:-.05em;font-weight:900;margin:0 0 20px}
.intro-lead{font-size:1.04rem;font-weight:800;line-height:1.45;margin-bottom:10px;max-width:520px}
.intro-copy{font-size:.92rem;color:var(--muted);line-height:1.6;margin-bottom:0;max-width:560px}
.value-list{display:grid;gap:0;margin-top:30px;border-top:1px solid var(--line)}
.value-list article{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:19px 0;border-bottom:1px solid var(--line);align-items:start}
.value-number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:var(--cream);font-weight:900;font-size:.75rem}
.value-list h3{font-size:.96rem;margin:1px 0 4px;color:var(--red);font-weight:900}.value-list p{font-size:.8rem;line-height:1.45;color:var(--muted);margin:0}

/* How */
.how{padding:62px 0;background:var(--ink);color:var(--cream)}
.how h2{font-size:2.45rem;margin-bottom:14px}.how-lead{font-size:.9rem;line-height:1.55;color:rgba(242,230,210,.68);margin:0;max-width:520px}
.timeline{position:relative;display:grid;gap:0;margin-top:32px}
.timeline:before{content:"";position:absolute;left:20px;top:21px;bottom:21px;width:1px;background:rgba(242,230,210,.18)}
.timeline article{position:relative;display:grid;grid-template-columns:42px 1fr;gap:16px;padding:0 0 27px;align-items:start}
.timeline article:last-child{padding-bottom:0}.timeline article>span{z-index:1;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--ink);font-size:.72rem;font-weight:900;box-shadow:0 0 0 6px var(--ink)}
.timeline h3{font-size:1rem;margin:2px 0 4px;font-weight:900}.timeline p{font-size:.81rem;line-height:1.45;color:rgba(242,230,210,.67);margin:0;max-width:420px}

/* Plans */
.experiences{padding:62px 0;background:var(--cream-2)}
.experiences-head h2{margin-bottom:13px}.experiences-head>p:last-child{font-size:.9rem;color:var(--muted);line-height:1.5;margin:0}.experiences-head>p:last-child b{color:var(--ink)}
.plan-grid{display:grid;gap:16px;margin-top:32px}
.plan{border-radius:var(--radius);overflow:hidden}
.plan--special{position:relative;background:var(--red);color:var(--cream);border:2px solid var(--yellow);box-shadow:var(--shadow)}
.plan-highlight{height:35px;display:flex;align-items:center;justify-content:center;background:var(--yellow);color:var(--ink);font-size:.66rem;font-weight:900;letter-spacing:.08em}
.plan-image{height:205px;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--cream) 0%,#F7DCC1 100%)}
.plan-image:after{content:"";position:absolute;left:-15%;right:-15%;bottom:-44px;height:84px;border-radius:50%;background:var(--red)}
.plan-image img{position:absolute;z-index:1;width:235px;left:50%;top:12px;transform:translateX(-50%);filter:drop-shadow(0 20px 18px rgba(19,23,27,.18))}
.plan-body{padding:22px 20px 21px}
.plan-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;text-transform:uppercase;font-size:.63rem;letter-spacing:.08em;font-weight:900}.plan--special .plan-label{color:rgba(242,230,210,.72)}.plan-label b{font-size:.61rem;padding:5px 8px;border-radius:999px;background:rgba(242,230,210,.11);color:inherit}
.plan h3{font-size:1.85rem;line-height:1;letter-spacing:-.05em;font-weight:900;margin:0 0 17px;text-transform:none}
.price{display:grid;grid-template-columns:auto auto 1fr;align-items:end;gap:5px;margin-bottom:20px}.price>span{font-size:1.1rem;font-weight:900;padding-bottom:7px}.price strong{font-size:3.45rem;line-height:.9;letter-spacing:-.06em;font-weight:900}.price small{font-size:.65rem;font-weight:700;padding:0 0 6px 3px;opacity:.78}
.benefits{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:11px}.benefits li{display:grid;grid-template-columns:25px 1fr;gap:10px;align-items:start;font-size:.82rem;line-height:1.38}.benefits i{font-style:normal;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--red);font-size:.72rem;font-weight:900}.plan-link{min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;font-size:.78rem;font-weight:900;color:inherit}.plan-link span{font-size:1.15rem}

.plan--compact{background:var(--white);border:1px solid rgba(19,23,27,.08);padding:20px;box-shadow:0 10px 26px rgba(19,23,27,.04)}
.plan-compact-head{display:grid;grid-template-columns:minmax(0,1fr) 106px;gap:12px;align-items:center}.plan--compact .plan-label{color:var(--red);margin-bottom:6px;display:block}.plan--compact .plan-label b{display:inline-flex;margin-left:6px;background:#F8E8E3;color:var(--red)}
.plan--compact h3{font-size:1.58rem;margin-bottom:12px;color:var(--red)}
.price--compact{margin:0;grid-template-columns:auto auto;gap:4px;align-items:end}.price--compact>span{font-size:.85rem;padding-bottom:5px;color:var(--red)}.price--compact strong{font-size:2.5rem;color:var(--red)}.price--compact small{grid-column:1/3;font-size:.6rem;color:var(--muted);padding:3px 0 0}
.plan-mini-image{width:106px;height:106px;border-radius:50%;background:var(--cream);display:grid;place-items:center;overflow:hidden}.plan-mini-image img{width:112px;filter:drop-shadow(0 9px 12px rgba(19,23,27,.13))}
.benefits--compact{margin:18px 0;border-top:1px solid var(--line);padding-top:16px;gap:9px}.benefits--compact li{font-size:.78rem;color:#4f4843}.benefits--compact i{background:#F8E8E3;color:var(--red)}
.compact-actions{display:grid;gap:5px}.plan--compact .plan-link{color:var(--red)}
.plan-note{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.plan-note div{padding:14px 12px;border-radius:16px;background:var(--cream);display:flex;flex-direction:column}.plan-note b{font-size:.8rem;color:var(--red)}.plan-note span{font-size:.66rem;line-height:1.35;color:var(--muted);margin-top:2px}

/* Service */
.service{padding:62px 0;background:var(--cream)}
.service h2{margin-bottom:28px}.service-list{display:grid;border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}.service-list article>span{width:42px;height:42px;border-radius:14px;background:var(--red);color:var(--cream);display:grid;place-items:center;font-size:.72rem;font-weight:900}.service-list h3{font-size:.92rem;color:var(--red);font-weight:900;margin:1px 0 4px}.service-list p{font-size:.78rem;line-height:1.45;color:var(--muted);margin:0}

/* FAQ */
.faq{padding:62px 0;background:var(--ink);color:var(--cream)}
.faq h2{margin-bottom:25px}.faq-list{display:grid;gap:9px}.faq details{border:1px solid rgba(242,230,210,.14);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.02)}.faq summary{list-style:none;cursor:pointer;min-height:56px;padding:16px 17px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.85rem;font-weight:800}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--yellow);font-size:1.22rem;font-weight:600}.faq details[open] summary:after{content:"−"}.faq details p{margin:0;padding:0 17px 17px;color:rgba(242,230,210,.65);font-size:.8rem;line-height:1.5}

/* Closing */
.closing{padding:66px 0 0;background:var(--red);color:var(--cream);text-align:center}.closing-content{display:flex;flex-direction:column;align-items:center}.closing-content>img{width:145px;margin-bottom:27px}.closing h2{font-size:2.45rem;margin-bottom:10px}.closing-content>p:not(.eyebrow){font-size:1rem;color:rgba(242,230,210,.80);margin:0 0 23px}.closing .btn{max-width:360px}.closing strong{display:block;font-size:1.35rem;margin-top:18px}.pattern-band--large{height:72px;margin-top:54px;background-size:250px 250px}
.footer{background:var(--ink);color:rgba(242,230,210,.58);padding:26px 0 105px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}.footer img{width:110px}.footer p{font-size:.62rem;text-align:right;margin:0}

/* Sticky CTA */
.sticky-cta{position:fixed;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .22s ease,transform .22s ease;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:100;background:var(--yellow);border-radius:17px;box-shadow:0 16px 40px rgba(19,23,27,.24)}
.sticky-cta.is-visible{opacity:1;transform:none;pointer-events:auto}.sticky-cta a{min-height:62px;padding:9px 11px 9px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sticky-cta span{display:grid;gap:0}.sticky-cta small{font-size:.57rem;text-transform:uppercase;letter-spacing:.09em;color:rgba(19,23,27,.60);font-weight:800}.sticky-cta b{font-size:.87rem}.sticky-cta i{font-style:normal;background:var(--ink);color:var(--cream);border-radius:12px;padding:10px 11px;font-size:.65rem;font-weight:900}

/* Flavor sheet */
.flavor-sheet{width:100%;max-width:none;height:min(88svh,780px);max-height:none;margin:auto 0 0;border:0;border-radius:26px 26px 0 0;padding:0;background:var(--cream-2);color:var(--ink);box-shadow:0 -18px 65px rgba(19,23,27,.26)}
.flavor-sheet::backdrop{background:rgba(19,23,27,.74);backdrop-filter:blur(4px)}
.sheet-handle{width:42px;height:5px;border-radius:999px;background:rgba(19,23,27,.14);margin:9px auto 1px}.sheet-head{padding:14px 20px 15px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.sheet-head span{font-size:.64rem;text-transform:uppercase;letter-spacing:.10em;color:var(--red);font-weight:900}.sheet-head h2{font-size:1.7rem;line-height:1;margin:4px 0 0;color:var(--red);letter-spacing:-.04em;font-weight:900}.sheet-head button{width:40px;height:40px;border:0;border-radius:50%;background:var(--red);color:var(--cream);font-size:1.45rem;cursor:pointer}.sheet-body{height:calc(100% - 82px);overflow:auto;padding:20px 20px 38px}.menu-columns{display:grid;gap:28px}.menu-section h3{font-size:1rem;color:var(--red);font-weight:900;margin:0 0 12px}.menu-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.menu-list li{font-size:.8rem;line-height:1.4;padding:9px 0;border-bottom:1px solid rgba(19,23,27,.07);color:#4d4540}

@media (max-width:360px){
  .shell{width:min(100% - 32px,1160px)}
  .hero-copy h1{font-size:3rem}
  .hero-visual{height:282px}.hero-disc{width:245px;height:245px}.hero-visual>img{width:245px}
  .plan--compact{padding:17px}.plan-compact-head{grid-template-columns:minmax(0,1fr) 90px}.plan-mini-image{width:90px;height:90px}.plan-mini-image img{width:97px}
  .price--compact strong{font-size:2.2rem}
}

/* Desktop: keeps the broad presentation while mobile remains the primary design */
@media (min-width:900px){
  body{padding-bottom:0}
  .shell{width:min(100% - 64px,1160px)}
  .topbar{height:76px;padding:0 max(32px,calc((100vw - 1160px)/2));background:rgba(225,38,50,.94)}
  .brand img{width:174px}.desktop-nav{display:flex;gap:28px;color:var(--cream);font-size:.79rem;font-weight:800}.desktop-nav a{opacity:.82}.topbar-cta{padding-inline:18px}
  .hero{padding-top:78px}.hero-grid{min-height:720px;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.hero-copy h1{font-size:7.5rem;max-width:none}.hero-lead{font-size:1.8rem;max-width:520px}.hero-text{font-size:1rem;max-width:520px}.hero-actions{display:flex;align-items:center}.hero-actions .btn{min-width:240px}.text-link{padding-inline:20px}.hero-visual{height:590px}.hero-disc{width:520px;height:520px;top:25px}.hero-visual>img{width:460px;bottom:15px}.hero-pill{padding:14px 16px}.hero-pill b{font-size:1.15rem}.hero-pill span{font-size:.68rem}.hero-pill--one{left:4%;top:115px}.hero-pill--two{right:3%;bottom:115px}.pattern-band{height:62px;background-size:248px 248px}
  .intro,.experiences,.service,.faq{padding:100px 0}.intro-wrap{display:grid;grid-template-columns:.9fr 1.1fr;column-gap:80px}.intro-wrap>.eyebrow,.intro-wrap>h2{grid-column:1}.intro-wrap>.intro-lead,.intro-wrap>.intro-copy{grid-column:2}.intro-wrap>.intro-lead{grid-row:1;margin-top:0}.intro-wrap>.intro-copy{grid-row:2}.intro h2,.experiences h2,.service h2,.faq h2,.closing h2{font-size:4.8rem}.value-list{grid-column:1/3;grid-template-columns:repeat(3,1fr);border-top:0;gap:16px;margin-top:58px}.value-list article{border:1px solid var(--line);border-radius:20px;padding:24px}.value-list h3{font-size:1.05rem}.value-list p{font-size:.84rem}
  .how{padding:100px 0}.how h2{font-size:5rem}.how-lead{font-size:1rem}.timeline{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}.timeline:before{display:none}.timeline article{grid-template-columns:1fr;gap:14px;padding:24px;border:1px solid rgba(242,230,210,.12);border-radius:20px;min-height:210px}.timeline article>span{box-shadow:none}.timeline h3{font-size:1.06rem}.timeline p{font-size:.84rem}
  .experiences-head{max-width:720px;margin-left:max(32px,calc((100vw - 1160px)/2));margin-right:auto}.plan-grid{grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}.plan--special{grid-column:2;grid-row:1}.plan--traditional{grid-column:1;grid-row:1}.plan--gourmet{grid-column:3;grid-row:1}.plan--compact{padding:0;overflow:hidden}.plan--compact .plan-compact-head{display:block}.plan--compact .plan-compact-head>div:first-child{padding:22px 22px 0}.plan--compact .plan-mini-image{width:100%;height:190px;border-radius:0;grid-row:1;background:var(--cream)}.plan--compact .plan-mini-image img{width:205px}.plan--compact .benefits,.plan--compact .compact-actions{margin-left:22px;margin-right:22px}.plan--compact .compact-actions{margin-bottom:19px}.plan--compact .plan-label{display:flex}.plan--compact h3{font-size:2rem}.plan--compact .price--compact{margin-bottom:18px}.plan--compact .price--compact strong{font-size:3rem}.plan-image{height:190px}.plan-image img{width:220px}.plan-body{padding:25px}.plan h3{font-size:2.25rem}.price strong{font-size:3.5rem}.plan-note{max-width:650px;margin-top:24px}
  .service-list{grid-template-columns:1fr 1fr;gap:15px;border:0}.service-list article{border:1px solid var(--line);border-radius:19px;padding:22px}.service-list h3{font-size:1rem}.service-list p{font-size:.84rem}
  .faq .shell{max-width:850px}.faq-list{gap:10px}.faq summary{padding:19px 21px;font-size:.93rem}.faq details p{padding:0 21px 21px;font-size:.86rem}
  .closing{padding-top:100px}.closing-content>img{width:220px}.closing .btn{max-width:300px}.pattern-band--large{height:95px;margin-top:80px}.footer{padding:30px 0}.footer img{width:145px}.footer p{font-size:.72rem}.sticky-cta{display:none}
  .flavor-sheet{width:min(880px,calc(100% - 50px));height:min(80vh,760px);margin:auto;border-radius:28px}.sheet-handle{display:none}.sheet-head{padding:24px 28px 18px}.sheet-head h2{font-size:2.2rem}.sheet-body{padding:26px 28px 36px}.menu-columns{grid-template-columns:1fr 1fr;gap:45px}.menu-list{grid-template-columns:1fr 1fr;column-gap:18px}.menu-list li{font-size:.78rem}
}
