@font-face{font-family:Manrope;src:url('/public/fonts/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('/public/fonts/manrope-500.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Manrope;src:url('/public/fonts/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('/public/fonts/manrope-700.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Manrope;src:url('/public/fonts/manrope-800.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--pink:#ec075f;--pink-surface:#e3075b;--purple:#5d28cb;--white:#fff;--ink:#1c1329;--club-dark:#100d18;--soft:#f6f2fb;--muted:#5e5568;--line:#d9cfe6;--photo-shade:rgba(0,0,0,.58);--font-brand:Manrope,sans-serif;--gutter:clamp(22px,5vw,88px);--section-space:clamp(72px,9vw,144px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font:500 17px/1.65 var(--font-brand);-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}button{font:inherit}h1,h2,h3{font-weight:800;line-height:1.05;letter-spacing:-.045em}h2{font-size:clamp(40px,5.3vw,78px)}h3{font-size:clamp(25px,2.4vw,35px);letter-spacing:-.045em;line-height:1.15}p{max-width:52ch}.section{padding:var(--section-space) var(--gutter)}a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:6px}.skip{position:fixed;top:12px;left:12px;z-index:100;background:var(--white);padding:12px 20px;transform:translateY(-160%)}.skip:focus{transform:none}.header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px var(--gutter);background:var(--pink-surface);color:var(--white);border-bottom:1px solid rgba(255,255,255,.35)}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;letter-spacing:-.04em;font-size:26px;font-weight:800}.brand img{border-radius:10px}.header nav{display:flex;gap:clamp(14px,2vw,29px);font-size:13px;font-weight:700;align-items:center}.header nav a{text-underline-offset:6px}.header nav [aria-disabled]{opacity:.7;cursor:default}.menu-toggle{display:none}.hero{background:var(--pink-surface);color:var(--white);padding:48px var(--gutter) 75px;overflow:hidden}.hero-heading{position:relative;z-index:2;pointer-events:none}.hero h1{font-size:clamp(65px,8.8vw,140px);line-height:1.01;letter-spacing:-.055em;max-width:1150px}.hero h1 em{font-style:normal;background:var(--purple);padding:0 .12em .06em;display:inline-block;transform:rotate(-3deg)}.hero-bottom{display:grid;grid-template-columns:.9fr 1.1fr;min-height:480px;align-items:end;gap:30px}.hero-copy{max-width:460px;padding:50px 0 20px}.hero-copy p{font-size:18px;line-height:1.65;margin-bottom:28px}.download{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:60px;background:var(--white);color:var(--purple);padding:15px 23px;text-decoration:none;font-size:16px;font-weight:800;transition:background .2s,transform .2s;box-shadow:4px 4px 0 var(--purple)}.download span{font-size:26px;line-height:1}.download:hover{background:var(--soft);transform:translateY(-3px)}.phone{position:relative;width:255px;padding:7px;background:var(--ink);border:2px solid var(--muted);border-radius:40px;box-shadow:12px 24px 30px rgba(15,5,32,.23);flex-shrink:0}.phone img{width:100%;height:auto;border-radius:31px}.phone::after{content:'';position:absolute;width:4px;height:47px;right:-5px;top:105px;background:var(--ink);border-radius:3px}.hero-phones{position:relative;min-height:550px;align-self:stretch}.hero-map{position:absolute;left:5%;bottom:0;width:267px;transform:rotate(-10deg);z-index:2;animation:phone-enter .85s both}.hero-offer{position:absolute;right:1%;bottom:10px;width:237px;transform:rotate(9deg);animation:phone-enter 1s .12s both}@keyframes phone-enter{from{opacity:0;translate:0 32px}to{opacity:1;translate:0 0}}.section-top{display:grid;grid-template-columns:1fr 4fr;gap:20px;align-items:start}.section-index{font-size:14px;letter-spacing:.05em;font-weight:800;padding-top:10px}.food{color:var(--purple);overflow:hidden}.food-collage{height:810px;position:relative;max-width:1150px;margin:55px auto 0}.food-photo{position:absolute;overflow:hidden;transition:transform .35s;box-shadow:0 15px 30px rgba(28,19,41,.12)}.food-photo img{width:100%;height:100%;object-fit:cover}.food-photo figcaption{position:absolute;bottom:0;left:0;width:100%;padding:28px 20px 16px;color:var(--white);font-size:clamp(28px,4vw,58px);font-weight:800;line-height:1.2;letter-spacing:-.055em;background:linear-gradient(transparent,var(--photo-shade))}.breakfast{width:42%;aspect-ratio:1;left:3%;top:45px;transform:rotate(-7deg)}.drinks{width:35%;aspect-ratio:1;right:4%;top:5px;transform:rotate(7deg)}.lunch{width:39%;aspect-ratio:1;right:9%;bottom:20px;transform:rotate(-5deg)}.food-photo:hover{transform:rotate(0) scale(1.02);z-index:3}.food-outro{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:50px;margin-top:35px}.big-type{font-size:clamp(50px,8vw,120px);font-weight:800;letter-spacing:-.055em;line-height:1.1}.food-outro>p:last-child{color:var(--ink);max-width:43ch}.how{background:var(--soft)}.how h2{color:var(--purple)}.steps{list-style:none;margin:70px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:8vw}.steps li{border-top:1px solid var(--line);padding:24px 0 45px;display:flex;gap:28px;align-items:start}.steps li:nth-child(even){margin-top:65px}.number{font-weight:800;font-size:clamp(65px,8vw,110px);letter-spacing:-.08em;color:var(--pink);line-height:1}.steps li:nth-child(even) .number{color:var(--purple)}.steps h3{margin:10px 0 15px}.steps p{font-size:16px;max-width:32ch}.inside{background:var(--purple);color:var(--white);overflow:hidden}.inside-layout{display:grid;grid-template-columns:1fr 1fr;gap:75px 9vw;margin-top:85px;align-items:start}.inside article{min-width:0}.inside .phone{width:245px}.map-feature{display:grid;justify-items:center;gap:45px}.map-feature .phone{transform:rotate(-4deg)}.feature-text{max-width:380px}.feature-text p{margin-top:18px}.offer-feature{padding-top:55px;display:grid;justify-items:center;gap:55px}.offer-feature .phone{transform:rotate(5deg)}.favorites-feature{max-width:550px;margin-top:-40px;padding-right:30px}.favorites-feature p{margin-top:20px}.text-rule{display:block;width:80px;height:5px;background:var(--pink);margin-bottom:30px}.club{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center;color:var(--white);background:linear-gradient(125deg,var(--club-dark) 35%,color-mix(in srgb,var(--pink) 22%,var(--club-dark)) 70%,var(--purple) 150%);overflow:hidden}.club h2{font-size:clamp(72px,10vw,145px);margin:30px 0}.club h3{font-size:clamp(28px,3vw,40px);max-width:400px;margin-bottom:24px}.club-copy p{max-width:40ch}.club-visual{position:relative;display:grid;place-items:center;min-height:600px}.club-visual .phone{width:270px;transform:rotate(7deg)}.ribbon{position:absolute;left:-12%;top:45%;width:125%;max-width:none;padding:17px 0;transform:rotate(14deg);background:var(--white);border-block:2px solid var(--white);color:var(--purple);text-align:center;font-size:clamp(20px,2.4vw,35px);font-weight:800;letter-spacing:-.03em}.closing{background:var(--pink-surface);color:var(--white)}.closing h2{font-size:clamp(48px,6.8vw,100px)}.closing>div{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:45px}.closing p{max-width:40ch}.closing .download{flex-shrink:0}footer{display:flex;align-items:center;justify-content:space-between;padding:30px var(--gutter);gap:20px;font-size:12px;background:var(--white);color:var(--purple)}footer .brand{font-size:22px}.reveal.seen{animation:reveal .9s cubic-bezier(.2,.7,.2,1) both}@keyframes reveal{from{translate:0 38px;opacity:.4}to{translate:0 0;opacity:1}}
@media(min-width:1500px){.hero,.section,.header,footer{padding-left:max(var(--gutter),calc((100vw - 1400px)/2));padding-right:max(var(--gutter),calc((100vw - 1400px)/2))}}
@media(max-width:1050px){.header{flex-wrap:wrap}.header nav{gap:20px}.hero-bottom{grid-template-columns:.85fr 1.15fr}.hero-map{width:225px;left:0}.hero-offer{width:200px;right:0}.hero-phones{min-height:480px}.hero-copy p{font-size:16px}.food-collage{height:670px}.phone{border-radius:35px}.phone img{border-radius:26px}.section-top{grid-template-columns:.5fr 4fr}.steps li{gap:20px}.favorites-feature{margin-top:10px}.club-visual{min-height:550px}}
@media(max-width:760px){body{font-size:16px}.header{padding-block:15px;position:relative;z-index:10;gap:0}.brand{font-size:23px}.brand img{width:36px;height:36px}.menu-toggle{display:flex;align-items:center;gap:15px;background:none;border:1px solid rgba(255,255,255,.7);color:var(--white);padding:8px 12px;min-height:44px;font-size:14px}.menu-toggle span{font-size:20px}.header nav{display:none;flex-basis:100%;padding-top:25px;grid-template-columns:1fr 1fr;gap:0}.header nav.open{display:grid}.header nav>*{padding:12px 0;font-size:14px}.hero{padding-top:40px;padding-bottom:50px}.hero h1{font-size:clamp(52px,10.6vw,80px);line-height:1.07}.hero h1 br{display:none}.hero-bottom{display:flex;flex-direction:column;gap:0;align-items:stretch}.hero-copy{padding:35px 0 45px;max-width:520px}.hero-copy p{font-size:16px}.hero-phones{min-height:460px;width:min(470px,100%);align-self:center}.hero-map{width:235px;left:5%;bottom:5px}.hero-offer{width:195px;right:3%;bottom:5px}.section-top{display:block}.section-index{display:block;margin-bottom:22px;padding:0}h2{font-size:clamp(36px,7.4vw,55px);letter-spacing:-.06em}.food-collage{height:610px;margin-top:32px}.breakfast{width:48%;left:2%;top:30px}.drinks{width:41%;right:2%;top:10px}.lunch{width:53%;right:6%;bottom:45px}.food-photo figcaption{padding:24px 12px 12px;font-size:clamp(24px,5vw,38px)}.food-outro{display:block;margin-top:0}.big-type{font-size:clamp(55px,11vw,85px);margin-bottom:24px}.steps{margin-top:45px;grid-template-columns:1fr}.steps li{padding:22px 0 30px;gap:30px}.steps li:nth-child(even){margin-top:0}.number{font-size:78px;min-width:95px}.steps h3{font-size:26px}.inside-layout{gap:55px 30px;margin-top:45px}.inside .phone{width:200px}.feature-text h3{font-size:25px}.feature-text p{font-size:15px}.map-feature,.offer-feature{gap:35px}.offer-feature{padding-top:70px}.favorites-feature{grid-column:1/-1;margin-top:0;max-width:430px}.club{grid-template-columns:1fr;gap:35px}.club h2{font-size:95px;line-height:.95;margin-top:30px}.club h2 br{display:none}.club-visual{min-height:560px;width:min(420px,100%);margin:auto}.club-visual .phone{width:255px}.ribbon{font-size:26px;left:-5%;width:110%}.closing>div{display:block;margin-top:30px}.closing p{margin-bottom:30px}footer{flex-wrap:wrap}footer .brand{flex-basis:100%}}
@media(max-width:480px){.hero-phones{min-height:400px}.hero-map{width:200px;left:3%}.hero-offer{width:171px;right:0}.phone{padding:5px;border-radius:30px}.phone img{border-radius:22px}.food-collage{height:480px}.lunch{bottom:30px;width:55%}.food-photo figcaption{font-size:25px}.inside-layout{grid-template-columns:1fr;gap:65px}.inside .phone{width:235px}.map-feature{justify-items:start;padding-left:8px}.map-feature .feature-text{padding-left:0}.offer-feature{padding-top:0;justify-items:end}.offer-feature .feature-text{max-width:270px;justify-self:start}.favorites-feature{grid-column:auto}.steps li{gap:20px}.number{font-size:65px;min-width:76px}.steps h3{font-size:24px}.steps p{font-size:15px}.club h2{font-size:75px}.closing h2 br{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.food-photo:hover{transform:none}}

.ribbon span{background:linear-gradient(100deg,var(--pink),var(--purple));background-clip:text;-webkit-background-clip:text;color:transparent}

.drinks figcaption{top:0;bottom:auto;padding-top:16px;padding-bottom:32px;background:linear-gradient(var(--photo-shade),transparent)}

/* Revised photo composition: two upper photographs and a centered, lower photograph.
   Grid rows reserve real space, including for the rotated corners. */
.food-collage{height:auto;display:grid;grid-template-columns:1fr .95fr .86fr;align-items:start;gap:0 6%;padding:40px 2% 45px}
.food-photo{position:relative;inset:auto;width:100%;aspect-ratio:1;}
.breakfast{grid-column:1;grid-row:1;width:100%;transform:rotate(-6deg)}
.drinks{grid-column:3;grid-row:1;width:100%;justify-self:end;transform:rotate(6deg)}
.lunch{grid-column:2;grid-row:1;width:100%;margin-top:clamp(130px,15vw,210px);justify-self:center;transform:rotate(-4deg)}
.hero-copy strong{font-weight:800}
#food,#how,#inside,#club{scroll-margin-top:35px}
.club-copy.seen{animation-duration:1s}.club-visual.seen{animation-duration:1.15s}
.site-footer{display:block;padding:65px var(--gutter) 28px;background:var(--soft);color:var(--purple);font-size:14px}
.footer-main{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:50px;padding-bottom:50px}
.site-footer .brand{align-self:start;font-size:32px;flex-basis:auto}.site-footer .brand img{width:48px;height:48px}
.footer-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin-bottom:18px;color:var(--muted)}
.footer-links,.footer-information{display:flex;flex-direction:column;align-items:start;gap:10px}
.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-label{margin-bottom:8px}



.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid var(--line);padding-top:25px;font-size:12px}
.footer-bottom a{font-weight:700}.footer-bottom>a{min-height:44px;display:inline-flex;align-items:center;gap:12px}
@media(max-width:760px){.food-collage{grid-template-columns:1fr 1fr;gap:50px 12%;padding:25px 3% 35px}.drinks{grid-column:2}.lunch{grid-column:1/-1;grid-row:2;width:50%;margin-top:0}.food-outro{margin-top:20px}.favorites-feature{margin-top:25px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 25px}.site-footer .brand{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;justify-content:flex-start;column-gap:30px}.footer-bottom>p:nth-child(2){flex-basis:100%;order:3}}
@media(max-width:480px){.food-collage{gap:50px 10%;padding:22px 2% 30px}.drinks{width:94%}.lunch{width:60%}.food-photo figcaption{font-size:clamp(20px,5.6vw,25px);padding-inline:9px}.site-footer{padding-top:45px}.footer-main{grid-template-columns:1fr;gap:32px;padding-bottom:30px}.site-footer .brand{grid-column:auto}.footer-links{display:grid;grid-template-columns:1fr 1fr;width:100%;column-gap:25px}.footer-label{grid-column:1/-1}.footer-links a{min-height:36px}}

/* Three-line mobile menu; the accessible name remains on the button. */
.menu-lines{display:flex;flex-direction:column;justify-content:space-between;width:25px;height:18px}
.menu-lines i{display:block;height:2px;width:100%;background:currentColor;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded="true"] .menu-lines i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-lines i:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .menu-lines i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media(max-width:760px){.menu-toggle{border:0;padding:12px;width:48px;height:48px;justify-content:center}}
.food-doodle{position:absolute;fill:none;stroke:var(--pink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;z-index:2}
.doodle-rays{width:65px;height:65px;left:-1%;top:-10px;transform:rotate(-9deg)}
.doodle-arrow{width:100px;height:100px;left:45%;top:9%;transform:rotate(7deg)}
.doodle-stroke{width:90px;height:45px;right:0;top:64%;stroke:var(--purple);transform:rotate(-13deg)}
.club{filter:brightness(var(--club-brightness,1))}
@media(max-width:760px){.doodle-rays{width:42px;height:42px;left:-2%;top:-15px}.doodle-arrow{width:65px;height:65px;left:24%;top:49%;transform:rotate(36deg)}.doodle-stroke{width:62px;right:1%;top:82%}}
@media(prefers-reduced-motion:reduce){.club{filter:none}}

/* Doodles are anchored to their photograph, independent of collage height. */
.photo-group{position:relative;min-width:0}
.breakfast-group{grid-column:1;grid-row:1}
.drinks-group{grid-column:3;grid-row:1}
.lunch-group{grid-column:2;grid-row:1;margin-top:clamp(130px,15vw,210px)}
.photo-group .food-photo{width:100%;margin:0}
.photo-group .doodle-rays{left:-43px;top:-33px;width:65px;height:65px;transform:rotate(18deg)}
.photo-group .doodle-arrow{left:calc(50% - 45px);top:-94px;width:90px;height:90px;transform:rotate(7deg)}
.photo-group .doodle-stroke{left:auto;top:auto;right:-49px;bottom:-22px;width:80px;height:40px;transform:rotate(-45deg)}
@media(max-width:760px){
 .drinks-group{grid-column:2}
 .lunch-group{grid-column:1/-1;grid-row:2;width:50%;justify-self:center;margin-top:0}
 .photo-group .doodle-rays{left:-29px;top:-21px;width:45px;height:45px;transform:rotate(18deg)}
 .photo-group .doodle-arrow{left:-68px;top:-20px;width:50px;height:50px;transform:rotate(-35deg)}
 .photo-group .doodle-stroke{right:-22px;bottom:-21px;width:58px;height:29px;transform:rotate(-35deg)}
}
@media(max-width:480px){.drinks-group{width:94%;justify-self:end}.lunch-group{width:60%}}

/* Mobile arrow approaches the lunch photograph horizontally. */
@media(max-width:760px){.photo-group .doodle-arrow{left:-56px;top:-14px;transform:rotate(-100deg)}}

@media(min-width:761px){.photo-group .doodle-stroke{right:-24px;bottom:-40px;transform:rotate(-25deg)}}
.arrow-mobile{display:none}
@media(max-width:760px){.arrow-desktop{display:none}.arrow-mobile{display:block}.photo-group .doodle-arrow{left:-56px;top:-13px;transform:rotate(-10deg)}}




/* Keep the observed row stationary; only its children animate. */
@media(max-width:760px){.photo-group .doodle-arrow{left:-46px;top:-14px;transform:rotate(0deg)}}

/* A single monotonic fade. Position, size and rotation never animate here. */
.motion-ready .soft-reveal{opacity:.2;transition:opacity .85s ease-out}
.motion-ready .soft-reveal.revealed{opacity:1}
@media(prefers-reduced-motion:reduce){.motion-ready .soft-reveal{opacity:1;transition:none}}

/* Shared navigation, now enabled for the five secondary routes. */
.header nav a{text-decoration:none;opacity:.85}.header nav a:hover,.header nav a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:6px}

/* Keep navigation available without covering anchor destinations. */
.header{position:sticky;top:0;z-index:50}
html{scroll-padding-top:105px}
#food,#how,#inside,#club{scroll-margin-top:105px}
@media(max-width:760px){.header{position:sticky;max-height:100svh;overflow-y:auto}html{scroll-padding-top:90px}}

html{scroll-padding-top:0}

/* Homepage chapters fade as a whole, independently of their existing children.
   No geometry changes: the observer cannot retrigger from an animated position. */
.motion-ready .section-entrance{opacity:.15;transition:opacity .95s ease-out}
.motion-ready .section-entrance.section-entered{opacity:1}
@media(prefers-reduced-motion:reduce){.motion-ready .section-entrance{opacity:1;transition:none}}
