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

:root{--ink:#173c36;--forest:#1f564b;--cream:#f7f1e4;--paper:#fffdf7;--lime:#c8da69;--sun:#f1c24f;--coral:#de765e;--blue:#a9d5d4;--line:rgba(23,60,54,.18);--display:"Fraunces",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}a{color:inherit}button,a{touch-action:manipulation}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.8rem 1rem;z-index:999}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.5rem);position:absolute;z-index:20;width:100%;color:#fff}.brand{display:flex;gap:.75rem;align-items:center;text-decoration:none;line-height:1}.brand-mark{width:42px;height:42px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-size:1.5rem}.brand strong{font-family:var(--display);font-size:1.2rem}.brand small{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.55rem;margin-top:.35rem}.nav{display:flex;align-items:center;gap:clamp(1.1rem,2.3vw,2.3rem)}.nav a{text-decoration:none;font-size:.84rem;font-weight:600}.nav-cta{border:1px solid rgba(255,255,255,.6);border-radius:99px;padding:.7rem 1.1rem}.menu-toggle{display:none;background:none;border:0;width:46px;height:46px;padding:11px}.menu-toggle span:not(.sr-only){height:2px;background:currentColor;display:block;margin:6px}
.hero{min-height:760px;height:100svh;display:grid;grid-template-columns:52% 48%;position:relative;background:var(--forest);color:white;overflow:hidden}.hero-copy{padding:clamp(8rem,18vh,12rem) 6vw 6rem;align-self:center;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.7rem;font-weight:700;margin:0 0 1.4rem}.hero h1,.section h2{font-family:var(--display);font-size:clamp(3.7rem,7vw,7rem);line-height:.92;letter-spacing:-.04em;margin:0}.hero h1 em,.section h2 em{font-weight:500;color:var(--lime)}.hero-lede{max-width:600px;font-size:clamp(1rem,1.4vw,1.25rem);color:rgba(255,255,255,.8);margin:2rem 0}.actions{display:flex;gap:1.4rem;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:99px;padding:.95rem 1.35rem;font-size:.83rem;font-weight:700}.primary{background:var(--lime);color:var(--ink)}.text-button{padding-inline:0;color:white}.hero-visual{position:relative;background:var(--blue);overflow:hidden}.sun{position:absolute;width:45vw;height:45vw;max-width:650px;max-height:650px;border-radius:50%;background:var(--sun);right:-14%;top:-12%}.hill{position:absolute;border-radius:50% 50% 0 0}.hill-one{width:110%;height:45%;background:#5f9c76;bottom:-12%;left:-8%;transform:rotate(5deg)}.hill-two{width:80%;height:38%;background:#39705c;bottom:-17%;right:-20%;transform:rotate(-8deg)}.photo-label{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);text-align:center;color:var(--ink);z-index:2}.photo-label span{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem}.photo-label small{opacity:.7}.hero-note{position:absolute;right:3rem;bottom:3.5rem;background:var(--cream);color:var(--ink);width:175px;height:175px;border-radius:50%;display:grid;place-items:center;text-align:center;font-family:var(--display);font-size:1.25rem;transform:rotate(7deg);z-index:3}.scroll-note{position:absolute;bottom:2rem;left:6vw;text-transform:uppercase;letter-spacing:.16em;font-size:.62rem}.scroll-note span{margin-left:.75rem}
.section{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,6vw,6rem)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--cream)}.intro h2,.visit h2{font-size:clamp(3rem,5vw,5.4rem)}.large-copy{font-family:var(--display);font-size:clamp(1.5rem,2.2vw,2.2rem);line-height:1.35;margin-top:0}.intro-copy>p:not(.large-copy){max-width:600px;color:#4c655f}.values{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3rem;border-top:1px solid var(--line);padding-top:1.2rem;gap:1rem;font-size:.78rem;font-weight:600}.values b{display:block;color:var(--coral);font-family:var(--display);font-size:1.2rem;margin-bottom:.4rem}
.menu-section{background:var(--forest);color:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:4rem}.section-heading h2{font-size:clamp(3.2rem,6vw,6rem)}.section-heading>p{max-width:350px;color:rgba(255,255,255,.7)}.light{color:var(--lime)}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:4rem}.menu-card{background:#f5eddd;color:var(--ink);padding:1rem 1rem 1.8rem;transition:transform .25s}.menu-card:hover{transform:translateY(-6px)}.menu-card:nth-child(2){margin-top:3rem}.menu-card:nth-child(3){margin-top:6rem}.card-art{height:245px;display:grid;place-items:center;text-transform:uppercase;letter-spacing:.15em;font-size:.65rem}.breakfast{background:var(--sun)}.lunch{background:var(--blue)}.seasonal{background:var(--coral)}.card-number{font-family:var(--display);color:var(--coral);margin-bottom:0}.menu-card h3{font-family:var(--display);font-size:1.7rem;margin:.4rem 0}.menu-card>p:last-child{color:#52665f;font-size:.88rem}.allergen-link{text-align:center;margin-top:3rem;color:rgba(255,255,255,.7)}.allergen-link a{color:#fff;font-weight:700;margin-left:.4rem}
.families{display:grid;grid-template-columns:1.05fr .95fr;padding:0;background:var(--sun)}.family-art{min-height:680px;background:linear-gradient(155deg,#8ac3b3 0 55%,#5d9b75 55%);display:grid;place-items:center;text-align:center;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem}.family-art small{letter-spacing:0;text-transform:none;opacity:.65}.family-copy{padding:clamp(4rem,8vw,8rem)}.family-copy h2{font-size:clamp(3.6rem,6vw,6.5rem)}.family-copy h2 em{color:#fff}.family-copy>p:not(.eyebrow){font-size:1.05rem;max-width:520px}.family-copy ul{list-style:none;padding:1rem 0 2rem}.family-copy li{padding:.8rem 0;border-bottom:1px solid rgba(23,60,54,.16)}.family-copy li span{display:inline-grid;place-items:center;background:var(--cream);width:25px;height:25px;border-radius:50%;margin-right:.6rem}.dark{background:var(--ink);color:#fff}
.party{position:relative;text-align:center;background:var(--coral);color:#fff;overflow:hidden}.party-kicker{font-family:var(--display);font-size:clamp(2rem,5vw,5rem);white-space:nowrap;position:absolute;left:-2rem;top:2rem;color:rgba(255,255,255,.13);transform:rotate(-3deg)}.party-content{position:relative;max-width:760px;margin:auto}.party h2{font-size:clamp(4rem,7vw,7.5rem)}.party h2 em{color:var(--sun)}.party-content>p:not(.eyebrow){font-size:1.25rem;max-width:600px;margin:2rem auto}.party-small{font-size:.9rem!important}.confetti i{position:absolute;width:12px;height:25px;background:var(--sun);transform:rotate(20deg)}.confetti i:nth-child(1){top:20%;left:12%}.confetti i:nth-child(2){top:68%;left:18%;background:var(--blue);transform:rotate(-32deg)}.confetti i:nth-child(3){top:28%;right:14%;background:var(--lime);transform:rotate(53deg)}.confetti i:nth-child(4){bottom:12%;right:24%;transform:rotate(-14deg)}.confetti i:nth-child(5){top:10%;right:37%;background:#fff}.confetti i:nth-child(6){bottom:20%;left:35%;background:var(--lime);transform:rotate(70deg)}
.visit{background:var(--cream)}.visit-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:4rem}.visit-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:5vw}.map-placeholder{min-height:510px;background:var(--blue);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.map-placeholder span{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem}.map-placeholder small{max-width:250px;margin-top:.5rem}.details{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.details>div:first-child{grid-column:1/-1}.details h3{font-family:var(--display);font-size:1.5rem;border-bottom:1px solid var(--line);padding-bottom:.7rem}.details dl{margin:0}.details dl div{display:flex;justify-content:space-between;padding:.55rem 0;border-bottom:1px solid var(--line)}.details dd{font-weight:700}.details p,.details a{font-size:.9rem}.details a{font-weight:700}.fine{font-size:.72rem!important;color:#687872}
footer{background:var(--ink);color:#fff;padding:5rem 6vw 2rem;display:grid;grid-template-columns:1.3fr 1fr;gap:5rem}.footer-brand{display:flex;gap:1rem;align-items:start}.footer-brand h2{font-family:var(--display);font-size:clamp(2.4rem,4vw,4rem);line-height:1;margin:0}.footer-brand em{color:var(--lime);font-weight:500}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.footer-links h3{font-size:.7rem;text-transform:uppercase;letter-spacing:.17em;color:var(--lime)}.footer-links a{display:block;text-decoration:none;color:rgba(255,255,255,.7);margin:.5rem 0;font-size:.85rem}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:1.5rem;display:flex;justify-content:space-between;font-size:.72rem;color:rgba(255,255,255,.55)}
@media(max-width:850px){.site-header{height:72px;position:absolute}.menu-toggle{display:block;color:#fff;z-index:30}.nav{display:none;position:absolute;top:0;left:0;right:0;background:var(--ink);padding:6rem 1.5rem 2rem;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{font-size:1.15rem;padding:.5rem}.hero{grid-template-columns:1fr;height:auto;min-height:0}.hero-copy{padding:8.5rem 1.25rem 4rem}.hero-visual{min-height:470px}.hero-note{width:140px;height:140px;right:1rem;bottom:1rem;font-size:1rem}.scroll-note{display:none}.section{padding:5rem 1.25rem}.intro,.families,.visit-grid{grid-template-columns:1fr}.intro{gap:3rem}.section-heading,.visit-head{display:block}.menu-grid{grid-template-columns:1fr}.menu-card:nth-child(n){margin-top:0}.family-art{min-height:430px}.family-copy{padding:4rem 1.25rem}.details{grid-template-columns:1fr}.details>div:first-child{grid-column:auto}footer{grid-template-columns:1fr;padding:4rem 1.25rem 2rem}.footer-bottom{display:block}.values{grid-template-columns:1fr}.actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu-card{transition:none}}
