@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700;9..144,900;1,opsz,wght@9..144,400;1,opsz,wght@9..144,600&display=swap');

:root { --ink:#17130f; --soft:#5e554c; --cream:#f7f1e8; --paper:#eee3d3; --white:#fffdf9; --red:#cf5037; --red-dark:#a83e2d; --gold:#e5b549; --sage:#4f7465; --berry:#89375f; --mono:'DM Mono',monospace; --sans:'DM Sans',sans-serif; --display:'Fraunces',Georgia,serif; --edge:clamp(1.1rem,5vw,4.5rem); --max:76rem; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.55 var(--sans);background-image:radial-gradient(rgba(23,19,15,.055) .55px,transparent .7px);background-size:5px 5px} a{color:inherit;text-decoration:none} img{max-width:100%;display:block} button,input,textarea{font:inherit} button{cursor:pointer} .skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--ink);color:white;padding:.6rem}
.shell{max-width:var(--max);padding-inline:var(--edge);margin:auto}.section{padding:clamp(4.7rem,10vw,9rem) 0;position:relative}.eyebrow,.micro{font:500 .67rem/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase}.eyebrow{display:flex;gap:.7rem;align-items:center;color:var(--soft);margin:0 0 1rem}.eyebrow:before{content:'';height:1px;width:1.7rem;background:currentColor}.display{font:700 clamp(2.8rem,7.4vw,6.7rem)/.91 var(--display);letter-spacing:-.065em;margin:0}.display em{font-weight:400;color:var(--red);white-space:nowrap}.lede{font-size:clamp(1rem,1.4vw,1.2rem);color:var(--soft);max-width:37ch;margin:1.5rem 0 0}.btn-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}.btn{display:inline-flex;gap:.55rem;align-items:center;justify-content:center;padding:.85rem 1.15rem;font-size:.85rem;font-weight:700;transition:transform .18s,background .18s;clip-path:polygon(.45rem 0,calc(100% - .45rem) 0,100% .45rem,100% calc(100% - .45rem),calc(100% - .45rem) 100%,.45rem 100%,0 calc(100% - .45rem),0 .45rem)}.btn:hover{transform:translateY(-2px)}.btn:active{transform:scale(.97)}.btn--red{background:var(--red);color:#fff}.btn--ink{background:var(--ink);color:var(--cream)}.btn--line{box-shadow:inset 0 0 0 1.5px var(--ink)}
.site-head{height:4.4rem;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}.brand{font:700 1.3rem var(--display);display:flex;align-items:center;gap:.5rem}.brand__mark{width:2rem;height:2rem;background:var(--red);display:grid;place-items:center;color:var(--cream);border-radius:.25rem;font:500 .52rem var(--mono);letter-spacing:.04em;box-shadow:3px 3px 0 var(--ink)}.nav{display:none}.menu{background:var(--ink);color:var(--cream);border:0;width:2.7rem;height:2.4rem;font:1rem var(--mono)}.mobile-menu{display:none;position:absolute;z-index:4;top:4.4rem;left:0;right:0;padding:1.5rem var(--edge) 2rem;background:var(--ink);color:var(--cream)}.mobile-menu.open{display:block}.mobile-menu a{display:block;border-bottom:1px solid rgba(255,255,255,.15);padding:.8rem 0;font:600 1.4rem var(--display)}
.hero{min-height:calc(100svh - 4.4rem);display:grid;align-content:center;overflow:hidden}.hero__grid{display:grid;gap:3rem}.hero__copy{position:relative;z-index:2}.hero__title .ink{display:inline-block;background:var(--ink);color:var(--cream);padding:.04em .14em .12em;margin-left:-.13em;transform:rotate(-2deg)}.hero__title small{font:500 .34em var(--mono);letter-spacing:.03em;color:var(--sage);vertical-align:middle}.hero__note{margin-top:1.75rem;color:var(--soft);font-size:.86rem;max-width:34ch}.hero__art{height:22rem;position:relative}.food-polaroid{position:absolute;width:14rem;aspect-ratio:.88;right:8%;top:0;transform:rotate(6deg);background:var(--white);padding:.55rem .55rem 2.2rem;box-shadow:0 20px 35px rgba(52,31,18,.18)}.food-polaroid img{height:100%;width:100%;object-fit:cover}.food-polaroid figcaption{position:absolute;left:.65rem;bottom:.55rem;font:.56rem var(--mono);letter-spacing:.08em}.member-ticket{position:absolute;left:2%;bottom:2rem;width:15rem;aspect-ratio:1.57;background:var(--red);color:white;padding:1.1rem;transform:rotate(-7deg);box-shadow:8px 10px 0 rgba(23,19,15,.16);overflow:hidden}.member-ticket:after{content:'';position:absolute;right:3.6rem;top:0;bottom:0;border-left:1px dashed rgba(255,255,255,.6)}.member-ticket__brand{font:.55rem var(--mono);letter-spacing:.13em}.member-ticket__name{font:700 1.55rem/.98 var(--display);margin-top:1.3rem}.member-ticket__serial{position:absolute;right:.6rem;bottom:.8rem;writing-mode:vertical-rl;font:.45rem var(--mono);letter-spacing:.08em}.qr{position:absolute;width:2.6rem;height:2.6rem;bottom:1rem;right:4.5rem;background:repeating-conic-gradient(var(--ink) 0 25%,#fff 0 50%) 50%/11px 11px}.stamp{position:absolute;border:2px solid currentColor;border-radius:50%;width:4.6rem;height:4.6rem;display:grid;place-items:center;text-align:center;font:500 .55rem/1.25 var(--mono);letter-spacing:.07em;color:var(--berry);transform:rotate(12deg);right:0;bottom:0}
.split-intro{display:grid;gap:2rem}.feature-rail{display:grid;gap:1px;background:rgba(23,19,15,.15);border:1px solid rgba(23,19,15,.15);margin-top:3rem}.feature{background:var(--cream);padding:1.3rem}.feature b{font:700 1.45rem var(--display);display:block;letter-spacing:-.04em}.feature p{font-size:.85rem;color:var(--soft);margin:.35rem 0 0}.number{font:.6rem var(--mono);color:var(--red);letter-spacing:.1em}.audience{background:var(--ink);color:var(--cream)}.audience .lede{color:#cfc4b6}.audience-grid{display:grid;gap:1rem;margin-top:2.5rem}.audience-card{min-height:15rem;padding:1.5rem;background:var(--paper);color:var(--ink);position:relative;overflow:hidden}.audience-card--vendor{background:var(--sage);color:#fbf5eb}.audience-card h3{font:700 clamp(2rem,4vw,3.4rem)/.95 var(--display);letter-spacing:-.06em;margin:2.5rem 0 0}.audience-card .micro{position:absolute;top:1.2rem;left:1.3rem}.audience-card .arrow{position:absolute;bottom:1rem;right:1.2rem;font:2rem var(--display)}
.pass-section{overflow:hidden}.pass-row{display:flex;gap:1.25rem;overflow:auto;padding:2.5rem var(--edge) 2rem;margin:0 calc(var(--edge) * -1);scroll-snap-type:x mandatory}.pass{min-width:16rem;aspect-ratio:1.55;padding:1.15rem;color:white;position:relative;overflow:hidden;scroll-snap-align:center;box-shadow:0 14px 24px rgba(23,19,15,.18);transform:rotate(var(--tilt,0deg))}.pass:before{content:'';position:absolute;right:3.7rem;top:0;bottom:0;border-left:1px dashed rgba(255,255,255,.68)}.pass__label{font:.54rem var(--mono);letter-spacing:.14em}.pass__title{font:700 1.7rem/.95 var(--display);letter-spacing:-.055em;margin:1.35rem 0 .3rem;max-width:7ch}.pass__meta{font:.65rem var(--mono)}.pass__serial{position:absolute;right:.55rem;bottom:.65rem;writing-mode:vertical-rl;font:.45rem var(--mono);letter-spacing:.08em}.pass--burger{background:#c44936;--tilt:-3deg}.pass--coffee{background:#64401f;--tilt:2deg}.pass--rice{background:#4b7660;--tilt:-1deg}.pass--boba{background:#9b3f6e;--tilt:3deg}.ticket-callout{background:var(--gold);padding:1.5rem;position:relative;overflow:hidden}.ticket-callout:before{content:'MEALPASS • MEALPASS • MEALPASS • MEALPASS';position:absolute;inset:auto -3rem 1rem;font:900 clamp(2.8rem,8vw,7rem)/1 var(--display);letter-spacing:-.08em;color:rgba(23,19,15,.1);white-space:nowrap}.ticket-callout .display{max-width:10ch;position:relative}.ticket-callout .btn{position:relative;margin-top:1.5rem}
.page-hero{padding:clamp(4rem,10vw,8rem) 0 3rem;position:relative;overflow:hidden}.page-hero--students{background:#f1dfcf}.page-hero--vendors{background:#dce8e1}.page-hero--about{background:#f3e8d2}.page-hero--contact{background:var(--ink);color:var(--cream)}.page-hero--contact .lede{color:#cabcae}.page-hero__mark{font:700 clamp(5rem,18vw,14rem)/.65 var(--display);letter-spacing:-.11em;color:rgba(23,19,15,.1);position:absolute;right:-.04em;bottom:-.05em;pointer-events:none}.page-hero--contact .page-hero__mark{color:rgba(255,255,255,.08)}.page-hero .display{max-width:10ch}.page-hero .lede{position:relative}.benefit-list{display:grid;gap:1px;background:rgba(23,19,15,.15);border:1px solid rgba(23,19,15,.15);margin-top:2.5rem}.benefit-list article{padding:1.3rem;background:var(--white)}.benefit-list h3{font:700 1.45rem var(--display);letter-spacing:-.04em;margin:.35rem 0}.benefit-list p{margin:0;color:var(--soft);font-size:.9rem}.side-note{padding:1.4rem;border-left:3px solid var(--red);background:rgba(207,80,55,.08);font:400 1.25rem/1.2 var(--display);color:var(--red-dark)}.pricing-grid{display:grid;gap:1rem;margin-top:2.5rem}.price-ticket{padding:1.25rem;background:var(--white);border:1px solid rgba(23,19,15,.2);position:relative;box-shadow:3px 4px 0 rgba(23,19,15,.09)}.price-ticket:before{content:'MEALPASS / PASS';display:block;padding-bottom:.65rem;border-bottom:1px dashed rgba(23,19,15,.25);font:.55rem var(--mono);letter-spacing:.12em;color:var(--soft)}.price-ticket h3{font:700 2rem var(--display);letter-spacing:-.06em;margin:1rem 0 0}.price-ticket strong{font:700 2rem var(--mono);letter-spacing:-.1em}.price-ticket ul{padding:0;list-style:none;font-size:.85rem;color:var(--soft)}.price-ticket li{padding:.35rem 0;border-bottom:1px solid rgba(23,19,15,.08)}
.dashboard{background:var(--ink);color:var(--cream);padding:1.25rem;box-shadow:8px 9px 0 var(--sage)}.dashboard__bar{display:flex;justify-content:space-between;padding-bottom:1rem;border-bottom:1px dashed rgba(255,255,255,.28);font:.58rem var(--mono);letter-spacing:.1em}.dashboard__metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1rem}.metric{background:rgba(255,255,255,.07);padding:.8rem}.metric b{font:700 1.6rem var(--display);display:block}.metric span{font:.55rem var(--mono);color:#cfc4b6}.quote{padding:2rem;background:var(--berry);color:#fff;font:400 clamp(1.65rem,3.2vw,3rem)/1.05 var(--display);letter-spacing:-.05em}.quote footer{font:.55rem var(--mono);letter-spacing:.1em;margin-top:1.5rem;color:#f2c2d9}
.faq-tools{display:grid;gap:.75rem;margin:2rem 0}.search{width:100%;border:1px solid rgba(23,19,15,.25);background:var(--white);padding:1rem}.categories{display:flex;gap:.5rem;overflow:auto}.categories button{white-space:nowrap;border:1px solid rgba(23,19,15,.2);background:transparent;padding:.45rem .7rem;font:.62rem var(--mono);letter-spacing:.07em}.categories button.active{background:var(--ink);color:var(--cream)}.faq-group{margin-top:3rem}.faq-group h2{font:700 clamp(2rem,4vw,3.2rem) var(--display);letter-spacing:-.06em}.faq-item{border-top:1px solid rgba(23,19,15,.2);padding:1rem 0}.faq-item summary{cursor:pointer;list-style:none;font:600 1rem var(--display)}.faq-item summary:after{content:'+';float:right;color:var(--red);font:1.5rem var(--mono)}.faq-item[open] summary:after{content:'–'}.faq-item p{max-width:65ch;color:var(--soft);font-size:.9rem}
.story{display:grid;gap:2rem}.story .display{font-size:clamp(2.5rem,6vw,5.5rem)}.principles{display:grid;gap:1px;background:rgba(23,19,15,.13);border:1px solid rgba(23,19,15,.13);margin-top:2.5rem}.principle{background:var(--cream);padding:1.25rem}.principle span{font:.6rem var(--mono);color:var(--red)}.principle h3{font:700 1.5rem var(--display);letter-spacing:-.04em;margin:.55rem 0}.contact-grid{display:grid;gap:2rem}.contact-form{display:grid;gap:1rem;background:var(--white);padding:1.4rem;box-shadow:4px 5px 0 rgba(23,19,15,.1)}.contact-form label{display:grid;gap:.35rem;font:.62rem var(--mono);letter-spacing:.1em}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid rgba(23,19,15,.25);padding:.7rem 0;background:transparent}.contact-form textarea{resize:vertical;min-height:7rem}.contact-details{display:grid;gap:1rem}.contact-details a{font:700 1.7rem/.95 var(--display);letter-spacing:-.05em}.contact-details p{color:var(--soft);margin:0}.footer{background:var(--ink);color:var(--cream);padding:3rem 0}.footer-grid{display:grid;gap:2rem}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;font-size:.9rem}.footer small{font:.6rem var(--mono);letter-spacing:.08em;color:#aaa094}.footer .brand__mark{background:var(--gold);color:var(--ink)}
@media (min-width:720px){.site-head{height:5.3rem}.menu,.mobile-menu{display:none}.nav{display:flex;align-items:center;gap:1.2rem;font-size:.78rem;font-weight:600}.nav a{position:relative}.nav a:hover:after,.nav a[aria-current=page]:after{content:'';position:absolute;left:0;right:0;bottom:-.45rem;height:2px;background:var(--red)}.nav .nav-cta{background:var(--ink);color:var(--cream);padding:.55rem .75rem}.nav .nav-cta:after{display:none}.hero{min-height:calc(100svh - 5.3rem)}.hero__grid{grid-template-columns:1fr 1fr;align-items:center;gap:2rem}.hero__art{height:31rem}.food-polaroid{width:20rem;right:8%;top:0}.member-ticket{width:19rem;left:0;bottom:3rem}.split-intro{grid-template-columns:1fr 1fr;align-items:end}.feature-rail{grid-template-columns:repeat(4,1fr)}.audience-grid{grid-template-columns:1fr 1fr}.pass-row{padding-top:3.5rem}.pricing-grid{grid-template-columns:repeat(3,1fr)}.benefit-list{grid-template-columns:repeat(2,1fr)}.page-hero{padding-bottom:5rem}.story{grid-template-columns:1.1fr .9fr}.principles{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:1.1fr .9fr}.footer-grid{grid-template-columns:1fr 1fr;align-items:end}.footer-links{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1050px){.pass-row{overflow:visible;justify-content:center}.pass{min-width:15.2rem}.benefit-list{grid-template-columns:repeat(4,1fr)}.page-hero .display{max-width:9ch}.dashboard{max-width:41rem;margin-left:auto}.quote{max-width:34rem}.audience-card{min-height:18rem}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Public account navigation */
.nav-account-link[hidden], .nav-cta[hidden] { display:none; }
.nav-account-link { white-space:nowrap; }
.mobile-menu .nav-account-link { color:var(--cream); }
